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

int %test(int* %tmp1) {
        %tmp.i = load int* %tmp1          ; <int> [#uses=1]
        %tmp = cast int %tmp.i to uint            ; <uint> [#uses=1]
        %tmp2.ui = shr uint %tmp, ubyte 5          ; <uint> [#uses=1]
        %tmp2 = cast uint %tmp2.ui 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
}