brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.8 KiB · f7500bd Raw
65 lines · plain
1; RUN: llc -mtriple=thumb-eabi -mattr=+v7,+thumb2 %s -o - | FileCheck %s2 3define i8 @f1(ptr %call1, ptr %call3, i32 %h, i32 %w, i32 %Width) {4; CHECK: f1:5entry:6        %mul17 = mul nsw i32 %Width, %h7        %add = add nsw i32 %mul17, %w8        %sub19 = sub i32 %add, %Width9        %sub20 = add i32 %sub19, -110        %arrayidx21 = getelementptr inbounds i8, ptr %call1, i32 %sub2011        %0 = load i8, ptr %arrayidx21, align 112        %conv22 = zext i8 %0 to i3213        %arrayidx25 = getelementptr inbounds i8, ptr %call1, i32 %sub1914        %1 = load i8, ptr %arrayidx25, align 115        %conv26 = zext i8 %1 to i3216        %mul23189 = add i32 %conv26, %conv2217        %add30 = add i32 %sub19, 118        %arrayidx31 = getelementptr inbounds i8, ptr %call1, i32 %add3019        %2 = load i8, ptr %arrayidx31, align 120        %conv32 = zext i8 %2 to i3221; CHECK: ldrb r{{[0-9]*}}, [r{{[0-9]*}}, #-1]22; CHECK-NEXT: ldrb r{{[0-9]*}}, [r{{[0-9]*}}, #1]23        %add28190 = add i32 %mul23189, %conv3224        %sub35 = add i32 %add, -125        %arrayidx36 = getelementptr inbounds i8, ptr %call1, i32 %sub3526        %3 = load i8, ptr %arrayidx36, align 127        %conv37 = zext i8 %3 to i3228        %add34191 = add i32 %add28190, %conv3729        %arrayidx40 = getelementptr inbounds i8, ptr %call1, i32 %add30        %4 = load i8, ptr %arrayidx40, align 131        %conv41 = zext i8 %4 to i3232        %mul42 = mul nsw i32 %conv41, 25533        %add44 = add i32 %add, 134        %arrayidx45 = getelementptr inbounds i8, ptr %call1, i32 %add4435        %5 = load i8, ptr %arrayidx45, align 136        %conv46 = zext i8 %5 to i3237; CHECK: ldrb r{{[0-9]*}}, [r{{[0-9]*}}, #-1]38; CHECK-NEXT: ldrb r{{[0-9]*}}, [r{{[0-9]*}}, #1]39        %add49 = add i32 %add, %Width40        %sub50 = add i32 %add49, -141        %arrayidx51 = getelementptr inbounds i8, ptr %call1, i32 %sub5042        %6 = load i8, ptr %arrayidx51, align 143        %conv52 = zext i8 %6 to i3244        %arrayidx56 = getelementptr inbounds i8, ptr %call1, i32 %add4945        %7 = load i8, ptr %arrayidx56, align 146        %conv57 = zext i8 %7 to i3247        %add61 = add i32 %add49, 148        %arrayidx62 = getelementptr inbounds i8, ptr %call1, i32 %add6149        %8 = load i8, ptr %arrayidx62, align 150        %conv63 = zext i8 %8 to i3251; CHECK: ldrb r{{[0-9]*}}, [r{{[0-9]*}}, #-1]52; CHECK-NEXT: ldrb{{[.w]*}} r{{[0-9]*}}, [r{{[0-9]*}}, #1]53        %tmp = add i32 %add34191, %conv4654        %tmp193 = add i32 %tmp, %conv5255        %tmp194 = add i32 %tmp193, %conv5756        %tmp195 = add i32 %tmp194, %conv6357        %tmp196 = mul i32 %tmp195, -2858        %add65 = add i32 %tmp196, %mul4259        %9 = lshr i32 %add65, 860        %conv68 = trunc i32 %9 to i861        %arrayidx69 = getelementptr inbounds i8, ptr %call3, i32 %add62        store i8 %conv68, ptr %arrayidx69, align 163        ret i8 %conv6864}65