| # sh testcase for subv $rm, $rn -*- Asm -*- |
| # mach: all |
| # as: -isa=shcompact |
| # ld: -m shelf32 |
| |
| .include "compact/testutils.inc" |
| |
| start |
| zero: |
| mov #0, r0 |
| mov #0, r1 |
| subv r0, r1 |
| bt wrong |
| assert r1, #0 |
| |
| one: |
| mov #10, r0 |
| mov #0, r1 |
| subv r0, r1 |
| bt wrong |
| not r1, r1 |
| assert r1, #9 |
| |
| large: |
| # Produce MAXINT in R0. |
| mov #0, r0 |
| not r0, r0 |
| shlr r0 |
| |
| # Put -3 into R1. |
| mov #3, r1 |
| neg r1, r1 |
| |
| # Subtract them and underflow. |
| subv r0, r1 |
| bf wrong |
| |
| another: |
| # Produce MAXINT in R0. |
| mov #0, r0 |
| not r0, r0 |
| shlr r0 |
| |
| # Put -3 into R1. |
| mov #3, r1 |
| neg r1, r1 |
| |
| # Subtract them and overflow. |
| subv r1, r0 |
| bf wrong |
| |
| okay: |
| pass |
| wrong: |
| fail |