X-Git-Url: http://plrg.eecs.uci.edu/git/?a=blobdiff_plain;f=test%2FCodeGen%2FX86%2Fisel-sink.ll;h=27abe051a9b3aaba83c4f4a50c14f186e896ba8c;hb=43421abda8b7134f409ccbdc4be130a5ba9ccfab;hp=9e31ad0032caf7c399c04b529837d69987e68bf5;hpb=d617d39f746549bb9f6891ef53aa34c9e1a67a70;p=oota-llvm.git diff --git a/test/CodeGen/X86/isel-sink.ll b/test/CodeGen/X86/isel-sink.ll index 9e31ad0032c..27abe051a9b 100644 --- a/test/CodeGen/X86/isel-sink.ll +++ b/test/CodeGen/X86/isel-sink.ll @@ -1,17 +1,23 @@ -; RUN: llvm-as < %s | llc -march=x86 | not grep lea && -; RUN: llvm-as < %s | llc -march=x86 -mtriple=i686-apple-darwin8 | grep 'movl $4, (%ecx,%eax,4)' +; RUN: llc < %s -march=x86 | FileCheck %s +; RUN: llc < %s -march=x86 -addr-sink-using-gep=1 | FileCheck %s define i32 @test(i32* %X, i32 %B) { +; CHECK-LABEL: test: +; CHECK-NOT: ret +; CHECK-NOT: lea +; CHECK: mov{{.}} $4, ({{.*}},{{.*}},4) +; CHECK: ret +; CHECK: mov{{.}} ({{.*}},{{.*}},4), +; CHECK: ret + ; This gep should be sunk out of this block into the load/store users. - %P = getelementptr i32* %X, i32 %B + %P = getelementptr i32, i32* %X, i32 %B %G = icmp ult i32 %B, 1234 br i1 %G, label %T, label %F T: store i32 4, i32* %P ret i32 141 F: - %V = load i32* %P + %V = load i32, i32* %P ret i32 %V } - -