Index: llvm/trunk/test/MC/X86/avx512-encodings.s =================================================================== --- llvm/trunk/test/MC/X86/avx512-encodings.s +++ llvm/trunk/test/MC/X86/avx512-encodings.s @@ -14958,3 +14958,67 @@ // CHECK: encoding: [0x62,0xf2,0xc5,0x08,0x43,0x92,0xf8,0xfb,0xff,0xff] vgetexpsd -1032(%rdx), %xmm7, %xmm2 +// CHECK: vscatterqps %ymm6, 123(%r14,%zmm27,8) {%k1} +// CHECK: encoding: [0x62,0x92,0x7d,0x41,0xa3,0xb4,0xde,0x7b,0x00,0x00,0x00] + vscatterqps %ymm6, 123(%r14,%zmm27,8) {%k1} + +// CHECK: vscatterqps %ymm6, 123(%r14,%zmm27,8) {%k1} +// CHECK: encoding: [0x62,0x92,0x7d,0x41,0xa3,0xb4,0xde,0x7b,0x00,0x00,0x00] + vscatterqps %ymm6, 123(%r14,%zmm27,8) {%k1} + +// CHECK: vscatterqps %ymm6, 256(%r9,%zmm27) {%k1} +// CHECK: encoding: [0x62,0x92,0x7d,0x41,0xa3,0x74,0x19,0x40] + vscatterqps %ymm6, 256(%r9,%zmm27) {%k1} + +// CHECK: vscatterqps %ymm6, 1024(%rcx,%zmm27,4) {%k1} +// CHECK: encoding: [0x62,0xb2,0x7d,0x41,0xa3,0xb4,0x99,0x00,0x04,0x00,0x00] + vscatterqps %ymm6, 1024(%rcx,%zmm27,4) {%k1} + +// CHECK: vscatterqpd %zmm22, 123(%r14,%zmm28,8) {%k1} +// CHECK: encoding: [0x62,0x82,0xfd,0x41,0xa3,0xb4,0xe6,0x7b,0x00,0x00,0x00] + vscatterqpd %zmm22, 123(%r14,%zmm28,8) {%k1} + +// CHECK: vscatterqpd %zmm22, 123(%r14,%zmm28,8) {%k1} +// CHECK: encoding: [0x62,0x82,0xfd,0x41,0xa3,0xb4,0xe6,0x7b,0x00,0x00,0x00] + vscatterqpd %zmm22, 123(%r14,%zmm28,8) {%k1} + +// CHECK: vscatterqpd %zmm22, 256(%r9,%zmm28) {%k1} +// CHECK: encoding: [0x62,0x82,0xfd,0x41,0xa3,0x74,0x21,0x20] + vscatterqpd %zmm22, 256(%r9,%zmm28) {%k1} + +// CHECK: vscatterqpd %zmm22, 1024(%rcx,%zmm28,4) {%k1} +// CHECK: encoding: [0x62,0xa2,0xfd,0x41,0xa3,0xb4,0xa1,0x00,0x04,0x00,0x00] + vscatterqpd %zmm22, 1024(%rcx,%zmm28,4) {%k1} + +// CHECK: vscatterdps %zmm17, 123(%r14,%zmm19,8) {%k1} +// CHECK: encoding: [0x62,0xc2,0x7d,0x41,0xa2,0x8c,0xde,0x7b,0x00,0x00,0x00] + vscatterdps %zmm17, 123(%r14, %zmm19,8) {%k1} + +// CHECK: vscatterdps %zmm17, 123(%r14,%zmm19,8) {%k1} +// CHECK: encoding: [0x62,0xc2,0x7d,0x41,0xa2,0x8c,0xde,0x7b,0x00,0x00,0x00] + vscatterdps %zmm17, 123(%r14, %zmm19,8) {%k1} + +// CHECK: vscatterdps %zmm17, 256(%r9,%zmm19) {%k1} +// CHECK: encoding: [0x62,0xc2,0x7d,0x41,0xa2,0x4c,0x19,0x40] + vscatterdps %zmm17, 256(%r9, %zmm19) {%k1} + +// CHECK: vscatterdps %zmm17, 1024(%rcx,%zmm19,4) {%k1} +// CHECK: encoding: [0x62,0xe2,0x7d,0x41,0xa2,0x8c,0x99,0x00,0x04,0x00,0x00] + vscatterdps %zmm17, 1024(%rcx, %zmm19,4) {%k1} + +// CHECK: vscatterdpd %zmm18, 123(%r14,%ymm24,8) {%k1} +// CHECK: encoding: [0x62,0x82,0xfd,0x41,0xa2,0x94,0xc6,0x7b,0x00,0x00,0x00] + vscatterdpd %zmm18, 123(%r14, %ymm24,8) {%k1} + +// CHECK: vscatterdpd %zmm18, 123(%r14,%ymm24,8) {%k1} +// CHECK: encoding: [0x62,0x82,0xfd,0x41,0xa2,0x94,0xc6,0x7b,0x00,0x00,0x00] + vscatterdpd %zmm18, 123(%r14, %ymm24,8) {%k1} + +// CHECK: vscatterdpd %zmm18, 256(%r9,%ymm24) {%k1} +// CHECK: encoding: [0x62,0x82,0xfd,0x41,0xa2,0x54,0x01,0x20] + vscatterdpd %zmm18, 256(%r9, %ymm24) {%k1} + +// CHECK: vscatterdpd %zmm18, 1024(%rcx,%ymm24,4) {%k1} +// CHECK: encoding: [0x62,0xa2,0xfd,0x41,0xa2,0x94,0x81,0x00,0x04,0x00,0x00] + vscatterdpd %zmm18, 1024(%rcx, %ymm24,4) {%k1} + Index: llvm/trunk/test/MC/X86/x86-64-avx512f_vl.s =================================================================== --- llvm/trunk/test/MC/X86/x86-64-avx512f_vl.s +++ llvm/trunk/test/MC/X86/x86-64-avx512f_vl.s @@ -19739,3 +19739,131 @@ // CHECK: encoding: [0x62,0xe1,0xe5,0x30,0x6d,0xa2,0xf8,0xfb,0xff,0xff] vpunpckhqdq -1032(%rdx){1to4}, %ymm19, %ymm20 +// CHECK: vscatterqps %xmm28, 123(%r14,%xmm31,8) {%k1} +// CHECK: encoding: [0x62,0x02,0x7d,0x01,0xa3,0xa4,0xfe,0x7b,0x00,0x00,0x00] + vscatterqps %xmm28, 123(%r14, %xmm31,8) {%k1} + +// CHECK: vscatterqps %xmm28, 123(%r14,%xmm31,8) {%k1} +// CHECK: encoding: [0x62,0x02,0x7d,0x01,0xa3,0xa4,0xfe,0x7b,0x00,0x00,0x00] + vscatterqps %xmm28, 123(%r14, %xmm31,8) {%k1} + +// CHECK: vscatterqps %xmm28, 256(%r9,%xmm31) {%k1} +// CHECK: encoding: [0x62,0x02,0x7d,0x01,0xa3,0x64,0x39,0x40] + vscatterqps %xmm28, 256(%r9, %xmm31) {%k1} + +// CHECK: vscatterqps %xmm28, 1024(%rcx,%xmm31,4) {%k1} +// CHECK: encoding: [0x62,0x22,0x7d,0x01,0xa3,0xa4,0xb9,0x00,0x04,0x00,0x00] + vscatterqps %xmm28, 1024(%rcx, %xmm31,4) {%k1} + +// CHECK: vscatterqps %xmm25, 123(%r14,%ymm31,8) {%k1} +// CHECK: encoding: [0x62,0x02,0x7d,0x21,0xa3,0x8c,0xfe,0x7b,0x00,0x00,0x00] + vscatterqps %xmm25, 123(%r14, %ymm31,8) {%k1} + +// CHECK: vscatterqps %xmm25, 123(%r14,%ymm31,8) {%k1} +// CHECK: encoding: [0x62,0x02,0x7d,0x21,0xa3,0x8c,0xfe,0x7b,0x00,0x00,0x00] + vscatterqps %xmm25, 123(%r14, %ymm31,8) {%k1} + +// CHECK: vscatterqps %xmm25, 256(%r9,%ymm31) {%k1} +// CHECK: encoding: [0x62,0x02,0x7d,0x21,0xa3,0x4c,0x39,0x40] + vscatterqps %xmm25, 256(%r9, %ymm31) {%k1} + +// CHECK: vscatterqps %xmm25, 1024(%rcx,%ymm31,4) {%k1} +// CHECK: encoding: [0x62,0x22,0x7d,0x21,0xa3,0x8c,0xb9,0x00,0x04,0x00,0x00] + vscatterqps %xmm25, 1024(%rcx, %ymm31,4) {%k1} + +// CHECK: vscatterqpd %xmm21, 123(%r14,%xmm31,8) {%k1} +// CHECK: encoding: [0x62,0x82,0xfd,0x01,0xa3,0xac,0xfe,0x7b,0x00,0x00,0x00] + vscatterqpd %xmm21, 123(%r14, %xmm31,8) {%k1} + +// CHECK: vscatterqpd %xmm21, 123(%r14,%xmm31,8) {%k1} +// CHECK: encoding: [0x62,0x82,0xfd,0x01,0xa3,0xac,0xfe,0x7b,0x00,0x00,0x00] + vscatterqpd %xmm21, 123(%r14, %xmm31,8) {%k1} + +// CHECK: vscatterqpd %xmm21, 256(%r9,%xmm31) {%k1} +// CHECK: encoding: [0x62,0x82,0xfd,0x01,0xa3,0x6c,0x39,0x20] + vscatterqpd %xmm21, 256(%r9, %xmm31) {%k1} + +// CHECK: vscatterqpd %xmm21, 1024(%rcx,%xmm31,4) {%k1} +// CHECK: encoding: [0x62,0xa2,0xfd,0x01,0xa3,0xac,0xb9,0x00,0x04,0x00,0x00] + vscatterqpd %xmm21, 1024(%rcx, %xmm31,4) {%k1} + +// CHECK: vscatterqpd %ymm23, 123(%r14,%ymm31,8) {%k1} +// CHECK: encoding: [0x62,0x82,0xfd,0x21,0xa3,0xbc,0xfe,0x7b,0x00,0x00,0x00] + vscatterqpd %ymm23, 123(%r14, %ymm31,8) {%k1} + +// CHECK: vscatterqpd %ymm23, 123(%r14,%ymm31,8) {%k1} +// CHECK: encoding: [0x62,0x82,0xfd,0x21,0xa3,0xbc,0xfe,0x7b,0x00,0x00,0x00] + vscatterqpd %ymm23, 123(%r14, %ymm31,8) {%k1} + +// CHECK: vscatterqpd %ymm23, 256(%r9,%ymm31) {%k1} +// CHECK: encoding: [0x62,0x82,0xfd,0x21,0xa3,0x7c,0x39,0x20] + vscatterqpd %ymm23, 256(%r9, %ymm31) {%k1} + +// CHECK: vscatterqpd %ymm23, 1024(%rcx,%ymm31,4) {%k1} +// CHECK: encoding: [0x62,0xa2,0xfd,0x21,0xa3,0xbc,0xb9,0x00,0x04,0x00,0x00] + vscatterqpd %ymm23, 1024(%rcx, %ymm31,4) {%k1} + +// CHECK: vscatterdps %xmm24, 123(%r14,%xmm31,8) {%k1} +// CHECK: encoding: [0x62,0x02,0x7d,0x01,0xa2,0x84,0xfe,0x7b,0x00,0x00,0x00] + vscatterdps %xmm24, 123(%r14, %xmm31,8) {%k1} + +// CHECK: vscatterdps %xmm24, 123(%r14,%xmm31,8) {%k1} +// CHECK: encoding: [0x62,0x02,0x7d,0x01,0xa2,0x84,0xfe,0x7b,0x00,0x00,0x00] + vscatterdps %xmm24, 123(%r14, %xmm31,8) {%k1} + +// CHECK: vscatterdps %xmm24, 256(%r9,%xmm31) {%k1} +// CHECK: encoding: [0x62,0x02,0x7d,0x01,0xa2,0x44,0x39,0x40] + vscatterdps %xmm24, 256(%r9, %xmm31) {%k1} + +// CHECK: vscatterdps %xmm24, 1024(%rcx,%xmm31,4) {%k1} +// CHECK: encoding: [0x62,0x22,0x7d,0x01,0xa2,0x84,0xb9,0x00,0x04,0x00,0x00] + vscatterdps %xmm24, 1024(%rcx, %xmm31,4) {%k1} + +// CHECK: vscatterdps %ymm23, 123(%r14,%ymm31,8) {%k1} +// CHECK: encoding: [0x62,0x82,0x7d,0x21,0xa2,0xbc,0xfe,0x7b,0x00,0x00,0x00] + vscatterdps %ymm23, 123(%r14, %ymm31,8) {%k1} + +// CHECK: vscatterdps %ymm23, 123(%r14,%ymm31,8) {%k1} +// CHECK: encoding: [0x62,0x82,0x7d,0x21,0xa2,0xbc,0xfe,0x7b,0x00,0x00,0x00] + vscatterdps %ymm23, 123(%r14, %ymm31,8) {%k1} + +// CHECK: vscatterdps %ymm23, 256(%r9,%ymm31) {%k1} +// CHECK: encoding: [0x62,0x82,0x7d,0x21,0xa2,0x7c,0x39,0x40] + vscatterdps %ymm23, 256(%r9, %ymm31) {%k1} + +// CHECK: vscatterdps %ymm23, 1024(%rcx,%ymm31,4) {%k1} +// CHECK: encoding: [0x62,0xa2,0x7d,0x21,0xa2,0xbc,0xb9,0x00,0x04,0x00,0x00] + vscatterdps %ymm23, 1024(%rcx, %ymm31,4) {%k1} + +// CHECK: vscatterdpd %xmm18, 123(%r14,%xmm31,8) {%k1} +// CHECK: encoding: [0x62,0x82,0xfd,0x01,0xa2,0x94,0xfe,0x7b,0x00,0x00,0x00] + vscatterdpd %xmm18, 123(%r14, %xmm31,8) {%k1} + +// CHECK: vscatterdpd %xmm18, 123(%r14,%xmm31,8) {%k1} +// CHECK: encoding: [0x62,0x82,0xfd,0x01,0xa2,0x94,0xfe,0x7b,0x00,0x00,0x00] + vscatterdpd %xmm18, 123(%r14, %xmm31,8) {%k1} + +// CHECK: vscatterdpd %xmm18, 256(%r9,%xmm31) {%k1} +// CHECK: encoding: [0x62,0x82,0xfd,0x01,0xa2,0x54,0x39,0x20] + vscatterdpd %xmm18, 256(%r9, %xmm31) {%k1} + +// CHECK: vscatterdpd %xmm18, 1024(%rcx,%xmm31,4) {%k1} +// CHECK: encoding: [0x62,0xa2,0xfd,0x01,0xa2,0x94,0xb9,0x00,0x04,0x00,0x00] + vscatterdpd %xmm18, 1024(%rcx, %xmm31,4) {%k1} + +// CHECK: vscatterdpd %ymm30, 123(%r14,%xmm31,8) {%k1} +// CHECK: encoding: [0x62,0x02,0xfd,0x21,0xa2,0xb4,0xfe,0x7b,0x00,0x00,0x00] + vscatterdpd %ymm30, 123(%r14, %xmm31,8) {%k1} + +// CHECK: vscatterdpd %ymm30, 123(%r14,%xmm31,8) {%k1} +// CHECK: encoding: [0x62,0x02,0xfd,0x21,0xa2,0xb4,0xfe,0x7b,0x00,0x00,0x00] + vscatterdpd %ymm30, 123(%r14, %xmm31,8) {%k1} + +// CHECK: vscatterdpd %ymm30, 256(%r9,%xmm31) {%k1} +// CHECK: encoding: [0x62,0x02,0xfd,0x21,0xa2,0x74,0x39,0x20] + vscatterdpd %ymm30, 256(%r9, %xmm31) {%k1} + +// CHECK: vscatterdpd %ymm30, 1024(%rcx,%xmm31,4) {%k1} +// CHECK: encoding: [0x62,0x22,0xfd,0x21,0xa2,0xb4,0xb9,0x00,0x04,0x00,0x00] + vscatterdpd %ymm30, 1024(%rcx, %xmm31,4) {%k1} +