brintos

brintos / llvm-project-archived public Read only

0
0
Text · 18.7 KiB · 60c8d95 Raw
332 lines · plain
1; RUN: llc -mtriple=hexagon -O3 < %s2; REQUIRES: asserts3 4; This used to assert in the register scavenger.5 6target triple = "hexagon-unknown-linux-gnu"7 8%0 = type { %1 }9%1 = type { %2 }10%2 = type { [4 x [4 x double]] }11%3 = type { [3 x double] }12%4 = type { %5, %0, %0, ptr, %3, %3 }13%5 = type { ptr }14%6 = type { %3, %3 }15 16declare void @f0(ptr sret(%3), ptr, ptr)17 18; Function Attrs: nounwind19define void @f1(ptr %a0, ptr nocapture %a1, ptr nocapture %a2) #0 align 2 {20b0:21  %v0 = alloca %6, align 822  %v1 = alloca [2 x [2 x [2 x %3]]], align 823  %v2 = alloca %3, align 824  %v3 = getelementptr inbounds %4, ptr %a0, i32 0, i32 125  call void @llvm.memcpy.p0.p0.i32(ptr align 8 %v3, ptr align 8 %a1, i32 128, i1 false)26  %v6 = getelementptr inbounds %4, ptr %a0, i32 0, i32 227  call void @llvm.memcpy.p0.p0.i32(ptr align 8 %v6, ptr align 8 %a2, i32 128, i1 false)28  call void @llvm.memset.p0.i64(ptr align 8 %v0, i8 0, i64 48, i1 false)29  %v10 = getelementptr inbounds %4, ptr %a0, i32 0, i32 330  %v11 = load ptr, ptr %v10, align 4, !tbaa !031  %v13 = load ptr, ptr %v11, align 4, !tbaa !432  %v14 = getelementptr inbounds ptr, ptr %v13, i32 333  %v15 = load ptr, ptr %v14, align 434  %v16 = call i32 %v15(ptr %v11, double 0.000000e+00, double 0.000000e+00, ptr %v0)35  %v17 = icmp eq i32 %v16, 036  br i1 %v17, label %b1, label %b337 38b1:                                               ; preds = %b039  %v18 = getelementptr inbounds %4, ptr %a0, i32 0, i32 4, i32 0, i32 040  store double -1.000000e+06, ptr %v18, align 8, !tbaa !641  %v19 = getelementptr inbounds %4, ptr %a0, i32 0, i32 4, i32 0, i32 142  store double -1.000000e+06, ptr %v19, align 8, !tbaa !643  %v20 = getelementptr inbounds %4, ptr %a0, i32 0, i32 4, i32 0, i32 244  store double -1.000000e+06, ptr %v20, align 8, !tbaa !645  %v21 = getelementptr inbounds %4, ptr %a0, i32 0, i32 5, i32 0, i32 046  store double 1.000000e+06, ptr %v21, align 8, !tbaa !647  %v22 = getelementptr inbounds %4, ptr %a0, i32 0, i32 5, i32 0, i32 148  store double 1.000000e+06, ptr %v22, align 8, !tbaa !649  %v23 = getelementptr inbounds %4, ptr %a0, i32 0, i32 5, i32 0, i32 250  store double 1.000000e+06, ptr %v23, align 8, !tbaa !651  br label %b252 53b2:                                               ; preds = %b3, %b154  ret void55 56b3:                                               ; preds = %b057  %v26 = getelementptr inbounds [2 x [2 x [2 x %3]]], ptr %v1, i32 0, i32 0, i32 0, i32 258  call void @llvm.memset.p0.i64(ptr align 8 %v1, i8 0, i64 48, i1 false)59  call void @llvm.memset.p0.i64(ptr align 8 %v26, i8 0, i64 24, i1 false)60  %v29 = getelementptr inbounds [2 x [2 x [2 x %3]]], ptr %v1, i32 0, i32 0, i32 0, i32 361  call void @llvm.memset.p0.i64(ptr align 8 %v29, i8 0, i64 24, i1 false)62  %v31 = getelementptr inbounds [2 x [2 x [2 x %3]]], ptr %v1, i32 0, i32 0, i32 0, i32 463  call void @llvm.memset.p0.i64(ptr align 8 %v31, i8 0, i64 24, i1 false)64  %v33 = getelementptr inbounds [2 x [2 x [2 x %3]]], ptr %v1, i32 0, i32 0, i32 0, i32 565  call void @llvm.memset.p0.i64(ptr align 8 %v33, i8 0, i64 24, i1 false)66  %v35 = getelementptr inbounds [2 x [2 x [2 x %3]]], ptr %v1, i32 0, i32 0, i32 0, i32 667  call void @llvm.memset.p0.i64(ptr align 8 %v35, i8 0, i64 24, i1 false)68  %v37 = getelementptr inbounds [2 x [2 x [2 x %3]]], ptr %v1, i32 0, i32 0, i32 0, i32 769  call void @llvm.memset.p0.i64(ptr align 8 %v37, i8 0, i64 24, i1 false)70  %v40 = getelementptr inbounds %6, ptr %v0, i32 0, i32 0, i32 0, i32 171  %v41 = getelementptr inbounds %6, ptr %v0, i32 0, i32 0, i32 0, i32 272  %v43 = getelementptr inbounds %6, ptr %v0, i32 0, i32 1, i32 0, i32 273  %v44 = getelementptr inbounds %6, ptr %v0, i32 0, i32 1, i32 0, i32 174  %v45 = getelementptr inbounds %6, ptr %v0, i32 0, i32 1, i32 0, i32 075  %v46 = load double, ptr %v0, align 8, !tbaa !676  store double %v46, ptr %v1, align 8, !tbaa !677  %v48 = load double, ptr %v40, align 8, !tbaa !678  %v49 = getelementptr inbounds [2 x [2 x [2 x %3]]], ptr %v1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 179  store double %v48, ptr %v49, align 8, !tbaa !680  %v50 = load double, ptr %v41, align 8, !tbaa !681  %v51 = getelementptr inbounds [2 x [2 x [2 x %3]]], ptr %v1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 282  store double %v50, ptr %v51, align 8, !tbaa !683  call void @f0(ptr sret(%3) %v2, ptr %v3, ptr %v1)84  call void @llvm.memcpy.p0.p0.i32(ptr align 8 %v1, ptr align 8 %v2, i32 24, i1 false)85  %v52 = load double, ptr %v0, align 8, !tbaa !686  %v53 = getelementptr inbounds [2 x [2 x [2 x %3]]], ptr %v1, i32 0, i32 0, i32 0, i32 1, i32 0, i32 087  store double %v52, ptr %v53, align 8, !tbaa !688  %v54 = load double, ptr %v40, align 8, !tbaa !689  %v55 = getelementptr inbounds [2 x [2 x [2 x %3]]], ptr %v1, i32 0, i32 0, i32 0, i32 1, i32 0, i32 190  store double %v54, ptr %v55, align 8, !tbaa !691  %v56 = load double, ptr %v43, align 8, !tbaa !692  %v57 = getelementptr inbounds [2 x [2 x [2 x %3]]], ptr %v1, i32 0, i32 0, i32 0, i32 1, i32 0, i32 293  store double %v56, ptr %v57, align 8, !tbaa !694  %v58 = getelementptr inbounds [2 x [2 x [2 x %3]]], ptr %v1, i32 0, i32 0, i32 0, i32 195  call void @f0(ptr sret(%3) %v2, ptr %v3, ptr %v58)96  call void @llvm.memcpy.p0.p0.i32(ptr align 8 %v58, ptr align 8 %v2, i32 24, i1 false)97  %v60 = load double, ptr %v0, align 8, !tbaa !698  %v61 = getelementptr inbounds [2 x [2 x [2 x %3]]], ptr %v1, i32 0, i32 0, i32 1, i32 0, i32 0, i32 099  store double %v60, ptr %v61, align 8, !tbaa !6100  %v62 = load double, ptr %v44, align 8, !tbaa !6101  %v63 = getelementptr inbounds [2 x [2 x [2 x %3]]], ptr %v1, i32 0, i32 0, i32 1, i32 0, i32 0, i32 1102  store double %v62, ptr %v63, align 8, !tbaa !6103  %v64 = load double, ptr %v41, align 8, !tbaa !6104  %v65 = getelementptr inbounds [2 x [2 x [2 x %3]]], ptr %v1, i32 0, i32 0, i32 1, i32 0, i32 0, i32 2105  store double %v64, ptr %v65, align 8, !tbaa !6106  %v66 = getelementptr inbounds [2 x [2 x [2 x %3]]], ptr %v1, i32 0, i32 0, i32 1, i32 0107  call void @f0(ptr sret(%3) %v2, ptr %v3, ptr %v66)108  call void @llvm.memcpy.p0.p0.i32(ptr align 8 %v66, ptr align 8 %v2, i32 24, i1 false)109  %v68 = load double, ptr %v0, align 8, !tbaa !6110  %v69 = getelementptr inbounds [2 x [2 x [2 x %3]]], ptr %v1, i32 0, i32 0, i32 1, i32 1, i32 0, i32 0111  store double %v68, ptr %v69, align 8, !tbaa !6112  %v70 = load double, ptr %v44, align 8, !tbaa !6113  %v71 = getelementptr inbounds [2 x [2 x [2 x %3]]], ptr %v1, i32 0, i32 0, i32 1, i32 1, i32 0, i32 1114  store double %v70, ptr %v71, align 8, !tbaa !6115  %v72 = load double, ptr %v43, align 8, !tbaa !6116  %v73 = getelementptr inbounds [2 x [2 x [2 x %3]]], ptr %v1, i32 0, i32 0, i32 1, i32 1, i32 0, i32 2117  store double %v72, ptr %v73, align 8, !tbaa !6118  %v74 = getelementptr inbounds [2 x [2 x [2 x %3]]], ptr %v1, i32 0, i32 0, i32 1, i32 1119  call void @f0(ptr sret(%3) %v2, ptr %v3, ptr %v74)120  call void @llvm.memcpy.p0.p0.i32(ptr align 8 %v74, ptr align 8 %v2, i32 24, i1 false)121  %v76 = load double, ptr %v45, align 8, !tbaa !6122  %v77 = getelementptr inbounds [2 x [2 x [2 x %3]]], ptr %v1, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0123  store double %v76, ptr %v77, align 8, !tbaa !6124  %v78 = load double, ptr %v40, align 8, !tbaa !6125  %v79 = getelementptr inbounds [2 x [2 x [2 x %3]]], ptr %v1, i32 0, i32 1, i32 0, i32 0, i32 0, i32 1126  store double %v78, ptr %v79, align 8, !tbaa !6127  %v80 = load double, ptr %v41, align 8, !tbaa !6128  %v81 = getelementptr inbounds [2 x [2 x [2 x %3]]], ptr %v1, i32 0, i32 1, i32 0, i32 0, i32 0, i32 2129  store double %v80, ptr %v81, align 8, !tbaa !6130  %v82 = getelementptr inbounds [2 x [2 x [2 x %3]]], ptr %v1, i32 0, i32 1, i32 0, i32 0131  call void @f0(ptr sret(%3) %v2, ptr %v3, ptr %v82)132  call void @llvm.memcpy.p0.p0.i32(ptr align 8 %v82, ptr align 8 %v2, i32 24, i1 false)133  %v84 = load double, ptr %v45, align 8, !tbaa !6134  %v85 = getelementptr inbounds [2 x [2 x [2 x %3]]], ptr %v1, i32 0, i32 1, i32 0, i32 1, i32 0, i32 0135  store double %v84, ptr %v85, align 8, !tbaa !6136  %v86 = load double, ptr %v40, align 8, !tbaa !6137  %v87 = getelementptr inbounds [2 x [2 x [2 x %3]]], ptr %v1, i32 0, i32 1, i32 0, i32 1, i32 0, i32 1138  store double %v86, ptr %v87, align 8, !tbaa !6139  %v88 = load double, ptr %v43, align 8, !tbaa !6140  %v89 = getelementptr inbounds [2 x [2 x [2 x %3]]], ptr %v1, i32 0, i32 1, i32 0, i32 1, i32 0, i32 2141  store double %v88, ptr %v89, align 8, !tbaa !6142  %v90 = getelementptr inbounds [2 x [2 x [2 x %3]]], ptr %v1, i32 0, i32 1, i32 0, i32 1143  call void @f0(ptr sret(%3) %v2, ptr %v3, ptr %v90)144  call void @llvm.memcpy.p0.p0.i32(ptr align 8 %v90, ptr align 8 %v2, i32 24, i1 false)145  %v92 = load double, ptr %v45, align 8, !tbaa !6146  %v93 = getelementptr inbounds [2 x [2 x [2 x %3]]], ptr %v1, i32 0, i32 1, i32 1, i32 0, i32 0, i32 0147  store double %v92, ptr %v93, align 8, !tbaa !6148  %v94 = load double, ptr %v44, align 8, !tbaa !6149  %v95 = getelementptr inbounds [2 x [2 x [2 x %3]]], ptr %v1, i32 0, i32 1, i32 1, i32 0, i32 0, i32 1150  store double %v94, ptr %v95, align 8, !tbaa !6151  %v96 = load double, ptr %v41, align 8, !tbaa !6152  %v97 = getelementptr inbounds [2 x [2 x [2 x %3]]], ptr %v1, i32 0, i32 1, i32 1, i32 0, i32 0, i32 2153  store double %v96, ptr %v97, align 8, !tbaa !6154  %v98 = getelementptr inbounds [2 x [2 x [2 x %3]]], ptr %v1, i32 0, i32 1, i32 1, i32 0155  call void @f0(ptr sret(%3) %v2, ptr %v3, ptr %v98)156  call void @llvm.memcpy.p0.p0.i32(ptr align 8 %v98, ptr align 8 %v2, i32 24, i1 false)157  %v100 = load double, ptr %v45, align 8, !tbaa !6158  %v101 = getelementptr inbounds [2 x [2 x [2 x %3]]], ptr %v1, i32 0, i32 1, i32 1, i32 1, i32 0, i32 0159  store double %v100, ptr %v101, align 8, !tbaa !6160  %v102 = load double, ptr %v44, align 8, !tbaa !6161  %v103 = getelementptr inbounds [2 x [2 x [2 x %3]]], ptr %v1, i32 0, i32 1, i32 1, i32 1, i32 0, i32 1162  store double %v102, ptr %v103, align 8, !tbaa !6163  %v104 = load double, ptr %v43, align 8, !tbaa !6164  %v105 = getelementptr inbounds [2 x [2 x [2 x %3]]], ptr %v1, i32 0, i32 1, i32 1, i32 1, i32 0, i32 2165  store double %v104, ptr %v105, align 8, !tbaa !6166  %v106 = getelementptr inbounds [2 x [2 x [2 x %3]]], ptr %v1, i32 0, i32 1, i32 1, i32 1167  call void @f0(ptr sret(%3) %v2, ptr %v3, ptr %v106)168  call void @llvm.memcpy.p0.p0.i32(ptr align 8 %v106, ptr align 8 %v2, i32 24, i1 false)169  %v109 = load double, ptr %v1, align 8, !tbaa !6170  %v110 = getelementptr inbounds [2 x [2 x [2 x %3]]], ptr %v1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1171  %v111 = load double, ptr %v110, align 8, !tbaa !6172  %v112 = getelementptr inbounds [2 x [2 x [2 x %3]]], ptr %v1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2173  %v113 = load double, ptr %v112, align 8, !tbaa !6174  %v114 = getelementptr inbounds [2 x [2 x [2 x %3]]], ptr %v1, i32 0, i32 0, i32 0, i32 1, i32 0, i32 0175  %v115 = load double, ptr %v114, align 8, !tbaa !6176  %v116 = fcmp olt double %v115, %v109177  %v117 = select i1 %v116, double %v115, double %v109178  %v118 = fcmp ogt double %v115, %v109179  %v119 = select i1 %v118, double %v115, double %v109180  %v120 = getelementptr inbounds [2 x [2 x [2 x %3]]], ptr %v1, i32 0, i32 0, i32 0, i32 1, i32 0, i32 1181  %v121 = load double, ptr %v120, align 8, !tbaa !6182  %v122 = fcmp olt double %v121, %v111183  %v123 = select i1 %v122, double %v121, double %v111184  %v124 = fcmp ogt double %v121, %v111185  %v125 = select i1 %v124, double %v121, double %v111186  %v126 = getelementptr inbounds [2 x [2 x [2 x %3]]], ptr %v1, i32 0, i32 0, i32 0, i32 1, i32 0, i32 2187  %v127 = load double, ptr %v126, align 8, !tbaa !6188  %v128 = fcmp olt double %v127, %v113189  %v129 = select i1 %v128, double %v127, double %v113190  %v130 = fcmp ogt double %v127, %v113191  %v131 = select i1 %v130, double %v127, double %v113192  %v132 = getelementptr inbounds [2 x [2 x [2 x %3]]], ptr %v1, i32 0, i32 0, i32 1, i32 0, i32 0, i32 0193  %v133 = load double, ptr %v132, align 8, !tbaa !6194  %v134 = fcmp olt double %v133, %v117195  %v135 = select i1 %v134, double %v133, double %v117196  %v136 = fcmp ogt double %v133, %v119197  %v137 = select i1 %v136, double %v133, double %v119198  %v138 = getelementptr inbounds [2 x [2 x [2 x %3]]], ptr %v1, i32 0, i32 0, i32 1, i32 0, i32 0, i32 1199  %v139 = load double, ptr %v138, align 8, !tbaa !6200  %v140 = fcmp olt double %v139, %v123201  %v141 = select i1 %v140, double %v139, double %v123202  %v142 = fcmp ogt double %v139, %v125203  %v143 = select i1 %v142, double %v139, double %v125204  %v144 = getelementptr inbounds [2 x [2 x [2 x %3]]], ptr %v1, i32 0, i32 0, i32 1, i32 0, i32 0, i32 2205  %v145 = load double, ptr %v144, align 8, !tbaa !6206  %v146 = fcmp olt double %v145, %v129207  %v147 = select i1 %v146, double %v145, double %v129208  %v148 = fcmp ogt double %v145, %v131209  %v149 = select i1 %v148, double %v145, double %v131210  %v150 = getelementptr inbounds [2 x [2 x [2 x %3]]], ptr %v1, i32 0, i32 0, i32 1, i32 1, i32 0, i32 0211  %v151 = load double, ptr %v150, align 8, !tbaa !6212  %v152 = fcmp olt double %v151, %v135213  %v153 = select i1 %v152, double %v151, double %v135214  %v154 = fcmp ogt double %v151, %v137215  %v155 = select i1 %v154, double %v151, double %v137216  %v156 = getelementptr inbounds [2 x [2 x [2 x %3]]], ptr %v1, i32 0, i32 0, i32 1, i32 1, i32 0, i32 1217  %v157 = load double, ptr %v156, align 8, !tbaa !6218  %v158 = fcmp olt double %v157, %v141219  %v159 = select i1 %v158, double %v157, double %v141220  %v160 = fcmp ogt double %v157, %v143221  %v161 = select i1 %v160, double %v157, double %v143222  %v162 = getelementptr inbounds [2 x [2 x [2 x %3]]], ptr %v1, i32 0, i32 0, i32 1, i32 1, i32 0, i32 2223  %v163 = load double, ptr %v162, align 8, !tbaa !6224  %v164 = fcmp olt double %v163, %v147225  %v165 = select i1 %v164, double %v163, double %v147226  %v166 = fcmp ogt double %v163, %v149227  %v167 = select i1 %v166, double %v163, double %v149228  %v168 = getelementptr inbounds [2 x [2 x [2 x %3]]], ptr %v1, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0229  %v169 = load double, ptr %v168, align 8, !tbaa !6230  %v170 = fcmp olt double %v169, %v153231  %v171 = select i1 %v170, double %v169, double %v153232  %v172 = fcmp ogt double %v169, %v155233  %v173 = select i1 %v172, double %v169, double %v155234  %v174 = getelementptr inbounds [2 x [2 x [2 x %3]]], ptr %v1, i32 0, i32 1, i32 0, i32 0, i32 0, i32 1235  %v175 = load double, ptr %v174, align 8, !tbaa !6236  %v176 = fcmp olt double %v175, %v159237  %v177 = select i1 %v176, double %v175, double %v159238  %v178 = fcmp ogt double %v175, %v161239  %v179 = select i1 %v178, double %v175, double %v161240  %v180 = getelementptr inbounds [2 x [2 x [2 x %3]]], ptr %v1, i32 0, i32 1, i32 0, i32 0, i32 0, i32 2241  %v181 = load double, ptr %v180, align 8, !tbaa !6242  %v182 = fcmp olt double %v181, %v165243  %v183 = select i1 %v182, double %v181, double %v165244  %v184 = fcmp ogt double %v181, %v167245  %v185 = select i1 %v184, double %v181, double %v167246  %v186 = getelementptr inbounds [2 x [2 x [2 x %3]]], ptr %v1, i32 0, i32 1, i32 0, i32 1, i32 0, i32 0247  %v187 = load double, ptr %v186, align 8, !tbaa !6248  %v188 = fcmp olt double %v187, %v171249  %v189 = select i1 %v188, double %v187, double %v171250  %v190 = fcmp ogt double %v187, %v173251  %v191 = select i1 %v190, double %v187, double %v173252  %v192 = getelementptr inbounds [2 x [2 x [2 x %3]]], ptr %v1, i32 0, i32 1, i32 0, i32 1, i32 0, i32 1253  %v193 = load double, ptr %v192, align 8, !tbaa !6254  %v194 = fcmp olt double %v193, %v177255  %v195 = select i1 %v194, double %v193, double %v177256  %v196 = fcmp ogt double %v193, %v179257  %v197 = select i1 %v196, double %v193, double %v179258  %v198 = getelementptr inbounds [2 x [2 x [2 x %3]]], ptr %v1, i32 0, i32 1, i32 0, i32 1, i32 0, i32 2259  %v199 = load double, ptr %v198, align 8, !tbaa !6260  %v200 = fcmp olt double %v199, %v183261  %v201 = select i1 %v200, double %v199, double %v183262  %v202 = fcmp ogt double %v199, %v185263  %v203 = select i1 %v202, double %v199, double %v185264  %v204 = getelementptr inbounds [2 x [2 x [2 x %3]]], ptr %v1, i32 0, i32 1, i32 1, i32 0, i32 0, i32 0265  %v205 = load double, ptr %v204, align 8, !tbaa !6266  %v206 = fcmp olt double %v205, %v189267  %v207 = select i1 %v206, double %v205, double %v189268  %v208 = fcmp ogt double %v205, %v191269  %v209 = select i1 %v208, double %v205, double %v191270  %v210 = getelementptr inbounds [2 x [2 x [2 x %3]]], ptr %v1, i32 0, i32 1, i32 1, i32 0, i32 0, i32 1271  %v211 = load double, ptr %v210, align 8, !tbaa !6272  %v212 = fcmp olt double %v211, %v195273  %v213 = select i1 %v212, double %v211, double %v195274  %v214 = fcmp ogt double %v211, %v197275  %v215 = select i1 %v214, double %v211, double %v197276  %v216 = getelementptr inbounds [2 x [2 x [2 x %3]]], ptr %v1, i32 0, i32 1, i32 1, i32 0, i32 0, i32 2277  %v217 = load double, ptr %v216, align 8, !tbaa !6278  %v218 = fcmp olt double %v217, %v201279  %v219 = select i1 %v218, double %v217, double %v201280  %v220 = fcmp ogt double %v217, %v203281  %v221 = select i1 %v220, double %v217, double %v203282  %v222 = getelementptr inbounds [2 x [2 x [2 x %3]]], ptr %v1, i32 0, i32 1, i32 1, i32 1, i32 0, i32 0283  %v223 = load double, ptr %v222, align 8, !tbaa !6284  %v224 = fcmp olt double %v223, %v207285  %v225 = select i1 %v224, double %v223, double %v207286  %v226 = fcmp ogt double %v223, %v209287  %v227 = select i1 %v226, double %v223, double %v209288  %v228 = getelementptr inbounds [2 x [2 x [2 x %3]]], ptr %v1, i32 0, i32 1, i32 1, i32 1, i32 0, i32 1289  %v229 = load double, ptr %v228, align 8, !tbaa !6290  %v230 = fcmp olt double %v229, %v213291  %v231 = select i1 %v230, double %v229, double %v213292  %v232 = fcmp ogt double %v229, %v215293  %v233 = select i1 %v232, double %v229, double %v215294  %v234 = getelementptr inbounds [2 x [2 x [2 x %3]]], ptr %v1, i32 0, i32 1, i32 1, i32 1, i32 0, i32 2295  %v235 = load double, ptr %v234, align 8, !tbaa !6296  %v236 = fcmp olt double %v235, %v219297  %v237 = select i1 %v236, double %v235, double %v219298  %v238 = fcmp ogt double %v235, %v221299  %v239 = select i1 %v238, double %v235, double %v221300  %v240 = getelementptr inbounds %4, ptr %a0, i32 0, i32 4, i32 0, i32 0301  store double %v225, ptr %v240, align 8302  %v241 = getelementptr inbounds %4, ptr %a0, i32 0, i32 4, i32 0, i32 1303  store double %v231, ptr %v241, align 8304  %v242 = getelementptr inbounds %4, ptr %a0, i32 0, i32 4, i32 0, i32 2305  store double %v237, ptr %v242, align 8306  %v243 = getelementptr inbounds %4, ptr %a0, i32 0, i32 5, i32 0, i32 0307  store double %v227, ptr %v243, align 8308  %v244 = getelementptr inbounds %4, ptr %a0, i32 0, i32 5, i32 0, i32 1309  store double %v233, ptr %v244, align 8310  %v245 = getelementptr inbounds %4, ptr %a0, i32 0, i32 5, i32 0, i32 2311  store double %v239, ptr %v245, align 8312  br label %b2313}314 315; Function Attrs: argmemonly nounwind316declare void @llvm.memcpy.p0.p0.i32(ptr nocapture writeonly, ptr nocapture readonly, i32, i1) #1317 318; Function Attrs: argmemonly nounwind319declare void @llvm.memset.p0.i64(ptr nocapture writeonly, i8, i64, i1) #1320 321attributes #0 = { nounwind "target-cpu"="hexagonv55" }322attributes #1 = { argmemonly nounwind }323 324!0 = !{!1, !1, i64 0}325!1 = !{!"any pointer", !2}326!2 = !{!"omnipotent char", !3}327!3 = !{!"Simple C/C++ TBAA"}328!4 = !{!5, !5, i64 0}329!5 = !{!"vtable pointer", !3}330!6 = !{!7, !7, i64 0}331!7 = !{!"double", !2}332