[ARM] Better OR's for MVE compares
[llvm-core.git] / test / Transforms / InstCombine / 2006-09-15-CastToBool.ll
blob2eb28a3f6bb8fe56112559de3d139e3ee8b57ba9
1 ; RUN: opt < %s -instcombine -S | grep and
2 ; PR913
4 define i32 @test(i32* %tmp1) {
5         %tmp.i = load i32, i32* %tmp1                ; <i32> [#uses=1]
6         %tmp = bitcast i32 %tmp.i to i32                ; <i32> [#uses=1]
7         %tmp2.ui = lshr i32 %tmp, 5             ; <i32> [#uses=1]
8         %tmp2 = bitcast i32 %tmp2.ui to i32             ; <i32> [#uses=1]
9         %tmp3 = and i32 %tmp2, 1                ; <i32> [#uses=1]
10         %tmp3.upgrd.1 = icmp ne i32 %tmp3, 0            ; <i1> [#uses=1]
11         %tmp34 = zext i1 %tmp3.upgrd.1 to i32           ; <i32> [#uses=1]
12         ret i32 %tmp34