[llvm] r246431 - AVX512: Add encoding tests for vscatter instructions

Igor Breger via llvm-commits llvm-commits at lists.llvm.org
Mon Aug 31 04:33:51 PDT 2015


Author: ibreger
Date: Mon Aug 31 06:33:50 2015
New Revision: 246431

URL: http://llvm.org/viewvc/llvm-project?rev=246431&view=rev
Log:
AVX512: Add encoding tests for vscatter instructions

Differential Revision: http://reviews.llvm.org/D11941

Modified:
    llvm/trunk/test/MC/X86/avx512-encodings.s
    llvm/trunk/test/MC/X86/x86-64-avx512f_vl.s

Modified: llvm/trunk/test/MC/X86/avx512-encodings.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/X86/avx512-encodings.s?rev=246431&r1=246430&r2=246431&view=diff
==============================================================================
--- llvm/trunk/test/MC/X86/avx512-encodings.s (original)
+++ llvm/trunk/test/MC/X86/avx512-encodings.s Mon Aug 31 06:33:50 2015
@@ -14958,3 +14958,67 @@ vpermilpd $0x23, 0x400(%rbx), %zmm2
 // 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}
+

Modified: llvm/trunk/test/MC/X86/x86-64-avx512f_vl.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/X86/x86-64-avx512f_vl.s?rev=246431&r1=246430&r2=246431&view=diff
==============================================================================
--- llvm/trunk/test/MC/X86/x86-64-avx512f_vl.s (original)
+++ llvm/trunk/test/MC/X86/x86-64-avx512f_vl.s Mon Aug 31 06:33:50 2015
@@ -19739,3 +19739,131 @@ vaddpd  {rz-sae}, %zmm2, %zmm1, %zmm1
 // 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}
+




More information about the llvm-commits mailing list