summaryrefslogtreecommitdiffstats
path: root/llvm/test/CodeGen/XCore
diff options
context:
space:
mode:
authorRichard Osborne <richard@xmos.com>2011-08-18 13:00:48 +0000
committerRichard Osborne <richard@xmos.com>2011-08-18 13:00:48 +0000
commit56f3b7022599d7c0372848e7089db2bb2ca82530 (patch)
tree5c78df4852df0f87b8ab58d76c2902fe10c20f2d /llvm/test/CodeGen/XCore
parent17ed020569957e2031be9b4e15a7f1716faa6915 (diff)
downloadbcm5719-llvm-56f3b7022599d7c0372848e7089db2bb2ca82530.tar.gz
bcm5719-llvm-56f3b7022599d7c0372848e7089db2bb2ca82530.zip
Add intrinsics for SETEV, GETED, GETET.
llvm-svn: 137938
Diffstat (limited to 'llvm/test/CodeGen/XCore')
-rw-r--r--llvm/test/CodeGen/XCore/misc-intrinsics.ll18
-rw-r--r--llvm/test/CodeGen/XCore/resources.ll9
2 files changed, 27 insertions, 0 deletions
diff --git a/llvm/test/CodeGen/XCore/misc-intrinsics.ll b/llvm/test/CodeGen/XCore/misc-intrinsics.ll
index 458f23f28f0..6d39d77929a 100644
--- a/llvm/test/CodeGen/XCore/misc-intrinsics.ll
+++ b/llvm/test/CodeGen/XCore/misc-intrinsics.ll
@@ -6,6 +6,8 @@ declare i32 @llvm.xcore.crc32(i32, i32, i32)
declare %0 @llvm.xcore.crc8(i32, i32, i32)
declare i32 @llvm.xcore.zext(i32, i32)
declare i32 @llvm.xcore.sext(i32, i32)
+declare i32 @llvm.xcore.geted()
+declare i32 @llvm.xcore.getet()
define i32 @bitrev(i32 %val) {
; CHECK: bitrev:
@@ -55,3 +57,19 @@ define i32 @sexti(i32 %a) {
%result = call i32 @llvm.xcore.sext(i32 %a, i32 4)
ret i32 %result
}
+
+define i32 @geted() {
+; CHECK: geted:
+; CHECK: get r11, ed
+; CHECK-NEXT: mov r0, r11
+ %result = call i32 @llvm.xcore.geted()
+ ret i32 %result
+}
+
+define i32 @getet() {
+; CHECK: getet:
+; CHECK: get r11, et
+; CHECK-NEXT: mov r0, r11
+ %result = call i32 @llvm.xcore.getet()
+ ret i32 %result
+}
diff --git a/llvm/test/CodeGen/XCore/resources.ll b/llvm/test/CodeGen/XCore/resources.ll
index f0f528f37d8..8f00fed160b 100644
--- a/llvm/test/CodeGen/XCore/resources.ll
+++ b/llvm/test/CodeGen/XCore/resources.ll
@@ -20,6 +20,7 @@ declare i32 @llvm.xcore.getts.p1i8(i8 addrspace(1)* %r)
declare void @llvm.xcore.syncr.p1i8(i8 addrspace(1)* %r)
declare void @llvm.xcore.settw.p1i8(i8 addrspace(1)* %r, i32 %value)
declare void @llvm.xcore.setv.p1i8(i8 addrspace(1)* %r, i8* %p)
+declare void @llvm.xcore.setev.p1i8(i8 addrspace(1)* %r, i8* %p)
declare void @llvm.xcore.eeu.p1i8(i8 addrspace(1)* %r)
declare void @llvm.xcore.setclk.p1i8.p1i8(i8 addrspace(1)* %a, i8 addrspace(1)* %b)
declare void @llvm.xcore.setrdy.p1i8.p1i8(i8 addrspace(1)* %a, i8 addrspace(1)* %b)
@@ -175,6 +176,14 @@ define void @setv(i8 addrspace(1)* %r, i8* %p) {
ret void
}
+define void @setev(i8 addrspace(1)* %r, i8* %p) {
+; CHECK: setev:
+; CHECK: mov r11, r1
+; CHECK-NEXT: setev res[r0], r11
+ call void @llvm.xcore.setev.p1i8(i8 addrspace(1)* %r, i8* %p)
+ ret void
+}
+
define void @eeu(i8 addrspace(1)* %r) {
; CHECK: eeu:
; CHECK: eeu res[r0]
OpenPOWER on IntegriCloud