| Chandler Carruth | a5a29f9 | 2012-07-02 12:47:22 +0000 | [diff] [blame] | 1 | ; RUN: opt < %s -instcombine -S | grep "ashr" |
| Lauro Ramos Venancio | be59acb | 2007-06-06 17:10:02 +0000 | [diff] [blame] | 2 | ; PR1499 |
| 3 | |
| 4 | define void @av_cmp_q_cond_true(i32* %retval, i32* %tmp9, i64* %tmp10) { |
| 5 | newFuncRoot: |
| 6 | br label %cond_true |
| 7 | |
| 8 | return.exitStub: ; preds = %cond_true |
| 9 | ret void |
| 10 | |
| 11 | cond_true: ; preds = %newFuncRoot |
| David Blaikie | a79ac14 | 2015-02-27 21:17:42 +0000 | [diff] [blame] | 12 | %tmp30 = load i64, i64* %tmp10 ; <i64> [#uses=1] |
| Lauro Ramos Venancio | be59acb | 2007-06-06 17:10:02 +0000 | [diff] [blame] | 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 |
| David Blaikie | a79ac14 | 2015-02-27 21:17:42 +0000 | [diff] [blame] | 18 | %tmp34 = load i32, i32* %tmp9 ; <i32> [#uses=1] |
| Lauro Ramos Venancio | be59acb | 2007-06-06 17:10:02 +0000 | [diff] [blame] | 19 | store i32 %tmp34, i32* %retval |
| 20 | br label %return.exitStub |
| 21 | } |
| 22 | |