gematria
gematria copied to clipboard
Support vector registers in FindAccessedAddrs
We only support 8 byte initial values, which are broadcast across the register. To avoid introducing unnecessary uarch dependencies, we find the largest vector register size used in the snippet, and only copy into that. Similarly, we detect whether the 16 extended registers introduced in AVX-512 are used, and only copy into them if so.
If no vector registers are used at all, we will skip over all instructions touching vector registers to avoid as much of the overhead as possible.