When LiveVariables is adding implicit-def to model "partial dead", add the earlyclobb...
[oota-llvm.git] / test / CodeGen / X86 / fast-isel-mem.ll
index ca175c48bf34e8cf4570a6e72742a428db390cac..35ec1e7115b24bb2ad062bc0b4ea6b43878dc1bd 100644 (file)
@@ -1,5 +1,7 @@
-; RUN: llvm-as < %s | llc -fast-isel -mtriple=i386-apple-darwin -mattr=sse2 | \
-; RUN:   grep mov | grep lazy_ptr | count 1
+; RUN: llc < %s -fast-isel -mtriple=i386-apple-darwin | \
+; RUN:   grep lazy_ptr, | count 2
+; RUN: llc < %s -fast-isel -march=x86 -relocation-model=static | \
+; RUN:   grep lea
 
 @src = external global i32
 
@@ -8,6 +10,15 @@ entry:
        %0 = load i32* @src, align 4
        %1 = load i32* @src, align 4
         %2 = add i32 %0, %1
-  store i32 %2, i32* @src
+        store i32 %2, i32* @src
        ret i32 %2
 }
+
+%stuff = type { i32 (...)** }
+@LotsStuff = external constant [4 x i32 (...)*]
+
+define void @t(%stuff* %this) nounwind {
+entry:
+       store i32 (...)** getelementptr ([4 x i32 (...)*]* @LotsStuff, i32 0, i32 2), i32 (...)*** null, align 4
+       ret void
+}