[InstCombine] Signed saturation patterns
[llvm-core.git] / test / CodeGen / ARM / 2012-04-02-TwoAddrInstrCrash.ll
blob0843fdc4e75e971b70d1d7c870e248c37f276768
1 ; RUN: llc < %s
2 ; PR11861
3 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-S64"
4 target triple = "armv7-none-linux-gnueabi"
6 define arm_aapcs_vfpcc void @foo() nounwind align 2 {
7   br i1 undef, label %5, label %1
9 ; <label>:1                                       ; preds = %0
10   %2 = shufflevector <1 x i64> zeroinitializer, <1 x i64> undef, <2 x i32> <i32 0, i32 1>
11   %3 = bitcast <2 x i64> %2 to <4 x float>
12   store <4 x float> zeroinitializer, <4 x float>* undef, align 16
13   store <4 x float> zeroinitializer, <4 x float>* undef, align 16
14   store <4 x float> %3, <4 x float>* undef, align 16
15   %4 = insertelement <4 x float> %3, float 8.000000e+00, i32 2
16   store <4 x float> %4, <4 x float>* undef, align 16
17   unreachable
19 ; <label>:5                                       ; preds = %0
20   ret void