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

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

Rev 24 Rev 33
# sh testcase for mac.w
# sh testcase for mac.w
# 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"
 
 
        start
        start
        set_grs_a5a5
        set_grs_a5a5
 
 
        # Prime {MACL, MACH} to #1.
        # Prime {MACL, MACH} to #1.
        mov     #1, r0
        mov     #1, r0
        dmulu.l r0, r0
        dmulu.l r0, r0
 
 
        # Set up addresses.
        # Set up addresses.
        mov.l   pfour00, r0     ! 85
        mov.l   pfour00, r0     ! 85
        mov.l   pfour12, r1     ! 17
        mov.l   pfour12, r1     ! 17
 
 
test:
test:
        mac.w   @r0+, @r1+      ! MAC = 85 * 17 + 1
        mac.w   @r0+, @r1+      ! MAC = 85 * 17 + 1
 
 
check:
check:
        # Check result.
        # Check result.
        assert_sreg     0, mach
        assert_sreg     0, mach
        assert_sreg     85*17+1, macl
        assert_sreg     85*17+1, macl
 
 
        # Ensure post-increment occurred.
        # Ensure post-increment occurred.
        assertreg0      four00+2
        assertreg0      four00+2
        assertreg       four12+2, r1
        assertreg       four12+2, r1
 
 
doubleinc:
doubleinc:
        mov.l   pfour00, r0
        mov.l   pfour00, r0
        mac.w   @r0+, @r0+
        mac.w   @r0+, @r0+
        assertreg0 four00+4
        assertreg0 four00+4
 
 
        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
 
 
        .align 2
        .align 2
four00:
four00:
        .word   85
        .word   85
        .word   2
        .word   2
four12:
four12:
        .word   17
        .word   17
        .word   3
        .word   3
 
 
 
 
pfour00:
pfour00:
        .long four00
        .long four00
pfour12:
pfour12:
        .long four12
        .long four12
 
 

powered by: WebSVN 2.1.0

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