X-Git-Url: http://plrg.eecs.uci.edu/git/?a=blobdiff_plain;f=test%2FCodeGen%2FPowerPC%2Fcode-align.ll;h=19d1b236ce0df4cacbabd310f1dd6ccfefce5180;hb=90c9a16dbfa347016977fa49b0cfe0db438a9504;hp=306230be500532dddd4ffb0b7b0a8aae890b78e2;hpb=e05b232c20fb179d89acd469bea1cb6d1ea6c81f;p=oota-llvm.git diff --git a/test/CodeGen/PowerPC/code-align.ll b/test/CodeGen/PowerPC/code-align.ll index 306230be500..19d1b236ce0 100644 --- a/test/CodeGen/PowerPC/code-align.ll +++ b/test/CodeGen/PowerPC/code-align.ll @@ -44,6 +44,9 @@ entry: ; GENERIC-NOT: .align ; BASIC: .align 4 ; PWR: .align 4 +; GENERIC: lwzu +; BASIC: lwzu +; PWR: lwzu ; GENERIC: bdnz ; BASIC: bdnz ; PWR: bdnz @@ -51,17 +54,19 @@ entry: vector.body: ; preds = %vector.body, %entry %index = phi i64 [ 0, %entry ], [ %index.next, %vector.body ] %induction45 = or i64 %index, 1 - %0 = getelementptr inbounds i32* %a, i64 %index - %1 = getelementptr inbounds i32* %a, i64 %induction45 - %2 = load i32* %0, align 4 - %3 = load i32* %1, align 4 + %0 = getelementptr inbounds i32, i32* %a, i64 %index + %1 = getelementptr inbounds i32, i32* %a, i64 %induction45 + %2 = load i32, i32* %0, align 4 + %3 = load i32, i32* %1, align 4 %4 = add nsw i32 %2, 4 %5 = add nsw i32 %3, 4 - store i32 %4, i32* %0, align 4 - store i32 %5, i32* %1, align 4 + %6 = mul nsw i32 %4, 3 + %7 = mul nsw i32 %5, 3 + store i32 %6, i32* %0, align 4 + store i32 %7, i32* %1, align 4 %index.next = add i64 %index, 2 - %6 = icmp eq i64 %index.next, 2048 - br i1 %6, label %for.end, label %vector.body + %8 = icmp eq i64 %index.next, 2048 + br i1 %8, label %for.end, label %vector.body for.end: ; preds = %vector.body ret void @@ -87,10 +92,11 @@ entry: for.body: ; preds = %for.body, %entry %indvars.iv = phi i64 [ 0, %entry ], [ %indvars.iv.next, %for.body ] - %arrayidx = getelementptr inbounds i32* %a, i64 %indvars.iv - %0 = load i32* %arrayidx, align 4 + %arrayidx = getelementptr inbounds i32, i32* %a, i64 %indvars.iv + %0 = load i32, i32* %arrayidx, align 4 %add = add nsw i32 %0, 4 - store i32 %add, i32* %arrayidx, align 4 + %mul = mul nsw i32 %add, 3 + store i32 %mul, i32* %arrayidx, align 4 %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1 %exitcond = icmp eq i64 %indvars.iv.next, 2048 br i1 %exitcond, label %for.end, label %for.body