aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorBruno Cardoso Lopes <bruno.cardoso@gmail.com>2010-07-21 23:53:50 +0000
committerBruno Cardoso Lopes <bruno.cardoso@gmail.com>2010-07-21 23:53:50 +0000
commit2b69143083a770fa883257340073ebb1f4787747 (patch)
treeed7986e8cc099a3960765f5103361f1e72b3d015 /test
parentb937549e517fcb03032bab3441d6ced37fc4db8d (diff)
downloadexternal_llvm-2b69143083a770fa883257340073ebb1f4787747.zip
external_llvm-2b69143083a770fa883257340073ebb1f4787747.tar.gz
external_llvm-2b69143083a770fa883257340073ebb1f4787747.tar.bz2
Add more 256-bit forms for a bunch of regular AVX instructions
Add 64-bit (GR64) versions of some instructions (which are not described in their SSE forms, but are described in AVX) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109063 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test')
-rw-r--r--test/MC/AsmParser/X86/x86_32-encoding.s124
-rw-r--r--test/MC/AsmParser/X86/x86_64-encoding.s136
2 files changed, 260 insertions, 0 deletions
diff --git a/test/MC/AsmParser/X86/x86_32-encoding.s b/test/MC/AsmParser/X86/x86_32-encoding.s
index 1b68169..5e2cc63 100644
--- a/test/MC/AsmParser/X86/x86_32-encoding.s
+++ b/test/MC/AsmParser/X86/x86_32-encoding.s
@@ -13158,3 +13158,127 @@
// CHECK: encoding: [0xc5,0xfb,0x2a,0x3c,0x24]
vcvtsi2sdl (%esp), %xmm0, %xmm7
+// CHECK: vlddqu (%eax), %ymm2
+// CHECK: encoding: [0xc5,0xff,0xf0,0x10]
+ vlddqu (%eax), %ymm2
+
+// CHECK: vmovddup %ymm2, %ymm5
+// CHECK: encoding: [0xc5,0xff,0x12,0xea]
+ vmovddup %ymm2, %ymm5
+
+// CHECK: vmovddup (%eax), %ymm2
+// CHECK: encoding: [0xc5,0xff,0x12,0x10]
+ vmovddup (%eax), %ymm2
+
+// CHECK: vmovdqa %ymm2, %ymm5
+// CHECK: encoding: [0xc5,0xfd,0x6f,0xea]
+ vmovdqa %ymm2, %ymm5
+
+// CHECK: vmovdqa %ymm2, (%eax)
+// CHECK: encoding: [0xc5,0xfd,0x7f,0x10]
+ vmovdqa %ymm2, (%eax)
+
+// CHECK: vmovdqa (%eax), %ymm2
+// CHECK: encoding: [0xc5,0xfd,0x6f,0x10]
+ vmovdqa (%eax), %ymm2
+
+// CHECK: vmovdqu %ymm2, %ymm5
+// CHECK: encoding: [0xc5,0xfe,0x6f,0xea]
+ vmovdqu %ymm2, %ymm5
+
+// CHECK: vmovdqu %ymm2, (%eax)
+// CHECK: encoding: [0xc5,0xfe,0x7f,0x10]
+ vmovdqu %ymm2, (%eax)
+
+// CHECK: vmovdqu (%eax), %ymm2
+// CHECK: encoding: [0xc5,0xfe,0x6f,0x10]
+ vmovdqu (%eax), %ymm2
+
+// CHECK: vmovshdup %ymm2, %ymm5
+// CHECK: encoding: [0xc5,0xfe,0x16,0xea]
+ vmovshdup %ymm2, %ymm5
+
+// CHECK: vmovshdup (%eax), %ymm2
+// CHECK: encoding: [0xc5,0xfe,0x16,0x10]
+ vmovshdup (%eax), %ymm2
+
+// CHECK: vmovsldup %ymm2, %ymm5
+// CHECK: encoding: [0xc5,0xfe,0x12,0xea]
+ vmovsldup %ymm2, %ymm5
+
+// CHECK: vmovsldup (%eax), %ymm2
+// CHECK: encoding: [0xc5,0xfe,0x12,0x10]
+ vmovsldup (%eax), %ymm2
+
+// CHECK: vptest %ymm2, %ymm5
+// CHECK: encoding: [0xc4,0xe2,0x7d,0x17,0xea]
+ vptest %ymm2, %ymm5
+
+// CHECK: vptest (%eax), %ymm2
+// CHECK: encoding: [0xc4,0xe2,0x7d,0x17,0x10]
+ vptest (%eax), %ymm2
+
+// CHECK: vroundpd $7, %ymm5, %ymm1
+// CHECK: encoding: [0xc4,0xe3,0x7d,0x09,0xcd,0x07]
+ vroundpd $7, %ymm5, %ymm1
+
+// CHECK: vroundpd $7, (%eax), %ymm5
+// CHECK: encoding: [0xc4,0xe3,0x7d,0x09,0x28,0x07]
+ vroundpd $7, (%eax), %ymm5
+
+// CHECK: vroundps $7, %ymm5, %ymm1
+// CHECK: encoding: [0xc4,0xe3,0x7d,0x08,0xcd,0x07]
+ vroundps $7, %ymm5, %ymm1
+
+// CHECK: vroundps $7, (%eax), %ymm5
+// CHECK: encoding: [0xc4,0xe3,0x7d,0x08,0x28,0x07]
+ vroundps $7, (%eax), %ymm5
+
+// CHECK: vshufpd $7, %ymm2, %ymm5, %ymm1
+// CHECK: encoding: [0xc5,0xd5,0xc6,0xca,0x07]
+ vshufpd $7, %ymm2, %ymm5, %ymm1
+
+// CHECK: vshufpd $7, (%eax), %ymm5, %ymm1
+// CHECK: encoding: [0xc5,0xd5,0xc6,0x08,0x07]
+ vshufpd $7, (%eax), %ymm5, %ymm1
+
+// CHECK: vshufps $7, %ymm2, %ymm5, %ymm1
+// CHECK: encoding: [0xc5,0xd4,0xc6,0xca,0x07]
+ vshufps $7, %ymm2, %ymm5, %ymm1
+
+// CHECK: vshufps $7, (%eax), %ymm5, %ymm1
+// CHECK: encoding: [0xc5,0xd4,0xc6,0x08,0x07]
+ vshufps $7, (%eax), %ymm5, %ymm1
+
+// CHECK: vtestpd %xmm2, %xmm5
+// CHECK: encoding: [0xc4,0xe2,0x79,0x0f,0xea]
+ vtestpd %xmm2, %xmm5
+
+// CHECK: vtestpd %ymm2, %ymm5
+// CHECK: encoding: [0xc4,0xe2,0x7d,0x0f,0xea]
+ vtestpd %ymm2, %ymm5
+
+// CHECK: vtestpd (%eax), %xmm2
+// CHECK: encoding: [0xc4,0xe2,0x79,0x0f,0x10]
+ vtestpd (%eax), %xmm2
+
+// CHECK: vtestpd (%eax), %ymm2
+// CHECK: encoding: [0xc4,0xe2,0x7d,0x0f,0x10]
+ vtestpd (%eax), %ymm2
+
+// CHECK: vtestps %xmm2, %xmm5
+// CHECK: encoding: [0xc4,0xe2,0x79,0x0e,0xea]
+ vtestps %xmm2, %xmm5
+
+// CHECK: vtestps %ymm2, %ymm5
+// CHECK: encoding: [0xc4,0xe2,0x7d,0x0e,0xea]
+ vtestps %ymm2, %ymm5
+
+// CHECK: vtestps (%eax), %xmm2
+// CHECK: encoding: [0xc4,0xe2,0x79,0x0e,0x10]
+ vtestps (%eax), %xmm2
+
+// CHECK: vtestps (%eax), %ymm2
+// CHECK: encoding: [0xc4,0xe2,0x7d,0x0e,0x10]
+ vtestps (%eax), %ymm2
+
diff --git a/test/MC/AsmParser/X86/x86_64-encoding.s b/test/MC/AsmParser/X86/x86_64-encoding.s
index 8284131..f709bcd 100644
--- a/test/MC/AsmParser/X86/x86_64-encoding.s
+++ b/test/MC/AsmParser/X86/x86_64-encoding.s
@@ -3264,3 +3264,139 @@ pshufb CPI1_0(%rip), %xmm1
// CHECK: encoding: [0xc4,0xe1,0xfa,0x2c,0x09]
vcvttss2si (%rcx), %rcx
+// CHECK: vlddqu (%rax), %ymm12
+// CHECK: encoding: [0xc5,0x7f,0xf0,0x20]
+ vlddqu (%rax), %ymm12
+
+// CHECK: vmovddup %ymm12, %ymm10
+// CHECK: encoding: [0xc4,0x41,0x7f,0x12,0xd4]
+ vmovddup %ymm12, %ymm10
+
+// CHECK: vmovddup (%rax), %ymm12
+// CHECK: encoding: [0xc5,0x7f,0x12,0x20]
+ vmovddup (%rax), %ymm12
+
+// CHECK: vmovdqa %ymm12, %ymm10
+// CHECK: encoding: [0xc4,0x41,0x7d,0x6f,0xd4]
+ vmovdqa %ymm12, %ymm10
+
+// CHECK: vmovdqa %ymm12, (%rax)
+// CHECK: encoding: [0xc5,0x7d,0x7f,0x20]
+ vmovdqa %ymm12, (%rax)
+
+// CHECK: vmovdqa (%rax), %ymm12
+// CHECK: encoding: [0xc5,0x7d,0x6f,0x20]
+ vmovdqa (%rax), %ymm12
+
+// CHECK: vmovdqu %ymm12, %ymm10
+// CHECK: encoding: [0xc4,0x41,0x7e,0x6f,0xd4]
+ vmovdqu %ymm12, %ymm10
+
+// CHECK: vmovdqu %ymm12, (%rax)
+// CHECK: encoding: [0xc5,0x7e,0x7f,0x20]
+ vmovdqu %ymm12, (%rax)
+
+// CHECK: vmovdqu (%rax), %ymm12
+// CHECK: encoding: [0xc5,0x7e,0x6f,0x20]
+ vmovdqu (%rax), %ymm12
+
+// CHECK: vmovshdup %ymm12, %ymm10
+// CHECK: encoding: [0xc4,0x41,0x7e,0x16,0xd4]
+ vmovshdup %ymm12, %ymm10
+
+// CHECK: vmovshdup (%rax), %ymm12
+// CHECK: encoding: [0xc5,0x7e,0x16,0x20]
+ vmovshdup (%rax), %ymm12
+
+// CHECK: vmovsldup %ymm12, %ymm10
+// CHECK: encoding: [0xc4,0x41,0x7e,0x12,0xd4]
+ vmovsldup %ymm12, %ymm10
+
+// CHECK: vmovsldup (%rax), %ymm12
+// CHECK: encoding: [0xc5,0x7e,0x12,0x20]
+ vmovsldup (%rax), %ymm12
+
+// CHECK: vptest %ymm12, %ymm10
+// CHECK: encoding: [0xc4,0x42,0x7d,0x17,0xd4]
+ vptest %ymm12, %ymm10
+
+// CHECK: vptest (%rax), %ymm12
+// CHECK: encoding: [0xc4,0x62,0x7d,0x17,0x20]
+ vptest (%rax), %ymm12
+
+// CHECK: vroundpd $7, %ymm10, %ymm11
+// CHECK: encoding: [0xc4,0x43,0x7d,0x09,0xda,0x07]
+ vroundpd $7, %ymm10, %ymm11
+
+// CHECK: vroundpd $7, (%rax), %ymm10
+// CHECK: encoding: [0xc4,0x63,0x7d,0x09,0x10,0x07]
+ vroundpd $7, (%rax), %ymm10
+
+// CHECK: vroundps $7, %ymm10, %ymm11
+// CHECK: encoding: [0xc4,0x43,0x7d,0x08,0xda,0x07]
+ vroundps $7, %ymm10, %ymm11
+
+// CHECK: vroundps $7, (%rax), %ymm10
+// CHECK: encoding: [0xc4,0x63,0x7d,0x08,0x10,0x07]
+ vroundps $7, (%rax), %ymm10
+
+// CHECK: vshufpd $7, %ymm12, %ymm10, %ymm11
+// CHECK: encoding: [0xc4,0x41,0x2d,0xc6,0xdc,0x07]
+ vshufpd $7, %ymm12, %ymm10, %ymm11
+
+// CHECK: vshufpd $7, (%rax), %ymm10, %ymm11
+// CHECK: encoding: [0xc5,0x2d,0xc6,0x18,0x07]
+ vshufpd $7, (%rax), %ymm10, %ymm11
+
+// CHECK: vshufps $7, %ymm12, %ymm10, %ymm11
+// CHECK: encoding: [0xc4,0x41,0x2c,0xc6,0xdc,0x07]
+ vshufps $7, %ymm12, %ymm10, %ymm11
+
+// CHECK: vshufps $7, (%rax), %ymm10, %ymm11
+// CHECK: encoding: [0xc5,0x2c,0xc6,0x18,0x07]
+ vshufps $7, (%rax), %ymm10, %ymm11
+
+// CHECK: vtestpd %xmm12, %xmm10
+// CHECK: encoding: [0xc4,0x42,0x79,0x0f,0xd4]
+ vtestpd %xmm12, %xmm10
+
+// CHECK: vtestpd %ymm12, %ymm10
+// CHECK: encoding: [0xc4,0x42,0x7d,0x0f,0xd4]
+ vtestpd %ymm12, %ymm10
+
+// CHECK: vtestpd (%rax), %xmm12
+// CHECK: encoding: [0xc4,0x62,0x79,0x0f,0x20]
+ vtestpd (%rax), %xmm12
+
+// CHECK: vtestpd (%rax), %ymm12
+// CHECK: encoding: [0xc4,0x62,0x7d,0x0f,0x20]
+ vtestpd (%rax), %ymm12
+
+// CHECK: vtestps %xmm12, %xmm10
+// CHECK: encoding: [0xc4,0x42,0x79,0x0e,0xd4]
+ vtestps %xmm12, %xmm10
+
+// CHECK: vtestps %ymm12, %ymm10
+// CHECK: encoding: [0xc4,0x42,0x7d,0x0e,0xd4]
+ vtestps %ymm12, %ymm10
+
+// CHECK: vtestps (%rax), %xmm12
+// CHECK: encoding: [0xc4,0x62,0x79,0x0e,0x20]
+ vtestps (%rax), %xmm12
+
+// CHECK: vtestps (%rax), %ymm12
+// CHECK: encoding: [0xc4,0x62,0x7d,0x0e,0x20]
+ vtestps (%rax), %ymm12
+
+// CHECK: vextractps $10, %xmm8, %r8
+// CHECK: encoding: [0xc4,0x43,0x79,0x17,0xc0,0x0a]
+ vextractps $10, %xmm8, %r8
+
+// CHECK: vextractps $7, %xmm4, %rcx
+// CHECK: encoding: [0xc4,0xe3,0x79,0x17,0xe1,0x07]
+ vextractps $7, %xmm4, %rcx
+
+// CHECK: vmovd %xmm4, %rcx
+// CHECK: encoding: [0xc4,0xe1,0xf9,0x7e,0xe1]
+ vmovd %xmm4, %rcx
+