Add support for part-word atomics for PPC
[oota-llvm.git] / test / CodeGen / PowerPC / 2010-02-12-saveCR.ll
index 79e8f96b39901584abc6e87dd8f5ba39da2c040a..b0c37b80ed2f7ccad1f8685c21d1d0fc3c3b8d62 100644 (file)
@@ -1,4 +1,4 @@
-; RUN: llc < %s -mtriple=powerpc-apple-darwin -mcpu=g4 | FileCheck %s
+; RUN: llc < %s -mtriple=powerpc-apple-darwin -mcpu=g4 -break-anti-dependencies=none | FileCheck %s
 ; ModuleID = 'hh.c'
 target datalayout = "E-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64-f128:64:128-n32"
 target triple = "powerpc-apple-darwin9.6"
@@ -8,16 +8,15 @@ entry:
 ; Note that part of what is being checked here is proper register reuse.
 ; CHECK: mfcr [[T1:r[0-9]+]]                         ; cr2
 ; CHECK: lis [[T2:r[0-9]+]], 1
-; FIXME: There should only be one lis needed here!
-; CHECK: lis [[T3:r[0-9]+]], 1
 ; CHECK: addi r3, r1, 72
 ; CHECK: rlwinm [[T1]], [[T1]], 8, 0, 31
 ; CHECK: ori [[T2]], [[T2]], 34540
-; CHECK: ori [[T3]], [[T3]], 34536
 ; CHECK: stwx [[T1]], r1, [[T2]]
+; CHECK: lis [[T3:r[0-9]+]], 1
 ; CHECK: mfcr [[T4:r[0-9]+]]                         ; cr3
+; CHECK: ori [[T3]], [[T3]], 34536
 ; CHECK: rlwinm [[T4]], [[T4]], 12, 0, 31
-; CHECK: stwx r4, r1, [[T3]]
+; CHECK: stwx [[T4]], r1, [[T3]]
   %x = alloca [100000 x i8]                       ; <[100000 x i8]*> [#uses=1]
   %"alloca point" = bitcast i32 0 to i32          ; <i32> [#uses=0]
   %x1 = bitcast [100000 x i8]* %x to i8*          ; <i8*> [#uses=1]