brintos

brintos / llvm-project-archived public Read only

0
0
Text · 27.9 KiB · 5ed7e2e Raw
718 lines · plain
1; RUN: llc -mtriple=hexagon < %s | FileCheck %s2; This test is no longer connected to HRC.3 4target triple = "hexagon"5 6%s.0 = type { ptr, ptr, ptr, ptr, ptr, i8, i8, i8, i8, i8, i8, i16, i16, i16, i32, i32, i32, i32, i16, i8, i8, i8, i8, float, float, float, float, float, float, float, float, float, float, float, [4 x %s.7], [4 x %s.7], [20 x %s.7], [104 x %s.7], [20 x i32], [257 x %s.8], %s.9 }7%s.1 = type { i16, i8, i16, i8, i8, i8, i8, i8 }8%s.2 = type { i16, i16, i16, i16, i8, i8, i8, i8, i8, i8, i8, i8, i32, i8, i8, [20 x i16], i8, i16 }9%s.3 = type { i8, i8, i8, i8, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i32, i32, i32, [2 x [2 x i32]], %s.4 }10%s.4 = type { %s.5, [976 x i8] }11%s.5 = type { %s.6 }12%s.6 = type { i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64 }13%s.7 = type { i64 }14%s.8 = type { i32, i32 }15%s.9 = type { %s.10, [1960 x i8] }16%s.10 = type { i64, i64, i64, i64, i64, i64, i64, [104 x %s.11], [104 x float] }17%s.11 = type { i64, i64 }18%s.12 = type { float, float }19 20; CHECK: .type   f0,@function21; This allocframe argument value may change, but typically should remain22; in the 250-280 range. This test was introduced to test a change that23; reduced stack usage from around 568 bytes to 280 bytes.24; After r308350 the stack size is ~300.25; CHECK: allocframe(r29,#304):raw26define void @f0(ptr %a0, ptr %a1, ptr %a2) #0 {27b0:28  %v0 = alloca ptr, align 429  %v1 = alloca ptr, align 430  %v2 = alloca ptr, align 431  %v3 = alloca float, align 432  %v4 = alloca float, align 433  %v5 = alloca float, align 434  %v6 = alloca float, align 435  %v7 = alloca float, align 436  %v8 = alloca float, align 437  %v9 = alloca float, align 438  %v10 = alloca float, align 439  %v11 = alloca float, align 440  %v12 = alloca float, align 441  %v13 = alloca double, align 842  %v14 = alloca double, align 843  %v15 = alloca double, align 844  %v16 = alloca double, align 845  %v17 = alloca double, align 846  %v18 = alloca double, align 847  %v19 = alloca double, align 848  %v20 = alloca double, align 849  %v21 = alloca double, align 850  %v22 = alloca double, align 851  %v23 = alloca double, align 852  %v24 = alloca double, align 853  %v25 = alloca double, align 854  %v26 = alloca double, align 855  %v27 = alloca double, align 856  %v28 = alloca double, align 857  %v29 = alloca double, align 858  %v30 = alloca double, align 859  %v31 = alloca double, align 860  %v32 = alloca double, align 861  %v33 = alloca double, align 862  store ptr %a0, ptr %v0, align 463  store ptr %a1, ptr %v1, align 464  store ptr %a2, ptr %v2, align 465  store double 1.000000e+00, ptr %v32, align 866  %v34 = load ptr, ptr %v1, align 467  %v37 = load i64, ptr %v34, align 868  %v38 = sitofp i64 %v37 to double69  %v39 = load double, ptr %v32, align 870  %v40 = fmul double %v38, %v3971  store double %v40, ptr %v13, align 872  %v41 = load ptr, ptr %v1, align 473  %v42 = getelementptr inbounds %s.11, ptr %v41, i32 174  %v44 = load i64, ptr %v42, align 875  %v45 = sitofp i64 %v44 to double76  %v46 = load double, ptr %v32, align 877  %v47 = fmul double %v45, %v4678  store double %v47, ptr %v14, align 879  %v48 = load ptr, ptr %v1, align 480  %v49 = getelementptr inbounds %s.11, ptr %v48, i32 181  %v50 = getelementptr inbounds %s.11, ptr %v49, i32 0, i32 182  %v51 = load i64, ptr %v50, align 883  %v52 = sitofp i64 %v51 to double84  %v53 = load double, ptr %v32, align 885  %v54 = fmul double %v52, %v5386  store double %v54, ptr %v15, align 887  %v55 = load ptr, ptr %v1, align 488  %v56 = getelementptr inbounds %s.11, ptr %v55, i32 289  %v58 = load i64, ptr %v56, align 890  %v59 = sitofp i64 %v58 to double91  %v60 = load double, ptr %v32, align 892  %v61 = fmul double %v59, %v6093  store double %v61, ptr %v16, align 894  %v62 = load ptr, ptr %v1, align 495  %v63 = getelementptr inbounds %s.11, ptr %v62, i32 296  %v64 = getelementptr inbounds %s.11, ptr %v63, i32 0, i32 197  %v65 = load i64, ptr %v64, align 898  %v66 = sitofp i64 %v65 to double99  %v67 = load double, ptr %v32, align 8100  %v68 = fmul double %v66, %v67101  store double %v68, ptr %v17, align 8102  %v69 = load ptr, ptr %v1, align 4103  %v70 = getelementptr inbounds %s.11, ptr %v69, i32 3104  %v72 = load i64, ptr %v70, align 8105  %v73 = sitofp i64 %v72 to double106  %v74 = load double, ptr %v32, align 8107  %v75 = fmul double %v73, %v74108  store double %v75, ptr %v18, align 8109  %v76 = load ptr, ptr %v1, align 4110  %v77 = getelementptr inbounds %s.11, ptr %v76, i32 3111  %v78 = getelementptr inbounds %s.11, ptr %v77, i32 0, i32 1112  %v79 = load i64, ptr %v78, align 8113  %v80 = sitofp i64 %v79 to double114  %v81 = load double, ptr %v32, align 8115  %v82 = fmul double %v80, %v81116  store double %v82, ptr %v19, align 8117  %v83 = load double, ptr %v13, align 8118  %v84 = load double, ptr %v13, align 8119  %v85 = fmul double %v83, %v84120  %v86 = load double, ptr %v14, align 8121  %v87 = load double, ptr %v14, align 8122  %v88 = fmul double %v86, %v87123  %v89 = fsub double %v85, %v88124  %v90 = load double, ptr %v15, align 8125  %v91 = load double, ptr %v15, align 8126  %v92 = fmul double %v90, %v91127  %v93 = fsub double %v89, %v92128  store double %v93, ptr %v20, align 8129  %v94 = load double, ptr %v13, align 8130  %v95 = load double, ptr %v14, align 8131  %v96 = fmul double %v94, %v95132  %v97 = load double, ptr %v16, align 8133  %v98 = load double, ptr %v14, align 8134  %v99 = fmul double %v97, %v98135  %v100 = fsub double %v96, %v99136  %v101 = load double, ptr %v17, align 8137  %v102 = load double, ptr %v15, align 8138  %v103 = fmul double %v101, %v102139  %v104 = fsub double %v100, %v103140  store double %v104, ptr %v21, align 8141  %v105 = load double, ptr %v13, align 8142  %v106 = load double, ptr %v15, align 8143  %v107 = fmul double %v105, %v106144  %v108 = load double, ptr %v16, align 8145  %v109 = load double, ptr %v15, align 8146  %v110 = fmul double %v108, %v109147  %v111 = fadd double %v107, %v110148  %v112 = load double, ptr %v17, align 8149  %v113 = load double, ptr %v14, align 8150  %v114 = fmul double %v112, %v113151  %v115 = fsub double %v111, %v114152  store double %v115, ptr %v22, align 8153  %v116 = load double, ptr %v13, align 8154  %v117 = load double, ptr %v16, align 8155  %v118 = fmul double %v116, %v117156  %v119 = load double, ptr %v18, align 8157  %v120 = load double, ptr %v14, align 8158  %v121 = fmul double %v119, %v120159  %v122 = fsub double %v118, %v121160  %v123 = load double, ptr %v19, align 8161  %v124 = load double, ptr %v15, align 8162  %v125 = fmul double %v123, %v124163  %v126 = fsub double %v122, %v125164  store double %v126, ptr %v23, align 8165  %v127 = load double, ptr %v13, align 8166  %v128 = load double, ptr %v17, align 8167  %v129 = fmul double %v127, %v128168  %v130 = load double, ptr %v18, align 8169  %v131 = load double, ptr %v15, align 8170  %v132 = fmul double %v130, %v131171  %v133 = fadd double %v129, %v132172  %v134 = load double, ptr %v19, align 8173  %v135 = load double, ptr %v14, align 8174  %v136 = fmul double %v134, %v135175  %v137 = fsub double %v133, %v136176  store double %v137, ptr %v24, align 8177  %v138 = load double, ptr %v14, align 8178  %v139 = load double, ptr %v14, align 8179  %v140 = fmul double %v138, %v139180  %v141 = load double, ptr %v15, align 8181  %v142 = load double, ptr %v15, align 8182  %v143 = fmul double %v141, %v142183  %v144 = fsub double %v140, %v143184  %v145 = load double, ptr %v16, align 8185  %v146 = load double, ptr %v13, align 8186  %v147 = fmul double %v145, %v146187  %v148 = fsub double %v144, %v147188  store double %v148, ptr %v25, align 8189  %v149 = load double, ptr %v14, align 8190  %v150 = load double, ptr %v15, align 8191  %v151 = fmul double %v149, %v150192  %v152 = fmul double %v151, 2.000000e+00193  %v153 = load double, ptr %v17, align 8194  %v154 = load double, ptr %v13, align 8195  %v155 = fmul double %v153, %v154196  %v156 = fsub double %v152, %v155197  store double %v156, ptr %v26, align 8198  %v157 = load double, ptr %v14, align 8199  %v158 = load double, ptr %v16, align 8200  %v159 = fmul double %v157, %v158201  %v160 = load double, ptr %v15, align 8202  %v161 = load double, ptr %v17, align 8203  %v162 = fmul double %v160, %v161204  %v163 = fsub double %v159, %v162205  %v164 = load double, ptr %v18, align 8206  %v165 = load double, ptr %v13, align 8207  %v166 = fmul double %v164, %v165208  %v167 = fsub double %v163, %v166209  store double %v167, ptr %v27, align 8210  %v168 = load double, ptr %v14, align 8211  %v169 = load double, ptr %v17, align 8212  %v170 = fmul double %v168, %v169213  %v171 = load double, ptr %v15, align 8214  %v172 = load double, ptr %v16, align 8215  %v173 = fmul double %v171, %v172216  %v174 = fadd double %v170, %v173217  %v175 = load double, ptr %v19, align 8218  %v176 = load double, ptr %v13, align 8219  %v177 = fmul double %v175, %v176220  %v178 = fsub double %v174, %v177221  store double %v178, ptr %v28, align 8222  %v179 = load double, ptr %v16, align 8223  %v180 = load double, ptr %v16, align 8224  %v181 = fmul double %v179, %v180225  %v182 = load double, ptr %v17, align 8226  %v183 = load double, ptr %v17, align 8227  %v184 = fmul double %v182, %v183228  %v185 = fsub double %v181, %v184229  %v186 = load double, ptr %v18, align 8230  %v187 = load double, ptr %v14, align 8231  %v188 = fmul double %v186, %v187232  %v189 = fsub double %v185, %v188233  %v190 = load double, ptr %v19, align 8234  %v191 = load double, ptr %v15, align 8235  %v192 = fmul double %v190, %v191236  %v193 = fadd double %v189, %v192237  store double %v193, ptr %v29, align 8238  %v194 = load double, ptr %v16, align 8239  %v195 = load double, ptr %v17, align 8240  %v196 = fmul double %v194, %v195241  %v197 = fmul double %v196, 2.000000e+00242  %v198 = load double, ptr %v18, align 8243  %v199 = load double, ptr %v15, align 8244  %v200 = fmul double %v198, %v199245  %v201 = fsub double %v197, %v200246  %v202 = load double, ptr %v19, align 8247  %v203 = load double, ptr %v14, align 8248  %v204 = fmul double %v202, %v203249  %v205 = fsub double %v201, %v204250  store double %v205, ptr %v30, align 8251  %v206 = load double, ptr %v20, align 8252  %v207 = load double, ptr %v20, align 8253  %v208 = fmul double %v206, %v207254  %v209 = load double, ptr %v21, align 8255  %v210 = load double, ptr %v21, align 8256  %v211 = fmul double %v209, %v210257  %v212 = fsub double %v208, %v211258  %v213 = load double, ptr %v22, align 8259  %v214 = load double, ptr %v22, align 8260  %v215 = fmul double %v213, %v214261  %v216 = fsub double %v212, %v215262  %v217 = load double, ptr %v23, align 8263  %v218 = load double, ptr %v25, align 8264  %v219 = fmul double %v217, %v218265  %v220 = fmul double %v219, 2.000000e+00266  %v221 = fadd double %v216, %v220267  %v222 = load double, ptr %v24, align 8268  %v223 = load double, ptr %v26, align 8269  %v224 = fmul double %v222, %v223270  %v225 = fmul double %v224, 2.000000e+00271  %v226 = fadd double %v221, %v225272  %v227 = load double, ptr %v27, align 8273  %v228 = load double, ptr %v27, align 8274  %v229 = fmul double %v227, %v228275  %v230 = fsub double %v226, %v229276  %v231 = load double, ptr %v28, align 8277  %v232 = load double, ptr %v28, align 8278  %v233 = fmul double %v231, %v232279  %v234 = fsub double %v230, %v233280  %v235 = load double, ptr %v29, align 8281  %v236 = load double, ptr %v29, align 8282  %v237 = fmul double %v235, %v236283  %v238 = fadd double %v234, %v237284  %v239 = load double, ptr %v30, align 8285  %v240 = load double, ptr %v30, align 8286  %v241 = fmul double %v239, %v240287  %v242 = fadd double %v238, %v241288  store double %v242, ptr %v31, align 8289  %v243 = load double, ptr %v31, align 8290  %v244 = call double @f1(double %v243) #1291  %v245 = load double, ptr %v32, align 8292  %v246 = fcmp olt double %v244, %v245293  br i1 %v246, label %b1, label %b2294 295b1:                                               ; preds = %b0296  %v247 = load ptr, ptr %v0, align 4297  %v248 = getelementptr inbounds %s.0, ptr %v247, i32 0, i32 2298  %v249 = load ptr, ptr %v248, align 4299  store i8 3, ptr %v249, align 1300  br label %b3301 302b2:                                               ; preds = %b0303  %v251 = load double, ptr %v32, align 8304  %v252 = load double, ptr %v31, align 8305  %v253 = fdiv double %v251, %v252306  store double %v253, ptr %v32, align 8307  %v254 = load double, ptr %v13, align 8308  %v255 = load double, ptr %v20, align 8309  %v256 = fmul double %v254, %v255310  %v257 = load double, ptr %v14, align 8311  %v258 = load double, ptr %v21, align 8312  %v259 = fmul double %v257, %v258313  %v260 = fsub double %v256, %v259314  %v261 = load double, ptr %v15, align 8315  %v262 = load double, ptr %v22, align 8316  %v263 = fmul double %v261, %v262317  %v264 = fsub double %v260, %v263318  %v265 = load double, ptr %v16, align 8319  %v266 = load double, ptr %v25, align 8320  %v267 = fmul double %v265, %v266321  %v268 = fadd double %v264, %v267322  %v269 = load double, ptr %v17, align 8323  %v270 = load double, ptr %v26, align 8324  %v271 = fmul double %v269, %v270325  %v272 = fadd double %v268, %v271326  store double %v272, ptr %v33, align 8327  %v273 = load double, ptr %v33, align 8328  %v274 = load double, ptr %v32, align 8329  %v275 = fmul double %v273, %v274330  %v276 = fptrunc double %v275 to float331  store float %v276, ptr %v3, align 4332  %v277 = load double, ptr %v14, align 8333  %v278 = fsub double -0.000000e+00, %v277334  %v279 = load double, ptr %v20, align 8335  %v280 = fmul double %v278, %v279336  %v281 = load double, ptr %v16, align 8337  %v282 = load double, ptr %v21, align 8338  %v283 = fmul double %v281, %v282339  %v284 = fadd double %v280, %v283340  %v285 = load double, ptr %v17, align 8341  %v286 = load double, ptr %v22, align 8342  %v287 = fmul double %v285, %v286343  %v288 = fadd double %v284, %v287344  %v289 = load double, ptr %v18, align 8345  %v290 = load double, ptr %v25, align 8346  %v291 = fmul double %v289, %v290347  %v292 = fsub double %v288, %v291348  %v293 = load double, ptr %v19, align 8349  %v294 = load double, ptr %v26, align 8350  %v295 = fmul double %v293, %v294351  %v296 = fsub double %v292, %v295352  store double %v296, ptr %v33, align 8353  %v297 = load double, ptr %v33, align 8354  %v298 = load double, ptr %v32, align 8355  %v299 = fmul double %v297, %v298356  %v300 = fptrunc double %v299 to float357  store float %v300, ptr %v4, align 4358  %v301 = load double, ptr %v15, align 8359  %v302 = fsub double -0.000000e+00, %v301360  %v303 = load double, ptr %v20, align 8361  %v304 = fmul double %v302, %v303362  %v305 = load double, ptr %v16, align 8363  %v306 = load double, ptr %v22, align 8364  %v307 = fmul double %v305, %v306365  %v308 = fsub double %v304, %v307366  %v309 = load double, ptr %v17, align 8367  %v310 = load double, ptr %v21, align 8368  %v311 = fmul double %v309, %v310369  %v312 = fadd double %v308, %v311370  %v313 = load double, ptr %v18, align 8371  %v314 = load double, ptr %v26, align 8372  %v315 = fmul double %v313, %v314373  %v316 = fadd double %v312, %v315374  %v317 = load double, ptr %v19, align 8375  %v318 = load double, ptr %v25, align 8376  %v319 = fmul double %v317, %v318377  %v320 = fsub double %v316, %v319378  store double %v320, ptr %v33, align 8379  %v321 = load double, ptr %v33, align 8380  %v322 = load double, ptr %v32, align 8381  %v323 = fmul double %v321, %v322382  %v324 = fptrunc double %v323 to float383  store float %v324, ptr %v5, align 4384  %v325 = load double, ptr %v16, align 8385  %v326 = load double, ptr %v29, align 8386  %v327 = fmul double %v325, %v326387  %v328 = load double, ptr %v17, align 8388  %v329 = load double, ptr %v30, align 8389  %v330 = fmul double %v328, %v329390  %v331 = fadd double %v327, %v330391  %v332 = load double, ptr %v14, align 8392  %v333 = load double, ptr %v27, align 8393  %v334 = fmul double %v332, %v333394  %v335 = fsub double %v331, %v334395  %v336 = load double, ptr %v15, align 8396  %v337 = load double, ptr %v28, align 8397  %v338 = fmul double %v336, %v337398  %v339 = fsub double %v335, %v338399  %v340 = load double, ptr %v13, align 8400  %v341 = load double, ptr %v25, align 8401  %v342 = fmul double %v340, %v341402  %v343 = fadd double %v339, %v342403  store double %v343, ptr %v33, align 8404  %v344 = load double, ptr %v33, align 8405  %v345 = load double, ptr %v32, align 8406  %v346 = fmul double %v344, %v345407  %v347 = fptrunc double %v346 to float408  store float %v347, ptr %v6, align 4409  %v348 = load double, ptr %v16, align 8410  %v349 = load double, ptr %v30, align 8411  %v350 = fmul double %v348, %v349412  %v351 = load double, ptr %v17, align 8413  %v352 = load double, ptr %v29, align 8414  %v353 = fmul double %v351, %v352415  %v354 = fsub double %v350, %v353416  %v355 = load double, ptr %v14, align 8417  %v356 = load double, ptr %v28, align 8418  %v357 = fmul double %v355, %v356419  %v358 = fsub double %v354, %v357420  %v359 = load double, ptr %v15, align 8421  %v360 = load double, ptr %v27, align 8422  %v361 = fmul double %v359, %v360423  %v362 = fadd double %v358, %v361424  %v363 = load double, ptr %v13, align 8425  %v364 = load double, ptr %v26, align 8426  %v365 = fmul double %v363, %v364427  %v366 = fadd double %v362, %v365428  store double %v366, ptr %v33, align 8429  %v367 = load double, ptr %v33, align 8430  %v368 = load double, ptr %v32, align 8431  %v369 = fmul double %v367, %v368432  %v370 = fptrunc double %v369 to float433  store float %v370, ptr %v7, align 4434  %v371 = load double, ptr %v14, align 8435  %v372 = fsub double -0.000000e+00, %v371436  %v373 = load double, ptr %v29, align 8437  %v374 = fmul double %v372, %v373438  %v375 = load double, ptr %v15, align 8439  %v376 = load double, ptr %v30, align 8440  %v377 = fmul double %v375, %v376441  %v378 = fsub double %v374, %v377442  %v379 = load double, ptr %v13, align 8443  %v380 = load double, ptr %v27, align 8444  %v381 = fmul double %v379, %v380445  %v382 = fadd double %v378, %v381446  %v383 = load double, ptr %v14, align 8447  %v384 = load double, ptr %v25, align 8448  %v385 = fmul double %v383, %v384449  %v386 = fsub double %v382, %v385450  %v387 = load double, ptr %v15, align 8451  %v388 = load double, ptr %v26, align 8452  %v389 = fmul double %v387, %v388453  %v390 = fadd double %v386, %v389454  store double %v390, ptr %v33, align 8455  %v391 = load double, ptr %v33, align 8456  %v392 = load double, ptr %v32, align 8457  %v393 = fmul double %v391, %v392458  %v394 = fptrunc double %v393 to float459  store float %v394, ptr %v8, align 4460  %v395 = load double, ptr %v14, align 8461  %v396 = fsub double -0.000000e+00, %v395462  %v397 = load double, ptr %v30, align 8463  %v398 = fmul double %v396, %v397464  %v399 = load double, ptr %v15, align 8465  %v400 = load double, ptr %v29, align 8466  %v401 = fmul double %v399, %v400467  %v402 = fadd double %v398, %v401468  %v403 = load double, ptr %v13, align 8469  %v404 = load double, ptr %v28, align 8470  %v405 = fmul double %v403, %v404471  %v406 = fadd double %v402, %v405472  %v407 = load double, ptr %v14, align 8473  %v408 = load double, ptr %v26, align 8474  %v409 = fmul double %v407, %v408475  %v410 = fsub double %v406, %v409476  %v411 = load double, ptr %v15, align 8477  %v412 = load double, ptr %v25, align 8478  %v413 = fmul double %v411, %v412479  %v414 = fsub double %v410, %v413480  store double %v414, ptr %v33, align 8481  %v415 = load double, ptr %v33, align 8482  %v416 = load double, ptr %v32, align 8483  %v417 = fmul double %v415, %v416484  %v418 = fptrunc double %v417 to float485  store float %v418, ptr %v9, align 4486  %v419 = load double, ptr %v13, align 8487  %v420 = load double, ptr %v20, align 8488  %v421 = fmul double %v419, %v420489  %v422 = load double, ptr %v16, align 8490  %v423 = load double, ptr %v23, align 8491  %v424 = fmul double %v422, %v423492  %v425 = fsub double %v421, %v424493  %v426 = load double, ptr %v17, align 8494  %v427 = load double, ptr %v24, align 8495  %v428 = fmul double %v426, %v427496  %v429 = fsub double %v425, %v428497  %v430 = load double, ptr %v18, align 8498  %v431 = load double, ptr %v27, align 8499  %v432 = fmul double %v430, %v431500  %v433 = fadd double %v429, %v432501  %v434 = load double, ptr %v19, align 8502  %v435 = load double, ptr %v28, align 8503  %v436 = fmul double %v434, %v435504  %v437 = fadd double %v433, %v436505  store double %v437, ptr %v33, align 8506  %v438 = load double, ptr %v33, align 8507  %v439 = load double, ptr %v32, align 8508  %v440 = fmul double %v438, %v439509  %v441 = fptrunc double %v440 to float510  store float %v441, ptr %v10, align 4511  %v442 = load double, ptr %v18, align 8512  %v443 = fsub double -0.000000e+00, %v442513  %v444 = load double, ptr %v29, align 8514  %v445 = fmul double %v443, %v444515  %v446 = load double, ptr %v19, align 8516  %v447 = load double, ptr %v30, align 8517  %v448 = fmul double %v446, %v447518  %v449 = fsub double %v445, %v448519  %v450 = load double, ptr %v14, align 8520  %v451 = load double, ptr %v23, align 8521  %v452 = fmul double %v450, %v451522  %v453 = fadd double %v449, %v452523  %v454 = load double, ptr %v15, align 8524  %v455 = load double, ptr %v24, align 8525  %v456 = fmul double %v454, %v455526  %v457 = fadd double %v453, %v456527  %v458 = load double, ptr %v13, align 8528  %v459 = load double, ptr %v21, align 8529  %v460 = fmul double %v458, %v459530  %v461 = fsub double %v457, %v460531  store double %v461, ptr %v33, align 8532  %v462 = load double, ptr %v33, align 8533  %v463 = load double, ptr %v32, align 8534  %v464 = fmul double %v462, %v463535  %v465 = fptrunc double %v464 to float536  store float %v465, ptr %v11, align 4537  %v466 = load double, ptr %v18, align 8538  %v467 = fsub double -0.000000e+00, %v466539  %v468 = load double, ptr %v30, align 8540  %v469 = fmul double %v467, %v468541  %v470 = load double, ptr %v19, align 8542  %v471 = load double, ptr %v29, align 8543  %v472 = fmul double %v470, %v471544  %v473 = fadd double %v469, %v472545  %v474 = load double, ptr %v14, align 8546  %v475 = load double, ptr %v24, align 8547  %v476 = fmul double %v474, %v475548  %v477 = fadd double %v473, %v476549  %v478 = load double, ptr %v15, align 8550  %v479 = load double, ptr %v23, align 8551  %v480 = fmul double %v478, %v479552  %v481 = fsub double %v477, %v480553  %v482 = load double, ptr %v13, align 8554  %v483 = load double, ptr %v22, align 8555  %v484 = fmul double %v482, %v483556  %v485 = fsub double %v481, %v484557  store double %v485, ptr %v33, align 8558  %v486 = load double, ptr %v33, align 8559  %v487 = load double, ptr %v32, align 8560  %v488 = fmul double %v486, %v487561  %v489 = fptrunc double %v488 to float562  store float %v489, ptr %v12, align 4563  %v490 = load float, ptr %v3, align 4564  %v491 = load ptr, ptr %v2, align 4565  store float %v490, ptr %v491, align 4566  %v494 = load ptr, ptr %v2, align 4567  %v496 = getelementptr inbounds %s.12, ptr %v494, i32 0, i32 1568  store float 0.000000e+00, ptr %v496, align 4569  %v497 = load float, ptr %v4, align 4570  %v498 = load ptr, ptr %v2, align 4571  %v499 = getelementptr inbounds %s.12, ptr %v498, i32 1572  store float %v497, ptr %v499, align 4573  %v501 = load float, ptr %v5, align 4574  %v502 = load ptr, ptr %v2, align 4575  %v503 = getelementptr inbounds %s.12, ptr %v502, i32 1576  %v504 = getelementptr inbounds %s.12, ptr %v503, i32 0, i32 1577  store float %v501, ptr %v504, align 4578  %v505 = load float, ptr %v6, align 4579  %v506 = load ptr, ptr %v2, align 4580  %v507 = getelementptr inbounds %s.12, ptr %v506, i32 2581  store float %v505, ptr %v507, align 4582  %v509 = load float, ptr %v7, align 4583  %v510 = load ptr, ptr %v2, align 4584  %v511 = getelementptr inbounds %s.12, ptr %v510, i32 2585  %v512 = getelementptr inbounds %s.12, ptr %v511, i32 0, i32 1586  store float %v509, ptr %v512, align 4587  %v513 = load float, ptr %v8, align 4588  %v514 = load ptr, ptr %v2, align 4589  %v515 = getelementptr inbounds %s.12, ptr %v514, i32 3590  store float %v513, ptr %v515, align 4591  %v517 = load float, ptr %v9, align 4592  %v518 = load ptr, ptr %v2, align 4593  %v519 = getelementptr inbounds %s.12, ptr %v518, i32 3594  %v520 = getelementptr inbounds %s.12, ptr %v519, i32 0, i32 1595  store float %v517, ptr %v520, align 4596  %v521 = load float, ptr %v4, align 4597  %v522 = load ptr, ptr %v2, align 4598  %v523 = getelementptr inbounds %s.12, ptr %v522, i32 4599  store float %v521, ptr %v523, align 4600  %v525 = load float, ptr %v5, align 4601  %v526 = fsub float -0.000000e+00, %v525602  %v527 = load ptr, ptr %v2, align 4603  %v528 = getelementptr inbounds %s.12, ptr %v527, i32 4604  %v529 = getelementptr inbounds %s.12, ptr %v528, i32 0, i32 1605  store float %v526, ptr %v529, align 4606  %v530 = load float, ptr %v10, align 4607  %v531 = load ptr, ptr %v2, align 4608  %v532 = getelementptr inbounds %s.12, ptr %v531, i32 5609  store float %v530, ptr %v532, align 4610  %v534 = load ptr, ptr %v2, align 4611  %v535 = getelementptr inbounds %s.12, ptr %v534, i32 5612  %v536 = getelementptr inbounds %s.12, ptr %v535, i32 0, i32 1613  store float 0.000000e+00, ptr %v536, align 4614  %v537 = load float, ptr %v11, align 4615  %v538 = load ptr, ptr %v2, align 4616  %v539 = getelementptr inbounds %s.12, ptr %v538, i32 6617  store float %v537, ptr %v539, align 4618  %v541 = load float, ptr %v12, align 4619  %v542 = load ptr, ptr %v2, align 4620  %v543 = getelementptr inbounds %s.12, ptr %v542, i32 6621  %v544 = getelementptr inbounds %s.12, ptr %v543, i32 0, i32 1622  store float %v541, ptr %v544, align 4623  %v545 = load float, ptr %v6, align 4624  %v546 = load ptr, ptr %v2, align 4625  %v547 = getelementptr inbounds %s.12, ptr %v546, i32 7626  store float %v545, ptr %v547, align 4627  %v549 = load float, ptr %v7, align 4628  %v550 = load ptr, ptr %v2, align 4629  %v551 = getelementptr inbounds %s.12, ptr %v550, i32 7630  %v552 = getelementptr inbounds %s.12, ptr %v551, i32 0, i32 1631  store float %v549, ptr %v552, align 4632  %v553 = load float, ptr %v6, align 4633  %v554 = load ptr, ptr %v2, align 4634  %v555 = getelementptr inbounds %s.12, ptr %v554, i32 8635  store float %v553, ptr %v555, align 4636  %v557 = load float, ptr %v7, align 4637  %v558 = fsub float -0.000000e+00, %v557638  %v559 = load ptr, ptr %v2, align 4639  %v560 = getelementptr inbounds %s.12, ptr %v559, i32 8640  %v561 = getelementptr inbounds %s.12, ptr %v560, i32 0, i32 1641  store float %v558, ptr %v561, align 4642  %v562 = load float, ptr %v11, align 4643  %v563 = load ptr, ptr %v2, align 4644  %v564 = getelementptr inbounds %s.12, ptr %v563, i32 9645  store float %v562, ptr %v564, align 4646  %v566 = load float, ptr %v12, align 4647  %v567 = fsub float -0.000000e+00, %v566648  %v568 = load ptr, ptr %v2, align 4649  %v569 = getelementptr inbounds %s.12, ptr %v568, i32 9650  %v570 = getelementptr inbounds %s.12, ptr %v569, i32 0, i32 1651  store float %v567, ptr %v570, align 4652  %v571 = load float, ptr %v10, align 4653  %v572 = load ptr, ptr %v2, align 4654  %v573 = getelementptr inbounds %s.12, ptr %v572, i32 10655  store float %v571, ptr %v573, align 4656  %v575 = load ptr, ptr %v2, align 4657  %v576 = getelementptr inbounds %s.12, ptr %v575, i32 10658  %v577 = getelementptr inbounds %s.12, ptr %v576, i32 0, i32 1659  store float 0.000000e+00, ptr %v577, align 4660  %v578 = load float, ptr %v4, align 4661  %v579 = load ptr, ptr %v2, align 4662  %v580 = getelementptr inbounds %s.12, ptr %v579, i32 11663  store float %v578, ptr %v580, align 4664  %v582 = load float, ptr %v5, align 4665  %v583 = load ptr, ptr %v2, align 4666  %v584 = getelementptr inbounds %s.12, ptr %v583, i32 11667  %v585 = getelementptr inbounds %s.12, ptr %v584, i32 0, i32 1668  store float %v582, ptr %v585, align 4669  %v586 = load float, ptr %v8, align 4670  %v587 = load ptr, ptr %v2, align 4671  %v588 = getelementptr inbounds %s.12, ptr %v587, i32 12672  store float %v586, ptr %v588, align 4673  %v590 = load float, ptr %v9, align 4674  %v591 = fsub float -0.000000e+00, %v590675  %v592 = load ptr, ptr %v2, align 4676  %v593 = getelementptr inbounds %s.12, ptr %v592, i32 12677  %v594 = getelementptr inbounds %s.12, ptr %v593, i32 0, i32 1678  store float %v591, ptr %v594, align 4679  %v595 = load float, ptr %v6, align 4680  %v596 = load ptr, ptr %v2, align 4681  %v597 = getelementptr inbounds %s.12, ptr %v596, i32 13682  store float %v595, ptr %v597, align 4683  %v599 = load float, ptr %v7, align 4684  %v600 = fsub float -0.000000e+00, %v599685  %v601 = load ptr, ptr %v2, align 4686  %v602 = getelementptr inbounds %s.12, ptr %v601, i32 13687  %v603 = getelementptr inbounds %s.12, ptr %v602, i32 0, i32 1688  store float %v600, ptr %v603, align 4689  %v604 = load float, ptr %v4, align 4690  %v605 = load ptr, ptr %v2, align 4691  %v606 = getelementptr inbounds %s.12, ptr %v605, i32 14692  store float %v604, ptr %v606, align 4693  %v608 = load float, ptr %v5, align 4694  %v609 = fsub float -0.000000e+00, %v608695  %v610 = load ptr, ptr %v2, align 4696  %v611 = getelementptr inbounds %s.12, ptr %v610, i32 14697  %v612 = getelementptr inbounds %s.12, ptr %v611, i32 0, i32 1698  store float %v609, ptr %v612, align 4699  %v613 = load float, ptr %v3, align 4700  %v614 = load ptr, ptr %v2, align 4701  %v615 = getelementptr inbounds %s.12, ptr %v614, i32 15702  store float %v613, ptr %v615, align 4703  %v617 = load ptr, ptr %v2, align 4704  %v618 = getelementptr inbounds %s.12, ptr %v617, i32 15705  %v619 = getelementptr inbounds %s.12, ptr %v618, i32 0, i32 1706  store float 0.000000e+00, ptr %v619, align 4707  br label %b3708 709b3:                                               ; preds = %b2, %b1710  ret void711}712 713; Function Attrs: nounwind readnone714declare double @f1(double) #1715 716attributes #0 = { nounwind "target-cpu"="hexagonv55" }717attributes #1 = { nounwind readnone }718