diff options
Diffstat (limited to 'llvm')
-rw-r--r-- | llvm/lib/Target/X86/X86InstrAVX512.td | 4 | ||||
-rw-r--r-- | llvm/test/MC/X86/x86-64-avx512cd_vl.s | 15 |
2 files changed, 17 insertions, 2 deletions
diff --git a/llvm/lib/Target/X86/X86InstrAVX512.td b/llvm/lib/Target/X86/X86InstrAVX512.td index 9c5f96f358d..8cb6babd35f 100644 --- a/llvm/lib/Target/X86/X86InstrAVX512.td +++ b/llvm/lib/Target/X86/X86InstrAVX512.td @@ -1122,10 +1122,10 @@ def Zrr : AVX512XS8I<opc, MRMSrcReg, (outs VR512:$dst), (ins KRC:$src), []>, EVEX, EVEX_V512; let Predicates = [HasCDI, HasVLX] in { -def Z128rr : AVX512XS8I<opc, MRMSrcReg, (outs VR128:$dst), (ins KRC:$src), +def Z128rr : AVX512XS8I<opc, MRMSrcReg, (outs VR128X:$dst), (ins KRC:$src), !strconcat(OpcodeStr, "\t{$src, $dst|$dst, $src}"), []>, EVEX, EVEX_V128; -def Z256rr : AVX512XS8I<opc, MRMSrcReg, (outs VR256:$dst), (ins KRC:$src), +def Z256rr : AVX512XS8I<opc, MRMSrcReg, (outs VR256X:$dst), (ins KRC:$src), !strconcat(OpcodeStr, "\t{$src, $dst|$dst, $src}"), []>, EVEX, EVEX_V256; } diff --git a/llvm/test/MC/X86/x86-64-avx512cd_vl.s b/llvm/test/MC/X86/x86-64-avx512cd_vl.s index 13126ec0877..ddaeae69a92 100644 --- a/llvm/test/MC/X86/x86-64-avx512cd_vl.s +++ b/llvm/test/MC/X86/x86-64-avx512cd_vl.s @@ -896,3 +896,18 @@ // CHECK: encoding: [0x62,0x62,0x7d,0x38,0xc4,0x92,0xfc,0xfd,0xff,0xff] vpconflictd -516(%rdx){1to8}, %ymm26 +// CHECK: vpbroadcastmw2d %k4, %xmm19 +// CHECK: encoding: [0x62,0xe2,0x7e,0x08,0x3a,0xdc] + vpbroadcastmw2d %k4, %xmm19 + +// CHECK: vpbroadcastmw2d %k3, %ymm24 +// CHECK: encoding: [0x62,0x62,0x7e,0x28,0x3a,0xc3] + vpbroadcastmw2d %k3, %ymm24 + +// CHECK: vpbroadcastmw2d %k4, %xmm21 +// CHECK: encoding: [0x62,0xe2,0x7e,0x08,0x3a,0xec] + vpbroadcastmw2d %k4, %xmm21 + +// CHECK: vpbroadcastmw2d %k4, %ymm27 +// CHECK: encoding: [0x62,0x62,0x7e,0x28,0x3a,0xdc] + vpbroadcastmw2d %k4, %ymm27 |