summaryrefslogtreecommitdiffstats
path: root/llvm/test/CodeGen/Mips/llvm-ir/call.ll
diff options
context:
space:
mode:
authorDaniel Sanders <daniel.sanders@imgtec.com>2014-07-09 10:21:59 +0000
committerDaniel Sanders <daniel.sanders@imgtec.com>2014-07-09 10:21:59 +0000
commitf5a5fbd3f4cd3e7b8b0f96a2dc57d35b04851f1f (patch)
tree92bf7b129bb4c6b4b93fae6436c9dc8b45bb5cfc /llvm/test/CodeGen/Mips/llvm-ir/call.ll
parent338513b3fa3f1f9b7d2311b5e8bd6a3540dbb0da (diff)
downloadbcm5719-llvm-f5a5fbd3f4cd3e7b8b0f96a2dc57d35b04851f1f.tar.gz
bcm5719-llvm-f5a5fbd3f4cd3e7b8b0f96a2dc57d35b04851f1f.zip
[mips][mips64r6] Use JALR for indirect branches instead of JR (which is not available on MIPS32r6/MIPS64r6)
Summary: This completes the change to use JALR instead of JR on MIPS32r6/MIPS64r6. Reviewers: jkolek, vmedic, zoran.jovanovic, dsanders Reviewed By: dsanders Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D4269 llvm-svn: 212605
Diffstat (limited to 'llvm/test/CodeGen/Mips/llvm-ir/call.ll')
-rw-r--r--llvm/test/CodeGen/Mips/llvm-ir/call.ll12
1 files changed, 9 insertions, 3 deletions
diff --git a/llvm/test/CodeGen/Mips/llvm-ir/call.ll b/llvm/test/CodeGen/Mips/llvm-ir/call.ll
index 0752fc7ac7d..4cbf43cae28 100644
--- a/llvm/test/CodeGen/Mips/llvm-ir/call.ll
+++ b/llvm/test/CodeGen/Mips/llvm-ir/call.ll
@@ -3,8 +3,11 @@
; FIXME: We should remove the need for -enable-mips-tail-calls
; RUN: llc -march=mips -mcpu=mips32 -enable-mips-tail-calls < %s | FileCheck %s -check-prefix=ALL -check-prefix=O32
; RUN: llc -march=mips -mcpu=mips32r2 -enable-mips-tail-calls < %s | FileCheck %s -check-prefix=ALL -check-prefix=O32
+; RUN: llc -march=mips -mcpu=mips32r6 -enable-mips-tail-calls < %s | FileCheck %s -check-prefix=ALL -check-prefix=O32
; RUN: llc -march=mips64 -mcpu=mips4 -enable-mips-tail-calls < %s | FileCheck %s -check-prefix=ALL -check-prefix=N64
; RUN: llc -march=mips64 -mcpu=mips64 -enable-mips-tail-calls < %s | FileCheck %s -check-prefix=ALL -check-prefix=N64
+; RUN: llc -march=mips64 -mcpu=mips64r2 -enable-mips-tail-calls < %s | FileCheck %s -check-prefix=ALL -check-prefix=N64
+; RUN: llc -march=mips64 -mcpu=mips64r6 -enable-mips-tail-calls < %s | FileCheck %s -check-prefix=ALL -check-prefix=N64
declare void @extern_void_void()
declare i32 @extern_i32_void()
@@ -63,7 +66,8 @@ define void @musttail_call_void_void() {
; N64: ld $[[TGT:[0-9]+]], %call16(extern_void_void)($gp)
-; ALL: jr $[[TGT]]
+; NOT-R6: jr $[[TGT]]
+; R6: r6.jr $[[TGT]]
musttail call void @extern_void_void()
ret void
@@ -76,7 +80,8 @@ define i32 @musttail_call_i32_void() {
; N64: ld $[[TGT:[0-9]+]], %call16(extern_i32_void)($gp)
-; ALL: jr $[[TGT]]
+; NOT-R6: jr $[[TGT]]
+; R6: r6.jr $[[TGT]]
%1 = musttail call i32 @extern_i32_void()
ret i32 %1
@@ -89,7 +94,8 @@ define float @musttail_call_float_void() {
; N64: ld $[[TGT:[0-9]+]], %call16(extern_float_void)($gp)
-; ALL: jr $[[TGT]]
+; NOT-R6: jr $[[TGT]]
+; R6: r6.jr $[[TGT]]
%1 = musttail call float @extern_float_void()
ret float %1
OpenPOWER on IntegriCloud