summaryrefslogtreecommitdiff
path: root/test/MC
diff options
context:
space:
mode:
authorBruno Cardoso Lopes <bruno.cardoso@gmail.com>2010-07-19 23:32:44 +0000
committerBruno Cardoso Lopes <bruno.cardoso@gmail.com>2010-07-19 23:32:44 +0000
commit94143ee6254944a26adba2200037328c2c8ef289 (patch)
treeb6295c000d3ecafa2e0e8c61c3f533138c96531e /test/MC
parent58b8176ed39038240984c0966fef847fe37c86c1 (diff)
downloadllvm-94143ee6254944a26adba2200037328c2c8ef289.tar.gz
llvm-94143ee6254944a26adba2200037328c2c8ef289.tar.bz2
llvm-94143ee6254944a26adba2200037328c2c8ef289.tar.xz
Add 256-bit vaddsub, vhadd, vhsub, vblend and vdpp instructions!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108769 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/MC')
-rw-r--r--test/MC/AsmParser/X86/x86_32-encoding.s72
-rw-r--r--test/MC/AsmParser/X86/x86_64-encoding.s72
2 files changed, 144 insertions, 0 deletions
diff --git a/test/MC/AsmParser/X86/x86_32-encoding.s b/test/MC/AsmParser/X86/x86_32-encoding.s
index ebafb11061..0423e67c4a 100644
--- a/test/MC/AsmParser/X86/x86_32-encoding.s
+++ b/test/MC/AsmParser/X86/x86_32-encoding.s
@@ -12926,3 +12926,75 @@
// CHECK: encoding: [0xc5,0xec,0xc2,0xd9,0x1f]
vcmptrue_usps %ymm1, %ymm2, %ymm3
+// CHECK: vaddsubps %ymm1, %ymm2, %ymm3
+// CHECK: encoding: [0xc5,0xef,0xd0,0xd9]
+ vaddsubps %ymm1, %ymm2, %ymm3
+
+// CHECK: vaddsubps (%eax), %ymm1, %ymm2
+// CHECK: encoding: [0xc5,0xf7,0xd0,0x10]
+ vaddsubps (%eax), %ymm1, %ymm2
+
+// CHECK: vaddsubpd %ymm1, %ymm2, %ymm3
+// CHECK: encoding: [0xc5,0xed,0xd0,0xd9]
+ vaddsubpd %ymm1, %ymm2, %ymm3
+
+// CHECK: vaddsubpd (%eax), %ymm1, %ymm2
+// CHECK: encoding: [0xc5,0xf5,0xd0,0x10]
+ vaddsubpd (%eax), %ymm1, %ymm2
+
+// CHECK: vhaddps %ymm1, %ymm2, %ymm3
+// CHECK: encoding: [0xc5,0xef,0x7c,0xd9]
+ vhaddps %ymm1, %ymm2, %ymm3
+
+// CHECK: vhaddps (%eax), %ymm2, %ymm3
+// CHECK: encoding: [0xc5,0xef,0x7c,0x18]
+ vhaddps (%eax), %ymm2, %ymm3
+
+// CHECK: vhaddpd %ymm1, %ymm2, %ymm3
+// CHECK: encoding: [0xc5,0xed,0x7c,0xd9]
+ vhaddpd %ymm1, %ymm2, %ymm3
+
+// CHECK: vhaddpd (%eax), %ymm2, %ymm3
+// CHECK: encoding: [0xc5,0xed,0x7c,0x18]
+ vhaddpd (%eax), %ymm2, %ymm3
+
+// CHECK: vhsubps %ymm1, %ymm2, %ymm3
+// CHECK: encoding: [0xc5,0xef,0x7d,0xd9]
+ vhsubps %ymm1, %ymm2, %ymm3
+
+// CHECK: vhsubps (%eax), %ymm2, %ymm3
+// CHECK: encoding: [0xc5,0xef,0x7d,0x18]
+ vhsubps (%eax), %ymm2, %ymm3
+
+// CHECK: vhsubpd %ymm1, %ymm2, %ymm3
+// CHECK: encoding: [0xc5,0xed,0x7d,0xd9]
+ vhsubpd %ymm1, %ymm2, %ymm3
+
+// CHECK: vhsubpd (%eax), %ymm2, %ymm3
+// CHECK: encoding: [0xc5,0xed,0x7d,0x18]
+ vhsubpd (%eax), %ymm2, %ymm3
+
+// CHECK: vblendps $3, %ymm2, %ymm5, %ymm1
+// CHECK: encoding: [0xc4,0xe3,0x55,0x0c,0xca,0x03]
+ vblendps $3, %ymm2, %ymm5, %ymm1
+
+// CHECK: vblendps $3, (%eax), %ymm5, %ymm1
+// CHECK: encoding: [0xc4,0xe3,0x55,0x0c,0x08,0x03]
+ vblendps $3, (%eax), %ymm5, %ymm1
+
+// CHECK: vblendpd $3, %ymm2, %ymm5, %ymm1
+// CHECK: encoding: [0xc4,0xe3,0x55,0x0d,0xca,0x03]
+ vblendpd $3, %ymm2, %ymm5, %ymm1
+
+// CHECK: vblendpd $3, (%eax), %ymm5, %ymm1
+// CHECK: encoding: [0xc4,0xe3,0x55,0x0d,0x08,0x03]
+ vblendpd $3, (%eax), %ymm5, %ymm1
+
+// CHECK: vdpps $3, %ymm2, %ymm5, %ymm1
+// CHECK: encoding: [0xc4,0xe3,0x55,0x40,0xca,0x03]
+ vdpps $3, %ymm2, %ymm5, %ymm1
+
+// CHECK: vdpps $3, (%eax), %ymm5, %ymm1
+// CHECK: encoding: [0xc4,0xe3,0x55,0x40,0x08,0x03]
+ vdpps $3, (%eax), %ymm5, %ymm1
+
diff --git a/test/MC/AsmParser/X86/x86_64-encoding.s b/test/MC/AsmParser/X86/x86_64-encoding.s
index 0fce5925cb..6fce2c1f0d 100644
--- a/test/MC/AsmParser/X86/x86_64-encoding.s
+++ b/test/MC/AsmParser/X86/x86_64-encoding.s
@@ -3000,3 +3000,75 @@ pshufb CPI1_0(%rip), %xmm1
// CHECK: encoding: [0xc4,0x41,0x1c,0xc2,0xeb,0x1f]
vcmptrue_usps %ymm11, %ymm12, %ymm13
+// CHECK: vaddsubps %ymm11, %ymm12, %ymm13
+// CHECK: encoding: [0xc4,0x41,0x1f,0xd0,0xeb]
+ vaddsubps %ymm11, %ymm12, %ymm13
+
+// CHECK: vaddsubps (%rax), %ymm11, %ymm12
+// CHECK: encoding: [0xc5,0x27,0xd0,0x20]
+ vaddsubps (%rax), %ymm11, %ymm12
+
+// CHECK: vaddsubpd %ymm11, %ymm12, %ymm13
+// CHECK: encoding: [0xc4,0x41,0x1d,0xd0,0xeb]
+ vaddsubpd %ymm11, %ymm12, %ymm13
+
+// CHECK: vaddsubpd (%rax), %ymm11, %ymm12
+// CHECK: encoding: [0xc5,0x25,0xd0,0x20]
+ vaddsubpd (%rax), %ymm11, %ymm12
+
+// CHECK: vhaddps %ymm11, %ymm12, %ymm13
+// CHECK: encoding: [0xc4,0x41,0x1f,0x7c,0xeb]
+ vhaddps %ymm11, %ymm12, %ymm13
+
+// CHECK: vhaddps (%rax), %ymm12, %ymm13
+// CHECK: encoding: [0xc5,0x1f,0x7c,0x28]
+ vhaddps (%rax), %ymm12, %ymm13
+
+// CHECK: vhaddpd %ymm11, %ymm12, %ymm13
+// CHECK: encoding: [0xc4,0x41,0x1d,0x7c,0xeb]
+ vhaddpd %ymm11, %ymm12, %ymm13
+
+// CHECK: vhaddpd (%rax), %ymm12, %ymm13
+// CHECK: encoding: [0xc5,0x1d,0x7c,0x28]
+ vhaddpd (%rax), %ymm12, %ymm13
+
+// CHECK: vhsubps %ymm11, %ymm12, %ymm13
+// CHECK: encoding: [0xc4,0x41,0x1f,0x7d,0xeb]
+ vhsubps %ymm11, %ymm12, %ymm13
+
+// CHECK: vhsubps (%rax), %ymm12, %ymm13
+// CHECK: encoding: [0xc5,0x1f,0x7d,0x28]
+ vhsubps (%rax), %ymm12, %ymm13
+
+// CHECK: vhsubpd %ymm11, %ymm12, %ymm13
+// CHECK: encoding: [0xc4,0x41,0x1d,0x7d,0xeb]
+ vhsubpd %ymm11, %ymm12, %ymm13
+
+// CHECK: vhsubpd (%rax), %ymm12, %ymm13
+// CHECK: encoding: [0xc5,0x1d,0x7d,0x28]
+ vhsubpd (%rax), %ymm12, %ymm13
+
+// CHECK: vblendps $3, %ymm12, %ymm10, %ymm11
+// CHECK: encoding: [0xc4,0x43,0x2d,0x0c,0xdc,0x03]
+ vblendps $3, %ymm12, %ymm10, %ymm11
+
+// CHECK: vblendps $3, (%rax), %ymm10, %ymm11
+// CHECK: encoding: [0xc4,0x63,0x2d,0x0c,0x18,0x03]
+ vblendps $3, (%rax), %ymm10, %ymm11
+
+// CHECK: vblendpd $3, %ymm12, %ymm10, %ymm11
+// CHECK: encoding: [0xc4,0x43,0x2d,0x0d,0xdc,0x03]
+ vblendpd $3, %ymm12, %ymm10, %ymm11
+
+// CHECK: vblendpd $3, (%rax), %ymm10, %ymm11
+// CHECK: encoding: [0xc4,0x63,0x2d,0x0d,0x18,0x03]
+ vblendpd $3, (%rax), %ymm10, %ymm11
+
+// CHECK: vdpps $3, %ymm12, %ymm10, %ymm11
+// CHECK: encoding: [0xc4,0x43,0x2d,0x40,0xdc,0x03]
+ vdpps $3, %ymm12, %ymm10, %ymm11
+
+// CHECK: vdpps $3, (%rax), %ymm10, %ymm11
+// CHECK: encoding: [0xc4,0x63,0x2d,0x40,0x18,0x03]
+ vdpps $3, (%rax), %ymm10, %ymm11
+