URL
https://opencores.org/ocsvn/openrisc_me/openrisc_me/trunk
Only display areas with differences |
Details |
Blame |
View Log
Rev 24 |
Rev 157 |
# sh testcase for ldrc, strc
|
# sh testcase for ldrc, strc
|
# mach: shdsp
|
# mach: shdsp
|
# as(shdsp): -defsym sim_cpu=1 -dsp
|
# as(shdsp): -defsym sim_cpu=1 -dsp
|
|
|
.include "testutils.inc"
|
.include "testutils.inc"
|
|
|
start
|
start
|
|
|
setrc_imm:
|
setrc_imm:
|
set_grs_a5a5
|
set_grs_a5a5
|
# Test setrc
|
# Test setrc
|
#
|
#
|
ldrs lstart
|
ldrs lstart
|
ldre lend
|
ldre lend
|
setrc #0xff
|
setrc #0xff
|
get_sr r1
|
get_sr r1
|
shlr16 r1
|
shlr16 r1
|
set_greg 0xfff, r0
|
set_greg 0xfff, r0
|
and r0, r1
|
and r0, r1
|
assertreg 0xff, r1
|
assertreg 0xff, r1
|
|
|
stc rs, r0 ! rs unchanged
|
stc rs, r0 ! rs unchanged
|
assertreg0 lstart
|
assertreg0 lstart
|
stc re, r0 ! re unchanged
|
stc re, r0 ! re unchanged
|
assertreg0 lend
|
assertreg0 lend
|
|
|
set_greg 0xa5a5a5a5, r0
|
set_greg 0xa5a5a5a5, r0
|
set_greg 0xa5a5a5a5, r1
|
set_greg 0xa5a5a5a5, r1
|
|
|
test_grs_a5a5
|
test_grs_a5a5
|
|
|
setrc_reg:
|
setrc_reg:
|
set_grs_a5a5
|
set_grs_a5a5
|
# Test setrc
|
# Test setrc
|
#
|
#
|
ldrs lstart
|
ldrs lstart
|
ldre lend
|
ldre lend
|
set_greg 0xfff, r0
|
set_greg 0xfff, r0
|
setrc r0
|
setrc r0
|
get_sr r1
|
get_sr r1
|
shlr16 r1
|
shlr16 r1
|
set_greg 0xfff, r0
|
set_greg 0xfff, r0
|
and r0, r1
|
and r0, r1
|
assertreg 0xfff, r1
|
assertreg 0xfff, r1
|
|
|
stc rs, r0 ! rs unchanged
|
stc rs, r0 ! rs unchanged
|
assertreg0 lstart
|
assertreg0 lstart
|
stc re, r0 ! re unchanged
|
stc re, r0 ! re unchanged
|
assertreg0 lend
|
assertreg0 lend
|
|
|
set_greg 0xa5a5a5a5, r0
|
set_greg 0xa5a5a5a5, r0
|
set_greg 0xa5a5a5a5, r1
|
set_greg 0xa5a5a5a5, r1
|
|
|
test_grs_a5a5
|
test_grs_a5a5
|
|
|
bra ldrc_imm
|
bra ldrc_imm
|
|
|
.global lstart
|
.global lstart
|
.align 2
|
.align 2
|
lstart: nop
|
lstart: nop
|
nop
|
nop
|
nop
|
nop
|
nop
|
nop
|
.global lend
|
.global lend
|
.align 2
|
.align 2
|
lend: nop
|
lend: nop
|
nop
|
nop
|
nop
|
nop
|
nop
|
nop
|
|
|
ldrc_imm:
|
ldrc_imm:
|
set_grs_a5a5
|
set_grs_a5a5
|
# Test ldrc
|
# Test ldrc
|
setrc #0x0 ! zero rc
|
setrc #0x0 ! zero rc
|
ldrc #0xa5
|
ldrc #0xa5
|
get_sr r1
|
get_sr r1
|
shlr16 r1
|
shlr16 r1
|
set_greg 0xfff, r0
|
set_greg 0xfff, r0
|
and r0, r1
|
and r0, r1
|
assertreg 0xa5, r1
|
assertreg 0xa5, r1
|
stc rs, r0 ! rs unchanged
|
stc rs, r0 ! rs unchanged
|
assertreg0 lstart
|
assertreg0 lstart
|
stc re, r0
|
stc re, r0
|
assertreg0 lend+1 ! bit 0 set in re
|
assertreg0 lend+1 ! bit 0 set in re
|
|
|
# fix up re for next test
|
# fix up re for next test
|
dt r0 ! Ugh! No DEC insn!
|
dt r0 ! Ugh! No DEC insn!
|
ldc r0, re
|
ldc r0, re
|
|
|
set_greg 0xa5a5a5a5, r0
|
set_greg 0xa5a5a5a5, r0
|
set_greg 0xa5a5a5a5, r1
|
set_greg 0xa5a5a5a5, r1
|
|
|
test_grs_a5a5
|
test_grs_a5a5
|
|
|
ldrc_reg:
|
ldrc_reg:
|
set_grs_a5a5
|
set_grs_a5a5
|
# Test ldrc
|
# Test ldrc
|
setrc #0x0 ! zero rc
|
setrc #0x0 ! zero rc
|
set_greg 0xa5a, r0
|
set_greg 0xa5a, r0
|
ldrc r0
|
ldrc r0
|
get_sr r1
|
get_sr r1
|
shlr16 r1
|
shlr16 r1
|
set_greg 0xfff, r0
|
set_greg 0xfff, r0
|
and r0, r1
|
and r0, r1
|
assertreg 0xa5a, r1
|
assertreg 0xa5a, r1
|
stc rs, r0 ! rs unchanged
|
stc rs, r0 ! rs unchanged
|
assertreg0 lstart
|
assertreg0 lstart
|
stc re, r0
|
stc re, r0
|
assertreg0 lend+1 ! bit 0 set in re
|
assertreg0 lend+1 ! bit 0 set in re
|
|
|
set_greg 0xa5a5a5a5, r0
|
set_greg 0xa5a5a5a5, r0
|
set_greg 0xa5a5a5a5, r1
|
set_greg 0xa5a5a5a5, r1
|
|
|
test_grs_a5a5
|
test_grs_a5a5
|
|
|
pass
|
pass
|
exit 0
|
exit 0
|
|
|
|
|
© copyright 1999-2024
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.