blob: 3dc8061a52a77d16eb832e8aa279ac937305860e [file] [log] [blame]
Dale Johannesen5ca12462009-11-20 22:16:40 +00001; 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
7define void @xxx(i32 %a, i32 %b, i32 %c, i32 %d) nounwind optsize {
8; CHECK: _xxx:
9; CHECK: or
10; CHECK: and
11; CHECK: rlwimi
12entry:
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
25return:
26 ret void
27; CHECK: blr
Chris Lattnerd2075582010-04-07 22:53:17 +000028}