diff --git a/test/CodeGen/X86/isel-sink.ll b/test/CodeGen/X86/isel-sink.ll new file mode 100644 index 00000000000..9e31ad0032c --- /dev/null +++ b/test/CodeGen/X86/isel-sink.ll @@ -0,0 +1,17 @@ +; 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)' + +define i32 @test(i32* %X, i32 %B) { + ; This gep should be sunk out of this block into the load/store users. + %P = getelementptr 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 + ret i32 %V +} + +