diff options
Diffstat (limited to 'test/MC/X86/x86-64-avx512f_vl.s')
-rw-r--r-- | test/MC/X86/x86-64-avx512f_vl.s | 896 |
1 files changed, 896 insertions, 0 deletions
diff --git a/test/MC/X86/x86-64-avx512f_vl.s b/test/MC/X86/x86-64-avx512f_vl.s index f521b3e42d44..1381b2e76e18 100644 --- a/test/MC/X86/x86-64-avx512f_vl.s +++ b/test/MC/X86/x86-64-avx512f_vl.s @@ -11132,3 +11132,899 @@ vaddpd {rz-sae}, %zmm2, %zmm1, %zmm1 // CHECK: valignq $123, -1032(%rdx){1to4}, %ymm24, %ymm25 // CHECK: encoding: [0x62,0x63,0xbd,0x30,0x03,0x8a,0xf8,0xfb,0xff,0xff,0x7b] valignq $0x7b, -1032(%rdx){1to4}, %ymm24, %ymm25 + +// CHECK: vpermi2d %xmm25, %xmm23, %xmm21 +// CHECK: encoding: [0x62,0x82,0x45,0x00,0x76,0xe9] + vpermi2d %xmm25, %xmm23, %xmm21 + +// CHECK: vpermi2d %xmm25, %xmm23, %xmm21 {%k6} +// CHECK: encoding: [0x62,0x82,0x45,0x06,0x76,0xe9] + vpermi2d %xmm25, %xmm23, %xmm21 {%k6} + +// CHECK: vpermi2d %xmm25, %xmm23, %xmm21 {%k6} {z} +// CHECK: encoding: [0x62,0x82,0x45,0x86,0x76,0xe9] + vpermi2d %xmm25, %xmm23, %xmm21 {%k6} {z} + +// CHECK: vpermi2d (%rcx), %xmm23, %xmm21 +// CHECK: encoding: [0x62,0xe2,0x45,0x00,0x76,0x29] + vpermi2d (%rcx), %xmm23, %xmm21 + +// CHECK: vpermi2d 291(%rax,%r14,8), %xmm23, %xmm21 +// CHECK: encoding: [0x62,0xa2,0x45,0x00,0x76,0xac,0xf0,0x23,0x01,0x00,0x00] + vpermi2d 291(%rax,%r14,8), %xmm23, %xmm21 + +// CHECK: vpermi2d (%rcx){1to4}, %xmm23, %xmm21 +// CHECK: encoding: [0x62,0xe2,0x45,0x10,0x76,0x29] + vpermi2d (%rcx){1to4}, %xmm23, %xmm21 + +// CHECK: vpermi2d 2032(%rdx), %xmm23, %xmm21 +// CHECK: encoding: [0x62,0xe2,0x45,0x00,0x76,0x6a,0x7f] + vpermi2d 2032(%rdx), %xmm23, %xmm21 + +// CHECK: vpermi2d 2048(%rdx), %xmm23, %xmm21 +// CHECK: encoding: [0x62,0xe2,0x45,0x00,0x76,0xaa,0x00,0x08,0x00,0x00] + vpermi2d 2048(%rdx), %xmm23, %xmm21 + +// CHECK: vpermi2d -2048(%rdx), %xmm23, %xmm21 +// CHECK: encoding: [0x62,0xe2,0x45,0x00,0x76,0x6a,0x80] + vpermi2d -2048(%rdx), %xmm23, %xmm21 + +// CHECK: vpermi2d -2064(%rdx), %xmm23, %xmm21 +// CHECK: encoding: [0x62,0xe2,0x45,0x00,0x76,0xaa,0xf0,0xf7,0xff,0xff] + vpermi2d -2064(%rdx), %xmm23, %xmm21 + +// CHECK: vpermi2d 508(%rdx){1to4}, %xmm23, %xmm21 +// CHECK: encoding: [0x62,0xe2,0x45,0x10,0x76,0x6a,0x7f] + vpermi2d 508(%rdx){1to4}, %xmm23, %xmm21 + +// CHECK: vpermi2d 512(%rdx){1to4}, %xmm23, %xmm21 +// CHECK: encoding: [0x62,0xe2,0x45,0x10,0x76,0xaa,0x00,0x02,0x00,0x00] + vpermi2d 512(%rdx){1to4}, %xmm23, %xmm21 + +// CHECK: vpermi2d -512(%rdx){1to4}, %xmm23, %xmm21 +// CHECK: encoding: [0x62,0xe2,0x45,0x10,0x76,0x6a,0x80] + vpermi2d -512(%rdx){1to4}, %xmm23, %xmm21 + +// CHECK: vpermi2d -516(%rdx){1to4}, %xmm23, %xmm21 +// CHECK: encoding: [0x62,0xe2,0x45,0x10,0x76,0xaa,0xfc,0xfd,0xff,0xff] + vpermi2d -516(%rdx){1to4}, %xmm23, %xmm21 + +// CHECK: vpermi2d %ymm22, %ymm24, %ymm18 +// CHECK: encoding: [0x62,0xa2,0x3d,0x20,0x76,0xd6] + vpermi2d %ymm22, %ymm24, %ymm18 + +// CHECK: vpermi2d %ymm22, %ymm24, %ymm18 {%k1} +// CHECK: encoding: [0x62,0xa2,0x3d,0x21,0x76,0xd6] + vpermi2d %ymm22, %ymm24, %ymm18 {%k1} + +// CHECK: vpermi2d %ymm22, %ymm24, %ymm18 {%k1} {z} +// CHECK: encoding: [0x62,0xa2,0x3d,0xa1,0x76,0xd6] + vpermi2d %ymm22, %ymm24, %ymm18 {%k1} {z} + +// CHECK: vpermi2d (%rcx), %ymm24, %ymm18 +// CHECK: encoding: [0x62,0xe2,0x3d,0x20,0x76,0x11] + vpermi2d (%rcx), %ymm24, %ymm18 + +// CHECK: vpermi2d 291(%rax,%r14,8), %ymm24, %ymm18 +// CHECK: encoding: [0x62,0xa2,0x3d,0x20,0x76,0x94,0xf0,0x23,0x01,0x00,0x00] + vpermi2d 291(%rax,%r14,8), %ymm24, %ymm18 + +// CHECK: vpermi2d (%rcx){1to8}, %ymm24, %ymm18 +// CHECK: encoding: [0x62,0xe2,0x3d,0x30,0x76,0x11] + vpermi2d (%rcx){1to8}, %ymm24, %ymm18 + +// CHECK: vpermi2d 4064(%rdx), %ymm24, %ymm18 +// CHECK: encoding: [0x62,0xe2,0x3d,0x20,0x76,0x52,0x7f] + vpermi2d 4064(%rdx), %ymm24, %ymm18 + +// CHECK: vpermi2d 4096(%rdx), %ymm24, %ymm18 +// CHECK: encoding: [0x62,0xe2,0x3d,0x20,0x76,0x92,0x00,0x10,0x00,0x00] + vpermi2d 4096(%rdx), %ymm24, %ymm18 + +// CHECK: vpermi2d -4096(%rdx), %ymm24, %ymm18 +// CHECK: encoding: [0x62,0xe2,0x3d,0x20,0x76,0x52,0x80] + vpermi2d -4096(%rdx), %ymm24, %ymm18 + +// CHECK: vpermi2d -4128(%rdx), %ymm24, %ymm18 +// CHECK: encoding: [0x62,0xe2,0x3d,0x20,0x76,0x92,0xe0,0xef,0xff,0xff] + vpermi2d -4128(%rdx), %ymm24, %ymm18 + +// CHECK: vpermi2d 508(%rdx){1to8}, %ymm24, %ymm18 +// CHECK: encoding: [0x62,0xe2,0x3d,0x30,0x76,0x52,0x7f] + vpermi2d 508(%rdx){1to8}, %ymm24, %ymm18 + +// CHECK: vpermi2d 512(%rdx){1to8}, %ymm24, %ymm18 +// CHECK: encoding: [0x62,0xe2,0x3d,0x30,0x76,0x92,0x00,0x02,0x00,0x00] + vpermi2d 512(%rdx){1to8}, %ymm24, %ymm18 + +// CHECK: vpermi2d -512(%rdx){1to8}, %ymm24, %ymm18 +// CHECK: encoding: [0x62,0xe2,0x3d,0x30,0x76,0x52,0x80] + vpermi2d -512(%rdx){1to8}, %ymm24, %ymm18 + +// CHECK: vpermi2d -516(%rdx){1to8}, %ymm24, %ymm18 +// CHECK: encoding: [0x62,0xe2,0x3d,0x30,0x76,0x92,0xfc,0xfd,0xff,0xff] + vpermi2d -516(%rdx){1to8}, %ymm24, %ymm18 + +// CHECK: vpermi2q %xmm17, %xmm28, %xmm18 +// CHECK: encoding: [0x62,0xa2,0x9d,0x00,0x76,0xd1] + vpermi2q %xmm17, %xmm28, %xmm18 + +// CHECK: vpermi2q %xmm17, %xmm28, %xmm18 {%k3} +// CHECK: encoding: [0x62,0xa2,0x9d,0x03,0x76,0xd1] + vpermi2q %xmm17, %xmm28, %xmm18 {%k3} + +// CHECK: vpermi2q %xmm17, %xmm28, %xmm18 {%k3} {z} +// CHECK: encoding: [0x62,0xa2,0x9d,0x83,0x76,0xd1] + vpermi2q %xmm17, %xmm28, %xmm18 {%k3} {z} + +// CHECK: vpermi2q (%rcx), %xmm28, %xmm18 +// CHECK: encoding: [0x62,0xe2,0x9d,0x00,0x76,0x11] + vpermi2q (%rcx), %xmm28, %xmm18 + +// CHECK: vpermi2q 291(%rax,%r14,8), %xmm28, %xmm18 +// CHECK: encoding: [0x62,0xa2,0x9d,0x00,0x76,0x94,0xf0,0x23,0x01,0x00,0x00] + vpermi2q 291(%rax,%r14,8), %xmm28, %xmm18 + +// CHECK: vpermi2q (%rcx){1to2}, %xmm28, %xmm18 +// CHECK: encoding: [0x62,0xe2,0x9d,0x10,0x76,0x11] + vpermi2q (%rcx){1to2}, %xmm28, %xmm18 + +// CHECK: vpermi2q 2032(%rdx), %xmm28, %xmm18 +// CHECK: encoding: [0x62,0xe2,0x9d,0x00,0x76,0x52,0x7f] + vpermi2q 2032(%rdx), %xmm28, %xmm18 + +// CHECK: vpermi2q 2048(%rdx), %xmm28, %xmm18 +// CHECK: encoding: [0x62,0xe2,0x9d,0x00,0x76,0x92,0x00,0x08,0x00,0x00] + vpermi2q 2048(%rdx), %xmm28, %xmm18 + +// CHECK: vpermi2q -2048(%rdx), %xmm28, %xmm18 +// CHECK: encoding: [0x62,0xe2,0x9d,0x00,0x76,0x52,0x80] + vpermi2q -2048(%rdx), %xmm28, %xmm18 + +// CHECK: vpermi2q -2064(%rdx), %xmm28, %xmm18 +// CHECK: encoding: [0x62,0xe2,0x9d,0x00,0x76,0x92,0xf0,0xf7,0xff,0xff] + vpermi2q -2064(%rdx), %xmm28, %xmm18 + +// CHECK: vpermi2q 1016(%rdx){1to2}, %xmm28, %xmm18 +// CHECK: encoding: [0x62,0xe2,0x9d,0x10,0x76,0x52,0x7f] + vpermi2q 1016(%rdx){1to2}, %xmm28, %xmm18 + +// CHECK: vpermi2q 1024(%rdx){1to2}, %xmm28, %xmm18 +// CHECK: encoding: [0x62,0xe2,0x9d,0x10,0x76,0x92,0x00,0x04,0x00,0x00] + vpermi2q 1024(%rdx){1to2}, %xmm28, %xmm18 + +// CHECK: vpermi2q -1024(%rdx){1to2}, %xmm28, %xmm18 +// CHECK: encoding: [0x62,0xe2,0x9d,0x10,0x76,0x52,0x80] + vpermi2q -1024(%rdx){1to2}, %xmm28, %xmm18 + +// CHECK: vpermi2q -1032(%rdx){1to2}, %xmm28, %xmm18 +// CHECK: encoding: [0x62,0xe2,0x9d,0x10,0x76,0x92,0xf8,0xfb,0xff,0xff] + vpermi2q -1032(%rdx){1to2}, %xmm28, %xmm18 + +// CHECK: vpermi2q %ymm23, %ymm22, %ymm26 +// CHECK: encoding: [0x62,0x22,0xcd,0x20,0x76,0xd7] + vpermi2q %ymm23, %ymm22, %ymm26 + +// CHECK: vpermi2q %ymm23, %ymm22, %ymm26 {%k2} +// CHECK: encoding: [0x62,0x22,0xcd,0x22,0x76,0xd7] + vpermi2q %ymm23, %ymm22, %ymm26 {%k2} + +// CHECK: vpermi2q %ymm23, %ymm22, %ymm26 {%k2} {z} +// CHECK: encoding: [0x62,0x22,0xcd,0xa2,0x76,0xd7] + vpermi2q %ymm23, %ymm22, %ymm26 {%k2} {z} + +// CHECK: vpermi2q (%rcx), %ymm22, %ymm26 +// CHECK: encoding: [0x62,0x62,0xcd,0x20,0x76,0x11] + vpermi2q (%rcx), %ymm22, %ymm26 + +// CHECK: vpermi2q 291(%rax,%r14,8), %ymm22, %ymm26 +// CHECK: encoding: [0x62,0x22,0xcd,0x20,0x76,0x94,0xf0,0x23,0x01,0x00,0x00] + vpermi2q 291(%rax,%r14,8), %ymm22, %ymm26 + +// CHECK: vpermi2q (%rcx){1to4}, %ymm22, %ymm26 +// CHECK: encoding: [0x62,0x62,0xcd,0x30,0x76,0x11] + vpermi2q (%rcx){1to4}, %ymm22, %ymm26 + +// CHECK: vpermi2q 4064(%rdx), %ymm22, %ymm26 +// CHECK: encoding: [0x62,0x62,0xcd,0x20,0x76,0x52,0x7f] + vpermi2q 4064(%rdx), %ymm22, %ymm26 + +// CHECK: vpermi2q 4096(%rdx), %ymm22, %ymm26 +// CHECK: encoding: [0x62,0x62,0xcd,0x20,0x76,0x92,0x00,0x10,0x00,0x00] + vpermi2q 4096(%rdx), %ymm22, %ymm26 + +// CHECK: vpermi2q -4096(%rdx), %ymm22, %ymm26 +// CHECK: encoding: [0x62,0x62,0xcd,0x20,0x76,0x52,0x80] + vpermi2q -4096(%rdx), %ymm22, %ymm26 + +// CHECK: vpermi2q -4128(%rdx), %ymm22, %ymm26 +// CHECK: encoding: [0x62,0x62,0xcd,0x20,0x76,0x92,0xe0,0xef,0xff,0xff] + vpermi2q -4128(%rdx), %ymm22, %ymm26 + +// CHECK: vpermi2q 1016(%rdx){1to4}, %ymm22, %ymm26 +// CHECK: encoding: [0x62,0x62,0xcd,0x30,0x76,0x52,0x7f] + vpermi2q 1016(%rdx){1to4}, %ymm22, %ymm26 + +// CHECK: vpermi2q 1024(%rdx){1to4}, %ymm22, %ymm26 +// CHECK: encoding: [0x62,0x62,0xcd,0x30,0x76,0x92,0x00,0x04,0x00,0x00] + vpermi2q 1024(%rdx){1to4}, %ymm22, %ymm26 + +// CHECK: vpermi2q -1024(%rdx){1to4}, %ymm22, %ymm26 +// CHECK: encoding: [0x62,0x62,0xcd,0x30,0x76,0x52,0x80] + vpermi2q -1024(%rdx){1to4}, %ymm22, %ymm26 + +// CHECK: vpermi2q -1032(%rdx){1to4}, %ymm22, %ymm26 +// CHECK: encoding: [0x62,0x62,0xcd,0x30,0x76,0x92,0xf8,0xfb,0xff,0xff] + vpermi2q -1032(%rdx){1to4}, %ymm22, %ymm26 + +// CHECK: vpermi2ps %xmm23, %xmm24, %xmm23 +// CHECK: encoding: [0x62,0xa2,0x3d,0x00,0x77,0xff] + vpermi2ps %xmm23, %xmm24, %xmm23 + +// CHECK: vpermi2ps %xmm23, %xmm24, %xmm23 {%k3} +// CHECK: encoding: [0x62,0xa2,0x3d,0x03,0x77,0xff] + vpermi2ps %xmm23, %xmm24, %xmm23 {%k3} + +// CHECK: vpermi2ps %xmm23, %xmm24, %xmm23 {%k3} {z} +// CHECK: encoding: [0x62,0xa2,0x3d,0x83,0x77,0xff] + vpermi2ps %xmm23, %xmm24, %xmm23 {%k3} {z} + +// CHECK: vpermi2ps (%rcx), %xmm24, %xmm23 +// CHECK: encoding: [0x62,0xe2,0x3d,0x00,0x77,0x39] + vpermi2ps (%rcx), %xmm24, %xmm23 + +// CHECK: vpermi2ps 291(%rax,%r14,8), %xmm24, %xmm23 +// CHECK: encoding: [0x62,0xa2,0x3d,0x00,0x77,0xbc,0xf0,0x23,0x01,0x00,0x00] + vpermi2ps 291(%rax,%r14,8), %xmm24, %xmm23 + +// CHECK: vpermi2ps (%rcx){1to4}, %xmm24, %xmm23 +// CHECK: encoding: [0x62,0xe2,0x3d,0x10,0x77,0x39] + vpermi2ps (%rcx){1to4}, %xmm24, %xmm23 + +// CHECK: vpermi2ps 2032(%rdx), %xmm24, %xmm23 +// CHECK: encoding: [0x62,0xe2,0x3d,0x00,0x77,0x7a,0x7f] + vpermi2ps 2032(%rdx), %xmm24, %xmm23 + +// CHECK: vpermi2ps 2048(%rdx), %xmm24, %xmm23 +// CHECK: encoding: [0x62,0xe2,0x3d,0x00,0x77,0xba,0x00,0x08,0x00,0x00] + vpermi2ps 2048(%rdx), %xmm24, %xmm23 + +// CHECK: vpermi2ps -2048(%rdx), %xmm24, %xmm23 +// CHECK: encoding: [0x62,0xe2,0x3d,0x00,0x77,0x7a,0x80] + vpermi2ps -2048(%rdx), %xmm24, %xmm23 + +// CHECK: vpermi2ps -2064(%rdx), %xmm24, %xmm23 +// CHECK: encoding: [0x62,0xe2,0x3d,0x00,0x77,0xba,0xf0,0xf7,0xff,0xff] + vpermi2ps -2064(%rdx), %xmm24, %xmm23 + +// CHECK: vpermi2ps 508(%rdx){1to4}, %xmm24, %xmm23 +// CHECK: encoding: [0x62,0xe2,0x3d,0x10,0x77,0x7a,0x7f] + vpermi2ps 508(%rdx){1to4}, %xmm24, %xmm23 + +// CHECK: vpermi2ps 512(%rdx){1to4}, %xmm24, %xmm23 +// CHECK: encoding: [0x62,0xe2,0x3d,0x10,0x77,0xba,0x00,0x02,0x00,0x00] + vpermi2ps 512(%rdx){1to4}, %xmm24, %xmm23 + +// CHECK: vpermi2ps -512(%rdx){1to4}, %xmm24, %xmm23 +// CHECK: encoding: [0x62,0xe2,0x3d,0x10,0x77,0x7a,0x80] + vpermi2ps -512(%rdx){1to4}, %xmm24, %xmm23 + +// CHECK: vpermi2ps -516(%rdx){1to4}, %xmm24, %xmm23 +// CHECK: encoding: [0x62,0xe2,0x3d,0x10,0x77,0xba,0xfc,0xfd,0xff,0xff] + vpermi2ps -516(%rdx){1to4}, %xmm24, %xmm23 + +// CHECK: vpermi2ps %ymm20, %ymm24, %ymm18 +// CHECK: encoding: [0x62,0xa2,0x3d,0x20,0x77,0xd4] + vpermi2ps %ymm20, %ymm24, %ymm18 + +// CHECK: vpermi2ps %ymm20, %ymm24, %ymm18 {%k5} +// CHECK: encoding: [0x62,0xa2,0x3d,0x25,0x77,0xd4] + vpermi2ps %ymm20, %ymm24, %ymm18 {%k5} + +// CHECK: vpermi2ps %ymm20, %ymm24, %ymm18 {%k5} {z} +// CHECK: encoding: [0x62,0xa2,0x3d,0xa5,0x77,0xd4] + vpermi2ps %ymm20, %ymm24, %ymm18 {%k5} {z} + +// CHECK: vpermi2ps (%rcx), %ymm24, %ymm18 +// CHECK: encoding: [0x62,0xe2,0x3d,0x20,0x77,0x11] + vpermi2ps (%rcx), %ymm24, %ymm18 + +// CHECK: vpermi2ps 291(%rax,%r14,8), %ymm24, %ymm18 +// CHECK: encoding: [0x62,0xa2,0x3d,0x20,0x77,0x94,0xf0,0x23,0x01,0x00,0x00] + vpermi2ps 291(%rax,%r14,8), %ymm24, %ymm18 + +// CHECK: vpermi2ps (%rcx){1to8}, %ymm24, %ymm18 +// CHECK: encoding: [0x62,0xe2,0x3d,0x30,0x77,0x11] + vpermi2ps (%rcx){1to8}, %ymm24, %ymm18 + +// CHECK: vpermi2ps 4064(%rdx), %ymm24, %ymm18 +// CHECK: encoding: [0x62,0xe2,0x3d,0x20,0x77,0x52,0x7f] + vpermi2ps 4064(%rdx), %ymm24, %ymm18 + +// CHECK: vpermi2ps 4096(%rdx), %ymm24, %ymm18 +// CHECK: encoding: [0x62,0xe2,0x3d,0x20,0x77,0x92,0x00,0x10,0x00,0x00] + vpermi2ps 4096(%rdx), %ymm24, %ymm18 + +// CHECK: vpermi2ps -4096(%rdx), %ymm24, %ymm18 +// CHECK: encoding: [0x62,0xe2,0x3d,0x20,0x77,0x52,0x80] + vpermi2ps -4096(%rdx), %ymm24, %ymm18 + +// CHECK: vpermi2ps -4128(%rdx), %ymm24, %ymm18 +// CHECK: encoding: [0x62,0xe2,0x3d,0x20,0x77,0x92,0xe0,0xef,0xff,0xff] + vpermi2ps -4128(%rdx), %ymm24, %ymm18 + +// CHECK: vpermi2ps 508(%rdx){1to8}, %ymm24, %ymm18 +// CHECK: encoding: [0x62,0xe2,0x3d,0x30,0x77,0x52,0x7f] + vpermi2ps 508(%rdx){1to8}, %ymm24, %ymm18 + +// CHECK: vpermi2ps 512(%rdx){1to8}, %ymm24, %ymm18 +// CHECK: encoding: [0x62,0xe2,0x3d,0x30,0x77,0x92,0x00,0x02,0x00,0x00] + vpermi2ps 512(%rdx){1to8}, %ymm24, %ymm18 + +// CHECK: vpermi2ps -512(%rdx){1to8}, %ymm24, %ymm18 +// CHECK: encoding: [0x62,0xe2,0x3d,0x30,0x77,0x52,0x80] + vpermi2ps -512(%rdx){1to8}, %ymm24, %ymm18 + +// CHECK: vpermi2ps -516(%rdx){1to8}, %ymm24, %ymm18 +// CHECK: encoding: [0x62,0xe2,0x3d,0x30,0x77,0x92,0xfc,0xfd,0xff,0xff] + vpermi2ps -516(%rdx){1to8}, %ymm24, %ymm18 + +// CHECK: vpermi2pd %xmm27, %xmm17, %xmm28 +// CHECK: encoding: [0x62,0x02,0xf5,0x00,0x77,0xe3] + vpermi2pd %xmm27, %xmm17, %xmm28 + +// CHECK: vpermi2pd %xmm27, %xmm17, %xmm28 {%k4} +// CHECK: encoding: [0x62,0x02,0xf5,0x04,0x77,0xe3] + vpermi2pd %xmm27, %xmm17, %xmm28 {%k4} + +// CHECK: vpermi2pd %xmm27, %xmm17, %xmm28 {%k4} {z} +// CHECK: encoding: [0x62,0x02,0xf5,0x84,0x77,0xe3] + vpermi2pd %xmm27, %xmm17, %xmm28 {%k4} {z} + +// CHECK: vpermi2pd (%rcx), %xmm17, %xmm28 +// CHECK: encoding: [0x62,0x62,0xf5,0x00,0x77,0x21] + vpermi2pd (%rcx), %xmm17, %xmm28 + +// CHECK: vpermi2pd 291(%rax,%r14,8), %xmm17, %xmm28 +// CHECK: encoding: [0x62,0x22,0xf5,0x00,0x77,0xa4,0xf0,0x23,0x01,0x00,0x00] + vpermi2pd 291(%rax,%r14,8), %xmm17, %xmm28 + +// CHECK: vpermi2pd (%rcx){1to2}, %xmm17, %xmm28 +// CHECK: encoding: [0x62,0x62,0xf5,0x10,0x77,0x21] + vpermi2pd (%rcx){1to2}, %xmm17, %xmm28 + +// CHECK: vpermi2pd 2032(%rdx), %xmm17, %xmm28 +// CHECK: encoding: [0x62,0x62,0xf5,0x00,0x77,0x62,0x7f] + vpermi2pd 2032(%rdx), %xmm17, %xmm28 + +// CHECK: vpermi2pd 2048(%rdx), %xmm17, %xmm28 +// CHECK: encoding: [0x62,0x62,0xf5,0x00,0x77,0xa2,0x00,0x08,0x00,0x00] + vpermi2pd 2048(%rdx), %xmm17, %xmm28 + +// CHECK: vpermi2pd -2048(%rdx), %xmm17, %xmm28 +// CHECK: encoding: [0x62,0x62,0xf5,0x00,0x77,0x62,0x80] + vpermi2pd -2048(%rdx), %xmm17, %xmm28 + +// CHECK: vpermi2pd -2064(%rdx), %xmm17, %xmm28 +// CHECK: encoding: [0x62,0x62,0xf5,0x00,0x77,0xa2,0xf0,0xf7,0xff,0xff] + vpermi2pd -2064(%rdx), %xmm17, %xmm28 + +// CHECK: vpermi2pd 1016(%rdx){1to2}, %xmm17, %xmm28 +// CHECK: encoding: [0x62,0x62,0xf5,0x10,0x77,0x62,0x7f] + vpermi2pd 1016(%rdx){1to2}, %xmm17, %xmm28 + +// CHECK: vpermi2pd 1024(%rdx){1to2}, %xmm17, %xmm28 +// CHECK: encoding: [0x62,0x62,0xf5,0x10,0x77,0xa2,0x00,0x04,0x00,0x00] + vpermi2pd 1024(%rdx){1to2}, %xmm17, %xmm28 + +// CHECK: vpermi2pd -1024(%rdx){1to2}, %xmm17, %xmm28 +// CHECK: encoding: [0x62,0x62,0xf5,0x10,0x77,0x62,0x80] + vpermi2pd -1024(%rdx){1to2}, %xmm17, %xmm28 + +// CHECK: vpermi2pd -1032(%rdx){1to2}, %xmm17, %xmm28 +// CHECK: encoding: [0x62,0x62,0xf5,0x10,0x77,0xa2,0xf8,0xfb,0xff,0xff] + vpermi2pd -1032(%rdx){1to2}, %xmm17, %xmm28 + +// CHECK: vpermi2pd %ymm27, %ymm19, %ymm30 +// CHECK: encoding: [0x62,0x02,0xe5,0x20,0x77,0xf3] + vpermi2pd %ymm27, %ymm19, %ymm30 + +// CHECK: vpermi2pd %ymm27, %ymm19, %ymm30 {%k3} +// CHECK: encoding: [0x62,0x02,0xe5,0x23,0x77,0xf3] + vpermi2pd %ymm27, %ymm19, %ymm30 {%k3} + +// CHECK: vpermi2pd %ymm27, %ymm19, %ymm30 {%k3} {z} +// CHECK: encoding: [0x62,0x02,0xe5,0xa3,0x77,0xf3] + vpermi2pd %ymm27, %ymm19, %ymm30 {%k3} {z} + +// CHECK: vpermi2pd (%rcx), %ymm19, %ymm30 +// CHECK: encoding: [0x62,0x62,0xe5,0x20,0x77,0x31] + vpermi2pd (%rcx), %ymm19, %ymm30 + +// CHECK: vpermi2pd 291(%rax,%r14,8), %ymm19, %ymm30 +// CHECK: encoding: [0x62,0x22,0xe5,0x20,0x77,0xb4,0xf0,0x23,0x01,0x00,0x00] + vpermi2pd 291(%rax,%r14,8), %ymm19, %ymm30 + +// CHECK: vpermi2pd (%rcx){1to4}, %ymm19, %ymm30 +// CHECK: encoding: [0x62,0x62,0xe5,0x30,0x77,0x31] + vpermi2pd (%rcx){1to4}, %ymm19, %ymm30 + +// CHECK: vpermi2pd 4064(%rdx), %ymm19, %ymm30 +// CHECK: encoding: [0x62,0x62,0xe5,0x20,0x77,0x72,0x7f] + vpermi2pd 4064(%rdx), %ymm19, %ymm30 + +// CHECK: vpermi2pd 4096(%rdx), %ymm19, %ymm30 +// CHECK: encoding: [0x62,0x62,0xe5,0x20,0x77,0xb2,0x00,0x10,0x00,0x00] + vpermi2pd 4096(%rdx), %ymm19, %ymm30 + +// CHECK: vpermi2pd -4096(%rdx), %ymm19, %ymm30 +// CHECK: encoding: [0x62,0x62,0xe5,0x20,0x77,0x72,0x80] + vpermi2pd -4096(%rdx), %ymm19, %ymm30 + +// CHECK: vpermi2pd -4128(%rdx), %ymm19, %ymm30 +// CHECK: encoding: [0x62,0x62,0xe5,0x20,0x77,0xb2,0xe0,0xef,0xff,0xff] + vpermi2pd -4128(%rdx), %ymm19, %ymm30 + +// CHECK: vpermi2pd 1016(%rdx){1to4}, %ymm19, %ymm30 +// CHECK: encoding: [0x62,0x62,0xe5,0x30,0x77,0x72,0x7f] + vpermi2pd 1016(%rdx){1to4}, %ymm19, %ymm30 + +// CHECK: vpermi2pd 1024(%rdx){1to4}, %ymm19, %ymm30 +// CHECK: encoding: [0x62,0x62,0xe5,0x30,0x77,0xb2,0x00,0x04,0x00,0x00] + vpermi2pd 1024(%rdx){1to4}, %ymm19, %ymm30 + +// CHECK: vpermi2pd -1024(%rdx){1to4}, %ymm19, %ymm30 +// CHECK: encoding: [0x62,0x62,0xe5,0x30,0x77,0x72,0x80] + vpermi2pd -1024(%rdx){1to4}, %ymm19, %ymm30 + +// CHECK: vpermi2pd -1032(%rdx){1to4}, %ymm19, %ymm30 +// CHECK: encoding: [0x62,0x62,0xe5,0x30,0x77,0xb2,0xf8,0xfb,0xff,0xff] + vpermi2pd -1032(%rdx){1to4}, %ymm19, %ymm30 + +// CHECK: vpermt2d %xmm23, %xmm29, %xmm21 +// CHECK: encoding: [0x62,0xa2,0x15,0x00,0x7e,0xef] + vpermt2d %xmm23, %xmm29, %xmm21 + +// CHECK: vpermt2d %xmm23, %xmm29, %xmm21 {%k4} +// CHECK: encoding: [0x62,0xa2,0x15,0x04,0x7e,0xef] + vpermt2d %xmm23, %xmm29, %xmm21 {%k4} + +// CHECK: vpermt2d %xmm23, %xmm29, %xmm21 {%k4} {z} +// CHECK: encoding: [0x62,0xa2,0x15,0x84,0x7e,0xef] + vpermt2d %xmm23, %xmm29, %xmm21 {%k4} {z} + +// CHECK: vpermt2d (%rcx), %xmm29, %xmm21 +// CHECK: encoding: [0x62,0xe2,0x15,0x00,0x7e,0x29] + vpermt2d (%rcx), %xmm29, %xmm21 + +// CHECK: vpermt2d 291(%rax,%r14,8), %xmm29, %xmm21 +// CHECK: encoding: [0x62,0xa2,0x15,0x00,0x7e,0xac,0xf0,0x23,0x01,0x00,0x00] + vpermt2d 291(%rax,%r14,8), %xmm29, %xmm21 + +// CHECK: vpermt2d (%rcx){1to4}, %xmm29, %xmm21 +// CHECK: encoding: [0x62,0xe2,0x15,0x10,0x7e,0x29] + vpermt2d (%rcx){1to4}, %xmm29, %xmm21 + +// CHECK: vpermt2d 2032(%rdx), %xmm29, %xmm21 +// CHECK: encoding: [0x62,0xe2,0x15,0x00,0x7e,0x6a,0x7f] + vpermt2d 2032(%rdx), %xmm29, %xmm21 + +// CHECK: vpermt2d 2048(%rdx), %xmm29, %xmm21 +// CHECK: encoding: [0x62,0xe2,0x15,0x00,0x7e,0xaa,0x00,0x08,0x00,0x00] + vpermt2d 2048(%rdx), %xmm29, %xmm21 + +// CHECK: vpermt2d -2048(%rdx), %xmm29, %xmm21 +// CHECK: encoding: [0x62,0xe2,0x15,0x00,0x7e,0x6a,0x80] + vpermt2d -2048(%rdx), %xmm29, %xmm21 + +// CHECK: vpermt2d -2064(%rdx), %xmm29, %xmm21 +// CHECK: encoding: [0x62,0xe2,0x15,0x00,0x7e,0xaa,0xf0,0xf7,0xff,0xff] + vpermt2d -2064(%rdx), %xmm29, %xmm21 + +// CHECK: vpermt2d 508(%rdx){1to4}, %xmm29, %xmm21 +// CHECK: encoding: [0x62,0xe2,0x15,0x10,0x7e,0x6a,0x7f] + vpermt2d 508(%rdx){1to4}, %xmm29, %xmm21 + +// CHECK: vpermt2d 512(%rdx){1to4}, %xmm29, %xmm21 +// CHECK: encoding: [0x62,0xe2,0x15,0x10,0x7e,0xaa,0x00,0x02,0x00,0x00] + vpermt2d 512(%rdx){1to4}, %xmm29, %xmm21 + +// CHECK: vpermt2d -512(%rdx){1to4}, %xmm29, %xmm21 +// CHECK: encoding: [0x62,0xe2,0x15,0x10,0x7e,0x6a,0x80] + vpermt2d -512(%rdx){1to4}, %xmm29, %xmm21 + +// CHECK: vpermt2d -516(%rdx){1to4}, %xmm29, %xmm21 +// CHECK: encoding: [0x62,0xe2,0x15,0x10,0x7e,0xaa,0xfc,0xfd,0xff,0xff] + vpermt2d -516(%rdx){1to4}, %xmm29, %xmm21 + +// CHECK: vpermt2d %ymm21, %ymm26, %ymm22 +// CHECK: encoding: [0x62,0xa2,0x2d,0x20,0x7e,0xf5] + vpermt2d %ymm21, %ymm26, %ymm22 + +// CHECK: vpermt2d %ymm21, %ymm26, %ymm22 {%k2} +// CHECK: encoding: [0x62,0xa2,0x2d,0x22,0x7e,0xf5] + vpermt2d %ymm21, %ymm26, %ymm22 {%k2} + +// CHECK: vpermt2d %ymm21, %ymm26, %ymm22 {%k2} {z} +// CHECK: encoding: [0x62,0xa2,0x2d,0xa2,0x7e,0xf5] + vpermt2d %ymm21, %ymm26, %ymm22 {%k2} {z} + +// CHECK: vpermt2d (%rcx), %ymm26, %ymm22 +// CHECK: encoding: [0x62,0xe2,0x2d,0x20,0x7e,0x31] + vpermt2d (%rcx), %ymm26, %ymm22 + +// CHECK: vpermt2d 291(%rax,%r14,8), %ymm26, %ymm22 +// CHECK: encoding: [0x62,0xa2,0x2d,0x20,0x7e,0xb4,0xf0,0x23,0x01,0x00,0x00] + vpermt2d 291(%rax,%r14,8), %ymm26, %ymm22 + +// CHECK: vpermt2d (%rcx){1to8}, %ymm26, %ymm22 +// CHECK: encoding: [0x62,0xe2,0x2d,0x30,0x7e,0x31] + vpermt2d (%rcx){1to8}, %ymm26, %ymm22 + +// CHECK: vpermt2d 4064(%rdx), %ymm26, %ymm22 +// CHECK: encoding: [0x62,0xe2,0x2d,0x20,0x7e,0x72,0x7f] + vpermt2d 4064(%rdx), %ymm26, %ymm22 + +// CHECK: vpermt2d 4096(%rdx), %ymm26, %ymm22 +// CHECK: encoding: [0x62,0xe2,0x2d,0x20,0x7e,0xb2,0x00,0x10,0x00,0x00] + vpermt2d 4096(%rdx), %ymm26, %ymm22 + +// CHECK: vpermt2d -4096(%rdx), %ymm26, %ymm22 +// CHECK: encoding: [0x62,0xe2,0x2d,0x20,0x7e,0x72,0x80] + vpermt2d -4096(%rdx), %ymm26, %ymm22 + +// CHECK: vpermt2d -4128(%rdx), %ymm26, %ymm22 +// CHECK: encoding: [0x62,0xe2,0x2d,0x20,0x7e,0xb2,0xe0,0xef,0xff,0xff] + vpermt2d -4128(%rdx), %ymm26, %ymm22 + +// CHECK: vpermt2d 508(%rdx){1to8}, %ymm26, %ymm22 +// CHECK: encoding: [0x62,0xe2,0x2d,0x30,0x7e,0x72,0x7f] + vpermt2d 508(%rdx){1to8}, %ymm26, %ymm22 + +// CHECK: vpermt2d 512(%rdx){1to8}, %ymm26, %ymm22 +// CHECK: encoding: [0x62,0xe2,0x2d,0x30,0x7e,0xb2,0x00,0x02,0x00,0x00] + vpermt2d 512(%rdx){1to8}, %ymm26, %ymm22 + +// CHECK: vpermt2d -512(%rdx){1to8}, %ymm26, %ymm22 +// CHECK: encoding: [0x62,0xe2,0x2d,0x30,0x7e,0x72,0x80] + vpermt2d -512(%rdx){1to8}, %ymm26, %ymm22 + +// CHECK: vpermt2d -516(%rdx){1to8}, %ymm26, %ymm22 +// CHECK: encoding: [0x62,0xe2,0x2d,0x30,0x7e,0xb2,0xfc,0xfd,0xff,0xff] + vpermt2d -516(%rdx){1to8}, %ymm26, %ymm22 + +// CHECK: vpermt2q %xmm18, %xmm25, %xmm22 +// CHECK: encoding: [0x62,0xa2,0xb5,0x00,0x7e,0xf2] + vpermt2q %xmm18, %xmm25, %xmm22 + +// CHECK: vpermt2q %xmm18, %xmm25, %xmm22 {%k1} +// CHECK: encoding: [0x62,0xa2,0xb5,0x01,0x7e,0xf2] + vpermt2q %xmm18, %xmm25, %xmm22 {%k1} + +// CHECK: vpermt2q %xmm18, %xmm25, %xmm22 {%k1} {z} +// CHECK: encoding: [0x62,0xa2,0xb5,0x81,0x7e,0xf2] + vpermt2q %xmm18, %xmm25, %xmm22 {%k1} {z} + +// CHECK: vpermt2q (%rcx), %xmm25, %xmm22 +// CHECK: encoding: [0x62,0xe2,0xb5,0x00,0x7e,0x31] + vpermt2q (%rcx), %xmm25, %xmm22 + +// CHECK: vpermt2q 291(%rax,%r14,8), %xmm25, %xmm22 +// CHECK: encoding: [0x62,0xa2,0xb5,0x00,0x7e,0xb4,0xf0,0x23,0x01,0x00,0x00] + vpermt2q 291(%rax,%r14,8), %xmm25, %xmm22 + +// CHECK: vpermt2q (%rcx){1to2}, %xmm25, %xmm22 +// CHECK: encoding: [0x62,0xe2,0xb5,0x10,0x7e,0x31] + vpermt2q (%rcx){1to2}, %xmm25, %xmm22 + +// CHECK: vpermt2q 2032(%rdx), %xmm25, %xmm22 +// CHECK: encoding: [0x62,0xe2,0xb5,0x00,0x7e,0x72,0x7f] + vpermt2q 2032(%rdx), %xmm25, %xmm22 + +// CHECK: vpermt2q 2048(%rdx), %xmm25, %xmm22 +// CHECK: encoding: [0x62,0xe2,0xb5,0x00,0x7e,0xb2,0x00,0x08,0x00,0x00] + vpermt2q 2048(%rdx), %xmm25, %xmm22 + +// CHECK: vpermt2q -2048(%rdx), %xmm25, %xmm22 +// CHECK: encoding: [0x62,0xe2,0xb5,0x00,0x7e,0x72,0x80] + vpermt2q -2048(%rdx), %xmm25, %xmm22 + +// CHECK: vpermt2q -2064(%rdx), %xmm25, %xmm22 +// CHECK: encoding: [0x62,0xe2,0xb5,0x00,0x7e,0xb2,0xf0,0xf7,0xff,0xff] + vpermt2q -2064(%rdx), %xmm25, %xmm22 + +// CHECK: vpermt2q 1016(%rdx){1to2}, %xmm25, %xmm22 +// CHECK: encoding: [0x62,0xe2,0xb5,0x10,0x7e,0x72,0x7f] + vpermt2q 1016(%rdx){1to2}, %xmm25, %xmm22 + +// CHECK: vpermt2q 1024(%rdx){1to2}, %xmm25, %xmm22 +// CHECK: encoding: [0x62,0xe2,0xb5,0x10,0x7e,0xb2,0x00,0x04,0x00,0x00] + vpermt2q 1024(%rdx){1to2}, %xmm25, %xmm22 + +// CHECK: vpermt2q -1024(%rdx){1to2}, %xmm25, %xmm22 +// CHECK: encoding: [0x62,0xe2,0xb5,0x10,0x7e,0x72,0x80] + vpermt2q -1024(%rdx){1to2}, %xmm25, %xmm22 + +// CHECK: vpermt2q -1032(%rdx){1to2}, %xmm25, %xmm22 +// CHECK: encoding: [0x62,0xe2,0xb5,0x10,0x7e,0xb2,0xf8,0xfb,0xff,0xff] + vpermt2q -1032(%rdx){1to2}, %xmm25, %xmm22 + +// CHECK: vpermt2q %ymm20, %ymm17, %ymm18 +// CHECK: encoding: [0x62,0xa2,0xf5,0x20,0x7e,0xd4] + vpermt2q %ymm20, %ymm17, %ymm18 + +// CHECK: vpermt2q %ymm20, %ymm17, %ymm18 {%k6} +// CHECK: encoding: [0x62,0xa2,0xf5,0x26,0x7e,0xd4] + vpermt2q %ymm20, %ymm17, %ymm18 {%k6} + +// CHECK: vpermt2q %ymm20, %ymm17, %ymm18 {%k6} {z} +// CHECK: encoding: [0x62,0xa2,0xf5,0xa6,0x7e,0xd4] + vpermt2q %ymm20, %ymm17, %ymm18 {%k6} {z} + +// CHECK: vpermt2q (%rcx), %ymm17, %ymm18 +// CHECK: encoding: [0x62,0xe2,0xf5,0x20,0x7e,0x11] + vpermt2q (%rcx), %ymm17, %ymm18 + +// CHECK: vpermt2q 291(%rax,%r14,8), %ymm17, %ymm18 +// CHECK: encoding: [0x62,0xa2,0xf5,0x20,0x7e,0x94,0xf0,0x23,0x01,0x00,0x00] + vpermt2q 291(%rax,%r14,8), %ymm17, %ymm18 + +// CHECK: vpermt2q (%rcx){1to4}, %ymm17, %ymm18 +// CHECK: encoding: [0x62,0xe2,0xf5,0x30,0x7e,0x11] + vpermt2q (%rcx){1to4}, %ymm17, %ymm18 + +// CHECK: vpermt2q 4064(%rdx), %ymm17, %ymm18 +// CHECK: encoding: [0x62,0xe2,0xf5,0x20,0x7e,0x52,0x7f] + vpermt2q 4064(%rdx), %ymm17, %ymm18 + +// CHECK: vpermt2q 4096(%rdx), %ymm17, %ymm18 +// CHECK: encoding: [0x62,0xe2,0xf5,0x20,0x7e,0x92,0x00,0x10,0x00,0x00] + vpermt2q 4096(%rdx), %ymm17, %ymm18 + +// CHECK: vpermt2q -4096(%rdx), %ymm17, %ymm18 +// CHECK: encoding: [0x62,0xe2,0xf5,0x20,0x7e,0x52,0x80] + vpermt2q -4096(%rdx), %ymm17, %ymm18 + +// CHECK: vpermt2q -4128(%rdx), %ymm17, %ymm18 +// CHECK: encoding: [0x62,0xe2,0xf5,0x20,0x7e,0x92,0xe0,0xef,0xff,0xff] + vpermt2q -4128(%rdx), %ymm17, %ymm18 + +// CHECK: vpermt2q 1016(%rdx){1to4}, %ymm17, %ymm18 +// CHECK: encoding: [0x62,0xe2,0xf5,0x30,0x7e,0x52,0x7f] + vpermt2q 1016(%rdx){1to4}, %ymm17, %ymm18 + +// CHECK: vpermt2q 1024(%rdx){1to4}, %ymm17, %ymm18 +// CHECK: encoding: [0x62,0xe2,0xf5,0x30,0x7e,0x92,0x00,0x04,0x00,0x00] + vpermt2q 1024(%rdx){1to4}, %ymm17, %ymm18 + +// CHECK: vpermt2q -1024(%rdx){1to4}, %ymm17, %ymm18 +// CHECK: encoding: [0x62,0xe2,0xf5,0x30,0x7e,0x52,0x80] + vpermt2q -1024(%rdx){1to4}, %ymm17, %ymm18 + +// CHECK: vpermt2q -1032(%rdx){1to4}, %ymm17, %ymm18 +// CHECK: encoding: [0x62,0xe2,0xf5,0x30,0x7e,0x92,0xf8,0xfb,0xff,0xff] + vpermt2q -1032(%rdx){1to4}, %ymm17, %ymm18 + +// CHECK: vpermt2ps %xmm18, %xmm23, %xmm19 +// CHECK: encoding: [0x62,0xa2,0x45,0x00,0x7f,0xda] + vpermt2ps %xmm18, %xmm23, %xmm19 + +// CHECK: vpermt2ps %xmm18, %xmm23, %xmm19 {%k1} +// CHECK: encoding: [0x62,0xa2,0x45,0x01,0x7f,0xda] + vpermt2ps %xmm18, %xmm23, %xmm19 {%k1} + +// CHECK: vpermt2ps %xmm18, %xmm23, %xmm19 {%k1} {z} +// CHECK: encoding: [0x62,0xa2,0x45,0x81,0x7f,0xda] + vpermt2ps %xmm18, %xmm23, %xmm19 {%k1} {z} + +// CHECK: vpermt2ps (%rcx), %xmm23, %xmm19 +// CHECK: encoding: [0x62,0xe2,0x45,0x00,0x7f,0x19] + vpermt2ps (%rcx), %xmm23, %xmm19 + +// CHECK: vpermt2ps 291(%rax,%r14,8), %xmm23, %xmm19 +// CHECK: encoding: [0x62,0xa2,0x45,0x00,0x7f,0x9c,0xf0,0x23,0x01,0x00,0x00] + vpermt2ps 291(%rax,%r14,8), %xmm23, %xmm19 + +// CHECK: vpermt2ps (%rcx){1to4}, %xmm23, %xmm19 +// CHECK: encoding: [0x62,0xe2,0x45,0x10,0x7f,0x19] + vpermt2ps (%rcx){1to4}, %xmm23, %xmm19 + +// CHECK: vpermt2ps 2032(%rdx), %xmm23, %xmm19 +// CHECK: encoding: [0x62,0xe2,0x45,0x00,0x7f,0x5a,0x7f] + vpermt2ps 2032(%rdx), %xmm23, %xmm19 + +// CHECK: vpermt2ps 2048(%rdx), %xmm23, %xmm19 +// CHECK: encoding: [0x62,0xe2,0x45,0x00,0x7f,0x9a,0x00,0x08,0x00,0x00] + vpermt2ps 2048(%rdx), %xmm23, %xmm19 + +// CHECK: vpermt2ps -2048(%rdx), %xmm23, %xmm19 +// CHECK: encoding: [0x62,0xe2,0x45,0x00,0x7f,0x5a,0x80] + vpermt2ps -2048(%rdx), %xmm23, %xmm19 + +// CHECK: vpermt2ps -2064(%rdx), %xmm23, %xmm19 +// CHECK: encoding: [0x62,0xe2,0x45,0x00,0x7f,0x9a,0xf0,0xf7,0xff,0xff] + vpermt2ps -2064(%rdx), %xmm23, %xmm19 + +// CHECK: vpermt2ps 508(%rdx){1to4}, %xmm23, %xmm19 +// CHECK: encoding: [0x62,0xe2,0x45,0x10,0x7f,0x5a,0x7f] + vpermt2ps 508(%rdx){1to4}, %xmm23, %xmm19 + +// CHECK: vpermt2ps 512(%rdx){1to4}, %xmm23, %xmm19 +// CHECK: encoding: [0x62,0xe2,0x45,0x10,0x7f,0x9a,0x00,0x02,0x00,0x00] + vpermt2ps 512(%rdx){1to4}, %xmm23, %xmm19 + +// CHECK: vpermt2ps -512(%rdx){1to4}, %xmm23, %xmm19 +// CHECK: encoding: [0x62,0xe2,0x45,0x10,0x7f,0x5a,0x80] + vpermt2ps -512(%rdx){1to4}, %xmm23, %xmm19 + +// CHECK: vpermt2ps -516(%rdx){1to4}, %xmm23, %xmm19 +// CHECK: encoding: [0x62,0xe2,0x45,0x10,0x7f,0x9a,0xfc,0xfd,0xff,0xff] + vpermt2ps -516(%rdx){1to4}, %xmm23, %xmm19 + +// CHECK: vpermt2ps %ymm21, %ymm27, %ymm26 +// CHECK: encoding: [0x62,0x22,0x25,0x20,0x7f,0xd5] + vpermt2ps %ymm21, %ymm27, %ymm26 + +// CHECK: vpermt2ps %ymm21, %ymm27, %ymm26 {%k3} +// CHECK: encoding: [0x62,0x22,0x25,0x23,0x7f,0xd5] + vpermt2ps %ymm21, %ymm27, %ymm26 {%k3} + +// CHECK: vpermt2ps %ymm21, %ymm27, %ymm26 {%k3} {z} +// CHECK: encoding: [0x62,0x22,0x25,0xa3,0x7f,0xd5] + vpermt2ps %ymm21, %ymm27, %ymm26 {%k3} {z} + +// CHECK: vpermt2ps (%rcx), %ymm27, %ymm26 +// CHECK: encoding: [0x62,0x62,0x25,0x20,0x7f,0x11] + vpermt2ps (%rcx), %ymm27, %ymm26 + +// CHECK: vpermt2ps 291(%rax,%r14,8), %ymm27, %ymm26 +// CHECK: encoding: [0x62,0x22,0x25,0x20,0x7f,0x94,0xf0,0x23,0x01,0x00,0x00] + vpermt2ps 291(%rax,%r14,8), %ymm27, %ymm26 + +// CHECK: vpermt2ps (%rcx){1to8}, %ymm27, %ymm26 +// CHECK: encoding: [0x62,0x62,0x25,0x30,0x7f,0x11] + vpermt2ps (%rcx){1to8}, %ymm27, %ymm26 + +// CHECK: vpermt2ps 4064(%rdx), %ymm27, %ymm26 +// CHECK: encoding: [0x62,0x62,0x25,0x20,0x7f,0x52,0x7f] + vpermt2ps 4064(%rdx), %ymm27, %ymm26 + +// CHECK: vpermt2ps 4096(%rdx), %ymm27, %ymm26 +// CHECK: encoding: [0x62,0x62,0x25,0x20,0x7f,0x92,0x00,0x10,0x00,0x00] + vpermt2ps 4096(%rdx), %ymm27, %ymm26 + +// CHECK: vpermt2ps -4096(%rdx), %ymm27, %ymm26 +// CHECK: encoding: [0x62,0x62,0x25,0x20,0x7f,0x52,0x80] + vpermt2ps -4096(%rdx), %ymm27, %ymm26 + +// CHECK: vpermt2ps -4128(%rdx), %ymm27, %ymm26 +// CHECK: encoding: [0x62,0x62,0x25,0x20,0x7f,0x92,0xe0,0xef,0xff,0xff] + vpermt2ps -4128(%rdx), %ymm27, %ymm26 + +// CHECK: vpermt2ps 508(%rdx){1to8}, %ymm27, %ymm26 +// CHECK: encoding: [0x62,0x62,0x25,0x30,0x7f,0x52,0x7f] + vpermt2ps 508(%rdx){1to8}, %ymm27, %ymm26 + +// CHECK: vpermt2ps 512(%rdx){1to8}, %ymm27, %ymm26 +// CHECK: encoding: [0x62,0x62,0x25,0x30,0x7f,0x92,0x00,0x02,0x00,0x00] + vpermt2ps 512(%rdx){1to8}, %ymm27, %ymm26 + +// CHECK: vpermt2ps -512(%rdx){1to8}, %ymm27, %ymm26 +// CHECK: encoding: [0x62,0x62,0x25,0x30,0x7f,0x52,0x80] + vpermt2ps -512(%rdx){1to8}, %ymm27, %ymm26 + +// CHECK: vpermt2ps -516(%rdx){1to8}, %ymm27, %ymm26 +// CHECK: encoding: [0x62,0x62,0x25,0x30,0x7f,0x92,0xfc,0xfd,0xff,0xff] + vpermt2ps -516(%rdx){1to8}, %ymm27, %ymm26 + +// CHECK: vpermt2pd %xmm17, %xmm21, %xmm26 +// CHECK: encoding: [0x62,0x22,0xd5,0x00,0x7f,0xd1] + vpermt2pd %xmm17, %xmm21, %xmm26 + +// CHECK: vpermt2pd %xmm17, %xmm21, %xmm26 {%k5} +// CHECK: encoding: [0x62,0x22,0xd5,0x05,0x7f,0xd1] + vpermt2pd %xmm17, %xmm21, %xmm26 {%k5} + +// CHECK: vpermt2pd %xmm17, %xmm21, %xmm26 {%k5} {z} +// CHECK: encoding: [0x62,0x22,0xd5,0x85,0x7f,0xd1] + vpermt2pd %xmm17, %xmm21, %xmm26 {%k5} {z} + +// CHECK: vpermt2pd (%rcx), %xmm21, %xmm26 +// CHECK: encoding: [0x62,0x62,0xd5,0x00,0x7f,0x11] + vpermt2pd (%rcx), %xmm21, %xmm26 + +// CHECK: vpermt2pd 291(%rax,%r14,8), %xmm21, %xmm26 +// CHECK: encoding: [0x62,0x22,0xd5,0x00,0x7f,0x94,0xf0,0x23,0x01,0x00,0x00] + vpermt2pd 291(%rax,%r14,8), %xmm21, %xmm26 + +// CHECK: vpermt2pd (%rcx){1to2}, %xmm21, %xmm26 +// CHECK: encoding: [0x62,0x62,0xd5,0x10,0x7f,0x11] + vpermt2pd (%rcx){1to2}, %xmm21, %xmm26 + +// CHECK: vpermt2pd 2032(%rdx), %xmm21, %xmm26 +// CHECK: encoding: [0x62,0x62,0xd5,0x00,0x7f,0x52,0x7f] + vpermt2pd 2032(%rdx), %xmm21, %xmm26 + +// CHECK: vpermt2pd 2048(%rdx), %xmm21, %xmm26 +// CHECK: encoding: [0x62,0x62,0xd5,0x00,0x7f,0x92,0x00,0x08,0x00,0x00] + vpermt2pd 2048(%rdx), %xmm21, %xmm26 + +// CHECK: vpermt2pd -2048(%rdx), %xmm21, %xmm26 +// CHECK: encoding: [0x62,0x62,0xd5,0x00,0x7f,0x52,0x80] + vpermt2pd -2048(%rdx), %xmm21, %xmm26 + +// CHECK: vpermt2pd -2064(%rdx), %xmm21, %xmm26 +// CHECK: encoding: [0x62,0x62,0xd5,0x00,0x7f,0x92,0xf0,0xf7,0xff,0xff] + vpermt2pd -2064(%rdx), %xmm21, %xmm26 + +// CHECK: vpermt2pd 1016(%rdx){1to2}, %xmm21, %xmm26 +// CHECK: encoding: [0x62,0x62,0xd5,0x10,0x7f,0x52,0x7f] + vpermt2pd 1016(%rdx){1to2}, %xmm21, %xmm26 + +// CHECK: vpermt2pd 1024(%rdx){1to2}, %xmm21, %xmm26 +// CHECK: encoding: [0x62,0x62,0xd5,0x10,0x7f,0x92,0x00,0x04,0x00,0x00] + vpermt2pd 1024(%rdx){1to2}, %xmm21, %xmm26 + +// CHECK: vpermt2pd -1024(%rdx){1to2}, %xmm21, %xmm26 +// CHECK: encoding: [0x62,0x62,0xd5,0x10,0x7f,0x52,0x80] + vpermt2pd -1024(%rdx){1to2}, %xmm21, %xmm26 + +// CHECK: vpermt2pd -1032(%rdx){1to2}, %xmm21, %xmm26 +// CHECK: encoding: [0x62,0x62,0xd5,0x10,0x7f,0x92,0xf8,0xfb,0xff,0xff] + vpermt2pd -1032(%rdx){1to2}, %xmm21, %xmm26 + +// CHECK: vpermt2pd %ymm17, %ymm23, %ymm17 +// CHECK: encoding: [0x62,0xa2,0xc5,0x20,0x7f,0xc9] + vpermt2pd %ymm17, %ymm23, %ymm17 + +// CHECK: vpermt2pd %ymm17, %ymm23, %ymm17 {%k1} +// CHECK: encoding: [0x62,0xa2,0xc5,0x21,0x7f,0xc9] + vpermt2pd %ymm17, %ymm23, %ymm17 {%k1} + +// CHECK: vpermt2pd %ymm17, %ymm23, %ymm17 {%k1} {z} +// CHECK: encoding: [0x62,0xa2,0xc5,0xa1,0x7f,0xc9] + vpermt2pd %ymm17, %ymm23, %ymm17 {%k1} {z} + +// CHECK: vpermt2pd (%rcx), %ymm23, %ymm17 +// CHECK: encoding: [0x62,0xe2,0xc5,0x20,0x7f,0x09] + vpermt2pd (%rcx), %ymm23, %ymm17 + +// CHECK: vpermt2pd 291(%rax,%r14,8), %ymm23, %ymm17 +// CHECK: encoding: [0x62,0xa2,0xc5,0x20,0x7f,0x8c,0xf0,0x23,0x01,0x00,0x00] + vpermt2pd 291(%rax,%r14,8), %ymm23, %ymm17 + +// CHECK: vpermt2pd (%rcx){1to4}, %ymm23, %ymm17 +// CHECK: encoding: [0x62,0xe2,0xc5,0x30,0x7f,0x09] + vpermt2pd (%rcx){1to4}, %ymm23, %ymm17 + +// CHECK: vpermt2pd 4064(%rdx), %ymm23, %ymm17 +// CHECK: encoding: [0x62,0xe2,0xc5,0x20,0x7f,0x4a,0x7f] + vpermt2pd 4064(%rdx), %ymm23, %ymm17 + +// CHECK: vpermt2pd 4096(%rdx), %ymm23, %ymm17 +// CHECK: encoding: [0x62,0xe2,0xc5,0x20,0x7f,0x8a,0x00,0x10,0x00,0x00] + vpermt2pd 4096(%rdx), %ymm23, %ymm17 + +// CHECK: vpermt2pd -4096(%rdx), %ymm23, %ymm17 +// CHECK: encoding: [0x62,0xe2,0xc5,0x20,0x7f,0x4a,0x80] + vpermt2pd -4096(%rdx), %ymm23, %ymm17 + +// CHECK: vpermt2pd -4128(%rdx), %ymm23, %ymm17 +// CHECK: encoding: [0x62,0xe2,0xc5,0x20,0x7f,0x8a,0xe0,0xef,0xff,0xff] + vpermt2pd -4128(%rdx), %ymm23, %ymm17 + +// CHECK: vpermt2pd 1016(%rdx){1to4}, %ymm23, %ymm17 +// CHECK: encoding: [0x62,0xe2,0xc5,0x30,0x7f,0x4a,0x7f] + vpermt2pd 1016(%rdx){1to4}, %ymm23, %ymm17 + +// CHECK: vpermt2pd 1024(%rdx){1to4}, %ymm23, %ymm17 +// CHECK: encoding: [0x62,0xe2,0xc5,0x30,0x7f,0x8a,0x00,0x04,0x00,0x00] + vpermt2pd 1024(%rdx){1to4}, %ymm23, %ymm17 + +// CHECK: vpermt2pd -1024(%rdx){1to4}, %ymm23, %ymm17 +// CHECK: encoding: [0x62,0xe2,0xc5,0x30,0x7f,0x4a,0x80] + vpermt2pd -1024(%rdx){1to4}, %ymm23, %ymm17 + +// CHECK: vpermt2pd -1032(%rdx){1to4}, %ymm23, %ymm17 +// CHECK: encoding: [0x62,0xe2,0xc5,0x30,0x7f,0x8a,0xf8,0xfb,0xff,0xff] + vpermt2pd -1032(%rdx){1to4}, %ymm23, %ymm17 |