[ARM] Better OR's for MVE compares
[llvm-core.git] / test / Transforms / InstCombine / 2007-06-06-AshrSignBit.ll
blob2b89a9d721fba0ccc4088afcaf864380a477bdaf
1 ; RUN: opt < %s -instcombine -S | grep "ashr"
2 ; PR1499
4 define void @av_cmp_q_cond_true(i32* %retval, i32* %tmp9, i64* %tmp10) {
5 newFuncRoot:
6         br label %cond_true
8 return.exitStub:                ; preds = %cond_true
9         ret void
11 cond_true:              ; preds = %newFuncRoot
12         %tmp30 = load i64, i64* %tmp10          ; <i64> [#uses=1]
13         %.cast = zext i32 63 to i64             ; <i64> [#uses=1]
14         %tmp31 = ashr i64 %tmp30, %.cast                ; <i64> [#uses=1]
15         %tmp3132 = trunc i64 %tmp31 to i32              ; <i32> [#uses=1]
16         %tmp33 = or i32 %tmp3132, 1             ; <i32> [#uses=1]
17         store i32 %tmp33, i32* %tmp9
18         %tmp34 = load i32, i32* %tmp9           ; <i32> [#uses=1]
19         store i32 %tmp34, i32* %retval
20         br label %return.exitStub