[llvm] r325957 - [X86] Add assembler/disassembler support for blendm with zero masking and broacast.
Craig Topper via llvm-commits
llvm-commits at lists.llvm.org
Fri Feb 23 12:48:45 PST 2018
Author: ctopper
Date: Fri Feb 23 12:48:44 2018
New Revision: 325957
URL: http://llvm.org/viewvc/llvm-project?rev=325957&view=rev
Log:
[X86] Add assembler/disassembler support for blendm with zero masking and broacast.
Fixes PR31617
Modified:
llvm/trunk/lib/Target/X86/X86InstrAVX512.td
llvm/trunk/test/MC/X86/AVX512F_512-32.s
llvm/trunk/test/MC/X86/AVX512F_512-64.s
Modified: llvm/trunk/lib/Target/X86/X86InstrAVX512.td
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86InstrAVX512.td?rev=325957&r1=325956&r2=325957&view=diff
==============================================================================
--- llvm/trunk/lib/Target/X86/X86InstrAVX512.td (original)
+++ llvm/trunk/lib/Target/X86/X86InstrAVX512.td Fri Feb 23 12:48:44 2018
@@ -1965,6 +1965,14 @@ multiclass avx512_blendmask_rmb<bits<8>
[], itins.rm>, EVEX_4V, EVEX_K, EVEX_B, EVEX_CD8<_.EltSize, CD8VF>,
Sched<[itins.Sched.Folded, ReadAfterLd]>;
+ def rmbkz : AVX5128I<opc, MRMSrcMem, (outs _.RC:$dst),
+ (ins _.KRCWM:$mask, _.RC:$src1, _.ScalarMemOp:$src2),
+ !strconcat(OpcodeStr,
+ "\t{${src2}", _.BroadcastStr, ", $src1, $dst {${mask}} {z}|",
+ "$dst {${mask}} {z}, $src1, ${src2}", _.BroadcastStr, "}"),
+ [], itins.rm>, EVEX_4V, EVEX_KZ, EVEX_B, EVEX_CD8<_.EltSize, CD8VF>,
+ Sched<[itins.Sched.Folded, ReadAfterLd]>;
+
def rmb : AVX5128I<opc, MRMSrcMem, (outs _.RC:$dst),
(ins _.RC:$src1, _.ScalarMemOp:$src2),
!strconcat(OpcodeStr,
Modified: llvm/trunk/test/MC/X86/AVX512F_512-32.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/X86/AVX512F_512-32.s?rev=325957&r1=325956&r2=325957&view=diff
==============================================================================
--- llvm/trunk/test/MC/X86/AVX512F_512-32.s (original)
+++ llvm/trunk/test/MC/X86/AVX512F_512-32.s Fri Feb 23 12:48:44 2018
@@ -740,6 +740,10 @@ vblendmpd 485498096{1to8}, %zmm2, %zmm2
// CHECK: encoding: [0x62,0xf2,0xed,0x5a,0x65,0x15,0xf0,0x1c,0xf0,0x1c]
vblendmpd 485498096{1to8}, %zmm2, %zmm2 {%k2}
+// CHECK: vblendmpd 485498096{1to8}, %zmm2, %zmm2 {%k2} {z}
+// CHECK: encoding: [0x62,0xf2,0xed,0xda,0x65,0x15,0xf0,0x1c,0xf0,0x1c]
+vblendmpd 485498096{1to8}, %zmm2, %zmm2 {%k2} {z}
+
// CHECK: vblendmpd 485498096(%edx){1to8}, %zmm2, %zmm2
// CHECK: encoding: [0x62,0xf2,0xed,0x58,0x65,0x92,0xf0,0x1c,0xf0,0x1c]
vblendmpd 485498096(%edx){1to8}, %zmm2, %zmm2
@@ -748,6 +752,10 @@ vblendmpd 485498096(%edx){1to8}, %zmm2,
// CHECK: encoding: [0x62,0xf2,0xed,0x5a,0x65,0x92,0xf0,0x1c,0xf0,0x1c]
vblendmpd 485498096(%edx){1to8}, %zmm2, %zmm2 {%k2}
+// CHECK: vblendmpd 485498096(%edx){1to8}, %zmm2, %zmm2 {%k2} {z}
+// CHECK: encoding: [0x62,0xf2,0xed,0xda,0x65,0x92,0xf0,0x1c,0xf0,0x1c]
+vblendmpd 485498096(%edx){1to8}, %zmm2, %zmm2 {%k2} {z}
+
// CHECK: vblendmpd -485498096(%edx,%eax,4){1to8}, %zmm2, %zmm2
// CHECK: encoding: [0x62,0xf2,0xed,0x58,0x65,0x94,0x82,0x10,0xe3,0x0f,0xe3]
vblendmpd -485498096(%edx,%eax,4){1to8}, %zmm2, %zmm2
@@ -760,10 +768,18 @@ vblendmpd 485498096(%edx,%eax,4){1to8},
// CHECK: encoding: [0x62,0xf2,0xed,0x5a,0x65,0x94,0x82,0x10,0xe3,0x0f,0xe3]
vblendmpd -485498096(%edx,%eax,4){1to8}, %zmm2, %zmm2 {%k2}
+// CHECK: vblendmpd -485498096(%edx,%eax,4){1to8}, %zmm2, %zmm2 {%k2} {z}
+// CHECK: encoding: [0x62,0xf2,0xed,0xda,0x65,0x94,0x82,0x10,0xe3,0x0f,0xe3]
+vblendmpd -485498096(%edx,%eax,4){1to8}, %zmm2, %zmm2 {%k2} {z}
+
// CHECK: vblendmpd 485498096(%edx,%eax,4){1to8}, %zmm2, %zmm2 {%k2}
// CHECK: encoding: [0x62,0xf2,0xed,0x5a,0x65,0x94,0x82,0xf0,0x1c,0xf0,0x1c]
vblendmpd 485498096(%edx,%eax,4){1to8}, %zmm2, %zmm2 {%k2}
+// CHECK: vblendmpd 485498096(%edx,%eax,4){1to8}, %zmm2, %zmm2 {%k2} {z}
+// CHECK: encoding: [0x62,0xf2,0xed,0xda,0x65,0x94,0x82,0xf0,0x1c,0xf0,0x1c]
+vblendmpd 485498096(%edx,%eax,4){1to8}, %zmm2, %zmm2 {%k2} {z}
+
// CHECK: vblendmpd -485498096(%edx,%eax,4), %zmm2, %zmm2
// CHECK: encoding: [0x62,0xf2,0xed,0x48,0x65,0x94,0x82,0x10,0xe3,0x0f,0xe3]
vblendmpd -485498096(%edx,%eax,4), %zmm2, %zmm2
@@ -820,6 +836,10 @@ vblendmpd 512(%edx,%eax){1to8}, %zmm2, %
// CHECK: encoding: [0x62,0xf2,0xed,0x5a,0x65,0x54,0x02,0x40]
vblendmpd 512(%edx,%eax){1to8}, %zmm2, %zmm2 {%k2}
+// CHECK: vblendmpd 512(%edx,%eax){1to8}, %zmm2, %zmm2 {%k2} {z}
+// CHECK: encoding: [0x62,0xf2,0xed,0xda,0x65,0x54,0x02,0x40]
+vblendmpd 512(%edx,%eax){1to8}, %zmm2, %zmm2 {%k2} {z}
+
// CHECK: vblendmpd (%edx){1to8}, %zmm2, %zmm2
// CHECK: encoding: [0x62,0xf2,0xed,0x58,0x65,0x12]
vblendmpd (%edx){1to8}, %zmm2, %zmm2
@@ -828,6 +848,10 @@ vblendmpd (%edx){1to8}, %zmm2, %zmm2
// CHECK: encoding: [0x62,0xf2,0xed,0x5a,0x65,0x12]
vblendmpd (%edx){1to8}, %zmm2, %zmm2 {%k2}
+// CHECK: vblendmpd (%edx){1to8}, %zmm2, %zmm2 {%k2} {z}
+// CHECK: encoding: [0x62,0xf2,0xed,0xda,0x65,0x12]
+vblendmpd (%edx){1to8}, %zmm2, %zmm2 {%k2} {z}
+
// CHECK: vblendmpd (%edx), %zmm2, %zmm2
// CHECK: encoding: [0x62,0xf2,0xed,0x48,0x65,0x12]
vblendmpd (%edx), %zmm2, %zmm2
@@ -860,6 +884,10 @@ vblendmps 256(%edx,%eax){1to16}, %zmm2,
// CHECK: encoding: [0x62,0xf2,0x6d,0x5a,0x65,0x54,0x02,0x40]
vblendmps 256(%edx,%eax){1to16}, %zmm2, %zmm2 {%k2}
+// CHECK: vblendmps 256(%edx,%eax){1to16}, %zmm2, %zmm2 {%k2} {z}
+// CHECK: encoding: [0x62,0xf2,0x6d,0xda,0x65,0x54,0x02,0x40]
+vblendmps 256(%edx,%eax){1to16}, %zmm2, %zmm2 {%k2} {z}
+
// CHECK: vblendmps 4096(%edx,%eax), %zmm2, %zmm2
// CHECK: encoding: [0x62,0xf2,0x6d,0x48,0x65,0x54,0x02,0x40]
vblendmps 4096(%edx,%eax), %zmm2, %zmm2
@@ -880,6 +908,10 @@ vblendmps 485498096{1to16}, %zmm2, %zmm2
// CHECK: encoding: [0x62,0xf2,0x6d,0x5a,0x65,0x15,0xf0,0x1c,0xf0,0x1c]
vblendmps 485498096{1to16}, %zmm2, %zmm2 {%k2}
+// CHECK: vblendmps 485498096{1to16}, %zmm2, %zmm2 {%k2} {z}
+// CHECK: encoding: [0x62,0xf2,0x6d,0xda,0x65,0x15,0xf0,0x1c,0xf0,0x1c]
+vblendmps 485498096{1to16}, %zmm2, %zmm2 {%k2} {z}
+
// CHECK: vblendmps 485498096(%edx){1to16}, %zmm2, %zmm2
// CHECK: encoding: [0x62,0xf2,0x6d,0x58,0x65,0x92,0xf0,0x1c,0xf0,0x1c]
vblendmps 485498096(%edx){1to16}, %zmm2, %zmm2
@@ -888,6 +920,10 @@ vblendmps 485498096(%edx){1to16}, %zmm2,
// CHECK: encoding: [0x62,0xf2,0x6d,0x5a,0x65,0x92,0xf0,0x1c,0xf0,0x1c]
vblendmps 485498096(%edx){1to16}, %zmm2, %zmm2 {%k2}
+// CHECK: vblendmps 485498096(%edx){1to16}, %zmm2, %zmm2 {%k2} {z}
+// CHECK: encoding: [0x62,0xf2,0x6d,0xda,0x65,0x92,0xf0,0x1c,0xf0,0x1c]
+vblendmps 485498096(%edx){1to16}, %zmm2, %zmm2 {%k2} {z}
+
// CHECK: vblendmps -485498096(%edx,%eax,4){1to16}, %zmm2, %zmm2
// CHECK: encoding: [0x62,0xf2,0x6d,0x58,0x65,0x94,0x82,0x10,0xe3,0x0f,0xe3]
vblendmps -485498096(%edx,%eax,4){1to16}, %zmm2, %zmm2
@@ -900,10 +936,18 @@ vblendmps 485498096(%edx,%eax,4){1to16},
// CHECK: encoding: [0x62,0xf2,0x6d,0x5a,0x65,0x94,0x82,0x10,0xe3,0x0f,0xe3]
vblendmps -485498096(%edx,%eax,4){1to16}, %zmm2, %zmm2 {%k2}
+// CHECK: vblendmps -485498096(%edx,%eax,4){1to16}, %zmm2, %zmm2 {%k2} {z}
+// CHECK: encoding: [0x62,0xf2,0x6d,0xda,0x65,0x94,0x82,0x10,0xe3,0x0f,0xe3]
+vblendmps -485498096(%edx,%eax,4){1to16}, %zmm2, %zmm2 {%k2} {z}
+
// CHECK: vblendmps 485498096(%edx,%eax,4){1to16}, %zmm2, %zmm2 {%k2}
// CHECK: encoding: [0x62,0xf2,0x6d,0x5a,0x65,0x94,0x82,0xf0,0x1c,0xf0,0x1c]
vblendmps 485498096(%edx,%eax,4){1to16}, %zmm2, %zmm2 {%k2}
+// CHECK: vblendmps 485498096(%edx,%eax,4){1to16}, %zmm2, %zmm2 {%k2} {z}
+// CHECK: encoding: [0x62,0xf2,0x6d,0xda,0x65,0x94,0x82,0xf0,0x1c,0xf0,0x1c]
+vblendmps 485498096(%edx,%eax,4){1to16}, %zmm2, %zmm2 {%k2} {z}
+
// CHECK: vblendmps -485498096(%edx,%eax,4), %zmm2, %zmm2
// CHECK: encoding: [0x62,0xf2,0x6d,0x48,0x65,0x94,0x82,0x10,0xe3,0x0f,0xe3]
vblendmps -485498096(%edx,%eax,4), %zmm2, %zmm2
@@ -960,6 +1004,10 @@ vblendmps (%edx){1to16}, %zmm2, %zmm2
// CHECK: encoding: [0x62,0xf2,0x6d,0x5a,0x65,0x12]
vblendmps (%edx){1to16}, %zmm2, %zmm2 {%k2}
+// CHECK: vblendmps (%edx){1to16}, %zmm2, %zmm2 {%k2} {z}
+// CHECK: encoding: [0x62,0xf2,0x6d,0xda,0x65,0x12]
+vblendmps (%edx){1to16}, %zmm2, %zmm2 {%k2} {z}
+
// CHECK: vblendmps (%edx), %zmm2, %zmm2
// CHECK: encoding: [0x62,0xf2,0x6d,0x48,0x65,0x12]
vblendmps (%edx), %zmm2, %zmm2
@@ -17624,6 +17672,10 @@ vpblendmd 256(%edx,%eax){1to16}, %zmm2,
// CHECK: encoding: [0x62,0xf2,0x6d,0x5a,0x64,0x54,0x02,0x40]
vpblendmd 256(%edx,%eax){1to16}, %zmm2, %zmm2 {%k2}
+// CHECK: vpblendmd 256(%edx,%eax){1to16}, %zmm2, %zmm2 {%k2} {z}
+// CHECK: encoding: [0x62,0xf2,0x6d,0xda,0x64,0x54,0x02,0x40]
+vpblendmd 256(%edx,%eax){1to16}, %zmm2, %zmm2 {%k2} {z}
+
// CHECK: vpblendmd 4096(%edx,%eax), %zmm2, %zmm2
// CHECK: encoding: [0x62,0xf2,0x6d,0x48,0x64,0x54,0x02,0x40]
vpblendmd 4096(%edx,%eax), %zmm2, %zmm2
@@ -17644,6 +17696,10 @@ vpblendmd 485498096{1to16}, %zmm2, %zmm2
// CHECK: encoding: [0x62,0xf2,0x6d,0x5a,0x64,0x15,0xf0,0x1c,0xf0,0x1c]
vpblendmd 485498096{1to16}, %zmm2, %zmm2 {%k2}
+// CHECK: vpblendmd 485498096{1to16}, %zmm2, %zmm2 {%k2} {z}
+// CHECK: encoding: [0x62,0xf2,0x6d,0xda,0x64,0x15,0xf0,0x1c,0xf0,0x1c]
+vpblendmd 485498096{1to16}, %zmm2, %zmm2 {%k2} {z}
+
// CHECK: vpblendmd 485498096(%edx){1to16}, %zmm2, %zmm2
// CHECK: encoding: [0x62,0xf2,0x6d,0x58,0x64,0x92,0xf0,0x1c,0xf0,0x1c]
vpblendmd 485498096(%edx){1to16}, %zmm2, %zmm2
@@ -17664,10 +17720,18 @@ vpblendmd 485498096(%edx,%eax,4){1to16},
// CHECK: encoding: [0x62,0xf2,0x6d,0x5a,0x64,0x94,0x82,0x10,0xe3,0x0f,0xe3]
vpblendmd -485498096(%edx,%eax,4){1to16}, %zmm2, %zmm2 {%k2}
+// CHECK: vpblendmd -485498096(%edx,%eax,4){1to16}, %zmm2, %zmm2 {%k2} {z}
+// CHECK: encoding: [0x62,0xf2,0x6d,0xda,0x64,0x94,0x82,0x10,0xe3,0x0f,0xe3]
+vpblendmd -485498096(%edx,%eax,4){1to16}, %zmm2, %zmm2 {%k2} {z}
+
// CHECK: vpblendmd 485498096(%edx,%eax,4){1to16}, %zmm2, %zmm2 {%k2}
// CHECK: encoding: [0x62,0xf2,0x6d,0x5a,0x64,0x94,0x82,0xf0,0x1c,0xf0,0x1c]
vpblendmd 485498096(%edx,%eax,4){1to16}, %zmm2, %zmm2 {%k2}
+// CHECK: vpblendmd 485498096(%edx,%eax,4){1to16}, %zmm2, %zmm2 {%k2} {z}
+// CHECK: encoding: [0x62,0xf2,0x6d,0xda,0x64,0x94,0x82,0xf0,0x1c,0xf0,0x1c]
+vpblendmd 485498096(%edx,%eax,4){1to16}, %zmm2, %zmm2 {%k2} {z}
+
// CHECK: vpblendmd -485498096(%edx,%eax,4), %zmm2, %zmm2
// CHECK: encoding: [0x62,0xf2,0x6d,0x48,0x64,0x94,0x82,0x10,0xe3,0x0f,0xe3]
vpblendmd -485498096(%edx,%eax,4), %zmm2, %zmm2
@@ -17724,6 +17788,10 @@ vpblendmd (%edx){1to16}, %zmm2, %zmm2
// CHECK: encoding: [0x62,0xf2,0x6d,0x5a,0x64,0x12]
vpblendmd (%edx){1to16}, %zmm2, %zmm2 {%k2}
+// CHECK: vpblendmd (%edx){1to16}, %zmm2, %zmm2 {%k2} {z}
+// CHECK: encoding: [0x62,0xf2,0x6d,0xda,0x64,0x12]
+vpblendmd (%edx){1to16}, %zmm2, %zmm2 {%k2} {z}
+
// CHECK: vpblendmd (%edx), %zmm2, %zmm2
// CHECK: encoding: [0x62,0xf2,0x6d,0x48,0x64,0x12]
vpblendmd (%edx), %zmm2, %zmm2
@@ -17768,6 +17836,10 @@ vpblendmq 485498096{1to8}, %zmm2, %zmm2
// CHECK: encoding: [0x62,0xf2,0xed,0x5a,0x64,0x15,0xf0,0x1c,0xf0,0x1c]
vpblendmq 485498096{1to8}, %zmm2, %zmm2 {%k2}
+// CHECK: vpblendmq 485498096{1to8}, %zmm2, %zmm2 {%k2} {z}
+// CHECK: encoding: [0x62,0xf2,0xed,0xda,0x64,0x15,0xf0,0x1c,0xf0,0x1c]
+vpblendmq 485498096{1to8}, %zmm2, %zmm2 {%k2} {z}
+
// CHECK: vpblendmq 485498096(%edx){1to8}, %zmm2, %zmm2
// CHECK: encoding: [0x62,0xf2,0xed,0x58,0x64,0x92,0xf0,0x1c,0xf0,0x1c]
vpblendmq 485498096(%edx){1to8}, %zmm2, %zmm2
@@ -17776,6 +17848,10 @@ vpblendmq 485498096(%edx){1to8}, %zmm2,
// CHECK: encoding: [0x62,0xf2,0xed,0x5a,0x64,0x92,0xf0,0x1c,0xf0,0x1c]
vpblendmq 485498096(%edx){1to8}, %zmm2, %zmm2 {%k2}
+// CHECK: vpblendmq 485498096(%edx){1to8}, %zmm2, %zmm2 {%k2} {z}
+// CHECK: encoding: [0x62,0xf2,0xed,0xda,0x64,0x92,0xf0,0x1c,0xf0,0x1c]
+vpblendmq 485498096(%edx){1to8}, %zmm2, %zmm2 {%k2} {z}
+
// CHECK: vpblendmq -485498096(%edx,%eax,4){1to8}, %zmm2, %zmm2
// CHECK: encoding: [0x62,0xf2,0xed,0x58,0x64,0x94,0x82,0x10,0xe3,0x0f,0xe3]
vpblendmq -485498096(%edx,%eax,4){1to8}, %zmm2, %zmm2
@@ -17788,10 +17864,18 @@ vpblendmq 485498096(%edx,%eax,4){1to8},
// CHECK: encoding: [0x62,0xf2,0xed,0x5a,0x64,0x94,0x82,0x10,0xe3,0x0f,0xe3]
vpblendmq -485498096(%edx,%eax,4){1to8}, %zmm2, %zmm2 {%k2}
+// CHECK: vpblendmq -485498096(%edx,%eax,4){1to8}, %zmm2, %zmm2 {%k2} {z}
+// CHECK: encoding: [0x62,0xf2,0xed,0xda,0x64,0x94,0x82,0x10,0xe3,0x0f,0xe3]
+vpblendmq -485498096(%edx,%eax,4){1to8}, %zmm2, %zmm2 {%k2} {z}
+
// CHECK: vpblendmq 485498096(%edx,%eax,4){1to8}, %zmm2, %zmm2 {%k2}
// CHECK: encoding: [0x62,0xf2,0xed,0x5a,0x64,0x94,0x82,0xf0,0x1c,0xf0,0x1c]
vpblendmq 485498096(%edx,%eax,4){1to8}, %zmm2, %zmm2 {%k2}
+// CHECK: vpblendmq 485498096(%edx,%eax,4){1to8}, %zmm2, %zmm2 {%k2} {z}
+// CHECK: encoding: [0x62,0xf2,0xed,0xda,0x64,0x94,0x82,0xf0,0x1c,0xf0,0x1c]
+vpblendmq 485498096(%edx,%eax,4){1to8}, %zmm2, %zmm2 {%k2} {z}
+
// CHECK: vpblendmq -485498096(%edx,%eax,4), %zmm2, %zmm2
// CHECK: encoding: [0x62,0xf2,0xed,0x48,0x64,0x94,0x82,0x10,0xe3,0x0f,0xe3]
vpblendmq -485498096(%edx,%eax,4), %zmm2, %zmm2
@@ -17848,6 +17932,10 @@ vpblendmq 512(%edx,%eax){1to8}, %zmm2, %
// CHECK: encoding: [0x62,0xf2,0xed,0x5a,0x64,0x54,0x02,0x40]
vpblendmq 512(%edx,%eax){1to8}, %zmm2, %zmm2 {%k2}
+// CHECK: vpblendmq 512(%edx,%eax){1to8}, %zmm2, %zmm2 {%k2} {z}
+// CHECK: encoding: [0x62,0xf2,0xed,0xda,0x64,0x54,0x02,0x40]
+vpblendmq 512(%edx,%eax){1to8}, %zmm2, %zmm2 {%k2} {z}
+
// CHECK: vpblendmq (%edx){1to8}, %zmm2, %zmm2
// CHECK: encoding: [0x62,0xf2,0xed,0x58,0x64,0x12]
vpblendmq (%edx){1to8}, %zmm2, %zmm2
@@ -17856,6 +17944,10 @@ vpblendmq (%edx){1to8}, %zmm2, %zmm2
// CHECK: encoding: [0x62,0xf2,0xed,0x5a,0x64,0x12]
vpblendmq (%edx){1to8}, %zmm2, %zmm2 {%k2}
+// CHECK: vpblendmq (%edx){1to8}, %zmm2, %zmm2 {%k2} {z}
+// CHECK: encoding: [0x62,0xf2,0xed,0xda,0x64,0x12]
+vpblendmq (%edx){1to8}, %zmm2, %zmm2 {%k2} {z}
+
// CHECK: vpblendmq (%edx), %zmm2, %zmm2
// CHECK: encoding: [0x62,0xf2,0xed,0x48,0x64,0x12]
vpblendmq (%edx), %zmm2, %zmm2
Modified: llvm/trunk/test/MC/X86/AVX512F_512-64.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/X86/AVX512F_512-64.s?rev=325957&r1=325956&r2=325957&view=diff
==============================================================================
--- llvm/trunk/test/MC/X86/AVX512F_512-64.s (original)
+++ llvm/trunk/test/MC/X86/AVX512F_512-64.s Fri Feb 23 12:48:44 2018
@@ -776,6 +776,10 @@ vblendmpd 485498096{1to8}, %zmm19, %zmm1
// CHECK: encoding: [0x62,0xe2,0xe5,0x52,0x65,0x1c,0x25,0xf0,0x1c,0xf0,0x1c]
vblendmpd 485498096{1to8}, %zmm19, %zmm19 {%k2}
+// CHECK: vblendmpd 485498096{1to8}, %zmm19, %zmm19 {%k2} {z}
+// CHECK: encoding: [0x62,0xe2,0xe5,0xd2,0x65,0x1c,0x25,0xf0,0x1c,0xf0,0x1c]
+vblendmpd 485498096{1to8}, %zmm19, %zmm19 {%k2} {z}
+
// CHECK: vblendmpd 485498096, %zmm19, %zmm19
// CHECK: encoding: [0x62,0xe2,0xe5,0x40,0x65,0x1c,0x25,0xf0,0x1c,0xf0,0x1c]
vblendmpd 485498096, %zmm19, %zmm19
@@ -796,6 +800,10 @@ vblendmpd 512(%rdx){1to8}, %zmm19, %zmm1
// CHECK: encoding: [0x62,0xe2,0xe5,0x52,0x65,0x5a,0x40]
vblendmpd 512(%rdx){1to8}, %zmm19, %zmm19 {%k2}
+// CHECK: vblendmpd 512(%rdx){1to8}, %zmm19, %zmm19 {%k2} {z}
+// CHECK: encoding: [0x62,0xe2,0xe5,0xd2,0x65,0x5a,0x40]
+vblendmpd 512(%rdx){1to8}, %zmm19, %zmm19 {%k2} {z}
+
// CHECK: vblendmpd 512(%rdx,%rax){1to8}, %zmm19, %zmm19
// CHECK: encoding: [0x62,0xe2,0xe5,0x50,0x65,0x5c,0x02,0x40]
vblendmpd 512(%rdx,%rax){1to8}, %zmm19, %zmm19
@@ -804,6 +812,10 @@ vblendmpd 512(%rdx,%rax){1to8}, %zmm19,
// CHECK: encoding: [0x62,0xe2,0xe5,0x52,0x65,0x5c,0x02,0x40]
vblendmpd 512(%rdx,%rax){1to8}, %zmm19, %zmm19 {%k2}
+// CHECK: vblendmpd 512(%rdx,%rax){1to8}, %zmm19, %zmm19 {%k2} {z}
+// CHECK: encoding: [0x62,0xe2,0xe5,0xd2,0x65,0x5c,0x02,0x40]
+vblendmpd 512(%rdx,%rax){1to8}, %zmm19, %zmm19 {%k2} {z}
+
// CHECK: vblendmpd 512(%rdx,%rax,4){1to8}, %zmm19, %zmm19
// CHECK: encoding: [0x62,0xe2,0xe5,0x50,0x65,0x5c,0x82,0x40]
vblendmpd 512(%rdx,%rax,4){1to8}, %zmm19, %zmm19
@@ -816,10 +828,18 @@ vblendmpd -512(%rdx,%rax,4){1to8}, %zmm1
// CHECK: encoding: [0x62,0xe2,0xe5,0x52,0x65,0x5c,0x82,0x40]
vblendmpd 512(%rdx,%rax,4){1to8}, %zmm19, %zmm19 {%k2}
+// CHECK: vblendmpd 512(%rdx,%rax,4){1to8}, %zmm19, %zmm19 {%k2} {z}
+// CHECK: encoding: [0x62,0xe2,0xe5,0xd2,0x65,0x5c,0x82,0x40]
+vblendmpd 512(%rdx,%rax,4){1to8}, %zmm19, %zmm19 {%k2} {z}
+
// CHECK: vblendmpd -512(%rdx,%rax,4){1to8}, %zmm19, %zmm19 {%k2}
// CHECK: encoding: [0x62,0xe2,0xe5,0x52,0x65,0x5c,0x82,0xc0]
vblendmpd -512(%rdx,%rax,4){1to8}, %zmm19, %zmm19 {%k2}
+// CHECK: vblendmpd -512(%rdx,%rax,4){1to8}, %zmm19, %zmm19 {%k2} {z}
+// CHECK: encoding: [0x62,0xe2,0xe5,0xd2,0x65,0x5c,0x82,0xc0]
+vblendmpd -512(%rdx,%rax,4){1to8}, %zmm19, %zmm19 {%k2} {z}
+
// CHECK: vblendmpd (%rdx){1to8}, %zmm19, %zmm19
// CHECK: encoding: [0x62,0xe2,0xe5,0x50,0x65,0x1a]
vblendmpd (%rdx){1to8}, %zmm19, %zmm19
@@ -828,6 +848,10 @@ vblendmpd (%rdx){1to8}, %zmm19, %zmm19
// CHECK: encoding: [0x62,0xe2,0xe5,0x52,0x65,0x1a]
vblendmpd (%rdx){1to8}, %zmm19, %zmm19 {%k2}
+// CHECK: vblendmpd (%rdx){1to8}, %zmm19, %zmm19 {%k2} {z}
+// CHECK: encoding: [0x62,0xe2,0xe5,0xd2,0x65,0x1a]
+vblendmpd (%rdx){1to8}, %zmm19, %zmm19 {%k2} {z}
+
// CHECK: vblendmpd (%rdx), %zmm19, %zmm19
// CHECK: encoding: [0x62,0xe2,0xe5,0x40,0x65,0x1a]
vblendmpd (%rdx), %zmm19, %zmm19
@@ -860,6 +884,10 @@ vblendmps 256(%rdx){1to16}, %zmm19, %zmm
// CHECK: encoding: [0x62,0xe2,0x65,0x52,0x65,0x5a,0x40]
vblendmps 256(%rdx){1to16}, %zmm19, %zmm19 {%k2}
+// CHECK: vblendmps 256(%rdx){1to16}, %zmm19, %zmm19 {%k2} {z}
+// CHECK: encoding: [0x62,0xe2,0x65,0xd2,0x65,0x5a,0x40]
+vblendmps 256(%rdx){1to16}, %zmm19, %zmm19 {%k2} {z}
+
// CHECK: vblendmps 256(%rdx,%rax){1to16}, %zmm19, %zmm19
// CHECK: encoding: [0x62,0xe2,0x65,0x50,0x65,0x5c,0x02,0x40]
vblendmps 256(%rdx,%rax){1to16}, %zmm19, %zmm19
@@ -868,6 +896,10 @@ vblendmps 256(%rdx,%rax){1to16}, %zmm19,
// CHECK: encoding: [0x62,0xe2,0x65,0x52,0x65,0x5c,0x02,0x40]
vblendmps 256(%rdx,%rax){1to16}, %zmm19, %zmm19 {%k2}
+// CHECK: vblendmps 256(%rdx,%rax){1to16}, %zmm19, %zmm19 {%k2} {z}
+// CHECK: encoding: [0x62,0xe2,0x65,0xd2,0x65,0x5c,0x02,0x40]
+vblendmps 256(%rdx,%rax){1to16}, %zmm19, %zmm19 {%k2} {z}
+
// CHECK: vblendmps 256(%rdx,%rax,4){1to16}, %zmm19, %zmm19
// CHECK: encoding: [0x62,0xe2,0x65,0x50,0x65,0x5c,0x82,0x40]
vblendmps 256(%rdx,%rax,4){1to16}, %zmm19, %zmm19
@@ -880,10 +912,18 @@ vblendmps -256(%rdx,%rax,4){1to16}, %zmm
// CHECK: encoding: [0x62,0xe2,0x65,0x52,0x65,0x5c,0x82,0x40]
vblendmps 256(%rdx,%rax,4){1to16}, %zmm19, %zmm19 {%k2}
+// CHECK: vblendmps 256(%rdx,%rax,4){1to16}, %zmm19, %zmm19 {%k2} {z}
+// CHECK: encoding: [0x62,0xe2,0x65,0xd2,0x65,0x5c,0x82,0x40]
+vblendmps 256(%rdx,%rax,4){1to16}, %zmm19, %zmm19 {%k2} {z}
+
// CHECK: vblendmps -256(%rdx,%rax,4){1to16}, %zmm19, %zmm19 {%k2}
// CHECK: encoding: [0x62,0xe2,0x65,0x52,0x65,0x5c,0x82,0xc0]
vblendmps -256(%rdx,%rax,4){1to16}, %zmm19, %zmm19 {%k2}
+// CHECK: vblendmps -256(%rdx,%rax,4){1to16}, %zmm19, %zmm19 {%k2} {z}
+// CHECK: encoding: [0x62,0xe2,0x65,0xd2,0x65,0x5c,0x82,0xc0]
+vblendmps -256(%rdx,%rax,4){1to16}, %zmm19, %zmm19 {%k2} {z}
+
// CHECK: vblendmps 4096(%rdx,%rax,4), %zmm19, %zmm19
// CHECK: encoding: [0x62,0xe2,0x65,0x40,0x65,0x5c,0x82,0x40]
vblendmps 4096(%rdx,%rax,4), %zmm19, %zmm19
@@ -940,6 +980,10 @@ vblendmps 485498096{1to16}, %zmm19, %zmm
// CHECK: encoding: [0x62,0xe2,0x65,0x52,0x65,0x1c,0x25,0xf0,0x1c,0xf0,0x1c]
vblendmps 485498096{1to16}, %zmm19, %zmm19 {%k2}
+// CHECK: vblendmps 485498096{1to16}, %zmm19, %zmm19 {%k2} {z}
+// CHECK: encoding: [0x62,0xe2,0x65,0xd2,0x65,0x1c,0x25,0xf0,0x1c,0xf0,0x1c]
+vblendmps 485498096{1to16}, %zmm19, %zmm19 {%k2} {z}
+
// CHECK: vblendmps 485498096, %zmm19, %zmm19
// CHECK: encoding: [0x62,0xe2,0x65,0x40,0x65,0x1c,0x25,0xf0,0x1c,0xf0,0x1c]
vblendmps 485498096, %zmm19, %zmm19
@@ -960,6 +1004,10 @@ vblendmps (%rdx){1to16}, %zmm19, %zmm19
// CHECK: encoding: [0x62,0xe2,0x65,0x52,0x65,0x1a]
vblendmps (%rdx){1to16}, %zmm19, %zmm19 {%k2}
+// CHECK: vblendmps (%rdx){1to16}, %zmm19, %zmm19 {%k2} {z}
+// CHECK: encoding: [0x62,0xe2,0x65,0xd2,0x65,0x1a]
+vblendmps (%rdx){1to16}, %zmm19, %zmm19 {%k2} {z}
+
// CHECK: vblendmps (%rdx), %zmm19, %zmm19
// CHECK: encoding: [0x62,0xe2,0x65,0x40,0x65,0x1a]
vblendmps (%rdx), %zmm19, %zmm19
@@ -17988,6 +18036,10 @@ vpblendmd 256(%rdx){1to16}, %zmm19, %zmm
// CHECK: encoding: [0x62,0xe2,0x65,0x52,0x64,0x5a,0x40]
vpblendmd 256(%rdx){1to16}, %zmm19, %zmm19 {%k2}
+// CHECK: vpblendmd 256(%rdx){1to16}, %zmm19, %zmm19 {%k2} {z}
+// CHECK: encoding: [0x62,0xe2,0x65,0xd2,0x64,0x5a,0x40]
+vpblendmd 256(%rdx){1to16}, %zmm19, %zmm19 {%k2} {z}
+
// CHECK: vpblendmd 256(%rdx,%rax){1to16}, %zmm19, %zmm19
// CHECK: encoding: [0x62,0xe2,0x65,0x50,0x64,0x5c,0x02,0x40]
vpblendmd 256(%rdx,%rax){1to16}, %zmm19, %zmm19
@@ -17996,6 +18048,10 @@ vpblendmd 256(%rdx,%rax){1to16}, %zmm19,
// CHECK: encoding: [0x62,0xe2,0x65,0x52,0x64,0x5c,0x02,0x40]
vpblendmd 256(%rdx,%rax){1to16}, %zmm19, %zmm19 {%k2}
+// CHECK: vpblendmd 256(%rdx,%rax){1to16}, %zmm19, %zmm19 {%k2} {z}
+// CHECK: encoding: [0x62,0xe2,0x65,0xd2,0x64,0x5c,0x02,0x40]
+vpblendmd 256(%rdx,%rax){1to16}, %zmm19, %zmm19 {%k2} {z}
+
// CHECK: vpblendmd 256(%rdx,%rax,4){1to16}, %zmm19, %zmm19
// CHECK: encoding: [0x62,0xe2,0x65,0x50,0x64,0x5c,0x82,0x40]
vpblendmd 256(%rdx,%rax,4){1to16}, %zmm19, %zmm19
@@ -18008,10 +18064,18 @@ vpblendmd -256(%rdx,%rax,4){1to16}, %zmm
// CHECK: encoding: [0x62,0xe2,0x65,0x52,0x64,0x5c,0x82,0x40]
vpblendmd 256(%rdx,%rax,4){1to16}, %zmm19, %zmm19 {%k2}
+// CHECK: vpblendmd 256(%rdx,%rax,4){1to16}, %zmm19, %zmm19 {%k2} {z}
+// CHECK: encoding: [0x62,0xe2,0x65,0xd2,0x64,0x5c,0x82,0x40]
+vpblendmd 256(%rdx,%rax,4){1to16}, %zmm19, %zmm19 {%k2} {z}
+
// CHECK: vpblendmd -256(%rdx,%rax,4){1to16}, %zmm19, %zmm19 {%k2}
// CHECK: encoding: [0x62,0xe2,0x65,0x52,0x64,0x5c,0x82,0xc0]
vpblendmd -256(%rdx,%rax,4){1to16}, %zmm19, %zmm19 {%k2}
+// CHECK: vpblendmd -256(%rdx,%rax,4){1to16}, %zmm19, %zmm19 {%k2} {z}
+// CHECK: encoding: [0x62,0xe2,0x65,0xd2,0x64,0x5c,0x82,0xc0]
+vpblendmd -256(%rdx,%rax,4){1to16}, %zmm19, %zmm19 {%k2} {z}
+
// CHECK: vpblendmd 4096(%rdx,%rax,4), %zmm19, %zmm19
// CHECK: encoding: [0x62,0xe2,0x65,0x40,0x64,0x5c,0x82,0x40]
vpblendmd 4096(%rdx,%rax,4), %zmm19, %zmm19
@@ -18068,6 +18132,10 @@ vpblendmd 485498096{1to16}, %zmm19, %zmm
// CHECK: encoding: [0x62,0xe2,0x65,0x52,0x64,0x1c,0x25,0xf0,0x1c,0xf0,0x1c]
vpblendmd 485498096{1to16}, %zmm19, %zmm19 {%k2}
+// CHECK: vpblendmd 485498096{1to16}, %zmm19, %zmm19 {%k2} {z}
+// CHECK: encoding: [0x62,0xe2,0x65,0xd2,0x64,0x1c,0x25,0xf0,0x1c,0xf0,0x1c]
+vpblendmd 485498096{1to16}, %zmm19, %zmm19 {%k2} {z}
+
// CHECK: vpblendmd 485498096, %zmm19, %zmm19
// CHECK: encoding: [0x62,0xe2,0x65,0x40,0x64,0x1c,0x25,0xf0,0x1c,0xf0,0x1c]
vpblendmd 485498096, %zmm19, %zmm19
@@ -18088,6 +18156,10 @@ vpblendmd (%rdx){1to16}, %zmm19, %zmm19
// CHECK: encoding: [0x62,0xe2,0x65,0x52,0x64,0x1a]
vpblendmd (%rdx){1to16}, %zmm19, %zmm19 {%k2}
+// CHECK: vpblendmd (%rdx){1to16}, %zmm19, %zmm19 {%k2} {z}
+// CHECK: encoding: [0x62,0xe2,0x65,0xd2,0x64,0x1a]
+vpblendmd (%rdx){1to16}, %zmm19, %zmm19 {%k2} {z}
+
// CHECK: vpblendmd (%rdx), %zmm19, %zmm19
// CHECK: encoding: [0x62,0xe2,0x65,0x40,0x64,0x1a]
vpblendmd (%rdx), %zmm19, %zmm19
@@ -18168,6 +18240,10 @@ vpblendmq 485498096{1to8}, %zmm19, %zmm1
// CHECK: encoding: [0x62,0xe2,0xe5,0x52,0x64,0x1c,0x25,0xf0,0x1c,0xf0,0x1c]
vpblendmq 485498096{1to8}, %zmm19, %zmm19 {%k2}
+// CHECK: vpblendmd (%rdx){1to16}, %zmm19, %zmm19 {%k2} {z}
+// CHECK: encoding: [0x62,0xe2,0x65,0xd2,0x64,0x1a]
+vpblendmd (%rdx){1to16}, %zmm19, %zmm19 {%k2} {z}
+
// CHECK: vpblendmq 485498096, %zmm19, %zmm19
// CHECK: encoding: [0x62,0xe2,0xe5,0x40,0x64,0x1c,0x25,0xf0,0x1c,0xf0,0x1c]
vpblendmq 485498096, %zmm19, %zmm19
@@ -18188,6 +18264,10 @@ vpblendmq 512(%rdx){1to8}, %zmm19, %zmm1
// CHECK: encoding: [0x62,0xe2,0xe5,0x52,0x64,0x5a,0x40]
vpblendmq 512(%rdx){1to8}, %zmm19, %zmm19 {%k2}
+// CHECK: vpblendmq 512(%rdx){1to8}, %zmm19, %zmm19 {%k2} {z}
+// CHECK: encoding: [0x62,0xe2,0xe5,0xd2,0x64,0x5a,0x40]
+vpblendmq 512(%rdx){1to8}, %zmm19, %zmm19 {%k2} {z}
+
// CHECK: vpblendmq 512(%rdx,%rax){1to8}, %zmm19, %zmm19
// CHECK: encoding: [0x62,0xe2,0xe5,0x50,0x64,0x5c,0x02,0x40]
vpblendmq 512(%rdx,%rax){1to8}, %zmm19, %zmm19
@@ -18196,6 +18276,10 @@ vpblendmq 512(%rdx,%rax){1to8}, %zmm19,
// CHECK: encoding: [0x62,0xe2,0xe5,0x52,0x64,0x5c,0x02,0x40]
vpblendmq 512(%rdx,%rax){1to8}, %zmm19, %zmm19 {%k2}
+// CHECK: vpblendmq 512(%rdx,%rax){1to8}, %zmm19, %zmm19 {%k2} {z}
+// CHECK: encoding: [0x62,0xe2,0xe5,0xd2,0x64,0x5c,0x02,0x40]
+vpblendmq 512(%rdx,%rax){1to8}, %zmm19, %zmm19 {%k2} {z}
+
// CHECK: vpblendmq 512(%rdx,%rax,4){1to8}, %zmm19, %zmm19
// CHECK: encoding: [0x62,0xe2,0xe5,0x50,0x64,0x5c,0x82,0x40]
vpblendmq 512(%rdx,%rax,4){1to8}, %zmm19, %zmm19
@@ -18208,10 +18292,18 @@ vpblendmq -512(%rdx,%rax,4){1to8}, %zmm1
// CHECK: encoding: [0x62,0xe2,0xe5,0x52,0x64,0x5c,0x82,0x40]
vpblendmq 512(%rdx,%rax,4){1to8}, %zmm19, %zmm19 {%k2}
+// CHECK: vpblendmq 512(%rdx,%rax,4){1to8}, %zmm19, %zmm19 {%k2} {z}
+// CHECK: encoding: [0x62,0xe2,0xe5,0xd2,0x64,0x5c,0x82,0x40]
+vpblendmq 512(%rdx,%rax,4){1to8}, %zmm19, %zmm19 {%k2} {z}
+
// CHECK: vpblendmq -512(%rdx,%rax,4){1to8}, %zmm19, %zmm19 {%k2}
// CHECK: encoding: [0x62,0xe2,0xe5,0x52,0x64,0x5c,0x82,0xc0]
vpblendmq -512(%rdx,%rax,4){1to8}, %zmm19, %zmm19 {%k2}
+// CHECK: vpblendmq -512(%rdx,%rax,4){1to8}, %zmm19, %zmm19 {%k2} {z}
+// CHECK: encoding: [0x62,0xe2,0xe5,0xd2,0x64,0x5c,0x82,0xc0]
+vpblendmq -512(%rdx,%rax,4){1to8}, %zmm19, %zmm19 {%k2} {z}
+
// CHECK: vpblendmq (%rdx){1to8}, %zmm19, %zmm19
// CHECK: encoding: [0x62,0xe2,0xe5,0x50,0x64,0x1a]
vpblendmq (%rdx){1to8}, %zmm19, %zmm19
More information about the llvm-commits
mailing list