brintos

brintos / llvm-project-archived public Read only

0
0
Text · 11.0 KiB · 4601d39 Raw
409 lines · plain
1; RUN: llc -mtriple=hexagon -mcpu=hexagonv5 -O3 < %s | FileCheck %s2 3; CHECK-LABEL: f0:4; CHECK: loop05; a < b6define void @f0(ptr nocapture %a0, i32 %a1, i32 %a2) #0 {7b0:8  %v0 = icmp sle i32 28395, %a29  br i1 %v0, label %b1, label %b310 11b1:                                               ; preds = %b012  br label %b213 14b2:                                               ; preds = %b2, %b115  %v1 = phi i32 [ 28395, %b1 ], [ %v7, %b2 ]16  %v2 = getelementptr inbounds i8, ptr %a0, i32 %v117  %v3 = load i8, ptr %v2, align 118  %v4 = zext i8 %v3 to i3219  %v5 = add nsw i32 %v4, 120  %v6 = trunc i32 %v5 to i821  store i8 %v6, ptr %v2, align 122  %v7 = add nsw i32 %v1, 123  %v8 = icmp sle i32 %v7, %a224  br i1 %v8, label %b2, label %b325 26b3:                                               ; preds = %b2, %b027  ret void28}29 30; CHECK-LABEL: f1:31; CHECK: loop032; a < b33define void @f1(ptr nocapture %a0, i32 %a1, i32 %a2) #0 {34b0:35  %v0 = icmp sle i32 9073, %a236  br i1 %v0, label %b1, label %b337 38b1:                                               ; preds = %b039  br label %b240 41b2:                                               ; preds = %b2, %b142  %v1 = phi i32 [ 9073, %b1 ], [ %v7, %b2 ]43  %v2 = getelementptr inbounds i8, ptr %a0, i32 %v144  %v3 = load i8, ptr %v2, align 145  %v4 = zext i8 %v3 to i3246  %v5 = add nsw i32 %v4, 147  %v6 = trunc i32 %v5 to i848  store i8 %v6, ptr %v2, align 149  %v7 = add nsw i32 %v1, 250  %v8 = icmp sle i32 %v7, %a251  br i1 %v8, label %b2, label %b352 53b3:                                               ; preds = %b2, %b054  ret void55}56 57; CHECK-LABEL: f2:58; CHECK: loop059; a < b60define void @f2(ptr nocapture %a0, i32 %a1, i32 %a2) #0 {61b0:62  %v0 = icmp sle i32 21956, %a263  br i1 %v0, label %b1, label %b364 65b1:                                               ; preds = %b066  br label %b267 68b2:                                               ; preds = %b2, %b169  %v1 = phi i32 [ 21956, %b1 ], [ %v7, %b2 ]70  %v2 = getelementptr inbounds i8, ptr %a0, i32 %v171  %v3 = load i8, ptr %v2, align 172  %v4 = zext i8 %v3 to i3273  %v5 = add nsw i32 %v4, 174  %v6 = trunc i32 %v5 to i875  store i8 %v6, ptr %v2, align 176  %v7 = add nsw i32 %v1, 477  %v8 = icmp sle i32 %v7, %a278  br i1 %v8, label %b2, label %b379 80b3:                                               ; preds = %b2, %b081  ret void82}83 84; CHECK-LABEL: f3:85; CHECK: loop086; a < b87define void @f3(ptr nocapture %a0, i32 %a1, i32 %a2) #0 {88b0:89  %v0 = icmp sle i32 16782, %a290  br i1 %v0, label %b1, label %b391 92b1:                                               ; preds = %b093  br label %b294 95b2:                                               ; preds = %b2, %b196  %v1 = phi i32 [ 16782, %b1 ], [ %v7, %b2 ]97  %v2 = getelementptr inbounds i8, ptr %a0, i32 %v198  %v3 = load i8, ptr %v2, align 199  %v4 = zext i8 %v3 to i32100  %v5 = add nsw i32 %v4, 1101  %v6 = trunc i32 %v5 to i8102  store i8 %v6, ptr %v2, align 1103  %v7 = add nsw i32 %v1, 8104  %v8 = icmp sle i32 %v7, %a2105  br i1 %v8, label %b2, label %b3106 107b3:                                               ; preds = %b2, %b0108  ret void109}110 111; CHECK-LABEL: f4:112; CHECK: loop0113; a < b114define void @f4(ptr nocapture %a0, i32 %a1, i32 %a2) #0 {115b0:116  %v0 = icmp sle i32 19097, %a2117  br i1 %v0, label %b1, label %b3118 119b1:                                               ; preds = %b0120  br label %b2121 122b2:                                               ; preds = %b2, %b1123  %v1 = phi i32 [ 19097, %b1 ], [ %v7, %b2 ]124  %v2 = getelementptr inbounds i8, ptr %a0, i32 %v1125  %v3 = load i8, ptr %v2, align 1126  %v4 = zext i8 %v3 to i32127  %v5 = add nsw i32 %v4, 1128  %v6 = trunc i32 %v5 to i8129  store i8 %v6, ptr %v2, align 1130  %v7 = add nsw i32 %v1, 16131  %v8 = icmp sle i32 %v7, %a2132  br i1 %v8, label %b2, label %b3133 134b3:                                               ; preds = %b2, %b0135  ret void136}137 138; CHECK-LABEL: f5:139; CHECK: loop0140; a < b141define void @f5(ptr nocapture %a0, i32 %a1, i32 %a2) #0 {142b0:143  %v0 = icmp sle i32 %a1, 14040144  br i1 %v0, label %b1, label %b3145 146b1:                                               ; preds = %b0147  br label %b2148 149b2:                                               ; preds = %b2, %b1150  %v1 = phi i32 [ %a1, %b1 ], [ %v7, %b2 ]151  %v2 = getelementptr inbounds i8, ptr %a0, i32 %v1152  %v3 = load i8, ptr %v2, align 1153  %v4 = zext i8 %v3 to i32154  %v5 = add nsw i32 %v4, 1155  %v6 = trunc i32 %v5 to i8156  store i8 %v6, ptr %v2, align 1157  %v7 = add nsw i32 %v1, 1158  %v8 = icmp sle i32 %v7, 14040159  br i1 %v8, label %b2, label %b3160 161b3:                                               ; preds = %b2, %b0162  ret void163}164 165; CHECK-LABEL: f6:166; CHECK: loop0167; a < b168define void @f6(ptr nocapture %a0, i32 %a1, i32 %a2) #0 {169b0:170  %v0 = icmp sle i32 %a1, 13710171  br i1 %v0, label %b1, label %b3172 173b1:                                               ; preds = %b0174  br label %b2175 176b2:                                               ; preds = %b2, %b1177  %v1 = phi i32 [ %a1, %b1 ], [ %v7, %b2 ]178  %v2 = getelementptr inbounds i8, ptr %a0, i32 %v1179  %v3 = load i8, ptr %v2, align 1180  %v4 = zext i8 %v3 to i32181  %v5 = add nsw i32 %v4, 1182  %v6 = trunc i32 %v5 to i8183  store i8 %v6, ptr %v2, align 1184  %v7 = add nsw i32 %v1, 2185  %v8 = icmp sle i32 %v7, 13710186  br i1 %v8, label %b2, label %b3187 188b3:                                               ; preds = %b2, %b0189  ret void190}191 192; CHECK-LABEL: f7:193; CHECK: loop0194; a < b195define void @f7(ptr nocapture %a0, i32 %a1, i32 %a2) #0 {196b0:197  %v0 = icmp sle i32 %a1, 9920198  br i1 %v0, label %b1, label %b3199 200b1:                                               ; preds = %b0201  br label %b2202 203b2:                                               ; preds = %b2, %b1204  %v1 = phi i32 [ %a1, %b1 ], [ %v7, %b2 ]205  %v2 = getelementptr inbounds i8, ptr %a0, i32 %v1206  %v3 = load i8, ptr %v2, align 1207  %v4 = zext i8 %v3 to i32208  %v5 = add nsw i32 %v4, 1209  %v6 = trunc i32 %v5 to i8210  store i8 %v6, ptr %v2, align 1211  %v7 = add nsw i32 %v1, 4212  %v8 = icmp sle i32 %v7, 9920213  br i1 %v8, label %b2, label %b3214 215b3:                                               ; preds = %b2, %b0216  ret void217}218 219; CHECK-LABEL: f8:220; CHECK: loop0221; a < b222define void @f8(ptr nocapture %a0, i32 %a1, i32 %a2) #0 {223b0:224  %v0 = icmp sle i32 %a1, 18924225  br i1 %v0, label %b1, label %b3226 227b1:                                               ; preds = %b0228  br label %b2229 230b2:                                               ; preds = %b2, %b1231  %v1 = phi i32 [ %a1, %b1 ], [ %v7, %b2 ]232  %v2 = getelementptr inbounds i8, ptr %a0, i32 %v1233  %v3 = load i8, ptr %v2, align 1234  %v4 = zext i8 %v3 to i32235  %v5 = add nsw i32 %v4, 1236  %v6 = trunc i32 %v5 to i8237  store i8 %v6, ptr %v2, align 1238  %v7 = add nsw i32 %v1, 8239  %v8 = icmp sle i32 %v7, 18924240  br i1 %v8, label %b2, label %b3241 242b3:                                               ; preds = %b2, %b0243  ret void244}245 246; CHECK-LABEL: f9:247; CHECK: loop0248; a < b249define void @f9(ptr nocapture %a0, i32 %a1, i32 %a2) #0 {250b0:251  %v0 = icmp sle i32 %a1, 11812252  br i1 %v0, label %b1, label %b3253 254b1:                                               ; preds = %b0255  br label %b2256 257b2:                                               ; preds = %b2, %b1258  %v1 = phi i32 [ %a1, %b1 ], [ %v7, %b2 ]259  %v2 = getelementptr inbounds i8, ptr %a0, i32 %v1260  %v3 = load i8, ptr %v2, align 1261  %v4 = zext i8 %v3 to i32262  %v5 = add nsw i32 %v4, 1263  %v6 = trunc i32 %v5 to i8264  store i8 %v6, ptr %v2, align 1265  %v7 = add nsw i32 %v1, 16266  %v8 = icmp sle i32 %v7, 11812267  br i1 %v8, label %b2, label %b3268 269b3:                                               ; preds = %b2, %b0270  ret void271}272 273; CHECK-LABEL: f10:274; CHECK: loop0275; a < b276define void @f10(ptr nocapture %a0, i32 %a1, i32 %a2) #0 {277b0:278  %v0 = icmp sle i32 %a1, %a2279  br i1 %v0, label %b1, label %b3280 281b1:                                               ; preds = %b0282  br label %b2283 284b2:                                               ; preds = %b2, %b1285  %v1 = phi i32 [ %a1, %b1 ], [ %v7, %b2 ]286  %v2 = getelementptr inbounds i8, ptr %a0, i32 %v1287  %v3 = load i8, ptr %v2, align 1288  %v4 = zext i8 %v3 to i32289  %v5 = add nsw i32 %v4, 1290  %v6 = trunc i32 %v5 to i8291  store i8 %v6, ptr %v2, align 1292  %v7 = add nsw i32 %v1, 1293  %v8 = icmp sle i32 %v7, %a2294  br i1 %v8, label %b2, label %b3295 296b3:                                               ; preds = %b2, %b0297  ret void298}299 300; CHECK-LABEL: f11:301; CHECK: loop0302; a < b303define void @f11(ptr nocapture %a0, i32 %a1, i32 %a2) #0 {304b0:305  %v0 = icmp sle i32 %a1, %a2306  br i1 %v0, label %b1, label %b3307 308b1:                                               ; preds = %b0309  br label %b2310 311b2:                                               ; preds = %b2, %b1312  %v1 = phi i32 [ %a1, %b1 ], [ %v7, %b2 ]313  %v2 = getelementptr inbounds i8, ptr %a0, i32 %v1314  %v3 = load i8, ptr %v2, align 1315  %v4 = zext i8 %v3 to i32316  %v5 = add nsw i32 %v4, 1317  %v6 = trunc i32 %v5 to i8318  store i8 %v6, ptr %v2, align 1319  %v7 = add nsw i32 %v1, 2320  %v8 = icmp sle i32 %v7, %a2321  br i1 %v8, label %b2, label %b3322 323b3:                                               ; preds = %b2, %b0324  ret void325}326 327; CHECK-LABEL: f12:328; CHECK: loop0329; a < b330define void @f12(ptr nocapture %a0, i32 %a1, i32 %a2) #0 {331b0:332  %v0 = icmp sle i32 %a1, %a2333  br i1 %v0, label %b1, label %b3334 335b1:                                               ; preds = %b0336  br label %b2337 338b2:                                               ; preds = %b2, %b1339  %v1 = phi i32 [ %a1, %b1 ], [ %v7, %b2 ]340  %v2 = getelementptr inbounds i8, ptr %a0, i32 %v1341  %v3 = load i8, ptr %v2, align 1342  %v4 = zext i8 %v3 to i32343  %v5 = add nsw i32 %v4, 1344  %v6 = trunc i32 %v5 to i8345  store i8 %v6, ptr %v2, align 1346  %v7 = add nsw i32 %v1, 4347  %v8 = icmp sle i32 %v7, %a2348  br i1 %v8, label %b2, label %b3349 350b3:                                               ; preds = %b2, %b0351  ret void352}353 354; CHECK-LABEL: f13:355; CHECK: loop0356; a < b357define void @f13(ptr nocapture %a0, i32 %a1, i32 %a2) #0 {358b0:359  %v0 = icmp sle i32 %a1, %a2360  br i1 %v0, label %b1, label %b3361 362b1:                                               ; preds = %b0363  br label %b2364 365b2:                                               ; preds = %b2, %b1366  %v1 = phi i32 [ %a1, %b1 ], [ %v7, %b2 ]367  %v2 = getelementptr inbounds i8, ptr %a0, i32 %v1368  %v3 = load i8, ptr %v2, align 1369  %v4 = zext i8 %v3 to i32370  %v5 = add nsw i32 %v4, 1371  %v6 = trunc i32 %v5 to i8372  store i8 %v6, ptr %v2, align 1373  %v7 = add nsw i32 %v1, 8374  %v8 = icmp sle i32 %v7, %a2375  br i1 %v8, label %b2, label %b3376 377b3:                                               ; preds = %b2, %b0378  ret void379}380 381; CHECK-LABEL: f14:382; CHECK: loop0383; a < b384define void @f14(ptr nocapture %a0, i32 %a1, i32 %a2) #0 {385b0:386  %v0 = icmp sle i32 %a1, %a2387  br i1 %v0, label %b1, label %b3388 389b1:                                               ; preds = %b0390  br label %b2391 392b2:                                               ; preds = %b2, %b1393  %v1 = phi i32 [ %a1, %b1 ], [ %v7, %b2 ]394  %v2 = getelementptr inbounds i8, ptr %a0, i32 %v1395  %v3 = load i8, ptr %v2, align 1396  %v4 = zext i8 %v3 to i32397  %v5 = add nsw i32 %v4, 1398  %v6 = trunc i32 %v5 to i8399  store i8 %v6, ptr %v2, align 1400  %v7 = add nsw i32 %v1, 16401  %v8 = icmp sle i32 %v7, %a2402  br i1 %v8, label %b2, label %b3403 404b3:                                               ; preds = %b2, %b0405  ret void406}407 408attributes #0 = { nounwind "target-cpu"="hexagonv5" }409