diff options
| -rw-r--r-- | llvm/lib/Target/X86/X86InstrAVX512.td | 8 | ||||
| -rw-r--r-- | llvm/test/MC/X86/AVX512F_512-32.s | 92 | ||||
| -rw-r--r-- | llvm/test/MC/X86/AVX512F_512-64.s | 92 |
3 files changed, 192 insertions, 0 deletions
diff --git a/llvm/lib/Target/X86/X86InstrAVX512.td b/llvm/lib/Target/X86/X86InstrAVX512.td index f24927fb2a0..2e6566f6216 100644 --- a/llvm/lib/Target/X86/X86InstrAVX512.td +++ b/llvm/lib/Target/X86/X86InstrAVX512.td @@ -1965,6 +1965,14 @@ multiclass avx512_blendmask_rmb<bits<8> opc, string OpcodeStr, OpndItins itins, [], 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, diff --git a/llvm/test/MC/X86/AVX512F_512-32.s b/llvm/test/MC/X86/AVX512F_512-32.s index fdab24f4c73..eb9f77133c2 100644 --- a/llvm/test/MC/X86/AVX512F_512-32.s +++ b/llvm/test/MC/X86/AVX512F_512-32.s @@ -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, %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}, %zmm2, %zmm2 // 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, %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, %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, %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}, %zmm2, %zmm2 // 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, %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}, %zmm2, %zmm2 // 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, %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}, %zmm2, %zmm2 // 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, %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 diff --git a/llvm/test/MC/X86/AVX512F_512-64.s b/llvm/test/MC/X86/AVX512F_512-64.s index 753b8b11157..05f05a657cb 100644 --- a/llvm/test/MC/X86/AVX512F_512-64.s +++ b/llvm/test/MC/X86/AVX512F_512-64.s @@ -776,6 +776,10 @@ vblendmpd 485498096{1to8}, %zmm19, %zmm19 // 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, %zmm19 // 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, %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}, %zmm19, %zmm19 // 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, %zmm19 // 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, %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}, %zmm19, %zmm19 // 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, %zmm19 // 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, %zmm19 // 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, %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}, %zmm19, %zmm19 // 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, %zmm19 // 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, %zmm19 // 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, %zmm19 // 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, %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}, %zmm19, %zmm19 // 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 |

