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

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

Rev 24 Rev 33
# sh testcase for mulr
# sh testcase for mulr
# 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
 
 
mulr_1: ! multiply by one
mulr_1: ! multiply by one
        set_grs_a5a5
        set_grs_a5a5
        mov     #1, r0
        mov     #1, r0
        mulr    r0, r1
        mulr    r0, r1
        assertreg0   1
        assertreg0   1
        test_gr_a5a5 r1
        test_gr_a5a5 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
 
 
mulr_2: ! multiply by two
mulr_2: ! multiply by two
        set_grs_a5a5
        set_grs_a5a5
        mov     #2, r0
        mov     #2, r0
        mov     #12, r1
        mov     #12, r1
        mulr    r0, r1
        mulr    r0, r1
        assertreg0   2
        assertreg0   2
        assertreg 24, r1
        assertreg 24, 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
 
 
mulr_3: ! multiply five by five
mulr_3: ! multiply five by five
        set_grs_a5a5
        set_grs_a5a5
        mov     #5, r0
        mov     #5, r0
        mov     #5, r1
        mov     #5, r1
        mulr    r0, r1
        mulr    r0, r1
        assertreg0   5
        assertreg0   5
        assertreg 25, r1
        assertreg 25, 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
 
 
 
 
mulr_4: ! multiply 127 by 127
mulr_4: ! multiply 127 by 127
        set_grs_a5a5
        set_grs_a5a5
        mov     #127, r0
        mov     #127, r0
        mov     #127, r1
        mov     #127, r1
        mulr    r0, r1
        mulr    r0, r1
        assertreg0   127
        assertreg0   127
        assertreg 0x3f01, r1
        assertreg 0x3f01, 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
 
 
mulr_5: ! multiply -1 by -1
mulr_5: ! multiply -1 by -1
        set_grs_a5a5
        set_grs_a5a5
        mov     #-1, r0
        mov     #-1, r0
        mov     #-1, r1
        mov     #-1, r1
        mulr    r0, r1
        mulr    r0, r1
        assertreg0   -1
        assertreg0   -1
        assertreg 1, r1
        assertreg 1, 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
 
 
mulr_6: ! multiply 46340 by 46340
mulr_6: ! multiply 46340 by 46340
        set_grs_a5a5
        set_grs_a5a5
        movi20  #46340, r0
        movi20  #46340, r0
        movi20  #46340, r1
        movi20  #46340, r1
        mulr    r0, r1
        mulr    r0, r1
        assertreg0   46340
        assertreg0   46340
        assertreg 0x7ffea810, r1
        assertreg 0x7ffea810, 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
 
 
mulr_7: ! multiply 7ffff by 7ffff (overflow)
mulr_7: ! multiply 7ffff by 7ffff (overflow)
        set_grs_a5a5
        set_grs_a5a5
        movi20  #0x7ffff, r0
        movi20  #0x7ffff, r0
        movi20  #0x7ffff, r1
        movi20  #0x7ffff, r1
        mulr    r0, r1
        mulr    r0, r1
        assertreg0   0x7ffff
        assertreg0   0x7ffff
        assertreg 0xfff00001, r1
        assertreg 0xfff00001, 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
 
 
 
 
        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.