binutils-gdb/sim/testsuite/sh/psub.s
Mike Frysinger 1368b914e9 sim: testsuite: flatten tree
Now that all port tests live under testsuite/sim/*/, and none live
in testsuite/ directly, flatten the structure by moving all of the
dirs under testsuite/sim/ to testsuite/ directly.

We need to stop passing --tool to dejagnu so that it searches all
dirs and not just ones that start with "sim".  Since we have no
other dirs in this tree, and no plans to add any, should be fine.
2021-01-15 19:18:34 -05:00

65 lines
998 B
ArmAsm

# sh testcase for psub
# mach: shdsp
# as(shdsp): -defsym sim_cpu=1 -dsp
.include "testutils.inc"
start
set_grs_a5a5
lds r0, a0
pcopy a0, a1
lds r0, x0
lds r0, x1
lds r0, y0
lds r0, y1
pcopy x0, m0
pcopy y1, m1
psub_sx_sy:
# 0xa5a5a5a5 minus 0xa5a5a5a5 equals zero
psub x0, y0, a0
assert_sreg 0, a0
psub_sy_sx:
# 100 - 25 = 75
mov #100, r0
mov #25, r1
lds r0, y1
lds r1, x1
psub y1, x1, a0
assert_sreg 75, a0
dct_psub:
# 100 - 25 = 75
set_dcfalse
dct psub y1, x1, a1
assert_sreg2 0xa5a5a5a5, a1
set_dctrue
dct psub y1, x1, a1
assert_sreg2 75, a1
dcf_psub:
# 25 - 100 = -75
set_dctrue
dcf psub x1, y1, m1
assert_sreg2 0xa5a5a5a5, m1
set_dcfalse
dcf psub x1, y1, m1
assert_sreg2 -75, m1
psub_pmuls:
# 25 - 100 = -75, and 2 x 2 = 8 (yes, eight, not four)
mov #2, r0
shll16 r0
lds r0, x0
lds r0, y0
psub x1, y1, a1 pmuls x0, y0, a0
assert_sreg 8, a0
assert_sreg2 -75, a1
set_greg 0xa5a5a5a5, r0
set_greg 0xa5a5a5a5, r1
test_grs_a5a5
pass
exit 0