diff options
Diffstat (limited to 'llvm/test')
4 files changed, 35 insertions, 7 deletions
diff --git a/llvm/test/CodeGen/Mips/Fast-ISel/check-disabled-mcpus.ll b/llvm/test/CodeGen/Mips/Fast-ISel/check-disabled-mcpus.ll index 290e4ecb740..5594de8177d 100644 --- a/llvm/test/CodeGen/Mips/Fast-ISel/check-disabled-mcpus.ll +++ b/llvm/test/CodeGen/Mips/Fast-ISel/check-disabled-mcpus.ll @@ -1,3 +1,4 @@ +; Targets where we should not enable FastISel. ; RUN: llc -march=mips -mcpu=mips2 -O0 -relocation-model=pic \ ; RUN: -fast-isel-verbose <%s 2>&1 | FileCheck %s ; RUN: llc -march=mips -mcpu=mips3 -O0 -relocation-model=pic -target-abi n64 \ @@ -7,8 +8,16 @@ ; RUN: llc -march=mips -mcpu=mips32r6 -O0 -relocation-model=pic \ ; RUN: -fast-isel-verbose <%s 2>&1 | FileCheck %s + +; RUN: llc -march=mips -mattr=mips16 -O0 -relocation-model=pic \ +; RUN: -fast-isel-verbose <%s 2>&1 | FileCheck %s + ; RUN: llc -march=mips -mcpu=mips32r2 -mattr=+micromips -O0 -relocation-model=pic \ ; RUN: -fast-isel-verbose <%s 2>&1 | FileCheck %s +; RUN: llc -march=mips -mcpu=mips32r3 -mattr=+micromips -O0 -relocation-model=pic \ +; RUN: -fast-isel-verbose <%s 2>&1 | FileCheck %s +; RUN: llc -march=mips -mcpu=mips32r5 -mattr=+micromips -O0 -relocation-model=pic \ +; RUN: -fast-isel-verbose <%s 2>&1 | FileCheck %s ; RUN: llc -march=mips -mcpu=mips64 -O0 -relocation-model=pic -target-abi n64 \ ; RUN: -fast-isel-verbose <%s 2>&1 | FileCheck %s @@ -21,9 +30,26 @@ ; RUN: llc -march=mips -mcpu=mips32r6 -O0 -relocation-model=pic \ ; RUN: -fast-isel-verbose <%s 2>&1 | FileCheck %s -; CHECK: FastISel missed terminator: ret i32 0 +; Valid targets for FastISel. +; RUN: llc -march=mips -mcpu=mips32r0 -O0 -relocation-model=pic \ +; RUN: -fast-isel-verbose <%s 2>&1 | FileCheck %s -check-prefix=FISEL +; RUN: llc -march=mips -mcpu=mips32r2 -O0 -relocation-model=pic \ +; RUN: -fast-isel-verbose <%s 2>&1 | FileCheck %s -check-prefix=FISEL + +; The CHECK prefix is being used by those targets that do not support FastISel. +; By checking that we don't emit the "FastISel missed terminator..." message, +; we ensure that we do not generate code through FastISel. + +; CHECK-NOT: FastISel missed terminator: ret i64 0 + +; The above CHECK will only be valid as long as we *do* emit the missed +; terminator message for targets that support FastISel. If we add support +; for i64 return values in the future, then the following FISEL check-prefix +; will fail and we will have to come up with a new test. + +; FISEL: FastISel missed terminator: ret i64 0 -define i32 @foo() { +define i64 @foo() { entry: - ret i32 0 + ret i64 0 } diff --git a/llvm/test/CodeGen/Mips/Fast-ISel/double-arg.ll b/llvm/test/CodeGen/Mips/Fast-ISel/double-arg.ll index ee77d43d2b0..eb592189e60 100644 --- a/llvm/test/CodeGen/Mips/Fast-ISel/double-arg.ll +++ b/llvm/test/CodeGen/Mips/Fast-ISel/double-arg.ll @@ -1,5 +1,5 @@ -; RUN: not llc -march=mipsel -mcpu=mips32r2 -fast-isel -mattr=+fp64 < %s \ -; RUN: -fast-isel-abort=3 +; RUN: not llc -march=mipsel -mcpu=mips32r2 -mattr=+fp64 \ +; RUN: -O0 -relocation-model=pic -fast-isel-abort=3 < %s ; Check that FastISel aborts when we have 64bit FPU registers. FastISel currently ; supports AFGR64 only, which uses paired 32 bit registers. diff --git a/llvm/test/CodeGen/Mips/tailcall/tail-call-arguments-clobber.ll b/llvm/test/CodeGen/Mips/tailcall/tail-call-arguments-clobber.ll index f47adb6fbb2..b891b7d9072 100644 --- a/llvm/test/CodeGen/Mips/tailcall/tail-call-arguments-clobber.ll +++ b/llvm/test/CodeGen/Mips/tailcall/tail-call-arguments-clobber.ll @@ -21,6 +21,7 @@ declare i32 @func2(i32, i32, i32, i32, i32, i32) define i32 @func1(i32 %a, i32 %b, i32 %c, i32 %d, i32 %e, i32 %f){ +; MIPS32-LABEL: func1: ; MIPS32: lw ${{[0-9]+}}, {{[0-9]+}}($sp) ; MIPS32-NEXT: lw ${{[0-9]+}}, {{[0-9]+}}($sp) @@ -40,6 +41,7 @@ declare i64 @func4(i64, i64, i64, i64, i64, i64, i64, i64, i64, i64) define i64 @func3(i64 %a, i64 %b, i64 %c, i64 %d, i64 %e, i64 %f, i64 %g, i64 %h, i64 %i, i64 %j){ +; MIPS64-LABEL: func3: ; MIPS64: ld ${{[0-9]+}}, {{[0-9]+}}($sp) ; MIPS64-NEXT: ld ${{[0-9]+}}, {{[0-9]+}}($sp) diff --git a/llvm/test/DebugInfo/Mips/dsr-non-fixed-objects.ll b/llvm/test/DebugInfo/Mips/dsr-non-fixed-objects.ll index a45726fff61..91d932b50e4 100644 --- a/llvm/test/DebugInfo/Mips/dsr-non-fixed-objects.ll +++ b/llvm/test/DebugInfo/Mips/dsr-non-fixed-objects.ll @@ -1,6 +1,6 @@ -; RUN: llc -march=mips -mcpu=mips32r2 -O0 -filetype=obj <%s | \ +; RUN: llc -march=mips -mcpu=mips32r2 -O0 -filetype=obj -fast-isel=0 <%s | \ ; RUN: llvm-dwarfdump -debug-dump=all - | FileCheck %s -check-prefix=F2 -; RUN: llc -march=mips -mcpu=mips32r2 -O0 -filetype=obj <%s | \ +; RUN: llc -march=mips -mcpu=mips32r2 -O0 -filetype=obj -fast-isel=0 <%s | \ ; RUN: llvm-dwarfdump -debug-dump=all - | FileCheck %s -check-prefix=F3 declare void @llvm.dbg.declare(metadata, metadata, metadata) |