xref: /llvm-project/llvm/test/Transforms/InstCombine/2007-06-06-AshrSignBit.ll (revision 4ab40eca080965c65802710e39adbb78c4ce7bde)
1; RUN: opt < %s -passes=instcombine -S | grep "ashr"
2; PR1499
3
4define void @av_cmp_q_cond_true(ptr %retval, ptr %tmp9, ptr %tmp10) {
5newFuncRoot:
6	br label %cond_true
7
8return.exitStub:		; preds = %cond_true
9	ret void
10
11cond_true:		; preds = %newFuncRoot
12	%tmp30 = load i64, ptr %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, ptr %tmp9
18	%tmp34 = load i32, ptr %tmp9		; <i32> [#uses=1]
19	store i32 %tmp34, ptr %retval
20	br label %return.exitStub
21}
22
23