aboutsummaryrefslogtreecommitdiffstats
path: root/test/Transforms/InstCombine/2006-09-15-CastToBool.ll
blob: e649b3eedc58a04ad5cb0fe023656e3ae547c17f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
; RUN: llvm-as < %s | opt -instcombine | llvm-dis | grep and
; PR913

int %test(int* %tmp1) {
        %tmp = load int* %tmp1          ; <int> [#uses=1]
        %tmp = cast int %tmp to uint            ; <uint> [#uses=1]
        %tmp2 = shr uint %tmp, ubyte 5          ; <uint> [#uses=1]
        %tmp2 = cast uint %tmp2 to int          ; <int> [#uses=1]
        %tmp3 = and int %tmp2, 1                ; <int> [#uses=1]
        %tmp3 = cast int %tmp3 to bool          ; <bool> [#uses=1]
        %tmp34 = cast bool %tmp3 to int         ; <int> [#uses=1]
        ret int %tmp34
}