Dan Gohman | fce288f | 2009-09-09 00:09:15 +0000 | [diff] [blame] | 1 | ; RUN: llc < %s -mtriple=arm-apple-darwin -relocation-model=pic \ |
Bob Wilson | 54fc124 | 2009-06-22 21:01:46 +0000 | [diff] [blame] | 2 | ; RUN: -mattr=+v6 | grep r9 |
Dan Gohman | fce288f | 2009-09-09 00:09:15 +0000 | [diff] [blame] | 3 | ; RUN: llc < %s -mtriple=arm-apple-darwin -relocation-model=pic \ |
Bob Wilson | 54fc124 | 2009-06-22 21:01:46 +0000 | [diff] [blame] | 4 | ; RUN: -mattr=+v6 -arm-reserve-r9 -ifcvt-limit=0 -stats |& grep asm-printer |
| 5 | ; | grep 35 |
Evan Cheng | 507e639 | 2007-03-13 23:31:47 +0000 | [diff] [blame] | 6 | |
| 7 | define void @test(i32 %tmp56222, i32 %tmp36224, i32 %tmp46223, i32 %i.0196.0.ph, i32 %tmp8, i32* %tmp1011, i32** %tmp1, i32* %d2.1.out, i32* %d3.1.out, i32* %d0.1.out, i32* %d1.1.out) { |
| 8 | newFuncRoot: |
| 9 | br label %bb74 |
| 10 | |
| 11 | bb78.exitStub: ; preds = %bb74 |
| 12 | store i32 %d2.1, i32* %d2.1.out |
| 13 | store i32 %d3.1, i32* %d3.1.out |
| 14 | store i32 %d0.1, i32* %d0.1.out |
| 15 | store i32 %d1.1, i32* %d1.1.out |
| 16 | ret void |
| 17 | |
| 18 | bb74: ; preds = %bb26, %newFuncRoot |
| 19 | %fp.1.rec = phi i32 [ 0, %newFuncRoot ], [ %tmp71.rec, %bb26 ] ; <i32> [#uses=3] |
| 20 | %fm.1.in = phi i32* [ %tmp71, %bb26 ], [ %tmp1011, %newFuncRoot ] ; <i32*> [#uses=1] |
| 21 | %d0.1 = phi i32 [ %tmp44, %bb26 ], [ 8192, %newFuncRoot ] ; <i32> [#uses=2] |
| 22 | %d1.1 = phi i32 [ %tmp54, %bb26 ], [ 8192, %newFuncRoot ] ; <i32> [#uses=2] |
| 23 | %d2.1 = phi i32 [ %tmp64, %bb26 ], [ 8192, %newFuncRoot ] ; <i32> [#uses=2] |
| 24 | %d3.1 = phi i32 [ %tmp69, %bb26 ], [ 8192, %newFuncRoot ] ; <i32> [#uses=2] |
| 25 | %fm.1 = load i32* %fm.1.in ; <i32> [#uses=4] |
| 26 | icmp eq i32 %fp.1.rec, %tmp8 ; <i1>:0 [#uses=1] |
| 27 | br i1 %0, label %bb78.exitStub, label %bb26 |
| 28 | |
| 29 | bb26: ; preds = %bb74 |
| 30 | %tmp28 = getelementptr i32** %tmp1, i32 %fp.1.rec ; <i32**> [#uses=1] |
| 31 | %tmp30 = load i32** %tmp28 ; <i32*> [#uses=4] |
| 32 | %tmp33 = getelementptr i32* %tmp30, i32 %i.0196.0.ph ; <i32*> [#uses=1] |
| 33 | %tmp34 = load i32* %tmp33 ; <i32> [#uses=1] |
| 34 | %tmp38 = getelementptr i32* %tmp30, i32 %tmp36224 ; <i32*> [#uses=1] |
| 35 | %tmp39 = load i32* %tmp38 ; <i32> [#uses=1] |
| 36 | %tmp42 = mul i32 %tmp34, %fm.1 ; <i32> [#uses=1] |
| 37 | %tmp44 = add i32 %tmp42, %d0.1 ; <i32> [#uses=1] |
| 38 | %tmp48 = getelementptr i32* %tmp30, i32 %tmp46223 ; <i32*> [#uses=1] |
| 39 | %tmp49 = load i32* %tmp48 ; <i32> [#uses=1] |
| 40 | %tmp52 = mul i32 %tmp39, %fm.1 ; <i32> [#uses=1] |
| 41 | %tmp54 = add i32 %tmp52, %d1.1 ; <i32> [#uses=1] |
| 42 | %tmp58 = getelementptr i32* %tmp30, i32 %tmp56222 ; <i32*> [#uses=1] |
| 43 | %tmp59 = load i32* %tmp58 ; <i32> [#uses=1] |
| 44 | %tmp62 = mul i32 %tmp49, %fm.1 ; <i32> [#uses=1] |
| 45 | %tmp64 = add i32 %tmp62, %d2.1 ; <i32> [#uses=1] |
| 46 | %tmp67 = mul i32 %tmp59, %fm.1 ; <i32> [#uses=1] |
| 47 | %tmp69 = add i32 %tmp67, %d3.1 ; <i32> [#uses=1] |
| 48 | %tmp71.rec = add i32 %fp.1.rec, 1 ; <i32> [#uses=2] |
| 49 | %tmp71 = getelementptr i32* %tmp1011, i32 %tmp71.rec ; <i32*> [#uses=1] |
| 50 | br label %bb74 |
| 51 | } |