InstCombine: Match min/max hidden by sext/zext
[oota-llvm.git] / test / Transforms / InstCombine / sdiv-1.ll
1 ; RUN: opt < %s -instcombine -inline -S | not grep '-715827882'
2 ; PR3142
3
4 define i32 @a(i32 %X) nounwind readnone {
5 entry:
6        %0 = sub i32 0, %X
7        %1 = sdiv i32 %0, -3
8        ret i32 %1
9 }
10
11 define i32 @b(i32 %X) nounwind readnone {
12 entry:
13        %0 = call i32 @a(i32 -2147483648)
14        ret i32 %0
15 }
16
17 define i32 @c(i32 %X) nounwind readnone {
18 entry:
19        %0 = sub i32 0, -2147483648
20        %1 = sdiv i32 %0, -3
21        ret i32 %1
22 }