X-Git-Url: http://plrg.eecs.uci.edu/git/?a=blobdiff_plain;f=test%2FCodeGen%2FX86%2Ffold-load.ll;h=8cdc58bb75e03868479e1ac0f56dd5e8ae2db1a2;hb=6ea3ad7e6e8977c029c33dea82d215fa347a5151;hp=c961f7576f9373399561aa20dacdd09430984a45;hpb=d7d003c2b7b7f657eed364e4ac06f4ab32fc8c2d;p=oota-llvm.git diff --git a/test/CodeGen/X86/fold-load.ll b/test/CodeGen/X86/fold-load.ll index c961f7576f9..8cdc58bb75e 100644 --- a/test/CodeGen/X86/fold-load.ll +++ b/test/CodeGen/X86/fold-load.ll @@ -10,7 +10,7 @@ entry: cond_true: ; preds = %entry %new_size.0.i = select i1 false, i32 0, i32 0 ; [#uses=1] - %tmp.i = load i32* bitcast (i8* getelementptr (%struct.obstack* @stmt_obstack, i32 0, i32 10) to i32*) ; [#uses=1] + %tmp.i = load i32, i32* bitcast (i8* getelementptr (%struct.obstack, %struct.obstack* @stmt_obstack, i32 0, i32 10) to i32*) ; [#uses=1] %tmp.i.upgrd.1 = trunc i32 %tmp.i to i8 ; [#uses=1] %tmp21.i = and i8 %tmp.i.upgrd.1, 1 ; [#uses=1] %tmp22.i = icmp eq i8 %tmp21.i, 0 ; [#uses=1] @@ -30,7 +30,7 @@ cond_next: ; preds = %entry define i32 @test2(i16* %P, i16* %Q) nounwind { - %A = load i16* %P, align 4 ; [#uses=11] + %A = load i16, i16* %P, align 4 ; [#uses=11] %C = zext i16 %A to i32 ; [#uses=1] %D = and i32 %C, 255 ; [#uses=1] br label %L @@ -38,32 +38,32 @@ L: store i16 %A, i16* %Q ret i32 %D - -; CHECK: test2: + +; CHECK-LABEL: test2: ; CHECK: movl 4(%esp), %eax -; CHECK-NEXT: movzwl (%eax), %ecx +; CHECK-NEXT: movzwl (%eax), %e{{..}} } ; rdar://10554090 ; xor in exit block will be CSE'ed and load will be folded to xor in entry. define i1 @test3(i32* %P, i32* %Q) nounwind { -; CHECK: test3: -; CHECK: movl 8(%esp), %eax -; CHECK: xorl (%eax), +; CHECK-LABEL: test3: +; CHECK: movl 8(%esp), %e +; CHECK: movl 4(%esp), %e +; CHECK: xorl (%e ; CHECK: j -; CHECK-NOT: xor entry: - %0 = load i32* %P, align 4 - %1 = load i32* %Q, align 4 + %0 = load i32, i32* %P, align 4 + %1 = load i32, i32* %Q, align 4 %2 = xor i32 %0, %1 - %3 = and i32 %2, 65535 + %3 = and i32 %2, 89947 %4 = icmp eq i32 %3, 0 br i1 %4, label %exit, label %land.end exit: %shr.i.i19 = xor i32 %1, %0 - %5 = and i32 %shr.i.i19, 2147418112 + %5 = and i32 %shr.i.i19, 3456789123 %6 = icmp eq i32 %5, 0 br label %land.end