[llvm-commits] [llvm] r107241 - in /llvm/trunk: lib/Target/X86/X86InstrSSE.td test/MC/AsmParser/X86/x86_32-encoding.s test/MC/AsmParser/X86/x86_64-encoding.s
Bruno Cardoso Lopes
bruno.cardoso at gmail.com
Tue Jun 29 19:30:25 PDT 2010
Author: bruno
Date: Tue Jun 29 21:30:25 2010
New Revision: 107241
URL: http://llvm.org/viewvc/llvm-project?rev=107241&view=rev
Log:
Add AVX SSE2 pack with saturation integer instructions
Modified:
llvm/trunk/lib/Target/X86/X86InstrSSE.td
llvm/trunk/test/MC/AsmParser/X86/x86_32-encoding.s
llvm/trunk/test/MC/AsmParser/X86/x86_64-encoding.s
Modified: llvm/trunk/lib/Target/X86/X86InstrSSE.td
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86InstrSSE.td?rev=107241&r1=107240&r2=107241&view=diff
==============================================================================
--- llvm/trunk/lib/Target/X86/X86InstrSSE.td (original)
+++ llvm/trunk/lib/Target/X86/X86InstrSSE.td Tue Jun 29 21:30:25 2010
@@ -2634,6 +2634,15 @@
// SSE2 - Packed Integer Pack Instructions
//===---------------------------------------------------------------------===//
+let isAsmParserOnly = 1, Predicates = [HasAVX, HasSSE2] in {
+defm VPACKSSWB : PDI_binop_rm_int<0x63, "vpacksswb", int_x86_sse2_packsswb_128,
+ 0>, VEX_4V;
+defm VPACKSSDW : PDI_binop_rm_int<0x6B, "vpackssdw", int_x86_sse2_packssdw_128,
+ 0>, VEX_4V;
+defm VPACKUSWB : PDI_binop_rm_int<0x67, "vpackuswb", int_x86_sse2_packuswb_128,
+ 0>, VEX_4V;
+}
+
let Constraints = "$src1 = $dst" in {
defm PACKSSWB : PDI_binop_rm_int<0x63, "packsswb", int_x86_sse2_packsswb_128>;
defm PACKSSDW : PDI_binop_rm_int<0x6B, "packssdw", int_x86_sse2_packssdw_128>;
Modified: llvm/trunk/test/MC/AsmParser/X86/x86_32-encoding.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/AsmParser/X86/x86_32-encoding.s?rev=107241&r1=107240&r2=107241&view=diff
==============================================================================
--- llvm/trunk/test/MC/AsmParser/X86/x86_32-encoding.s (original)
+++ llvm/trunk/test/MC/AsmParser/X86/x86_32-encoding.s Tue Jun 29 21:30:25 2010
@@ -11370,3 +11370,27 @@
// CHECK: encoding: [0xc5,0xe9,0x66,0x18]
vpcmpgtd (%eax), %xmm2, %xmm3
+// CHECK: vpacksswb %xmm1, %xmm2, %xmm3
+// CHECK: encoding: [0xc5,0xe9,0x63,0xd9]
+ vpacksswb %xmm1, %xmm2, %xmm3
+
+// CHECK: vpacksswb (%eax), %xmm2, %xmm3
+// CHECK: encoding: [0xc5,0xe9,0x63,0x18]
+ vpacksswb (%eax), %xmm2, %xmm3
+
+// CHECK: vpackssdw %xmm1, %xmm2, %xmm3
+// CHECK: encoding: [0xc5,0xe9,0x6b,0xd9]
+ vpackssdw %xmm1, %xmm2, %xmm3
+
+// CHECK: vpackssdw (%eax), %xmm2, %xmm3
+// CHECK: encoding: [0xc5,0xe9,0x6b,0x18]
+ vpackssdw (%eax), %xmm2, %xmm3
+
+// CHECK: vpackuswb %xmm1, %xmm2, %xmm3
+// CHECK: encoding: [0xc5,0xe9,0x67,0xd9]
+ vpackuswb %xmm1, %xmm2, %xmm3
+
+// CHECK: vpackuswb (%eax), %xmm2, %xmm3
+// CHECK: encoding: [0xc5,0xe9,0x67,0x18]
+ vpackuswb (%eax), %xmm2, %xmm3
+
Modified: llvm/trunk/test/MC/AsmParser/X86/x86_64-encoding.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/AsmParser/X86/x86_64-encoding.s?rev=107241&r1=107240&r2=107241&view=diff
==============================================================================
--- llvm/trunk/test/MC/AsmParser/X86/x86_64-encoding.s (original)
+++ llvm/trunk/test/MC/AsmParser/X86/x86_64-encoding.s Tue Jun 29 21:30:25 2010
@@ -1410,3 +1410,27 @@
// CHECK: encoding: [0xc5,0x19,0x66,0x28]
vpcmpgtd (%rax), %xmm12, %xmm13
+// CHECK: vpacksswb %xmm11, %xmm12, %xmm13
+// CHECK: encoding: [0xc4,0x41,0x19,0x63,0xeb]
+ vpacksswb %xmm11, %xmm12, %xmm13
+
+// CHECK: vpacksswb (%rax), %xmm12, %xmm13
+// CHECK: encoding: [0xc5,0x19,0x63,0x28]
+ vpacksswb (%rax), %xmm12, %xmm13
+
+// CHECK: vpackssdw %xmm11, %xmm12, %xmm13
+// CHECK: encoding: [0xc4,0x41,0x19,0x6b,0xeb]
+ vpackssdw %xmm11, %xmm12, %xmm13
+
+// CHECK: vpackssdw (%rax), %xmm12, %xmm13
+// CHECK: encoding: [0xc5,0x19,0x6b,0x28]
+ vpackssdw (%rax), %xmm12, %xmm13
+
+// CHECK: vpackuswb %xmm11, %xmm12, %xmm13
+// CHECK: encoding: [0xc4,0x41,0x19,0x67,0xeb]
+ vpackuswb %xmm11, %xmm12, %xmm13
+
+// CHECK: vpackuswb (%rax), %xmm12, %xmm13
+// CHECK: encoding: [0xc5,0x19,0x67,0x28]
+ vpackuswb (%rax), %xmm12, %xmm13
+
More information about the llvm-commits
mailing list