89 lines · plain
1; RUN: llc -mtriple=hexagon -mcpu=hexagonv5 -simplifycfg-require-and-preserve-domtree=1 < %s2; REQUIRES: asserts3 4define void @test(ptr noalias nocapture readonly %src, i32 %srcStride) local_unnamed_addr #0 {5entry:6 %add.ptr = getelementptr inbounds i8, ptr %src, i32 %srcStride7 %add.ptr2 = getelementptr inbounds i8, ptr %add.ptr, i32 %srcStride8 %add.ptr3 = getelementptr inbounds i8, ptr %add.ptr2, i32 %srcStride9 br label %for.body9.epil10 11for.body9.epil:12 %inc.sink385.epil = phi i32 [ %add17.epil, %for.body9.epil ], [ 2, %entry ]13 %sr.epil = phi i8 [ %0, %for.body9.epil ], [ undef, %entry ]14 %sr431.epil = phi i8 [ %2, %for.body9.epil ], [ 0, %entry ]15 %sr432.epil = phi i8 [ %sr431.epil, %for.body9.epil ], [ 0, %entry ]16 %epil.iter = phi i32 [ %epil.iter.sub, %for.body9.epil ], [ undef, %entry ]17 %sub11.epil = add i32 %inc.sink385.epil, -118 %add17.epil = add nuw i32 %inc.sink385.epil, 119 %conv19.epil = zext i8 %sr.epil to i3220 %add21.epil = add i32 %inc.sink385.epil, 221 %arrayidx22.epil = getelementptr inbounds i8, ptr %src, i32 %add21.epil22 %0 = load i8, ptr %arrayidx22.epil, align 123 %conv23.epil = zext i8 %0 to i3224 %1 = load i8, ptr undef, align 125 %conv42.epil = zext i8 %1 to i3226 %conv53.epil = zext i8 %sr432.epil to i3227 %2 = load i8, ptr undef, align 128 %conv61.epil = zext i8 %2 to i3229 %3 = load i8, ptr undef, align 130 %conv65.epil = zext i8 %3 to i3231 %4 = load i8, ptr null, align 132 %conv69.epil = zext i8 %4 to i3233 %5 = load i8, ptr undef, align 134 %conv72.epil = zext i8 %5 to i3235 %6 = load i8, ptr undef, align 136 %conv76.epil = zext i8 %6 to i3237 %7 = load i8, ptr undef, align 138 %conv80.epil = zext i8 %7 to i3239 %8 = load i8, ptr undef, align 140 %conv84.epil = zext i8 %8 to i3241 %9 = load i8, ptr undef, align 142 %conv88.epil = zext i8 %9 to i3243 %10 = load i8, ptr undef, align 144 %conv91.epil = zext i8 %10 to i3245 %11 = load i8, ptr undef, align 146 %conv95.epil = zext i8 %11 to i3247 %12 = load i8, ptr undef, align 148 %conv99.epil = zext i8 %12 to i3249 %add.epil = add nuw nsw i32 0, %conv19.epil50 %add16.epil = add nuw nsw i32 %add.epil, 051 %add20.epil = add nuw nsw i32 %add16.epil, 052 %add24.epil = add nuw nsw i32 %add20.epil, 053 %add28.epil = add nuw nsw i32 %add24.epil, 054 %add32.epil = add nuw nsw i32 %add28.epil, 055 %add35.epil = add i32 %add32.epil, 056 %add39.epil = add i32 %add35.epil, 057 %add43.epil = add i32 %add39.epil, %conv53.epil58 %add47.epil = add i32 %add43.epil, 059 %add51.epil = add i32 %add47.epil, 060 %add54.epil = add i32 %add51.epil, %conv23.epil61 %add58.epil = add i32 %add54.epil, %conv42.epil62 %add62.epil = add i32 %add58.epil, %conv61.epil63 %add66.epil = add i32 %add62.epil, %conv65.epil64 %add70.epil = add i32 %add66.epil, %conv69.epil65 %add73.epil = add i32 %add70.epil, %conv72.epil66 %add77.epil = add i32 %add73.epil, %conv76.epil67 %add81.epil = add i32 %add77.epil, %conv80.epil68 %add85.epil = add i32 %add81.epil, %conv84.epil69 %add89.epil = add i32 %add85.epil, %conv88.epil70 %add92.epil = add i32 %add89.epil, %conv91.epil71 %add96.epil = add i32 %add92.epil, %conv95.epil72 %add100.epil = add i32 %add96.epil, %conv99.epil73 %mul.epil = mul nsw i32 %add100.epil, 262174 %add101.epil = add nsw i32 %mul.epil, 3276875 %shr369.epil = lshr i32 %add101.epil, 1676 %conv102.epil = trunc i32 %shr369.epil to i877 %arrayidx103.epil = getelementptr inbounds i8, ptr undef, i32 %inc.sink385.epil78 store i8 %conv102.epil, ptr %arrayidx103.epil, align 179 %epil.iter.sub = add i32 %epil.iter, -180 %epil.iter.cmp = icmp eq i32 %epil.iter.sub, 081 br i1 %epil.iter.cmp, label %for.end, label %for.body9.epil82 83for.end:84 unreachable85}86 87attributes #0 = { norecurse nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "less-precise-fpmad"="false" "frame-pointer"="all" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "stack-protector-buffer-size"="8" "target-cpu"="hexagonv5" "unsafe-fp-math"="false" "use-soft-float"="false" }88 89