1*9880d681SAndroid Build Coastguard Worker; Test the saving and restoring of FPRs in large frames. 2*9880d681SAndroid Build Coastguard Worker; 3*9880d681SAndroid Build Coastguard Worker; RUN: llc < %s -mtriple=s390x-linux-gnu -mcpu=z10 | FileCheck -check-prefix=CHECK-NOFP %s 4*9880d681SAndroid Build Coastguard Worker; RUN: llc < %s -mtriple=s390x-linux-gnu -mcpu=z10 -disable-fp-elim | FileCheck -check-prefix=CHECK-FP %s 5*9880d681SAndroid Build Coastguard Worker 6*9880d681SAndroid Build Coastguard Worker; Test a frame size that requires some FPRs to be saved and loaded using 7*9880d681SAndroid Build Coastguard Worker; the 20-bit STDY and LDY while others can use the 12-bit STD and LD. 8*9880d681SAndroid Build Coastguard Worker; The frame is big enough to require two emergency spill slots at 160(%r15), 9*9880d681SAndroid Build Coastguard Worker; as well as the 8 FPR save slots. Get a frame of size 4128 by allocating 10*9880d681SAndroid Build Coastguard Worker; (4128 - 176 - 8 * 8) / 8 = 486 extra doublewords. 11*9880d681SAndroid Build Coastguard Workerdefine void @f1(double *%ptr, i64 %x) { 12*9880d681SAndroid Build Coastguard Worker; CHECK-NOFP-LABEL: f1: 13*9880d681SAndroid Build Coastguard Worker; CHECK-NOFP: aghi %r15, -4128 14*9880d681SAndroid Build Coastguard Worker; CHECK-NOFP: .cfi_def_cfa_offset 4288 15*9880d681SAndroid Build Coastguard Worker; CHECK-NOFP: stdy %f8, 4120(%r15) 16*9880d681SAndroid Build Coastguard Worker; CHECK-NOFP: stdy %f9, 4112(%r15) 17*9880d681SAndroid Build Coastguard Worker; CHECK-NOFP: stdy %f10, 4104(%r15) 18*9880d681SAndroid Build Coastguard Worker; CHECK-NOFP: stdy %f11, 4096(%r15) 19*9880d681SAndroid Build Coastguard Worker; CHECK-NOFP: std %f12, 4088(%r15) 20*9880d681SAndroid Build Coastguard Worker; CHECK-NOFP: std %f13, 4080(%r15) 21*9880d681SAndroid Build Coastguard Worker; CHECK-NOFP: std %f14, 4072(%r15) 22*9880d681SAndroid Build Coastguard Worker; CHECK-NOFP: std %f15, 4064(%r15) 23*9880d681SAndroid Build Coastguard Worker; CHECK-NOFP: .cfi_offset %f8, -168 24*9880d681SAndroid Build Coastguard Worker; CHECK-NOFP: .cfi_offset %f9, -176 25*9880d681SAndroid Build Coastguard Worker; CHECK-NOFP: .cfi_offset %f10, -184 26*9880d681SAndroid Build Coastguard Worker; CHECK-NOFP: .cfi_offset %f11, -192 27*9880d681SAndroid Build Coastguard Worker; CHECK-NOFP: .cfi_offset %f12, -200 28*9880d681SAndroid Build Coastguard Worker; CHECK-NOFP: .cfi_offset %f13, -208 29*9880d681SAndroid Build Coastguard Worker; CHECK-NOFP: .cfi_offset %f14, -216 30*9880d681SAndroid Build Coastguard Worker; CHECK-NOFP: .cfi_offset %f15, -224 31*9880d681SAndroid Build Coastguard Worker; ...main function body... 32*9880d681SAndroid Build Coastguard Worker; CHECK-NOFP: ldy %f8, 4120(%r15) 33*9880d681SAndroid Build Coastguard Worker; CHECK-NOFP: ldy %f9, 4112(%r15) 34*9880d681SAndroid Build Coastguard Worker; CHECK-NOFP: ldy %f10, 4104(%r15) 35*9880d681SAndroid Build Coastguard Worker; CHECK-NOFP: ldy %f11, 4096(%r15) 36*9880d681SAndroid Build Coastguard Worker; CHECK-NOFP: ld %f12, 4088(%r15) 37*9880d681SAndroid Build Coastguard Worker; CHECK-NOFP: ld %f13, 4080(%r15) 38*9880d681SAndroid Build Coastguard Worker; CHECK-NOFP: ld %f14, 4072(%r15) 39*9880d681SAndroid Build Coastguard Worker; CHECK-NOFP: ld %f15, 4064(%r15) 40*9880d681SAndroid Build Coastguard Worker; CHECK-NOFP: aghi %r15, 4128 41*9880d681SAndroid Build Coastguard Worker; CHECK-NOFP: br %r14 42*9880d681SAndroid Build Coastguard Worker; 43*9880d681SAndroid Build Coastguard Worker; CHECK-FP-LABEL: f1: 44*9880d681SAndroid Build Coastguard Worker; CHECK-FP: stmg %r11, %r15, 88(%r15) 45*9880d681SAndroid Build Coastguard Worker; CHECK-FP: aghi %r15, -4128 46*9880d681SAndroid Build Coastguard Worker; CHECK-FP: .cfi_def_cfa_offset 4288 47*9880d681SAndroid Build Coastguard Worker; CHECK-FP: lgr %r11, %r15 48*9880d681SAndroid Build Coastguard Worker; CHECK-FP: .cfi_def_cfa_register %r11 49*9880d681SAndroid Build Coastguard Worker; CHECK-FP: stdy %f8, 4120(%r11) 50*9880d681SAndroid Build Coastguard Worker; CHECK-FP: stdy %f9, 4112(%r11) 51*9880d681SAndroid Build Coastguard Worker; CHECK-FP: stdy %f10, 4104(%r11) 52*9880d681SAndroid Build Coastguard Worker; CHECK-FP: stdy %f11, 4096(%r11) 53*9880d681SAndroid Build Coastguard Worker; CHECK-FP: std %f12, 4088(%r11) 54*9880d681SAndroid Build Coastguard Worker; CHECK-FP: std %f13, 4080(%r11) 55*9880d681SAndroid Build Coastguard Worker; CHECK-FP: std %f14, 4072(%r11) 56*9880d681SAndroid Build Coastguard Worker; CHECK-FP: std %f15, 4064(%r11) 57*9880d681SAndroid Build Coastguard Worker; ...main function body... 58*9880d681SAndroid Build Coastguard Worker; CHECK-FP: ldy %f8, 4120(%r11) 59*9880d681SAndroid Build Coastguard Worker; CHECK-FP: ldy %f9, 4112(%r11) 60*9880d681SAndroid Build Coastguard Worker; CHECK-FP: ldy %f10, 4104(%r11) 61*9880d681SAndroid Build Coastguard Worker; CHECK-FP: ldy %f11, 4096(%r11) 62*9880d681SAndroid Build Coastguard Worker; CHECK-FP: ld %f12, 4088(%r11) 63*9880d681SAndroid Build Coastguard Worker; CHECK-FP: ld %f13, 4080(%r11) 64*9880d681SAndroid Build Coastguard Worker; CHECK-FP: ld %f14, 4072(%r11) 65*9880d681SAndroid Build Coastguard Worker; CHECK-FP: ld %f15, 4064(%r11) 66*9880d681SAndroid Build Coastguard Worker; CHECK-FP: lmg %r11, %r15, 4216(%r11) 67*9880d681SAndroid Build Coastguard Worker; CHECK-FP: br %r14 68*9880d681SAndroid Build Coastguard Worker %y = alloca [486 x i64], align 8 69*9880d681SAndroid Build Coastguard Worker %elem = getelementptr inbounds [486 x i64], [486 x i64]* %y, i64 0, i64 0 70*9880d681SAndroid Build Coastguard Worker store volatile i64 %x, i64* %elem 71*9880d681SAndroid Build Coastguard Worker %l0 = load volatile double , double *%ptr 72*9880d681SAndroid Build Coastguard Worker %l1 = load volatile double , double *%ptr 73*9880d681SAndroid Build Coastguard Worker %l2 = load volatile double , double *%ptr 74*9880d681SAndroid Build Coastguard Worker %l3 = load volatile double , double *%ptr 75*9880d681SAndroid Build Coastguard Worker %l4 = load volatile double , double *%ptr 76*9880d681SAndroid Build Coastguard Worker %l5 = load volatile double , double *%ptr 77*9880d681SAndroid Build Coastguard Worker %l6 = load volatile double , double *%ptr 78*9880d681SAndroid Build Coastguard Worker %l7 = load volatile double , double *%ptr 79*9880d681SAndroid Build Coastguard Worker %l8 = load volatile double , double *%ptr 80*9880d681SAndroid Build Coastguard Worker %l9 = load volatile double , double *%ptr 81*9880d681SAndroid Build Coastguard Worker %l10 = load volatile double , double *%ptr 82*9880d681SAndroid Build Coastguard Worker %l11 = load volatile double , double *%ptr 83*9880d681SAndroid Build Coastguard Worker %l12 = load volatile double , double *%ptr 84*9880d681SAndroid Build Coastguard Worker %l13 = load volatile double , double *%ptr 85*9880d681SAndroid Build Coastguard Worker %l14 = load volatile double , double *%ptr 86*9880d681SAndroid Build Coastguard Worker %l15 = load volatile double , double *%ptr 87*9880d681SAndroid Build Coastguard Worker %add0 = fadd double %l0, %l0 88*9880d681SAndroid Build Coastguard Worker %add1 = fadd double %l1, %add0 89*9880d681SAndroid Build Coastguard Worker %add2 = fadd double %l2, %add1 90*9880d681SAndroid Build Coastguard Worker %add3 = fadd double %l3, %add2 91*9880d681SAndroid Build Coastguard Worker %add4 = fadd double %l4, %add3 92*9880d681SAndroid Build Coastguard Worker %add5 = fadd double %l5, %add4 93*9880d681SAndroid Build Coastguard Worker %add6 = fadd double %l6, %add5 94*9880d681SAndroid Build Coastguard Worker %add7 = fadd double %l7, %add6 95*9880d681SAndroid Build Coastguard Worker %add8 = fadd double %l8, %add7 96*9880d681SAndroid Build Coastguard Worker %add9 = fadd double %l9, %add8 97*9880d681SAndroid Build Coastguard Worker %add10 = fadd double %l10, %add9 98*9880d681SAndroid Build Coastguard Worker %add11 = fadd double %l11, %add10 99*9880d681SAndroid Build Coastguard Worker %add12 = fadd double %l12, %add11 100*9880d681SAndroid Build Coastguard Worker %add13 = fadd double %l13, %add12 101*9880d681SAndroid Build Coastguard Worker %add14 = fadd double %l14, %add13 102*9880d681SAndroid Build Coastguard Worker %add15 = fadd double %l15, %add14 103*9880d681SAndroid Build Coastguard Worker store volatile double %add0, double *%ptr 104*9880d681SAndroid Build Coastguard Worker store volatile double %add1, double *%ptr 105*9880d681SAndroid Build Coastguard Worker store volatile double %add2, double *%ptr 106*9880d681SAndroid Build Coastguard Worker store volatile double %add3, double *%ptr 107*9880d681SAndroid Build Coastguard Worker store volatile double %add4, double *%ptr 108*9880d681SAndroid Build Coastguard Worker store volatile double %add5, double *%ptr 109*9880d681SAndroid Build Coastguard Worker store volatile double %add6, double *%ptr 110*9880d681SAndroid Build Coastguard Worker store volatile double %add7, double *%ptr 111*9880d681SAndroid Build Coastguard Worker store volatile double %add8, double *%ptr 112*9880d681SAndroid Build Coastguard Worker store volatile double %add9, double *%ptr 113*9880d681SAndroid Build Coastguard Worker store volatile double %add10, double *%ptr 114*9880d681SAndroid Build Coastguard Worker store volatile double %add11, double *%ptr 115*9880d681SAndroid Build Coastguard Worker store volatile double %add12, double *%ptr 116*9880d681SAndroid Build Coastguard Worker store volatile double %add13, double *%ptr 117*9880d681SAndroid Build Coastguard Worker store volatile double %add14, double *%ptr 118*9880d681SAndroid Build Coastguard Worker store volatile double %add15, double *%ptr 119*9880d681SAndroid Build Coastguard Worker ret void 120*9880d681SAndroid Build Coastguard Worker} 121*9880d681SAndroid Build Coastguard Worker 122*9880d681SAndroid Build Coastguard Worker; Test a frame size that requires some FPRs to be saved and loaded using 123*9880d681SAndroid Build Coastguard Worker; an indexed STD and LD while others can use the 20-bit STDY and LDY. 124*9880d681SAndroid Build Coastguard Worker; The index can be any call-clobbered GPR except %r0. 125*9880d681SAndroid Build Coastguard Worker; 126*9880d681SAndroid Build Coastguard Worker; Don't require the accesses to share the same LLILH; that would be a 127*9880d681SAndroid Build Coastguard Worker; good optimisation but is really a different test. 128*9880d681SAndroid Build Coastguard Worker; 129*9880d681SAndroid Build Coastguard Worker; As above, get a frame of size 524320 by allocating 130*9880d681SAndroid Build Coastguard Worker; (524320 - 176 - 8 * 8) / 8 = 65510 extra doublewords. 131*9880d681SAndroid Build Coastguard Workerdefine void @f2(double *%ptr, i64 %x) { 132*9880d681SAndroid Build Coastguard Worker; CHECK-NOFP-LABEL: f2: 133*9880d681SAndroid Build Coastguard Worker; CHECK-NOFP: agfi %r15, -524320 134*9880d681SAndroid Build Coastguard Worker; CHECK-NOFP: .cfi_def_cfa_offset 524480 135*9880d681SAndroid Build Coastguard Worker; CHECK-NOFP: llilh [[INDEX:%r[1-5]]], 8 136*9880d681SAndroid Build Coastguard Worker; CHECK-NOFP: std %f8, 24([[INDEX]],%r15) 137*9880d681SAndroid Build Coastguard Worker; CHECK-NOFP: std %f9, 16({{%r[1-5]}},%r15) 138*9880d681SAndroid Build Coastguard Worker; CHECK-NOFP: std %f10, 8({{%r[1-5]}},%r15) 139*9880d681SAndroid Build Coastguard Worker; CHECK-NOFP: std %f11, 0({{%r[1-5]}},%r15) 140*9880d681SAndroid Build Coastguard Worker; CHECK-NOFP: stdy %f12, 524280(%r15) 141*9880d681SAndroid Build Coastguard Worker; CHECK-NOFP: stdy %f13, 524272(%r15) 142*9880d681SAndroid Build Coastguard Worker; CHECK-NOFP: stdy %f14, 524264(%r15) 143*9880d681SAndroid Build Coastguard Worker; CHECK-NOFP: stdy %f15, 524256(%r15) 144*9880d681SAndroid Build Coastguard Worker; CHECK-NOFP: .cfi_offset %f8, -168 145*9880d681SAndroid Build Coastguard Worker; CHECK-NOFP: .cfi_offset %f9, -176 146*9880d681SAndroid Build Coastguard Worker; CHECK-NOFP: .cfi_offset %f10, -184 147*9880d681SAndroid Build Coastguard Worker; CHECK-NOFP: .cfi_offset %f11, -192 148*9880d681SAndroid Build Coastguard Worker; CHECK-NOFP: .cfi_offset %f12, -200 149*9880d681SAndroid Build Coastguard Worker; CHECK-NOFP: .cfi_offset %f13, -208 150*9880d681SAndroid Build Coastguard Worker; CHECK-NOFP: .cfi_offset %f14, -216 151*9880d681SAndroid Build Coastguard Worker; CHECK-NOFP: .cfi_offset %f15, -224 152*9880d681SAndroid Build Coastguard Worker; ...main function body... 153*9880d681SAndroid Build Coastguard Worker; CHECK-NOFP: ld %f8, 24({{%r[1-5]}},%r15) 154*9880d681SAndroid Build Coastguard Worker; CHECK-NOFP: ld %f9, 16({{%r[1-5]}},%r15) 155*9880d681SAndroid Build Coastguard Worker; CHECK-NOFP: ld %f10, 8({{%r[1-5]}},%r15) 156*9880d681SAndroid Build Coastguard Worker; CHECK-NOFP: ld %f11, 0({{%r[1-5]}},%r15) 157*9880d681SAndroid Build Coastguard Worker; CHECK-NOFP: ldy %f12, 524280(%r15) 158*9880d681SAndroid Build Coastguard Worker; CHECK-NOFP: ldy %f13, 524272(%r15) 159*9880d681SAndroid Build Coastguard Worker; CHECK-NOFP: ldy %f14, 524264(%r15) 160*9880d681SAndroid Build Coastguard Worker; CHECK-NOFP: ldy %f15, 524256(%r15) 161*9880d681SAndroid Build Coastguard Worker; CHECK-NOFP: agfi %r15, 524320 162*9880d681SAndroid Build Coastguard Worker; CHECK-NOFP: br %r14 163*9880d681SAndroid Build Coastguard Worker; 164*9880d681SAndroid Build Coastguard Worker; CHECK-FP-LABEL: f2: 165*9880d681SAndroid Build Coastguard Worker; CHECK-FP: stmg %r11, %r15, 88(%r15) 166*9880d681SAndroid Build Coastguard Worker; CHECK-FP: agfi %r15, -524320 167*9880d681SAndroid Build Coastguard Worker; CHECK-FP: .cfi_def_cfa_offset 524480 168*9880d681SAndroid Build Coastguard Worker; CHECK-FP: llilh [[INDEX:%r[1-5]]], 8 169*9880d681SAndroid Build Coastguard Worker; CHECK-FP: std %f8, 24([[INDEX]],%r11) 170*9880d681SAndroid Build Coastguard Worker; CHECK-FP: std %f9, 16({{%r[1-5]}},%r11) 171*9880d681SAndroid Build Coastguard Worker; CHECK-FP: std %f10, 8({{%r[1-5]}},%r11) 172*9880d681SAndroid Build Coastguard Worker; CHECK-FP: std %f11, 0({{%r[1-5]}},%r11) 173*9880d681SAndroid Build Coastguard Worker; CHECK-FP: stdy %f12, 524280(%r11) 174*9880d681SAndroid Build Coastguard Worker; CHECK-FP: stdy %f13, 524272(%r11) 175*9880d681SAndroid Build Coastguard Worker; CHECK-FP: stdy %f14, 524264(%r11) 176*9880d681SAndroid Build Coastguard Worker; CHECK-FP: stdy %f15, 524256(%r11) 177*9880d681SAndroid Build Coastguard Worker; CHECK-FP: .cfi_offset %f8, -168 178*9880d681SAndroid Build Coastguard Worker; CHECK-FP: .cfi_offset %f9, -176 179*9880d681SAndroid Build Coastguard Worker; CHECK-FP: .cfi_offset %f10, -184 180*9880d681SAndroid Build Coastguard Worker; CHECK-FP: .cfi_offset %f11, -192 181*9880d681SAndroid Build Coastguard Worker; CHECK-FP: .cfi_offset %f12, -200 182*9880d681SAndroid Build Coastguard Worker; CHECK-FP: .cfi_offset %f13, -208 183*9880d681SAndroid Build Coastguard Worker; CHECK-FP: .cfi_offset %f14, -216 184*9880d681SAndroid Build Coastguard Worker; CHECK-FP: .cfi_offset %f15, -224 185*9880d681SAndroid Build Coastguard Worker; ...main function body... 186*9880d681SAndroid Build Coastguard Worker; CHECK-FP: ld %f8, 24({{%r[1-5]}},%r11) 187*9880d681SAndroid Build Coastguard Worker; CHECK-FP: ld %f9, 16({{%r[1-5]}},%r11) 188*9880d681SAndroid Build Coastguard Worker; CHECK-FP: ld %f10, 8({{%r[1-5]}},%r11) 189*9880d681SAndroid Build Coastguard Worker; CHECK-FP: ld %f11, 0({{%r[1-5]}},%r11) 190*9880d681SAndroid Build Coastguard Worker; CHECK-FP: ldy %f12, 524280(%r11) 191*9880d681SAndroid Build Coastguard Worker; CHECK-FP: ldy %f13, 524272(%r11) 192*9880d681SAndroid Build Coastguard Worker; CHECK-FP: ldy %f14, 524264(%r11) 193*9880d681SAndroid Build Coastguard Worker; CHECK-FP: ldy %f15, 524256(%r11) 194*9880d681SAndroid Build Coastguard Worker; CHECK-FP: aghi %r11, 128 195*9880d681SAndroid Build Coastguard Worker; CHECK-FP: lmg %r11, %r15, 524280(%r11) 196*9880d681SAndroid Build Coastguard Worker; CHECK-FP: br %r14 197*9880d681SAndroid Build Coastguard Worker %y = alloca [65510 x i64], align 8 198*9880d681SAndroid Build Coastguard Worker %elem = getelementptr inbounds [65510 x i64], [65510 x i64]* %y, i64 0, i64 0 199*9880d681SAndroid Build Coastguard Worker store volatile i64 %x, i64* %elem 200*9880d681SAndroid Build Coastguard Worker %l0 = load volatile double , double *%ptr 201*9880d681SAndroid Build Coastguard Worker %l1 = load volatile double , double *%ptr 202*9880d681SAndroid Build Coastguard Worker %l2 = load volatile double , double *%ptr 203*9880d681SAndroid Build Coastguard Worker %l3 = load volatile double , double *%ptr 204*9880d681SAndroid Build Coastguard Worker %l4 = load volatile double , double *%ptr 205*9880d681SAndroid Build Coastguard Worker %l5 = load volatile double , double *%ptr 206*9880d681SAndroid Build Coastguard Worker %l6 = load volatile double , double *%ptr 207*9880d681SAndroid Build Coastguard Worker %l7 = load volatile double , double *%ptr 208*9880d681SAndroid Build Coastguard Worker %l8 = load volatile double , double *%ptr 209*9880d681SAndroid Build Coastguard Worker %l9 = load volatile double , double *%ptr 210*9880d681SAndroid Build Coastguard Worker %l10 = load volatile double , double *%ptr 211*9880d681SAndroid Build Coastguard Worker %l11 = load volatile double , double *%ptr 212*9880d681SAndroid Build Coastguard Worker %l12 = load volatile double , double *%ptr 213*9880d681SAndroid Build Coastguard Worker %l13 = load volatile double , double *%ptr 214*9880d681SAndroid Build Coastguard Worker %l14 = load volatile double , double *%ptr 215*9880d681SAndroid Build Coastguard Worker %l15 = load volatile double , double *%ptr 216*9880d681SAndroid Build Coastguard Worker %add0 = fadd double %l0, %l0 217*9880d681SAndroid Build Coastguard Worker %add1 = fadd double %l1, %add0 218*9880d681SAndroid Build Coastguard Worker %add2 = fadd double %l2, %add1 219*9880d681SAndroid Build Coastguard Worker %add3 = fadd double %l3, %add2 220*9880d681SAndroid Build Coastguard Worker %add4 = fadd double %l4, %add3 221*9880d681SAndroid Build Coastguard Worker %add5 = fadd double %l5, %add4 222*9880d681SAndroid Build Coastguard Worker %add6 = fadd double %l6, %add5 223*9880d681SAndroid Build Coastguard Worker %add7 = fadd double %l7, %add6 224*9880d681SAndroid Build Coastguard Worker %add8 = fadd double %l8, %add7 225*9880d681SAndroid Build Coastguard Worker %add9 = fadd double %l9, %add8 226*9880d681SAndroid Build Coastguard Worker %add10 = fadd double %l10, %add9 227*9880d681SAndroid Build Coastguard Worker %add11 = fadd double %l11, %add10 228*9880d681SAndroid Build Coastguard Worker %add12 = fadd double %l12, %add11 229*9880d681SAndroid Build Coastguard Worker %add13 = fadd double %l13, %add12 230*9880d681SAndroid Build Coastguard Worker %add14 = fadd double %l14, %add13 231*9880d681SAndroid Build Coastguard Worker %add15 = fadd double %l15, %add14 232*9880d681SAndroid Build Coastguard Worker store volatile double %add0, double *%ptr 233*9880d681SAndroid Build Coastguard Worker store volatile double %add1, double *%ptr 234*9880d681SAndroid Build Coastguard Worker store volatile double %add2, double *%ptr 235*9880d681SAndroid Build Coastguard Worker store volatile double %add3, double *%ptr 236*9880d681SAndroid Build Coastguard Worker store volatile double %add4, double *%ptr 237*9880d681SAndroid Build Coastguard Worker store volatile double %add5, double *%ptr 238*9880d681SAndroid Build Coastguard Worker store volatile double %add6, double *%ptr 239*9880d681SAndroid Build Coastguard Worker store volatile double %add7, double *%ptr 240*9880d681SAndroid Build Coastguard Worker store volatile double %add8, double *%ptr 241*9880d681SAndroid Build Coastguard Worker store volatile double %add9, double *%ptr 242*9880d681SAndroid Build Coastguard Worker store volatile double %add10, double *%ptr 243*9880d681SAndroid Build Coastguard Worker store volatile double %add11, double *%ptr 244*9880d681SAndroid Build Coastguard Worker store volatile double %add12, double *%ptr 245*9880d681SAndroid Build Coastguard Worker store volatile double %add13, double *%ptr 246*9880d681SAndroid Build Coastguard Worker store volatile double %add14, double *%ptr 247*9880d681SAndroid Build Coastguard Worker store volatile double %add15, double *%ptr 248*9880d681SAndroid Build Coastguard Worker ret void 249*9880d681SAndroid Build Coastguard Worker} 250