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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-stable/] [gdb-7.2/] [sim/] [testsuite/] [sim/] [v850/] [divh.cgs] - Rev 841

Compare with Previous | Blame | View Log

# v850 divh
# mach: all

        .include "testutils.inc"

# Regular division - check signs

        seti    6, r1
        seti    45, r2
        divh    r1, r2

        flags   0
        reg     r1, 6
        reg     r2, 7

        seti    -6, r1
        seti    45, r2
        divh    r1, r2

        flags   s
        reg     r1, -6
        reg     r2, -7

        seti    6, r1
        seti    -45, r2
        divh    r1, r2

        flags   s
        reg     r1, 6
        reg     r2, -7

        seti    -6, r1
        seti    -45, r2
        divh    r1, r2

        flags   0
        reg     r1, -6
        reg     r2, 7

# Only the lower half of the dividend is used

        seti    0x0000fffa, r1
        seti    -45, r2
        divh    r1, r2

        flags   0
        reg     r1, 0x0000fffa
        reg     r2, 7

# If the data is divhided by zero, OV=1 and the quotient is undefined.
# According to NEC, the S and Z flags, and the output registers, are
# unchanged.

        noflags
        seti    0, r1
        seti    45, r2
        seti    67, r3
        divh    r1, r2

        flags   v
        reg     r2, 45

        allflags
        seti    0, r1
        seti    45, r2
        seti    67, r3
        divh    r1, r2

        flags   sat + c + v + s + z
        reg     r2, 45

# Zero / (N!=0) => normal

        noflags
        seti    45, r1
        seti    0, r2
        seti    67, r3
        divh    r1, r2

        flags   z
        reg     r1, 45
        reg     r2, 0

# Test for regular overflow

        noflags
        seti    -1, r1
        seti    0x80000000, r2
        divh    r1, r2

        flags   v + s
        reg     r1, -1
        reg     r2, 0x80000000


        pass

Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

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