blob: 72ec8efcc4459e871fdc55d1019fdbd5b59ad3d4 [file] [log] [blame]
Bob Wilson13e80bd2009-10-27 05:50:28 +00001; RUN: llc < %s -march=arm | FileCheck %s
Chris Lattnerbaf21992007-04-03 00:13:16 +00002
Dan Gohman04623272009-05-18 15:16:49 +00003define void @test(i32* %P, i32 %A, i32 %i) nounwind {
Chris Lattnerbaf21992007-04-03 00:13:16 +00004entry:
Bob Wilson13e80bd2009-10-27 05:50:28 +00005; CHECK: str r1, [{{r.*}}, -{{r.*}}, lsl #2]
Chris Lattnerbaf21992007-04-03 00:13:16 +00006 icmp eq i32 %i, 0 ; <i1>:0 [#uses=1]
7 br i1 %0, label %return, label %bb
8
9bb: ; preds = %bb, %entry
10 %indvar = phi i32 [ 0, %entry ], [ %indvar.next, %bb ] ; <i32> [#uses=2]
11 %i_addr.09.0 = sub i32 %i, %indvar ; <i32> [#uses=1]
12 %tmp2 = getelementptr i32* %P, i32 %i_addr.09.0 ; <i32*> [#uses=1]
13 store i32 %A, i32* %tmp2
14 %indvar.next = add i32 %indvar, 1 ; <i32> [#uses=2]
15 icmp eq i32 %indvar.next, %i ; <i1>:1 [#uses=1]
16 br i1 %1, label %return, label %bb
17
18return: ; preds = %bb, %entry
19 ret void
20}
21