X-Git-Url: http://plrg.eecs.uci.edu/git/?a=blobdiff_plain;f=test%2FCodeGen%2FPowerPC%2Ffast-isel-call.ll;h=5d541e3a01f1385f60a59df54c29025e69e0e114;hb=19b86f670bb5005761ecdcbe41423fee7fd200cf;hp=223090523c4d187c00da72d3cbbe6323cb956804;hpb=eb1c51f8b393b2377f886502a35d2665770f7363;p=oota-llvm.git diff --git a/test/CodeGen/PowerPC/fast-isel-call.ll b/test/CodeGen/PowerPC/fast-isel-call.ll index 223090523c4..5d541e3a01f 100644 --- a/test/CodeGen/PowerPC/fast-isel-call.ll +++ b/test/CodeGen/PowerPC/fast-isel-call.ll @@ -1,4 +1,8 @@ -; RUN: llc < %s -O0 -verify-machineinstrs -fast-isel-abort -mtriple=powerpc64-unknown-linux-gnu -mcpu=pwr7 | FileCheck %s --check-prefix=ELF64 +; FIXME: FastISel currently returns false if it hits code that uses VSX +; registers and with -fast-isel-abort=1 turned on the test case will then fail. +; When fastisel better supports VSX fix up this test case. +; +; RUN: llc < %s -O0 -verify-machineinstrs -mattr=-vsx -fast-isel-abort=1 -mtriple=powerpc64-unknown-linux-gnu -mcpu=pwr7 | FileCheck %s --check-prefix=ELF64 define i32 @t1(i8 signext %a) nounwind { %1 = sext i8 %a to i32 @@ -52,7 +56,7 @@ declare zeroext i16 @t6(); declare signext i8 @t7(); declare zeroext i8 @t8(); -define i32 @t10(i32 %argc, i8** nocapture %argv) { +define i32 @t10(i32 %argc, i8** nocapture %argv) nounwind { entry: ; ELF64: t10 %call = call i32 @bar(i8 zeroext 0, i8 zeroext -8, i8 zeroext -69, i8 zeroext 28, i8 zeroext 40, i8 zeroext -70) @@ -81,7 +85,7 @@ define i32 @bar0(i32 %i) nounwind { ;define void @foo3() uwtable { ; %fptr = alloca i32 (i32)*, align 8 ; store i32 (i32)* @bar0, i32 (i32)** %fptr, align 8 -; %1 = load i32 (i32)** %fptr, align 8 +; %1 = load i32 (i32)*, i32 (i32)** %fptr, align 8 ; %call = call i32 %1(i32 0) ; ret void ;} @@ -93,9 +97,9 @@ define i32 @bar0(i32 %i) nounwind { ; ret i32 %tmp1 ;} -declare void @float_foo(float %f) ssp +declare void @float_foo(float %f) -define void @float_const() ssp { +define void @float_const() nounwind { entry: ; ELF64: float_const call void @float_foo(float 0x401C666660000000) @@ -104,7 +108,7 @@ entry: ret void } -define void @float_reg(float %dummy, float %f) ssp { +define void @float_reg(float %dummy, float %f) nounwind { entry: ; ELF64: float_reg call void @float_foo(float %f) @@ -112,9 +116,9 @@ entry: ret void } -declare void @double_foo(double %d) ssp +declare void @double_foo(double %d) -define void @double_const() ssp { +define void @double_const() nounwind { entry: ; ELF64: double_const call void @double_foo(double 0x1397723CCABD0000401C666660000000) @@ -123,7 +127,7 @@ entry: ret void } -define void @double_reg(double %dummy, double %d) ssp { +define void @double_reg(double %dummy, double %d) nounwind { entry: ; ELF64: double_reg call void @double_foo(double %d)