summaryrefslogtreecommitdiffstats
path: root/llvm/test/CodeGen/PowerPC/named-reg-alloc-r2.ll
diff options
context:
space:
mode:
authorHal Finkel <hfinkel@anl.gov>2014-05-11 19:29:11 +0000
committerHal Finkel <hfinkel@anl.gov>2014-05-11 19:29:11 +0000
commit0d8db4679998706a3c02f2a52cfb6ce1cd8d8a85 (patch)
treebf14ea5ae0d3886fc70bffe9d485268d87a322b9 /llvm/test/CodeGen/PowerPC/named-reg-alloc-r2.ll
parentf0e086a0bc7eaee4a97082531aac856303d3208b (diff)
downloadbcm5719-llvm-0d8db4679998706a3c02f2a52cfb6ce1cd8d8a85.tar.gz
bcm5719-llvm-0d8db4679998706a3c02f2a52cfb6ce1cd8d8a85.zip
[PowerPC] Add global named register support
Support for the intrinsics that read from and write to global named registers is added for r1, r2 and r13 (depending on the subtarget). llvm-svn: 208509
Diffstat (limited to 'llvm/test/CodeGen/PowerPC/named-reg-alloc-r2.ll')
-rw-r--r--llvm/test/CodeGen/PowerPC/named-reg-alloc-r2.ll18
1 files changed, 18 insertions, 0 deletions
diff --git a/llvm/test/CodeGen/PowerPC/named-reg-alloc-r2.ll b/llvm/test/CodeGen/PowerPC/named-reg-alloc-r2.ll
new file mode 100644
index 00000000000..51e7e3ee033
--- /dev/null
+++ b/llvm/test/CodeGen/PowerPC/named-reg-alloc-r2.ll
@@ -0,0 +1,18 @@
+; RUN: not llc < %s -mtriple=powerpc-apple-darwin 2>&1 | FileCheck %s --check-prefix=CHECK-DARWIN
+; RUN: llc < %s -mtriple=powerpc-unknown-linux-gnu 2>&1 | FileCheck %s
+; RUN: llc < %s -mtriple=powerpc64-unknown-linux-gnu 2>&1 | FileCheck %s
+
+define i32 @get_reg() nounwind {
+entry:
+; FIXME: Include an allocatable-specific error message
+; CHECK-DARWIN: Invalid register name global variable
+ %reg = call i32 @llvm.read_register.i32(metadata !0)
+ ret i32 %reg
+
+; CHECK-LABEL: @get_reg
+; CHECK: mr 3, 2
+}
+
+declare i32 @llvm.read_register.i32(metadata) nounwind
+
+!0 = metadata !{metadata !"r2\00"}
OpenPOWER on IntegriCloud