summaryrefslogtreecommitdiffstats
path: root/llvm/test
diff options
context:
space:
mode:
authorRobert Khasanov <rob.khasanov@gmail.com>2014-10-30 14:21:47 +0000
committerRobert Khasanov <rob.khasanov@gmail.com>2014-10-30 14:21:47 +0000
commitaf318f7073eb1d0dc575bc74e39c78bbe8e9e05d (patch)
tree49878f67eede75de91d0a5285948a9f3431dc1a8 /llvm/test
parentb190e1b74b422b1488c1735ac3557e0e89377dcf (diff)
downloadbcm5719-llvm-af318f7073eb1d0dc575bc74e39c78bbe8e9e05d.tar.gz
bcm5719-llvm-af318f7073eb1d0dc575bc74e39c78bbe8e9e05d.zip
[AVX512] Added VBROADCAST{SS/SD} encoding for VL subset.
Refactored through AVX512_maskable llvm-svn: 220908
Diffstat (limited to 'llvm/test')
-rw-r--r--llvm/test/MC/X86/avx512-encodings.s88
-rw-r--r--llvm/test/MC/X86/x86-64-avx512f_vl.s132
2 files changed, 220 insertions, 0 deletions
diff --git a/llvm/test/MC/X86/avx512-encodings.s b/llvm/test/MC/X86/avx512-encodings.s
index 231226f347e..c734da8fddf 100644
--- a/llvm/test/MC/X86/avx512-encodings.s
+++ b/llvm/test/MC/X86/avx512-encodings.s
@@ -113,6 +113,94 @@
// CHECK: encoding: [0x62,0xe1,0x14,0x58,0x58,0x92,0xfc,0xfd,0xff,0xff]
vaddps -516(%rdx){1to16}, %zmm13, %zmm18
+// CHECK: vbroadcastsd (%rcx), %zmm30
+// CHECK: encoding: [0x62,0x62,0xfd,0x48,0x19,0x31]
+ vbroadcastsd (%rcx), %zmm30
+
+// CHECK: vbroadcastsd (%rcx), %zmm30 {%k4}
+// CHECK: encoding: [0x62,0x62,0xfd,0x4c,0x19,0x31]
+ vbroadcastsd (%rcx), %zmm30 {%k4}
+
+// CHECK: vbroadcastsd (%rcx), %zmm30 {%k4} {z}
+// CHECK: encoding: [0x62,0x62,0xfd,0xcc,0x19,0x31]
+ vbroadcastsd (%rcx), %zmm30 {%k4} {z}
+
+// CHECK: vbroadcastsd 291(%rax,%r14,8), %zmm30
+// CHECK: encoding: [0x62,0x22,0xfd,0x48,0x19,0xb4,0xf0,0x23,0x01,0x00,0x00]
+ vbroadcastsd 291(%rax,%r14,8), %zmm30
+
+// CHECK: vbroadcastsd 1016(%rdx), %zmm30
+// CHECK: encoding: [0x62,0x62,0xfd,0x48,0x19,0x72,0x7f]
+ vbroadcastsd 1016(%rdx), %zmm30
+
+// CHECK: vbroadcastsd 1024(%rdx), %zmm30
+// CHECK: encoding: [0x62,0x62,0xfd,0x48,0x19,0xb2,0x00,0x04,0x00,0x00]
+ vbroadcastsd 1024(%rdx), %zmm30
+
+// CHECK: vbroadcastsd -1024(%rdx), %zmm30
+// CHECK: encoding: [0x62,0x62,0xfd,0x48,0x19,0x72,0x80]
+ vbroadcastsd -1024(%rdx), %zmm30
+
+// CHECK: vbroadcastsd -1032(%rdx), %zmm30
+// CHECK: encoding: [0x62,0x62,0xfd,0x48,0x19,0xb2,0xf8,0xfb,0xff,0xff]
+ vbroadcastsd -1032(%rdx), %zmm30
+
+// CHECK: vbroadcastsd %xmm22, %zmm21
+// CHECK: encoding: [0x62,0xa2,0xfd,0x48,0x19,0xee]
+ vbroadcastsd %xmm22, %zmm21
+
+// CHECK: vbroadcastsd %xmm22, %zmm21 {%k7}
+// CHECK: encoding: [0x62,0xa2,0xfd,0x4f,0x19,0xee]
+ vbroadcastsd %xmm22, %zmm21 {%k7}
+
+// CHECK: vbroadcastsd %xmm22, %zmm21 {%k7} {z}
+// CHECK: encoding: [0x62,0xa2,0xfd,0xcf,0x19,0xee]
+ vbroadcastsd %xmm22, %zmm21 {%k7} {z}
+
+// CHECK: vbroadcastss (%rcx), %zmm3
+// CHECK: encoding: [0x62,0xf2,0x7d,0x48,0x18,0x19]
+ vbroadcastss (%rcx), %zmm3
+
+// CHECK: vbroadcastss (%rcx), %zmm3 {%k4}
+// CHECK: encoding: [0x62,0xf2,0x7d,0x4c,0x18,0x19]
+ vbroadcastss (%rcx), %zmm3 {%k4}
+
+// CHECK: vbroadcastss (%rcx), %zmm3 {%k4} {z}
+// CHECK: encoding: [0x62,0xf2,0x7d,0xcc,0x18,0x19]
+ vbroadcastss (%rcx), %zmm3 {%k4} {z}
+
+// CHECK: vbroadcastss 291(%rax,%r14,8), %zmm3
+// CHECK: encoding: [0x62,0xb2,0x7d,0x48,0x18,0x9c,0xf0,0x23,0x01,0x00,0x00]
+ vbroadcastss 291(%rax,%r14,8), %zmm3
+
+// CHECK: vbroadcastss 508(%rdx), %zmm3
+// CHECK: encoding: [0x62,0xf2,0x7d,0x48,0x18,0x5a,0x7f]
+ vbroadcastss 508(%rdx), %zmm3
+
+// CHECK: vbroadcastss 512(%rdx), %zmm3
+// CHECK: encoding: [0x62,0xf2,0x7d,0x48,0x18,0x9a,0x00,0x02,0x00,0x00]
+ vbroadcastss 512(%rdx), %zmm3
+
+// CHECK: vbroadcastss -512(%rdx), %zmm3
+// CHECK: encoding: [0x62,0xf2,0x7d,0x48,0x18,0x5a,0x80]
+ vbroadcastss -512(%rdx), %zmm3
+
+// CHECK: vbroadcastss -516(%rdx), %zmm3
+// CHECK: encoding: [0x62,0xf2,0x7d,0x48,0x18,0x9a,0xfc,0xfd,0xff,0xff]
+ vbroadcastss -516(%rdx), %zmm3
+
+// CHECK: vbroadcastss %xmm18, %zmm18
+// CHECK: encoding: [0x62,0xa2,0x7d,0x48,0x18,0xd2]
+ vbroadcastss %xmm18, %zmm18
+
+// CHECK: vbroadcastss %xmm18, %zmm18 {%k2}
+// CHECK: encoding: [0x62,0xa2,0x7d,0x4a,0x18,0xd2]
+ vbroadcastss %xmm18, %zmm18 {%k2}
+
+// CHECK: vbroadcastss %xmm18, %zmm18 {%k2} {z}
+// CHECK: encoding: [0x62,0xa2,0x7d,0xca,0x18,0xd2]
+ vbroadcastss %xmm18, %zmm18 {%k2} {z}
+
// CHECK: vdivpd %zmm11, %zmm6, %zmm18
// CHECK: encoding: [0x62,0xc1,0xcd,0x48,0x5e,0xd3]
vdivpd %zmm11, %zmm6, %zmm18
diff --git a/llvm/test/MC/X86/x86-64-avx512f_vl.s b/llvm/test/MC/X86/x86-64-avx512f_vl.s
index a0ba3b365b2..973a553a8ab 100644
--- a/llvm/test/MC/X86/x86-64-avx512f_vl.s
+++ b/llvm/test/MC/X86/x86-64-avx512f_vl.s
@@ -224,6 +224,138 @@
// CHECK: encoding: [0x62,0x61,0x2c,0x30,0x58,0x8a,0xfc,0xfd,0xff,0xff]
vaddps -516(%rdx){1to8}, %ymm26, %ymm25
+// CHECK: vbroadcastsd (%rcx), %ymm22
+// CHECK: encoding: [0x62,0xe2,0xfd,0x28,0x19,0x31]
+ vbroadcastsd (%rcx), %ymm22
+
+// CHECK: vbroadcastsd (%rcx), %ymm22 {%k5}
+// CHECK: encoding: [0x62,0xe2,0xfd,0x2d,0x19,0x31]
+ vbroadcastsd (%rcx), %ymm22 {%k5}
+
+// CHECK: vbroadcastsd (%rcx), %ymm22 {%k5} {z}
+// CHECK: encoding: [0x62,0xe2,0xfd,0xad,0x19,0x31]
+ vbroadcastsd (%rcx), %ymm22 {%k5} {z}
+
+// CHECK: vbroadcastsd 291(%rax,%r14,8), %ymm22
+// CHECK: encoding: [0x62,0xa2,0xfd,0x28,0x19,0xb4,0xf0,0x23,0x01,0x00,0x00]
+ vbroadcastsd 291(%rax,%r14,8), %ymm22
+
+// CHECK: vbroadcastsd 1016(%rdx), %ymm22
+// CHECK: encoding: [0x62,0xe2,0xfd,0x28,0x19,0x72,0x7f]
+ vbroadcastsd 1016(%rdx), %ymm22
+
+// CHECK: vbroadcastsd 1024(%rdx), %ymm22
+// CHECK: encoding: [0x62,0xe2,0xfd,0x28,0x19,0xb2,0x00,0x04,0x00,0x00]
+ vbroadcastsd 1024(%rdx), %ymm22
+
+// CHECK: vbroadcastsd -1024(%rdx), %ymm22
+// CHECK: encoding: [0x62,0xe2,0xfd,0x28,0x19,0x72,0x80]
+ vbroadcastsd -1024(%rdx), %ymm22
+
+// CHECK: vbroadcastsd -1032(%rdx), %ymm22
+// CHECK: encoding: [0x62,0xe2,0xfd,0x28,0x19,0xb2,0xf8,0xfb,0xff,0xff]
+ vbroadcastsd -1032(%rdx), %ymm22
+
+// CHECK: vbroadcastsd %xmm17, %ymm19
+// CHECK: encoding: [0x62,0xa2,0xfd,0x28,0x19,0xd9]
+ vbroadcastsd %xmm17, %ymm19
+
+// CHECK: vbroadcastsd %xmm17, %ymm19 {%k6}
+// CHECK: encoding: [0x62,0xa2,0xfd,0x2e,0x19,0xd9]
+ vbroadcastsd %xmm17, %ymm19 {%k6}
+
+// CHECK: vbroadcastsd %xmm17, %ymm19 {%k6} {z}
+// CHECK: encoding: [0x62,0xa2,0xfd,0xae,0x19,0xd9]
+ vbroadcastsd %xmm17, %ymm19 {%k6} {z}
+
+// CHECK: vbroadcastss (%rcx), %xmm21
+// CHECK: encoding: [0x62,0xe2,0x7d,0x08,0x18,0x29]
+ vbroadcastss (%rcx), %xmm21
+
+// CHECK: vbroadcastss (%rcx), %xmm21 {%k2}
+// CHECK: encoding: [0x62,0xe2,0x7d,0x0a,0x18,0x29]
+ vbroadcastss (%rcx), %xmm21 {%k2}
+
+// CHECK: vbroadcastss (%rcx), %xmm21 {%k2} {z}
+// CHECK: encoding: [0x62,0xe2,0x7d,0x8a,0x18,0x29]
+ vbroadcastss (%rcx), %xmm21 {%k2} {z}
+
+// CHECK: vbroadcastss 291(%rax,%r14,8), %xmm21
+// CHECK: encoding: [0x62,0xa2,0x7d,0x08,0x18,0xac,0xf0,0x23,0x01,0x00,0x00]
+ vbroadcastss 291(%rax,%r14,8), %xmm21
+
+// CHECK: vbroadcastss 508(%rdx), %xmm21
+// CHECK: encoding: [0x62,0xe2,0x7d,0x08,0x18,0x6a,0x7f]
+ vbroadcastss 508(%rdx), %xmm21
+
+// CHECK: vbroadcastss 512(%rdx), %xmm21
+// CHECK: encoding: [0x62,0xe2,0x7d,0x08,0x18,0xaa,0x00,0x02,0x00,0x00]
+ vbroadcastss 512(%rdx), %xmm21
+
+// CHECK: vbroadcastss -512(%rdx), %xmm21
+// CHECK: encoding: [0x62,0xe2,0x7d,0x08,0x18,0x6a,0x80]
+ vbroadcastss -512(%rdx), %xmm21
+
+// CHECK: vbroadcastss -516(%rdx), %xmm21
+// CHECK: encoding: [0x62,0xe2,0x7d,0x08,0x18,0xaa,0xfc,0xfd,0xff,0xff]
+ vbroadcastss -516(%rdx), %xmm21
+
+// CHECK: vbroadcastss (%rcx), %ymm30
+// CHECK: encoding: [0x62,0x62,0x7d,0x28,0x18,0x31]
+ vbroadcastss (%rcx), %ymm30
+
+// CHECK: vbroadcastss (%rcx), %ymm30 {%k1}
+// CHECK: encoding: [0x62,0x62,0x7d,0x29,0x18,0x31]
+ vbroadcastss (%rcx), %ymm30 {%k1}
+
+// CHECK: vbroadcastss (%rcx), %ymm30 {%k1} {z}
+// CHECK: encoding: [0x62,0x62,0x7d,0xa9,0x18,0x31]
+ vbroadcastss (%rcx), %ymm30 {%k1} {z}
+
+// CHECK: vbroadcastss 291(%rax,%r14,8), %ymm30
+// CHECK: encoding: [0x62,0x22,0x7d,0x28,0x18,0xb4,0xf0,0x23,0x01,0x00,0x00]
+ vbroadcastss 291(%rax,%r14,8), %ymm30
+
+// CHECK: vbroadcastss 508(%rdx), %ymm30
+// CHECK: encoding: [0x62,0x62,0x7d,0x28,0x18,0x72,0x7f]
+ vbroadcastss 508(%rdx), %ymm30
+
+// CHECK: vbroadcastss 512(%rdx), %ymm30
+// CHECK: encoding: [0x62,0x62,0x7d,0x28,0x18,0xb2,0x00,0x02,0x00,0x00]
+ vbroadcastss 512(%rdx), %ymm30
+
+// CHECK: vbroadcastss -512(%rdx), %ymm30
+// CHECK: encoding: [0x62,0x62,0x7d,0x28,0x18,0x72,0x80]
+ vbroadcastss -512(%rdx), %ymm30
+
+// CHECK: vbroadcastss -516(%rdx), %ymm30
+// CHECK: encoding: [0x62,0x62,0x7d,0x28,0x18,0xb2,0xfc,0xfd,0xff,0xff]
+ vbroadcastss -516(%rdx), %ymm30
+
+// CHECK: vbroadcastss %xmm24, %xmm24
+// CHECK: encoding: [0x62,0x02,0x7d,0x08,0x18,0xc0]
+ vbroadcastss %xmm24, %xmm24
+
+// CHECK: vbroadcastss %xmm24, %xmm24 {%k2}
+// CHECK: encoding: [0x62,0x02,0x7d,0x0a,0x18,0xc0]
+ vbroadcastss %xmm24, %xmm24 {%k2}
+
+// CHECK: vbroadcastss %xmm24, %xmm24 {%k2} {z}
+// CHECK: encoding: [0x62,0x02,0x7d,0x8a,0x18,0xc0]
+ vbroadcastss %xmm24, %xmm24 {%k2} {z}
+
+// CHECK: vbroadcastss %xmm28, %ymm24
+// CHECK: encoding: [0x62,0x02,0x7d,0x28,0x18,0xc4]
+ vbroadcastss %xmm28, %ymm24
+
+// CHECK: vbroadcastss %xmm28, %ymm24 {%k6}
+// CHECK: encoding: [0x62,0x02,0x7d,0x2e,0x18,0xc4]
+ vbroadcastss %xmm28, %ymm24 {%k6}
+
+// CHECK: vbroadcastss %xmm28, %ymm24 {%k6} {z}
+// CHECK: encoding: [0x62,0x02,0x7d,0xae,0x18,0xc4]
+ vbroadcastss %xmm28, %ymm24 {%k6} {z}
+
// CHECK: vdivpd %xmm27, %xmm18, %xmm19
// CHECK: encoding: [0x62,0x81,0xed,0x00,0x5e,0xdb]
vdivpd %xmm27, %xmm18, %xmm19
OpenPOWER on IntegriCloud