URL
https://opencores.org/ocsvn/openrisc_me/openrisc_me/trunk
Subversion Repositories openrisc_me
[/] [openrisc/] [trunk/] [gnu-src/] [gdb-7.2/] [sim/] [testsuite/] [sim/] [cr16/] [testutils.inc] - Rev 330
Compare with Previous | Blame | View Log
# r0-r5 are used as tmps, consider them call clobbered by these macros.
.macro START
.data
failmsg:
.ascii "fail\n"
passmsg:
.ascii "pass\n"
.text
.global _START
_START:
.endm
.macro exit rc
movw $\rc,r2
movw $0x410,r0
excp 8
.endm
.macro pass
movw $1, r2
movd $passmsg,(r4,r3)
movw $5, r5
movw $0x404, r0
excp 8
exit 0
.endm
.macro fail
movw $1, r2
movd $failmsg,(r4,r3)
movw $5, r5
movw $0x404, r0
excp 8
exit 1
.endm
# Other macros know this only clobbers r0.
.macro test_h_gr reg, val
movw $\val,r0
cmpw \reg, r0
beq test_gr
fail
test_gr:
.endm
.macro test_h_grp regp, val
movd $\val,(r1,r0)
cmpd \regp,(r1,r0)
beq test_grp
fail
test_grp:
.endm
.macro mvi_h_condbit val
movw $0, r0
movw $\val, r1
cmpw r0, r1
.endm
.macro test_h_condbit val
.if \val
br test_c1
fail
test_c1:
.else
br test_c0
fail
test_c0:
.endif
.endm