[llvm] [X86][MC] Support Enc/Dec for EGPR for promoted CRC32 (PR #76434)
via llvm-commits
llvm-commits at lists.llvm.org
Wed Dec 27 03:21:39 PST 2023
================
@@ -6698,6 +6698,30 @@ let Constraints = "$src1 = $dst" in {
def CRC32r64r8 : SS42I_crc32r<0xF0, "crc32{b}", GR64, GR8,
null_frag>, REX_W;
}
+
+ def CRC32r32m8_EVEX : SS42I_crc32m<0xF0, "crc32{b}", GR32, i8mem,
+ int_x86_sse42_crc32_32_8>, EVEX, T_MAP4, PS;
+ def CRC32r32r8_EVEX : SS42I_crc32r<0xF0, "crc32{b}", GR32, GR8,
+ int_x86_sse42_crc32_32_8>, EVEX, T_MAP4, PS;
+ def CRC32r32m16_EVEX : SS42I_crc32m<0xF1, "crc32{w}", GR32, i16mem,
+ int_x86_sse42_crc32_32_16>, EVEX, T_MAP4, PD;
+ def CRC32r32r16_EVEX : SS42I_crc32r<0xF1, "crc32{w}", GR32, GR16,
+ int_x86_sse42_crc32_32_16>, EVEX, T_MAP4, PD;
----------------
XinWang10 wrote:
EVEX encoding would set CD8_Scale by default, which could interfere compiler when encoding disp8, like
crc32w 123(%r28,%r29,4), %r18d, we expect compiler could encode the 123 in one byte, but if we have non-zero CD8_Scare, we still need 4 bytes.
https://github.com/llvm/llvm-project/pull/76434
More information about the llvm-commits
mailing list