OpenCores
URL https://opencores.org/ocsvn/openrisc_2011-10-31/openrisc_2011-10-31/trunk

Subversion Repositories openrisc_2011-10-31

[/] [openrisc/] [tags/] [gnu-src/] [gdb-6.8/] [pre-binutils-2.20.1-sync/] [sim/] [testsuite/] [sim/] [sh/] [mov.s] - Diff between revs 157 and 223

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

Rev 157 Rev 223
# sh testcase for all mov.[bwl] instructions
# sh testcase for all mov.[bwl] instructions
# mach: sh
# mach: sh
# as(sh):       -defsym sim_cpu=0
# as(sh):       -defsym sim_cpu=0
 
 
        .include "testutils.inc"
        .include "testutils.inc"
 
 
        .align 2
        .align 2
_lsrc:  .long   0x55555555
_lsrc:  .long   0x55555555
_wsrc:  .long   0x55550000
_wsrc:  .long   0x55550000
_bsrc:  .long   0x55000000
_bsrc:  .long   0x55000000
 
 
        .align 2
        .align 2
_ldst:  .long   0
_ldst:  .long   0
_wdst:  .long   0
_wdst:  .long   0
_bdst:  .long   0
_bdst:  .long   0
 
 
 
 
        start
        start
 
 
movb_disp12_reg:        # Test 8-bit @(disp12,gr) -> gr
movb_disp12_reg:        # Test 8-bit @(disp12,gr) -> gr
        set_grs_a5a5
        set_grs_a5a5
        mov.l   bsrc, r1
        mov.l   bsrc, r1
        add     #-111, r1
        add     #-111, r1
        add     #-111, r1
        add     #-111, r1
        add     #-111, r1
        add     #-111, r1
        add     #-111, r1
        add     #-111, r1
        mov.b   @(444,r1), r2
        mov.b   @(444,r1), r2
 
 
        assertreg _bsrc-444, r1
        assertreg _bsrc-444, r1
        assertreg 0x55, r2
        assertreg 0x55, r2
 
 
movb_reg_disp12:        # Test 8-bit gr -> @(disp12,gr)
movb_reg_disp12:        # Test 8-bit gr -> @(disp12,gr)
        set_grs_a5a5
        set_grs_a5a5
        mov.l   bdst, r1
        mov.l   bdst, r1
        add     #-111, r1
        add     #-111, r1
        add     #-111, r1
        add     #-111, r1
        add     #-111, r1
        add     #-111, r1
        add     #-111, r1
        add     #-111, r1
        mov.b   r2, @(444,r1)
        mov.b   r2, @(444,r1)
 
 
        assertreg _bdst-444, r1
        assertreg _bdst-444, r1
        assertmem _bdst, 0xa5000000
        assertmem _bdst, 0xa5000000
 
 
movw_disp12_reg:        # Test 16-bit @(disp12,gr) -> gr
movw_disp12_reg:        # Test 16-bit @(disp12,gr) -> gr
        set_grs_a5a5
        set_grs_a5a5
        mov.l   wsrc, r1
        mov.l   wsrc, r1
        add     #-111, r1
        add     #-111, r1
        add     #-111, r1
        add     #-111, r1
        add     #-111, r1
        add     #-111, r1
        add     #-111, r1
        add     #-111, r1
        mov.w   @(444,r1), r2
        mov.w   @(444,r1), r2
 
 
        assertreg _wsrc-444, r1
        assertreg _wsrc-444, r1
        assertreg 0x5555, r2
        assertreg 0x5555, r2
 
 
movw_reg_disp12:        # Test 16-bit gr -> @(disp12,gr)
movw_reg_disp12:        # Test 16-bit gr -> @(disp12,gr)
        set_grs_a5a5
        set_grs_a5a5
        mov.l   wdst, r1
        mov.l   wdst, r1
        add     #-111, r1
        add     #-111, r1
        add     #-111, r1
        add     #-111, r1
        add     #-111, r1
        add     #-111, r1
        add     #-111, r1
        add     #-111, r1
        mov.w   r2, @(444,r1)
        mov.w   r2, @(444,r1)
 
 
        assertreg _wdst-444, r1
        assertreg _wdst-444, r1
        assertmem _wdst, 0xa5a50000
        assertmem _wdst, 0xa5a50000
 
 
movl_disp12_reg:        # Test 32-bit @(disp12,gr) -> gr
movl_disp12_reg:        # Test 32-bit @(disp12,gr) -> gr
        set_grs_a5a5
        set_grs_a5a5
        mov.l   lsrc, r1
        mov.l   lsrc, r1
        add     #-111, r1
        add     #-111, r1
        add     #-111, r1
        add     #-111, r1
        add     #-111, r1
        add     #-111, r1
        add     #-111, r1
        add     #-111, r1
        mov.l   @(444,r1), r2
        mov.l   @(444,r1), r2
 
 
        assertreg _lsrc-444, r1
        assertreg _lsrc-444, r1
        assertreg 0x55555555, r2
        assertreg 0x55555555, r2
 
 
movl_reg_disp12:        # Test 32-bit gr -> @(disp12,gr)
movl_reg_disp12:        # Test 32-bit gr -> @(disp12,gr)
        set_grs_a5a5
        set_grs_a5a5
        mov.l   ldst, r1
        mov.l   ldst, r1
        add     #-111, r1
        add     #-111, r1
        add     #-111, r1
        add     #-111, r1
        add     #-111, r1
        add     #-111, r1
        add     #-111, r1
        add     #-111, r1
        mov.l   r2, @(444,r1)
        mov.l   r2, @(444,r1)
 
 
        assertreg _ldst-444, r1
        assertreg _ldst-444, r1
        assertmem _ldst, 0xa5a5a5a5
        assertmem _ldst, 0xa5a5a5a5
 
 
        test_gr_a5a5 r0
        test_gr_a5a5 r0
        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
 
 
        pass
        pass
 
 
        exit 0
        exit 0
 
 
lsrc:   .long _lsrc
lsrc:   .long _lsrc
wsrc:   .long _wsrc
wsrc:   .long _wsrc
bsrc:   .long _bsrc
bsrc:   .long _bsrc
 
 
ldst:   .long _ldst
ldst:   .long _ldst
wdst:   .long _wdst
wdst:   .long _wdst
bdst:   .long _bdst
bdst:   .long _bdst
 
 
 
 

powered by: WebSVN 2.1.0

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