| ; RUN: llc -march=xcore < %s | FileCheck %s |
| |
| declare i8 addrspace(1)* @llvm.xcore.getst.p1i8.p1i8(i8 addrspace(1)* %r) |
| declare void @llvm.xcore.msync.p1i8(i8 addrspace(1)* %r) |
| declare void @llvm.xcore.ssync() |
| declare void @llvm.xcore.mjoin.p1i8(i8 addrspace(1)* %r) |
| declare void @llvm.xcore.initsp.p1i8(i8 addrspace(1)* %r, i8* %value) |
| declare void @llvm.xcore.initpc.p1i8(i8 addrspace(1)* %r, i8* %value) |
| declare void @llvm.xcore.initlr.p1i8(i8 addrspace(1)* %r, i8* %value) |
| declare void @llvm.xcore.initcp.p1i8(i8 addrspace(1)* %r, i8* %value) |
| declare void @llvm.xcore.initdp.p1i8(i8 addrspace(1)* %r, i8* %value) |
| |
| define i8 addrspace(1)* @getst(i8 addrspace(1)* %r) { |
| ; CHECK: getst: |
| ; CHECK: getst r0, res[r0] |
| %result = call i8 addrspace(1)* @llvm.xcore.getst.p1i8.p1i8(i8 addrspace(1)* %r) |
| ret i8 addrspace(1)* %result |
| } |
| |
| define void @ssync() { |
| ; CHECK: ssync: |
| ; CHECK: ssync |
| call void @llvm.xcore.ssync() |
| ret void |
| } |
| |
| define void @mjoin(i8 addrspace(1)* %r) { |
| ; CHECK: mjoin: |
| ; CHECK: mjoin res[r0] |
| call void @llvm.xcore.mjoin.p1i8(i8 addrspace(1)* %r) |
| ret void |
| } |
| |
| define void @initsp(i8 addrspace(1)* %t, i8* %src) { |
| ; CHECK: initsp: |
| ; CHECK: init t[r0]:sp, r1 |
| call void @llvm.xcore.initsp.p1i8(i8 addrspace(1)* %t, i8* %src) |
| ret void |
| } |
| |
| define void @initpc(i8 addrspace(1)* %t, i8* %src) { |
| ; CHECK: initpc: |
| ; CHECK: init t[r0]:pc, r1 |
| call void @llvm.xcore.initpc.p1i8(i8 addrspace(1)* %t, i8* %src) |
| ret void |
| } |
| |
| define void @initlr(i8 addrspace(1)* %t, i8* %src) { |
| ; CHECK: initlr: |
| ; CHECK: init t[r0]:lr, r1 |
| call void @llvm.xcore.initlr.p1i8(i8 addrspace(1)* %t, i8* %src) |
| ret void |
| } |
| |
| define void @initcp(i8 addrspace(1)* %t, i8* %src) { |
| ; CHECK: initcp: |
| ; CHECK: init t[r0]:cp, r1 |
| call void @llvm.xcore.initcp.p1i8(i8 addrspace(1)* %t, i8* %src) |
| ret void |
| } |
| |
| define void @initdp(i8 addrspace(1)* %t, i8* %src) { |
| ; CHECK: initdp: |
| ; CHECK: init t[r0]:dp, r1 |
| call void @llvm.xcore.initdp.p1i8(i8 addrspace(1)* %t, i8* %src) |
| ret void |
| } |