[MBP] Fix a really horrible bug in MachineBlockPlacement, but behind
[oota-llvm.git] / test / CodeGen / X86 / 2009-03-23-MultiUseSched.ll
index 8bbdb0e82f784fb8c008a86fff3300821be88e45..276d52366ae88b7ff4d5b0d5087a0a8a134a9840 100644 (file)
@@ -1,7 +1,8 @@
-; RUN: llc < %s -mtriple=x86_64-linux -relocation-model=static -o /dev/null -stats -info-output-file - > %t
+; REQUIRES: asserts
+; RUN: llc < %s -mtriple=x86_64-linux -mcpu=corei7 -relocation-model=static -o /dev/null -stats -info-output-file - > %t
 ; RUN: not grep spill %t
-; RUN: not grep {%rsp} %t
-; RUN: not grep {%rbp} %t
+; RUN: not grep "%rsp" %t
+; RUN: not grep "%rbp" %t
 
 ; The register-pressure scheduler should be able to schedule this in a
 ; way that does not require spills.
 @X = external global i64               ; <i64*> [#uses=25]
 
 define fastcc i64 @foo() nounwind {
-       %tmp = load volatile i64* @X            ; <i64> [#uses=7]
-       %tmp1 = load volatile i64* @X           ; <i64> [#uses=5]
-       %tmp2 = load volatile i64* @X           ; <i64> [#uses=3]
-       %tmp3 = load volatile i64* @X           ; <i64> [#uses=1]
-       %tmp4 = load volatile i64* @X           ; <i64> [#uses=5]
-       %tmp5 = load volatile i64* @X           ; <i64> [#uses=3]
-       %tmp6 = load volatile i64* @X           ; <i64> [#uses=2]
-       %tmp7 = load volatile i64* @X           ; <i64> [#uses=1]
-       %tmp8 = load volatile i64* @X           ; <i64> [#uses=1]
-       %tmp9 = load volatile i64* @X           ; <i64> [#uses=1]
-       %tmp10 = load volatile i64* @X          ; <i64> [#uses=1]
-       %tmp11 = load volatile i64* @X          ; <i64> [#uses=1]
-       %tmp12 = load volatile i64* @X          ; <i64> [#uses=1]
-       %tmp13 = load volatile i64* @X          ; <i64> [#uses=1]
-       %tmp14 = load volatile i64* @X          ; <i64> [#uses=1]
-       %tmp15 = load volatile i64* @X          ; <i64> [#uses=1]
-       %tmp16 = load volatile i64* @X          ; <i64> [#uses=1]
-       %tmp17 = load volatile i64* @X          ; <i64> [#uses=1]
-       %tmp18 = load volatile i64* @X          ; <i64> [#uses=1]
-       %tmp19 = load volatile i64* @X          ; <i64> [#uses=1]
-       %tmp20 = load volatile i64* @X          ; <i64> [#uses=1]
-       %tmp21 = load volatile i64* @X          ; <i64> [#uses=1]
-       %tmp22 = load volatile i64* @X          ; <i64> [#uses=1]
-       %tmp23 = load volatile i64* @X          ; <i64> [#uses=1]
+       %tmp = load volatile i64, i64* @X               ; <i64> [#uses=7]
+       %tmp1 = load volatile i64, i64* @X              ; <i64> [#uses=5]
+       %tmp2 = load volatile i64, i64* @X              ; <i64> [#uses=3]
+       %tmp3 = load volatile i64, i64* @X              ; <i64> [#uses=1]
+       %tmp4 = load volatile i64, i64* @X              ; <i64> [#uses=5]
+       %tmp5 = load volatile i64, i64* @X              ; <i64> [#uses=3]
+       %tmp6 = load volatile i64, i64* @X              ; <i64> [#uses=2]
+       %tmp7 = load volatile i64, i64* @X              ; <i64> [#uses=1]
+       %tmp8 = load volatile i64, i64* @X              ; <i64> [#uses=1]
+       %tmp9 = load volatile i64, i64* @X              ; <i64> [#uses=1]
+       %tmp10 = load volatile i64, i64* @X             ; <i64> [#uses=1]
+       %tmp11 = load volatile i64, i64* @X             ; <i64> [#uses=1]
+       %tmp12 = load volatile i64, i64* @X             ; <i64> [#uses=1]
+       %tmp13 = load volatile i64, i64* @X             ; <i64> [#uses=1]
+       %tmp14 = load volatile i64, i64* @X             ; <i64> [#uses=1]
+       %tmp15 = load volatile i64, i64* @X             ; <i64> [#uses=1]
+       %tmp16 = load volatile i64, i64* @X             ; <i64> [#uses=1]
+       %tmp17 = load volatile i64, i64* @X             ; <i64> [#uses=1]
+       %tmp18 = load volatile i64, i64* @X             ; <i64> [#uses=1]
+       %tmp19 = load volatile i64, i64* @X             ; <i64> [#uses=1]
+       %tmp20 = load volatile i64, i64* @X             ; <i64> [#uses=1]
+       %tmp21 = load volatile i64, i64* @X             ; <i64> [#uses=1]
+       %tmp22 = load volatile i64, i64* @X             ; <i64> [#uses=1]
+       %tmp23 = load volatile i64, i64* @X             ; <i64> [#uses=1]
        %tmp24 = call i64 @llvm.bswap.i64(i64 %tmp8)            ; <i64> [#uses=1]
        %tmp25 = add i64 %tmp6, %tmp5           ; <i64> [#uses=1]
        %tmp26 = add i64 %tmp25, %tmp4          ; <i64> [#uses=1]