1*9880d681SAndroid Build Coastguard Worker; REQUIRES: asserts 2*9880d681SAndroid Build Coastguard Worker; RUN: llc < %s -mtriple=arm-apple-darwin -relocation-model=pic \ 3*9880d681SAndroid Build Coastguard Worker; RUN: -mattr=+v6 | grep r9 4*9880d681SAndroid Build Coastguard Worker; RUN: llc < %s -mtriple=arm-apple-darwin -relocation-model=pic \ 5*9880d681SAndroid Build Coastguard Worker; RUN: -mattr=+v6,+reserve-r9 -ifcvt-limit=0 -stats 2>&1 | grep asm-printer 6*9880d681SAndroid Build Coastguard Worker; | grep 35 7*9880d681SAndroid Build Coastguard Worker 8*9880d681SAndroid Build Coastguard Workerdefine 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) { 9*9880d681SAndroid Build Coastguard WorkernewFuncRoot: 10*9880d681SAndroid Build Coastguard Worker br label %bb74 11*9880d681SAndroid Build Coastguard Worker 12*9880d681SAndroid Build Coastguard Workerbb78.exitStub: ; preds = %bb74 13*9880d681SAndroid Build Coastguard Worker store i32 %d2.1, i32* %d2.1.out 14*9880d681SAndroid Build Coastguard Worker store i32 %d3.1, i32* %d3.1.out 15*9880d681SAndroid Build Coastguard Worker store i32 %d0.1, i32* %d0.1.out 16*9880d681SAndroid Build Coastguard Worker store i32 %d1.1, i32* %d1.1.out 17*9880d681SAndroid Build Coastguard Worker ret void 18*9880d681SAndroid Build Coastguard Worker 19*9880d681SAndroid Build Coastguard Workerbb74: ; preds = %bb26, %newFuncRoot 20*9880d681SAndroid Build Coastguard Worker %fp.1.rec = phi i32 [ 0, %newFuncRoot ], [ %tmp71.rec, %bb26 ] ; <i32> [#uses=3] 21*9880d681SAndroid Build Coastguard Worker %fm.1.in = phi i32* [ %tmp71, %bb26 ], [ %tmp1011, %newFuncRoot ] ; <i32*> [#uses=1] 22*9880d681SAndroid Build Coastguard Worker %d0.1 = phi i32 [ %tmp44, %bb26 ], [ 8192, %newFuncRoot ] ; <i32> [#uses=2] 23*9880d681SAndroid Build Coastguard Worker %d1.1 = phi i32 [ %tmp54, %bb26 ], [ 8192, %newFuncRoot ] ; <i32> [#uses=2] 24*9880d681SAndroid Build Coastguard Worker %d2.1 = phi i32 [ %tmp64, %bb26 ], [ 8192, %newFuncRoot ] ; <i32> [#uses=2] 25*9880d681SAndroid Build Coastguard Worker %d3.1 = phi i32 [ %tmp69, %bb26 ], [ 8192, %newFuncRoot ] ; <i32> [#uses=2] 26*9880d681SAndroid Build Coastguard Worker %fm.1 = load i32, i32* %fm.1.in ; <i32> [#uses=4] 27*9880d681SAndroid Build Coastguard Worker icmp eq i32 %fp.1.rec, %tmp8 ; <i1>:0 [#uses=1] 28*9880d681SAndroid Build Coastguard Worker br i1 %0, label %bb78.exitStub, label %bb26 29*9880d681SAndroid Build Coastguard Worker 30*9880d681SAndroid Build Coastguard Workerbb26: ; preds = %bb74 31*9880d681SAndroid Build Coastguard Worker %tmp28 = getelementptr i32*, i32** %tmp1, i32 %fp.1.rec ; <i32**> [#uses=1] 32*9880d681SAndroid Build Coastguard Worker %tmp30 = load i32*, i32** %tmp28 ; <i32*> [#uses=4] 33*9880d681SAndroid Build Coastguard Worker %tmp33 = getelementptr i32, i32* %tmp30, i32 %i.0196.0.ph ; <i32*> [#uses=1] 34*9880d681SAndroid Build Coastguard Worker %tmp34 = load i32, i32* %tmp33 ; <i32> [#uses=1] 35*9880d681SAndroid Build Coastguard Worker %tmp38 = getelementptr i32, i32* %tmp30, i32 %tmp36224 ; <i32*> [#uses=1] 36*9880d681SAndroid Build Coastguard Worker %tmp39 = load i32, i32* %tmp38 ; <i32> [#uses=1] 37*9880d681SAndroid Build Coastguard Worker %tmp42 = mul i32 %tmp34, %fm.1 ; <i32> [#uses=1] 38*9880d681SAndroid Build Coastguard Worker %tmp44 = add i32 %tmp42, %d0.1 ; <i32> [#uses=1] 39*9880d681SAndroid Build Coastguard Worker %tmp48 = getelementptr i32, i32* %tmp30, i32 %tmp46223 ; <i32*> [#uses=1] 40*9880d681SAndroid Build Coastguard Worker %tmp49 = load i32, i32* %tmp48 ; <i32> [#uses=1] 41*9880d681SAndroid Build Coastguard Worker %tmp52 = mul i32 %tmp39, %fm.1 ; <i32> [#uses=1] 42*9880d681SAndroid Build Coastguard Worker %tmp54 = add i32 %tmp52, %d1.1 ; <i32> [#uses=1] 43*9880d681SAndroid Build Coastguard Worker %tmp58 = getelementptr i32, i32* %tmp30, i32 %tmp56222 ; <i32*> [#uses=1] 44*9880d681SAndroid Build Coastguard Worker %tmp59 = load i32, i32* %tmp58 ; <i32> [#uses=1] 45*9880d681SAndroid Build Coastguard Worker %tmp62 = mul i32 %tmp49, %fm.1 ; <i32> [#uses=1] 46*9880d681SAndroid Build Coastguard Worker %tmp64 = add i32 %tmp62, %d2.1 ; <i32> [#uses=1] 47*9880d681SAndroid Build Coastguard Worker %tmp67 = mul i32 %tmp59, %fm.1 ; <i32> [#uses=1] 48*9880d681SAndroid Build Coastguard Worker %tmp69 = add i32 %tmp67, %d3.1 ; <i32> [#uses=1] 49*9880d681SAndroid Build Coastguard Worker %tmp71.rec = add i32 %fp.1.rec, 1 ; <i32> [#uses=2] 50*9880d681SAndroid Build Coastguard Worker %tmp71 = getelementptr i32, i32* %tmp1011, i32 %tmp71.rec ; <i32*> [#uses=1] 51*9880d681SAndroid Build Coastguard Worker br label %bb74 52*9880d681SAndroid Build Coastguard Worker} 53