[InstCombine] Signed saturation patterns
[llvm-core.git] / test / CodeGen / X86 / 2007-12-18-LoadCSEBug.ll
blob35aa016ec58b9ad10cb63f49b57e82c6447e3d6c
1 ; RUN: llc < %s -mtriple=i686-- -mcpu=generic | grep "(%esp)" | count 2
2 ; PR1872
4         %struct.c34007g__designated___XUB = type { i32, i32, i32, i32 }
5         %struct.c34007g__pkg__parent = type { i32*, %struct.c34007g__designated___XUB* }
7 define void @_ada_c34007g() {
8 entry:
9         %x8 = alloca %struct.c34007g__pkg__parent, align 8              ; <%struct.c34007g__pkg__parent*> [#uses=2]
10         %tmp1272 = getelementptr %struct.c34007g__pkg__parent, %struct.c34007g__pkg__parent* %x8, i32 0, i32 0          ; <i32**> [#uses=1]
11         %x82167 = bitcast %struct.c34007g__pkg__parent* %x8 to i64*             ; <i64*> [#uses=1]
12         br i1 true, label %bb4668, label %bb848
14 bb4668:         ; preds = %bb4648
15         %tmp5464 = load i64, i64* %x82167, align 8              ; <i64> [#uses=1]
16         %tmp5467 = icmp ne i64 0, %tmp5464              ; <i1> [#uses=1]
17         %tmp5470 = load i32*, i32** %tmp1272, align 8           ; <i32*> [#uses=1]
18         %tmp5471 = icmp eq i32* %tmp5470, null          ; <i1> [#uses=1]
19         %tmp5475 = or i1 %tmp5471, %tmp5467             ; <i1> [#uses=1]
20         %tmp5497 = or i1 %tmp5475, false                ; <i1> [#uses=1]
21         br i1 %tmp5497, label %bb848, label %bb5507
23 bb848:          ; preds = %entry
24         ret void
26 bb5507:         ; preds = %bb4668
27         ret void