aboutsummaryrefslogtreecommitdiff
path: root/test/MC/X86/avx512-encodings.s
diff options
context:
space:
mode:
Diffstat (limited to 'test/MC/X86/avx512-encodings.s')
-rw-r--r--test/MC/X86/avx512-encodings.s733
1 files changed, 717 insertions, 16 deletions
diff --git a/test/MC/X86/avx512-encodings.s b/test/MC/X86/avx512-encodings.s
index ca0fccb2e3ef..e52dfac1976c 100644
--- a/test/MC/X86/avx512-encodings.s
+++ b/test/MC/X86/avx512-encodings.s
@@ -6060,22 +6060,6 @@ vpcmpd $1, %zmm24, %zmm7, %k5{%k4}
// CHECK: encoding: [0x62,0xf3,0xf5,0x47,0x1e,0x72,0x01,0x02]
vpcmpuq $2, 0x40(%rdx), %zmm17, %k6{%k7}
-// CHECK: vpermi2d
-// CHECK: encoding: [0x62,0x42,0x6d,0x4b,0x76,0xd6]
-vpermi2d %zmm14, %zmm2, %zmm26 {%k3}
-
-// CHECK: vpermt2pd
-// CHECK: encoding: [0x62,0xf2,0xcd,0xc6,0x7f,0xf3]
-vpermt2pd %zmm3, %zmm22, %zmm6 {%k6} {z}
-
-// CHECK: vpermi2q
-// CHECK: encoding: [0x62,0x62,0xed,0x4b,0x76,0x54,0x58,0x02]
-vpermi2q 0x80(%rax,%rbx,2), %zmm2, %zmm26 {%k3}
-
-// CHECK: vpermt2d
-// CHECK: encoding: [0x62,0x32,0x4d,0xc2,0x7e,0x24,0xad,0x05,0x00,0x00,0x00]
-vpermt2d 5(,%r13,4), %zmm22, %zmm12 {%k2} {z}
-
// CHECK: valignq $2
// CHECK: encoding: [0x62,0xf3,0xfd,0x48,0x03,0x4c,0x24,0x04,0x02]
valignq $2, 0x100(%rsp), %zmm0, %zmm1
@@ -8812,4 +8796,721 @@ vpermilpd $0x23, 0x400(%rbx), %zmm2
// CHECK: encoding: [0x62,0xe2,0x1d,0x50,0x36,0xb2,0xfc,0xfd,0xff,0xff]
vpermd -516(%rdx){1to16}, %zmm28, %zmm22
+// CHECK: vcvtsi2sdl %eax, %xmm10, %xmm7
+// CHECK: encoding: [0xc5,0xab,0x2a,0xf8]
+ vcvtsi2sd %eax, %xmm10, %xmm7
+
+// CHECK: vcvtsi2sdl %ebp, %xmm10, %xmm7
+// CHECK: encoding: [0xc5,0xab,0x2a,0xfd]
+ vcvtsi2sd %ebp, %xmm10, %xmm7
+
+// CHECK: vcvtsi2sdl %r13d, %xmm10, %xmm7
+// CHECK: encoding: [0xc4,0xc1,0x2b,0x2a,0xfd]
+ vcvtsi2sd %r13d, %xmm10, %xmm7
+
+// CHECK: vcvtsi2sdl (%rcx), %xmm10, %xmm7
+// CHECK: encoding: [0xc5,0xab,0x2a,0x39]
+ vcvtsi2sdl (%rcx), %xmm10, %xmm7
+
+// CHECK: vcvtsi2sdl 291(%rax,%r14,8), %xmm10, %xmm7
+// CHECK: encoding: [0xc4,0xa1,0x2b,0x2a,0xbc,0xf0,0x23,0x01,0x00,0x00]
+ vcvtsi2sdl 291(%rax,%r14,8), %xmm10, %xmm7
+
+// CHECK: vcvtsi2sdl 508(%rdx), %xmm10, %xmm7
+// CHECK: encoding: [0xc5,0xab,0x2a,0xba,0xfc,0x01,0x00,0x00]
+ vcvtsi2sdl 508(%rdx), %xmm10, %xmm7
+
+// CHECK: vcvtsi2sdl 512(%rdx), %xmm10, %xmm7
+// CHECK: encoding: [0xc5,0xab,0x2a,0xba,0x00,0x02,0x00,0x00]
+ vcvtsi2sdl 512(%rdx), %xmm10, %xmm7
+
+// CHECK: vcvtsi2sdl -512(%rdx), %xmm10, %xmm7
+// CHECK: encoding: [0xc5,0xab,0x2a,0xba,0x00,0xfe,0xff,0xff]
+ vcvtsi2sdl -512(%rdx), %xmm10, %xmm7
+
+// CHECK: vcvtsi2sdl -516(%rdx), %xmm10, %xmm7
+// CHECK: encoding: [0xc5,0xab,0x2a,0xba,0xfc,0xfd,0xff,0xff]
+ vcvtsi2sdl -516(%rdx), %xmm10, %xmm7
+// CHECK: vcvtsi2sdq %rax, %xmm12, %xmm29
+// CHECK: encoding: [0x62,0x61,0x9f,0x08,0x2a,0xe8]
+ vcvtsi2sd %rax, %xmm12, %xmm29
+
+// CHECK: vcvtsi2sdq %rax, {rn-sae}, %xmm12, %xmm29
+// CHECK: encoding: [0x62,0x61,0x9f,0x18,0x2a,0xe8]
+ vcvtsi2sd %rax, {rn-sae}, %xmm12, %xmm29
+
+// CHECK: vcvtsi2sdq %rax, {ru-sae}, %xmm12, %xmm29
+// CHECK: encoding: [0x62,0x61,0x9f,0x58,0x2a,0xe8]
+ vcvtsi2sd %rax, {ru-sae}, %xmm12, %xmm29
+
+// CHECK: vcvtsi2sdq %rax, {rd-sae}, %xmm12, %xmm29
+// CHECK: encoding: [0x62,0x61,0x9f,0x38,0x2a,0xe8]
+ vcvtsi2sd %rax, {rd-sae}, %xmm12, %xmm29
+
+// CHECK: vcvtsi2sdq %rax, {rz-sae}, %xmm12, %xmm29
+// CHECK: encoding: [0x62,0x61,0x9f,0x78,0x2a,0xe8]
+ vcvtsi2sd %rax, {rz-sae}, %xmm12, %xmm29
+
+// CHECK: vcvtsi2sdq %r8, %xmm12, %xmm29
+// CHECK: encoding: [0x62,0x41,0x9f,0x08,0x2a,0xe8]
+ vcvtsi2sd %r8, %xmm12, %xmm29
+
+// CHECK: vcvtsi2sdq %r8, {rn-sae}, %xmm12, %xmm29
+// CHECK: encoding: [0x62,0x41,0x9f,0x18,0x2a,0xe8]
+ vcvtsi2sd %r8, {rn-sae}, %xmm12, %xmm29
+
+// CHECK: vcvtsi2sdq %r8, {ru-sae}, %xmm12, %xmm29
+// CHECK: encoding: [0x62,0x41,0x9f,0x58,0x2a,0xe8]
+ vcvtsi2sd %r8, {ru-sae}, %xmm12, %xmm29
+
+// CHECK: vcvtsi2sdq %r8, {rd-sae}, %xmm12, %xmm29
+// CHECK: encoding: [0x62,0x41,0x9f,0x38,0x2a,0xe8]
+ vcvtsi2sd %r8, {rd-sae}, %xmm12, %xmm29
+
+// CHECK: vcvtsi2sdq %r8, {rz-sae}, %xmm12, %xmm29
+// CHECK: encoding: [0x62,0x41,0x9f,0x78,0x2a,0xe8]
+ vcvtsi2sd %r8, {rz-sae}, %xmm12, %xmm29
+
+// CHECK: vcvtsi2sdq (%rcx), %xmm12, %xmm29
+// CHECK: encoding: [0x62,0x61,0x9f,0x08,0x2a,0x29]
+ vcvtsi2sdq (%rcx), %xmm12, %xmm29
+
+// CHECK: vcvtsi2sdq 291(%rax,%r14,8), %xmm12, %xmm29
+// CHECK: encoding: [0x62,0x21,0x9f,0x08,0x2a,0xac,0xf0,0x23,0x01,0x00,0x00]
+ vcvtsi2sdq 291(%rax,%r14,8), %xmm12, %xmm29
+
+// CHECK: vcvtsi2sdq 1016(%rdx), %xmm12, %xmm29
+// CHECK: encoding: [0x62,0x61,0x9f,0x08,0x2a,0x6a,0x7f]
+ vcvtsi2sdq 1016(%rdx), %xmm12, %xmm29
+
+// CHECK: vcvtsi2sdq 1024(%rdx), %xmm12, %xmm29
+// CHECK: encoding: [0x62,0x61,0x9f,0x08,0x2a,0xaa,0x00,0x04,0x00,0x00]
+ vcvtsi2sdq 1024(%rdx), %xmm12, %xmm29
+
+// CHECK: vcvtsi2sdq -1024(%rdx), %xmm12, %xmm29
+// CHECK: encoding: [0x62,0x61,0x9f,0x08,0x2a,0x6a,0x80]
+ vcvtsi2sdq -1024(%rdx), %xmm12, %xmm29
+
+// CHECK: vcvtsi2sdq -1032(%rdx), %xmm12, %xmm29
+// CHECK: encoding: [0x62,0x61,0x9f,0x08,0x2a,0xaa,0xf8,0xfb,0xff,0xff]
+ vcvtsi2sdq -1032(%rdx), %xmm12, %xmm29
+
+// CHECK: vcvtsi2ssl %eax, %xmm10, %xmm15
+// CHECK: encoding: [0xc5,0x2a,0x2a,0xf8]
+ vcvtsi2ss %eax, %xmm10, %xmm15
+
+// CHECK: vcvtsi2ssl %eax, {rn-sae}, %xmm10, %xmm15
+// CHECK: encoding: [0x62,0x71,0x2e,0x18,0x2a,0xf8]
+ vcvtsi2ss %eax, {rn-sae}, %xmm10, %xmm15
+
+// CHECK: vcvtsi2ssl %eax, {ru-sae}, %xmm10, %xmm15
+// CHECK: encoding: [0x62,0x71,0x2e,0x58,0x2a,0xf8]
+ vcvtsi2ss %eax, {ru-sae}, %xmm10, %xmm15
+
+// CHECK: vcvtsi2ssl %eax, {rd-sae}, %xmm10, %xmm15
+// CHECK: encoding: [0x62,0x71,0x2e,0x38,0x2a,0xf8]
+ vcvtsi2ss %eax, {rd-sae}, %xmm10, %xmm15
+
+// CHECK: vcvtsi2ssl %eax, {rz-sae}, %xmm10, %xmm15
+// CHECK: encoding: [0x62,0x71,0x2e,0x78,0x2a,0xf8]
+ vcvtsi2ss %eax, {rz-sae}, %xmm10, %xmm15
+
+// CHECK: vcvtsi2ssl %ebp, %xmm10, %xmm15
+// CHECK: encoding: [0xc5,0x2a,0x2a,0xfd]
+ vcvtsi2ss %ebp, %xmm10, %xmm15
+
+// CHECK: vcvtsi2ssl %ebp, {rn-sae}, %xmm10, %xmm15
+// CHECK: encoding: [0x62,0x71,0x2e,0x18,0x2a,0xfd]
+ vcvtsi2ss %ebp, {rn-sae}, %xmm10, %xmm15
+
+// CHECK: vcvtsi2ssl %ebp, {ru-sae}, %xmm10, %xmm15
+// CHECK: encoding: [0x62,0x71,0x2e,0x58,0x2a,0xfd]
+ vcvtsi2ss %ebp, {ru-sae}, %xmm10, %xmm15
+
+// CHECK: vcvtsi2ssl %ebp, {rd-sae}, %xmm10, %xmm15
+// CHECK: encoding: [0x62,0x71,0x2e,0x38,0x2a,0xfd]
+ vcvtsi2ss %ebp, {rd-sae}, %xmm10, %xmm15
+
+// CHECK: vcvtsi2ssl %ebp, {rz-sae}, %xmm10, %xmm15
+// CHECK: encoding: [0x62,0x71,0x2e,0x78,0x2a,0xfd]
+ vcvtsi2ss %ebp, {rz-sae}, %xmm10, %xmm15
+
+// CHECK: vcvtsi2ssl %r13d, %xmm10, %xmm15
+// CHECK: encoding: [0xc4,0x41,0x2a,0x2a,0xfd]
+ vcvtsi2ss %r13d, %xmm10, %xmm15
+
+// CHECK: vcvtsi2ssl %r13d, {rn-sae}, %xmm10, %xmm15
+// CHECK: encoding: [0x62,0x51,0x2e,0x18,0x2a,0xfd]
+ vcvtsi2ss %r13d, {rn-sae}, %xmm10, %xmm15
+
+// CHECK: vcvtsi2ssl %r13d, {ru-sae}, %xmm10, %xmm15
+// CHECK: encoding: [0x62,0x51,0x2e,0x58,0x2a,0xfd]
+ vcvtsi2ss %r13d, {ru-sae}, %xmm10, %xmm15
+
+// CHECK: vcvtsi2ssl %r13d, {rd-sae}, %xmm10, %xmm15
+// CHECK: encoding: [0x62,0x51,0x2e,0x38,0x2a,0xfd]
+ vcvtsi2ss %r13d, {rd-sae}, %xmm10, %xmm15
+
+// CHECK: vcvtsi2ssl %r13d, {rz-sae}, %xmm10, %xmm15
+// CHECK: encoding: [0x62,0x51,0x2e,0x78,0x2a,0xfd]
+ vcvtsi2ss %r13d, {rz-sae}, %xmm10, %xmm15
+
+// CHECK: vcvtsi2ssl (%rcx), %xmm10, %xmm15
+// CHECK: encoding: [0xc5,0x2a,0x2a,0x39]
+ vcvtsi2ssl (%rcx), %xmm10, %xmm15
+
+// CHECK: vcvtsi2ssl 291(%rax,%r14,8), %xmm10, %xmm15
+// CHECK: encoding: [0xc4,0x21,0x2a,0x2a,0xbc,0xf0,0x23,0x01,0x00,0x00]
+ vcvtsi2ssl 291(%rax,%r14,8), %xmm10, %xmm15
+
+// CHECK: vcvtsi2ssl 508(%rdx), %xmm10, %xmm15
+// CHECK: encoding: [0xc5,0x2a,0x2a,0xba,0xfc,0x01,0x00,0x00]
+ vcvtsi2ssl 508(%rdx), %xmm10, %xmm15
+
+// CHECK: vcvtsi2ssl 512(%rdx), %xmm10, %xmm15
+// CHECK: encoding: [0xc5,0x2a,0x2a,0xba,0x00,0x02,0x00,0x00]
+ vcvtsi2ssl 512(%rdx), %xmm10, %xmm15
+
+// CHECK: vcvtsi2ssl -512(%rdx), %xmm10, %xmm15
+// CHECK: encoding: [0xc5,0x2a,0x2a,0xba,0x00,0xfe,0xff,0xff]
+ vcvtsi2ssl -512(%rdx), %xmm10, %xmm15
+
+// CHECK: vcvtsi2ssl -516(%rdx), %xmm10, %xmm15
+// CHECK: encoding: [0xc5,0x2a,0x2a,0xba,0xfc,0xfd,0xff,0xff]
+ vcvtsi2ssl -516(%rdx), %xmm10, %xmm15
+// CHECK: vcvtsi2ssq %rax, %xmm10, %xmm16
+// CHECK: encoding: [0x62,0xe1,0xae,0x08,0x2a,0xc0]
+ vcvtsi2ss %rax, %xmm10, %xmm16
+
+// CHECK: vcvtsi2ssq %rax, {rn-sae}, %xmm10, %xmm16
+// CHECK: encoding: [0x62,0xe1,0xae,0x18,0x2a,0xc0]
+ vcvtsi2ss %rax, {rn-sae}, %xmm10, %xmm16
+
+// CHECK: vcvtsi2ssq %rax, {ru-sae}, %xmm10, %xmm16
+// CHECK: encoding: [0x62,0xe1,0xae,0x58,0x2a,0xc0]
+ vcvtsi2ss %rax, {ru-sae}, %xmm10, %xmm16
+
+// CHECK: vcvtsi2ssq %rax, {rd-sae}, %xmm10, %xmm16
+// CHECK: encoding: [0x62,0xe1,0xae,0x38,0x2a,0xc0]
+ vcvtsi2ss %rax, {rd-sae}, %xmm10, %xmm16
+
+// CHECK: vcvtsi2ssq %rax, {rz-sae}, %xmm10, %xmm16
+// CHECK: encoding: [0x62,0xe1,0xae,0x78,0x2a,0xc0]
+ vcvtsi2ss %rax, {rz-sae}, %xmm10, %xmm16
+
+// CHECK: vcvtsi2ssq %r8, %xmm10, %xmm16
+// CHECK: encoding: [0x62,0xc1,0xae,0x08,0x2a,0xc0]
+ vcvtsi2ss %r8, %xmm10, %xmm16
+
+// CHECK: vcvtsi2ssq %r8, {rn-sae}, %xmm10, %xmm16
+// CHECK: encoding: [0x62,0xc1,0xae,0x18,0x2a,0xc0]
+ vcvtsi2ss %r8, {rn-sae}, %xmm10, %xmm16
+
+// CHECK: vcvtsi2ssq %r8, {ru-sae}, %xmm10, %xmm16
+// CHECK: encoding: [0x62,0xc1,0xae,0x58,0x2a,0xc0]
+ vcvtsi2ss %r8, {ru-sae}, %xmm10, %xmm16
+
+// CHECK: vcvtsi2ssq %r8, {rd-sae}, %xmm10, %xmm16
+// CHECK: encoding: [0x62,0xc1,0xae,0x38,0x2a,0xc0]
+ vcvtsi2ss %r8, {rd-sae}, %xmm10, %xmm16
+
+// CHECK: vcvtsi2ssq %r8, {rz-sae}, %xmm10, %xmm16
+// CHECK: encoding: [0x62,0xc1,0xae,0x78,0x2a,0xc0]
+ vcvtsi2ss %r8, {rz-sae}, %xmm10, %xmm16
+
+// CHECK: vcvtsi2ssq (%rcx), %xmm10, %xmm16
+// CHECK: encoding: [0x62,0xe1,0xae,0x08,0x2a,0x01]
+ vcvtsi2ssq (%rcx), %xmm10, %xmm16
+
+// CHECK: vcvtsi2ssq 291(%rax,%r14,8), %xmm10, %xmm16
+// CHECK: encoding: [0x62,0xa1,0xae,0x08,0x2a,0x84,0xf0,0x23,0x01,0x00,0x00]
+ vcvtsi2ssq 291(%rax,%r14,8), %xmm10, %xmm16
+
+// CHECK: vcvtsi2ssq 1016(%rdx), %xmm10, %xmm16
+// CHECK: encoding: [0x62,0xe1,0xae,0x08,0x2a,0x42,0x7f]
+ vcvtsi2ssq 1016(%rdx), %xmm10, %xmm16
+
+// CHECK: vcvtsi2ssq 1024(%rdx), %xmm10, %xmm16
+// CHECK: encoding: [0x62,0xe1,0xae,0x08,0x2a,0x82,0x00,0x04,0x00,0x00]
+ vcvtsi2ssq 1024(%rdx), %xmm10, %xmm16
+
+// CHECK: vcvtsi2ssq -1024(%rdx), %xmm10, %xmm16
+// CHECK: encoding: [0x62,0xe1,0xae,0x08,0x2a,0x42,0x80]
+ vcvtsi2ssq -1024(%rdx), %xmm10, %xmm16
+
+// CHECK: vcvtsi2ssq -1032(%rdx), %xmm10, %xmm16
+// CHECK: encoding: [0x62,0xe1,0xae,0x08,0x2a,0x82,0xf8,0xfb,0xff,0xff]
+ vcvtsi2ssq -1032(%rdx), %xmm10, %xmm16
+
+// CHECK: vcvtusi2sdl %eax, %xmm1, %xmm19
+// CHECK: encoding: [0x62,0xe1,0x77,0x08,0x7b,0xd8]
+ vcvtusi2sd %eax, %xmm1, %xmm19
+
+// CHECK: vcvtusi2sdl %ebp, %xmm1, %xmm19
+// CHECK: encoding: [0x62,0xe1,0x77,0x08,0x7b,0xdd]
+ vcvtusi2sd %ebp, %xmm1, %xmm19
+
+// CHECK: vcvtusi2sdl %r13d, %xmm1, %xmm19
+// CHECK: encoding: [0x62,0xc1,0x77,0x08,0x7b,0xdd]
+ vcvtusi2sd %r13d, %xmm1, %xmm19
+
+// CHECK: vcvtusi2sdl (%rcx), %xmm1, %xmm19
+// CHECK: encoding: [0x62,0xe1,0x77,0x08,0x7b,0x19]
+ vcvtusi2sdl (%rcx), %xmm1, %xmm19
+
+// CHECK: vcvtusi2sdl 291(%rax,%r14,8), %xmm1, %xmm19
+// CHECK: encoding: [0x62,0xa1,0x77,0x08,0x7b,0x9c,0xf0,0x23,0x01,0x00,0x00]
+ vcvtusi2sdl 291(%rax,%r14,8), %xmm1, %xmm19
+
+// CHECK: vcvtusi2sdl 508(%rdx), %xmm1, %xmm19
+// CHECK: encoding: [0x62,0xe1,0x77,0x08,0x7b,0x5a,0x7f]
+ vcvtusi2sdl 508(%rdx), %xmm1, %xmm19
+
+// CHECK: vcvtusi2sdl 512(%rdx), %xmm1, %xmm19
+// CHECK: encoding: [0x62,0xe1,0x77,0x08,0x7b,0x9a,0x00,0x02,0x00,0x00]
+ vcvtusi2sdl 512(%rdx), %xmm1, %xmm19
+
+// CHECK: vcvtusi2sdl -512(%rdx), %xmm1, %xmm19
+// CHECK: encoding: [0x62,0xe1,0x77,0x08,0x7b,0x5a,0x80]
+ vcvtusi2sdl -512(%rdx), %xmm1, %xmm19
+
+// CHECK: vcvtusi2sdl -516(%rdx), %xmm1, %xmm19
+// CHECK: encoding: [0x62,0xe1,0x77,0x08,0x7b,0x9a,0xfc,0xfd,0xff,0xff]
+ vcvtusi2sdl -516(%rdx), %xmm1, %xmm19
+
+// CHECK: vcvtusi2sdq %rax, %xmm26, %xmm14
+// CHECK: encoding: [0x62,0x71,0xaf,0x00,0x7b,0xf0]
+ vcvtusi2sd %rax, %xmm26, %xmm14
+
+// CHECK: vcvtusi2sdq %rax, {rn-sae}, %xmm26, %xmm14
+// CHECK: encoding: [0x62,0x71,0xaf,0x10,0x7b,0xf0]
+ vcvtusi2sd %rax, {rn-sae}, %xmm26, %xmm14
+
+// CHECK: vcvtusi2sdq %rax, {ru-sae}, %xmm26, %xmm14
+// CHECK: encoding: [0x62,0x71,0xaf,0x50,0x7b,0xf0]
+ vcvtusi2sd %rax, {ru-sae}, %xmm26, %xmm14
+
+// CHECK: vcvtusi2sdq %rax, {rd-sae}, %xmm26, %xmm14
+// CHECK: encoding: [0x62,0x71,0xaf,0x30,0x7b,0xf0]
+ vcvtusi2sd %rax, {rd-sae}, %xmm26, %xmm14
+
+// CHECK: vcvtusi2sdq %rax, {rz-sae}, %xmm26, %xmm14
+// CHECK: encoding: [0x62,0x71,0xaf,0x70,0x7b,0xf0]
+ vcvtusi2sd %rax, {rz-sae}, %xmm26, %xmm14
+
+// CHECK: vcvtusi2sdq %r8, %xmm26, %xmm14
+// CHECK: encoding: [0x62,0x51,0xaf,0x00,0x7b,0xf0]
+ vcvtusi2sd %r8, %xmm26, %xmm14
+
+// CHECK: vcvtusi2sdq %r8, {rn-sae}, %xmm26, %xmm14
+// CHECK: encoding: [0x62,0x51,0xaf,0x10,0x7b,0xf0]
+ vcvtusi2sd %r8, {rn-sae}, %xmm26, %xmm14
+
+// CHECK: vcvtusi2sdq %r8, {ru-sae}, %xmm26, %xmm14
+// CHECK: encoding: [0x62,0x51,0xaf,0x50,0x7b,0xf0]
+ vcvtusi2sd %r8, {ru-sae}, %xmm26, %xmm14
+
+// CHECK: vcvtusi2sdq %r8, {rd-sae}, %xmm26, %xmm14
+// CHECK: encoding: [0x62,0x51,0xaf,0x30,0x7b,0xf0]
+ vcvtusi2sd %r8, {rd-sae}, %xmm26, %xmm14
+
+// CHECK: vcvtusi2sdq %r8, {rz-sae}, %xmm26, %xmm14
+// CHECK: encoding: [0x62,0x51,0xaf,0x70,0x7b,0xf0]
+ vcvtusi2sd %r8, {rz-sae}, %xmm26, %xmm14
+
+// CHECK: vcvtusi2sdq (%rcx), %xmm26, %xmm14
+// CHECK: encoding: [0x62,0x71,0xaf,0x00,0x7b,0x31]
+ vcvtusi2sdq (%rcx), %xmm26, %xmm14
+
+// CHECK: vcvtusi2sdq 291(%rax,%r14,8), %xmm26, %xmm14
+// CHECK: encoding: [0x62,0x31,0xaf,0x00,0x7b,0xb4,0xf0,0x23,0x01,0x00,0x00]
+ vcvtusi2sdq 291(%rax,%r14,8), %xmm26, %xmm14
+
+// CHECK: vcvtusi2sdq 1016(%rdx), %xmm26, %xmm14
+// CHECK: encoding: [0x62,0x71,0xaf,0x00,0x7b,0x72,0x7f]
+ vcvtusi2sdq 1016(%rdx), %xmm26, %xmm14
+
+// CHECK: vcvtusi2sdq 1024(%rdx), %xmm26, %xmm14
+// CHECK: encoding: [0x62,0x71,0xaf,0x00,0x7b,0xb2,0x00,0x04,0x00,0x00]
+ vcvtusi2sdq 1024(%rdx), %xmm26, %xmm14
+
+// CHECK: vcvtusi2sdq -1024(%rdx), %xmm26, %xmm14
+// CHECK: encoding: [0x62,0x71,0xaf,0x00,0x7b,0x72,0x80]
+ vcvtusi2sdq -1024(%rdx), %xmm26, %xmm14
+
+// CHECK: vcvtusi2sdq -1032(%rdx), %xmm26, %xmm14
+// CHECK: encoding: [0x62,0x71,0xaf,0x00,0x7b,0xb2,0xf8,0xfb,0xff,0xff]
+ vcvtusi2sdq -1032(%rdx), %xmm26, %xmm14
+
+// CHECK: vcvtusi2ssl %eax, %xmm26, %xmm5
+// CHECK: encoding: [0x62,0xf1,0x2e,0x00,0x7b,0xe8]
+ vcvtusi2ss %eax, %xmm26, %xmm5
+
+// CHECK: vcvtusi2ssl %eax, {rn-sae}, %xmm26, %xmm5
+// CHECK: encoding: [0x62,0xf1,0x2e,0x10,0x7b,0xe8]
+ vcvtusi2ss %eax, {rn-sae}, %xmm26, %xmm5
+
+// CHECK: vcvtusi2ssl %eax, {ru-sae}, %xmm26, %xmm5
+// CHECK: encoding: [0x62,0xf1,0x2e,0x50,0x7b,0xe8]
+ vcvtusi2ss %eax, {ru-sae}, %xmm26, %xmm5
+
+// CHECK: vcvtusi2ssl %eax, {rd-sae}, %xmm26, %xmm5
+// CHECK: encoding: [0x62,0xf1,0x2e,0x30,0x7b,0xe8]
+ vcvtusi2ss %eax, {rd-sae}, %xmm26, %xmm5
+
+// CHECK: vcvtusi2ssl %eax, {rz-sae}, %xmm26, %xmm5
+// CHECK: encoding: [0x62,0xf1,0x2e,0x70,0x7b,0xe8]
+ vcvtusi2ss %eax, {rz-sae}, %xmm26, %xmm5
+
+// CHECK: vcvtusi2ssl %ebp, %xmm26, %xmm5
+// CHECK: encoding: [0x62,0xf1,0x2e,0x00,0x7b,0xed]
+ vcvtusi2ss %ebp, %xmm26, %xmm5
+
+// CHECK: vcvtusi2ssl %ebp, {rn-sae}, %xmm26, %xmm5
+// CHECK: encoding: [0x62,0xf1,0x2e,0x10,0x7b,0xed]
+ vcvtusi2ss %ebp, {rn-sae}, %xmm26, %xmm5
+
+// CHECK: vcvtusi2ssl %ebp, {ru-sae}, %xmm26, %xmm5
+// CHECK: encoding: [0x62,0xf1,0x2e,0x50,0x7b,0xed]
+ vcvtusi2ss %ebp, {ru-sae}, %xmm26, %xmm5
+
+// CHECK: vcvtusi2ssl %ebp, {rd-sae}, %xmm26, %xmm5
+// CHECK: encoding: [0x62,0xf1,0x2e,0x30,0x7b,0xed]
+ vcvtusi2ss %ebp, {rd-sae}, %xmm26, %xmm5
+
+// CHECK: vcvtusi2ssl %ebp, {rz-sae}, %xmm26, %xmm5
+// CHECK: encoding: [0x62,0xf1,0x2e,0x70,0x7b,0xed]
+ vcvtusi2ss %ebp, {rz-sae}, %xmm26, %xmm5
+
+// CHECK: vcvtusi2ssl %r13d, %xmm26, %xmm5
+// CHECK: encoding: [0x62,0xd1,0x2e,0x00,0x7b,0xed]
+ vcvtusi2ss %r13d, %xmm26, %xmm5
+
+// CHECK: vcvtusi2ssl %r13d, {rn-sae}, %xmm26, %xmm5
+// CHECK: encoding: [0x62,0xd1,0x2e,0x10,0x7b,0xed]
+ vcvtusi2ss %r13d, {rn-sae}, %xmm26, %xmm5
+
+// CHECK: vcvtusi2ssl %r13d, {ru-sae}, %xmm26, %xmm5
+// CHECK: encoding: [0x62,0xd1,0x2e,0x50,0x7b,0xed]
+ vcvtusi2ss %r13d, {ru-sae}, %xmm26, %xmm5
+
+// CHECK: vcvtusi2ssl %r13d, {rd-sae}, %xmm26, %xmm5
+// CHECK: encoding: [0x62,0xd1,0x2e,0x30,0x7b,0xed]
+ vcvtusi2ss %r13d, {rd-sae}, %xmm26, %xmm5
+
+// CHECK: vcvtusi2ssl %r13d, {rz-sae}, %xmm26, %xmm5
+// CHECK: encoding: [0x62,0xd1,0x2e,0x70,0x7b,0xed]
+ vcvtusi2ss %r13d, {rz-sae}, %xmm26, %xmm5
+
+// CHECK: vcvtusi2ssl (%rcx), %xmm26, %xmm5
+// CHECK: encoding: [0x62,0xf1,0x2e,0x00,0x7b,0x29]
+ vcvtusi2ssl (%rcx), %xmm26, %xmm5
+
+// CHECK: vcvtusi2ssl 291(%rax,%r14,8), %xmm26, %xmm5
+// CHECK: encoding: [0x62,0xb1,0x2e,0x00,0x7b,0xac,0xf0,0x23,0x01,0x00,0x00]
+ vcvtusi2ssl 291(%rax,%r14,8), %xmm26, %xmm5
+
+// CHECK: vcvtusi2ssl 508(%rdx), %xmm26, %xmm5
+// CHECK: encoding: [0x62,0xf1,0x2e,0x00,0x7b,0x6a,0x7f]
+ vcvtusi2ssl 508(%rdx), %xmm26, %xmm5
+
+// CHECK: vcvtusi2ssl 512(%rdx), %xmm26, %xmm5
+// CHECK: encoding: [0x62,0xf1,0x2e,0x00,0x7b,0xaa,0x00,0x02,0x00,0x00]
+ vcvtusi2ssl 512(%rdx), %xmm26, %xmm5
+
+// CHECK: vcvtusi2ssl -512(%rdx), %xmm26, %xmm5
+// CHECK: encoding: [0x62,0xf1,0x2e,0x00,0x7b,0x6a,0x80]
+ vcvtusi2ssl -512(%rdx), %xmm26, %xmm5
+
+// CHECK: vcvtusi2ssl -516(%rdx), %xmm26, %xmm5
+// CHECK: encoding: [0x62,0xf1,0x2e,0x00,0x7b,0xaa,0xfc,0xfd,0xff,0xff]
+ vcvtusi2ssl -516(%rdx), %xmm26, %xmm5
+
+// CHECK: vcvtusi2ssq %rax, %xmm22, %xmm14
+// CHECK: encoding: [0x62,0x71,0xce,0x00,0x7b,0xf0]
+ vcvtusi2ss %rax, %xmm22, %xmm14
+
+// CHECK: vcvtusi2ssq %rax, {rn-sae}, %xmm22, %xmm14
+// CHECK: encoding: [0x62,0x71,0xce,0x10,0x7b,0xf0]
+ vcvtusi2ss %rax, {rn-sae}, %xmm22, %xmm14
+
+// CHECK: vcvtusi2ssq %rax, {ru-sae}, %xmm22, %xmm14
+// CHECK: encoding: [0x62,0x71,0xce,0x50,0x7b,0xf0]
+ vcvtusi2ss %rax, {ru-sae}, %xmm22, %xmm14
+
+// CHECK: vcvtusi2ssq %rax, {rd-sae}, %xmm22, %xmm14
+// CHECK: encoding: [0x62,0x71,0xce,0x30,0x7b,0xf0]
+ vcvtusi2ss %rax, {rd-sae}, %xmm22, %xmm14
+
+// CHECK: vcvtusi2ssq %rax, {rz-sae}, %xmm22, %xmm14
+// CHECK: encoding: [0x62,0x71,0xce,0x70,0x7b,0xf0]
+ vcvtusi2ss %rax, {rz-sae}, %xmm22, %xmm14
+
+// CHECK: vcvtusi2ssq %r8, %xmm22, %xmm14
+// CHECK: encoding: [0x62,0x51,0xce,0x00,0x7b,0xf0]
+ vcvtusi2ss %r8, %xmm22, %xmm14
+
+// CHECK: vcvtusi2ssq %r8, {rn-sae}, %xmm22, %xmm14
+// CHECK: encoding: [0x62,0x51,0xce,0x10,0x7b,0xf0]
+ vcvtusi2ss %r8, {rn-sae}, %xmm22, %xmm14
+
+// CHECK: vcvtusi2ssq %r8, {ru-sae}, %xmm22, %xmm14
+// CHECK: encoding: [0x62,0x51,0xce,0x50,0x7b,0xf0]
+ vcvtusi2ss %r8, {ru-sae}, %xmm22, %xmm14
+
+// CHECK: vcvtusi2ssq %r8, {rd-sae}, %xmm22, %xmm14
+// CHECK: encoding: [0x62,0x51,0xce,0x30,0x7b,0xf0]
+ vcvtusi2ss %r8, {rd-sae}, %xmm22, %xmm14
+
+// CHECK: vcvtusi2ssq %r8, {rz-sae}, %xmm22, %xmm14
+// CHECK: encoding: [0x62,0x51,0xce,0x70,0x7b,0xf0]
+ vcvtusi2ss %r8, {rz-sae}, %xmm22, %xmm14
+
+// CHECK: vcvtusi2ssq (%rcx), %xmm22, %xmm14
+// CHECK: encoding: [0x62,0x71,0xce,0x00,0x7b,0x31]
+ vcvtusi2ssq (%rcx), %xmm22, %xmm14
+
+// CHECK: vcvtusi2ssq 291(%rax,%r14,8), %xmm22, %xmm14
+// CHECK: encoding: [0x62,0x31,0xce,0x00,0x7b,0xb4,0xf0,0x23,0x01,0x00,0x00]
+ vcvtusi2ssq 291(%rax,%r14,8), %xmm22, %xmm14
+
+// CHECK: vcvtusi2ssq 1016(%rdx), %xmm22, %xmm14
+// CHECK: encoding: [0x62,0x71,0xce,0x00,0x7b,0x72,0x7f]
+ vcvtusi2ssq 1016(%rdx), %xmm22, %xmm14
+
+// CHECK: vcvtusi2ssq 1024(%rdx), %xmm22, %xmm14
+// CHECK: encoding: [0x62,0x71,0xce,0x00,0x7b,0xb2,0x00,0x04,0x00,0x00]
+ vcvtusi2ssq 1024(%rdx), %xmm22, %xmm14
+
+// CHECK: vcvtusi2ssq -1024(%rdx), %xmm22, %xmm14
+// CHECK: encoding: [0x62,0x71,0xce,0x00,0x7b,0x72,0x80]
+ vcvtusi2ssq -1024(%rdx), %xmm22, %xmm14
+
+// CHECK: vcvtusi2ssq -1032(%rdx), %xmm22, %xmm14
+// CHECK: encoding: [0x62,0x71,0xce,0x00,0x7b,0xb2,0xf8,0xfb,0xff,0xff]
+ vcvtusi2ssq -1032(%rdx), %xmm22, %xmm14
+
+// CHECK: vpermi2d %zmm4, %zmm28, %zmm10
+// CHECK: encoding: [0x62,0x72,0x1d,0x40,0x76,0xd4]
+ vpermi2d %zmm4, %zmm28, %zmm10
+
+// CHECK: vpermi2d %zmm4, %zmm28, %zmm10 {%k5}
+// CHECK: encoding: [0x62,0x72,0x1d,0x45,0x76,0xd4]
+ vpermi2d %zmm4, %zmm28, %zmm10 {%k5}
+
+// CHECK: vpermi2d %zmm4, %zmm28, %zmm10 {%k5} {z}
+// CHECK: encoding: [0x62,0x72,0x1d,0xc5,0x76,0xd4]
+ vpermi2d %zmm4, %zmm28, %zmm10 {%k5} {z}
+
+// CHECK: vpermi2d (%rcx), %zmm28, %zmm10
+// CHECK: encoding: [0x62,0x72,0x1d,0x40,0x76,0x11]
+ vpermi2d (%rcx), %zmm28, %zmm10
+
+// CHECK: vpermi2d 291(%rax,%r14,8), %zmm28, %zmm10
+// CHECK: encoding: [0x62,0x32,0x1d,0x40,0x76,0x94,0xf0,0x23,0x01,0x00,0x00]
+ vpermi2d 291(%rax,%r14,8), %zmm28, %zmm10
+
+// CHECK: vpermi2d (%rcx){1to16}, %zmm28, %zmm10
+// CHECK: encoding: [0x62,0x72,0x1d,0x50,0x76,0x11]
+ vpermi2d (%rcx){1to16}, %zmm28, %zmm10
+
+// CHECK: vpermi2d 8128(%rdx), %zmm28, %zmm10
+// CHECK: encoding: [0x62,0x72,0x1d,0x40,0x76,0x52,0x7f]
+ vpermi2d 8128(%rdx), %zmm28, %zmm10
+
+// CHECK: vpermi2d 8192(%rdx), %zmm28, %zmm10
+// CHECK: encoding: [0x62,0x72,0x1d,0x40,0x76,0x92,0x00,0x20,0x00,0x00]
+ vpermi2d 8192(%rdx), %zmm28, %zmm10
+
+// CHECK: vpermi2d -8192(%rdx), %zmm28, %zmm10
+// CHECK: encoding: [0x62,0x72,0x1d,0x40,0x76,0x52,0x80]
+ vpermi2d -8192(%rdx), %zmm28, %zmm10
+
+// CHECK: vpermi2d -8256(%rdx), %zmm28, %zmm10
+// CHECK: encoding: [0x62,0x72,0x1d,0x40,0x76,0x92,0xc0,0xdf,0xff,0xff]
+ vpermi2d -8256(%rdx), %zmm28, %zmm10
+
+// CHECK: vpermi2d 508(%rdx){1to16}, %zmm28, %zmm10
+// CHECK: encoding: [0x62,0x72,0x1d,0x50,0x76,0x52,0x7f]
+ vpermi2d 508(%rdx){1to16}, %zmm28, %zmm10
+
+// CHECK: vpermi2d 512(%rdx){1to16}, %zmm28, %zmm10
+// CHECK: encoding: [0x62,0x72,0x1d,0x50,0x76,0x92,0x00,0x02,0x00,0x00]
+ vpermi2d 512(%rdx){1to16}, %zmm28, %zmm10
+
+// CHECK: vpermi2d -512(%rdx){1to16}, %zmm28, %zmm10
+// CHECK: encoding: [0x62,0x72,0x1d,0x50,0x76,0x52,0x80]
+ vpermi2d -512(%rdx){1to16}, %zmm28, %zmm10
+
+// CHECK: vpermi2d -516(%rdx){1to16}, %zmm28, %zmm10
+// CHECK: encoding: [0x62,0x72,0x1d,0x50,0x76,0x92,0xfc,0xfd,0xff,0xff]
+ vpermi2d -516(%rdx){1to16}, %zmm28, %zmm10
+
+// CHECK: vpermi2q %zmm28, %zmm28, %zmm18
+// CHECK: encoding: [0x62,0x82,0x9d,0x40,0x76,0xd4]
+ vpermi2q %zmm28, %zmm28, %zmm18
+
+// CHECK: vpermi2q %zmm28, %zmm28, %zmm18 {%k2}
+// CHECK: encoding: [0x62,0x82,0x9d,0x42,0x76,0xd4]
+ vpermi2q %zmm28, %zmm28, %zmm18 {%k2}
+
+// CHECK: vpermi2q %zmm28, %zmm28, %zmm18 {%k2} {z}
+// CHECK: encoding: [0x62,0x82,0x9d,0xc2,0x76,0xd4]
+ vpermi2q %zmm28, %zmm28, %zmm18 {%k2} {z}
+
+// CHECK: vpermi2q (%rcx), %zmm28, %zmm18
+// CHECK: encoding: [0x62,0xe2,0x9d,0x40,0x76,0x11]
+ vpermi2q (%rcx), %zmm28, %zmm18
+
+// CHECK: vpermi2q 291(%rax,%r14,8), %zmm28, %zmm18
+// CHECK: encoding: [0x62,0xa2,0x9d,0x40,0x76,0x94,0xf0,0x23,0x01,0x00,0x00]
+ vpermi2q 291(%rax,%r14,8), %zmm28, %zmm18
+
+// CHECK: vpermi2q (%rcx){1to8}, %zmm28, %zmm18
+// CHECK: encoding: [0x62,0xe2,0x9d,0x50,0x76,0x11]
+ vpermi2q (%rcx){1to8}, %zmm28, %zmm18
+
+// CHECK: vpermi2q 8128(%rdx), %zmm28, %zmm18
+// CHECK: encoding: [0x62,0xe2,0x9d,0x40,0x76,0x52,0x7f]
+ vpermi2q 8128(%rdx), %zmm28, %zmm18
+
+// CHECK: vpermi2q 8192(%rdx), %zmm28, %zmm18
+// CHECK: encoding: [0x62,0xe2,0x9d,0x40,0x76,0x92,0x00,0x20,0x00,0x00]
+ vpermi2q 8192(%rdx), %zmm28, %zmm18
+
+// CHECK: vpermi2q -8192(%rdx), %zmm28, %zmm18
+// CHECK: encoding: [0x62,0xe2,0x9d,0x40,0x76,0x52,0x80]
+ vpermi2q -8192(%rdx), %zmm28, %zmm18
+
+// CHECK: vpermi2q -8256(%rdx), %zmm28, %zmm18
+// CHECK: encoding: [0x62,0xe2,0x9d,0x40,0x76,0x92,0xc0,0xdf,0xff,0xff]
+ vpermi2q -8256(%rdx), %zmm28, %zmm18
+
+// CHECK: vpermi2q 1016(%rdx){1to8}, %zmm28, %zmm18
+// CHECK: encoding: [0x62,0xe2,0x9d,0x50,0x76,0x52,0x7f]
+ vpermi2q 1016(%rdx){1to8}, %zmm28, %zmm18
+
+// CHECK: vpermi2q 1024(%rdx){1to8}, %zmm28, %zmm18
+// CHECK: encoding: [0x62,0xe2,0x9d,0x50,0x76,0x92,0x00,0x04,0x00,0x00]
+ vpermi2q 1024(%rdx){1to8}, %zmm28, %zmm18
+
+// CHECK: vpermi2q -1024(%rdx){1to8}, %zmm28, %zmm18
+// CHECK: encoding: [0x62,0xe2,0x9d,0x50,0x76,0x52,0x80]
+ vpermi2q -1024(%rdx){1to8}, %zmm28, %zmm18
+
+// CHECK: vpermi2q -1032(%rdx){1to8}, %zmm28, %zmm18
+// CHECK: encoding: [0x62,0xe2,0x9d,0x50,0x76,0x92,0xf8,0xfb,0xff,0xff]
+ vpermi2q -1032(%rdx){1to8}, %zmm28, %zmm18
+
+// CHECK: vpermi2ps %zmm8, %zmm23, %zmm24
+// CHECK: encoding: [0x62,0x42,0x45,0x40,0x77,0xc0]
+ vpermi2ps %zmm8, %zmm23, %zmm24
+
+// CHECK: vpermi2ps %zmm8, %zmm23, %zmm24 {%k2}
+// CHECK: encoding: [0x62,0x42,0x45,0x42,0x77,0xc0]
+ vpermi2ps %zmm8, %zmm23, %zmm24 {%k2}
+
+// CHECK: vpermi2ps %zmm8, %zmm23, %zmm24 {%k2} {z}
+// CHECK: encoding: [0x62,0x42,0x45,0xc2,0x77,0xc0]
+ vpermi2ps %zmm8, %zmm23, %zmm24 {%k2} {z}
+
+// CHECK: vpermi2ps (%rcx), %zmm23, %zmm24
+// CHECK: encoding: [0x62,0x62,0x45,0x40,0x77,0x01]
+ vpermi2ps (%rcx), %zmm23, %zmm24
+
+// CHECK: vpermi2ps 291(%rax,%r14,8), %zmm23, %zmm24
+// CHECK: encoding: [0x62,0x22,0x45,0x40,0x77,0x84,0xf0,0x23,0x01,0x00,0x00]
+ vpermi2ps 291(%rax,%r14,8), %zmm23, %zmm24
+
+// CHECK: vpermi2ps (%rcx){1to16}, %zmm23, %zmm24
+// CHECK: encoding: [0x62,0x62,0x45,0x50,0x77,0x01]
+ vpermi2ps (%rcx){1to16}, %zmm23, %zmm24
+
+// CHECK: vpermi2ps 8128(%rdx), %zmm23, %zmm24
+// CHECK: encoding: [0x62,0x62,0x45,0x40,0x77,0x42,0x7f]
+ vpermi2ps 8128(%rdx), %zmm23, %zmm24
+
+// CHECK: vpermi2ps 8192(%rdx), %zmm23, %zmm24
+// CHECK: encoding: [0x62,0x62,0x45,0x40,0x77,0x82,0x00,0x20,0x00,0x00]
+ vpermi2ps 8192(%rdx), %zmm23, %zmm24
+
+// CHECK: vpermi2ps -8192(%rdx), %zmm23, %zmm24
+// CHECK: encoding: [0x62,0x62,0x45,0x40,0x77,0x42,0x80]
+ vpermi2ps -8192(%rdx), %zmm23, %zmm24
+
+// CHECK: vpermi2ps -8256(%rdx), %zmm23, %zmm24
+// CHECK: encoding: [0x62,0x62,0x45,0x40,0x77,0x82,0xc0,0xdf,0xff,0xff]
+ vpermi2ps -8256(%rdx), %zmm23, %zmm24
+
+// CHECK: vpermi2ps 508(%rdx){1to16}, %zmm23, %zmm24
+// CHECK: encoding: [0x62,0x62,0x45,0x50,0x77,0x42,0x7f]
+ vpermi2ps 508(%rdx){1to16}, %zmm23, %zmm24
+
+// CHECK: vpermi2ps 512(%rdx){1to16}, %zmm23, %zmm24
+// CHECK: encoding: [0x62,0x62,0x45,0x50,0x77,0x82,0x00,0x02,0x00,0x00]
+ vpermi2ps 512(%rdx){1to16}, %zmm23, %zmm24
+
+// CHECK: vpermi2ps -512(%rdx){1to16}, %zmm23, %zmm24
+// CHECK: encoding: [0x62,0x62,0x45,0x50,0x77,0x42,0x80]
+ vpermi2ps -512(%rdx){1to16}, %zmm23, %zmm24
+
+// CHECK: vpermi2ps -516(%rdx){1to16}, %zmm23, %zmm24
+// CHECK: encoding: [0x62,0x62,0x45,0x50,0x77,0x82,0xfc,0xfd,0xff,0xff]
+ vpermi2ps -516(%rdx){1to16}, %zmm23, %zmm24
+
+// CHECK: vpermi2pd %zmm20, %zmm5, %zmm20
+// CHECK: encoding: [0x62,0xa2,0xd5,0x48,0x77,0xe4]
+ vpermi2pd %zmm20, %zmm5, %zmm20
+
+// CHECK: vpermi2pd %zmm20, %zmm5, %zmm20 {%k3}
+// CHECK: encoding: [0x62,0xa2,0xd5,0x4b,0x77,0xe4]
+ vpermi2pd %zmm20, %zmm5, %zmm20 {%k3}
+
+// CHECK: vpermi2pd %zmm20, %zmm5, %zmm20 {%k3} {z}
+// CHECK: encoding: [0x62,0xa2,0xd5,0xcb,0x77,0xe4]
+ vpermi2pd %zmm20, %zmm5, %zmm20 {%k3} {z}
+
+// CHECK: vpermi2pd (%rcx), %zmm5, %zmm20
+// CHECK: encoding: [0x62,0xe2,0xd5,0x48,0x77,0x21]
+ vpermi2pd (%rcx), %zmm5, %zmm20
+
+// CHECK: vpermi2pd 291(%rax,%r14,8), %zmm5, %zmm20
+// CHECK: encoding: [0x62,0xa2,0xd5,0x48,0x77,0xa4,0xf0,0x23,0x01,0x00,0x00]
+ vpermi2pd 291(%rax,%r14,8), %zmm5, %zmm20
+
+// CHECK: vpermi2pd (%rcx){1to8}, %zmm5, %zmm20
+// CHECK: encoding: [0x62,0xe2,0xd5,0x58,0x77,0x21]
+ vpermi2pd (%rcx){1to8}, %zmm5, %zmm20
+
+// CHECK: vpermi2pd 8128(%rdx), %zmm5, %zmm20
+// CHECK: encoding: [0x62,0xe2,0xd5,0x48,0x77,0x62,0x7f]
+ vpermi2pd 8128(%rdx), %zmm5, %zmm20
+
+// CHECK: vpermi2pd 8192(%rdx), %zmm5, %zmm20
+// CHECK: encoding: [0x62,0xe2,0xd5,0x48,0x77,0xa2,0x00,0x20,0x00,0x00]
+ vpermi2pd 8192(%rdx), %zmm5, %zmm20
+
+// CHECK: vpermi2pd -8192(%rdx), %zmm5, %zmm20
+// CHECK: encoding: [0x62,0xe2,0xd5,0x48,0x77,0x62,0x80]
+ vpermi2pd -8192(%rdx), %zmm5, %zmm20
+
+// CHECK: vpermi2pd -8256(%rdx), %zmm5, %zmm20
+// CHECK: encoding: [0x62,0xe2,0xd5,0x48,0x77,0xa2,0xc0,0xdf,0xff,0xff]
+ vpermi2pd -8256(%rdx), %zmm5, %zmm20
+
+// CHECK: vpermi2pd 1016(%rdx){1to8}, %zmm5, %zmm20
+// CHECK: encoding: [0x62,0xe2,0xd5,0x58,0x77,0x62,0x7f]
+ vpermi2pd 1016(%rdx){1to8}, %zmm5, %zmm20
+
+// CHECK: vpermi2pd 1024(%rdx){1to8}, %zmm5, %zmm20
+// CHECK: encoding: [0x62,0xe2,0xd5,0x58,0x77,0xa2,0x00,0x04,0x00,0x00]
+ vpermi2pd 1024(%rdx){1to8}, %zmm5, %zmm20
+
+// CHECK: vpermi2pd -1024(%rdx){1to8}, %zmm5, %zmm20
+// CHECK: encoding: [0x62,0xe2,0xd5,0x58,0x77,0x62,0x80]
+ vpermi2pd -1024(%rdx){1to8}, %zmm5, %zmm20
+
+// CHECK: vpermi2pd -1032(%rdx){1to8}, %zmm5, %zmm20
+// CHECK: encoding: [0x62,0xe2,0xd5,0x58,0x77,0xa2,0xf8,0xfb,0xff,0xff]
+ vpermi2pd -1032(%rdx){1to8}, %zmm5, %zmm20