[InstCombine] Signed saturation patterns
[llvm-complete.git] / test / CodeGen / X86 / 2009-06-04-VirtualLiveIn.ll
blobbaa99f15183b15cec22865ca79cf8d5dca2afe4f
1 ; RUN: llc < %s -mtriple=i686--
3         %0 = type { %struct.GAP }               ; type %0
4         %1 = type { i16, i8, i8 }               ; type %1
5         %2 = type { [2 x i32], [2 x i32] }              ; type %2
6         %3 = type { %struct.rec* }              ; type %3
7         %struct.FILE_POS = type { i8, i8, i16, i32 }
8         %struct.FIRST_UNION = type { %struct.FILE_POS }
9         %struct.FOURTH_UNION = type { %struct.STYLE }
10         %struct.GAP = type { i8, i8, i16 }
11         %struct.LIST = type { %struct.rec*, %struct.rec* }
12         %struct.SECOND_UNION = type { %1 }
13         %struct.STYLE = type { %0, %0, i16, i16, i32 }
14         %struct.THIRD_UNION = type { %2 }
15         %struct.head_type = type { [2 x %struct.LIST], %struct.FIRST_UNION, %struct.SECOND_UNION, %struct.THIRD_UNION, %struct.FOURTH_UNION, %struct.rec*, %3, %struct.rec*, %struct.rec*, %struct.rec*, %struct.rec*, %struct.rec*, %struct.rec*, %struct.rec*, %struct.rec*, i32 }
16         %struct.rec = type { %struct.head_type }
18 define fastcc void @MinSize(%struct.rec* %x) nounwind {
19 entry:
20         %tmp13 = load i8, i8* undef, align 4            ; <i8> [#uses=3]
21         %tmp14 = zext i8 %tmp13 to i32          ; <i32> [#uses=2]
22         switch i32 %tmp14, label %bb1109 [
23                 i32 42, label %bb246
24         ]
26 bb246:          ; preds = %entry, %entry
27         switch i8 %tmp13, label %bb249 [
28                 i8 42, label %bb269
29                 i8 44, label %bb269
30         ]
32 bb249:          ; preds = %bb246
33         %tmp3240 = icmp eq i8 %tmp13, 0         ; <i1> [#uses=1]
34         br i1 %tmp3240, label %bb974, label %bb269
36 bb269:
37         %tmp3424 = getelementptr %struct.rec, %struct.rec* %x, i32 0, i32 0, i32 0, i32 0, i32 1                ; <%struct.rec**> [#uses=0]
38         unreachable
40 bb974:
41         unreachable
43 bb1109:         ; preds = %entry
44         call fastcc void @Image(i32 %tmp14) nounwind            ; <i8*> [#uses=0]
45         unreachable
48 declare fastcc void @Image(i32) nounwind