AVX512: Implemented encoding for the follow instructions.
[oota-llvm.git] / test / MC / X86 / avx512-encodings.s
index cbc8f3fd064291b924bb7ca12a269c1f8afee26b..24fa2c2ce9654da6f82a7944c37d0d22852e10e6 100644 (file)
@@ -18561,3 +18561,387 @@ vpermilpd $0x23, 0x400(%rbx), %zmm2
 // CHECK: encoding: [0x62,0x61,0xfd,0x08,0x17,0x8a,0xf8,0xfb,0xff,0xff]
           vmovhpd      %xmm25, -1032(%rdx)     
 
+// CHECK: vmovapd.s %zmm29, %zmm13
+// CHECK:  encoding: [0x62,0x41,0xfd,0x48,0x29,0xed]
+          vmovapd.s %zmm29, %zmm13
+
+// CHECK: vmovapd.s %zmm29, %zmm13 {%k4}
+// CHECK:  encoding: [0x62,0x41,0xfd,0x4c,0x29,0xed]
+          vmovapd.s %zmm29, %zmm13 {%k4}
+
+// CHECK: vmovapd.s %zmm29, %zmm13 {%k4} {z}
+// CHECK:  encoding: [0x62,0x41,0xfd,0xcc,0x29,0xed]
+          vmovapd.s %zmm29, %zmm13 {%k4} {z}
+
+// CHECK: vmovapd.s %zmm1, %zmm17
+// CHECK:  encoding: [0x62,0xb1,0xfd,0x48,0x29,0xc9]
+          vmovapd.s %zmm1, %zmm17
+
+// CHECK: vmovapd.s %zmm1, %zmm17 {%k5}
+// CHECK:  encoding: [0x62,0xb1,0xfd,0x4d,0x29,0xc9]
+          vmovapd.s %zmm1, %zmm17 {%k5}
+
+// CHECK: vmovapd.s %zmm1, %zmm17 {%k5} {z}
+// CHECK:  encoding: [0x62,0xb1,0xfd,0xcd,0x29,0xc9]
+          vmovapd.s %zmm1, %zmm17 {%k5} {z}
+
+// CHECK: vmovapd.s %zmm16, %zmm26
+// CHECK:  encoding: [0x62,0x81,0xfd,0x48,0x29,0xc2]
+          vmovapd.s %zmm16, %zmm26
+
+// CHECK: vmovapd.s %zmm16, %zmm26 {%k1}
+// CHECK:  encoding: [0x62,0x81,0xfd,0x49,0x29,0xc2]
+          vmovapd.s %zmm16, %zmm26 {%k1}
+
+// CHECK: vmovapd.s %zmm16, %zmm26 {%k1} {z}
+// CHECK:  encoding: [0x62,0x81,0xfd,0xc9,0x29,0xc2]
+          vmovapd.s %zmm16, %zmm26 {%k1} {z}
+
+// CHECK: vmovapd.s %zmm7, %zmm4
+// CHECK:  encoding: [0x62,0xf1,0xfd,0x48,0x29,0xfc]
+          vmovapd.s %zmm7, %zmm4
+
+// CHECK: vmovapd.s %zmm7, %zmm4 {%k5}
+// CHECK:  encoding: [0x62,0xf1,0xfd,0x4d,0x29,0xfc]
+          vmovapd.s %zmm7, %zmm4 {%k5}
+
+// CHECK: vmovapd.s %zmm7, %zmm4 {%k5} {z}
+// CHECK:  encoding: [0x62,0xf1,0xfd,0xcd,0x29,0xfc]
+          vmovapd.s %zmm7, %zmm4 {%k5} {z}
+
+// CHECK: vmovaps.s %zmm6, %zmm2
+// CHECK:  encoding: [0x62,0xf1,0x7c,0x48,0x29,0xf2]
+          vmovaps.s %zmm6, %zmm2
+
+// CHECK: vmovaps.s %zmm6, %zmm2 {%k7}
+// CHECK:  encoding: [0x62,0xf1,0x7c,0x4f,0x29,0xf2]
+          vmovaps.s %zmm6, %zmm2 {%k7}
+
+// CHECK: vmovaps.s %zmm6, %zmm2 {%k7} {z}
+// CHECK:  encoding: [0x62,0xf1,0x7c,0xcf,0x29,0xf2]
+          vmovaps.s %zmm6, %zmm2 {%k7} {z}
+
+// CHECK: vmovaps.s %zmm2, %zmm8
+// CHECK:  encoding: [0x62,0xd1,0x7c,0x48,0x29,0xd0]
+          vmovaps.s %zmm2, %zmm8
+
+// CHECK: vmovaps.s %zmm2, %zmm8 {%k5}
+// CHECK:  encoding: [0x62,0xd1,0x7c,0x4d,0x29,0xd0]
+          vmovaps.s %zmm2, %zmm8 {%k5}
+
+// CHECK: vmovaps.s %zmm2, %zmm8 {%k5} {z}
+// CHECK:  encoding: [0x62,0xd1,0x7c,0xcd,0x29,0xd0]
+          vmovaps.s %zmm2, %zmm8 {%k5} {z}
+
+// CHECK: vmovaps.s %zmm1, %zmm21
+// CHECK:  encoding: [0x62,0xb1,0x7c,0x48,0x29,0xcd]
+          vmovaps.s %zmm1, %zmm21
+
+// CHECK: vmovaps.s %zmm1, %zmm21 {%k5}
+// CHECK:  encoding: [0x62,0xb1,0x7c,0x4d,0x29,0xcd]
+          vmovaps.s %zmm1, %zmm21 {%k5}
+
+// CHECK: vmovaps.s %zmm1, %zmm21 {%k5} {z}
+// CHECK:  encoding: [0x62,0xb1,0x7c,0xcd,0x29,0xcd]
+          vmovaps.s %zmm1, %zmm21 {%k5} {z}
+
+// CHECK: vmovaps.s %zmm12, %zmm30
+// CHECK:  encoding: [0x62,0x11,0x7c,0x48,0x29,0xe6]
+          vmovaps.s %zmm12, %zmm30
+
+// CHECK: vmovaps.s %zmm12, %zmm30 {%k3}
+// CHECK:  encoding: [0x62,0x11,0x7c,0x4b,0x29,0xe6]
+          vmovaps.s %zmm12, %zmm30 {%k3}
+
+// CHECK: vmovaps.s %zmm12, %zmm30 {%k3} {z}
+// CHECK:  encoding: [0x62,0x11,0x7c,0xcb,0x29,0xe6]
+          vmovaps.s %zmm12, %zmm30 {%k3} {z}
+
+// CHECK: vmovdqa32.s %zmm17, %zmm4
+// CHECK:  encoding: [0x62,0xe1,0x7d,0x48,0x7f,0xcc]
+          vmovdqa32.s %zmm17, %zmm4
+
+// CHECK: vmovdqa32.s %zmm17, %zmm4 {%k4}
+// CHECK:  encoding: [0x62,0xe1,0x7d,0x4c,0x7f,0xcc]
+          vmovdqa32.s %zmm17, %zmm4 {%k4}
+
+// CHECK: vmovdqa32.s %zmm17, %zmm4 {%k4} {z}
+// CHECK:  encoding: [0x62,0xe1,0x7d,0xcc,0x7f,0xcc]
+          vmovdqa32.s %zmm17, %zmm4 {%k4} {z}
+
+// CHECK: vmovdqa32.s %zmm1, %zmm18
+// CHECK:  encoding: [0x62,0xb1,0x7d,0x48,0x7f,0xca]
+          vmovdqa32.s %zmm1, %zmm18
+
+// CHECK: vmovdqa32.s %zmm1, %zmm18 {%k1}
+// CHECK:  encoding: [0x62,0xb1,0x7d,0x49,0x7f,0xca]
+          vmovdqa32.s %zmm1, %zmm18 {%k1}
+
+// CHECK: vmovdqa32.s %zmm1, %zmm18 {%k1} {z}
+// CHECK:  encoding: [0x62,0xb1,0x7d,0xc9,0x7f,0xca]
+          vmovdqa32.s %zmm1, %zmm18 {%k1} {z}
+
+// CHECK: vmovdqa32.s %zmm28, %zmm14
+// CHECK:  encoding: [0x62,0x41,0x7d,0x48,0x7f,0xe6]
+          vmovdqa32.s %zmm28, %zmm14
+
+// CHECK: vmovdqa32.s %zmm28, %zmm14 {%k5}
+// CHECK:  encoding: [0x62,0x41,0x7d,0x4d,0x7f,0xe6]
+          vmovdqa32.s %zmm28, %zmm14 {%k5}
+
+// CHECK: vmovdqa32.s %zmm28, %zmm14 {%k5} {z}
+// CHECK:  encoding: [0x62,0x41,0x7d,0xcd,0x7f,0xe6]
+          vmovdqa32.s %zmm28, %zmm14 {%k5} {z}
+
+// CHECK: vmovdqa32.s %zmm24, %zmm10
+// CHECK:  encoding: [0x62,0x41,0x7d,0x48,0x7f,0xc2]
+          vmovdqa32.s %zmm24, %zmm10
+
+// CHECK: vmovdqa32.s %zmm24, %zmm10 {%k1}
+// CHECK:  encoding: [0x62,0x41,0x7d,0x49,0x7f,0xc2]
+          vmovdqa32.s %zmm24, %zmm10 {%k1}
+
+// CHECK: vmovdqa32.s %zmm24, %zmm10 {%k1} {z}
+// CHECK:  encoding: [0x62,0x41,0x7d,0xc9,0x7f,0xc2]
+          vmovdqa32.s %zmm24, %zmm10 {%k1} {z}
+
+// CHECK: vmovdqa64.s %zmm25, %zmm18
+// CHECK:  encoding: [0x62,0x21,0xfd,0x48,0x7f,0xca]
+          vmovdqa64.s %zmm25, %zmm18
+
+// CHECK: vmovdqa64.s %zmm25, %zmm18 {%k7}
+// CHECK:  encoding: [0x62,0x21,0xfd,0x4f,0x7f,0xca]
+          vmovdqa64.s %zmm25, %zmm18 {%k7}
+
+// CHECK: vmovdqa64.s %zmm25, %zmm18 {%k7} {z}
+// CHECK:  encoding: [0x62,0x21,0xfd,0xcf,0x7f,0xca]
+          vmovdqa64.s %zmm25, %zmm18 {%k7} {z}
+
+// CHECK: vmovdqa64.s %zmm18, %zmm21
+// CHECK:  encoding: [0x62,0xa1,0xfd,0x48,0x7f,0xd5]
+          vmovdqa64.s %zmm18, %zmm21
+
+// CHECK: vmovdqa64.s %zmm18, %zmm21 {%k6}
+// CHECK:  encoding: [0x62,0xa1,0xfd,0x4e,0x7f,0xd5]
+          vmovdqa64.s %zmm18, %zmm21 {%k6}
+
+// CHECK: vmovdqa64.s %zmm18, %zmm21 {%k6} {z}
+// CHECK:  encoding: [0x62,0xa1,0xfd,0xce,0x7f,0xd5]
+          vmovdqa64.s %zmm18, %zmm21 {%k6} {z}
+
+// CHECK: vmovdqa64.s %zmm14, %zmm4
+// CHECK:  encoding: [0x62,0x71,0xfd,0x48,0x7f,0xf4]
+          vmovdqa64.s %zmm14, %zmm4
+
+// CHECK: vmovdqa64.s %zmm14, %zmm4 {%k3}
+// CHECK:  encoding: [0x62,0x71,0xfd,0x4b,0x7f,0xf4]
+          vmovdqa64.s %zmm14, %zmm4 {%k3}
+
+// CHECK: vmovdqa64.s %zmm14, %zmm4 {%k3} {z}
+// CHECK:  encoding: [0x62,0x71,0xfd,0xcb,0x7f,0xf4]
+          vmovdqa64.s %zmm14, %zmm4 {%k3} {z}
+
+// CHECK: vmovdqa64.s %zmm7, %zmm21
+// CHECK:  encoding: [0x62,0xb1,0xfd,0x48,0x7f,0xfd]
+          vmovdqa64.s %zmm7, %zmm21
+
+// CHECK: vmovdqa64.s %zmm7, %zmm21 {%k7}
+// CHECK:  encoding: [0x62,0xb1,0xfd,0x4f,0x7f,0xfd]
+          vmovdqa64.s %zmm7, %zmm21 {%k7}
+
+// CHECK: vmovdqa64.s %zmm7, %zmm21 {%k7} {z}
+// CHECK:  encoding: [0x62,0xb1,0xfd,0xcf,0x7f,0xfd]
+          vmovdqa64.s %zmm7, %zmm21 {%k7} {z}
+
+// CHECK: vmovdqu32.s %zmm19, %zmm10
+// CHECK:  encoding: [0x62,0xc1,0x7e,0x48,0x7f,0xda]
+          vmovdqu32.s %zmm19, %zmm10
+
+// CHECK: vmovdqu32.s %zmm19, %zmm10 {%k4}
+// CHECK:  encoding: [0x62,0xc1,0x7e,0x4c,0x7f,0xda]
+          vmovdqu32.s %zmm19, %zmm10 {%k4}
+
+// CHECK: vmovdqu32.s %zmm19, %zmm10 {%k4} {z}
+// CHECK:  encoding: [0x62,0xc1,0x7e,0xcc,0x7f,0xda]
+          vmovdqu32.s %zmm19, %zmm10 {%k4} {z}
+
+// CHECK: vmovdqu32.s %zmm16, %zmm18
+// CHECK:  encoding: [0x62,0xa1,0x7e,0x48,0x7f,0xc2]
+          vmovdqu32.s %zmm16, %zmm18
+
+// CHECK: vmovdqu32.s %zmm16, %zmm18 {%k3}
+// CHECK:  encoding: [0x62,0xa1,0x7e,0x4b,0x7f,0xc2]
+          vmovdqu32.s %zmm16, %zmm18 {%k3}
+
+// CHECK: vmovdqu32.s %zmm16, %zmm18 {%k3} {z}
+// CHECK:  encoding: [0x62,0xa1,0x7e,0xcb,0x7f,0xc2]
+          vmovdqu32.s %zmm16, %zmm18 {%k3} {z}
+
+// CHECK: vmovdqu32.s %zmm9, %zmm7
+// CHECK:  encoding: [0x62,0x71,0x7e,0x48,0x7f,0xcf]
+          vmovdqu32.s %zmm9, %zmm7
+
+// CHECK: vmovdqu32.s %zmm9, %zmm7 {%k4}
+// CHECK:  encoding: [0x62,0x71,0x7e,0x4c,0x7f,0xcf]
+          vmovdqu32.s %zmm9, %zmm7 {%k4}
+
+// CHECK: vmovdqu32.s %zmm9, %zmm7 {%k4} {z}
+// CHECK:  encoding: [0x62,0x71,0x7e,0xcc,0x7f,0xcf]
+          vmovdqu32.s %zmm9, %zmm7 {%k4} {z}
+
+// CHECK: vmovdqu32.s %zmm9, %zmm13
+// CHECK:  encoding: [0x62,0x51,0x7e,0x48,0x7f,0xcd]
+          vmovdqu32.s %zmm9, %zmm13
+
+// CHECK: vmovdqu32.s %zmm9, %zmm13 {%k4}
+// CHECK:  encoding: [0x62,0x51,0x7e,0x4c,0x7f,0xcd]
+          vmovdqu32.s %zmm9, %zmm13 {%k4}
+
+// CHECK: vmovdqu32.s %zmm9, %zmm13 {%k4} {z}
+// CHECK:  encoding: [0x62,0x51,0x7e,0xcc,0x7f,0xcd]
+          vmovdqu32.s %zmm9, %zmm13 {%k4} {z}
+
+// CHECK: vmovdqu64.s %zmm27, %zmm21
+// CHECK:  encoding: [0x62,0x21,0xfe,0x48,0x7f,0xdd]
+          vmovdqu64.s %zmm27, %zmm21
+
+// CHECK: vmovdqu64.s %zmm27, %zmm21 {%k2}
+// CHECK:  encoding: [0x62,0x21,0xfe,0x4a,0x7f,0xdd]
+          vmovdqu64.s %zmm27, %zmm21 {%k2}
+
+// CHECK: vmovdqu64.s %zmm27, %zmm21 {%k2} {z}
+// CHECK:  encoding: [0x62,0x21,0xfe,0xca,0x7f,0xdd]
+          vmovdqu64.s %zmm27, %zmm21 {%k2} {z}
+
+// CHECK: vmovdqu64.s %zmm25, %zmm12
+// CHECK:  encoding: [0x62,0x41,0xfe,0x48,0x7f,0xcc]
+          vmovdqu64.s %zmm25, %zmm12
+
+// CHECK: vmovdqu64.s %zmm25, %zmm12 {%k3}
+// CHECK:  encoding: [0x62,0x41,0xfe,0x4b,0x7f,0xcc]
+          vmovdqu64.s %zmm25, %zmm12 {%k3}
+
+// CHECK: vmovdqu64.s %zmm25, %zmm12 {%k3} {z}
+// CHECK:  encoding: [0x62,0x41,0xfe,0xcb,0x7f,0xcc]
+          vmovdqu64.s %zmm25, %zmm12 {%k3} {z}
+
+// CHECK: vmovdqu64.s %zmm7, %zmm19
+// CHECK:  encoding: [0x62,0xb1,0xfe,0x48,0x7f,0xfb]
+          vmovdqu64.s %zmm7, %zmm19
+
+// CHECK: vmovdqu64.s %zmm7, %zmm19 {%k7}
+// CHECK:  encoding: [0x62,0xb1,0xfe,0x4f,0x7f,0xfb]
+          vmovdqu64.s %zmm7, %zmm19 {%k7}
+
+// CHECK: vmovdqu64.s %zmm7, %zmm19 {%k7} {z}
+// CHECK:  encoding: [0x62,0xb1,0xfe,0xcf,0x7f,0xfb]
+          vmovdqu64.s %zmm7, %zmm19 {%k7} {z}
+
+// CHECK: vmovdqu64.s %zmm24, %zmm17
+// CHECK:  encoding: [0x62,0x21,0xfe,0x48,0x7f,0xc1]
+          vmovdqu64.s %zmm24, %zmm17
+
+// CHECK: vmovdqu64.s %zmm24, %zmm17 {%k1}
+// CHECK:  encoding: [0x62,0x21,0xfe,0x49,0x7f,0xc1]
+          vmovdqu64.s %zmm24, %zmm17 {%k1}
+
+// CHECK: vmovdqu64.s %zmm24, %zmm17 {%k1} {z}
+// CHECK:  encoding: [0x62,0x21,0xfe,0xc9,0x7f,0xc1]
+          vmovdqu64.s %zmm24, %zmm17 {%k1} {z}
+
+// CHECK: vmovupd.s %zmm17, %zmm3
+// CHECK:  encoding: [0x62,0xe1,0xfd,0x48,0x11,0xcb]
+          vmovupd.s %zmm17, %zmm3
+
+// CHECK: vmovupd.s %zmm17, %zmm3 {%k6}
+// CHECK:  encoding: [0x62,0xe1,0xfd,0x4e,0x11,0xcb]
+          vmovupd.s %zmm17, %zmm3 {%k6}
+
+// CHECK: vmovupd.s %zmm17, %zmm3 {%k6} {z}
+// CHECK:  encoding: [0x62,0xe1,0xfd,0xce,0x11,0xcb]
+          vmovupd.s %zmm17, %zmm3 {%k6} {z}
+
+// CHECK: vmovupd.s %zmm26, %zmm7
+// CHECK:  encoding: [0x62,0x61,0xfd,0x48,0x11,0xd7]
+          vmovupd.s %zmm26, %zmm7
+
+// CHECK: vmovupd.s %zmm26, %zmm7 {%k5}
+// CHECK:  encoding: [0x62,0x61,0xfd,0x4d,0x11,0xd7]
+          vmovupd.s %zmm26, %zmm7 {%k5}
+
+// CHECK: vmovupd.s %zmm26, %zmm7 {%k5} {z}
+// CHECK:  encoding: [0x62,0x61,0xfd,0xcd,0x11,0xd7]
+          vmovupd.s %zmm26, %zmm7 {%k5} {z}
+
+// CHECK: vmovupd.s %zmm3, %zmm15
+// CHECK:  encoding: [0x62,0xd1,0xfd,0x48,0x11,0xdf]
+          vmovupd.s %zmm3, %zmm15
+
+// CHECK: vmovupd.s %zmm3, %zmm15 {%k1}
+// CHECK:  encoding: [0x62,0xd1,0xfd,0x49,0x11,0xdf]
+          vmovupd.s %zmm3, %zmm15 {%k1}
+
+// CHECK: vmovupd.s %zmm3, %zmm15 {%k1} {z}
+// CHECK:  encoding: [0x62,0xd1,0xfd,0xc9,0x11,0xdf]
+          vmovupd.s %zmm3, %zmm15 {%k1} {z}
+
+// CHECK: vmovupd.s %zmm8, %zmm19
+// CHECK:  encoding: [0x62,0x31,0xfd,0x48,0x11,0xc3]
+          vmovupd.s %zmm8, %zmm19
+
+// CHECK: vmovupd.s %zmm8, %zmm19 {%k1}
+// CHECK:  encoding: [0x62,0x31,0xfd,0x49,0x11,0xc3]
+          vmovupd.s %zmm8, %zmm19 {%k1}
+
+// CHECK: vmovupd.s %zmm8, %zmm19 {%k1} {z}
+// CHECK:  encoding: [0x62,0x31,0xfd,0xc9,0x11,0xc3]
+          vmovupd.s %zmm8, %zmm19 {%k1} {z}
+
+// CHECK: vmovups.s %zmm27, %zmm16
+// CHECK:  encoding: [0x62,0x21,0x7c,0x48,0x11,0xd8]
+          vmovups.s %zmm27, %zmm16
+
+// CHECK: vmovups.s %zmm27, %zmm16 {%k1}
+// CHECK:  encoding: [0x62,0x21,0x7c,0x49,0x11,0xd8]
+          vmovups.s %zmm27, %zmm16 {%k1}
+
+// CHECK: vmovups.s %zmm27, %zmm16 {%k1} {z}
+// CHECK:  encoding: [0x62,0x21,0x7c,0xc9,0x11,0xd8]
+          vmovups.s %zmm27, %zmm16 {%k1} {z}
+
+// CHECK: vmovups.s %zmm5, %zmm19
+// CHECK:  encoding: [0x62,0xb1,0x7c,0x48,0x11,0xeb]
+          vmovups.s %zmm5, %zmm19
+
+// CHECK: vmovups.s %zmm5, %zmm19 {%k2}
+// CHECK:  encoding: [0x62,0xb1,0x7c,0x4a,0x11,0xeb]
+          vmovups.s %zmm5, %zmm19 {%k2}
+
+// CHECK: vmovups.s %zmm5, %zmm19 {%k2} {z}
+// CHECK:  encoding: [0x62,0xb1,0x7c,0xca,0x11,0xeb]
+          vmovups.s %zmm5, %zmm19 {%k2} {z}
+
+// CHECK: vmovups.s %zmm5, %zmm1
+// CHECK:  encoding: [0x62,0xf1,0x7c,0x48,0x11,0xe9]
+          vmovups.s %zmm5, %zmm1
+
+// CHECK: vmovups.s %zmm5, %zmm1 {%k3}
+// CHECK:  encoding: [0x62,0xf1,0x7c,0x4b,0x11,0xe9]
+          vmovups.s %zmm5, %zmm1 {%k3}
+
+// CHECK: vmovups.s %zmm5, %zmm1 {%k3} {z}
+// CHECK:  encoding: [0x62,0xf1,0x7c,0xcb,0x11,0xe9]
+          vmovups.s %zmm5, %zmm1 {%k3} {z}
+
+// CHECK: vmovups.s %zmm20, %zmm27
+// CHECK:  encoding: [0x62,0x81,0x7c,0x48,0x11,0xe3]
+          vmovups.s %zmm20, %zmm27
+
+// CHECK: vmovups.s %zmm20, %zmm27 {%k6}
+// CHECK:  encoding: [0x62,0x81,0x7c,0x4e,0x11,0xe3]
+          vmovups.s %zmm20, %zmm27 {%k6}
+
+// CHECK: vmovups.s %zmm20, %zmm27 {%k6} {z}
+// CHECK:  encoding: [0x62,0x81,0x7c,0xce,0x11,0xe3]
+          vmovups.s %zmm20, %zmm27 {%k6} {z}
+