[ARM] More MVE compare vector splat combines for ANDs
[llvm-complete.git] / test / CodeGen / PowerPC / 2006-08-15-SelectionCrash.ll
blob851fd90ba8e304a00b61530202aa7b3fae3b1761
1 ; RUN: llc -verify-machineinstrs < %s
2 ; REQUIRES: default_triple
4         %struct..0anon = type { i32 }
5         %struct.rtx_def = type { i16, i8, i8, [1 x %struct..0anon] }
7 define fastcc void @immed_double_const(i32 %i0, i32 %i1) {
8 entry:
9         %tmp1 = load i32, i32* null             ; <i32> [#uses=1]
10         switch i32 %tmp1, label %bb103 [
11                  i32 1, label %bb
12                  i32 3, label %bb
13         ]
14 bb:             ; preds = %entry, %entry
15         %tmp14 = icmp sgt i32 0, 31             ; <i1> [#uses=1]
16         br i1 %tmp14, label %cond_next77, label %cond_next17
17 cond_next17:            ; preds = %bb
18         ret void
19 cond_next77:            ; preds = %bb
20         %tmp79.not = icmp ne i32 %i1, 0         ; <i1> [#uses=1]
21         %tmp84 = icmp slt i32 %i0, 0            ; <i1> [#uses=2]
22         %bothcond1 = or i1 %tmp79.not, %tmp84           ; <i1> [#uses=1]
23         br i1 %bothcond1, label %bb88, label %bb99
24 bb88:           ; preds = %cond_next77
25         %bothcond2 = and i1 false, %tmp84               ; <i1> [#uses=0]
26         ret void
27 bb99:           ; preds = %cond_next77
28         ret void
29 bb103:          ; preds = %entry
30         ret void