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

Subversion Repositories openrisc

[/] [openrisc/] [tags/] [gnu-src/] [gdb-6.8/] [pre-binutils-2.20.1-sync/] [sim/] [testsuite/] [sim/] [v850/] [divu.cgs] - Diff between revs 157 and 223

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

Rev 157 Rev 223
# v850 divu
# v850 divu
# mach: v850e
# mach: v850e
# as(v850e): -mv850e
# as(v850e): -mv850e
        .include "testutils.inc"
        .include "testutils.inc"
        seti    6, r1
        seti    6, r1
        seti    45, r2
        seti    45, r2
        divu    r1, r2, r3
        divu    r1, r2, r3
        flags   0
        flags   0
        reg     r1, 6
        reg     r1, 6
        reg     r2, 7
        reg     r2, 7
        reg     r3, 3
        reg     r3, 3
        seti    4, r1
        seti    4, r1
        seti    0x40000000, r2
        seti    0x40000000, r2
        divu    r1, r2, r3
        divu    r1, r2, r3
        flags   0
        flags   0
        reg     r1, 4
        reg     r1, 4
        reg     r2, 0x10000000
        reg     r2, 0x10000000
        reg     r3, 0
        reg     r3, 0
# If the data is divided by zero, OV=1 and the quotient is undefined.
# If the data is divided by zero, OV=1 and the quotient is undefined.
# According to NEC, the S and Z flags, and the output registers, are
# According to NEC, the S and Z flags, and the output registers, are
# unchanged.
# unchanged.
        noflags
        noflags
        seti    0, r1
        seti    0, r1
        seti    45, r2
        seti    45, r2
        seti    67, r3
        seti    67, r3
        divu    r1, r2, r3
        divu    r1, r2, r3
        flags   v
        flags   v
        reg     r2, 45
        reg     r2, 45
        reg     r3, 67
        reg     r3, 67
        allflags
        allflags
        seti    0, r1
        seti    0, r1
        seti    45, r2
        seti    45, r2
        seti    67, r3
        seti    67, r3
        divu    r1, r2, r3
        divu    r1, r2, r3
        flags   sat + c + v + s + z
        flags   sat + c + v + s + z
        reg     r2, 45
        reg     r2, 45
        reg     r3, 67
        reg     r3, 67
# Zero / (N!=0) => normal
# Zero / (N!=0) => normal
        noflags
        noflags
        seti    45, r1
        seti    45, r1
        seti    0, r2
        seti    0, r2
        seti    67, r3
        seti    67, r3
        divu    r1, r2, r3
        divu    r1, r2, r3
        flags   z
        flags   z
        reg     r1, 45
        reg     r1, 45
        reg     r2, 0
        reg     r2, 0
        reg     r3, 0
        reg     r3, 0
# The Z flag is based on the quotient, not the remainder
# The Z flag is based on the quotient, not the remainder
        noflags
        noflags
        seti    45, r1
        seti    45, r1
        seti    16, r2
        seti    16, r2
        divu    r1, r2, r3
        divu    r1, r2, r3
        flags   z
        flags   z
        reg     r2, 0
        reg     r2, 0
        reg     r3, 16
        reg     r3, 16
# If the quot and rem registers are the same, the remainder is stored.
# If the quot and rem registers are the same, the remainder is stored.
        seti    6, r1
        seti    6, r1
        seti    45, r2
        seti    45, r2
        divu    r1, r2, r2
        divu    r1, r2, r2
        flags   0
        flags   0
        reg     r1, 6
        reg     r1, 6
        reg     r2, 3
        reg     r2, 3
        pass
        pass
 
 

powered by: WebSVN 2.1.0

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