URL
https://opencores.org/ocsvn/openrisc_me/openrisc_me/trunk
Only display areas with differences |
Details |
Blame |
View Log
Rev 24 |
Rev 157 |
# fr30 testcase for call @$Ri
|
# fr30 testcase for call @$Ri
|
# mach(): fr30
|
# mach(): fr30
|
|
|
.include "testutils.inc"
|
.include "testutils.inc"
|
|
|
START
|
START
|
|
|
.text
|
.text
|
.global call
|
.global call
|
|
|
; Test call $Ri
|
; Test call $Ri
|
mvi_h_gr 0xdeadbeef,r9
|
mvi_h_gr 0xdeadbeef,r9
|
mvi_h_gr #func1,r0
|
mvi_h_gr #func1,r0
|
set_cc 0x0f ; condition codes shouldn't change
|
set_cc 0x0f ; condition codes shouldn't change
|
call1:
|
call1:
|
call @r0
|
call @r0
|
test_h_gr 0xbeefdead,r9
|
test_h_gr 0xbeefdead,r9
|
pass
|
pass
|
|
|
func1:
|
func1:
|
test_cc 1 1 1 1
|
test_cc 1 1 1 1
|
mvi_h_gr #call1,r7
|
mvi_h_gr #call1,r7
|
inci_h_gr 2,r7
|
inci_h_gr 2,r7
|
testr_h_dr r7,rp
|
testr_h_dr r7,rp
|
save_rp
|
save_rp
|
|
|
mvi_h_gr #func2,r0
|
mvi_h_gr #func2,r0
|
set_cc 0x0f ; condition codes shouldn't change
|
set_cc 0x0f ; condition codes shouldn't change
|
call2:
|
call2:
|
call:d @r0
|
call:d @r0
|
ldi:8 1,r0 ; Must assume this works
|
ldi:8 1,r0 ; Must assume this works
|
restore_rp
|
restore_rp
|
ret
|
ret
|
func2:
|
func2:
|
test_cc 1 1 1 1
|
test_cc 1 1 1 1
|
mvi_h_gr #call2,r7
|
mvi_h_gr #call2,r7
|
inci_h_gr 4,r7
|
inci_h_gr 4,r7
|
testr_h_dr r7,rp
|
testr_h_dr r7,rp
|
testr_h_gr 1,r0
|
testr_h_gr 1,r0
|
save_rp
|
save_rp
|
|
|
set_cc 0x0f ; condition codes shouldn't change
|
set_cc 0x0f ; condition codes shouldn't change
|
call3:
|
call3:
|
call func3
|
call func3
|
restore_rp
|
restore_rp
|
ret
|
ret
|
func3:
|
func3:
|
test_cc 1 1 1 1
|
test_cc 1 1 1 1
|
mvi_h_gr #call3,r7
|
mvi_h_gr #call3,r7
|
inci_h_gr 2,r7
|
inci_h_gr 2,r7
|
testr_h_dr r7,rp
|
testr_h_dr r7,rp
|
save_rp
|
save_rp
|
|
|
set_cc 0x0f ; condition codes shouldn't change
|
set_cc 0x0f ; condition codes shouldn't change
|
call4:
|
call4:
|
call:d func4
|
call:d func4
|
ldi:8 1,r0 ; Must assume this works
|
ldi:8 1,r0 ; Must assume this works
|
restore_rp
|
restore_rp
|
ret
|
ret
|
func4:
|
func4:
|
test_cc 1 1 1 1
|
test_cc 1 1 1 1
|
mvi_h_gr #call4,r7
|
mvi_h_gr #call4,r7
|
inci_h_gr 4,r7
|
inci_h_gr 4,r7
|
testr_h_dr r7,rp
|
testr_h_dr r7,rp
|
testr_h_gr 1,r0
|
testr_h_gr 1,r0
|
mvi_h_gr 0xbeefdead,r9
|
mvi_h_gr 0xbeefdead,r9
|
ret
|
ret
|
|
|
fail
|
fail
|
|
|
© copyright 1999-2024
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.