summaryrefslogtreecommitdiffstats
path: root/llvm
diff options
context:
space:
mode:
Diffstat (limited to 'llvm')
-rw-r--r--llvm/lib/Target/X86/X86InstrAVX512.td4
-rw-r--r--llvm/test/MC/X86/x86-64-avx512cd_vl.s15
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
OpenPOWER on IntegriCloud