summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBruno Cardoso Lopes <bruno.cardoso@gmail.com>2010-07-03 00:49:21 +0000
committerBruno Cardoso Lopes <bruno.cardoso@gmail.com>2010-07-03 00:49:21 +0000
commitfc9cdc4d61f96a9a1aa423b83fa7470d2e86673d (patch)
tree980e208f6741e06ff43d9f35dd48f2e0e241f4b6
parent9672f92f7f2c5a58037ee6ee38004330d80f3372 (diff)
downloadbcm5719-llvm-fc9cdc4d61f96a9a1aa423b83fa7470d2e86673d.tar.gz
bcm5719-llvm-fc9cdc4d61f96a9a1aa423b83fa7470d2e86673d.zip
Add AVX SSE4.1 Horizontal Minimum and Position instruction
llvm-svn: 107552
-rw-r--r--llvm/lib/Target/X86/X86InstrSSE.td3
-rw-r--r--llvm/test/MC/AsmParser/X86/x86_32-encoding.s8
-rw-r--r--llvm/test/MC/AsmParser/X86/x86_64-encoding.s8
3 files changed, 19 insertions, 0 deletions
diff --git a/llvm/lib/Target/X86/X86InstrSSE.td b/llvm/lib/Target/X86/X86InstrSSE.td
index 39013c5f326..206e3979534 100644
--- a/llvm/lib/Target/X86/X86InstrSSE.td
+++ b/llvm/lib/Target/X86/X86InstrSSE.td
@@ -4097,6 +4097,9 @@ multiclass SS41I_unop_rm_int_v16<bits<8> opc, string OpcodeStr,
(bitconvert (memopv8i16 addr:$src))))]>, OpSize;
}
+let isAsmParserOnly = 1, Predicates = [HasAVX, HasSSE41] in
+defm VPHMINPOSUW : SS41I_unop_rm_int_v16 <0x41, "vphminposuw",
+ int_x86_sse41_phminposuw>, VEX;
defm PHMINPOSUW : SS41I_unop_rm_int_v16 <0x41, "phminposuw",
int_x86_sse41_phminposuw>;
diff --git a/llvm/test/MC/AsmParser/X86/x86_32-encoding.s b/llvm/test/MC/AsmParser/X86/x86_32-encoding.s
index 4b69b4ab92e..e1085a30740 100644
--- a/llvm/test/MC/AsmParser/X86/x86_32-encoding.s
+++ b/llvm/test/MC/AsmParser/X86/x86_32-encoding.s
@@ -11774,3 +11774,11 @@
// CHECK: encoding: [0xc4,0xe3,0x79,0x08,0x18,0x07]
vroundps $7, (%eax), %xmm3
+// CHECK: vphminposuw %xmm2, %xmm3
+// CHECK: encoding: [0xc4,0xe2,0x79,0x41,0xda]
+ vphminposuw %xmm2, %xmm3
+
+// CHECK: vphminposuw (%eax), %xmm2
+// CHECK: encoding: [0xc4,0xe2,0x79,0x41,0x10]
+ vphminposuw (%eax), %xmm2
+
diff --git a/llvm/test/MC/AsmParser/X86/x86_64-encoding.s b/llvm/test/MC/AsmParser/X86/x86_64-encoding.s
index bb262624318..ad52ffb36a6 100644
--- a/llvm/test/MC/AsmParser/X86/x86_64-encoding.s
+++ b/llvm/test/MC/AsmParser/X86/x86_64-encoding.s
@@ -1822,3 +1822,11 @@ pshufb CPI1_0(%rip), %xmm1
// CHECK: encoding: [0xc4,0x63,0x79,0x08,0x28,0x07]
vroundps $7, (%rax), %xmm13
+// CHECK: vphminposuw %xmm12, %xmm13
+// CHECK: encoding: [0xc4,0x42,0x79,0x41,0xec]
+ vphminposuw %xmm12, %xmm13
+
+// CHECK: vphminposuw (%rax), %xmm12
+// CHECK: encoding: [0xc4,0x62,0x79,0x41,0x20]
+ vphminposuw (%rax), %xmm12
+
OpenPOWER on IntegriCloud