summaryrefslogtreecommitdiff
path: root/test/Transforms
diff options
context:
space:
mode:
authorEd Schouten <ed@FreeBSD.org>2009-06-07 09:21:09 +0000
committerEd Schouten <ed@FreeBSD.org>2009-06-07 09:21:09 +0000
commitd2a7037439ec5d4f4d2b7a813a3f1a83e10756b1 (patch)
tree7faa7e6887831d68515763b37bd680e3d4a886ea /test/Transforms
parentf4fe016fa15f703fe9c1b932d1e81e2c718521db (diff)
Notes
Diffstat (limited to 'test/Transforms')
-rw-r--r--test/Transforms/InstCombine/vec_demanded_elts-3.ll14
1 files changed, 14 insertions, 0 deletions
diff --git a/test/Transforms/InstCombine/vec_demanded_elts-3.ll b/test/Transforms/InstCombine/vec_demanded_elts-3.ll
new file mode 100644
index 000000000000..eba3629eb9e7
--- /dev/null
+++ b/test/Transforms/InstCombine/vec_demanded_elts-3.ll
@@ -0,0 +1,14 @@
+; RUN: llvm-as < %s | opt -instcombine | llvm-dis | not grep load
+; PR4340
+
+define void @vac(<4 x float>* nocapture %a) nounwind {
+entry:
+ %tmp1 = load <4 x float>* %a ; <<4 x float>> [#uses=1]
+ %vecins = insertelement <4 x float> %tmp1, float 0.000000e+00, i32 0 ; <<4 x float>> [#uses=1]
+ %vecins4 = insertelement <4 x float> %vecins, float 0.000000e+00, i32 1; <<4 x float>> [#uses=1]
+ %vecins6 = insertelement <4 x float> %vecins4, float 0.000000e+00, i32 2; <<4 x float>> [#uses=1]
+ %vecins8 = insertelement <4 x float> %vecins6, float 0.000000e+00, i32 3; <<4 x float>> [#uses=1]
+ store <4 x float> %vecins8, <4 x float>* %a
+ ret void
+}
+