summaryrefslogtreecommitdiffstats
path: root/llvm/test/CodeGen/ARM/2009-08-29-TooLongSplat.ll
diff options
context:
space:
mode:
authorAnton Korobeynikov <asl@math.spbu.ru>2009-08-29 00:08:18 +0000
committerAnton Korobeynikov <asl@math.spbu.ru>2009-08-29 00:08:18 +0000
commitece642a54c78ba3f6ac53a4ad6bc22cd0c97d022 (patch)
tree46b711bd583397482891ab3353d9940ad679e7ae /llvm/test/CodeGen/ARM/2009-08-29-TooLongSplat.ll
parentcd41d07f29c6c60c428acb8015dc21c048488dc8 (diff)
downloadbcm5719-llvm-ece642a54c78ba3f6ac53a4ad6bc22cd0c97d022.tar.gz
bcm5719-llvm-ece642a54c78ba3f6ac53a4ad6bc22cd0c97d022.zip
Do not assert on too wide splats we don't support.
llvm-svn: 80409
Diffstat (limited to 'llvm/test/CodeGen/ARM/2009-08-29-TooLongSplat.ll')
-rw-r--r--llvm/test/CodeGen/ARM/2009-08-29-TooLongSplat.ll23
1 files changed, 23 insertions, 0 deletions
diff --git a/llvm/test/CodeGen/ARM/2009-08-29-TooLongSplat.ll b/llvm/test/CodeGen/ARM/2009-08-29-TooLongSplat.ll
new file mode 100644
index 00000000000..3b1413bee38
--- /dev/null
+++ b/llvm/test/CodeGen/ARM/2009-08-29-TooLongSplat.ll
@@ -0,0 +1,23 @@
+; RUN: llvm-as < %s | llc -mattr=+neon
+target datalayout = "e-p:32:32:32-i1:8:32-i8:8:32-i16:16:32-i32:32:32-i64:32:32-f32:32:32-f64:32:32-v64:64:64-v128:128:128-a0:0:32"
+target triple = "thumbv7-elf"
+
+define arm_apcscc void @aaa() nounwind {
+entry:
+ %0 = fmul <4 x float> undef, <float 1.000000e+00, float 1.000000e+01, float 1.000000e+02, float 0x3EB0C6F7A0000000> ; <<4 x float>> [#uses=1]
+ %tmp31 = extractelement <4 x float> %0, i32 0 ; <float> [#uses=1]
+ %1 = fpext float %tmp31 to double ; <double> [#uses=1]
+ %2 = fsub double 1.000000e+00, %1 ; <double> [#uses=1]
+ %3 = fdiv double %2, 1.000000e+00 ; <double> [#uses=1]
+ %4 = tail call double @fabs(double %3) nounwind readnone ; <double> [#uses=1]
+ %5 = fcmp ogt double %4, 1.000000e-05 ; <i1> [#uses=1]
+ br i1 %5, label %bb, label %bb7
+
+bb: ; preds = %entry
+ unreachable
+
+bb7: ; preds = %entry
+ unreachable
+}
+
+declare double @fabs(double)
OpenPOWER on IntegriCloud