[X86] Add XSAVE intrinsic family
[oota-llvm.git] / test / CodeGen / X86 / coalescer-cross.ll
index 7d6f399930fd4554c20bf424ab175cc4220db723..92aedbef5dd459b242f4ee72a39d1d8d08b792c2 100644 (file)
@@ -1,8 +1,12 @@
-; RUN: llc < %s -mtriple=i386-apple-darwin10 | not grep movaps
+; RUN: llc < %s -mtriple=i386-apple-darwin10 | FileCheck %s
+; RUN: llc < %s -mtriple=i386-apple-darwin10 -regalloc=basic | FileCheck %s
 ; rdar://6509240
 
-       type { %struct.TValue }         ; type %0
-       type { %struct.L_Umaxalign, i32, %struct.Node* }                ; type %1
+; CHECK: os_clock
+; CHECK-NOT: movaps
+
+       %0 = type { %struct.TValue }            ; type %0
+       %1 = type { %struct.L_Umaxalign, i32, %struct.Node* }           ; type %1
        %struct.CallInfo = type { %struct.TValue*, %struct.TValue*, %struct.TValue*, i32*, i32, i32 }
        %struct.GCObject = type { %struct.lua_State }
        %struct.L_Umaxalign = type { double }
@@ -26,14 +30,14 @@ entry:
        %0 = tail call i32 @"\01_clock$UNIX2003"() nounwind             ; <i32> [#uses=1]
        %1 = uitofp i32 %0 to double            ; <double> [#uses=1]
        %2 = fdiv double %1, 1.000000e+06               ; <double> [#uses=1]
-       %3 = getelementptr %struct.lua_State* %L, i32 0, i32 4          ; <%struct.TValue**> [#uses=3]
-       %4 = load %struct.TValue** %3, align 4          ; <%struct.TValue*> [#uses=2]
-       %5 = getelementptr %struct.TValue* %4, i32 0, i32 0, i32 0              ; <double*> [#uses=1]
+       %3 = getelementptr %struct.lua_State, %struct.lua_State* %L, i32 0, i32 4               ; <%struct.TValue**> [#uses=3]
+       %4 = load %struct.TValue*, %struct.TValue** %3, align 4         ; <%struct.TValue*> [#uses=2]
+       %5 = getelementptr %struct.TValue, %struct.TValue* %4, i32 0, i32 0, i32 0              ; <double*> [#uses=1]
        store double %2, double* %5, align 4
-       %6 = getelementptr %struct.TValue* %4, i32 0, i32 1             ; <i32*> [#uses=1]
+       %6 = getelementptr %struct.TValue, %struct.TValue* %4, i32 0, i32 1             ; <i32*> [#uses=1]
        store i32 3, i32* %6, align 4
-       %7 = load %struct.TValue** %3, align 4          ; <%struct.TValue*> [#uses=1]
-       %8 = getelementptr %struct.TValue* %7, i32 1            ; <%struct.TValue*> [#uses=1]
+       %7 = load %struct.TValue*, %struct.TValue** %3, align 4         ; <%struct.TValue*> [#uses=1]
+       %8 = getelementptr %struct.TValue, %struct.TValue* %7, i32 1            ; <%struct.TValue*> [#uses=1]
        store %struct.TValue* %8, %struct.TValue** %3, align 4
        ret i32 1
 }