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/] [sh/] [resbank.s] - Diff between revs 24 and 33

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

Rev 24 Rev 33
# sh testcase for ldbank stbank resbank
# sh testcase for ldbank stbank resbank
# mach:  all
# mach:  all
# as(sh):       -defsym sim_cpu=0
# as(sh):       -defsym sim_cpu=0
# as(shdsp):    -defsym sim_cpu=1 -dsp
# as(shdsp):    -defsym sim_cpu=1 -dsp
 
 
        .include "testutils.inc"
        .include "testutils.inc"
 
 
        .macro  SEND reg bankno regno
        .macro  SEND reg bankno regno
        set_greg ((\bankno << 7) + (\regno << 2)), \reg
        set_greg ((\bankno << 7) + (\regno << 2)), \reg
        .endm
        .endm
 
 
        start
        start
 
 
stbank_1:
stbank_1:
        set_grs_a5a5
        set_grs_a5a5
        mov     #0, r0
        mov     #0, r0
        SEND    r1, 0, 0
        SEND    r1, 0, 0
        stbank  r0, @r1
        stbank  r0, @r1
        mov     #1, r0
        mov     #1, r0
        SEND    r1, 0, 1
        SEND    r1, 0, 1
        stbank  r0, @r1
        stbank  r0, @r1
        mov     #2, r0
        mov     #2, r0
        SEND    r1, 0, 2
        SEND    r1, 0, 2
        stbank  r0, @r1
        stbank  r0, @r1
        mov     #3, r0
        mov     #3, r0
        SEND    r1, 0, 3
        SEND    r1, 0, 3
        stbank  r0, @r1
        stbank  r0, @r1
        mov     #4, r0
        mov     #4, r0
        SEND    r1, 0, 4
        SEND    r1, 0, 4
        stbank  r0, @r1
        stbank  r0, @r1
        mov     #5, r0
        mov     #5, r0
        SEND    r1, 0, 5
        SEND    r1, 0, 5
        stbank  r0, @r1
        stbank  r0, @r1
        mov     #6, r0
        mov     #6, r0
        SEND    r1, 0, 6
        SEND    r1, 0, 6
        stbank  r0, @r1
        stbank  r0, @r1
        mov     #7, r0
        mov     #7, r0
        SEND    r1, 0, 7
        SEND    r1, 0, 7
        stbank  r0, @r1
        stbank  r0, @r1
        mov     #8, r0
        mov     #8, r0
        SEND    r1, 0, 8
        SEND    r1, 0, 8
        stbank  r0, @r1
        stbank  r0, @r1
        mov     #9, r0
        mov     #9, r0
        SEND    r1, 0, 9
        SEND    r1, 0, 9
        stbank  r0, @r1
        stbank  r0, @r1
        mov     #10, r0
        mov     #10, r0
        SEND    r1, 0, 10
        SEND    r1, 0, 10
        stbank  r0, @r1
        stbank  r0, @r1
        mov     #11, r0
        mov     #11, r0
        SEND    r1, 0, 11
        SEND    r1, 0, 11
        stbank  r0, @r1
        stbank  r0, @r1
        mov     #12, r0
        mov     #12, r0
        SEND    r1, 0, 12
        SEND    r1, 0, 12
        stbank  r0, @r1
        stbank  r0, @r1
        mov     #13, r0
        mov     #13, r0
        SEND    r1, 0, 13
        SEND    r1, 0, 13
        stbank  r0, @r1
        stbank  r0, @r1
        mov     #14, r0
        mov     #14, r0
        SEND    r1, 0, 14
        SEND    r1, 0, 14
        stbank  r0, @r1
        stbank  r0, @r1
        mov     #15, r0
        mov     #15, r0
        SEND    r1, 0, 15
        SEND    r1, 0, 15
        stbank  r0, @r1
        stbank  r0, @r1
        mov     #16, r0
        mov     #16, r0
        SEND    r1, 0, 16
        SEND    r1, 0, 16
        stbank  r0, @r1
        stbank  r0, @r1
        mov     #17, r0
        mov     #17, r0
        SEND    r1, 0, 17
        SEND    r1, 0, 17
        stbank  r0, @r1
        stbank  r0, @r1
        mov     #18, r0
        mov     #18, r0
        SEND    r1, 0, 18
        SEND    r1, 0, 18
        stbank  r0, @r1
        stbank  r0, @r1
        mov     #19, r0
        mov     #19, r0
        SEND    r1, 0, 19
        SEND    r1, 0, 19
        stbank  r0, @r1
        stbank  r0, @r1
 
 
        assertreg0      19
        assertreg0      19
        assertreg       19 << 2, r1
        assertreg       19 << 2, r1
        test_gr_a5a5    r2
        test_gr_a5a5    r2
        test_gr_a5a5    r3
        test_gr_a5a5    r3
        test_gr_a5a5    r4
        test_gr_a5a5    r4
        test_gr_a5a5    r5
        test_gr_a5a5    r5
        test_gr_a5a5    r6
        test_gr_a5a5    r6
        test_gr_a5a5    r7
        test_gr_a5a5    r7
        test_gr_a5a5    r8
        test_gr_a5a5    r8
        test_gr_a5a5    r9
        test_gr_a5a5    r9
        test_gr_a5a5    r10
        test_gr_a5a5    r10
        test_gr_a5a5    r11
        test_gr_a5a5    r11
        test_gr_a5a5    r12
        test_gr_a5a5    r12
        test_gr_a5a5    r13
        test_gr_a5a5    r13
        test_gr_a5a5    r14
        test_gr_a5a5    r14
 
 
ldbank_1:
ldbank_1:
        set_grs_a5a5
        set_grs_a5a5
        SEND    r1, 0, 0
        SEND    r1, 0, 0
        ldbank  @r1, r0
        ldbank  @r1, r0
        assertreg0 0
        assertreg0 0
        SEND    r1, 0, 1
        SEND    r1, 0, 1
        ldbank  @r1, r0
        ldbank  @r1, r0
        assertreg0 1
        assertreg0 1
        SEND    r1, 0, 2
        SEND    r1, 0, 2
        ldbank  @r1, r0
        ldbank  @r1, r0
        assertreg0 2
        assertreg0 2
        SEND    r1, 0, 3
        SEND    r1, 0, 3
        ldbank  @r1, r0
        ldbank  @r1, r0
        assertreg0 3
        assertreg0 3
        SEND    r1, 0, 4
        SEND    r1, 0, 4
        ldbank  @r1, r0
        ldbank  @r1, r0
        assertreg0 4
        assertreg0 4
        SEND    r1, 0, 5
        SEND    r1, 0, 5
        ldbank  @r1, r0
        ldbank  @r1, r0
        assertreg0 5
        assertreg0 5
        SEND    r1, 0, 6
        SEND    r1, 0, 6
        ldbank  @r1, r0
        ldbank  @r1, r0
        assertreg0 6
        assertreg0 6
        SEND    r1, 0, 7
        SEND    r1, 0, 7
        ldbank  @r1, r0
        ldbank  @r1, r0
        assertreg0 7
        assertreg0 7
        SEND    r1, 0, 8
        SEND    r1, 0, 8
        ldbank  @r1, r0
        ldbank  @r1, r0
        assertreg0 8
        assertreg0 8
        SEND    r1, 0, 9
        SEND    r1, 0, 9
        ldbank  @r1, r0
        ldbank  @r1, r0
        assertreg0 9
        assertreg0 9
        SEND    r1, 0, 10
        SEND    r1, 0, 10
        ldbank  @r1, r0
        ldbank  @r1, r0
        assertreg0 10
        assertreg0 10
        SEND    r1, 0, 11
        SEND    r1, 0, 11
        ldbank  @r1, r0
        ldbank  @r1, r0
        assertreg0 11
        assertreg0 11
        SEND    r1, 0, 12
        SEND    r1, 0, 12
        ldbank  @r1, r0
        ldbank  @r1, r0
        assertreg0 12
        assertreg0 12
        SEND    r1, 0, 13
        SEND    r1, 0, 13
        ldbank  @r1, r0
        ldbank  @r1, r0
        assertreg0 13
        assertreg0 13
        SEND    r1, 0, 14
        SEND    r1, 0, 14
        ldbank  @r1, r0
        ldbank  @r1, r0
        assertreg0 14
        assertreg0 14
        SEND    r1, 0, 15
        SEND    r1, 0, 15
        ldbank  @r1, r0
        ldbank  @r1, r0
        assertreg0 15
        assertreg0 15
        SEND    r1, 0, 16
        SEND    r1, 0, 16
        ldbank  @r1, r0
        ldbank  @r1, r0
        assertreg0 16
        assertreg0 16
        SEND    r1, 0, 17
        SEND    r1, 0, 17
        ldbank  @r1, r0
        ldbank  @r1, r0
        assertreg0 17
        assertreg0 17
        SEND    r1, 0, 18
        SEND    r1, 0, 18
        ldbank  @r1, r0
        ldbank  @r1, r0
        assertreg0 18
        assertreg0 18
        SEND    r1, 0, 19
        SEND    r1, 0, 19
        ldbank  @r1, r0
        ldbank  @r1, r0
        assertreg0 19
        assertreg0 19
 
 
        assertreg (19 << 2), r1
        assertreg (19 << 2), r1
        test_gr_a5a5 r2
        test_gr_a5a5 r2
        test_gr_a5a5 r3
        test_gr_a5a5 r3
        test_gr_a5a5 r4
        test_gr_a5a5 r4
        test_gr_a5a5 r5
        test_gr_a5a5 r5
        test_gr_a5a5 r6
        test_gr_a5a5 r6
        test_gr_a5a5 r7
        test_gr_a5a5 r7
        test_gr_a5a5 r8
        test_gr_a5a5 r8
        test_gr_a5a5 r9
        test_gr_a5a5 r9
        test_gr_a5a5 r10
        test_gr_a5a5 r10
        test_gr_a5a5 r11
        test_gr_a5a5 r11
        test_gr_a5a5 r12
        test_gr_a5a5 r12
        test_gr_a5a5 r13
        test_gr_a5a5 r13
        test_gr_a5a5 r14
        test_gr_a5a5 r14
 
 
resbank_1:
resbank_1:
        set_grs_a5a5
        set_grs_a5a5
        mov     #1, r0
        mov     #1, r0
        trapa   #13     ! magic trap, sets ibnr
        trapa   #13     ! magic trap, sets ibnr
 
 
        resbank
        resbank
 
 
        assertreg0      0
        assertreg0      0
        assertreg       1, r1
        assertreg       1, r1
        assertreg       2, r2
        assertreg       2, r2
        assertreg       3, r3
        assertreg       3, r3
        assertreg       4, r4
        assertreg       4, r4
        assertreg       5, r5
        assertreg       5, r5
        assertreg       6, r6
        assertreg       6, r6
        assertreg       7, r7
        assertreg       7, r7
        assertreg       8, r8
        assertreg       8, r8
        assertreg       9, r9
        assertreg       9, r9
        assertreg       10, r10
        assertreg       10, r10
        assertreg       11, r11
        assertreg       11, r11
        assertreg       12, r12
        assertreg       12, r12
        assertreg       13, r13
        assertreg       13, r13
        assertreg       14, r14
        assertreg       14, r14
        assert_sreg     15, mach
        assert_sreg     15, mach
        assert_sreg     17, pr
        assert_sreg     17, pr
        assert_creg     18, gbr
        assert_creg     18, gbr
        assert_sreg     19, macl
        assert_sreg     19, macl
 
 
resbank_2:
resbank_2:
        set_grs_a5a5
        set_grs_a5a5
        movi20  #555, r0
        movi20  #555, r0
        mov.l   r0, @-r15
        mov.l   r0, @-r15
        add     #-1, r0
        add     #-1, r0
        mov.l   r0, @-r15
        mov.l   r0, @-r15
        add     #-1, r0
        add     #-1, r0
        mov.l   r0, @-r15
        mov.l   r0, @-r15
        add     #-1, r0
        add     #-1, r0
        mov.l   r0, @-r15
        mov.l   r0, @-r15
        add     #-1, r0
        add     #-1, r0
        mov.l   r0, @-r15
        mov.l   r0, @-r15
        add     #-1, r0
        add     #-1, r0
        mov.l   r0, @-r15
        mov.l   r0, @-r15
        add     #-1, r0
        add     #-1, r0
        mov.l   r0, @-r15
        mov.l   r0, @-r15
        add     #-1, r0
        add     #-1, r0
        mov.l   r0, @-r15
        mov.l   r0, @-r15
        add     #-1, r0
        add     #-1, r0
        mov.l   r0, @-r15
        mov.l   r0, @-r15
        add     #-1, r0
        add     #-1, r0
        mov.l   r0, @-r15
        mov.l   r0, @-r15
        add     #-1, r0
        add     #-1, r0
        mov.l   r0, @-r15
        mov.l   r0, @-r15
        add     #-1, r0
        add     #-1, r0
        mov.l   r0, @-r15
        mov.l   r0, @-r15
        add     #-1, r0
        add     #-1, r0
        mov.l   r0, @-r15
        mov.l   r0, @-r15
        add     #-1, r0
        add     #-1, r0
        mov.l   r0, @-r15
        mov.l   r0, @-r15
        add     #-1, r0
        add     #-1, r0
        mov.l   r0, @-r15
        mov.l   r0, @-r15
        add     #-1, r0
        add     #-1, r0
        mov.l   r0, @-r15
        mov.l   r0, @-r15
        add     #-1, r0
        add     #-1, r0
        mov.l   r0, @-r15
        mov.l   r0, @-r15
        add     #-1, r0
        add     #-1, r0
        mov.l   r0, @-r15
        mov.l   r0, @-r15
        add     #-1, r0
        add     #-1, r0
        mov.l   r0, @-r15
        mov.l   r0, @-r15
 
 
        set_sr_bit      (1 << 14)       ! set BO
        set_sr_bit      (1 << 14)       ! set BO
 
 
        resbank
        resbank
 
 
        assert_sreg     555, macl
        assert_sreg     555, macl
        assert_sreg     554, mach
        assert_sreg     554, mach
        assert_creg     553, gbr
        assert_creg     553, gbr
        assert_sreg     552, pr
        assert_sreg     552, pr
        assertreg       551, r14
        assertreg       551, r14
        assertreg       550, r13
        assertreg       550, r13
        assertreg       549, r12
        assertreg       549, r12
        assertreg       548, r11
        assertreg       548, r11
        assertreg       547, r10
        assertreg       547, r10
        assertreg       546, r9
        assertreg       546, r9
        assertreg       545, r8
        assertreg       545, r8
        assertreg       544, r7
        assertreg       544, r7
        assertreg       543, r6
        assertreg       543, r6
        assertreg       542, r5
        assertreg       542, r5
        assertreg       541, r4
        assertreg       541, r4
        assertreg       540, r3
        assertreg       540, r3
        assertreg       539, r2
        assertreg       539, r2
        assertreg       538, r1
        assertreg       538, r1
        assertreg0      537
        assertreg0      537
 
 
        mov             r15, r0
        mov             r15, r0
        assertreg0      stackt
        assertreg0      stackt
 
 
        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.