36 lines · plain
1; RUN: llc < %s -mtriple=thumbv7-apple-ios -arm-atomic-cfg-tidy=0 | FileCheck %s2 3;CHECK-LABEL: foo:4;CHECK: movs r0, #05;CHECK-NEXT: bx lr6 7; Note: This test case originally checked, per r167963, for:8; adds9; adc10; bx11; But SDAG now, like InstCombine, can fold everything away.12;rdar://1202849813 14define i32 @foo() nounwind ssp {15entry:16 %tmp2 = zext i32 3 to i6417 br label %bug_block18 19bug_block:20 %tmp410 = and i64 1031, 164701021 %tmp411 = and i64 %tmp2, -21122 %tmp412 = shl i64 %tmp410, %tmp223 %tmp413 = shl i64 %tmp411, %tmp224 %tmp415 = and i64 %tmp413, 125 %tmp420 = xor i64 0, %tmp41526 %tmp421 = and i64 %tmp412, %tmp41527 %tmp422 = shl i64 %tmp421, 128 br label %finish29 30finish:31 %tmp423 = lshr i64 %tmp422, 3232 %tmp424 = trunc i64 %tmp423 to i3233 ret i32 %tmp42434}35 36