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

Subversion Repositories openrisc_me

[/] [openrisc/] [trunk/] [gnu-src/] [gdb-6.8/] [sim/] [testsuite/] [sim/] [sh/] [ldrc.s] - Diff between revs 24 and 157

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
 
 
 
 

powered by: WebSVN 2.1.0

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