X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=test%2FCodeGen%2FXCore%2Fresources.ll;h=87bf3c204dc2e0a2888c1ce94abe8d0d26bbc3b1;hb=813f44a29fd0fd140127023222d0633e23783bcc;hp=b34331fa61609c5a3efefbe1d0188ba1ae4c98fe;hpb=292f62e06f15eb45008c6965a5d9f7e9713431e9;p=oota-llvm.git diff --git a/test/CodeGen/XCore/resources.ll b/test/CodeGen/XCore/resources.ll index b34331fa616..87bf3c204dc 100644 --- a/test/CodeGen/XCore/resources.ll +++ b/test/CodeGen/XCore/resources.ll @@ -9,160 +9,249 @@ declare void @llvm.xcore.out.p1i8(i8 addrspace(1)* %r, i32 %value) declare void @llvm.xcore.outt.p1i8(i8 addrspace(1)* %r, i32 %value) declare void @llvm.xcore.outct.p1i8(i8 addrspace(1)* %r, i32 %value) declare void @llvm.xcore.chkct.p1i8(i8 addrspace(1)* %r, i32 %value) +declare i32 @llvm.xcore.testct.p1i8(i8 addrspace(1)* %r) +declare i32 @llvm.xcore.testwct.p1i8(i8 addrspace(1)* %r) declare void @llvm.xcore.setd.p1i8(i8 addrspace(1)* %r, i32 %value) declare void @llvm.xcore.setc.p1i8(i8 addrspace(1)* %r, i32 %value) declare i32 @llvm.xcore.inshr.p1i8(i8 addrspace(1)* %r, i32 %value) declare i32 @llvm.xcore.outshr.p1i8(i8 addrspace(1)* %r, i32 %value) +declare void @llvm.xcore.clrpt.p1i8(i8 addrspace(1)* %r) declare void @llvm.xcore.setpt.p1i8(i8 addrspace(1)* %r, i32 %value) 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.edu.p1i8(i8 addrspace(1)* %r) +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) +declare void @llvm.xcore.setpsc.p1i8(i8 addrspace(1)* %r, i32 %value) +declare i32 @llvm.xcore.peek.p1i8(i8 addrspace(1)* %r) +declare i32 @llvm.xcore.endin.p1i8(i8 addrspace(1)* %r) define i8 addrspace(1)* @getr() { -; CHECK: getr: +; CHECK-LABEL: getr: ; CHECK: getr r0, 5 %result = call i8 addrspace(1)* @llvm.xcore.getr.p1i8(i32 5) ret i8 addrspace(1)* %result } define void @freer(i8 addrspace(1)* %r) { -; CHECK: freer: +; CHECK-LABEL: freer: ; CHECK: freer res[r0] call void @llvm.xcore.freer.p1i8(i8 addrspace(1)* %r) ret void } define i32 @in(i8 addrspace(1)* %r) { -; CHECK: in: +; CHECK-LABEL: in: ; CHECK: in r0, res[r0] %result = call i32 @llvm.xcore.in.p1i8(i8 addrspace(1)* %r) ret i32 %result } define i32 @int(i8 addrspace(1)* %r) { -; CHECK: int: +; CHECK-LABEL: int: ; CHECK: int r0, res[r0] %result = call i32 @llvm.xcore.int.p1i8(i8 addrspace(1)* %r) ret i32 %result } define i32 @inct(i8 addrspace(1)* %r) { -; CHECK: inct: +; CHECK-LABEL: inct: ; CHECK: inct r0, res[r0] %result = call i32 @llvm.xcore.inct.p1i8(i8 addrspace(1)* %r) ret i32 %result } define void @out(i8 addrspace(1)* %r, i32 %value) { -; CHECK: out: +; CHECK-LABEL: out: ; CHECK: out res[r0], r1 call void @llvm.xcore.out.p1i8(i8 addrspace(1)* %r, i32 %value) ret void } define void @outt(i8 addrspace(1)* %r, i32 %value) { -; CHECK: outt: +; CHECK-LABEL: outt: ; CHECK: outt res[r0], r1 call void @llvm.xcore.outt.p1i8(i8 addrspace(1)* %r, i32 %value) ret void } define void @outct(i8 addrspace(1)* %r, i32 %value) { -; CHECK: outct: +; CHECK-LABEL: outct: ; CHECK: outct res[r0], r1 call void @llvm.xcore.outct.p1i8(i8 addrspace(1)* %r, i32 %value) ret void } define void @outcti(i8 addrspace(1)* %r) { -; CHECK: outcti: +; CHECK-LABEL: outcti: ; CHECK: outct res[r0], 11 call void @llvm.xcore.outct.p1i8(i8 addrspace(1)* %r, i32 11) ret void } define void @chkct(i8 addrspace(1)* %r, i32 %value) { -; CHECK: chkct: +; CHECK-LABEL: chkct: ; CHECK: chkct res[r0], r1 call void @llvm.xcore.chkct.p1i8(i8 addrspace(1)* %r, i32 %value) ret void } define void @chkcti(i8 addrspace(1)* %r) { -; CHECK: chkcti: +; CHECK-LABEL: chkcti: ; CHECK: chkct res[r0], 11 call void @llvm.xcore.chkct.p1i8(i8 addrspace(1)* %r, i32 11) ret void } define void @setd(i8 addrspace(1)* %r, i32 %value) { -; CHECK: setd: +; CHECK-LABEL: setd: ; CHECK: setd res[r0], r1 call void @llvm.xcore.setd.p1i8(i8 addrspace(1)* %r, i32 %value) ret void } define void @setc(i8 addrspace(1)* %r, i32 %value) { -; CHECK: setc: +; CHECK-LABEL: setc: ; CHECK: setc res[r0], r1 call void @llvm.xcore.setc.p1i8(i8 addrspace(1)* %r, i32 %value) ret void } define void @setci(i8 addrspace(1)* %r) { -; CHECK: setci: +; CHECK-LABEL: setci: ; CHECK: setc res[r0], 2 call void @llvm.xcore.setc.p1i8(i8 addrspace(1)* %r, i32 2) ret void } define i32 @inshr(i32 %value, i8 addrspace(1)* %r) { -; CHECK: inshr: +; CHECK-LABEL: inshr: ; CHECK: inshr r0, res[r1] %result = call i32 @llvm.xcore.inshr.p1i8(i8 addrspace(1)* %r, i32 %value) ret i32 %result } define i32 @outshr(i32 %value, i8 addrspace(1)* %r) { -; CHECK: outshr: +; CHECK-LABEL: outshr: ; CHECK: outshr res[r1], r0 %result = call i32 @llvm.xcore.outshr.p1i8(i8 addrspace(1)* %r, i32 %value) ret i32 %result } +define void @clrpt(i8 addrspace(1)* %r) { +; CHECK-LABEL: clrpt: +; CHECK: clrpt res[r0] + call void @llvm.xcore.clrpt.p1i8(i8 addrspace(1)* %r) + ret void +} + define void @setpt(i8 addrspace(1)* %r, i32 %value) { -; CHECK: setpt: +; CHECK-LABEL: setpt: ; CHECK: setpt res[r0], r1 call void @llvm.xcore.setpt.p1i8(i8 addrspace(1)* %r, i32 %value) ret void } define i32 @getts(i8 addrspace(1)* %r) { -; CHECK: getts: +; CHECK-LABEL: getts: ; CHECK: getts r0, res[r0] %result = call i32 @llvm.xcore.getts.p1i8(i8 addrspace(1)* %r) ret i32 %result } define void @syncr(i8 addrspace(1)* %r) { -; CHECK: syncr: +; CHECK-LABEL: syncr: ; CHECK: syncr res[r0] call void @llvm.xcore.syncr.p1i8(i8 addrspace(1)* %r) ret void } define void @settw(i8 addrspace(1)* %r, i32 %value) { -; CHECK: settw: +; CHECK-LABEL: settw: ; CHECK: settw res[r0], r1 call void @llvm.xcore.settw.p1i8(i8 addrspace(1)* %r, i32 %value) ret void } define void @setv(i8 addrspace(1)* %r, i8* %p) { -; CHECK: setv: +; CHECK-LABEL: setv: ; CHECK: mov r11, r1 ; CHECK-NEXT: setv res[r0], r11 call void @llvm.xcore.setv.p1i8(i8 addrspace(1)* %r, i8* %p) ret void } + +define void @setev(i8 addrspace(1)* %r, i8* %p) { +; CHECK-LABEL: 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 @edu(i8 addrspace(1)* %r) { +; CHECK-LABEL: edu: +; CHECK: edu res[r0] + call void @llvm.xcore.edu.p1i8(i8 addrspace(1)* %r) + ret void +} + +define void @eeu(i8 addrspace(1)* %r) { +; CHECK-LABEL: eeu: +; CHECK: eeu res[r0] + call void @llvm.xcore.eeu.p1i8(i8 addrspace(1)* %r) + ret void +} + +define void @setclk(i8 addrspace(1)* %a, i8 addrspace(1)* %b) { +; CHECK: setclk +; CHECK: setclk res[r0], r1 + call void @llvm.xcore.setclk.p1i8.p1i8(i8 addrspace(1)* %a, i8 addrspace(1)* %b) + ret void +} + +define void @setrdy(i8 addrspace(1)* %a, i8 addrspace(1)* %b) { +; CHECK: setrdy +; CHECK: setrdy res[r0], r1 + call void @llvm.xcore.setrdy.p1i8.p1i8(i8 addrspace(1)* %a, i8 addrspace(1)* %b) + ret void +} + +define void @setpsc(i8 addrspace(1)* %r, i32 %value) { +; CHECK: setpsc +; CHECK: setpsc res[r0], r1 + call void @llvm.xcore.setpsc.p1i8(i8 addrspace(1)* %r, i32 %value) + ret void +} + +define i32 @peek(i8 addrspace(1)* %r) { +; CHECK-LABEL: peek: +; CHECK: peek r0, res[r0] + %result = call i32 @llvm.xcore.peek.p1i8(i8 addrspace(1)* %r) + ret i32 %result +} + +define i32 @endin(i8 addrspace(1)* %r) { +; CHECK-LABEL: endin: +; CHECK: endin r0, res[r0] + %result = call i32 @llvm.xcore.endin.p1i8(i8 addrspace(1)* %r) + ret i32 %result +} + +define i32 @testct(i8 addrspace(1)* %r) { +; CHECK-LABEL: testct: +; CHECK: testct r0, res[r0] + %result = call i32 @llvm.xcore.testct.p1i8(i8 addrspace(1)* %r) + ret i32 %result +} + +define i32 @testwct(i8 addrspace(1)* %r) { +; CHECK-LABEL: testwct: +; CHECK: testwct r0, res[r0] + %result = call i32 @llvm.xcore.testwct.p1i8(i8 addrspace(1)* %r) + ret i32 %result +}