[CodeGen] Fix FREM on 32-bit MSVC on x86
[oota-llvm.git] / test / CodeGen / PowerPC / 2007-11-16-landingpad-split.ll
index 3d3728dcde124fc82b9890401251b4832b1e547d..bd496704890f78b665e6f3e8412632b6ffd826cf 100644 (file)
@@ -1,4 +1,5 @@
-; RUN: llc < %s | FileCheck %s
+; RUN: llc -mcpu=g5 < %s | FileCheck %s
+; RUN: llc -mcpu=g5 -addr-sink-using-gep=1 < %s | FileCheck %s
 ;; Formerly crashed, see PR 1508
 target datalayout = "E-p:64:64:64-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"
 target triple = "powerpc64-apple-darwin8"
@@ -18,7 +19,7 @@ target triple = "powerpc64-apple-darwin8"
 ; CHECK: .cfi_endproc
 
 
-define void @Bork(i64 %range.0.0, i64 %range.0.1, i64 %size) {
+define void @Bork(i64 %range.0.0, i64 %range.0.1, i64 %size) personality i32 (...)* @__gxx_personality_v0 {
 entry:
        %effectiveRange = alloca %struct.Range, align 8         ; <%struct.Range*> [#uses=2]
        %tmp4 = call i8* @llvm.stacksave()              ; <i8*> [#uses=1]
@@ -28,17 +29,17 @@ entry:
                        to label %bb30.preheader unwind label %unwind
 
 bb30.preheader:                ; preds = %entry
-       %tmp26 = getelementptr %struct.Range* %effectiveRange, i64 0, i32 1             ; <i64*> [#uses=1]
+       %tmp26 = getelementptr %struct.Range, %struct.Range* %effectiveRange, i64 0, i32 1              ; <i64*> [#uses=1]
        br label %bb30
 
 unwind:                ; preds = %cond_true, %entry
-        %exn = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
+        %exn = landingpad {i8*, i32}
                  catch i8* null
        call void @llvm.stackrestore(i8* %tmp4)
         resume { i8*, i32 } %exn
 
 invcont23:             ; preds = %cond_true
-       %tmp27 = load i64* %tmp26, align 8              ; <i64> [#uses=1]
+       %tmp27 = load i64, i64* %tmp26, align 8         ; <i64> [#uses=1]
        %tmp28 = sub i64 %range_addr.1.0, %tmp27                ; <i64> [#uses=1]
        br label %bb30