X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=test%2FMC%2FX86%2Fx86-64-avx512f_vl.s;h=182f4dac87e873389c4bb38471d4132710f6f56b;hb=8e12b59b137856f67c3ff04ab391f7a2ca081301;hp=4f6dba60f51c750b035dce444d1e7491785f0e58;hpb=13cc6f2b6e1e61781f66109206cc211ea18ffa34;p=oota-llvm.git diff --git a/test/MC/X86/x86-64-avx512f_vl.s b/test/MC/X86/x86-64-avx512f_vl.s index 4f6dba60f51..182f4dac87e 100644 --- a/test/MC/X86/x86-64-avx512f_vl.s +++ b/test/MC/X86/x86-64-avx512f_vl.s @@ -4524,6 +4524,726 @@ // CHECK: encoding: [0x62,0x62,0xd5,0x30,0x3b,0xaa,0xf8,0xfb,0xff,0xff] vpminuq -1032(%rdx){1to4}, %ymm21, %ymm29 +// CHECK: vpmovsxbd %xmm28, %xmm24 +// CHECK: encoding: [0x62,0x02,0x7d,0x08,0x21,0xc4] + vpmovsxbd %xmm28, %xmm24 + +// CHECK: vpmovsxbd %xmm28, %xmm24 {%k1} +// CHECK: encoding: [0x62,0x02,0x7d,0x09,0x21,0xc4] + vpmovsxbd %xmm28, %xmm24 {%k1} + +// CHECK: vpmovsxbd %xmm28, %xmm24 {%k1} {z} +// CHECK: encoding: [0x62,0x02,0x7d,0x89,0x21,0xc4] + vpmovsxbd %xmm28, %xmm24 {%k1} {z} + +// CHECK: vpmovsxbd (%rcx), %xmm24 +// CHECK: encoding: [0x62,0x62,0x7d,0x08,0x21,0x01] + vpmovsxbd (%rcx), %xmm24 + +// CHECK: vpmovsxbd 291(%rax,%r14,8), %xmm24 +// CHECK: encoding: [0x62,0x22,0x7d,0x08,0x21,0x84,0xf0,0x23,0x01,0x00,0x00] + vpmovsxbd 291(%rax,%r14,8), %xmm24 + +// CHECK: vpmovsxbd 508(%rdx), %xmm24 +// CHECK: encoding: [0x62,0x62,0x7d,0x08,0x21,0x42,0x7f] + vpmovsxbd 508(%rdx), %xmm24 + +// CHECK: vpmovsxbd 512(%rdx), %xmm24 +// CHECK: encoding: [0x62,0x62,0x7d,0x08,0x21,0x82,0x00,0x02,0x00,0x00] + vpmovsxbd 512(%rdx), %xmm24 + +// CHECK: vpmovsxbd -512(%rdx), %xmm24 +// CHECK: encoding: [0x62,0x62,0x7d,0x08,0x21,0x42,0x80] + vpmovsxbd -512(%rdx), %xmm24 + +// CHECK: vpmovsxbd -516(%rdx), %xmm24 +// CHECK: encoding: [0x62,0x62,0x7d,0x08,0x21,0x82,0xfc,0xfd,0xff,0xff] + vpmovsxbd -516(%rdx), %xmm24 + +// CHECK: vpmovsxbd %xmm20, %ymm24 +// CHECK: encoding: [0x62,0x22,0x7d,0x28,0x21,0xc4] + vpmovsxbd %xmm20, %ymm24 + +// CHECK: vpmovsxbd %xmm20, %ymm24 {%k3} +// CHECK: encoding: [0x62,0x22,0x7d,0x2b,0x21,0xc4] + vpmovsxbd %xmm20, %ymm24 {%k3} + +// CHECK: vpmovsxbd %xmm20, %ymm24 {%k3} {z} +// CHECK: encoding: [0x62,0x22,0x7d,0xab,0x21,0xc4] + vpmovsxbd %xmm20, %ymm24 {%k3} {z} + +// CHECK: vpmovsxbd (%rcx), %ymm24 +// CHECK: encoding: [0x62,0x62,0x7d,0x28,0x21,0x01] + vpmovsxbd (%rcx), %ymm24 + +// CHECK: vpmovsxbd 291(%rax,%r14,8), %ymm24 +// CHECK: encoding: [0x62,0x22,0x7d,0x28,0x21,0x84,0xf0,0x23,0x01,0x00,0x00] + vpmovsxbd 291(%rax,%r14,8), %ymm24 + +// CHECK: vpmovsxbd 1016(%rdx), %ymm24 +// CHECK: encoding: [0x62,0x62,0x7d,0x28,0x21,0x42,0x7f] + vpmovsxbd 1016(%rdx), %ymm24 + +// CHECK: vpmovsxbd 1024(%rdx), %ymm24 +// CHECK: encoding: [0x62,0x62,0x7d,0x28,0x21,0x82,0x00,0x04,0x00,0x00] + vpmovsxbd 1024(%rdx), %ymm24 + +// CHECK: vpmovsxbd -1024(%rdx), %ymm24 +// CHECK: encoding: [0x62,0x62,0x7d,0x28,0x21,0x42,0x80] + vpmovsxbd -1024(%rdx), %ymm24 + +// CHECK: vpmovsxbd -1032(%rdx), %ymm24 +// CHECK: encoding: [0x62,0x62,0x7d,0x28,0x21,0x82,0xf8,0xfb,0xff,0xff] + vpmovsxbd -1032(%rdx), %ymm24 + +// CHECK: vpmovsxbq %xmm22, %xmm17 +// CHECK: encoding: [0x62,0xa2,0x7d,0x08,0x22,0xce] + vpmovsxbq %xmm22, %xmm17 + +// CHECK: vpmovsxbq %xmm22, %xmm17 {%k5} +// CHECK: encoding: [0x62,0xa2,0x7d,0x0d,0x22,0xce] + vpmovsxbq %xmm22, %xmm17 {%k5} + +// CHECK: vpmovsxbq %xmm22, %xmm17 {%k5} {z} +// CHECK: encoding: [0x62,0xa2,0x7d,0x8d,0x22,0xce] + vpmovsxbq %xmm22, %xmm17 {%k5} {z} + +// CHECK: vpmovsxbq (%rcx), %xmm17 +// CHECK: encoding: [0x62,0xe2,0x7d,0x08,0x22,0x09] + vpmovsxbq (%rcx), %xmm17 + +// CHECK: vpmovsxbq 291(%rax,%r14,8), %xmm17 +// CHECK: encoding: [0x62,0xa2,0x7d,0x08,0x22,0x8c,0xf0,0x23,0x01,0x00,0x00] + vpmovsxbq 291(%rax,%r14,8), %xmm17 + +// CHECK: vpmovsxbq 254(%rdx), %xmm17 +// CHECK: encoding: [0x62,0xe2,0x7d,0x08,0x22,0x4a,0x7f] + vpmovsxbq 254(%rdx), %xmm17 + +// CHECK: vpmovsxbq 256(%rdx), %xmm17 +// CHECK: encoding: [0x62,0xe2,0x7d,0x08,0x22,0x8a,0x00,0x01,0x00,0x00] + vpmovsxbq 256(%rdx), %xmm17 + +// CHECK: vpmovsxbq -256(%rdx), %xmm17 +// CHECK: encoding: [0x62,0xe2,0x7d,0x08,0x22,0x4a,0x80] + vpmovsxbq -256(%rdx), %xmm17 + +// CHECK: vpmovsxbq -258(%rdx), %xmm17 +// CHECK: encoding: [0x62,0xe2,0x7d,0x08,0x22,0x8a,0xfe,0xfe,0xff,0xff] + vpmovsxbq -258(%rdx), %xmm17 + +// CHECK: vpmovsxbq %xmm26, %ymm28 +// CHECK: encoding: [0x62,0x02,0x7d,0x28,0x22,0xe2] + vpmovsxbq %xmm26, %ymm28 + +// CHECK: vpmovsxbq %xmm26, %ymm28 {%k5} +// CHECK: encoding: [0x62,0x02,0x7d,0x2d,0x22,0xe2] + vpmovsxbq %xmm26, %ymm28 {%k5} + +// CHECK: vpmovsxbq %xmm26, %ymm28 {%k5} {z} +// CHECK: encoding: [0x62,0x02,0x7d,0xad,0x22,0xe2] + vpmovsxbq %xmm26, %ymm28 {%k5} {z} + +// CHECK: vpmovsxbq (%rcx), %ymm28 +// CHECK: encoding: [0x62,0x62,0x7d,0x28,0x22,0x21] + vpmovsxbq (%rcx), %ymm28 + +// CHECK: vpmovsxbq 291(%rax,%r14,8), %ymm28 +// CHECK: encoding: [0x62,0x22,0x7d,0x28,0x22,0xa4,0xf0,0x23,0x01,0x00,0x00] + vpmovsxbq 291(%rax,%r14,8), %ymm28 + +// CHECK: vpmovsxbq 508(%rdx), %ymm28 +// CHECK: encoding: [0x62,0x62,0x7d,0x28,0x22,0x62,0x7f] + vpmovsxbq 508(%rdx), %ymm28 + +// CHECK: vpmovsxbq 512(%rdx), %ymm28 +// CHECK: encoding: [0x62,0x62,0x7d,0x28,0x22,0xa2,0x00,0x02,0x00,0x00] + vpmovsxbq 512(%rdx), %ymm28 + +// CHECK: vpmovsxbq -512(%rdx), %ymm28 +// CHECK: encoding: [0x62,0x62,0x7d,0x28,0x22,0x62,0x80] + vpmovsxbq -512(%rdx), %ymm28 + +// CHECK: vpmovsxbq -516(%rdx), %ymm28 +// CHECK: encoding: [0x62,0x62,0x7d,0x28,0x22,0xa2,0xfc,0xfd,0xff,0xff] + vpmovsxbq -516(%rdx), %ymm28 + +// CHECK: vpmovsxdq %xmm26, %xmm23 +// CHECK: encoding: [0x62,0x82,0x7d,0x08,0x25,0xfa] + vpmovsxdq %xmm26, %xmm23 + +// CHECK: vpmovsxdq %xmm26, %xmm23 {%k7} +// CHECK: encoding: [0x62,0x82,0x7d,0x0f,0x25,0xfa] + vpmovsxdq %xmm26, %xmm23 {%k7} + +// CHECK: vpmovsxdq %xmm26, %xmm23 {%k7} {z} +// CHECK: encoding: [0x62,0x82,0x7d,0x8f,0x25,0xfa] + vpmovsxdq %xmm26, %xmm23 {%k7} {z} + +// CHECK: vpmovsxdq (%rcx), %xmm23 +// CHECK: encoding: [0x62,0xe2,0x7d,0x08,0x25,0x39] + vpmovsxdq (%rcx), %xmm23 + +// CHECK: vpmovsxdq 291(%rax,%r14,8), %xmm23 +// CHECK: encoding: [0x62,0xa2,0x7d,0x08,0x25,0xbc,0xf0,0x23,0x01,0x00,0x00] + vpmovsxdq 291(%rax,%r14,8), %xmm23 + +// CHECK: vpmovsxdq 1016(%rdx), %xmm23 +// CHECK: encoding: [0x62,0xe2,0x7d,0x08,0x25,0x7a,0x7f] + vpmovsxdq 1016(%rdx), %xmm23 + +// CHECK: vpmovsxdq 1024(%rdx), %xmm23 +// CHECK: encoding: [0x62,0xe2,0x7d,0x08,0x25,0xba,0x00,0x04,0x00,0x00] + vpmovsxdq 1024(%rdx), %xmm23 + +// CHECK: vpmovsxdq -1024(%rdx), %xmm23 +// CHECK: encoding: [0x62,0xe2,0x7d,0x08,0x25,0x7a,0x80] + vpmovsxdq -1024(%rdx), %xmm23 + +// CHECK: vpmovsxdq -1032(%rdx), %xmm23 +// CHECK: encoding: [0x62,0xe2,0x7d,0x08,0x25,0xba,0xf8,0xfb,0xff,0xff] + vpmovsxdq -1032(%rdx), %xmm23 + +// CHECK: vpmovsxdq %xmm28, %ymm18 +// CHECK: encoding: [0x62,0x82,0x7d,0x28,0x25,0xd4] + vpmovsxdq %xmm28, %ymm18 + +// CHECK: vpmovsxdq %xmm28, %ymm18 {%k7} +// CHECK: encoding: [0x62,0x82,0x7d,0x2f,0x25,0xd4] + vpmovsxdq %xmm28, %ymm18 {%k7} + +// CHECK: vpmovsxdq %xmm28, %ymm18 {%k7} {z} +// CHECK: encoding: [0x62,0x82,0x7d,0xaf,0x25,0xd4] + vpmovsxdq %xmm28, %ymm18 {%k7} {z} + +// CHECK: vpmovsxdq (%rcx), %ymm18 +// CHECK: encoding: [0x62,0xe2,0x7d,0x28,0x25,0x11] + vpmovsxdq (%rcx), %ymm18 + +// CHECK: vpmovsxdq 291(%rax,%r14,8), %ymm18 +// CHECK: encoding: [0x62,0xa2,0x7d,0x28,0x25,0x94,0xf0,0x23,0x01,0x00,0x00] + vpmovsxdq 291(%rax,%r14,8), %ymm18 + +// CHECK: vpmovsxdq 2032(%rdx), %ymm18 +// CHECK: encoding: [0x62,0xe2,0x7d,0x28,0x25,0x52,0x7f] + vpmovsxdq 2032(%rdx), %ymm18 + +// CHECK: vpmovsxdq 2048(%rdx), %ymm18 +// CHECK: encoding: [0x62,0xe2,0x7d,0x28,0x25,0x92,0x00,0x08,0x00,0x00] + vpmovsxdq 2048(%rdx), %ymm18 + +// CHECK: vpmovsxdq -2048(%rdx), %ymm18 +// CHECK: encoding: [0x62,0xe2,0x7d,0x28,0x25,0x52,0x80] + vpmovsxdq -2048(%rdx), %ymm18 + +// CHECK: vpmovsxdq -2064(%rdx), %ymm18 +// CHECK: encoding: [0x62,0xe2,0x7d,0x28,0x25,0x92,0xf0,0xf7,0xff,0xff] + vpmovsxdq -2064(%rdx), %ymm18 + +// CHECK: vpmovsxwd %xmm18, %xmm17 +// CHECK: encoding: [0x62,0xa2,0x7d,0x08,0x23,0xca] + vpmovsxwd %xmm18, %xmm17 + +// CHECK: vpmovsxwd %xmm18, %xmm17 {%k4} +// CHECK: encoding: [0x62,0xa2,0x7d,0x0c,0x23,0xca] + vpmovsxwd %xmm18, %xmm17 {%k4} + +// CHECK: vpmovsxwd %xmm18, %xmm17 {%k4} {z} +// CHECK: encoding: [0x62,0xa2,0x7d,0x8c,0x23,0xca] + vpmovsxwd %xmm18, %xmm17 {%k4} {z} + +// CHECK: vpmovsxwd (%rcx), %xmm17 +// CHECK: encoding: [0x62,0xe2,0x7d,0x08,0x23,0x09] + vpmovsxwd (%rcx), %xmm17 + +// CHECK: vpmovsxwd 291(%rax,%r14,8), %xmm17 +// CHECK: encoding: [0x62,0xa2,0x7d,0x08,0x23,0x8c,0xf0,0x23,0x01,0x00,0x00] + vpmovsxwd 291(%rax,%r14,8), %xmm17 + +// CHECK: vpmovsxwd 1016(%rdx), %xmm17 +// CHECK: encoding: [0x62,0xe2,0x7d,0x08,0x23,0x4a,0x7f] + vpmovsxwd 1016(%rdx), %xmm17 + +// CHECK: vpmovsxwd 1024(%rdx), %xmm17 +// CHECK: encoding: [0x62,0xe2,0x7d,0x08,0x23,0x8a,0x00,0x04,0x00,0x00] + vpmovsxwd 1024(%rdx), %xmm17 + +// CHECK: vpmovsxwd -1024(%rdx), %xmm17 +// CHECK: encoding: [0x62,0xe2,0x7d,0x08,0x23,0x4a,0x80] + vpmovsxwd -1024(%rdx), %xmm17 + +// CHECK: vpmovsxwd -1032(%rdx), %xmm17 +// CHECK: encoding: [0x62,0xe2,0x7d,0x08,0x23,0x8a,0xf8,0xfb,0xff,0xff] + vpmovsxwd -1032(%rdx), %xmm17 + +// CHECK: vpmovsxwd %xmm25, %ymm21 +// CHECK: encoding: [0x62,0x82,0x7d,0x28,0x23,0xe9] + vpmovsxwd %xmm25, %ymm21 + +// CHECK: vpmovsxwd %xmm25, %ymm21 {%k5} +// CHECK: encoding: [0x62,0x82,0x7d,0x2d,0x23,0xe9] + vpmovsxwd %xmm25, %ymm21 {%k5} + +// CHECK: vpmovsxwd %xmm25, %ymm21 {%k5} {z} +// CHECK: encoding: [0x62,0x82,0x7d,0xad,0x23,0xe9] + vpmovsxwd %xmm25, %ymm21 {%k5} {z} + +// CHECK: vpmovsxwd (%rcx), %ymm21 +// CHECK: encoding: [0x62,0xe2,0x7d,0x28,0x23,0x29] + vpmovsxwd (%rcx), %ymm21 + +// CHECK: vpmovsxwd 291(%rax,%r14,8), %ymm21 +// CHECK: encoding: [0x62,0xa2,0x7d,0x28,0x23,0xac,0xf0,0x23,0x01,0x00,0x00] + vpmovsxwd 291(%rax,%r14,8), %ymm21 + +// CHECK: vpmovsxwd 2032(%rdx), %ymm21 +// CHECK: encoding: [0x62,0xe2,0x7d,0x28,0x23,0x6a,0x7f] + vpmovsxwd 2032(%rdx), %ymm21 + +// CHECK: vpmovsxwd 2048(%rdx), %ymm21 +// CHECK: encoding: [0x62,0xe2,0x7d,0x28,0x23,0xaa,0x00,0x08,0x00,0x00] + vpmovsxwd 2048(%rdx), %ymm21 + +// CHECK: vpmovsxwd -2048(%rdx), %ymm21 +// CHECK: encoding: [0x62,0xe2,0x7d,0x28,0x23,0x6a,0x80] + vpmovsxwd -2048(%rdx), %ymm21 + +// CHECK: vpmovsxwd -2064(%rdx), %ymm21 +// CHECK: encoding: [0x62,0xe2,0x7d,0x28,0x23,0xaa,0xf0,0xf7,0xff,0xff] + vpmovsxwd -2064(%rdx), %ymm21 + +// CHECK: vpmovsxwq %xmm20, %xmm29 +// CHECK: encoding: [0x62,0x22,0x7d,0x08,0x24,0xec] + vpmovsxwq %xmm20, %xmm29 + +// CHECK: vpmovsxwq %xmm20, %xmm29 {%k6} +// CHECK: encoding: [0x62,0x22,0x7d,0x0e,0x24,0xec] + vpmovsxwq %xmm20, %xmm29 {%k6} + +// CHECK: vpmovsxwq %xmm20, %xmm29 {%k6} {z} +// CHECK: encoding: [0x62,0x22,0x7d,0x8e,0x24,0xec] + vpmovsxwq %xmm20, %xmm29 {%k6} {z} + +// CHECK: vpmovsxwq (%rcx), %xmm29 +// CHECK: encoding: [0x62,0x62,0x7d,0x08,0x24,0x29] + vpmovsxwq (%rcx), %xmm29 + +// CHECK: vpmovsxwq 291(%rax,%r14,8), %xmm29 +// CHECK: encoding: [0x62,0x22,0x7d,0x08,0x24,0xac,0xf0,0x23,0x01,0x00,0x00] + vpmovsxwq 291(%rax,%r14,8), %xmm29 + +// CHECK: vpmovsxwq 508(%rdx), %xmm29 +// CHECK: encoding: [0x62,0x62,0x7d,0x08,0x24,0x6a,0x7f] + vpmovsxwq 508(%rdx), %xmm29 + +// CHECK: vpmovsxwq 512(%rdx), %xmm29 +// CHECK: encoding: [0x62,0x62,0x7d,0x08,0x24,0xaa,0x00,0x02,0x00,0x00] + vpmovsxwq 512(%rdx), %xmm29 + +// CHECK: vpmovsxwq -512(%rdx), %xmm29 +// CHECK: encoding: [0x62,0x62,0x7d,0x08,0x24,0x6a,0x80] + vpmovsxwq -512(%rdx), %xmm29 + +// CHECK: vpmovsxwq -516(%rdx), %xmm29 +// CHECK: encoding: [0x62,0x62,0x7d,0x08,0x24,0xaa,0xfc,0xfd,0xff,0xff] + vpmovsxwq -516(%rdx), %xmm29 + +// CHECK: vpmovsxwq %xmm17, %ymm23 +// CHECK: encoding: [0x62,0xa2,0x7d,0x28,0x24,0xf9] + vpmovsxwq %xmm17, %ymm23 + +// CHECK: vpmovsxwq %xmm17, %ymm23 {%k5} +// CHECK: encoding: [0x62,0xa2,0x7d,0x2d,0x24,0xf9] + vpmovsxwq %xmm17, %ymm23 {%k5} + +// CHECK: vpmovsxwq %xmm17, %ymm23 {%k5} {z} +// CHECK: encoding: [0x62,0xa2,0x7d,0xad,0x24,0xf9] + vpmovsxwq %xmm17, %ymm23 {%k5} {z} + +// CHECK: vpmovsxwq (%rcx), %ymm23 +// CHECK: encoding: [0x62,0xe2,0x7d,0x28,0x24,0x39] + vpmovsxwq (%rcx), %ymm23 + +// CHECK: vpmovsxwq 291(%rax,%r14,8), %ymm23 +// CHECK: encoding: [0x62,0xa2,0x7d,0x28,0x24,0xbc,0xf0,0x23,0x01,0x00,0x00] + vpmovsxwq 291(%rax,%r14,8), %ymm23 + +// CHECK: vpmovsxwq 1016(%rdx), %ymm23 +// CHECK: encoding: [0x62,0xe2,0x7d,0x28,0x24,0x7a,0x7f] + vpmovsxwq 1016(%rdx), %ymm23 + +// CHECK: vpmovsxwq 1024(%rdx), %ymm23 +// CHECK: encoding: [0x62,0xe2,0x7d,0x28,0x24,0xba,0x00,0x04,0x00,0x00] + vpmovsxwq 1024(%rdx), %ymm23 + +// CHECK: vpmovsxwq -1024(%rdx), %ymm23 +// CHECK: encoding: [0x62,0xe2,0x7d,0x28,0x24,0x7a,0x80] + vpmovsxwq -1024(%rdx), %ymm23 + +// CHECK: vpmovsxwq -1032(%rdx), %ymm23 +// CHECK: encoding: [0x62,0xe2,0x7d,0x28,0x24,0xba,0xf8,0xfb,0xff,0xff] + vpmovsxwq -1032(%rdx), %ymm23 + +// CHECK: vpmovzxbd %xmm17, %xmm24 +// CHECK: encoding: [0x62,0x22,0x7d,0x08,0x31,0xc1] + vpmovzxbd %xmm17, %xmm24 + +// CHECK: vpmovzxbd %xmm17, %xmm24 {%k6} +// CHECK: encoding: [0x62,0x22,0x7d,0x0e,0x31,0xc1] + vpmovzxbd %xmm17, %xmm24 {%k6} + +// CHECK: vpmovzxbd %xmm17, %xmm24 {%k6} {z} +// CHECK: encoding: [0x62,0x22,0x7d,0x8e,0x31,0xc1] + vpmovzxbd %xmm17, %xmm24 {%k6} {z} + +// CHECK: vpmovzxbd (%rcx), %xmm24 +// CHECK: encoding: [0x62,0x62,0x7d,0x08,0x31,0x01] + vpmovzxbd (%rcx), %xmm24 + +// CHECK: vpmovzxbd 291(%rax,%r14,8), %xmm24 +// CHECK: encoding: [0x62,0x22,0x7d,0x08,0x31,0x84,0xf0,0x23,0x01,0x00,0x00] + vpmovzxbd 291(%rax,%r14,8), %xmm24 + +// CHECK: vpmovzxbd 508(%rdx), %xmm24 +// CHECK: encoding: [0x62,0x62,0x7d,0x08,0x31,0x42,0x7f] + vpmovzxbd 508(%rdx), %xmm24 + +// CHECK: vpmovzxbd 512(%rdx), %xmm24 +// CHECK: encoding: [0x62,0x62,0x7d,0x08,0x31,0x82,0x00,0x02,0x00,0x00] + vpmovzxbd 512(%rdx), %xmm24 + +// CHECK: vpmovzxbd -512(%rdx), %xmm24 +// CHECK: encoding: [0x62,0x62,0x7d,0x08,0x31,0x42,0x80] + vpmovzxbd -512(%rdx), %xmm24 + +// CHECK: vpmovzxbd -516(%rdx), %xmm24 +// CHECK: encoding: [0x62,0x62,0x7d,0x08,0x31,0x82,0xfc,0xfd,0xff,0xff] + vpmovzxbd -516(%rdx), %xmm24 + +// CHECK: vpmovzxbd %xmm17, %ymm27 +// CHECK: encoding: [0x62,0x22,0x7d,0x28,0x31,0xd9] + vpmovzxbd %xmm17, %ymm27 + +// CHECK: vpmovzxbd %xmm17, %ymm27 {%k1} +// CHECK: encoding: [0x62,0x22,0x7d,0x29,0x31,0xd9] + vpmovzxbd %xmm17, %ymm27 {%k1} + +// CHECK: vpmovzxbd %xmm17, %ymm27 {%k1} {z} +// CHECK: encoding: [0x62,0x22,0x7d,0xa9,0x31,0xd9] + vpmovzxbd %xmm17, %ymm27 {%k1} {z} + +// CHECK: vpmovzxbd (%rcx), %ymm27 +// CHECK: encoding: [0x62,0x62,0x7d,0x28,0x31,0x19] + vpmovzxbd (%rcx), %ymm27 + +// CHECK: vpmovzxbd 291(%rax,%r14,8), %ymm27 +// CHECK: encoding: [0x62,0x22,0x7d,0x28,0x31,0x9c,0xf0,0x23,0x01,0x00,0x00] + vpmovzxbd 291(%rax,%r14,8), %ymm27 + +// CHECK: vpmovzxbd 1016(%rdx), %ymm27 +// CHECK: encoding: [0x62,0x62,0x7d,0x28,0x31,0x5a,0x7f] + vpmovzxbd 1016(%rdx), %ymm27 + +// CHECK: vpmovzxbd 1024(%rdx), %ymm27 +// CHECK: encoding: [0x62,0x62,0x7d,0x28,0x31,0x9a,0x00,0x04,0x00,0x00] + vpmovzxbd 1024(%rdx), %ymm27 + +// CHECK: vpmovzxbd -1024(%rdx), %ymm27 +// CHECK: encoding: [0x62,0x62,0x7d,0x28,0x31,0x5a,0x80] + vpmovzxbd -1024(%rdx), %ymm27 + +// CHECK: vpmovzxbd -1032(%rdx), %ymm27 +// CHECK: encoding: [0x62,0x62,0x7d,0x28,0x31,0x9a,0xf8,0xfb,0xff,0xff] + vpmovzxbd -1032(%rdx), %ymm27 + +// CHECK: vpmovzxbq %xmm19, %xmm19 +// CHECK: encoding: [0x62,0xa2,0x7d,0x08,0x32,0xdb] + vpmovzxbq %xmm19, %xmm19 + +// CHECK: vpmovzxbq %xmm19, %xmm19 {%k1} +// CHECK: encoding: [0x62,0xa2,0x7d,0x09,0x32,0xdb] + vpmovzxbq %xmm19, %xmm19 {%k1} + +// CHECK: vpmovzxbq %xmm19, %xmm19 {%k1} {z} +// CHECK: encoding: [0x62,0xa2,0x7d,0x89,0x32,0xdb] + vpmovzxbq %xmm19, %xmm19 {%k1} {z} + +// CHECK: vpmovzxbq (%rcx), %xmm19 +// CHECK: encoding: [0x62,0xe2,0x7d,0x08,0x32,0x19] + vpmovzxbq (%rcx), %xmm19 + +// CHECK: vpmovzxbq 291(%rax,%r14,8), %xmm19 +// CHECK: encoding: [0x62,0xa2,0x7d,0x08,0x32,0x9c,0xf0,0x23,0x01,0x00,0x00] + vpmovzxbq 291(%rax,%r14,8), %xmm19 + +// CHECK: vpmovzxbq 254(%rdx), %xmm19 +// CHECK: encoding: [0x62,0xe2,0x7d,0x08,0x32,0x5a,0x7f] + vpmovzxbq 254(%rdx), %xmm19 + +// CHECK: vpmovzxbq 256(%rdx), %xmm19 +// CHECK: encoding: [0x62,0xe2,0x7d,0x08,0x32,0x9a,0x00,0x01,0x00,0x00] + vpmovzxbq 256(%rdx), %xmm19 + +// CHECK: vpmovzxbq -256(%rdx), %xmm19 +// CHECK: encoding: [0x62,0xe2,0x7d,0x08,0x32,0x5a,0x80] + vpmovzxbq -256(%rdx), %xmm19 + +// CHECK: vpmovzxbq -258(%rdx), %xmm19 +// CHECK: encoding: [0x62,0xe2,0x7d,0x08,0x32,0x9a,0xfe,0xfe,0xff,0xff] + vpmovzxbq -258(%rdx), %xmm19 + +// CHECK: vpmovzxbq %xmm19, %ymm24 +// CHECK: encoding: [0x62,0x22,0x7d,0x28,0x32,0xc3] + vpmovzxbq %xmm19, %ymm24 + +// CHECK: vpmovzxbq %xmm19, %ymm24 {%k2} +// CHECK: encoding: [0x62,0x22,0x7d,0x2a,0x32,0xc3] + vpmovzxbq %xmm19, %ymm24 {%k2} + +// CHECK: vpmovzxbq %xmm19, %ymm24 {%k2} {z} +// CHECK: encoding: [0x62,0x22,0x7d,0xaa,0x32,0xc3] + vpmovzxbq %xmm19, %ymm24 {%k2} {z} + +// CHECK: vpmovzxbq (%rcx), %ymm24 +// CHECK: encoding: [0x62,0x62,0x7d,0x28,0x32,0x01] + vpmovzxbq (%rcx), %ymm24 + +// CHECK: vpmovzxbq 291(%rax,%r14,8), %ymm24 +// CHECK: encoding: [0x62,0x22,0x7d,0x28,0x32,0x84,0xf0,0x23,0x01,0x00,0x00] + vpmovzxbq 291(%rax,%r14,8), %ymm24 + +// CHECK: vpmovzxbq 508(%rdx), %ymm24 +// CHECK: encoding: [0x62,0x62,0x7d,0x28,0x32,0x42,0x7f] + vpmovzxbq 508(%rdx), %ymm24 + +// CHECK: vpmovzxbq 512(%rdx), %ymm24 +// CHECK: encoding: [0x62,0x62,0x7d,0x28,0x32,0x82,0x00,0x02,0x00,0x00] + vpmovzxbq 512(%rdx), %ymm24 + +// CHECK: vpmovzxbq -512(%rdx), %ymm24 +// CHECK: encoding: [0x62,0x62,0x7d,0x28,0x32,0x42,0x80] + vpmovzxbq -512(%rdx), %ymm24 + +// CHECK: vpmovzxbq -516(%rdx), %ymm24 +// CHECK: encoding: [0x62,0x62,0x7d,0x28,0x32,0x82,0xfc,0xfd,0xff,0xff] + vpmovzxbq -516(%rdx), %ymm24 + +// CHECK: vpmovzxdq %xmm21, %xmm25 +// CHECK: encoding: [0x62,0x22,0x7d,0x08,0x35,0xcd] + vpmovzxdq %xmm21, %xmm25 + +// CHECK: vpmovzxdq %xmm21, %xmm25 {%k7} +// CHECK: encoding: [0x62,0x22,0x7d,0x0f,0x35,0xcd] + vpmovzxdq %xmm21, %xmm25 {%k7} + +// CHECK: vpmovzxdq %xmm21, %xmm25 {%k7} {z} +// CHECK: encoding: [0x62,0x22,0x7d,0x8f,0x35,0xcd] + vpmovzxdq %xmm21, %xmm25 {%k7} {z} + +// CHECK: vpmovzxdq (%rcx), %xmm25 +// CHECK: encoding: [0x62,0x62,0x7d,0x08,0x35,0x09] + vpmovzxdq (%rcx), %xmm25 + +// CHECK: vpmovzxdq 291(%rax,%r14,8), %xmm25 +// CHECK: encoding: [0x62,0x22,0x7d,0x08,0x35,0x8c,0xf0,0x23,0x01,0x00,0x00] + vpmovzxdq 291(%rax,%r14,8), %xmm25 + +// CHECK: vpmovzxdq 1016(%rdx), %xmm25 +// CHECK: encoding: [0x62,0x62,0x7d,0x08,0x35,0x4a,0x7f] + vpmovzxdq 1016(%rdx), %xmm25 + +// CHECK: vpmovzxdq 1024(%rdx), %xmm25 +// CHECK: encoding: [0x62,0x62,0x7d,0x08,0x35,0x8a,0x00,0x04,0x00,0x00] + vpmovzxdq 1024(%rdx), %xmm25 + +// CHECK: vpmovzxdq -1024(%rdx), %xmm25 +// CHECK: encoding: [0x62,0x62,0x7d,0x08,0x35,0x4a,0x80] + vpmovzxdq -1024(%rdx), %xmm25 + +// CHECK: vpmovzxdq -1032(%rdx), %xmm25 +// CHECK: encoding: [0x62,0x62,0x7d,0x08,0x35,0x8a,0xf8,0xfb,0xff,0xff] + vpmovzxdq -1032(%rdx), %xmm25 + +// CHECK: vpmovzxdq %xmm22, %ymm28 +// CHECK: encoding: [0x62,0x22,0x7d,0x28,0x35,0xe6] + vpmovzxdq %xmm22, %ymm28 + +// CHECK: vpmovzxdq %xmm22, %ymm28 {%k7} +// CHECK: encoding: [0x62,0x22,0x7d,0x2f,0x35,0xe6] + vpmovzxdq %xmm22, %ymm28 {%k7} + +// CHECK: vpmovzxdq %xmm22, %ymm28 {%k7} {z} +// CHECK: encoding: [0x62,0x22,0x7d,0xaf,0x35,0xe6] + vpmovzxdq %xmm22, %ymm28 {%k7} {z} + +// CHECK: vpmovzxdq (%rcx), %ymm28 +// CHECK: encoding: [0x62,0x62,0x7d,0x28,0x35,0x21] + vpmovzxdq (%rcx), %ymm28 + +// CHECK: vpmovzxdq 291(%rax,%r14,8), %ymm28 +// CHECK: encoding: [0x62,0x22,0x7d,0x28,0x35,0xa4,0xf0,0x23,0x01,0x00,0x00] + vpmovzxdq 291(%rax,%r14,8), %ymm28 + +// CHECK: vpmovzxdq 2032(%rdx), %ymm28 +// CHECK: encoding: [0x62,0x62,0x7d,0x28,0x35,0x62,0x7f] + vpmovzxdq 2032(%rdx), %ymm28 + +// CHECK: vpmovzxdq 2048(%rdx), %ymm28 +// CHECK: encoding: [0x62,0x62,0x7d,0x28,0x35,0xa2,0x00,0x08,0x00,0x00] + vpmovzxdq 2048(%rdx), %ymm28 + +// CHECK: vpmovzxdq -2048(%rdx), %ymm28 +// CHECK: encoding: [0x62,0x62,0x7d,0x28,0x35,0x62,0x80] + vpmovzxdq -2048(%rdx), %ymm28 + +// CHECK: vpmovzxdq -2064(%rdx), %ymm28 +// CHECK: encoding: [0x62,0x62,0x7d,0x28,0x35,0xa2,0xf0,0xf7,0xff,0xff] + vpmovzxdq -2064(%rdx), %ymm28 + +// CHECK: vpmovzxwd %xmm17, %xmm24 +// CHECK: encoding: [0x62,0x22,0x7d,0x08,0x33,0xc1] + vpmovzxwd %xmm17, %xmm24 + +// CHECK: vpmovzxwd %xmm17, %xmm24 {%k4} +// CHECK: encoding: [0x62,0x22,0x7d,0x0c,0x33,0xc1] + vpmovzxwd %xmm17, %xmm24 {%k4} + +// CHECK: vpmovzxwd %xmm17, %xmm24 {%k4} {z} +// CHECK: encoding: [0x62,0x22,0x7d,0x8c,0x33,0xc1] + vpmovzxwd %xmm17, %xmm24 {%k4} {z} + +// CHECK: vpmovzxwd (%rcx), %xmm24 +// CHECK: encoding: [0x62,0x62,0x7d,0x08,0x33,0x01] + vpmovzxwd (%rcx), %xmm24 + +// CHECK: vpmovzxwd 291(%rax,%r14,8), %xmm24 +// CHECK: encoding: [0x62,0x22,0x7d,0x08,0x33,0x84,0xf0,0x23,0x01,0x00,0x00] + vpmovzxwd 291(%rax,%r14,8), %xmm24 + +// CHECK: vpmovzxwd 1016(%rdx), %xmm24 +// CHECK: encoding: [0x62,0x62,0x7d,0x08,0x33,0x42,0x7f] + vpmovzxwd 1016(%rdx), %xmm24 + +// CHECK: vpmovzxwd 1024(%rdx), %xmm24 +// CHECK: encoding: [0x62,0x62,0x7d,0x08,0x33,0x82,0x00,0x04,0x00,0x00] + vpmovzxwd 1024(%rdx), %xmm24 + +// CHECK: vpmovzxwd -1024(%rdx), %xmm24 +// CHECK: encoding: [0x62,0x62,0x7d,0x08,0x33,0x42,0x80] + vpmovzxwd -1024(%rdx), %xmm24 + +// CHECK: vpmovzxwd -1032(%rdx), %xmm24 +// CHECK: encoding: [0x62,0x62,0x7d,0x08,0x33,0x82,0xf8,0xfb,0xff,0xff] + vpmovzxwd -1032(%rdx), %xmm24 + +// CHECK: vpmovzxwd %xmm29, %ymm26 +// CHECK: encoding: [0x62,0x02,0x7d,0x28,0x33,0xd5] + vpmovzxwd %xmm29, %ymm26 + +// CHECK: vpmovzxwd %xmm29, %ymm26 {%k5} +// CHECK: encoding: [0x62,0x02,0x7d,0x2d,0x33,0xd5] + vpmovzxwd %xmm29, %ymm26 {%k5} + +// CHECK: vpmovzxwd %xmm29, %ymm26 {%k5} {z} +// CHECK: encoding: [0x62,0x02,0x7d,0xad,0x33,0xd5] + vpmovzxwd %xmm29, %ymm26 {%k5} {z} + +// CHECK: vpmovzxwd (%rcx), %ymm26 +// CHECK: encoding: [0x62,0x62,0x7d,0x28,0x33,0x11] + vpmovzxwd (%rcx), %ymm26 + +// CHECK: vpmovzxwd 291(%rax,%r14,8), %ymm26 +// CHECK: encoding: [0x62,0x22,0x7d,0x28,0x33,0x94,0xf0,0x23,0x01,0x00,0x00] + vpmovzxwd 291(%rax,%r14,8), %ymm26 + +// CHECK: vpmovzxwd 2032(%rdx), %ymm26 +// CHECK: encoding: [0x62,0x62,0x7d,0x28,0x33,0x52,0x7f] + vpmovzxwd 2032(%rdx), %ymm26 + +// CHECK: vpmovzxwd 2048(%rdx), %ymm26 +// CHECK: encoding: [0x62,0x62,0x7d,0x28,0x33,0x92,0x00,0x08,0x00,0x00] + vpmovzxwd 2048(%rdx), %ymm26 + +// CHECK: vpmovzxwd -2048(%rdx), %ymm26 +// CHECK: encoding: [0x62,0x62,0x7d,0x28,0x33,0x52,0x80] + vpmovzxwd -2048(%rdx), %ymm26 + +// CHECK: vpmovzxwd -2064(%rdx), %ymm26 +// CHECK: encoding: [0x62,0x62,0x7d,0x28,0x33,0x92,0xf0,0xf7,0xff,0xff] + vpmovzxwd -2064(%rdx), %ymm26 + +// CHECK: vpmovzxwq %xmm20, %xmm29 +// CHECK: encoding: [0x62,0x22,0x7d,0x08,0x34,0xec] + vpmovzxwq %xmm20, %xmm29 + +// CHECK: vpmovzxwq %xmm20, %xmm29 {%k2} +// CHECK: encoding: [0x62,0x22,0x7d,0x0a,0x34,0xec] + vpmovzxwq %xmm20, %xmm29 {%k2} + +// CHECK: vpmovzxwq %xmm20, %xmm29 {%k2} {z} +// CHECK: encoding: [0x62,0x22,0x7d,0x8a,0x34,0xec] + vpmovzxwq %xmm20, %xmm29 {%k2} {z} + +// CHECK: vpmovzxwq (%rcx), %xmm29 +// CHECK: encoding: [0x62,0x62,0x7d,0x08,0x34,0x29] + vpmovzxwq (%rcx), %xmm29 + +// CHECK: vpmovzxwq 291(%rax,%r14,8), %xmm29 +// CHECK: encoding: [0x62,0x22,0x7d,0x08,0x34,0xac,0xf0,0x23,0x01,0x00,0x00] + vpmovzxwq 291(%rax,%r14,8), %xmm29 + +// CHECK: vpmovzxwq 508(%rdx), %xmm29 +// CHECK: encoding: [0x62,0x62,0x7d,0x08,0x34,0x6a,0x7f] + vpmovzxwq 508(%rdx), %xmm29 + +// CHECK: vpmovzxwq 512(%rdx), %xmm29 +// CHECK: encoding: [0x62,0x62,0x7d,0x08,0x34,0xaa,0x00,0x02,0x00,0x00] + vpmovzxwq 512(%rdx), %xmm29 + +// CHECK: vpmovzxwq -512(%rdx), %xmm29 +// CHECK: encoding: [0x62,0x62,0x7d,0x08,0x34,0x6a,0x80] + vpmovzxwq -512(%rdx), %xmm29 + +// CHECK: vpmovzxwq -516(%rdx), %xmm29 +// CHECK: encoding: [0x62,0x62,0x7d,0x08,0x34,0xaa,0xfc,0xfd,0xff,0xff] + vpmovzxwq -516(%rdx), %xmm29 + +// CHECK: vpmovzxwq %xmm25, %ymm18 +// CHECK: encoding: [0x62,0x82,0x7d,0x28,0x34,0xd1] + vpmovzxwq %xmm25, %ymm18 + +// CHECK: vpmovzxwq %xmm25, %ymm18 {%k1} +// CHECK: encoding: [0x62,0x82,0x7d,0x29,0x34,0xd1] + vpmovzxwq %xmm25, %ymm18 {%k1} + +// CHECK: vpmovzxwq %xmm25, %ymm18 {%k1} {z} +// CHECK: encoding: [0x62,0x82,0x7d,0xa9,0x34,0xd1] + vpmovzxwq %xmm25, %ymm18 {%k1} {z} + +// CHECK: vpmovzxwq (%rcx), %ymm18 +// CHECK: encoding: [0x62,0xe2,0x7d,0x28,0x34,0x11] + vpmovzxwq (%rcx), %ymm18 + +// CHECK: vpmovzxwq 291(%rax,%r14,8), %ymm18 +// CHECK: encoding: [0x62,0xa2,0x7d,0x28,0x34,0x94,0xf0,0x23,0x01,0x00,0x00] + vpmovzxwq 291(%rax,%r14,8), %ymm18 + +// CHECK: vpmovzxwq 1016(%rdx), %ymm18 +// CHECK: encoding: [0x62,0xe2,0x7d,0x28,0x34,0x52,0x7f] + vpmovzxwq 1016(%rdx), %ymm18 + +// CHECK: vpmovzxwq 1024(%rdx), %ymm18 +// CHECK: encoding: [0x62,0xe2,0x7d,0x28,0x34,0x92,0x00,0x04,0x00,0x00] + vpmovzxwq 1024(%rdx), %ymm18 + +// CHECK: vpmovzxwq -1024(%rdx), %ymm18 +// CHECK: encoding: [0x62,0xe2,0x7d,0x28,0x34,0x52,0x80] + vpmovzxwq -1024(%rdx), %ymm18 + +// CHECK: vpmovzxwq -1032(%rdx), %ymm18 +// CHECK: encoding: [0x62,0xe2,0x7d,0x28,0x34,0x92,0xf8,0xfb,0xff,0xff] + vpmovzxwq -1032(%rdx), %ymm18 + // CHECK: vpmulld %xmm24, %xmm19, %xmm25 // CHECK: encoding: [0x62,0x02,0x65,0x00,0x40,0xc8] vpmulld %xmm24, %xmm19, %xmm25 @@ -8027,3 +8747,1804 @@ vaddpd {rz-sae}, %zmm2, %zmm1, %zmm1 // CHECK: vpsrlq $123, -1032(%rdx){1to4}, %ymm29 // CHECK: encoding: [0x62,0xf1,0x95,0x30,0x73,0x92,0xf8,0xfb,0xff,0xff,0x7b] vpsrlq $123, -1032(%rdx){1to4}, %ymm29 + +// CHECK: vprolvd %xmm20, %xmm20, %xmm30 +// CHECK: encoding: [0x62,0x22,0x5d,0x00,0x15,0xf4] + vprolvd %xmm20, %xmm20, %xmm30 + +// CHECK: vprolvd %xmm20, %xmm20, %xmm30 {%k2} +// CHECK: encoding: [0x62,0x22,0x5d,0x02,0x15,0xf4] + vprolvd %xmm20, %xmm20, %xmm30 {%k2} + +// CHECK: vprolvd %xmm20, %xmm20, %xmm30 {%k2} {z} +// CHECK: encoding: [0x62,0x22,0x5d,0x82,0x15,0xf4] + vprolvd %xmm20, %xmm20, %xmm30 {%k2} {z} + +// CHECK: vprolvd (%rcx), %xmm20, %xmm30 +// CHECK: encoding: [0x62,0x62,0x5d,0x00,0x15,0x31] + vprolvd (%rcx), %xmm20, %xmm30 + +// CHECK: vprolvd 291(%rax,%r14,8), %xmm20, %xmm30 +// CHECK: encoding: [0x62,0x22,0x5d,0x00,0x15,0xb4,0xf0,0x23,0x01,0x00,0x00] + vprolvd 291(%rax,%r14,8), %xmm20, %xmm30 + +// CHECK: vprolvd (%rcx){1to4}, %xmm20, %xmm30 +// CHECK: encoding: [0x62,0x62,0x5d,0x10,0x15,0x31] + vprolvd (%rcx){1to4}, %xmm20, %xmm30 + +// CHECK: vprolvd 2032(%rdx), %xmm20, %xmm30 +// CHECK: encoding: [0x62,0x62,0x5d,0x00,0x15,0x72,0x7f] + vprolvd 2032(%rdx), %xmm20, %xmm30 + +// CHECK: vprolvd 2048(%rdx), %xmm20, %xmm30 +// CHECK: encoding: [0x62,0x62,0x5d,0x00,0x15,0xb2,0x00,0x08,0x00,0x00] + vprolvd 2048(%rdx), %xmm20, %xmm30 + +// CHECK: vprolvd -2048(%rdx), %xmm20, %xmm30 +// CHECK: encoding: [0x62,0x62,0x5d,0x00,0x15,0x72,0x80] + vprolvd -2048(%rdx), %xmm20, %xmm30 + +// CHECK: vprolvd -2064(%rdx), %xmm20, %xmm30 +// CHECK: encoding: [0x62,0x62,0x5d,0x00,0x15,0xb2,0xf0,0xf7,0xff,0xff] + vprolvd -2064(%rdx), %xmm20, %xmm30 + +// CHECK: vprolvd 508(%rdx){1to4}, %xmm20, %xmm30 +// CHECK: encoding: [0x62,0x62,0x5d,0x10,0x15,0x72,0x7f] + vprolvd 508(%rdx){1to4}, %xmm20, %xmm30 + +// CHECK: vprolvd 512(%rdx){1to4}, %xmm20, %xmm30 +// CHECK: encoding: [0x62,0x62,0x5d,0x10,0x15,0xb2,0x00,0x02,0x00,0x00] + vprolvd 512(%rdx){1to4}, %xmm20, %xmm30 + +// CHECK: vprolvd -512(%rdx){1to4}, %xmm20, %xmm30 +// CHECK: encoding: [0x62,0x62,0x5d,0x10,0x15,0x72,0x80] + vprolvd -512(%rdx){1to4}, %xmm20, %xmm30 + +// CHECK: vprolvd -516(%rdx){1to4}, %xmm20, %xmm30 +// CHECK: encoding: [0x62,0x62,0x5d,0x10,0x15,0xb2,0xfc,0xfd,0xff,0xff] + vprolvd -516(%rdx){1to4}, %xmm20, %xmm30 + +// CHECK: vprolvd %ymm19, %ymm23, %ymm26 +// CHECK: encoding: [0x62,0x22,0x45,0x20,0x15,0xd3] + vprolvd %ymm19, %ymm23, %ymm26 + +// CHECK: vprolvd %ymm19, %ymm23, %ymm26 {%k1} +// CHECK: encoding: [0x62,0x22,0x45,0x21,0x15,0xd3] + vprolvd %ymm19, %ymm23, %ymm26 {%k1} + +// CHECK: vprolvd %ymm19, %ymm23, %ymm26 {%k1} {z} +// CHECK: encoding: [0x62,0x22,0x45,0xa1,0x15,0xd3] + vprolvd %ymm19, %ymm23, %ymm26 {%k1} {z} + +// CHECK: vprolvd (%rcx), %ymm23, %ymm26 +// CHECK: encoding: [0x62,0x62,0x45,0x20,0x15,0x11] + vprolvd (%rcx), %ymm23, %ymm26 + +// CHECK: vprolvd 291(%rax,%r14,8), %ymm23, %ymm26 +// CHECK: encoding: [0x62,0x22,0x45,0x20,0x15,0x94,0xf0,0x23,0x01,0x00,0x00] + vprolvd 291(%rax,%r14,8), %ymm23, %ymm26 + +// CHECK: vprolvd (%rcx){1to8}, %ymm23, %ymm26 +// CHECK: encoding: [0x62,0x62,0x45,0x30,0x15,0x11] + vprolvd (%rcx){1to8}, %ymm23, %ymm26 + +// CHECK: vprolvd 4064(%rdx), %ymm23, %ymm26 +// CHECK: encoding: [0x62,0x62,0x45,0x20,0x15,0x52,0x7f] + vprolvd 4064(%rdx), %ymm23, %ymm26 + +// CHECK: vprolvd 4096(%rdx), %ymm23, %ymm26 +// CHECK: encoding: [0x62,0x62,0x45,0x20,0x15,0x92,0x00,0x10,0x00,0x00] + vprolvd 4096(%rdx), %ymm23, %ymm26 + +// CHECK: vprolvd -4096(%rdx), %ymm23, %ymm26 +// CHECK: encoding: [0x62,0x62,0x45,0x20,0x15,0x52,0x80] + vprolvd -4096(%rdx), %ymm23, %ymm26 + +// CHECK: vprolvd -4128(%rdx), %ymm23, %ymm26 +// CHECK: encoding: [0x62,0x62,0x45,0x20,0x15,0x92,0xe0,0xef,0xff,0xff] + vprolvd -4128(%rdx), %ymm23, %ymm26 + +// CHECK: vprolvd 508(%rdx){1to8}, %ymm23, %ymm26 +// CHECK: encoding: [0x62,0x62,0x45,0x30,0x15,0x52,0x7f] + vprolvd 508(%rdx){1to8}, %ymm23, %ymm26 + +// CHECK: vprolvd 512(%rdx){1to8}, %ymm23, %ymm26 +// CHECK: encoding: [0x62,0x62,0x45,0x30,0x15,0x92,0x00,0x02,0x00,0x00] + vprolvd 512(%rdx){1to8}, %ymm23, %ymm26 + +// CHECK: vprolvd -512(%rdx){1to8}, %ymm23, %ymm26 +// CHECK: encoding: [0x62,0x62,0x45,0x30,0x15,0x52,0x80] + vprolvd -512(%rdx){1to8}, %ymm23, %ymm26 + +// CHECK: vprolvd -516(%rdx){1to8}, %ymm23, %ymm26 +// CHECK: encoding: [0x62,0x62,0x45,0x30,0x15,0x92,0xfc,0xfd,0xff,0xff] + vprolvd -516(%rdx){1to8}, %ymm23, %ymm26 + +// CHECK: vprold $171, %xmm23, %xmm18 +// CHECK: encoding: [0x62,0xb1,0x6d,0x00,0x72,0xcf,0xab] + vprold $171, %xmm23, %xmm18 + +// CHECK: vprold $171, %xmm23, %xmm18 {%k3} +// CHECK: encoding: [0x62,0xb1,0x6d,0x03,0x72,0xcf,0xab] + vprold $171, %xmm23, %xmm18 {%k3} + +// CHECK: vprold $171, %xmm23, %xmm18 {%k3} {z} +// CHECK: encoding: [0x62,0xb1,0x6d,0x83,0x72,0xcf,0xab] + vprold $171, %xmm23, %xmm18 {%k3} {z} + +// CHECK: vprold $123, %xmm23, %xmm18 +// CHECK: encoding: [0x62,0xb1,0x6d,0x00,0x72,0xcf,0x7b] + vprold $123, %xmm23, %xmm18 + +// CHECK: vprold $123, (%rcx), %xmm18 +// CHECK: encoding: [0x62,0xf1,0x6d,0x00,0x72,0x09,0x7b] + vprold $123, (%rcx), %xmm18 + +// CHECK: vprold $123, 291(%rax,%r14,8), %xmm18 +// CHECK: encoding: [0x62,0xb1,0x6d,0x00,0x72,0x8c,0xf0,0x23,0x01,0x00,0x00,0x7b] + vprold $123, 291(%rax,%r14,8), %xmm18 + +// CHECK: vprold $123, (%rcx){1to4}, %xmm18 +// CHECK: encoding: [0x62,0xf1,0x6d,0x10,0x72,0x09,0x7b] + vprold $123, (%rcx){1to4}, %xmm18 + +// CHECK: vprold $123, 2032(%rdx), %xmm18 +// CHECK: encoding: [0x62,0xf1,0x6d,0x00,0x72,0x4a,0x7f,0x7b] + vprold $123, 2032(%rdx), %xmm18 + +// CHECK: vprold $123, 2048(%rdx), %xmm18 +// CHECK: encoding: [0x62,0xf1,0x6d,0x00,0x72,0x8a,0x00,0x08,0x00,0x00,0x7b] + vprold $123, 2048(%rdx), %xmm18 + +// CHECK: vprold $123, -2048(%rdx), %xmm18 +// CHECK: encoding: [0x62,0xf1,0x6d,0x00,0x72,0x4a,0x80,0x7b] + vprold $123, -2048(%rdx), %xmm18 + +// CHECK: vprold $123, -2064(%rdx), %xmm18 +// CHECK: encoding: [0x62,0xf1,0x6d,0x00,0x72,0x8a,0xf0,0xf7,0xff,0xff,0x7b] + vprold $123, -2064(%rdx), %xmm18 + +// CHECK: vprold $123, 508(%rdx){1to4}, %xmm18 +// CHECK: encoding: [0x62,0xf1,0x6d,0x10,0x72,0x4a,0x7f,0x7b] + vprold $123, 508(%rdx){1to4}, %xmm18 + +// CHECK: vprold $123, 512(%rdx){1to4}, %xmm18 +// CHECK: encoding: [0x62,0xf1,0x6d,0x10,0x72,0x8a,0x00,0x02,0x00,0x00,0x7b] + vprold $123, 512(%rdx){1to4}, %xmm18 + +// CHECK: vprold $123, -512(%rdx){1to4}, %xmm18 +// CHECK: encoding: [0x62,0xf1,0x6d,0x10,0x72,0x4a,0x80,0x7b] + vprold $123, -512(%rdx){1to4}, %xmm18 + +// CHECK: vprold $123, -516(%rdx){1to4}, %xmm18 +// CHECK: encoding: [0x62,0xf1,0x6d,0x10,0x72,0x8a,0xfc,0xfd,0xff,0xff,0x7b] + vprold $123, -516(%rdx){1to4}, %xmm18 + +// CHECK: vprold $171, %ymm19, %ymm29 +// CHECK: encoding: [0x62,0xb1,0x15,0x20,0x72,0xcb,0xab] + vprold $171, %ymm19, %ymm29 + +// CHECK: vprold $171, %ymm19, %ymm29 {%k1} +// CHECK: encoding: [0x62,0xb1,0x15,0x21,0x72,0xcb,0xab] + vprold $171, %ymm19, %ymm29 {%k1} + +// CHECK: vprold $171, %ymm19, %ymm29 {%k1} {z} +// CHECK: encoding: [0x62,0xb1,0x15,0xa1,0x72,0xcb,0xab] + vprold $171, %ymm19, %ymm29 {%k1} {z} + +// CHECK: vprold $123, %ymm19, %ymm29 +// CHECK: encoding: [0x62,0xb1,0x15,0x20,0x72,0xcb,0x7b] + vprold $123, %ymm19, %ymm29 + +// CHECK: vprold $123, (%rcx), %ymm29 +// CHECK: encoding: [0x62,0xf1,0x15,0x20,0x72,0x09,0x7b] + vprold $123, (%rcx), %ymm29 + +// CHECK: vprold $123, 291(%rax,%r14,8), %ymm29 +// CHECK: encoding: [0x62,0xb1,0x15,0x20,0x72,0x8c,0xf0,0x23,0x01,0x00,0x00,0x7b] + vprold $123, 291(%rax,%r14,8), %ymm29 + +// CHECK: vprold $123, (%rcx){1to8}, %ymm29 +// CHECK: encoding: [0x62,0xf1,0x15,0x30,0x72,0x09,0x7b] + vprold $123, (%rcx){1to8}, %ymm29 + +// CHECK: vprold $123, 4064(%rdx), %ymm29 +// CHECK: encoding: [0x62,0xf1,0x15,0x20,0x72,0x4a,0x7f,0x7b] + vprold $123, 4064(%rdx), %ymm29 + +// CHECK: vprold $123, 4096(%rdx), %ymm29 +// CHECK: encoding: [0x62,0xf1,0x15,0x20,0x72,0x8a,0x00,0x10,0x00,0x00,0x7b] + vprold $123, 4096(%rdx), %ymm29 + +// CHECK: vprold $123, -4096(%rdx), %ymm29 +// CHECK: encoding: [0x62,0xf1,0x15,0x20,0x72,0x4a,0x80,0x7b] + vprold $123, -4096(%rdx), %ymm29 + +// CHECK: vprold $123, -4128(%rdx), %ymm29 +// CHECK: encoding: [0x62,0xf1,0x15,0x20,0x72,0x8a,0xe0,0xef,0xff,0xff,0x7b] + vprold $123, -4128(%rdx), %ymm29 + +// CHECK: vprold $123, 508(%rdx){1to8}, %ymm29 +// CHECK: encoding: [0x62,0xf1,0x15,0x30,0x72,0x4a,0x7f,0x7b] + vprold $123, 508(%rdx){1to8}, %ymm29 + +// CHECK: vprold $123, 512(%rdx){1to8}, %ymm29 +// CHECK: encoding: [0x62,0xf1,0x15,0x30,0x72,0x8a,0x00,0x02,0x00,0x00,0x7b] + vprold $123, 512(%rdx){1to8}, %ymm29 + +// CHECK: vprold $123, -512(%rdx){1to8}, %ymm29 +// CHECK: encoding: [0x62,0xf1,0x15,0x30,0x72,0x4a,0x80,0x7b] + vprold $123, -512(%rdx){1to8}, %ymm29 + +// CHECK: vprold $123, -516(%rdx){1to8}, %ymm29 +// CHECK: encoding: [0x62,0xf1,0x15,0x30,0x72,0x8a,0xfc,0xfd,0xff,0xff,0x7b] + vprold $123, -516(%rdx){1to8}, %ymm29 + +// CHECK: vprolvq %xmm17, %xmm22, %xmm25 +// CHECK: encoding: [0x62,0x22,0xcd,0x00,0x15,0xc9] + vprolvq %xmm17, %xmm22, %xmm25 + +// CHECK: vprolvq %xmm17, %xmm22, %xmm25 {%k5} +// CHECK: encoding: [0x62,0x22,0xcd,0x05,0x15,0xc9] + vprolvq %xmm17, %xmm22, %xmm25 {%k5} + +// CHECK: vprolvq %xmm17, %xmm22, %xmm25 {%k5} {z} +// CHECK: encoding: [0x62,0x22,0xcd,0x85,0x15,0xc9] + vprolvq %xmm17, %xmm22, %xmm25 {%k5} {z} + +// CHECK: vprolvq (%rcx), %xmm22, %xmm25 +// CHECK: encoding: [0x62,0x62,0xcd,0x00,0x15,0x09] + vprolvq (%rcx), %xmm22, %xmm25 + +// CHECK: vprolvq 291(%rax,%r14,8), %xmm22, %xmm25 +// CHECK: encoding: [0x62,0x22,0xcd,0x00,0x15,0x8c,0xf0,0x23,0x01,0x00,0x00] + vprolvq 291(%rax,%r14,8), %xmm22, %xmm25 + +// CHECK: vprolvq (%rcx){1to2}, %xmm22, %xmm25 +// CHECK: encoding: [0x62,0x62,0xcd,0x10,0x15,0x09] + vprolvq (%rcx){1to2}, %xmm22, %xmm25 + +// CHECK: vprolvq 2032(%rdx), %xmm22, %xmm25 +// CHECK: encoding: [0x62,0x62,0xcd,0x00,0x15,0x4a,0x7f] + vprolvq 2032(%rdx), %xmm22, %xmm25 + +// CHECK: vprolvq 2048(%rdx), %xmm22, %xmm25 +// CHECK: encoding: [0x62,0x62,0xcd,0x00,0x15,0x8a,0x00,0x08,0x00,0x00] + vprolvq 2048(%rdx), %xmm22, %xmm25 + +// CHECK: vprolvq -2048(%rdx), %xmm22, %xmm25 +// CHECK: encoding: [0x62,0x62,0xcd,0x00,0x15,0x4a,0x80] + vprolvq -2048(%rdx), %xmm22, %xmm25 + +// CHECK: vprolvq -2064(%rdx), %xmm22, %xmm25 +// CHECK: encoding: [0x62,0x62,0xcd,0x00,0x15,0x8a,0xf0,0xf7,0xff,0xff] + vprolvq -2064(%rdx), %xmm22, %xmm25 + +// CHECK: vprolvq 1016(%rdx){1to2}, %xmm22, %xmm25 +// CHECK: encoding: [0x62,0x62,0xcd,0x10,0x15,0x4a,0x7f] + vprolvq 1016(%rdx){1to2}, %xmm22, %xmm25 + +// CHECK: vprolvq 1024(%rdx){1to2}, %xmm22, %xmm25 +// CHECK: encoding: [0x62,0x62,0xcd,0x10,0x15,0x8a,0x00,0x04,0x00,0x00] + vprolvq 1024(%rdx){1to2}, %xmm22, %xmm25 + +// CHECK: vprolvq -1024(%rdx){1to2}, %xmm22, %xmm25 +// CHECK: encoding: [0x62,0x62,0xcd,0x10,0x15,0x4a,0x80] + vprolvq -1024(%rdx){1to2}, %xmm22, %xmm25 + +// CHECK: vprolvq -1032(%rdx){1to2}, %xmm22, %xmm25 +// CHECK: encoding: [0x62,0x62,0xcd,0x10,0x15,0x8a,0xf8,0xfb,0xff,0xff] + vprolvq -1032(%rdx){1to2}, %xmm22, %xmm25 + +// CHECK: vprolvq %ymm28, %ymm17, %ymm17 +// CHECK: encoding: [0x62,0x82,0xf5,0x20,0x15,0xcc] + vprolvq %ymm28, %ymm17, %ymm17 + +// CHECK: vprolvq %ymm28, %ymm17, %ymm17 {%k3} +// CHECK: encoding: [0x62,0x82,0xf5,0x23,0x15,0xcc] + vprolvq %ymm28, %ymm17, %ymm17 {%k3} + +// CHECK: vprolvq %ymm28, %ymm17, %ymm17 {%k3} {z} +// CHECK: encoding: [0x62,0x82,0xf5,0xa3,0x15,0xcc] + vprolvq %ymm28, %ymm17, %ymm17 {%k3} {z} + +// CHECK: vprolvq (%rcx), %ymm17, %ymm17 +// CHECK: encoding: [0x62,0xe2,0xf5,0x20,0x15,0x09] + vprolvq (%rcx), %ymm17, %ymm17 + +// CHECK: vprolvq 291(%rax,%r14,8), %ymm17, %ymm17 +// CHECK: encoding: [0x62,0xa2,0xf5,0x20,0x15,0x8c,0xf0,0x23,0x01,0x00,0x00] + vprolvq 291(%rax,%r14,8), %ymm17, %ymm17 + +// CHECK: vprolvq (%rcx){1to4}, %ymm17, %ymm17 +// CHECK: encoding: [0x62,0xe2,0xf5,0x30,0x15,0x09] + vprolvq (%rcx){1to4}, %ymm17, %ymm17 + +// CHECK: vprolvq 4064(%rdx), %ymm17, %ymm17 +// CHECK: encoding: [0x62,0xe2,0xf5,0x20,0x15,0x4a,0x7f] + vprolvq 4064(%rdx), %ymm17, %ymm17 + +// CHECK: vprolvq 4096(%rdx), %ymm17, %ymm17 +// CHECK: encoding: [0x62,0xe2,0xf5,0x20,0x15,0x8a,0x00,0x10,0x00,0x00] + vprolvq 4096(%rdx), %ymm17, %ymm17 + +// CHECK: vprolvq -4096(%rdx), %ymm17, %ymm17 +// CHECK: encoding: [0x62,0xe2,0xf5,0x20,0x15,0x4a,0x80] + vprolvq -4096(%rdx), %ymm17, %ymm17 + +// CHECK: vprolvq -4128(%rdx), %ymm17, %ymm17 +// CHECK: encoding: [0x62,0xe2,0xf5,0x20,0x15,0x8a,0xe0,0xef,0xff,0xff] + vprolvq -4128(%rdx), %ymm17, %ymm17 + +// CHECK: vprolvq 1016(%rdx){1to4}, %ymm17, %ymm17 +// CHECK: encoding: [0x62,0xe2,0xf5,0x30,0x15,0x4a,0x7f] + vprolvq 1016(%rdx){1to4}, %ymm17, %ymm17 + +// CHECK: vprolvq 1024(%rdx){1to4}, %ymm17, %ymm17 +// CHECK: encoding: [0x62,0xe2,0xf5,0x30,0x15,0x8a,0x00,0x04,0x00,0x00] + vprolvq 1024(%rdx){1to4}, %ymm17, %ymm17 + +// CHECK: vprolvq -1024(%rdx){1to4}, %ymm17, %ymm17 +// CHECK: encoding: [0x62,0xe2,0xf5,0x30,0x15,0x4a,0x80] + vprolvq -1024(%rdx){1to4}, %ymm17, %ymm17 + +// CHECK: vprolvq -1032(%rdx){1to4}, %ymm17, %ymm17 +// CHECK: encoding: [0x62,0xe2,0xf5,0x30,0x15,0x8a,0xf8,0xfb,0xff,0xff] + vprolvq -1032(%rdx){1to4}, %ymm17, %ymm17 + +// CHECK: vprolq $171, %xmm19, %xmm28 +// CHECK: encoding: [0x62,0xb1,0x9d,0x00,0x72,0xcb,0xab] + vprolq $171, %xmm19, %xmm28 + +// CHECK: vprolq $171, %xmm19, %xmm28 {%k2} +// CHECK: encoding: [0x62,0xb1,0x9d,0x02,0x72,0xcb,0xab] + vprolq $171, %xmm19, %xmm28 {%k2} + +// CHECK: vprolq $171, %xmm19, %xmm28 {%k2} {z} +// CHECK: encoding: [0x62,0xb1,0x9d,0x82,0x72,0xcb,0xab] + vprolq $171, %xmm19, %xmm28 {%k2} {z} + +// CHECK: vprolq $123, %xmm19, %xmm28 +// CHECK: encoding: [0x62,0xb1,0x9d,0x00,0x72,0xcb,0x7b] + vprolq $123, %xmm19, %xmm28 + +// CHECK: vprolq $123, (%rcx), %xmm28 +// CHECK: encoding: [0x62,0xf1,0x9d,0x00,0x72,0x09,0x7b] + vprolq $123, (%rcx), %xmm28 + +// CHECK: vprolq $123, 291(%rax,%r14,8), %xmm28 +// CHECK: encoding: [0x62,0xb1,0x9d,0x00,0x72,0x8c,0xf0,0x23,0x01,0x00,0x00,0x7b] + vprolq $123, 291(%rax,%r14,8), %xmm28 + +// CHECK: vprolq $123, (%rcx){1to2}, %xmm28 +// CHECK: encoding: [0x62,0xf1,0x9d,0x10,0x72,0x09,0x7b] + vprolq $123, (%rcx){1to2}, %xmm28 + +// CHECK: vprolq $123, 2032(%rdx), %xmm28 +// CHECK: encoding: [0x62,0xf1,0x9d,0x00,0x72,0x4a,0x7f,0x7b] + vprolq $123, 2032(%rdx), %xmm28 + +// CHECK: vprolq $123, 2048(%rdx), %xmm28 +// CHECK: encoding: [0x62,0xf1,0x9d,0x00,0x72,0x8a,0x00,0x08,0x00,0x00,0x7b] + vprolq $123, 2048(%rdx), %xmm28 + +// CHECK: vprolq $123, -2048(%rdx), %xmm28 +// CHECK: encoding: [0x62,0xf1,0x9d,0x00,0x72,0x4a,0x80,0x7b] + vprolq $123, -2048(%rdx), %xmm28 + +// CHECK: vprolq $123, -2064(%rdx), %xmm28 +// CHECK: encoding: [0x62,0xf1,0x9d,0x00,0x72,0x8a,0xf0,0xf7,0xff,0xff,0x7b] + vprolq $123, -2064(%rdx), %xmm28 + +// CHECK: vprolq $123, 1016(%rdx){1to2}, %xmm28 +// CHECK: encoding: [0x62,0xf1,0x9d,0x10,0x72,0x4a,0x7f,0x7b] + vprolq $123, 1016(%rdx){1to2}, %xmm28 + +// CHECK: vprolq $123, 1024(%rdx){1to2}, %xmm28 +// CHECK: encoding: [0x62,0xf1,0x9d,0x10,0x72,0x8a,0x00,0x04,0x00,0x00,0x7b] + vprolq $123, 1024(%rdx){1to2}, %xmm28 + +// CHECK: vprolq $123, -1024(%rdx){1to2}, %xmm28 +// CHECK: encoding: [0x62,0xf1,0x9d,0x10,0x72,0x4a,0x80,0x7b] + vprolq $123, -1024(%rdx){1to2}, %xmm28 + +// CHECK: vprolq $123, -1032(%rdx){1to2}, %xmm28 +// CHECK: encoding: [0x62,0xf1,0x9d,0x10,0x72,0x8a,0xf8,0xfb,0xff,0xff,0x7b] + vprolq $123, -1032(%rdx){1to2}, %xmm28 + +// CHECK: vprolq $171, %ymm24, %ymm25 +// CHECK: encoding: [0x62,0x91,0xb5,0x20,0x72,0xc8,0xab] + vprolq $171, %ymm24, %ymm25 + +// CHECK: vprolq $171, %ymm24, %ymm25 {%k5} +// CHECK: encoding: [0x62,0x91,0xb5,0x25,0x72,0xc8,0xab] + vprolq $171, %ymm24, %ymm25 {%k5} + +// CHECK: vprolq $171, %ymm24, %ymm25 {%k5} {z} +// CHECK: encoding: [0x62,0x91,0xb5,0xa5,0x72,0xc8,0xab] + vprolq $171, %ymm24, %ymm25 {%k5} {z} + +// CHECK: vprolq $123, %ymm24, %ymm25 +// CHECK: encoding: [0x62,0x91,0xb5,0x20,0x72,0xc8,0x7b] + vprolq $123, %ymm24, %ymm25 + +// CHECK: vprolq $123, (%rcx), %ymm25 +// CHECK: encoding: [0x62,0xf1,0xb5,0x20,0x72,0x09,0x7b] + vprolq $123, (%rcx), %ymm25 + +// CHECK: vprolq $123, 291(%rax,%r14,8), %ymm25 +// CHECK: encoding: [0x62,0xb1,0xb5,0x20,0x72,0x8c,0xf0,0x23,0x01,0x00,0x00,0x7b] + vprolq $123, 291(%rax,%r14,8), %ymm25 + +// CHECK: vprolq $123, (%rcx){1to4}, %ymm25 +// CHECK: encoding: [0x62,0xf1,0xb5,0x30,0x72,0x09,0x7b] + vprolq $123, (%rcx){1to4}, %ymm25 + +// CHECK: vprolq $123, 4064(%rdx), %ymm25 +// CHECK: encoding: [0x62,0xf1,0xb5,0x20,0x72,0x4a,0x7f,0x7b] + vprolq $123, 4064(%rdx), %ymm25 + +// CHECK: vprolq $123, 4096(%rdx), %ymm25 +// CHECK: encoding: [0x62,0xf1,0xb5,0x20,0x72,0x8a,0x00,0x10,0x00,0x00,0x7b] + vprolq $123, 4096(%rdx), %ymm25 + +// CHECK: vprolq $123, -4096(%rdx), %ymm25 +// CHECK: encoding: [0x62,0xf1,0xb5,0x20,0x72,0x4a,0x80,0x7b] + vprolq $123, -4096(%rdx), %ymm25 + +// CHECK: vprolq $123, -4128(%rdx), %ymm25 +// CHECK: encoding: [0x62,0xf1,0xb5,0x20,0x72,0x8a,0xe0,0xef,0xff,0xff,0x7b] + vprolq $123, -4128(%rdx), %ymm25 + +// CHECK: vprolq $123, 1016(%rdx){1to4}, %ymm25 +// CHECK: encoding: [0x62,0xf1,0xb5,0x30,0x72,0x4a,0x7f,0x7b] + vprolq $123, 1016(%rdx){1to4}, %ymm25 + +// CHECK: vprolq $123, 1024(%rdx){1to4}, %ymm25 +// CHECK: encoding: [0x62,0xf1,0xb5,0x30,0x72,0x8a,0x00,0x04,0x00,0x00,0x7b] + vprolq $123, 1024(%rdx){1to4}, %ymm25 + +// CHECK: vprolq $123, -1024(%rdx){1to4}, %ymm25 +// CHECK: encoding: [0x62,0xf1,0xb5,0x30,0x72,0x4a,0x80,0x7b] + vprolq $123, -1024(%rdx){1to4}, %ymm25 + +// CHECK: vprolq $123, -1032(%rdx){1to4}, %ymm25 +// CHECK: encoding: [0x62,0xf1,0xb5,0x30,0x72,0x8a,0xf8,0xfb,0xff,0xff,0x7b] + vprolq $123, -1032(%rdx){1to4}, %ymm25 + +// CHECK: vprorvd %xmm22, %xmm26, %xmm25 +// CHECK: encoding: [0x62,0x22,0x2d,0x00,0x14,0xce] + vprorvd %xmm22, %xmm26, %xmm25 + +// CHECK: vprorvd %xmm22, %xmm26, %xmm25 {%k4} +// CHECK: encoding: [0x62,0x22,0x2d,0x04,0x14,0xce] + vprorvd %xmm22, %xmm26, %xmm25 {%k4} + +// CHECK: vprorvd %xmm22, %xmm26, %xmm25 {%k4} {z} +// CHECK: encoding: [0x62,0x22,0x2d,0x84,0x14,0xce] + vprorvd %xmm22, %xmm26, %xmm25 {%k4} {z} + +// CHECK: vprorvd (%rcx), %xmm26, %xmm25 +// CHECK: encoding: [0x62,0x62,0x2d,0x00,0x14,0x09] + vprorvd (%rcx), %xmm26, %xmm25 + +// CHECK: vprorvd 291(%rax,%r14,8), %xmm26, %xmm25 +// CHECK: encoding: [0x62,0x22,0x2d,0x00,0x14,0x8c,0xf0,0x23,0x01,0x00,0x00] + vprorvd 291(%rax,%r14,8), %xmm26, %xmm25 + +// CHECK: vprorvd (%rcx){1to4}, %xmm26, %xmm25 +// CHECK: encoding: [0x62,0x62,0x2d,0x10,0x14,0x09] + vprorvd (%rcx){1to4}, %xmm26, %xmm25 + +// CHECK: vprorvd 2032(%rdx), %xmm26, %xmm25 +// CHECK: encoding: [0x62,0x62,0x2d,0x00,0x14,0x4a,0x7f] + vprorvd 2032(%rdx), %xmm26, %xmm25 + +// CHECK: vprorvd 2048(%rdx), %xmm26, %xmm25 +// CHECK: encoding: [0x62,0x62,0x2d,0x00,0x14,0x8a,0x00,0x08,0x00,0x00] + vprorvd 2048(%rdx), %xmm26, %xmm25 + +// CHECK: vprorvd -2048(%rdx), %xmm26, %xmm25 +// CHECK: encoding: [0x62,0x62,0x2d,0x00,0x14,0x4a,0x80] + vprorvd -2048(%rdx), %xmm26, %xmm25 + +// CHECK: vprorvd -2064(%rdx), %xmm26, %xmm25 +// CHECK: encoding: [0x62,0x62,0x2d,0x00,0x14,0x8a,0xf0,0xf7,0xff,0xff] + vprorvd -2064(%rdx), %xmm26, %xmm25 + +// CHECK: vprorvd 508(%rdx){1to4}, %xmm26, %xmm25 +// CHECK: encoding: [0x62,0x62,0x2d,0x10,0x14,0x4a,0x7f] + vprorvd 508(%rdx){1to4}, %xmm26, %xmm25 + +// CHECK: vprorvd 512(%rdx){1to4}, %xmm26, %xmm25 +// CHECK: encoding: [0x62,0x62,0x2d,0x10,0x14,0x8a,0x00,0x02,0x00,0x00] + vprorvd 512(%rdx){1to4}, %xmm26, %xmm25 + +// CHECK: vprorvd -512(%rdx){1to4}, %xmm26, %xmm25 +// CHECK: encoding: [0x62,0x62,0x2d,0x10,0x14,0x4a,0x80] + vprorvd -512(%rdx){1to4}, %xmm26, %xmm25 + +// CHECK: vprorvd -516(%rdx){1to4}, %xmm26, %xmm25 +// CHECK: encoding: [0x62,0x62,0x2d,0x10,0x14,0x8a,0xfc,0xfd,0xff,0xff] + vprorvd -516(%rdx){1to4}, %xmm26, %xmm25 + +// CHECK: vprorvd %ymm25, %ymm28, %ymm24 +// CHECK: encoding: [0x62,0x02,0x1d,0x20,0x14,0xc1] + vprorvd %ymm25, %ymm28, %ymm24 + +// CHECK: vprorvd %ymm25, %ymm28, %ymm24 {%k4} +// CHECK: encoding: [0x62,0x02,0x1d,0x24,0x14,0xc1] + vprorvd %ymm25, %ymm28, %ymm24 {%k4} + +// CHECK: vprorvd %ymm25, %ymm28, %ymm24 {%k4} {z} +// CHECK: encoding: [0x62,0x02,0x1d,0xa4,0x14,0xc1] + vprorvd %ymm25, %ymm28, %ymm24 {%k4} {z} + +// CHECK: vprorvd (%rcx), %ymm28, %ymm24 +// CHECK: encoding: [0x62,0x62,0x1d,0x20,0x14,0x01] + vprorvd (%rcx), %ymm28, %ymm24 + +// CHECK: vprorvd 291(%rax,%r14,8), %ymm28, %ymm24 +// CHECK: encoding: [0x62,0x22,0x1d,0x20,0x14,0x84,0xf0,0x23,0x01,0x00,0x00] + vprorvd 291(%rax,%r14,8), %ymm28, %ymm24 + +// CHECK: vprorvd (%rcx){1to8}, %ymm28, %ymm24 +// CHECK: encoding: [0x62,0x62,0x1d,0x30,0x14,0x01] + vprorvd (%rcx){1to8}, %ymm28, %ymm24 + +// CHECK: vprorvd 4064(%rdx), %ymm28, %ymm24 +// CHECK: encoding: [0x62,0x62,0x1d,0x20,0x14,0x42,0x7f] + vprorvd 4064(%rdx), %ymm28, %ymm24 + +// CHECK: vprorvd 4096(%rdx), %ymm28, %ymm24 +// CHECK: encoding: [0x62,0x62,0x1d,0x20,0x14,0x82,0x00,0x10,0x00,0x00] + vprorvd 4096(%rdx), %ymm28, %ymm24 + +// CHECK: vprorvd -4096(%rdx), %ymm28, %ymm24 +// CHECK: encoding: [0x62,0x62,0x1d,0x20,0x14,0x42,0x80] + vprorvd -4096(%rdx), %ymm28, %ymm24 + +// CHECK: vprorvd -4128(%rdx), %ymm28, %ymm24 +// CHECK: encoding: [0x62,0x62,0x1d,0x20,0x14,0x82,0xe0,0xef,0xff,0xff] + vprorvd -4128(%rdx), %ymm28, %ymm24 + +// CHECK: vprorvd 508(%rdx){1to8}, %ymm28, %ymm24 +// CHECK: encoding: [0x62,0x62,0x1d,0x30,0x14,0x42,0x7f] + vprorvd 508(%rdx){1to8}, %ymm28, %ymm24 + +// CHECK: vprorvd 512(%rdx){1to8}, %ymm28, %ymm24 +// CHECK: encoding: [0x62,0x62,0x1d,0x30,0x14,0x82,0x00,0x02,0x00,0x00] + vprorvd 512(%rdx){1to8}, %ymm28, %ymm24 + +// CHECK: vprorvd -512(%rdx){1to8}, %ymm28, %ymm24 +// CHECK: encoding: [0x62,0x62,0x1d,0x30,0x14,0x42,0x80] + vprorvd -512(%rdx){1to8}, %ymm28, %ymm24 + +// CHECK: vprorvd -516(%rdx){1to8}, %ymm28, %ymm24 +// CHECK: encoding: [0x62,0x62,0x1d,0x30,0x14,0x82,0xfc,0xfd,0xff,0xff] + vprorvd -516(%rdx){1to8}, %ymm28, %ymm24 + +// CHECK: vprord $171, %xmm25, %xmm29 +// CHECK: encoding: [0x62,0x91,0x15,0x00,0x72,0xc1,0xab] + vprord $171, %xmm25, %xmm29 + +// CHECK: vprord $171, %xmm25, %xmm29 {%k3} +// CHECK: encoding: [0x62,0x91,0x15,0x03,0x72,0xc1,0xab] + vprord $171, %xmm25, %xmm29 {%k3} + +// CHECK: vprord $171, %xmm25, %xmm29 {%k3} {z} +// CHECK: encoding: [0x62,0x91,0x15,0x83,0x72,0xc1,0xab] + vprord $171, %xmm25, %xmm29 {%k3} {z} + +// CHECK: vprord $123, %xmm25, %xmm29 +// CHECK: encoding: [0x62,0x91,0x15,0x00,0x72,0xc1,0x7b] + vprord $123, %xmm25, %xmm29 + +// CHECK: vprord $123, (%rcx), %xmm29 +// CHECK: encoding: [0x62,0xf1,0x15,0x00,0x72,0x01,0x7b] + vprord $123, (%rcx), %xmm29 + +// CHECK: vprord $123, 291(%rax,%r14,8), %xmm29 +// CHECK: encoding: [0x62,0xb1,0x15,0x00,0x72,0x84,0xf0,0x23,0x01,0x00,0x00,0x7b] + vprord $123, 291(%rax,%r14,8), %xmm29 + +// CHECK: vprord $123, (%rcx){1to4}, %xmm29 +// CHECK: encoding: [0x62,0xf1,0x15,0x10,0x72,0x01,0x7b] + vprord $123, (%rcx){1to4}, %xmm29 + +// CHECK: vprord $123, 2032(%rdx), %xmm29 +// CHECK: encoding: [0x62,0xf1,0x15,0x00,0x72,0x42,0x7f,0x7b] + vprord $123, 2032(%rdx), %xmm29 + +// CHECK: vprord $123, 2048(%rdx), %xmm29 +// CHECK: encoding: [0x62,0xf1,0x15,0x00,0x72,0x82,0x00,0x08,0x00,0x00,0x7b] + vprord $123, 2048(%rdx), %xmm29 + +// CHECK: vprord $123, -2048(%rdx), %xmm29 +// CHECK: encoding: [0x62,0xf1,0x15,0x00,0x72,0x42,0x80,0x7b] + vprord $123, -2048(%rdx), %xmm29 + +// CHECK: vprord $123, -2064(%rdx), %xmm29 +// CHECK: encoding: [0x62,0xf1,0x15,0x00,0x72,0x82,0xf0,0xf7,0xff,0xff,0x7b] + vprord $123, -2064(%rdx), %xmm29 + +// CHECK: vprord $123, 508(%rdx){1to4}, %xmm29 +// CHECK: encoding: [0x62,0xf1,0x15,0x10,0x72,0x42,0x7f,0x7b] + vprord $123, 508(%rdx){1to4}, %xmm29 + +// CHECK: vprord $123, 512(%rdx){1to4}, %xmm29 +// CHECK: encoding: [0x62,0xf1,0x15,0x10,0x72,0x82,0x00,0x02,0x00,0x00,0x7b] + vprord $123, 512(%rdx){1to4}, %xmm29 + +// CHECK: vprord $123, -512(%rdx){1to4}, %xmm29 +// CHECK: encoding: [0x62,0xf1,0x15,0x10,0x72,0x42,0x80,0x7b] + vprord $123, -512(%rdx){1to4}, %xmm29 + +// CHECK: vprord $123, -516(%rdx){1to4}, %xmm29 +// CHECK: encoding: [0x62,0xf1,0x15,0x10,0x72,0x82,0xfc,0xfd,0xff,0xff,0x7b] + vprord $123, -516(%rdx){1to4}, %xmm29 + +// CHECK: vprord $171, %ymm29, %ymm30 +// CHECK: encoding: [0x62,0x91,0x0d,0x20,0x72,0xc5,0xab] + vprord $171, %ymm29, %ymm30 + +// CHECK: vprord $171, %ymm29, %ymm30 {%k6} +// CHECK: encoding: [0x62,0x91,0x0d,0x26,0x72,0xc5,0xab] + vprord $171, %ymm29, %ymm30 {%k6} + +// CHECK: vprord $171, %ymm29, %ymm30 {%k6} {z} +// CHECK: encoding: [0x62,0x91,0x0d,0xa6,0x72,0xc5,0xab] + vprord $171, %ymm29, %ymm30 {%k6} {z} + +// CHECK: vprord $123, %ymm29, %ymm30 +// CHECK: encoding: [0x62,0x91,0x0d,0x20,0x72,0xc5,0x7b] + vprord $123, %ymm29, %ymm30 + +// CHECK: vprord $123, (%rcx), %ymm30 +// CHECK: encoding: [0x62,0xf1,0x0d,0x20,0x72,0x01,0x7b] + vprord $123, (%rcx), %ymm30 + +// CHECK: vprord $123, 291(%rax,%r14,8), %ymm30 +// CHECK: encoding: [0x62,0xb1,0x0d,0x20,0x72,0x84,0xf0,0x23,0x01,0x00,0x00,0x7b] + vprord $123, 291(%rax,%r14,8), %ymm30 + +// CHECK: vprord $123, (%rcx){1to8}, %ymm30 +// CHECK: encoding: [0x62,0xf1,0x0d,0x30,0x72,0x01,0x7b] + vprord $123, (%rcx){1to8}, %ymm30 + +// CHECK: vprord $123, 4064(%rdx), %ymm30 +// CHECK: encoding: [0x62,0xf1,0x0d,0x20,0x72,0x42,0x7f,0x7b] + vprord $123, 4064(%rdx), %ymm30 + +// CHECK: vprord $123, 4096(%rdx), %ymm30 +// CHECK: encoding: [0x62,0xf1,0x0d,0x20,0x72,0x82,0x00,0x10,0x00,0x00,0x7b] + vprord $123, 4096(%rdx), %ymm30 + +// CHECK: vprord $123, -4096(%rdx), %ymm30 +// CHECK: encoding: [0x62,0xf1,0x0d,0x20,0x72,0x42,0x80,0x7b] + vprord $123, -4096(%rdx), %ymm30 + +// CHECK: vprord $123, -4128(%rdx), %ymm30 +// CHECK: encoding: [0x62,0xf1,0x0d,0x20,0x72,0x82,0xe0,0xef,0xff,0xff,0x7b] + vprord $123, -4128(%rdx), %ymm30 + +// CHECK: vprord $123, 508(%rdx){1to8}, %ymm30 +// CHECK: encoding: [0x62,0xf1,0x0d,0x30,0x72,0x42,0x7f,0x7b] + vprord $123, 508(%rdx){1to8}, %ymm30 + +// CHECK: vprord $123, 512(%rdx){1to8}, %ymm30 +// CHECK: encoding: [0x62,0xf1,0x0d,0x30,0x72,0x82,0x00,0x02,0x00,0x00,0x7b] + vprord $123, 512(%rdx){1to8}, %ymm30 + +// CHECK: vprord $123, -512(%rdx){1to8}, %ymm30 +// CHECK: encoding: [0x62,0xf1,0x0d,0x30,0x72,0x42,0x80,0x7b] + vprord $123, -512(%rdx){1to8}, %ymm30 + +// CHECK: vprord $123, -516(%rdx){1to8}, %ymm30 +// CHECK: encoding: [0x62,0xf1,0x0d,0x30,0x72,0x82,0xfc,0xfd,0xff,0xff,0x7b] + vprord $123, -516(%rdx){1to8}, %ymm30 + +// CHECK: vprorvq %xmm24, %xmm21, %xmm26 +// CHECK: encoding: [0x62,0x02,0xd5,0x00,0x14,0xd0] + vprorvq %xmm24, %xmm21, %xmm26 + +// CHECK: vprorvq %xmm24, %xmm21, %xmm26 {%k4} +// CHECK: encoding: [0x62,0x02,0xd5,0x04,0x14,0xd0] + vprorvq %xmm24, %xmm21, %xmm26 {%k4} + +// CHECK: vprorvq %xmm24, %xmm21, %xmm26 {%k4} {z} +// CHECK: encoding: [0x62,0x02,0xd5,0x84,0x14,0xd0] + vprorvq %xmm24, %xmm21, %xmm26 {%k4} {z} + +// CHECK: vprorvq (%rcx), %xmm21, %xmm26 +// CHECK: encoding: [0x62,0x62,0xd5,0x00,0x14,0x11] + vprorvq (%rcx), %xmm21, %xmm26 + +// CHECK: vprorvq 291(%rax,%r14,8), %xmm21, %xmm26 +// CHECK: encoding: [0x62,0x22,0xd5,0x00,0x14,0x94,0xf0,0x23,0x01,0x00,0x00] + vprorvq 291(%rax,%r14,8), %xmm21, %xmm26 + +// CHECK: vprorvq (%rcx){1to2}, %xmm21, %xmm26 +// CHECK: encoding: [0x62,0x62,0xd5,0x10,0x14,0x11] + vprorvq (%rcx){1to2}, %xmm21, %xmm26 + +// CHECK: vprorvq 2032(%rdx), %xmm21, %xmm26 +// CHECK: encoding: [0x62,0x62,0xd5,0x00,0x14,0x52,0x7f] + vprorvq 2032(%rdx), %xmm21, %xmm26 + +// CHECK: vprorvq 2048(%rdx), %xmm21, %xmm26 +// CHECK: encoding: [0x62,0x62,0xd5,0x00,0x14,0x92,0x00,0x08,0x00,0x00] + vprorvq 2048(%rdx), %xmm21, %xmm26 + +// CHECK: vprorvq -2048(%rdx), %xmm21, %xmm26 +// CHECK: encoding: [0x62,0x62,0xd5,0x00,0x14,0x52,0x80] + vprorvq -2048(%rdx), %xmm21, %xmm26 + +// CHECK: vprorvq -2064(%rdx), %xmm21, %xmm26 +// CHECK: encoding: [0x62,0x62,0xd5,0x00,0x14,0x92,0xf0,0xf7,0xff,0xff] + vprorvq -2064(%rdx), %xmm21, %xmm26 + +// CHECK: vprorvq 1016(%rdx){1to2}, %xmm21, %xmm26 +// CHECK: encoding: [0x62,0x62,0xd5,0x10,0x14,0x52,0x7f] + vprorvq 1016(%rdx){1to2}, %xmm21, %xmm26 + +// CHECK: vprorvq 1024(%rdx){1to2}, %xmm21, %xmm26 +// CHECK: encoding: [0x62,0x62,0xd5,0x10,0x14,0x92,0x00,0x04,0x00,0x00] + vprorvq 1024(%rdx){1to2}, %xmm21, %xmm26 + +// CHECK: vprorvq -1024(%rdx){1to2}, %xmm21, %xmm26 +// CHECK: encoding: [0x62,0x62,0xd5,0x10,0x14,0x52,0x80] + vprorvq -1024(%rdx){1to2}, %xmm21, %xmm26 + +// CHECK: vprorvq -1032(%rdx){1to2}, %xmm21, %xmm26 +// CHECK: encoding: [0x62,0x62,0xd5,0x10,0x14,0x92,0xf8,0xfb,0xff,0xff] + vprorvq -1032(%rdx){1to2}, %xmm21, %xmm26 + +// CHECK: vprorvq %ymm28, %ymm24, %ymm20 +// CHECK: encoding: [0x62,0x82,0xbd,0x20,0x14,0xe4] + vprorvq %ymm28, %ymm24, %ymm20 + +// CHECK: vprorvq %ymm28, %ymm24, %ymm20 {%k7} +// CHECK: encoding: [0x62,0x82,0xbd,0x27,0x14,0xe4] + vprorvq %ymm28, %ymm24, %ymm20 {%k7} + +// CHECK: vprorvq %ymm28, %ymm24, %ymm20 {%k7} {z} +// CHECK: encoding: [0x62,0x82,0xbd,0xa7,0x14,0xe4] + vprorvq %ymm28, %ymm24, %ymm20 {%k7} {z} + +// CHECK: vprorvq (%rcx), %ymm24, %ymm20 +// CHECK: encoding: [0x62,0xe2,0xbd,0x20,0x14,0x21] + vprorvq (%rcx), %ymm24, %ymm20 + +// CHECK: vprorvq 291(%rax,%r14,8), %ymm24, %ymm20 +// CHECK: encoding: [0x62,0xa2,0xbd,0x20,0x14,0xa4,0xf0,0x23,0x01,0x00,0x00] + vprorvq 291(%rax,%r14,8), %ymm24, %ymm20 + +// CHECK: vprorvq (%rcx){1to4}, %ymm24, %ymm20 +// CHECK: encoding: [0x62,0xe2,0xbd,0x30,0x14,0x21] + vprorvq (%rcx){1to4}, %ymm24, %ymm20 + +// CHECK: vprorvq 4064(%rdx), %ymm24, %ymm20 +// CHECK: encoding: [0x62,0xe2,0xbd,0x20,0x14,0x62,0x7f] + vprorvq 4064(%rdx), %ymm24, %ymm20 + +// CHECK: vprorvq 4096(%rdx), %ymm24, %ymm20 +// CHECK: encoding: [0x62,0xe2,0xbd,0x20,0x14,0xa2,0x00,0x10,0x00,0x00] + vprorvq 4096(%rdx), %ymm24, %ymm20 + +// CHECK: vprorvq -4096(%rdx), %ymm24, %ymm20 +// CHECK: encoding: [0x62,0xe2,0xbd,0x20,0x14,0x62,0x80] + vprorvq -4096(%rdx), %ymm24, %ymm20 + +// CHECK: vprorvq -4128(%rdx), %ymm24, %ymm20 +// CHECK: encoding: [0x62,0xe2,0xbd,0x20,0x14,0xa2,0xe0,0xef,0xff,0xff] + vprorvq -4128(%rdx), %ymm24, %ymm20 + +// CHECK: vprorvq 1016(%rdx){1to4}, %ymm24, %ymm20 +// CHECK: encoding: [0x62,0xe2,0xbd,0x30,0x14,0x62,0x7f] + vprorvq 1016(%rdx){1to4}, %ymm24, %ymm20 + +// CHECK: vprorvq 1024(%rdx){1to4}, %ymm24, %ymm20 +// CHECK: encoding: [0x62,0xe2,0xbd,0x30,0x14,0xa2,0x00,0x04,0x00,0x00] + vprorvq 1024(%rdx){1to4}, %ymm24, %ymm20 + +// CHECK: vprorvq -1024(%rdx){1to4}, %ymm24, %ymm20 +// CHECK: encoding: [0x62,0xe2,0xbd,0x30,0x14,0x62,0x80] + vprorvq -1024(%rdx){1to4}, %ymm24, %ymm20 + +// CHECK: vprorvq -1032(%rdx){1to4}, %ymm24, %ymm20 +// CHECK: encoding: [0x62,0xe2,0xbd,0x30,0x14,0xa2,0xf8,0xfb,0xff,0xff] + vprorvq -1032(%rdx){1to4}, %ymm24, %ymm20 + +// CHECK: vprorq $171, %xmm28, %xmm28 +// CHECK: encoding: [0x62,0x91,0x9d,0x00,0x72,0xc4,0xab] + vprorq $171, %xmm28, %xmm28 + +// CHECK: vprorq $171, %xmm28, %xmm28 {%k1} +// CHECK: encoding: [0x62,0x91,0x9d,0x01,0x72,0xc4,0xab] + vprorq $171, %xmm28, %xmm28 {%k1} + +// CHECK: vprorq $171, %xmm28, %xmm28 {%k1} {z} +// CHECK: encoding: [0x62,0x91,0x9d,0x81,0x72,0xc4,0xab] + vprorq $171, %xmm28, %xmm28 {%k1} {z} + +// CHECK: vprorq $123, %xmm28, %xmm28 +// CHECK: encoding: [0x62,0x91,0x9d,0x00,0x72,0xc4,0x7b] + vprorq $123, %xmm28, %xmm28 + +// CHECK: vprorq $123, (%rcx), %xmm28 +// CHECK: encoding: [0x62,0xf1,0x9d,0x00,0x72,0x01,0x7b] + vprorq $123, (%rcx), %xmm28 + +// CHECK: vprorq $123, 291(%rax,%r14,8), %xmm28 +// CHECK: encoding: [0x62,0xb1,0x9d,0x00,0x72,0x84,0xf0,0x23,0x01,0x00,0x00,0x7b] + vprorq $123, 291(%rax,%r14,8), %xmm28 + +// CHECK: vprorq $123, (%rcx){1to2}, %xmm28 +// CHECK: encoding: [0x62,0xf1,0x9d,0x10,0x72,0x01,0x7b] + vprorq $123, (%rcx){1to2}, %xmm28 + +// CHECK: vprorq $123, 2032(%rdx), %xmm28 +// CHECK: encoding: [0x62,0xf1,0x9d,0x00,0x72,0x42,0x7f,0x7b] + vprorq $123, 2032(%rdx), %xmm28 + +// CHECK: vprorq $123, 2048(%rdx), %xmm28 +// CHECK: encoding: [0x62,0xf1,0x9d,0x00,0x72,0x82,0x00,0x08,0x00,0x00,0x7b] + vprorq $123, 2048(%rdx), %xmm28 + +// CHECK: vprorq $123, -2048(%rdx), %xmm28 +// CHECK: encoding: [0x62,0xf1,0x9d,0x00,0x72,0x42,0x80,0x7b] + vprorq $123, -2048(%rdx), %xmm28 + +// CHECK: vprorq $123, -2064(%rdx), %xmm28 +// CHECK: encoding: [0x62,0xf1,0x9d,0x00,0x72,0x82,0xf0,0xf7,0xff,0xff,0x7b] + vprorq $123, -2064(%rdx), %xmm28 + +// CHECK: vprorq $123, 1016(%rdx){1to2}, %xmm28 +// CHECK: encoding: [0x62,0xf1,0x9d,0x10,0x72,0x42,0x7f,0x7b] + vprorq $123, 1016(%rdx){1to2}, %xmm28 + +// CHECK: vprorq $123, 1024(%rdx){1to2}, %xmm28 +// CHECK: encoding: [0x62,0xf1,0x9d,0x10,0x72,0x82,0x00,0x04,0x00,0x00,0x7b] + vprorq $123, 1024(%rdx){1to2}, %xmm28 + +// CHECK: vprorq $123, -1024(%rdx){1to2}, %xmm28 +// CHECK: encoding: [0x62,0xf1,0x9d,0x10,0x72,0x42,0x80,0x7b] + vprorq $123, -1024(%rdx){1to2}, %xmm28 + +// CHECK: vprorq $123, -1032(%rdx){1to2}, %xmm28 +// CHECK: encoding: [0x62,0xf1,0x9d,0x10,0x72,0x82,0xf8,0xfb,0xff,0xff,0x7b] + vprorq $123, -1032(%rdx){1to2}, %xmm28 + +// CHECK: vprorq $171, %ymm17, %ymm21 +// CHECK: encoding: [0x62,0xb1,0xd5,0x20,0x72,0xc1,0xab] + vprorq $171, %ymm17, %ymm21 + +// CHECK: vprorq $171, %ymm17, %ymm21 {%k1} +// CHECK: encoding: [0x62,0xb1,0xd5,0x21,0x72,0xc1,0xab] + vprorq $171, %ymm17, %ymm21 {%k1} + +// CHECK: vprorq $171, %ymm17, %ymm21 {%k1} {z} +// CHECK: encoding: [0x62,0xb1,0xd5,0xa1,0x72,0xc1,0xab] + vprorq $171, %ymm17, %ymm21 {%k1} {z} + +// CHECK: vprorq $123, %ymm17, %ymm21 +// CHECK: encoding: [0x62,0xb1,0xd5,0x20,0x72,0xc1,0x7b] + vprorq $123, %ymm17, %ymm21 + +// CHECK: vprorq $123, (%rcx), %ymm21 +// CHECK: encoding: [0x62,0xf1,0xd5,0x20,0x72,0x01,0x7b] + vprorq $123, (%rcx), %ymm21 + +// CHECK: vprorq $123, 291(%rax,%r14,8), %ymm21 +// CHECK: encoding: [0x62,0xb1,0xd5,0x20,0x72,0x84,0xf0,0x23,0x01,0x00,0x00,0x7b] + vprorq $123, 291(%rax,%r14,8), %ymm21 + +// CHECK: vprorq $123, (%rcx){1to4}, %ymm21 +// CHECK: encoding: [0x62,0xf1,0xd5,0x30,0x72,0x01,0x7b] + vprorq $123, (%rcx){1to4}, %ymm21 + +// CHECK: vprorq $123, 4064(%rdx), %ymm21 +// CHECK: encoding: [0x62,0xf1,0xd5,0x20,0x72,0x42,0x7f,0x7b] + vprorq $123, 4064(%rdx), %ymm21 + +// CHECK: vprorq $123, 4096(%rdx), %ymm21 +// CHECK: encoding: [0x62,0xf1,0xd5,0x20,0x72,0x82,0x00,0x10,0x00,0x00,0x7b] + vprorq $123, 4096(%rdx), %ymm21 + +// CHECK: vprorq $123, -4096(%rdx), %ymm21 +// CHECK: encoding: [0x62,0xf1,0xd5,0x20,0x72,0x42,0x80,0x7b] + vprorq $123, -4096(%rdx), %ymm21 + +// CHECK: vprorq $123, -4128(%rdx), %ymm21 +// CHECK: encoding: [0x62,0xf1,0xd5,0x20,0x72,0x82,0xe0,0xef,0xff,0xff,0x7b] + vprorq $123, -4128(%rdx), %ymm21 + +// CHECK: vprorq $123, 1016(%rdx){1to4}, %ymm21 +// CHECK: encoding: [0x62,0xf1,0xd5,0x30,0x72,0x42,0x7f,0x7b] + vprorq $123, 1016(%rdx){1to4}, %ymm21 + +// CHECK: vprorq $123, 1024(%rdx){1to4}, %ymm21 +// CHECK: encoding: [0x62,0xf1,0xd5,0x30,0x72,0x82,0x00,0x04,0x00,0x00,0x7b] + vprorq $123, 1024(%rdx){1to4}, %ymm21 + +// CHECK: vprorq $123, -1024(%rdx){1to4}, %ymm21 +// CHECK: encoding: [0x62,0xf1,0xd5,0x30,0x72,0x42,0x80,0x7b] + vprorq $123, -1024(%rdx){1to4}, %ymm21 + +// CHECK: vprorq $123, -1032(%rdx){1to4}, %ymm21 +// CHECK: encoding: [0x62,0xf1,0xd5,0x30,0x72,0x82,0xf8,0xfb,0xff,0xff,0x7b] + vprorq $123, -1032(%rdx){1to4}, %ymm21 + +// CHECK: vpmuludq %xmm18, %xmm22, %xmm27 +// CHECK: encoding: [0x62,0x21,0xcd,0x00,0xf4,0xda] + vpmuludq %xmm18, %xmm22, %xmm27 + +// CHECK: vpmuludq %xmm18, %xmm22, %xmm27 {%k5} +// CHECK: encoding: [0x62,0x21,0xcd,0x05,0xf4,0xda] + vpmuludq %xmm18, %xmm22, %xmm27 {%k5} + +// CHECK: vpmuludq %xmm18, %xmm22, %xmm27 {%k5} {z} +// CHECK: encoding: [0x62,0x21,0xcd,0x85,0xf4,0xda] + vpmuludq %xmm18, %xmm22, %xmm27 {%k5} {z} + +// CHECK: vpmuludq (%rcx), %xmm22, %xmm27 +// CHECK: encoding: [0x62,0x61,0xcd,0x00,0xf4,0x19] + vpmuludq (%rcx), %xmm22, %xmm27 + +// CHECK: vpmuludq 291(%rax,%r14,8), %xmm22, %xmm27 +// CHECK: encoding: [0x62,0x21,0xcd,0x00,0xf4,0x9c,0xf0,0x23,0x01,0x00,0x00] + vpmuludq 291(%rax,%r14,8), %xmm22, %xmm27 + +// CHECK: vpmuludq (%rcx){1to2}, %xmm22, %xmm27 +// CHECK: encoding: [0x62,0x61,0xcd,0x10,0xf4,0x19] + vpmuludq (%rcx){1to2}, %xmm22, %xmm27 + +// CHECK: vpmuludq 2032(%rdx), %xmm22, %xmm27 +// CHECK: encoding: [0x62,0x61,0xcd,0x00,0xf4,0x5a,0x7f] + vpmuludq 2032(%rdx), %xmm22, %xmm27 + +// CHECK: vpmuludq 2048(%rdx), %xmm22, %xmm27 +// CHECK: encoding: [0x62,0x61,0xcd,0x00,0xf4,0x9a,0x00,0x08,0x00,0x00] + vpmuludq 2048(%rdx), %xmm22, %xmm27 + +// CHECK: vpmuludq -2048(%rdx), %xmm22, %xmm27 +// CHECK: encoding: [0x62,0x61,0xcd,0x00,0xf4,0x5a,0x80] + vpmuludq -2048(%rdx), %xmm22, %xmm27 + +// CHECK: vpmuludq -2064(%rdx), %xmm22, %xmm27 +// CHECK: encoding: [0x62,0x61,0xcd,0x00,0xf4,0x9a,0xf0,0xf7,0xff,0xff] + vpmuludq -2064(%rdx), %xmm22, %xmm27 + +// CHECK: vpmuludq 1016(%rdx){1to2}, %xmm22, %xmm27 +// CHECK: encoding: [0x62,0x61,0xcd,0x10,0xf4,0x5a,0x7f] + vpmuludq 1016(%rdx){1to2}, %xmm22, %xmm27 + +// CHECK: vpmuludq 1024(%rdx){1to2}, %xmm22, %xmm27 +// CHECK: encoding: [0x62,0x61,0xcd,0x10,0xf4,0x9a,0x00,0x04,0x00,0x00] + vpmuludq 1024(%rdx){1to2}, %xmm22, %xmm27 + +// CHECK: vpmuludq -1024(%rdx){1to2}, %xmm22, %xmm27 +// CHECK: encoding: [0x62,0x61,0xcd,0x10,0xf4,0x5a,0x80] + vpmuludq -1024(%rdx){1to2}, %xmm22, %xmm27 + +// CHECK: vpmuludq -1032(%rdx){1to2}, %xmm22, %xmm27 +// CHECK: encoding: [0x62,0x61,0xcd,0x10,0xf4,0x9a,0xf8,0xfb,0xff,0xff] + vpmuludq -1032(%rdx){1to2}, %xmm22, %xmm27 + +// CHECK: vpmuludq %ymm18, %ymm27, %ymm30 +// CHECK: encoding: [0x62,0x21,0xa5,0x20,0xf4,0xf2] + vpmuludq %ymm18, %ymm27, %ymm30 + +// CHECK: vpmuludq %ymm18, %ymm27, %ymm30 {%k7} +// CHECK: encoding: [0x62,0x21,0xa5,0x27,0xf4,0xf2] + vpmuludq %ymm18, %ymm27, %ymm30 {%k7} + +// CHECK: vpmuludq %ymm18, %ymm27, %ymm30 {%k7} {z} +// CHECK: encoding: [0x62,0x21,0xa5,0xa7,0xf4,0xf2] + vpmuludq %ymm18, %ymm27, %ymm30 {%k7} {z} + +// CHECK: vpmuludq (%rcx), %ymm27, %ymm30 +// CHECK: encoding: [0x62,0x61,0xa5,0x20,0xf4,0x31] + vpmuludq (%rcx), %ymm27, %ymm30 + +// CHECK: vpmuludq 291(%rax,%r14,8), %ymm27, %ymm30 +// CHECK: encoding: [0x62,0x21,0xa5,0x20,0xf4,0xb4,0xf0,0x23,0x01,0x00,0x00] + vpmuludq 291(%rax,%r14,8), %ymm27, %ymm30 + +// CHECK: vpmuludq (%rcx){1to4}, %ymm27, %ymm30 +// CHECK: encoding: [0x62,0x61,0xa5,0x30,0xf4,0x31] + vpmuludq (%rcx){1to4}, %ymm27, %ymm30 + +// CHECK: vpmuludq 4064(%rdx), %ymm27, %ymm30 +// CHECK: encoding: [0x62,0x61,0xa5,0x20,0xf4,0x72,0x7f] + vpmuludq 4064(%rdx), %ymm27, %ymm30 + +// CHECK: vpmuludq 4096(%rdx), %ymm27, %ymm30 +// CHECK: encoding: [0x62,0x61,0xa5,0x20,0xf4,0xb2,0x00,0x10,0x00,0x00] + vpmuludq 4096(%rdx), %ymm27, %ymm30 + +// CHECK: vpmuludq -4096(%rdx), %ymm27, %ymm30 +// CHECK: encoding: [0x62,0x61,0xa5,0x20,0xf4,0x72,0x80] + vpmuludq -4096(%rdx), %ymm27, %ymm30 + +// CHECK: vpmuludq -4128(%rdx), %ymm27, %ymm30 +// CHECK: encoding: [0x62,0x61,0xa5,0x20,0xf4,0xb2,0xe0,0xef,0xff,0xff] + vpmuludq -4128(%rdx), %ymm27, %ymm30 + +// CHECK: vpmuludq 1016(%rdx){1to4}, %ymm27, %ymm30 +// CHECK: encoding: [0x62,0x61,0xa5,0x30,0xf4,0x72,0x7f] + vpmuludq 1016(%rdx){1to4}, %ymm27, %ymm30 + +// CHECK: vpmuludq 1024(%rdx){1to4}, %ymm27, %ymm30 +// CHECK: encoding: [0x62,0x61,0xa5,0x30,0xf4,0xb2,0x00,0x04,0x00,0x00] + vpmuludq 1024(%rdx){1to4}, %ymm27, %ymm30 + +// CHECK: vpmuludq -1024(%rdx){1to4}, %ymm27, %ymm30 +// CHECK: encoding: [0x62,0x61,0xa5,0x30,0xf4,0x72,0x80] + vpmuludq -1024(%rdx){1to4}, %ymm27, %ymm30 + +// CHECK: vpmuludq -1032(%rdx){1to4}, %ymm27, %ymm30 +// CHECK: encoding: [0x62,0x61,0xa5,0x30,0xf4,0xb2,0xf8,0xfb,0xff,0xff] + vpmuludq -1032(%rdx){1to4}, %ymm27, %ymm30 + +// CHECK: vpmuldq %xmm26, %xmm24, %xmm25 +// CHECK: encoding: [0x62,0x02,0xbd,0x00,0x28,0xca] + vpmuldq %xmm26, %xmm24, %xmm25 + +// CHECK: vpmuldq %xmm26, %xmm24, %xmm25 {%k3} +// CHECK: encoding: [0x62,0x02,0xbd,0x03,0x28,0xca] + vpmuldq %xmm26, %xmm24, %xmm25 {%k3} + +// CHECK: vpmuldq %xmm26, %xmm24, %xmm25 {%k3} {z} +// CHECK: encoding: [0x62,0x02,0xbd,0x83,0x28,0xca] + vpmuldq %xmm26, %xmm24, %xmm25 {%k3} {z} + +// CHECK: vpmuldq (%rcx), %xmm24, %xmm25 +// CHECK: encoding: [0x62,0x62,0xbd,0x00,0x28,0x09] + vpmuldq (%rcx), %xmm24, %xmm25 + +// CHECK: vpmuldq 291(%rax,%r14,8), %xmm24, %xmm25 +// CHECK: encoding: [0x62,0x22,0xbd,0x00,0x28,0x8c,0xf0,0x23,0x01,0x00,0x00] + vpmuldq 291(%rax,%r14,8), %xmm24, %xmm25 + +// CHECK: vpmuldq (%rcx){1to2}, %xmm24, %xmm25 +// CHECK: encoding: [0x62,0x62,0xbd,0x10,0x28,0x09] + vpmuldq (%rcx){1to2}, %xmm24, %xmm25 + +// CHECK: vpmuldq 2032(%rdx), %xmm24, %xmm25 +// CHECK: encoding: [0x62,0x62,0xbd,0x00,0x28,0x4a,0x7f] + vpmuldq 2032(%rdx), %xmm24, %xmm25 + +// CHECK: vpmuldq 2048(%rdx), %xmm24, %xmm25 +// CHECK: encoding: [0x62,0x62,0xbd,0x00,0x28,0x8a,0x00,0x08,0x00,0x00] + vpmuldq 2048(%rdx), %xmm24, %xmm25 + +// CHECK: vpmuldq -2048(%rdx), %xmm24, %xmm25 +// CHECK: encoding: [0x62,0x62,0xbd,0x00,0x28,0x4a,0x80] + vpmuldq -2048(%rdx), %xmm24, %xmm25 + +// CHECK: vpmuldq -2064(%rdx), %xmm24, %xmm25 +// CHECK: encoding: [0x62,0x62,0xbd,0x00,0x28,0x8a,0xf0,0xf7,0xff,0xff] + vpmuldq -2064(%rdx), %xmm24, %xmm25 + +// CHECK: vpmuldq 1016(%rdx){1to2}, %xmm24, %xmm25 +// CHECK: encoding: [0x62,0x62,0xbd,0x10,0x28,0x4a,0x7f] + vpmuldq 1016(%rdx){1to2}, %xmm24, %xmm25 + +// CHECK: vpmuldq 1024(%rdx){1to2}, %xmm24, %xmm25 +// CHECK: encoding: [0x62,0x62,0xbd,0x10,0x28,0x8a,0x00,0x04,0x00,0x00] + vpmuldq 1024(%rdx){1to2}, %xmm24, %xmm25 + +// CHECK: vpmuldq -1024(%rdx){1to2}, %xmm24, %xmm25 +// CHECK: encoding: [0x62,0x62,0xbd,0x10,0x28,0x4a,0x80] + vpmuldq -1024(%rdx){1to2}, %xmm24, %xmm25 + +// CHECK: vpmuldq -1032(%rdx){1to2}, %xmm24, %xmm25 +// CHECK: encoding: [0x62,0x62,0xbd,0x10,0x28,0x8a,0xf8,0xfb,0xff,0xff] + vpmuldq -1032(%rdx){1to2}, %xmm24, %xmm25 + +// CHECK: vpmuldq %ymm26, %ymm18, %ymm19 +// CHECK: encoding: [0x62,0x82,0xed,0x20,0x28,0xda] + vpmuldq %ymm26, %ymm18, %ymm19 + +// CHECK: vpmuldq %ymm26, %ymm18, %ymm19 {%k6} +// CHECK: encoding: [0x62,0x82,0xed,0x26,0x28,0xda] + vpmuldq %ymm26, %ymm18, %ymm19 {%k6} + +// CHECK: vpmuldq %ymm26, %ymm18, %ymm19 {%k6} {z} +// CHECK: encoding: [0x62,0x82,0xed,0xa6,0x28,0xda] + vpmuldq %ymm26, %ymm18, %ymm19 {%k6} {z} + +// CHECK: vpmuldq (%rcx), %ymm18, %ymm19 +// CHECK: encoding: [0x62,0xe2,0xed,0x20,0x28,0x19] + vpmuldq (%rcx), %ymm18, %ymm19 + +// CHECK: vpmuldq 291(%rax,%r14,8), %ymm18, %ymm19 +// CHECK: encoding: [0x62,0xa2,0xed,0x20,0x28,0x9c,0xf0,0x23,0x01,0x00,0x00] + vpmuldq 291(%rax,%r14,8), %ymm18, %ymm19 + +// CHECK: vpmuldq (%rcx){1to4}, %ymm18, %ymm19 +// CHECK: encoding: [0x62,0xe2,0xed,0x30,0x28,0x19] + vpmuldq (%rcx){1to4}, %ymm18, %ymm19 + +// CHECK: vpmuldq 4064(%rdx), %ymm18, %ymm19 +// CHECK: encoding: [0x62,0xe2,0xed,0x20,0x28,0x5a,0x7f] + vpmuldq 4064(%rdx), %ymm18, %ymm19 + +// CHECK: vpmuldq 4096(%rdx), %ymm18, %ymm19 +// CHECK: encoding: [0x62,0xe2,0xed,0x20,0x28,0x9a,0x00,0x10,0x00,0x00] + vpmuldq 4096(%rdx), %ymm18, %ymm19 + +// CHECK: vpmuldq -4096(%rdx), %ymm18, %ymm19 +// CHECK: encoding: [0x62,0xe2,0xed,0x20,0x28,0x5a,0x80] + vpmuldq -4096(%rdx), %ymm18, %ymm19 + +// CHECK: vpmuldq -4128(%rdx), %ymm18, %ymm19 +// CHECK: encoding: [0x62,0xe2,0xed,0x20,0x28,0x9a,0xe0,0xef,0xff,0xff] + vpmuldq -4128(%rdx), %ymm18, %ymm19 + +// CHECK: vpmuldq 1016(%rdx){1to4}, %ymm18, %ymm19 +// CHECK: encoding: [0x62,0xe2,0xed,0x30,0x28,0x5a,0x7f] + vpmuldq 1016(%rdx){1to4}, %ymm18, %ymm19 + +// CHECK: vpmuldq 1024(%rdx){1to4}, %ymm18, %ymm19 +// CHECK: encoding: [0x62,0xe2,0xed,0x30,0x28,0x9a,0x00,0x04,0x00,0x00] + vpmuldq 1024(%rdx){1to4}, %ymm18, %ymm19 + +// CHECK: vpmuldq -1024(%rdx){1to4}, %ymm18, %ymm19 +// CHECK: encoding: [0x62,0xe2,0xed,0x30,0x28,0x5a,0x80] + vpmuldq -1024(%rdx){1to4}, %ymm18, %ymm19 + +// CHECK: vpmuldq -1032(%rdx){1to4}, %ymm18, %ymm19 +// CHECK: encoding: [0x62,0xe2,0xed,0x30,0x28,0x9a,0xf8,0xfb,0xff,0xff] + vpmuldq -1032(%rdx){1to4}, %ymm18, %ymm19 + +// CHECK: vcmppd $171, %xmm23, %xmm27, %k3 +// CHECK: encoding: [0x62,0xb1,0xa5,0x00,0xc2,0xdf,0xab] + vcmppd $0xab, %xmm23, %xmm27, %k3 + +// CHECK: vcmppd $171, %xmm23, %xmm27, %k3 {%k5} +// CHECK: encoding: [0x62,0xb1,0xa5,0x05,0xc2,0xdf,0xab] + vcmppd $0xab, %xmm23, %xmm27, %k3 {%k5} + +// CHECK: vcmppd $123, %xmm23, %xmm27, %k3 +// CHECK: encoding: [0x62,0xb1,0xa5,0x00,0xc2,0xdf,0x7b] + vcmppd $0x7b, %xmm23, %xmm27, %k3 + +// CHECK: vcmppd $123, (%rcx), %xmm27, %k3 +// CHECK: encoding: [0x62,0xf1,0xa5,0x00,0xc2,0x19,0x7b] + vcmppd $0x7b, (%rcx), %xmm27, %k3 + +// CHECK: vcmppd $123, 291(%rax,%r14,8), %xmm27, %k3 +// CHECK: encoding: [0x62,0xb1,0xa5,0x00,0xc2,0x9c,0xf0,0x23,0x01,0x00,0x00,0x7b] + vcmppd $0x7b, 291(%rax,%r14,8), %xmm27, %k3 + +// CHECK: vcmppd $123, (%rcx){1to2}, %xmm27, %k3 +// CHECK: encoding: [0x62,0xf1,0xa5,0x10,0xc2,0x19,0x7b] + vcmppd $0x7b, (%rcx){1to2}, %xmm27, %k3 + +// CHECK: vcmppd $123, 2032(%rdx), %xmm27, %k3 +// CHECK: encoding: [0x62,0xf1,0xa5,0x00,0xc2,0x5a,0x7f,0x7b] + vcmppd $0x7b, 2032(%rdx), %xmm27, %k3 + +// CHECK: vcmppd $123, 2048(%rdx), %xmm27, %k3 +// CHECK: encoding: [0x62,0xf1,0xa5,0x00,0xc2,0x9a,0x00,0x08,0x00,0x00,0x7b] + vcmppd $0x7b, 2048(%rdx), %xmm27, %k3 + +// CHECK: vcmppd $123, -2048(%rdx), %xmm27, %k3 +// CHECK: encoding: [0x62,0xf1,0xa5,0x00,0xc2,0x5a,0x80,0x7b] + vcmppd $0x7b, -2048(%rdx), %xmm27, %k3 + +// CHECK: vcmppd $123, -2064(%rdx), %xmm27, %k3 +// CHECK: encoding: [0x62,0xf1,0xa5,0x00,0xc2,0x9a,0xf0,0xf7,0xff,0xff,0x7b] + vcmppd $0x7b, -2064(%rdx), %xmm27, %k3 + +// CHECK: vcmppd $123, 1016(%rdx){1to2}, %xmm27, %k3 +// CHECK: encoding: [0x62,0xf1,0xa5,0x10,0xc2,0x5a,0x7f,0x7b] + vcmppd $0x7b, 1016(%rdx){1to2}, %xmm27, %k3 + +// CHECK: vcmppd $123, 1024(%rdx){1to2}, %xmm27, %k3 +// CHECK: encoding: [0x62,0xf1,0xa5,0x10,0xc2,0x9a,0x00,0x04,0x00,0x00,0x7b] + vcmppd $0x7b, 1024(%rdx){1to2}, %xmm27, %k3 + +// CHECK: vcmppd $123, -1024(%rdx){1to2}, %xmm27, %k3 +// CHECK: encoding: [0x62,0xf1,0xa5,0x10,0xc2,0x5a,0x80,0x7b] + vcmppd $0x7b, -1024(%rdx){1to2}, %xmm27, %k3 + +// CHECK: vcmppd $123, -1032(%rdx){1to2}, %xmm27, %k3 +// CHECK: encoding: [0x62,0xf1,0xa5,0x10,0xc2,0x9a,0xf8,0xfb,0xff,0xff,0x7b] + vcmppd $0x7b, -1032(%rdx){1to2}, %xmm27, %k3 + +// CHECK: vcmppd $171, %ymm27, %ymm17, %k4 +// CHECK: encoding: [0x62,0x91,0xf5,0x20,0xc2,0xe3,0xab] + vcmppd $0xab, %ymm27, %ymm17, %k4 + +// CHECK: vcmppd $171, %ymm27, %ymm17, %k4 {%k7} +// CHECK: encoding: [0x62,0x91,0xf5,0x27,0xc2,0xe3,0xab] + vcmppd $0xab, %ymm27, %ymm17, %k4 {%k7} + +// CHECK: vcmppd $123, %ymm27, %ymm17, %k4 +// CHECK: encoding: [0x62,0x91,0xf5,0x20,0xc2,0xe3,0x7b] + vcmppd $0x7b, %ymm27, %ymm17, %k4 + +// CHECK: vcmppd $123, (%rcx), %ymm17, %k4 +// CHECK: encoding: [0x62,0xf1,0xf5,0x20,0xc2,0x21,0x7b] + vcmppd $0x7b, (%rcx), %ymm17, %k4 + +// CHECK: vcmppd $123, 291(%rax,%r14,8), %ymm17, %k4 +// CHECK: encoding: [0x62,0xb1,0xf5,0x20,0xc2,0xa4,0xf0,0x23,0x01,0x00,0x00,0x7b] + vcmppd $0x7b, 291(%rax,%r14,8), %ymm17, %k4 + +// CHECK: vcmppd $123, (%rcx){1to4}, %ymm17, %k4 +// CHECK: encoding: [0x62,0xf1,0xf5,0x30,0xc2,0x21,0x7b] + vcmppd $0x7b, (%rcx){1to4}, %ymm17, %k4 + +// CHECK: vcmppd $123, 4064(%rdx), %ymm17, %k4 +// CHECK: encoding: [0x62,0xf1,0xf5,0x20,0xc2,0x62,0x7f,0x7b] + vcmppd $123, 4064(%rdx), %ymm17, %k4 + +// CHECK: vcmppd $123, 4096(%rdx), %ymm17, %k4 +// CHECK: encoding: [0x62,0xf1,0xf5,0x20,0xc2,0xa2,0x00,0x10,0x00,0x00,0x7b] + vcmppd $0x7b, 4096(%rdx), %ymm17, %k4 + +// CHECK: vcmppd $123, -4096(%rdx), %ymm17, %k4 +// CHECK: encoding: [0x62,0xf1,0xf5,0x20,0xc2,0x62,0x80,0x7b] + vcmppd $0x7b, -4096(%rdx), %ymm17, %k4 + +// CHECK: vcmppd $123, -4128(%rdx), %ymm17, %k4 +// CHECK: encoding: [0x62,0xf1,0xf5,0x20,0xc2,0xa2,0xe0,0xef,0xff,0xff,0x7b] + vcmppd $0x7b, -4128(%rdx), %ymm17, %k4 + +// CHECK: vcmppd $123, 1016(%rdx){1to4}, %ymm17, %k4 +// CHECK: encoding: [0x62,0xf1,0xf5,0x30,0xc2,0x62,0x7f,0x7b] + vcmppd $0x7b, 1016(%rdx){1to4}, %ymm17, %k4 + +// CHECK: vcmppd $123, 1024(%rdx){1to4}, %ymm17, %k4 +// CHECK: encoding: [0x62,0xf1,0xf5,0x30,0xc2,0xa2,0x00,0x04,0x00,0x00,0x7b] + vcmppd $0x7b, 1024(%rdx){1to4}, %ymm17, %k4 + +// CHECK: vcmppd $123, -1024(%rdx){1to4}, %ymm17, %k4 +// CHECK: encoding: [0x62,0xf1,0xf5,0x30,0xc2,0x62,0x80,0x7b] + vcmppd $0x7b, -1024(%rdx){1to4}, %ymm17, %k4 + +// CHECK: vcmppd $123, -1032(%rdx){1to4}, %ymm17, %k4 +// CHECK: encoding: [0x62,0xf1,0xf5,0x30,0xc2,0xa2,0xf8,0xfb,0xff,0xff,0x7b] + vcmppd $0x7b, -1032(%rdx){1to4}, %ymm17, %k4 + +// CHECK: vcmpps $171, %xmm28, %xmm29, %k4 +// CHECK: encoding: [0x62,0x91,0x14,0x00,0xc2,0xe4,0xab] + vcmpps $0xab, %xmm28, %xmm29, %k4 + +// CHECK: vcmpps $171, %xmm28, %xmm29, %k4 {%k2} +// CHECK: encoding: [0x62,0x91,0x14,0x02,0xc2,0xe4,0xab] + vcmpps $0xab, %xmm28, %xmm29, %k4 {%k2} + +// CHECK: vcmpps $123, %xmm28, %xmm29, %k4 +// CHECK: encoding: [0x62,0x91,0x14,0x00,0xc2,0xe4,0x7b] + vcmpps $0x7b, %xmm28, %xmm29, %k4 + +// CHECK: vcmpps $123, (%rcx), %xmm29, %k4 +// CHECK: encoding: [0x62,0xf1,0x14,0x00,0xc2,0x21,0x7b] + vcmpps $0x7b, (%rcx), %xmm29, %k4 + +// CHECK: vcmpps $123, 291(%rax,%r14,8), %xmm29, %k4 +// CHECK: encoding: [0x62,0xb1,0x14,0x00,0xc2,0xa4,0xf0,0x23,0x01,0x00,0x00,0x7b] + vcmpps $0x7b, 291(%rax,%r14,8), %xmm29, %k4 + +// CHECK: vcmpps $123, (%rcx){1to4}, %xmm29, %k4 +// CHECK: encoding: [0x62,0xf1,0x14,0x10,0xc2,0x21,0x7b] + vcmpps $0x7b, (%rcx){1to4}, %xmm29, %k4 + +// CHECK: vcmpps $123, 2032(%rdx), %xmm29, %k4 +// CHECK: encoding: [0x62,0xf1,0x14,0x00,0xc2,0x62,0x7f,0x7b] + vcmpps $0x7b, 2032(%rdx), %xmm29, %k4 + +// CHECK: vcmpps $123, 2048(%rdx), %xmm29, %k4 +// CHECK: encoding: [0x62,0xf1,0x14,0x00,0xc2,0xa2,0x00,0x08,0x00,0x00,0x7b] + vcmpps $0x7b, 2048(%rdx), %xmm29, %k4 + +// CHECK: vcmpps $123, -2048(%rdx), %xmm29, %k4 +// CHECK: encoding: [0x62,0xf1,0x14,0x00,0xc2,0x62,0x80,0x7b] + vcmpps $0x7b, -2048(%rdx), %xmm29, %k4 + +// CHECK: vcmpps $123, -2064(%rdx), %xmm29, %k4 +// CHECK: encoding: [0x62,0xf1,0x14,0x00,0xc2,0xa2,0xf0,0xf7,0xff,0xff,0x7b] + vcmpps $0x7b, -2064(%rdx), %xmm29, %k4 + +// CHECK: vcmpps $123, 508(%rdx){1to4}, %xmm29, %k4 +// CHECK: encoding: [0x62,0xf1,0x14,0x10,0xc2,0x62,0x7f,0x7b] + vcmpps $123, 508(%rdx){1to4}, %xmm29, %k4 + +// CHECK: vcmpps $123, 512(%rdx){1to4}, %xmm29, %k4 +// CHECK: encoding: [0x62,0xf1,0x14,0x10,0xc2,0xa2,0x00,0x02,0x00,0x00,0x7b] + vcmpps $123, 512(%rdx){1to4}, %xmm29, %k4 + +// CHECK: vcmpps $123, -512(%rdx){1to4}, %xmm29, %k4 +// CHECK: encoding: [0x62,0xf1,0x14,0x10,0xc2,0x62,0x80,0x7b] + vcmpps $0x7b, -512(%rdx){1to4}, %xmm29, %k4 + +// CHECK: vcmpps $123, -516(%rdx){1to4}, %xmm29, %k4 +// CHECK: encoding: [0x62,0xf1,0x14,0x10,0xc2,0xa2,0xfc,0xfd,0xff,0xff,0x7b] + vcmpps $0x7b, -516(%rdx){1to4}, %xmm29, %k4 + +// CHECK: vcmpps $171, %ymm18, %ymm19, %k4 +// CHECK: encoding: [0x62,0xb1,0x64,0x20,0xc2,0xe2,0xab] + vcmpps $0xab, %ymm18, %ymm19, %k4 + +// CHECK: vcmpps $171, %ymm18, %ymm19, %k4 {%k1} +// CHECK: encoding: [0x62,0xb1,0x64,0x21,0xc2,0xe2,0xab] + vcmpps $0xab, %ymm18, %ymm19, %k4 {%k1} + +// CHECK: vcmpps $123, %ymm18, %ymm19, %k4 +// CHECK: encoding: [0x62,0xb1,0x64,0x20,0xc2,0xe2,0x7b] + vcmpps $0x7b, %ymm18, %ymm19, %k4 + +// CHECK: vcmpps $123, (%rcx), %ymm19, %k4 +// CHECK: encoding: [0x62,0xf1,0x64,0x20,0xc2,0x21,0x7b] + vcmpps $0x7b, (%rcx), %ymm19, %k4 + +// CHECK: vcmpps $123, 291(%rax,%r14,8), %ymm19, %k4 +// CHECK: encoding: [0x62,0xb1,0x64,0x20,0xc2,0xa4,0xf0,0x23,0x01,0x00,0x00,0x7b] + vcmpps $0x7b, 291(%rax,%r14,8), %ymm19, %k4 + +// CHECK: vcmpps $123, (%rcx){1to8}, %ymm19, %k4 +// CHECK: encoding: [0x62,0xf1,0x64,0x30,0xc2,0x21,0x7b] + vcmpps $0x7b, (%rcx){1to8}, %ymm19, %k4 + +// CHECK: vcmpps $123, 4064(%rdx), %ymm19, %k4 +// CHECK: encoding: [0x62,0xf1,0x64,0x20,0xc2,0x62,0x7f,0x7b] + vcmpps $0x7b, 4064(%rdx), %ymm19, %k4 + +// CHECK: vcmpps $123, 4096(%rdx), %ymm19, %k4 +// CHECK: encoding: [0x62,0xf1,0x64,0x20,0xc2,0xa2,0x00,0x10,0x00,0x00,0x7b] + vcmpps $0x7b, 4096(%rdx), %ymm19, %k4 + +// CHECK: vcmpps $123, -4096(%rdx), %ymm19, %k4 +// CHECK: encoding: [0x62,0xf1,0x64,0x20,0xc2,0x62,0x80,0x7b] + vcmpps $0x7b, -4096(%rdx), %ymm19, %k4 + +// CHECK: vcmpps $123, -4128(%rdx), %ymm19, %k4 +// CHECK: encoding: [0x62,0xf1,0x64,0x20,0xc2,0xa2,0xe0,0xef,0xff,0xff,0x7b] + vcmpps $0x7b, -4128(%rdx), %ymm19, %k4 + +// CHECK: vcmpps $123, 508(%rdx){1to8}, %ymm19, %k4 +// CHECK: encoding: [0x62,0xf1,0x64,0x30,0xc2,0x62,0x7f,0x7b] + vcmpps $0x7b, 508(%rdx){1to8}, %ymm19, %k4 + +// CHECK: vcmpps $123, 512(%rdx){1to8}, %ymm19, %k4 +// CHECK: encoding: [0x62,0xf1,0x64,0x30,0xc2,0xa2,0x00,0x02,0x00,0x00,0x7b] + vcmpps $0x7b, 512(%rdx){1to8}, %ymm19, %k4 + +// CHECK: vcmpps $123, -512(%rdx){1to8}, %ymm19, %k4 +// CHECK: encoding: [0x62,0xf1,0x64,0x30,0xc2,0x62,0x80,0x7b] + vcmpps $0x7b, -512(%rdx){1to8}, %ymm19, %k4 + +// CHECK: vcmpps $123, -516(%rdx){1to8}, %ymm19, %k4 +// CHECK: encoding: [0x62,0xf1,0x64,0x30,0xc2,0xa2,0xfc,0xfd,0xff,0xff,0x7b] + vcmpps $0x7b, -516(%rdx){1to8}, %ymm19, %k4 + +// CHECK: vbroadcastf32x4 (%rcx), %ymm28 +// CHECK: encoding: [0x62,0x62,0x7d,0x28,0x1a,0x21] + vbroadcastf32x4 (%rcx), %ymm28 + +// CHECK: vbroadcastf32x4 (%rcx), %ymm28 {%k4} +// CHECK: encoding: [0x62,0x62,0x7d,0x2c,0x1a,0x21] + vbroadcastf32x4 (%rcx), %ymm28 {%k4} + +// CHECK: vbroadcastf32x4 (%rcx), %ymm28 {%k4} {z} +// CHECK: encoding: [0x62,0x62,0x7d,0xac,0x1a,0x21] + vbroadcastf32x4 (%rcx), %ymm28 {%k4} {z} + +// CHECK: vbroadcastf32x4 291(%rax,%r14,8), %ymm28 +// CHECK: encoding: [0x62,0x22,0x7d,0x28,0x1a,0xa4,0xf0,0x23,0x01,0x00,0x00] + vbroadcastf32x4 291(%rax,%r14,8), %ymm28 + +// CHECK: vbroadcastf32x4 2032(%rdx), %ymm28 +// CHECK: encoding: [0x62,0x62,0x7d,0x28,0x1a,0x62,0x7f] + vbroadcastf32x4 2032(%rdx), %ymm28 + +// CHECK: vbroadcastf32x4 2048(%rdx), %ymm28 +// CHECK: encoding: [0x62,0x62,0x7d,0x28,0x1a,0xa2,0x00,0x08,0x00,0x00] + vbroadcastf32x4 2048(%rdx), %ymm28 + +// CHECK: vbroadcastf32x4 -2048(%rdx), %ymm28 +// CHECK: encoding: [0x62,0x62,0x7d,0x28,0x1a,0x62,0x80] + vbroadcastf32x4 -2048(%rdx), %ymm28 + +// CHECK: vbroadcastf32x4 -2064(%rdx), %ymm28 +// CHECK: encoding: [0x62,0x62,0x7d,0x28,0x1a,0xa2,0xf0,0xf7,0xff,0xff] + vbroadcastf32x4 -2064(%rdx), %ymm28 + +// CHECK: vbroadcasti32x4 (%rcx), %ymm19 +// CHECK: encoding: [0x62,0xe2,0x7d,0x28,0x5a,0x19] + vbroadcasti32x4 (%rcx), %ymm19 + +// CHECK: vbroadcasti32x4 (%rcx), %ymm19 {%k5} +// CHECK: encoding: [0x62,0xe2,0x7d,0x2d,0x5a,0x19] + vbroadcasti32x4 (%rcx), %ymm19 {%k5} + +// CHECK: vbroadcasti32x4 (%rcx), %ymm19 {%k5} {z} +// CHECK: encoding: [0x62,0xe2,0x7d,0xad,0x5a,0x19] + vbroadcasti32x4 (%rcx), %ymm19 {%k5} {z} + +// CHECK: vbroadcasti32x4 291(%rax,%r14,8), %ymm19 +// CHECK: encoding: [0x62,0xa2,0x7d,0x28,0x5a,0x9c,0xf0,0x23,0x01,0x00,0x00] + vbroadcasti32x4 291(%rax,%r14,8), %ymm19 + +// CHECK: vbroadcasti32x4 2032(%rdx), %ymm19 +// CHECK: encoding: [0x62,0xe2,0x7d,0x28,0x5a,0x5a,0x7f] + vbroadcasti32x4 2032(%rdx), %ymm19 + +// CHECK: vbroadcasti32x4 2048(%rdx), %ymm19 +// CHECK: encoding: [0x62,0xe2,0x7d,0x28,0x5a,0x9a,0x00,0x08,0x00,0x00] + vbroadcasti32x4 2048(%rdx), %ymm19 + +// CHECK: vbroadcasti32x4 -2048(%rdx), %ymm19 +// CHECK: encoding: [0x62,0xe2,0x7d,0x28,0x5a,0x5a,0x80] + vbroadcasti32x4 -2048(%rdx), %ymm19 + +// CHECK: vbroadcasti32x4 -2064(%rdx), %ymm19 +// CHECK: encoding: [0x62,0xe2,0x7d,0x28,0x5a,0x9a,0xf0,0xf7,0xff,0xff] + vbroadcasti32x4 -2064(%rdx), %ymm19 + +// CHECK: vfixupimmps $171, %xmm17, %xmm17, %xmm25 +// CHECK: encoding: [0x62,0x23,0x75,0x00,0x54,0xc9,0xab] + vfixupimmps $0xab, %xmm17, %xmm17, %xmm25 + +// CHECK: vfixupimmps $171, %xmm17, %xmm17, %xmm25 {%k3} +// CHECK: encoding: [0x62,0x23,0x75,0x03,0x54,0xc9,0xab] + vfixupimmps $0xab, %xmm17, %xmm17, %xmm25 {%k3} + +// CHECK: vfixupimmps $171, %xmm17, %xmm17, %xmm25 {%k3} {z} +// CHECK: encoding: [0x62,0x23,0x75,0x83,0x54,0xc9,0xab] + vfixupimmps $0xab, %xmm17, %xmm17, %xmm25 {%k3} {z} + +// CHECK: vfixupimmps $123, %xmm17, %xmm17, %xmm25 +// CHECK: encoding: [0x62,0x23,0x75,0x00,0x54,0xc9,0x7b] + vfixupimmps $0x7b, %xmm17, %xmm17, %xmm25 + +// CHECK: vfixupimmps $123, (%rcx), %xmm17, %xmm25 +// CHECK: encoding: [0x62,0x63,0x75,0x00,0x54,0x09,0x7b] + vfixupimmps $0x7b, (%rcx), %xmm17, %xmm25 + +// CHECK: vfixupimmps $123, 291(%rax,%r14,8), %xmm17, %xmm25 +// CHECK: encoding: [0x62,0x23,0x75,0x00,0x54,0x8c,0xf0,0x23,0x01,0x00,0x00,0x7b] + vfixupimmps $0x7b, 291(%rax,%r14,8), %xmm17, %xmm25 + +// CHECK: vfixupimmps $123, (%rcx){1to4}, %xmm17, %xmm25 +// CHECK: encoding: [0x62,0x63,0x75,0x10,0x54,0x09,0x7b] + vfixupimmps $0x7b, (%rcx){1to4}, %xmm17, %xmm25 + +// CHECK: vfixupimmps $123, 2032(%rdx), %xmm17, %xmm25 +// CHECK: encoding: [0x62,0x63,0x75,0x00,0x54,0x4a,0x7f,0x7b] + vfixupimmps $0x7b, 2032(%rdx), %xmm17, %xmm25 + +// CHECK: vfixupimmps $123, 2048(%rdx), %xmm17, %xmm25 +// CHECK: encoding: [0x62,0x63,0x75,0x00,0x54,0x8a,0x00,0x08,0x00,0x00,0x7b] + vfixupimmps $0x7b, 2048(%rdx), %xmm17, %xmm25 + +// CHECK: vfixupimmps $123, -2048(%rdx), %xmm17, %xmm25 +// CHECK: encoding: [0x62,0x63,0x75,0x00,0x54,0x4a,0x80,0x7b] + vfixupimmps $0x7b, -2048(%rdx), %xmm17, %xmm25 + +// CHECK: vfixupimmps $123, -2064(%rdx), %xmm17, %xmm25 +// CHECK: encoding: [0x62,0x63,0x75,0x00,0x54,0x8a,0xf0,0xf7,0xff,0xff,0x7b] + vfixupimmps $0x7b, -2064(%rdx), %xmm17, %xmm25 + +// CHECK: vfixupimmps $123, 508(%rdx){1to4}, %xmm17, %xmm25 +// CHECK: encoding: [0x62,0x63,0x75,0x10,0x54,0x4a,0x7f,0x7b] + vfixupimmps $0x7b, 508(%rdx){1to4}, %xmm17, %xmm25 + +// CHECK: vfixupimmps $123, 512(%rdx){1to4}, %xmm17, %xmm25 +// CHECK: encoding: [0x62,0x63,0x75,0x10,0x54,0x8a,0x00,0x02,0x00,0x00,0x7b] + vfixupimmps $0x7b, 512(%rdx){1to4}, %xmm17, %xmm25 + +// CHECK: vfixupimmps $123, -512(%rdx){1to4}, %xmm17, %xmm25 +// CHECK: encoding: [0x62,0x63,0x75,0x10,0x54,0x4a,0x80,0x7b] + vfixupimmps $0x7b, -512(%rdx){1to4}, %xmm17, %xmm25 + +// CHECK: vfixupimmps $123, -516(%rdx){1to4}, %xmm17, %xmm25 +// CHECK: encoding: [0x62,0x63,0x75,0x10,0x54,0x8a,0xfc,0xfd,0xff,0xff,0x7b] + vfixupimmps $0x7b, -516(%rdx){1to4}, %xmm17, %xmm25 + +// CHECK: vfixupimmps $171, %ymm28, %ymm21, %ymm30 +// CHECK: encoding: [0x62,0x03,0x55,0x20,0x54,0xf4,0xab] + vfixupimmps $0xab, %ymm28, %ymm21, %ymm30 + +// CHECK: vfixupimmps $171, %ymm28, %ymm21, %ymm30 {%k4} +// CHECK: encoding: [0x62,0x03,0x55,0x24,0x54,0xf4,0xab] + vfixupimmps $0xab, %ymm28, %ymm21, %ymm30 {%k4} + +// CHECK: vfixupimmps $171, %ymm28, %ymm21, %ymm30 {%k4} {z} +// CHECK: encoding: [0x62,0x03,0x55,0xa4,0x54,0xf4,0xab] + vfixupimmps $0xab, %ymm28, %ymm21, %ymm30 {%k4} {z} + +// CHECK: vfixupimmps $123, %ymm28, %ymm21, %ymm30 +// CHECK: encoding: [0x62,0x03,0x55,0x20,0x54,0xf4,0x7b] + vfixupimmps $0x7b, %ymm28, %ymm21, %ymm30 + +// CHECK: vfixupimmps $123, (%rcx), %ymm21, %ymm30 +// CHECK: encoding: [0x62,0x63,0x55,0x20,0x54,0x31,0x7b] + vfixupimmps $0x7b, (%rcx), %ymm21, %ymm30 + +// CHECK: vfixupimmps $123, 291(%rax,%r14,8), %ymm21, %ymm30 +// CHECK: encoding: [0x62,0x23,0x55,0x20,0x54,0xb4,0xf0,0x23,0x01,0x00,0x00,0x7b] + vfixupimmps $0x7b, 291(%rax,%r14,8), %ymm21, %ymm30 + +// CHECK: vfixupimmps $123, (%rcx){1to8}, %ymm21, %ymm30 +// CHECK: encoding: [0x62,0x63,0x55,0x30,0x54,0x31,0x7b] + vfixupimmps $0x7b, (%rcx){1to8}, %ymm21, %ymm30 + +// CHECK: vfixupimmps $123, 4064(%rdx), %ymm21, %ymm30 +// CHECK: encoding: [0x62,0x63,0x55,0x20,0x54,0x72,0x7f,0x7b] + vfixupimmps $0x7b, 4064(%rdx), %ymm21, %ymm30 + +// CHECK: vfixupimmps $123, 4096(%rdx), %ymm21, %ymm30 +// CHECK: encoding: [0x62,0x63,0x55,0x20,0x54,0xb2,0x00,0x10,0x00,0x00,0x7b] + vfixupimmps $0x7b, 4096(%rdx), %ymm21, %ymm30 + +// CHECK: vfixupimmps $123, -4096(%rdx), %ymm21, %ymm30 +// CHECK: encoding: [0x62,0x63,0x55,0x20,0x54,0x72,0x80,0x7b] + vfixupimmps $0x7b, -4096(%rdx), %ymm21, %ymm30 + +// CHECK: vfixupimmps $123, -4128(%rdx), %ymm21, %ymm30 +// CHECK: encoding: [0x62,0x63,0x55,0x20,0x54,0xb2,0xe0,0xef,0xff,0xff,0x7b] + vfixupimmps $0x7b, -4128(%rdx), %ymm21, %ymm30 + +// CHECK: vfixupimmps $123, 508(%rdx){1to8}, %ymm21, %ymm30 +// CHECK: encoding: [0x62,0x63,0x55,0x30,0x54,0x72,0x7f,0x7b] + vfixupimmps $0x7b, 508(%rdx){1to8}, %ymm21, %ymm30 + +// CHECK: vfixupimmps $123, 512(%rdx){1to8}, %ymm21, %ymm30 +// CHECK: encoding: [0x62,0x63,0x55,0x30,0x54,0xb2,0x00,0x02,0x00,0x00,0x7b] + vfixupimmps $0x7b, 512(%rdx){1to8}, %ymm21, %ymm30 + +// CHECK: vfixupimmps $123, -512(%rdx){1to8}, %ymm21, %ymm30 +// CHECK: encoding: [0x62,0x63,0x55,0x30,0x54,0x72,0x80,0x7b] + vfixupimmps $0x7b, -512(%rdx){1to8}, %ymm21, %ymm30 + +// CHECK: vfixupimmps $123, -516(%rdx){1to8}, %ymm21, %ymm30 +// CHECK: encoding: [0x62,0x63,0x55,0x30,0x54,0xb2,0xfc,0xfd,0xff,0xff,0x7b] + vfixupimmps $0x7b, -516(%rdx){1to8}, %ymm21, %ymm30 + +// CHECK: vfixupimmpd $171, %xmm25, %xmm18, %xmm24 +// CHECK: encoding: [0x62,0x03,0xed,0x00,0x54,0xc1,0xab] + vfixupimmpd $0xab, %xmm25, %xmm18, %xmm24 + +// CHECK: vfixupimmpd $171, %xmm25, %xmm18, %xmm24 {%k3} +// CHECK: encoding: [0x62,0x03,0xed,0x03,0x54,0xc1,0xab] + vfixupimmpd $0xab, %xmm25, %xmm18, %xmm24 {%k3} + +// CHECK: vfixupimmpd $171, %xmm25, %xmm18, %xmm24 {%k3} {z} +// CHECK: encoding: [0x62,0x03,0xed,0x83,0x54,0xc1,0xab] + vfixupimmpd $0xab, %xmm25, %xmm18, %xmm24 {%k3} {z} + +// CHECK: vfixupimmpd $123, %xmm25, %xmm18, %xmm24 +// CHECK: encoding: [0x62,0x03,0xed,0x00,0x54,0xc1,0x7b] + vfixupimmpd $0x7b, %xmm25, %xmm18, %xmm24 + +// CHECK: vfixupimmpd $123, (%rcx), %xmm18, %xmm24 +// CHECK: encoding: [0x62,0x63,0xed,0x00,0x54,0x01,0x7b] + vfixupimmpd $0x7b, (%rcx), %xmm18, %xmm24 + +// CHECK: vfixupimmpd $123, 291(%rax,%r14,8), %xmm18, %xmm24 +// CHECK: encoding: [0x62,0x23,0xed,0x00,0x54,0x84,0xf0,0x23,0x01,0x00,0x00,0x7b] + vfixupimmpd $0x7b, 291(%rax,%r14,8), %xmm18, %xmm24 + +// CHECK: vfixupimmpd $123, (%rcx){1to2}, %xmm18, %xmm24 +// CHECK: encoding: [0x62,0x63,0xed,0x10,0x54,0x01,0x7b] + vfixupimmpd $0x7b, (%rcx){1to2}, %xmm18, %xmm24 + +// CHECK: vfixupimmpd $123, 2032(%rdx), %xmm18, %xmm24 +// CHECK: encoding: [0x62,0x63,0xed,0x00,0x54,0x42,0x7f,0x7b] + vfixupimmpd $0x7b, 2032(%rdx), %xmm18, %xmm24 + +// CHECK: vfixupimmpd $123, 2048(%rdx), %xmm18, %xmm24 +// CHECK: encoding: [0x62,0x63,0xed,0x00,0x54,0x82,0x00,0x08,0x00,0x00,0x7b] + vfixupimmpd $0x7b, 2048(%rdx), %xmm18, %xmm24 + +// CHECK: vfixupimmpd $123, -2048(%rdx), %xmm18, %xmm24 +// CHECK: encoding: [0x62,0x63,0xed,0x00,0x54,0x42,0x80,0x7b] + vfixupimmpd $0x7b, -2048(%rdx), %xmm18, %xmm24 + +// CHECK: vfixupimmpd $123, -2064(%rdx), %xmm18, %xmm24 +// CHECK: encoding: [0x62,0x63,0xed,0x00,0x54,0x82,0xf0,0xf7,0xff,0xff,0x7b] + vfixupimmpd $0x7b, -2064(%rdx), %xmm18, %xmm24 + +// CHECK: vfixupimmpd $123, 1016(%rdx){1to2}, %xmm18, %xmm24 +// CHECK: encoding: [0x62,0x63,0xed,0x10,0x54,0x42,0x7f,0x7b] + vfixupimmpd $0x7b, 1016(%rdx){1to2}, %xmm18, %xmm24 + +// CHECK: vfixupimmpd $123, 1024(%rdx){1to2}, %xmm18, %xmm24 +// CHECK: encoding: [0x62,0x63,0xed,0x10,0x54,0x82,0x00,0x04,0x00,0x00,0x7b] + vfixupimmpd $0x7b, 1024(%rdx){1to2}, %xmm18, %xmm24 + +// CHECK: vfixupimmpd $123, -1024(%rdx){1to2}, %xmm18, %xmm24 +// CHECK: encoding: [0x62,0x63,0xed,0x10,0x54,0x42,0x80,0x7b] + vfixupimmpd $0x7b, -1024(%rdx){1to2}, %xmm18, %xmm24 + +// CHECK: vfixupimmpd $123, -1032(%rdx){1to2}, %xmm18, %xmm24 +// CHECK: encoding: [0x62,0x63,0xed,0x10,0x54,0x82,0xf8,0xfb,0xff,0xff,0x7b] + vfixupimmpd $0x7b, -1032(%rdx){1to2}, %xmm18, %xmm24 + +// CHECK: vfixupimmpd $171, %ymm28, %ymm22, %ymm18 +// CHECK: encoding: [0x62,0x83,0xcd,0x20,0x54,0xd4,0xab] + vfixupimmpd $0xab, %ymm28, %ymm22, %ymm18 + +// CHECK: vfixupimmpd $171, %ymm28, %ymm22, %ymm18 {%k2} +// CHECK: encoding: [0x62,0x83,0xcd,0x22,0x54,0xd4,0xab] + vfixupimmpd $0xab, %ymm28, %ymm22, %ymm18 {%k2} + +// CHECK: vfixupimmpd $171, %ymm28, %ymm22, %ymm18 {%k2} {z} +// CHECK: encoding: [0x62,0x83,0xcd,0xa2,0x54,0xd4,0xab] + vfixupimmpd $0xab, %ymm28, %ymm22, %ymm18 {%k2} {z} + +// CHECK: vfixupimmpd $123, %ymm28, %ymm22, %ymm18 +// CHECK: encoding: [0x62,0x83,0xcd,0x20,0x54,0xd4,0x7b] + vfixupimmpd $0x7b, %ymm28, %ymm22, %ymm18 + +// CHECK: vfixupimmpd $123, (%rcx), %ymm22, %ymm18 +// CHECK: encoding: [0x62,0xe3,0xcd,0x20,0x54,0x11,0x7b] + vfixupimmpd $0x7b, (%rcx), %ymm22, %ymm18 + +// CHECK: vfixupimmpd $123, 291(%rax,%r14,8), %ymm22, %ymm18 +// CHECK: encoding: [0x62,0xa3,0xcd,0x20,0x54,0x94,0xf0,0x23,0x01,0x00,0x00,0x7b] + vfixupimmpd $0x7b, 291(%rax,%r14,8), %ymm22, %ymm18 + +// CHECK: vfixupimmpd $123, (%rcx){1to4}, %ymm22, %ymm18 +// CHECK: encoding: [0x62,0xe3,0xcd,0x30,0x54,0x11,0x7b] + vfixupimmpd $0x7b, (%rcx){1to4}, %ymm22, %ymm18 + +// CHECK: vfixupimmpd $123, 4064(%rdx), %ymm22, %ymm18 +// CHECK: encoding: [0x62,0xe3,0xcd,0x20,0x54,0x52,0x7f,0x7b] + vfixupimmpd $0x7b, 4064(%rdx), %ymm22, %ymm18 + +// CHECK: vfixupimmpd $123, 4096(%rdx), %ymm22, %ymm18 +// CHECK: encoding: [0x62,0xe3,0xcd,0x20,0x54,0x92,0x00,0x10,0x00,0x00,0x7b] + vfixupimmpd $0x7b, 4096(%rdx), %ymm22, %ymm18 + +// CHECK: vfixupimmpd $123, -4096(%rdx), %ymm22, %ymm18 +// CHECK: encoding: [0x62,0xe3,0xcd,0x20,0x54,0x52,0x80,0x7b] + vfixupimmpd $0x7b, -4096(%rdx), %ymm22, %ymm18 + +// CHECK: vfixupimmpd $123, -4128(%rdx), %ymm22, %ymm18 +// CHECK: encoding: [0x62,0xe3,0xcd,0x20,0x54,0x92,0xe0,0xef,0xff,0xff,0x7b] + vfixupimmpd $0x7b, -4128(%rdx), %ymm22, %ymm18 + +// CHECK: vfixupimmpd $123, 1016(%rdx){1to4}, %ymm22, %ymm18 +// CHECK: encoding: [0x62,0xe3,0xcd,0x30,0x54,0x52,0x7f,0x7b] + vfixupimmpd $0x7b, 1016(%rdx){1to4}, %ymm22, %ymm18 + +// CHECK: vfixupimmpd $123, 1024(%rdx){1to4}, %ymm22, %ymm18 +// CHECK: encoding: [0x62,0xe3,0xcd,0x30,0x54,0x92,0x00,0x04,0x00,0x00,0x7b] + vfixupimmpd $0x7b, 1024(%rdx){1to4}, %ymm22, %ymm18 + +// CHECK: vfixupimmpd $123, -1024(%rdx){1to4}, %ymm22, %ymm18 +// CHECK: encoding: [0x62,0xe3,0xcd,0x30,0x54,0x52,0x80,0x7b] + vfixupimmpd $0x7b, -1024(%rdx){1to4}, %ymm22, %ymm18 + +// CHECK: vfixupimmpd $123, -1032(%rdx){1to4}, %ymm22, %ymm18 +// CHECK: encoding: [0x62,0xe3,0xcd,0x30,0x54,0x92,0xf8,0xfb,0xff,0xff,0x7b] + vfixupimmpd $0x7b, -1032(%rdx){1to4}, %ymm22, %ymm18 + +// CHECK: vpshufd $171, %xmm23, %xmm17 +// CHECK: encoding: [0x62,0xa1,0x7d,0x08,0x70,0xcf,0xab] + vpshufd $171, %xmm23, %xmm17 + +// CHECK: vpshufd $171, %xmm23, %xmm17 {%k1} +// CHECK: encoding: [0x62,0xa1,0x7d,0x09,0x70,0xcf,0xab] + vpshufd $171, %xmm23, %xmm17 {%k1} + +// CHECK: vpshufd $171, %xmm23, %xmm17 {%k1} {z} +// CHECK: encoding: [0x62,0xa1,0x7d,0x89,0x70,0xcf,0xab] + vpshufd $171, %xmm23, %xmm17 {%k1} {z} + +// CHECK: vpshufd $123, %xmm23, %xmm17 +// CHECK: encoding: [0x62,0xa1,0x7d,0x08,0x70,0xcf,0x7b] + vpshufd $123, %xmm23, %xmm17 + +// CHECK: vpshufd $123, (%rcx), %xmm17 +// CHECK: encoding: [0x62,0xe1,0x7d,0x08,0x70,0x09,0x7b] + vpshufd $123, (%rcx), %xmm17 + +// CHECK: vpshufd $123, 291(%rax,%r14,8), %xmm17 +// CHECK: encoding: [0x62,0xa1,0x7d,0x08,0x70,0x8c,0xf0,0x23,0x01,0x00,0x00,0x7b] + vpshufd $123, 291(%rax,%r14,8), %xmm17 + + +// CHECK: vpshufd $123, 2032(%rdx), %xmm17 +// CHECK: encoding: [0x62,0xe1,0x7d,0x08,0x70,0x4a,0x7f,0x7b] + vpshufd $123, 2032(%rdx), %xmm17 + +// CHECK: vpshufd $123, (%rcx){1to4}, %xmm17 +// CHECK: encoding: [0x62,0xe1,0x7d,0x18,0x70,0x09,0x7b] + vpshufd $123, (%rcx){1to4}, %xmm17 + +// CHECK: vpshufd $123, 2048(%rdx), %xmm17 +// CHECK: encoding: [0x62,0xe1,0x7d,0x08,0x70,0x8a,0x00,0x08,0x00,0x00,0x7b] + vpshufd $123, 2048(%rdx), %xmm17 + +// CHECK: vpshufd $123, -2048(%rdx), %xmm17 +// CHECK: encoding: [0x62,0xe1,0x7d,0x08,0x70,0x4a,0x80,0x7b] + vpshufd $123, -2048(%rdx), %xmm17 + +// CHECK: vpshufd $123, -2064(%rdx), %xmm17 +// CHECK: encoding: [0x62,0xe1,0x7d,0x08,0x70,0x8a,0xf0,0xf7,0xff,0xff,0x7b] + vpshufd $123, -2064(%rdx), %xmm17 + +// CHECK: vpshufd $123, 508(%rdx){1to4}, %xmm17 +// CHECK: encoding: [0x62,0xe1,0x7d,0x18,0x70,0x4a,0x7f,0x7b] + vpshufd $123, 508(%rdx){1to4}, %xmm17 + +// CHECK: vpshufd $123, 512(%rdx){1to4}, %xmm17 +// CHECK: encoding: [0x62,0xe1,0x7d,0x18,0x70,0x8a,0x00,0x02,0x00,0x00,0x7b] + vpshufd $123, 512(%rdx){1to4}, %xmm17 + +// CHECK: vpshufd $123, -512(%rdx){1to4}, %xmm17 +// CHECK: encoding: [0x62,0xe1,0x7d,0x18,0x70,0x4a,0x80,0x7b] + vpshufd $123, -512(%rdx){1to4}, %xmm17 + +// CHECK: vpshufd $123, -516(%rdx){1to4}, %xmm17 +// CHECK: encoding: [0x62,0xe1,0x7d,0x18,0x70,0x8a,0xfc,0xfd,0xff,0xff,0x7b] + vpshufd $123, -516(%rdx){1to4}, %xmm17 + +// CHECK: vpshufd $171, %ymm22, %ymm20 +// CHECK: encoding: [0x62,0xa1,0x7d,0x28,0x70,0xe6,0xab] + vpshufd $171, %ymm22, %ymm20 + +// CHECK: vpshufd $171, %ymm22, %ymm20 {%k2} +// CHECK: encoding: [0x62,0xa1,0x7d,0x2a,0x70,0xe6,0xab] + vpshufd $171, %ymm22, %ymm20 {%k2} + +// CHECK: vpshufd $171, %ymm22, %ymm20 {%k2} {z} +// CHECK: encoding: [0x62,0xa1,0x7d,0xaa,0x70,0xe6,0xab] + vpshufd $171, %ymm22, %ymm20 {%k2} {z} + +// CHECK: vpshufd $123, %ymm22, %ymm20 +// CHECK: encoding: [0x62,0xa1,0x7d,0x28,0x70,0xe6,0x7b] + vpshufd $123, %ymm22, %ymm20 + +// CHECK: vpshufd $123, (%rcx), %ymm20 +// CHECK: encoding: [0x62,0xe1,0x7d,0x28,0x70,0x21,0x7b] + vpshufd $123, (%rcx), %ymm20 + +// CHECK: vpshufd $123, 291(%rax,%r14,8), %ymm20 +// CHECK: encoding: [0x62,0xa1,0x7d,0x28,0x70,0xa4,0xf0,0x23,0x01,0x00,0x00,0x7b] + vpshufd $123, 291(%rax,%r14,8), %ymm20 + +// CHECK: vpshufd $123, (%rcx){1to8}, %ymm20 +// CHECK: encoding: [0x62,0xe1,0x7d,0x38,0x70,0x21,0x7b] + vpshufd $123, (%rcx){1to8}, %ymm20 + +// CHECK: vpshufd $123, 4064(%rdx), %ymm20 +// CHECK: encoding: [0x62,0xe1,0x7d,0x28,0x70,0x62,0x7f,0x7b] + vpshufd $123, 4064(%rdx), %ymm20 + +// CHECK: vpshufd $123, 4096(%rdx), %ymm20 +// CHECK: encoding: [0x62,0xe1,0x7d,0x28,0x70,0xa2,0x00,0x10,0x00,0x00,0x7b] + vpshufd $123, 4096(%rdx), %ymm20 + +// CHECK: vpshufd $123, -4096(%rdx), %ymm20 +// CHECK: encoding: [0x62,0xe1,0x7d,0x28,0x70,0x62,0x80,0x7b] + vpshufd $123, -4096(%rdx), %ymm20 + +// CHECK: vpshufd $123, -4128(%rdx), %ymm20 +// CHECK: encoding: [0x62,0xe1,0x7d,0x28,0x70,0xa2,0xe0,0xef,0xff,0xff,0x7b] + vpshufd $123, -4128(%rdx), %ymm20 + +// CHECK: vpshufd $123, 508(%rdx){1to8}, %ymm20 +// CHECK: encoding: [0x62,0xe1,0x7d,0x38,0x70,0x62,0x7f,0x7b] + vpshufd $123, 508(%rdx){1to8}, %ymm20 + +// CHECK: vpshufd $123, 512(%rdx){1to8}, %ymm20 +// CHECK: encoding: [0x62,0xe1,0x7d,0x38,0x70,0xa2,0x00,0x02,0x00,0x00,0x7b] + vpshufd $123, 512(%rdx){1to8}, %ymm20 + +// CHECK: vpshufd $123, -512(%rdx){1to8}, %ymm20 +// CHECK: encoding: [0x62,0xe1,0x7d,0x38,0x70,0x62,0x80,0x7b] + vpshufd $123, -512(%rdx){1to8}, %ymm20 + +// CHECK: vpshufd $123, -516(%rdx){1to8}, %ymm20 +// CHECK: encoding: [0x62,0xe1,0x7d,0x38,0x70,0xa2,0xfc,0xfd,0xff,0xff,0x7b] + vpshufd $123, -516(%rdx){1to8}, %ymm20