binutils-gdb/sim/testsuite/sh/prnd.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

91 lines
1.4 KiB
ArmAsm

# sh testcase for prnd
# mach: shdsp
# as(shdsp): -defsym sim_cpu=1 -dsp
# FIXME: opcode table ambiguity in ignored bits 4-7.
.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
# prnd(0xa5a5a5a5) = 0xa5a60000
prnd x0, x0
prnd y0, y0
assert_sreg 0xa5a60000, x0
assert_sreg 0xa5a60000, y0
# prnd(1) = 1
mov #1, r0
shll16 r0
lds r0, x0
pcopy x0, y0
prnd x0, x0
prnd y0, y0
assert_sreg 0x10000, x0
assert_sreg 0x10000, y0
# prnd(1.4999999) = 1
mov #1, r0
shll8 r0
or #0x7f, r0
shll8 r0
or #0xff, r0
lds r0, x0
pcopy x0, y0
prnd x0, x0
prnd y0, y0
assert_sreg 0x10000, x0
assert_sreg 0x10000, y0
# prnd(1.5) = 2
mov #1, r0
shll8 r0
or #0x80, r0
shll8 r0
lds r0, x0
pcopy x0, y0
prnd x0, x0
prnd y0, y0
assert_sreg 0x20000, x0
assert_sreg 0x20000, y0
# dct prnd
set_dcfalse
dct prnd x0, x1
dct prnd y0, y1
assert_sreg2 0xa5a5a5a5, x1
assert_sreg2 0xa5a5a5a5, y1
set_dctrue
dct prnd x0, x1
dct prnd y0, y1
assert_sreg2 0x20000, x1
assert_sreg2 0x20000, y1
# dcf prnd
set_dctrue
dcf prnd x0, m0
dcf prnd y0, m1
assert_sreg2 0xa5a5a5a5, m0
assert_sreg2 0xa5a5a5a5, m1
set_dcfalse
dcf prnd x0, m0
dcf prnd y0, m1
assert_sreg2 0x20000, m0
assert_sreg2 0x20000, m1
set_greg 0xa5a5a5a5, r0
test_grs_a5a5
assert_sreg 0xa5a5a5a5, a0
assert_sreg2 0xa5a5a5a5, a1
pass
exit 0