1 ; RUN: llc < %s -march=ppc32 -mtriple=powerpc-apple-darwin | FileCheck %s 2 ; Formerly dropped the RHS of %tmp6 when constructing rlwimi. 3 ; 7346117 4 5 @foo = external global i32 6 7 define void @xxx(i32 %a, i32 %b, i32 %c, i32 %d) nounwind optsize { 8 ; CHECK: _xxx: 9 ; CHECK: or 10 ; CHECK: and 11 ; CHECK: rlwimi 12 entry: 13 %tmp0 = ashr i32 %d, 31 14 %tmp1 = and i32 %tmp0, 255 15 %tmp2 = xor i32 %tmp1, 255 16 %tmp3 = ashr i32 %b, 31 17 %tmp4 = ashr i32 %a, 4 18 %tmp5 = or i32 %tmp3, %tmp4 19 %tmp6 = and i32 %tmp2, %tmp5 20 %tmp7 = shl i32 %c, 8 21 %tmp8 = or i32 %tmp6, %tmp7 22 store i32 %tmp8, i32* @foo, align 4 23 br label %return 24 25 return: 26 ret void 27 ; CHECK: blr 28 } 29