From: Chris Lattner Date: Sat, 2 Oct 2010 21:32:15 +0000 (+0000) Subject: fix a regression introduced in r115243, in which the instruction X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=d47691460770c886cf2fdafaf0f53e0cd101ccf1;p=oota-llvm.git fix a regression introduced in r115243, in which the instruction backing int_x86_ssse3_pshuf_w got removed. This caused PR8280. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115422 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Target/X86/X86InstrMMX.td b/lib/Target/X86/X86InstrMMX.td index a92776156b1..7268af834d8 100644 --- a/lib/Target/X86/X86InstrMMX.td +++ b/lib/Target/X86/X86InstrMMX.td @@ -340,6 +340,22 @@ defm MMX_PACKUSWB : MMXI_binop_rm_int<0x67, "packuswb", int_x86_mmx_packuswb>; // -- Shuffle Instructions defm MMX_PSHUFB : SS3I_binop_rm_int_mm<0x00, "pshufb", int_x86_ssse3_pshuf_b>; +def MMX_PSHUFWri : MMXIi8<0x70, MRMSrcReg, + (outs VR64:$dst), (ins VR64:$src1, i32i8imm:$src2), + "pshufw\t{$src2, $src1, $dst|$dst, $src1, $src2}", + [(set VR64:$dst, + (int_x86_ssse3_pshuf_w VR64:$src1, imm:$src2))]>; +def MMX_PSHUFWmi : MMXIi8<0x70, MRMSrcMem, + (outs VR64:$dst), (ins i64mem:$src1, i32i8imm:$src2), + "pshufw\t{$src2, $src1, $dst|$dst, $src1, $src2}", + [(set VR64:$dst, + (int_x86_ssse3_pshuf_w (load_mmx addr:$src1), + imm:$src2))]>; + + + + + // -- Conversion Instructions defm MMX_CVTPS2PI : sse12_cvt_pint<0x2D, VR128, VR64, int_x86_sse_cvtps2pi, f64mem, load, "cvtps2pi\t{$src, $dst|$dst, $src}", diff --git a/test/MC/X86/x86-32.s b/test/MC/X86/x86-32.s index fd0fd750dfd..b2422847b2a 100644 --- a/test/MC/X86/x86-32.s +++ b/test/MC/X86/x86-32.s @@ -583,3 +583,5 @@ ljmp $0x7ace,$0x7ace // CHECK: decl %eax # encoding: [0x48] decl %eax +// CHECK: pshufw $14, %mm4, %mm0 # encoding: [0x0f,0x70,0xc4,0x0e] +pshufw $14, %mm4, %mm0