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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-stable/] [gdb-7.2/] [sim/] [testsuite/] [sim/] [v850/] [satadd.cgs] - Diff between revs 816 and 835

Go to most recent revision | Only display areas with differences | Details | Blame | View Log

Rev 816 Rev 835
# v850 satadd
# v850 satadd
# mach: all
# mach: all
        .include "testutils.inc"
        .include "testutils.inc"
# If the result of the add is "negative", that means we went too
# If the result of the add is "negative", that means we went too
# positive.  The result should be the most positive number.
# positive.  The result should be the most positive number.
        noflags
        noflags
        seti    0x70000000, r1
        seti    0x70000000, r1
        seti    0x70000000, r2
        seti    0x70000000, r2
        satadd  r1, r2
        satadd  r1, r2
        flags   sat + nc + v + ns + nz
        flags   sat + nc + v + ns + nz
        reg     r2, 0x7fffffff
        reg     r2, 0x7fffffff
        noflags
        noflags
        seti    0x7ffffffe, r1
        seti    0x7ffffffe, r1
        satadd  10, r1
        satadd  10, r1
        flags   sat + nc + v + ns + nz
        flags   sat + nc + v + ns + nz
        reg     r1, 0x7fffffff
        reg     r1, 0x7fffffff
# Similarly, if the result of the add is "positive", that means we
# Similarly, if the result of the add is "positive", that means we
# went too negative.  The result should be the most negative number.
# went too negative.  The result should be the most negative number.
        noflags
        noflags
        seti    0x90000000, r1
        seti    0x90000000, r1
        seti    0x90000000, r2
        seti    0x90000000, r2
        satadd  r1, r2
        satadd  r1, r2
        flags   sat + c + v + s + nz
        flags   sat + c + v + s + nz
        reg     r2, 0x80000000
        reg     r2, 0x80000000
        noflags
        noflags
        seti    0x80000001, r1
        seti    0x80000001, r1
        satadd  -10, r1
        satadd  -10, r1
        flags   sat + c + v + s + nz
        flags   sat + c + v + s + nz
        reg     r1, 0x80000000
        reg     r1, 0x80000000
# Check that the SAT flag remains set until reset
# Check that the SAT flag remains set until reset
        seti    1, r1
        seti    1, r1
        seti    2, r2
        seti    2, r2
        satadd  r1,r2
        satadd  r1,r2
        flags   sat + nc + nv + ns + nz
        flags   sat + nc + nv + ns + nz
        reg     r2, 3
        reg     r2, 3
        noflags
        noflags
        seti    1, r1
        seti    1, r1
        seti    2, r2
        seti    2, r2
        satadd  r1,r2
        satadd  r1,r2
        flags   nsat + nc + nv + ns + nz
        flags   nsat + nc + nv + ns + nz
        reg     r2, 3
        reg     r2, 3
# Check that results exactly equal to min/max don't saturate
# Check that results exactly equal to min/max don't saturate
        noflags
        noflags
        seti    0x70000000, r1
        seti    0x70000000, r1
        seti    0x0fffffff, r2
        seti    0x0fffffff, r2
        satadd  r1,r2
        satadd  r1,r2
        flags   nsat + nc + nv + ns + nz
        flags   nsat + nc + nv + ns + nz
        reg     r2, 0x7fffffff
        reg     r2, 0x7fffffff
        noflags
        noflags
        seti    0x90000000, r1
        seti    0x90000000, r1
        seti    0xf0000000, r2
        seti    0xf0000000, r2
        satadd  r1,r2
        satadd  r1,r2
        flags   nsat + c + nv + s + nz
        flags   nsat + c + nv + s + nz
        reg     r2, 0x80000000
        reg     r2, 0x80000000
        pass
        pass
 
 

powered by: WebSVN 2.1.0

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