From: Evan Cheng Date: Wed, 31 May 2006 00:51:37 +0000 (+0000) Subject: Select vector_shuffle v1, undef <2, 3, ?, ?> to MOVHLPS. X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=9d09b89f39b56e39d2fbd981154d19c694d77f69;p=oota-llvm.git Select vector_shuffle v1, undef <2, 3, ?, ?> to MOVHLPS. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28582 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Target/X86/X86InstrSSE.td b/lib/Target/X86/X86InstrSSE.td index f539c657de1..b53cdab4ae4 100644 --- a/lib/Target/X86/X86InstrSSE.td +++ b/lib/Target/X86/X86InstrSSE.td @@ -2453,6 +2453,14 @@ def : Pat<(v4i32 (vector_shuffle VR128:$src1, VR128:$src2, MOVHLPS_shuffle_mask)), (v4i32 (MOVHLPSrr VR128:$src1, VR128:$src2))>; +// vector_shuffle v1, undef <2, 3, ?, ?> using MOVHLPS +def : Pat<(v4f32 (vector_shuffle VR128:$src1, (undef), + UNPCKH_shuffle_mask)), + (v4f32 (MOVHLPSrr VR128:$src1, VR128:$src1))>; +def : Pat<(v4i32 (vector_shuffle VR128:$src1, (undef), + UNPCKH_shuffle_mask)), + (v4i32 (MOVHLPSrr VR128:$src1, VR128:$src1))>; + // vector_shuffle v1, (load v2) <4, 5, 2, 3> using MOVLPS // vector_shuffle v1, (load v2) <0, 1, 4, 5> using MOVHPS def : Pat<(v4f32 (vector_shuffle VR128:$src1, (loadv4f32 addr:$src2),