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
This commit is contained in:
Evan Cheng 2006-05-31 00:51:37 +00:00
parent 8f692e2457
commit 9d09b89f39

View File

@ -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),