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

Subversion Repositories openrisc_me

[/] [openrisc/] [tags/] [gdb/] [gdb-6.8/] [gdb-6.8.openrisc-2.1/] [sim/] [testsuite/] [sim/] [fr30/] [call.cgs] - Diff between revs 24 and 33

Only display areas with differences | Details | Blame | View Log

Rev 24 Rev 33
# 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
 
 

powered by: WebSVN 2.1.0

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