asmjit icon indicating copy to clipboard operation
asmjit copied to clipboard

RA - Register to memory operand change requires CPU features information

Open kobalicek opened this issue 6 years ago • 0 comments

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.

kobalicek avatar Jun 05 '19 11:06 kobalicek