OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-stable/] [gdb-7.2/] [sim/] [testsuite/] [sim/] [cr16/] [testutils.inc] - Rev 841

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

Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.