asmjit
asmjit copied to clipboard
RA - Register to memory operand change requires CPU features information
AsmJit's register allocator can now change register operand to memory operand in case that a virtual register is spilled. There are, however, few special cases that require details about the available CPU features, otherwise such change could change the feature requirements of the code:
-
pextrw r32, xmm, imm[SSE2] ->pextrw r32/m16, xmm, imm[SSE4.1] -
vpslldq vec, vec, imm[AVX/AVX2] ->vpslldq vec, vec/mem, imm[AVX-512] -
vpsrldq vec, vec, imm[AVX/AVX2] ->vpsrldq vec, vec/mem, imm[AVX-512]
At the moment these 3 instructions are workarounded to never change reg to mem.