[clang] [llvm] [X86] Support SM4 EVEX version intrinsics/instructions. (PR #113402)
Phoebe Wang via cfe-commits
cfe-commits at lists.llvm.org
Tue Oct 22 23:30:07 PDT 2024
================
@@ -1647,3 +1647,23 @@ let isCodeGenOnly = 1, ForceDisassemble = 1, hasSideEffects = 0 in
def : InstAlias<"vmovw.s\t{$src, $dst|$dst, $src}",
(VMOVZPWILo2PWIZrr2 VR128X:$dst, VR128X:$src), 0>;
}
+
+// SM4(EVEX)
+multiclass avx10_sm4_base<string OpStr> {
+ // SM4_Base is in X86InstrSSE.td.
+ let Predicates = [HasSM4, HasAVX10_2] in {
+ defm Z128 : SM4_Base<OpStr, avx512vl_i32_info.info128.RC,
+ "128", avx512vl_i32_info.info128.LdFrag,
+ avx512vl_i32_info.info128.MemOp>, EVEX_V128;
+ defm Z256 : SM4_Base<OpStr, avx512vl_i32_info.info256.RC,
+ "256", avx512vl_i32_info.info256.LdFrag,
+ avx512vl_i32_info.info256.MemOp>, EVEX_V256;
+ }
+ let Predicates = [HasSM4, HasAVX10_2_512] in
+ defm Z : SM4_Base<OpStr, avx512vl_i32_info.info512.RC,
+ "512", avx512vl_i32_info.info512.LdFrag,
+ avx512vl_i32_info.info512.MemOp>, EVEX_V512;
----------------
phoebewang wrote:
Align within `<`
https://github.com/llvm/llvm-project/pull/113402
More information about the cfe-commits
mailing list