1*9880d681SAndroid Build Coastguard Worker; REQUIRES: asserts 2*9880d681SAndroid Build Coastguard Worker; RUN: llc < %s -march=x86-64 -mcpu=core2 -pre-RA-sched=source -enable-misched -stats 2>&1 | FileCheck %s 3*9880d681SAndroid Build Coastguard Worker; 4*9880d681SAndroid Build Coastguard Worker; Verify that register pressure heuristics are working in MachineScheduler. 5*9880d681SAndroid Build Coastguard Worker; 6*9880d681SAndroid Build Coastguard Worker; We can further reduce spills in this case with a global register 7*9880d681SAndroid Build Coastguard Worker; pressure heuristic, like sethi-ullman numbers or biasing toward 8*9880d681SAndroid Build Coastguard Worker; scheduled subtrees. However, these heuristics are marginally 9*9880d681SAndroid Build Coastguard Worker; beneficial on x86_64 and exacerbate register pressure in other 10*9880d681SAndroid Build Coastguard Worker; more complex cases. 11*9880d681SAndroid Build Coastguard Worker; 12*9880d681SAndroid Build Coastguard Worker; CHECK: @wrap_mul4 13*9880d681SAndroid Build Coastguard Worker; CHECK: 23 regalloc - Number of spills inserted 14*9880d681SAndroid Build Coastguard Worker 15*9880d681SAndroid Build Coastguard Workerdefine void @wrap_mul4(double* nocapture %Out, [4 x double]* nocapture %A, [4 x double]* nocapture %B) #0 { 16*9880d681SAndroid Build Coastguard Workerentry: 17*9880d681SAndroid Build Coastguard Worker %arrayidx1.i = getelementptr inbounds [4 x double], [4 x double]* %A, i64 0, i64 0 18*9880d681SAndroid Build Coastguard Worker %0 = load double, double* %arrayidx1.i, align 8 19*9880d681SAndroid Build Coastguard Worker %arrayidx3.i = getelementptr inbounds [4 x double], [4 x double]* %B, i64 0, i64 0 20*9880d681SAndroid Build Coastguard Worker %1 = load double, double* %arrayidx3.i, align 8 21*9880d681SAndroid Build Coastguard Worker %mul.i = fmul double %0, %1 22*9880d681SAndroid Build Coastguard Worker %arrayidx5.i = getelementptr inbounds [4 x double], [4 x double]* %A, i64 0, i64 1 23*9880d681SAndroid Build Coastguard Worker %2 = load double, double* %arrayidx5.i, align 8 24*9880d681SAndroid Build Coastguard Worker %arrayidx7.i = getelementptr inbounds [4 x double], [4 x double]* %B, i64 1, i64 0 25*9880d681SAndroid Build Coastguard Worker %3 = load double, double* %arrayidx7.i, align 8 26*9880d681SAndroid Build Coastguard Worker %mul8.i = fmul double %2, %3 27*9880d681SAndroid Build Coastguard Worker %add.i = fadd double %mul.i, %mul8.i 28*9880d681SAndroid Build Coastguard Worker %arrayidx10.i = getelementptr inbounds [4 x double], [4 x double]* %A, i64 0, i64 2 29*9880d681SAndroid Build Coastguard Worker %4 = load double, double* %arrayidx10.i, align 8 30*9880d681SAndroid Build Coastguard Worker %arrayidx12.i = getelementptr inbounds [4 x double], [4 x double]* %B, i64 2, i64 0 31*9880d681SAndroid Build Coastguard Worker %5 = load double, double* %arrayidx12.i, align 8 32*9880d681SAndroid Build Coastguard Worker %mul13.i = fmul double %4, %5 33*9880d681SAndroid Build Coastguard Worker %add14.i = fadd double %add.i, %mul13.i 34*9880d681SAndroid Build Coastguard Worker %arrayidx16.i = getelementptr inbounds [4 x double], [4 x double]* %A, i64 0, i64 3 35*9880d681SAndroid Build Coastguard Worker %6 = load double, double* %arrayidx16.i, align 8 36*9880d681SAndroid Build Coastguard Worker %arrayidx18.i = getelementptr inbounds [4 x double], [4 x double]* %B, i64 3, i64 0 37*9880d681SAndroid Build Coastguard Worker %7 = load double, double* %arrayidx18.i, align 8 38*9880d681SAndroid Build Coastguard Worker %mul19.i = fmul double %6, %7 39*9880d681SAndroid Build Coastguard Worker %add20.i = fadd double %add14.i, %mul19.i 40*9880d681SAndroid Build Coastguard Worker %arrayidx25.i = getelementptr inbounds [4 x double], [4 x double]* %B, i64 0, i64 1 41*9880d681SAndroid Build Coastguard Worker %8 = load double, double* %arrayidx25.i, align 8 42*9880d681SAndroid Build Coastguard Worker %mul26.i = fmul double %0, %8 43*9880d681SAndroid Build Coastguard Worker %arrayidx30.i = getelementptr inbounds [4 x double], [4 x double]* %B, i64 1, i64 1 44*9880d681SAndroid Build Coastguard Worker %9 = load double, double* %arrayidx30.i, align 8 45*9880d681SAndroid Build Coastguard Worker %mul31.i = fmul double %2, %9 46*9880d681SAndroid Build Coastguard Worker %add32.i = fadd double %mul26.i, %mul31.i 47*9880d681SAndroid Build Coastguard Worker %arrayidx36.i = getelementptr inbounds [4 x double], [4 x double]* %B, i64 2, i64 1 48*9880d681SAndroid Build Coastguard Worker %10 = load double, double* %arrayidx36.i, align 8 49*9880d681SAndroid Build Coastguard Worker %mul37.i = fmul double %4, %10 50*9880d681SAndroid Build Coastguard Worker %add38.i = fadd double %add32.i, %mul37.i 51*9880d681SAndroid Build Coastguard Worker %arrayidx42.i = getelementptr inbounds [4 x double], [4 x double]* %B, i64 3, i64 1 52*9880d681SAndroid Build Coastguard Worker %11 = load double, double* %arrayidx42.i, align 8 53*9880d681SAndroid Build Coastguard Worker %mul43.i = fmul double %6, %11 54*9880d681SAndroid Build Coastguard Worker %add44.i = fadd double %add38.i, %mul43.i 55*9880d681SAndroid Build Coastguard Worker %arrayidx49.i = getelementptr inbounds [4 x double], [4 x double]* %B, i64 0, i64 2 56*9880d681SAndroid Build Coastguard Worker %12 = load double, double* %arrayidx49.i, align 8 57*9880d681SAndroid Build Coastguard Worker %mul50.i = fmul double %0, %12 58*9880d681SAndroid Build Coastguard Worker %arrayidx54.i = getelementptr inbounds [4 x double], [4 x double]* %B, i64 1, i64 2 59*9880d681SAndroid Build Coastguard Worker %13 = load double, double* %arrayidx54.i, align 8 60*9880d681SAndroid Build Coastguard Worker %mul55.i = fmul double %2, %13 61*9880d681SAndroid Build Coastguard Worker %add56.i = fadd double %mul50.i, %mul55.i 62*9880d681SAndroid Build Coastguard Worker %arrayidx60.i = getelementptr inbounds [4 x double], [4 x double]* %B, i64 2, i64 2 63*9880d681SAndroid Build Coastguard Worker %14 = load double, double* %arrayidx60.i, align 8 64*9880d681SAndroid Build Coastguard Worker %mul61.i = fmul double %4, %14 65*9880d681SAndroid Build Coastguard Worker %add62.i = fadd double %add56.i, %mul61.i 66*9880d681SAndroid Build Coastguard Worker %arrayidx66.i = getelementptr inbounds [4 x double], [4 x double]* %B, i64 3, i64 2 67*9880d681SAndroid Build Coastguard Worker %15 = load double, double* %arrayidx66.i, align 8 68*9880d681SAndroid Build Coastguard Worker %mul67.i = fmul double %6, %15 69*9880d681SAndroid Build Coastguard Worker %add68.i = fadd double %add62.i, %mul67.i 70*9880d681SAndroid Build Coastguard Worker %arrayidx73.i = getelementptr inbounds [4 x double], [4 x double]* %B, i64 0, i64 3 71*9880d681SAndroid Build Coastguard Worker %16 = load double, double* %arrayidx73.i, align 8 72*9880d681SAndroid Build Coastguard Worker %mul74.i = fmul double %0, %16 73*9880d681SAndroid Build Coastguard Worker %arrayidx78.i = getelementptr inbounds [4 x double], [4 x double]* %B, i64 1, i64 3 74*9880d681SAndroid Build Coastguard Worker %17 = load double, double* %arrayidx78.i, align 8 75*9880d681SAndroid Build Coastguard Worker %mul79.i = fmul double %2, %17 76*9880d681SAndroid Build Coastguard Worker %add80.i = fadd double %mul74.i, %mul79.i 77*9880d681SAndroid Build Coastguard Worker %arrayidx84.i = getelementptr inbounds [4 x double], [4 x double]* %B, i64 2, i64 3 78*9880d681SAndroid Build Coastguard Worker %18 = load double, double* %arrayidx84.i, align 8 79*9880d681SAndroid Build Coastguard Worker %mul85.i = fmul double %4, %18 80*9880d681SAndroid Build Coastguard Worker %add86.i = fadd double %add80.i, %mul85.i 81*9880d681SAndroid Build Coastguard Worker %arrayidx90.i = getelementptr inbounds [4 x double], [4 x double]* %B, i64 3, i64 3 82*9880d681SAndroid Build Coastguard Worker %19 = load double, double* %arrayidx90.i, align 8 83*9880d681SAndroid Build Coastguard Worker %mul91.i = fmul double %6, %19 84*9880d681SAndroid Build Coastguard Worker %add92.i = fadd double %add86.i, %mul91.i 85*9880d681SAndroid Build Coastguard Worker %arrayidx95.i = getelementptr inbounds [4 x double], [4 x double]* %A, i64 1, i64 0 86*9880d681SAndroid Build Coastguard Worker %20 = load double, double* %arrayidx95.i, align 8 87*9880d681SAndroid Build Coastguard Worker %mul98.i = fmul double %1, %20 88*9880d681SAndroid Build Coastguard Worker %arrayidx100.i = getelementptr inbounds [4 x double], [4 x double]* %A, i64 1, i64 1 89*9880d681SAndroid Build Coastguard Worker %21 = load double, double* %arrayidx100.i, align 8 90*9880d681SAndroid Build Coastguard Worker %mul103.i = fmul double %3, %21 91*9880d681SAndroid Build Coastguard Worker %add104.i = fadd double %mul98.i, %mul103.i 92*9880d681SAndroid Build Coastguard Worker %arrayidx106.i = getelementptr inbounds [4 x double], [4 x double]* %A, i64 1, i64 2 93*9880d681SAndroid Build Coastguard Worker %22 = load double, double* %arrayidx106.i, align 8 94*9880d681SAndroid Build Coastguard Worker %mul109.i = fmul double %5, %22 95*9880d681SAndroid Build Coastguard Worker %add110.i = fadd double %add104.i, %mul109.i 96*9880d681SAndroid Build Coastguard Worker %arrayidx112.i = getelementptr inbounds [4 x double], [4 x double]* %A, i64 1, i64 3 97*9880d681SAndroid Build Coastguard Worker %23 = load double, double* %arrayidx112.i, align 8 98*9880d681SAndroid Build Coastguard Worker %mul115.i = fmul double %7, %23 99*9880d681SAndroid Build Coastguard Worker %add116.i = fadd double %add110.i, %mul115.i 100*9880d681SAndroid Build Coastguard Worker %mul122.i = fmul double %8, %20 101*9880d681SAndroid Build Coastguard Worker %mul127.i = fmul double %9, %21 102*9880d681SAndroid Build Coastguard Worker %add128.i = fadd double %mul122.i, %mul127.i 103*9880d681SAndroid Build Coastguard Worker %mul133.i = fmul double %10, %22 104*9880d681SAndroid Build Coastguard Worker %add134.i = fadd double %add128.i, %mul133.i 105*9880d681SAndroid Build Coastguard Worker %mul139.i = fmul double %11, %23 106*9880d681SAndroid Build Coastguard Worker %add140.i = fadd double %add134.i, %mul139.i 107*9880d681SAndroid Build Coastguard Worker %mul146.i = fmul double %12, %20 108*9880d681SAndroid Build Coastguard Worker %mul151.i = fmul double %13, %21 109*9880d681SAndroid Build Coastguard Worker %add152.i = fadd double %mul146.i, %mul151.i 110*9880d681SAndroid Build Coastguard Worker %mul157.i = fmul double %14, %22 111*9880d681SAndroid Build Coastguard Worker %add158.i = fadd double %add152.i, %mul157.i 112*9880d681SAndroid Build Coastguard Worker %mul163.i = fmul double %15, %23 113*9880d681SAndroid Build Coastguard Worker %add164.i = fadd double %add158.i, %mul163.i 114*9880d681SAndroid Build Coastguard Worker %mul170.i = fmul double %16, %20 115*9880d681SAndroid Build Coastguard Worker %mul175.i = fmul double %17, %21 116*9880d681SAndroid Build Coastguard Worker %add176.i = fadd double %mul170.i, %mul175.i 117*9880d681SAndroid Build Coastguard Worker %mul181.i = fmul double %18, %22 118*9880d681SAndroid Build Coastguard Worker %add182.i = fadd double %add176.i, %mul181.i 119*9880d681SAndroid Build Coastguard Worker %mul187.i = fmul double %19, %23 120*9880d681SAndroid Build Coastguard Worker %add188.i = fadd double %add182.i, %mul187.i 121*9880d681SAndroid Build Coastguard Worker %arrayidx191.i = getelementptr inbounds [4 x double], [4 x double]* %A, i64 2, i64 0 122*9880d681SAndroid Build Coastguard Worker %24 = load double, double* %arrayidx191.i, align 8 123*9880d681SAndroid Build Coastguard Worker %mul194.i = fmul double %1, %24 124*9880d681SAndroid Build Coastguard Worker %arrayidx196.i = getelementptr inbounds [4 x double], [4 x double]* %A, i64 2, i64 1 125*9880d681SAndroid Build Coastguard Worker %25 = load double, double* %arrayidx196.i, align 8 126*9880d681SAndroid Build Coastguard Worker %mul199.i = fmul double %3, %25 127*9880d681SAndroid Build Coastguard Worker %add200.i = fadd double %mul194.i, %mul199.i 128*9880d681SAndroid Build Coastguard Worker %arrayidx202.i = getelementptr inbounds [4 x double], [4 x double]* %A, i64 2, i64 2 129*9880d681SAndroid Build Coastguard Worker %26 = load double, double* %arrayidx202.i, align 8 130*9880d681SAndroid Build Coastguard Worker %mul205.i = fmul double %5, %26 131*9880d681SAndroid Build Coastguard Worker %add206.i = fadd double %add200.i, %mul205.i 132*9880d681SAndroid Build Coastguard Worker %arrayidx208.i = getelementptr inbounds [4 x double], [4 x double]* %A, i64 2, i64 3 133*9880d681SAndroid Build Coastguard Worker %27 = load double, double* %arrayidx208.i, align 8 134*9880d681SAndroid Build Coastguard Worker %mul211.i = fmul double %7, %27 135*9880d681SAndroid Build Coastguard Worker %add212.i = fadd double %add206.i, %mul211.i 136*9880d681SAndroid Build Coastguard Worker %mul218.i = fmul double %8, %24 137*9880d681SAndroid Build Coastguard Worker %mul223.i = fmul double %9, %25 138*9880d681SAndroid Build Coastguard Worker %add224.i = fadd double %mul218.i, %mul223.i 139*9880d681SAndroid Build Coastguard Worker %mul229.i = fmul double %10, %26 140*9880d681SAndroid Build Coastguard Worker %add230.i = fadd double %add224.i, %mul229.i 141*9880d681SAndroid Build Coastguard Worker %mul235.i = fmul double %11, %27 142*9880d681SAndroid Build Coastguard Worker %add236.i = fadd double %add230.i, %mul235.i 143*9880d681SAndroid Build Coastguard Worker %mul242.i = fmul double %12, %24 144*9880d681SAndroid Build Coastguard Worker %mul247.i = fmul double %13, %25 145*9880d681SAndroid Build Coastguard Worker %add248.i = fadd double %mul242.i, %mul247.i 146*9880d681SAndroid Build Coastguard Worker %mul253.i = fmul double %14, %26 147*9880d681SAndroid Build Coastguard Worker %add254.i = fadd double %add248.i, %mul253.i 148*9880d681SAndroid Build Coastguard Worker %mul259.i = fmul double %15, %27 149*9880d681SAndroid Build Coastguard Worker %add260.i = fadd double %add254.i, %mul259.i 150*9880d681SAndroid Build Coastguard Worker %mul266.i = fmul double %16, %24 151*9880d681SAndroid Build Coastguard Worker %mul271.i = fmul double %17, %25 152*9880d681SAndroid Build Coastguard Worker %add272.i = fadd double %mul266.i, %mul271.i 153*9880d681SAndroid Build Coastguard Worker %mul277.i = fmul double %18, %26 154*9880d681SAndroid Build Coastguard Worker %add278.i = fadd double %add272.i, %mul277.i 155*9880d681SAndroid Build Coastguard Worker %mul283.i = fmul double %19, %27 156*9880d681SAndroid Build Coastguard Worker %add284.i = fadd double %add278.i, %mul283.i 157*9880d681SAndroid Build Coastguard Worker %arrayidx287.i = getelementptr inbounds [4 x double], [4 x double]* %A, i64 3, i64 0 158*9880d681SAndroid Build Coastguard Worker %28 = load double, double* %arrayidx287.i, align 8 159*9880d681SAndroid Build Coastguard Worker %mul290.i = fmul double %1, %28 160*9880d681SAndroid Build Coastguard Worker %arrayidx292.i = getelementptr inbounds [4 x double], [4 x double]* %A, i64 3, i64 1 161*9880d681SAndroid Build Coastguard Worker %29 = load double, double* %arrayidx292.i, align 8 162*9880d681SAndroid Build Coastguard Worker %mul295.i = fmul double %3, %29 163*9880d681SAndroid Build Coastguard Worker %add296.i = fadd double %mul290.i, %mul295.i 164*9880d681SAndroid Build Coastguard Worker %arrayidx298.i = getelementptr inbounds [4 x double], [4 x double]* %A, i64 3, i64 2 165*9880d681SAndroid Build Coastguard Worker %30 = load double, double* %arrayidx298.i, align 8 166*9880d681SAndroid Build Coastguard Worker %mul301.i = fmul double %5, %30 167*9880d681SAndroid Build Coastguard Worker %add302.i = fadd double %add296.i, %mul301.i 168*9880d681SAndroid Build Coastguard Worker %arrayidx304.i = getelementptr inbounds [4 x double], [4 x double]* %A, i64 3, i64 3 169*9880d681SAndroid Build Coastguard Worker %31 = load double, double* %arrayidx304.i, align 8 170*9880d681SAndroid Build Coastguard Worker %mul307.i = fmul double %7, %31 171*9880d681SAndroid Build Coastguard Worker %add308.i = fadd double %add302.i, %mul307.i 172*9880d681SAndroid Build Coastguard Worker %mul314.i = fmul double %8, %28 173*9880d681SAndroid Build Coastguard Worker %mul319.i = fmul double %9, %29 174*9880d681SAndroid Build Coastguard Worker %add320.i = fadd double %mul314.i, %mul319.i 175*9880d681SAndroid Build Coastguard Worker %mul325.i = fmul double %10, %30 176*9880d681SAndroid Build Coastguard Worker %add326.i = fadd double %add320.i, %mul325.i 177*9880d681SAndroid Build Coastguard Worker %mul331.i = fmul double %11, %31 178*9880d681SAndroid Build Coastguard Worker %add332.i = fadd double %add326.i, %mul331.i 179*9880d681SAndroid Build Coastguard Worker %mul338.i = fmul double %12, %28 180*9880d681SAndroid Build Coastguard Worker %mul343.i = fmul double %13, %29 181*9880d681SAndroid Build Coastguard Worker %add344.i = fadd double %mul338.i, %mul343.i 182*9880d681SAndroid Build Coastguard Worker %mul349.i = fmul double %14, %30 183*9880d681SAndroid Build Coastguard Worker %add350.i = fadd double %add344.i, %mul349.i 184*9880d681SAndroid Build Coastguard Worker %mul355.i = fmul double %15, %31 185*9880d681SAndroid Build Coastguard Worker %add356.i = fadd double %add350.i, %mul355.i 186*9880d681SAndroid Build Coastguard Worker %mul362.i = fmul double %16, %28 187*9880d681SAndroid Build Coastguard Worker %mul367.i = fmul double %17, %29 188*9880d681SAndroid Build Coastguard Worker %add368.i = fadd double %mul362.i, %mul367.i 189*9880d681SAndroid Build Coastguard Worker %mul373.i = fmul double %18, %30 190*9880d681SAndroid Build Coastguard Worker %add374.i = fadd double %add368.i, %mul373.i 191*9880d681SAndroid Build Coastguard Worker %mul379.i = fmul double %19, %31 192*9880d681SAndroid Build Coastguard Worker %add380.i = fadd double %add374.i, %mul379.i 193*9880d681SAndroid Build Coastguard Worker store double %add20.i, double* %Out, align 8 194*9880d681SAndroid Build Coastguard Worker %Res.i.sroa.1.8.idx2 = getelementptr inbounds double, double* %Out, i64 1 195*9880d681SAndroid Build Coastguard Worker store double %add44.i, double* %Res.i.sroa.1.8.idx2, align 8 196*9880d681SAndroid Build Coastguard Worker %Res.i.sroa.2.16.idx4 = getelementptr inbounds double, double* %Out, i64 2 197*9880d681SAndroid Build Coastguard Worker store double %add68.i, double* %Res.i.sroa.2.16.idx4, align 8 198*9880d681SAndroid Build Coastguard Worker %Res.i.sroa.3.24.idx6 = getelementptr inbounds double, double* %Out, i64 3 199*9880d681SAndroid Build Coastguard Worker store double %add92.i, double* %Res.i.sroa.3.24.idx6, align 8 200*9880d681SAndroid Build Coastguard Worker %Res.i.sroa.4.32.idx8 = getelementptr inbounds double, double* %Out, i64 4 201*9880d681SAndroid Build Coastguard Worker store double %add116.i, double* %Res.i.sroa.4.32.idx8, align 8 202*9880d681SAndroid Build Coastguard Worker %Res.i.sroa.5.40.idx10 = getelementptr inbounds double, double* %Out, i64 5 203*9880d681SAndroid Build Coastguard Worker store double %add140.i, double* %Res.i.sroa.5.40.idx10, align 8 204*9880d681SAndroid Build Coastguard Worker %Res.i.sroa.6.48.idx12 = getelementptr inbounds double, double* %Out, i64 6 205*9880d681SAndroid Build Coastguard Worker store double %add164.i, double* %Res.i.sroa.6.48.idx12, align 8 206*9880d681SAndroid Build Coastguard Worker %Res.i.sroa.7.56.idx14 = getelementptr inbounds double, double* %Out, i64 7 207*9880d681SAndroid Build Coastguard Worker store double %add188.i, double* %Res.i.sroa.7.56.idx14, align 8 208*9880d681SAndroid Build Coastguard Worker %Res.i.sroa.8.64.idx16 = getelementptr inbounds double, double* %Out, i64 8 209*9880d681SAndroid Build Coastguard Worker store double %add212.i, double* %Res.i.sroa.8.64.idx16, align 8 210*9880d681SAndroid Build Coastguard Worker %Res.i.sroa.9.72.idx18 = getelementptr inbounds double, double* %Out, i64 9 211*9880d681SAndroid Build Coastguard Worker store double %add236.i, double* %Res.i.sroa.9.72.idx18, align 8 212*9880d681SAndroid Build Coastguard Worker %Res.i.sroa.10.80.idx20 = getelementptr inbounds double, double* %Out, i64 10 213*9880d681SAndroid Build Coastguard Worker store double %add260.i, double* %Res.i.sroa.10.80.idx20, align 8 214*9880d681SAndroid Build Coastguard Worker %Res.i.sroa.11.88.idx22 = getelementptr inbounds double, double* %Out, i64 11 215*9880d681SAndroid Build Coastguard Worker store double %add284.i, double* %Res.i.sroa.11.88.idx22, align 8 216*9880d681SAndroid Build Coastguard Worker %Res.i.sroa.12.96.idx24 = getelementptr inbounds double, double* %Out, i64 12 217*9880d681SAndroid Build Coastguard Worker store double %add308.i, double* %Res.i.sroa.12.96.idx24, align 8 218*9880d681SAndroid Build Coastguard Worker %Res.i.sroa.13.104.idx26 = getelementptr inbounds double, double* %Out, i64 13 219*9880d681SAndroid Build Coastguard Worker store double %add332.i, double* %Res.i.sroa.13.104.idx26, align 8 220*9880d681SAndroid Build Coastguard Worker %Res.i.sroa.14.112.idx28 = getelementptr inbounds double, double* %Out, i64 14 221*9880d681SAndroid Build Coastguard Worker store double %add356.i, double* %Res.i.sroa.14.112.idx28, align 8 222*9880d681SAndroid Build Coastguard Worker %Res.i.sroa.15.120.idx30 = getelementptr inbounds double, double* %Out, i64 15 223*9880d681SAndroid Build Coastguard Worker store double %add380.i, double* %Res.i.sroa.15.120.idx30, align 8 224*9880d681SAndroid Build Coastguard Worker ret void 225*9880d681SAndroid Build Coastguard Worker} 226*9880d681SAndroid Build Coastguard Worker 227*9880d681SAndroid Build Coastguard Workerattributes #0 = { noinline nounwind ssp uwtable "less-precise-fpmad"="false" "no-frame-pointer-elim"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "unsafe-fp-math"="false" "use-soft-float"="false" } 228