summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorEli Friedman <eli.friedman@gmail.com>2011-09-09 21:04:06 +0000
committerEli Friedman <eli.friedman@gmail.com>2011-09-09 21:04:06 +0000
commit9db817fd0ce0949d0358f5cedfd9ca5a9f1726dd (patch)
treef10649f16d0e014bdae8f391b2b700f420ba1bfc /test
parent8ddf6531b88937dec35bf2bb3a55245b1af9cbf5 (diff)
downloadllvm-9db817fd0ce0949d0358f5cedfd9ca5a9f1726dd.tar.gz
llvm-9db817fd0ce0949d0358f5cedfd9ca5a9f1726dd.tar.bz2
llvm-9db817fd0ce0949d0358f5cedfd9ca5a9f1726dd.tar.xz
Make the SelectionDAG verify that all the operands of BUILD_VECTOR have the same type. Teach DAGCombiner::visitINSERT_VECTOR_ELT not to make invalid BUILD_VECTORs. Fixes PR10897.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139407 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test')
-rw-r--r--test/CodeGen/ARM/2011-09-09-OddVectorDivision.ll23
1 files changed, 23 insertions, 0 deletions
diff --git a/test/CodeGen/ARM/2011-09-09-OddVectorDivision.ll b/test/CodeGen/ARM/2011-09-09-OddVectorDivision.ll
new file mode 100644
index 0000000000..c4a2e336d3
--- /dev/null
+++ b/test/CodeGen/ARM/2011-09-09-OddVectorDivision.ll
@@ -0,0 +1,23 @@
+; RUN: llc -mtriple=armv7-- %s -mattr=-neon
+
+target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:64:128-a0:0:64-n32"
+target triple = "armv7-none-linux-gnueabi"
+
+@x1 = common global <3 x i16> zeroinitializer
+@y1 = common global <3 x i16> zeroinitializer
+@z1 = common global <3 x i16> zeroinitializer
+@x2 = common global <4 x i16> zeroinitializer
+@y2 = common global <4 x i16> zeroinitializer
+@z2 = common global <4 x i16> zeroinitializer
+
+define void @f() {
+ %1 = load <3 x i16>* @x1
+ %2 = load <3 x i16>* @y1
+ %3 = sdiv <3 x i16> %1, %2
+ store <3 x i16> %3, <3 x i16>* @z1
+ %4 = load <4 x i16>* @x2
+ %5 = load <4 x i16>* @y2
+ %6 = sdiv <4 x i16> %4, %5
+ store <4 x i16> %6, <4 x i16>* @z2
+ ret void
+}