diff options
author | Chris Lattner <sabre@nondot.org> | 2009-10-11 22:45:17 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2009-10-11 22:45:17 +0000 |
commit | 79a2f91f65613712f547a57d22fc6861beaa6948 (patch) | |
tree | c89396fd6c9bbfcd6032869330ac53a902adb812 /llvm | |
parent | 8308fd9aaba7861d822ebf0f7f8f247190c00a48 (diff) | |
download | bcm5719-llvm-79a2f91f65613712f547a57d22fc6861beaa6948.tar.gz bcm5719-llvm-79a2f91f65613712f547a57d22fc6861beaa6948.zip |
filecheckize
llvm-svn: 83805
Diffstat (limited to 'llvm')
-rw-r--r-- | llvm/test/Transforms/InstCombine/shuffle.ll | 28 |
1 files changed, 13 insertions, 15 deletions
diff --git a/llvm/test/Transforms/InstCombine/shuffle.ll b/llvm/test/Transforms/InstCombine/shuffle.ll index ba5a734dec7..2e7af908563 100644 --- a/llvm/test/Transforms/InstCombine/shuffle.ll +++ b/llvm/test/Transforms/InstCombine/shuffle.ll @@ -1,19 +1,17 @@ -; RUN: opt < %s -instcombine -S | \ -; RUN: grep shufflevec | count 1 -; RUN: opt < %s -instcombine -S | \ -; RUN: not grep insertelement -; RUN: opt < %s -instcombine -S | \ -; RUN: not grep extractelement -; END. +; RUN: opt < %s -instcombine -S | FileCheck %s -define <4 x float> @test(<4 x float> %tmp, <4 x float> %tmp1) { - %tmp4 = extractelement <4 x float> %tmp, i32 1 ; <float> [#uses=1] - %tmp2 = extractelement <4 x float> %tmp, i32 3 ; <float> [#uses=1] - %tmp1.upgrd.1 = extractelement <4 x float> %tmp1, i32 0 ; <float> [#uses=1] - %tmp128 = insertelement <4 x float> undef, float %tmp4, i32 0 ; <<4 x float>> [#uses=1] - %tmp130 = insertelement <4 x float> %tmp128, float undef, i32 1 ; <<4 x float>> [#uses=1] - %tmp132 = insertelement <4 x float> %tmp130, float %tmp2, i32 2 ; <<4 x float>> [#uses=1] - %tmp134 = insertelement <4 x float> %tmp132, float %tmp1.upgrd.1, i32 3 ; <<4 x float>> [#uses=1] +; This should turn into a single shuffle. +define <4 x float> @test1(<4 x float> %tmp, <4 x float> %tmp1) { +; CHECK: @test1 +; CHECK-NEXT: shufflevector +; CHECK-NEXT: ret + %tmp4 = extractelement <4 x float> %tmp, i32 1 + %tmp2 = extractelement <4 x float> %tmp, i32 3 + %tmp1.upgrd.1 = extractelement <4 x float> %tmp1, i32 0 + %tmp128 = insertelement <4 x float> undef, float %tmp4, i32 0 + %tmp130 = insertelement <4 x float> %tmp128, float undef, i32 1 + %tmp132 = insertelement <4 x float> %tmp130, float %tmp2, i32 2 + %tmp134 = insertelement <4 x float> %tmp132, float %tmp1.upgrd.1, i32 3 ret <4 x float> %tmp134 } |