summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorEvan Cheng <evan.cheng@apple.com>2008-05-10 06:46:49 +0000
committerEvan Cheng <evan.cheng@apple.com>2008-05-10 06:46:49 +0000
commit50d9e7289b86fa02b8f121f5aeceffb4b248a9b6 (patch)
tree585588fc20e9d2ac38229aa6f7c15d97216a31d0 /test
parent49ff6614102c8716e91c8e26f0b21e33dc4d66ee (diff)
downloadllvm-50d9e7289b86fa02b8f121f5aeceffb4b248a9b6.tar.gz
llvm-50d9e7289b86fa02b8f121f5aeceffb4b248a9b6.tar.bz2
llvm-50d9e7289b86fa02b8f121f5aeceffb4b248a9b6.tar.xz
When transforming a vector_shuffle to a load, the base address must not be an undef.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50940 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test')
-rw-r--r--test/CodeGen/X86/2008-05-09-ShuffleLoweringBug.ll10
1 files changed, 10 insertions, 0 deletions
diff --git a/test/CodeGen/X86/2008-05-09-ShuffleLoweringBug.ll b/test/CodeGen/X86/2008-05-09-ShuffleLoweringBug.ll
new file mode 100644
index 0000000000..9bcd1f374d
--- /dev/null
+++ b/test/CodeGen/X86/2008-05-09-ShuffleLoweringBug.ll
@@ -0,0 +1,10 @@
+; RUN: llvm-as < %s | llc -march=x86 -mattr=+sse2
+
+define fastcc void @glgVectorFloatConversion() nounwind {
+ %tmp12745 = load <4 x float>* null, align 16 ; <<4 x float>> [#uses=1]
+ %tmp12773 = insertelement <4 x float> %tmp12745, float 1.000000e+00, i32 1 ; <<4 x float>> [#uses=1]
+ %tmp12774 = insertelement <4 x float> %tmp12773, float 0.000000e+00, i32 2 ; <<4 x float>> [#uses=1]
+ %tmp12775 = insertelement <4 x float> %tmp12774, float 1.000000e+00, i32 3 ; <<4 x float>> [#uses=1]
+ store <4 x float> %tmp12775, <4 x float>* null, align 16
+ unreachable
+}