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

Subversion Repositories or1k

[/] [or1k/] [branches/] [oc/] [gdb-5.0/] [sim/] [testsuite/] [d30v-elf/] [br-djsr.S] - Rev 1765

Compare with Previous | Blame | View Log

        # Test macro

        .macro assert reg,value
        cmpeq f0,\reg,\value
        bra/fx fail
        .endm

        
        # PR 18230
        
        add  r62,r0,0xffffffff || nop
        add  r1,r0,24 || nop
        djsr r1,test_end
        add  r2,r0,r62
test_end:       nop
        
        assert r2, 0x00000030
        assert r62, 0x00000030

                        
# check return address correctly set by a djsr insn

        add r3, r0, last
        sub r3, r3, start
start:  
        djsr r3, dest
        add r2, r2, 1 || nop
        add r2, r2, 1 || nop
        add r2, r2, 1 || nop
        add r2, r2, 1 || nop
        add r2, r2, 1 || nop
        add r2, r2, 1 || nop
        add r2, r2, 1 || nop
        add r2, r2, 1 || nop
        add r2, r2, 1 || nop
        add r2, r2, 1 || nop
        add r2, r2, 1 || nop
        add r2, r2, 1 || nop
        add r2, r2, 1 || nop
        add r2, r2, 1 || nop
        add r2, r2, 1 || nop
        add r2, r2, 1 || nop
        add r2, r2, 1 || nop
last:
        add r2, r2, 1 || nop
nexti:  
        add r2, r2, 1 || nop
        add r2, r2, 1 || nop
        add r2, r2, 1 || nop
        add r2, r2, 1 || nop
        add r2, r2, 1 || nop
        add r2, r2, 1 || nop
        add r2, r2, 1 || nop
        add r2, r2, 1 || nop
        add r2, r2, 1 || nop
        add r2, r2, 1 || nop
        add r2, r2, 1 || nop
        add r2, r2, 1 || nop
        add r2, r2, 1 || nop

.align 4
dest:

        assert r62,nexti



        # all okay
        bra ok
                
ok:
        add r2, r0, 0
        .long 0x0e000004
        nop

fail:
        add r2, r0, 47
        .long 0x0e000004
        nop

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.