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/] [v850/] [satsubr.cgs] - Diff between revs 24 and 33

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

Rev 24 Rev 33
# v850 satsub
# v850 satsub
# 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    0x90000000, r1
        seti    0x90000000, r1
        seti    0x70000000, r2
        seti    0x70000000, r2
        satsubr r2, r1
        satsubr r2, r1
        flags   sat + c + v + ns + nz
        flags   sat + c + 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    0x70000000, r1
        seti    0x70000000, r1
        seti    0x90000000, r2
        seti    0x90000000, r2
        satsubr r2, r1
        satsubr r2, r1
        flags   sat + nc + v + s + nz
        flags   sat + nc + 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
        satsubr r2, r1
        satsubr r2, r1
        flags   sat + nc + nv + ns + nz
        flags   sat + nc + nv + ns + nz
        reg     r1, 1
        reg     r1, 1
        noflags
        noflags
        seti    1, r1
        seti    1, r1
        seti    2, r2
        seti    2, r2
        satsubr r2, r1
        satsubr r2, r1
        flags   nsat + nc + nv + ns + nz
        flags   nsat + nc + nv + ns + nz
        reg     r1, 1
        reg     r1, 1
# 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    0x90000000, r1
        seti    0x90000000, r1
        seti    0x0fffffff, r2
        seti    0x0fffffff, r2
        satsubr r2, r1
        satsubr r2, r1
        flags   nsat + c + nv + ns + nz
        flags   nsat + c + nv + ns + nz
        reg     r1, 0x7fffffff
        reg     r1, 0x7fffffff
        noflags
        noflags
        seti    0x70000000, r1
        seti    0x70000000, r1
        seti    0xf0000000, r2
        seti    0xf0000000, r2
        satsubr r2, r1
        satsubr r2, r1
        flags   nsat + nc + nv + s + nz
        flags   nsat + nc + nv + s + nz
        reg     r1, 0x80000000
        reg     r1, 0x80000000
        pass
        pass
 
 

powered by: WebSVN 2.1.0

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