summaryrefslogtreecommitdiffstats
path: root/llvm/test/CodeGen/XCore
diff options
context:
space:
mode:
authorRichard Osborne <richard@xmos.com>2014-03-06 16:37:48 +0000
committerRichard Osborne <richard@xmos.com>2014-03-06 16:37:48 +0000
commit47155af5eba79a0b23f46fb8da20fd34fd678723 (patch)
treea377d1a89b3d3c0dd2029e5d27c1debe42c9e79e /llvm/test/CodeGen/XCore
parent28bfb48fd09218420242f72fc9998adebefb70e2 (diff)
downloadbcm5719-llvm-47155af5eba79a0b23f46fb8da20fd34fd678723.tar.gz
bcm5719-llvm-47155af5eba79a0b23f46fb8da20fd34fd678723.zip
[XCore] Add support for the "m" inline asm constraint.
Summary: This provides support for CP and DP relative global accesses in inline asm. Reviewers: robertlytton Reviewed By: robertlytton Differential Revision: http://llvm-reviews.chandlerc.com/D2943 llvm-svn: 203129
Diffstat (limited to 'llvm/test/CodeGen/XCore')
-rw-r--r--llvm/test/CodeGen/XCore/inline-asm.ll21
1 files changed, 21 insertions, 0 deletions
diff --git a/llvm/test/CodeGen/XCore/inline-asm.ll b/llvm/test/CodeGen/XCore/inline-asm.ll
index af3edd1544a..e9f5b576999 100644
--- a/llvm/test/CodeGen/XCore/inline-asm.ll
+++ b/llvm/test/CodeGen/XCore/inline-asm.ll
@@ -30,3 +30,24 @@ entry:
tail call void asm sideeffect "foo ${0:n}", "i"(i32 99) nounwind
ret void
}
+
+@x = external global i32
+@y = external global i32, section ".cp.rodata"
+
+; CHECK-LABEL: f5:
+; CHECK: ldw r0, dp[x]
+; CHECK: retsp 0
+define i32 @f5() nounwind {
+entry:
+ %asmtmp = call i32 asm "ldw $0, $1", "=r,*m"(i32* @x) nounwind
+ ret i32 %asmtmp
+}
+
+; CHECK-LABEL: f6:
+; CHECK: ldw r0, cp[y]
+; CHECK: retsp 0
+define i32 @f6() nounwind {
+entry:
+ %asmtmp = call i32 asm "ldw $0, $1", "=r,*m"(i32* @y) nounwind
+ ret i32 %asmtmp
+}
OpenPOWER on IntegriCloud