brintos

brintos / llvm-project-archived public Read only

0
0
Text · 10.3 KiB · c3cd99e Raw
410 lines · plain
1; RUN: llc -mtriple=hexagon -O3 < %s | FileCheck %s2 3; CHECK-LABEL: @test_pos1_ir_slt4; CHECK: loop05; a < b6define void @test_pos1_ir_slt(ptr nocapture %p, i32 %a, i32 %b) nounwind {7entry:8  %cmp3 = icmp slt i32 8531, %b9  br i1 %cmp3, label %for.body.lr.ph, label %for.end10 11for.body.lr.ph:12  br label %for.body13 14for.body:15  %i.04 = phi i32 [ 8531, %for.body.lr.ph ], [ %inc, %for.body ]16  %arrayidx = getelementptr inbounds i8, ptr %p, i32 %i.0417  %0 = load i8, ptr %arrayidx, align 118  %conv = zext i8 %0 to i3219  %add = add nsw i32 %conv, 120  %conv1 = trunc i32 %add to i821  store i8 %conv1, ptr %arrayidx, align 122  %inc = add nsw i32 %i.04, 123  %cmp = icmp slt i32 %inc, %b24  br i1 %cmp, label %for.body, label %for.end25 26for.end:27  ret void28}29 30; CHECK-LABEL: @test_pos2_ir_slt31; CHECK: loop032; a < b33define void @test_pos2_ir_slt(ptr nocapture %p, i32 %a, i32 %b) nounwind {34entry:35  %cmp3 = icmp slt i32 9152, %b36  br i1 %cmp3, label %for.body.lr.ph, label %for.end37 38for.body.lr.ph:39  br label %for.body40 41for.body:42  %i.04 = phi i32 [ 9152, %for.body.lr.ph ], [ %inc, %for.body ]43  %arrayidx = getelementptr inbounds i8, ptr %p, i32 %i.0444  %0 = load i8, ptr %arrayidx, align 145  %conv = zext i8 %0 to i3246  %add = add nsw i32 %conv, 147  %conv1 = trunc i32 %add to i848  store i8 %conv1, ptr %arrayidx, align 149  %inc = add nsw i32 %i.04, 250  %cmp = icmp slt i32 %inc, %b51  br i1 %cmp, label %for.body, label %for.end52 53for.end:54  ret void55}56 57; CHECK-LABEL: @test_pos4_ir_slt58; CHECK: loop059; a < b60define void @test_pos4_ir_slt(ptr nocapture %p, i32 %a, i32 %b) nounwind {61entry:62  %cmp3 = icmp slt i32 18851, %b63  br i1 %cmp3, label %for.body.lr.ph, label %for.end64 65for.body.lr.ph:66  br label %for.body67 68for.body:69  %i.04 = phi i32 [ 18851, %for.body.lr.ph ], [ %inc, %for.body ]70  %arrayidx = getelementptr inbounds i8, ptr %p, i32 %i.0471  %0 = load i8, ptr %arrayidx, align 172  %conv = zext i8 %0 to i3273  %add = add nsw i32 %conv, 174  %conv1 = trunc i32 %add to i875  store i8 %conv1, ptr %arrayidx, align 176  %inc = add nsw i32 %i.04, 477  %cmp = icmp slt i32 %inc, %b78  br i1 %cmp, label %for.body, label %for.end79 80for.end:81  ret void82}83 84; CHECK-LABEL: @test_pos8_ir_slt85; CHECK: loop086; a < b87define void @test_pos8_ir_slt(ptr nocapture %p, i32 %a, i32 %b) nounwind {88entry:89  %cmp3 = icmp slt i32 25466, %b90  br i1 %cmp3, label %for.body.lr.ph, label %for.end91 92for.body.lr.ph:93  br label %for.body94 95for.body:96  %i.04 = phi i32 [ 25466, %for.body.lr.ph ], [ %inc, %for.body ]97  %arrayidx = getelementptr inbounds i8, ptr %p, i32 %i.0498  %0 = load i8, ptr %arrayidx, align 199  %conv = zext i8 %0 to i32100  %add = add nsw i32 %conv, 1101  %conv1 = trunc i32 %add to i8102  store i8 %conv1, ptr %arrayidx, align 1103  %inc = add nsw i32 %i.04, 8104  %cmp = icmp slt i32 %inc, %b105  br i1 %cmp, label %for.body, label %for.end106 107for.end:108  ret void109}110 111; CHECK-LABEL: @test_pos16_ir_slt112; CHECK: loop0113; a < b114define void @test_pos16_ir_slt(ptr nocapture %p, i32 %a, i32 %b) nounwind {115entry:116  %cmp3 = icmp slt i32 9295, %b117  br i1 %cmp3, label %for.body.lr.ph, label %for.end118 119for.body.lr.ph:120  br label %for.body121 122for.body:123  %i.04 = phi i32 [ 9295, %for.body.lr.ph ], [ %inc, %for.body ]124  %arrayidx = getelementptr inbounds i8, ptr %p, i32 %i.04125  %0 = load i8, ptr %arrayidx, align 1126  %conv = zext i8 %0 to i32127  %add = add nsw i32 %conv, 1128  %conv1 = trunc i32 %add to i8129  store i8 %conv1, ptr %arrayidx, align 1130  %inc = add nsw i32 %i.04, 16131  %cmp = icmp slt i32 %inc, %b132  br i1 %cmp, label %for.body, label %for.end133 134for.end:135  ret void136}137 138; CHECK-LABEL: @test_pos1_ri_slt139; CHECK: loop0140; a < b141define void @test_pos1_ri_slt(ptr nocapture %p, i32 %a, i32 %b) nounwind {142entry:143  %cmp3 = icmp slt i32 %a, 31236144  br i1 %cmp3, label %for.body.lr.ph, label %for.end145 146for.body.lr.ph:147  br label %for.body148 149for.body:150  %i.04 = phi i32 [ %a, %for.body.lr.ph ], [ %inc, %for.body ]151  %arrayidx = getelementptr inbounds i8, ptr %p, i32 %i.04152  %0 = load i8, ptr %arrayidx, align 1153  %conv = zext i8 %0 to i32154  %add = add nsw i32 %conv, 1155  %conv1 = trunc i32 %add to i8156  store i8 %conv1, ptr %arrayidx, align 1157  %inc = add nsw i32 %i.04, 1158  %cmp = icmp slt i32 %inc, 31236159  br i1 %cmp, label %for.body, label %for.end160 161for.end:162  ret void163}164 165; CHECK-LABEL: @test_pos2_ri_slt166; CHECK: loop0167; a < b168define void @test_pos2_ri_slt(ptr nocapture %p, i32 %a, i32 %b) nounwind {169entry:170  %cmp3 = icmp slt i32 %a, 22653171  br i1 %cmp3, label %for.body.lr.ph, label %for.end172 173for.body.lr.ph:174  br label %for.body175 176for.body:177  %i.04 = phi i32 [ %a, %for.body.lr.ph ], [ %inc, %for.body ]178  %arrayidx = getelementptr inbounds i8, ptr %p, i32 %i.04179  %0 = load i8, ptr %arrayidx, align 1180  %conv = zext i8 %0 to i32181  %add = add nsw i32 %conv, 1182  %conv1 = trunc i32 %add to i8183  store i8 %conv1, ptr %arrayidx, align 1184  %inc = add nsw i32 %i.04, 2185  %cmp = icmp slt i32 %inc, 22653186  br i1 %cmp, label %for.body, label %for.end187 188for.end:189  ret void190}191 192; CHECK-LABEL: @test_pos4_ri_slt193; CHECK: loop0194; a < b195define void @test_pos4_ri_slt(ptr nocapture %p, i32 %a, i32 %b) nounwind {196entry:197  %cmp3 = icmp slt i32 %a, 1431198  br i1 %cmp3, label %for.body.lr.ph, label %for.end199 200for.body.lr.ph:201  br label %for.body202 203for.body:204  %i.04 = phi i32 [ %a, %for.body.lr.ph ], [ %inc, %for.body ]205  %arrayidx = getelementptr inbounds i8, ptr %p, i32 %i.04206  %0 = load i8, ptr %arrayidx, align 1207  %conv = zext i8 %0 to i32208  %add = add nsw i32 %conv, 1209  %conv1 = trunc i32 %add to i8210  store i8 %conv1, ptr %arrayidx, align 1211  %inc = add nsw i32 %i.04, 4212  %cmp = icmp slt i32 %inc, 1431213  br i1 %cmp, label %for.body, label %for.end214 215for.end:216  ret void217}218 219; CHECK-LABEL: @test_pos8_ri_slt220; CHECK: loop0221; a < b222define void @test_pos8_ri_slt(ptr nocapture %p, i32 %a, i32 %b) nounwind {223entry:224  %cmp3 = icmp slt i32 %a, 22403225  br i1 %cmp3, label %for.body.lr.ph, label %for.end226 227for.body.lr.ph:228  br label %for.body229 230for.body:231  %i.04 = phi i32 [ %a, %for.body.lr.ph ], [ %inc, %for.body ]232  %arrayidx = getelementptr inbounds i8, ptr %p, i32 %i.04233  %0 = load i8, ptr %arrayidx, align 1234  %conv = zext i8 %0 to i32235  %add = add nsw i32 %conv, 1236  %conv1 = trunc i32 %add to i8237  store i8 %conv1, ptr %arrayidx, align 1238  %inc = add nsw i32 %i.04, 8239  %cmp = icmp slt i32 %inc, 22403240  br i1 %cmp, label %for.body, label %for.end241 242for.end:243  ret void244}245 246; CHECK-LABEL: @test_pos16_ri_slt247; CHECK: loop0248; a < b249define void @test_pos16_ri_slt(ptr nocapture %p, i32 %a, i32 %b) nounwind {250entry:251  %cmp3 = icmp slt i32 %a, 21715252  br i1 %cmp3, label %for.body.lr.ph, label %for.end253 254for.body.lr.ph:255  br label %for.body256 257for.body:258  %i.04 = phi i32 [ %a, %for.body.lr.ph ], [ %inc, %for.body ]259  %arrayidx = getelementptr inbounds i8, ptr %p, i32 %i.04260  %0 = load i8, ptr %arrayidx, align 1261  %conv = zext i8 %0 to i32262  %add = add nsw i32 %conv, 1263  %conv1 = trunc i32 %add to i8264  store i8 %conv1, ptr %arrayidx, align 1265  %inc = add nsw i32 %i.04, 16266  %cmp = icmp slt i32 %inc, 21715267  br i1 %cmp, label %for.body, label %for.end268 269for.end:270  ret void271}272 273; CHECK-LABEL: @test_pos1_rr_slt274; CHECK: loop0275; a < b276define void @test_pos1_rr_slt(ptr nocapture %p, i32 %a, i32 %b) nounwind {277entry:278  %cmp3 = icmp slt i32 %a, %b279  br i1 %cmp3, label %for.body.lr.ph, label %for.end280 281for.body.lr.ph:282  br label %for.body283 284for.body:285  %i.04 = phi i32 [ %a, %for.body.lr.ph ], [ %inc, %for.body ]286  %arrayidx = getelementptr inbounds i8, ptr %p, i32 %i.04287  %0 = load i8, ptr %arrayidx, align 1288  %conv = zext i8 %0 to i32289  %add = add nsw i32 %conv, 1290  %conv1 = trunc i32 %add to i8291  store i8 %conv1, ptr %arrayidx, align 1292  %inc = add nsw i32 %i.04, 1293  %cmp = icmp slt i32 %inc, %b294  br i1 %cmp, label %for.body, label %for.end295 296for.end:297  ret void298}299 300; CHECK-LABEL: @test_pos2_rr_slt301; CHECK: loop0302; a < b303define void @test_pos2_rr_slt(ptr nocapture %p, i32 %a, i32 %b) nounwind {304entry:305  %cmp3 = icmp slt i32 %a, %b306  br i1 %cmp3, label %for.body.lr.ph, label %for.end307 308for.body.lr.ph:309  br label %for.body310 311for.body:312  %i.04 = phi i32 [ %a, %for.body.lr.ph ], [ %inc, %for.body ]313  %arrayidx = getelementptr inbounds i8, ptr %p, i32 %i.04314  %0 = load i8, ptr %arrayidx, align 1315  %conv = zext i8 %0 to i32316  %add = add nsw i32 %conv, 1317  %conv1 = trunc i32 %add to i8318  store i8 %conv1, ptr %arrayidx, align 1319  %inc = add nsw i32 %i.04, 2320  %cmp = icmp slt i32 %inc, %b321  br i1 %cmp, label %for.body, label %for.end322 323for.end:324  ret void325}326 327; CHECK-LABEL: @test_pos4_rr_slt328; CHECK: loop0329; a < b330define void @test_pos4_rr_slt(ptr nocapture %p, i32 %a, i32 %b) nounwind {331entry:332  %cmp3 = icmp slt i32 %a, %b333  br i1 %cmp3, label %for.body.lr.ph, label %for.end334 335for.body.lr.ph:336  br label %for.body337 338for.body:339  %i.04 = phi i32 [ %a, %for.body.lr.ph ], [ %inc, %for.body ]340  %arrayidx = getelementptr inbounds i8, ptr %p, i32 %i.04341  %0 = load i8, ptr %arrayidx, align 1342  %conv = zext i8 %0 to i32343  %add = add nsw i32 %conv, 1344  %conv1 = trunc i32 %add to i8345  store i8 %conv1, ptr %arrayidx, align 1346  %inc = add nsw i32 %i.04, 4347  %cmp = icmp slt i32 %inc, %b348  br i1 %cmp, label %for.body, label %for.end349 350for.end:351  ret void352}353 354; CHECK-LABEL: @test_pos8_rr_slt355; CHECK: loop0356; a < b357define void @test_pos8_rr_slt(ptr nocapture %p, i32 %a, i32 %b) nounwind {358entry:359  %cmp3 = icmp slt i32 %a, %b360  br i1 %cmp3, label %for.body.lr.ph, label %for.end361 362for.body.lr.ph:363  br label %for.body364 365for.body:366  %i.04 = phi i32 [ %a, %for.body.lr.ph ], [ %inc, %for.body ]367  %arrayidx = getelementptr inbounds i8, ptr %p, i32 %i.04368  %0 = load i8, ptr %arrayidx, align 1369  %conv = zext i8 %0 to i32370  %add = add nsw i32 %conv, 1371  %conv1 = trunc i32 %add to i8372  store i8 %conv1, ptr %arrayidx, align 1373  %inc = add nsw i32 %i.04, 8374  %cmp = icmp slt i32 %inc, %b375  br i1 %cmp, label %for.body, label %for.end376 377for.end:378  ret void379}380 381; CHECK-LABEL: @test_pos16_rr_slt382; CHECK: loop0383; a < b384define void @test_pos16_rr_slt(ptr nocapture %p, i32 %a, i32 %b) nounwind {385entry:386  %cmp3 = icmp slt i32 %a, %b387  br i1 %cmp3, label %for.body.lr.ph, label %for.end388 389for.body.lr.ph:390  br label %for.body391 392for.body:393  %i.04 = phi i32 [ %a, %for.body.lr.ph ], [ %inc, %for.body ]394  %arrayidx = getelementptr inbounds i8, ptr %p, i32 %i.04395  %0 = load i8, ptr %arrayidx, align 1396  %conv = zext i8 %0 to i32397  %add = add nsw i32 %conv, 1398  %conv1 = trunc i32 %add to i8399  store i8 %conv1, ptr %arrayidx, align 1400  %inc = add nsw i32 %i.04, 16401  %cmp = icmp slt i32 %inc, %b402  br i1 %cmp, label %for.body, label %for.end403 404for.end:405  ret void406}407 408 409 410