# sh testcase for pmuls | |
# 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 | |
# 2 x 2 = 8 (?) | |
# (I don't understand why the result is x2, | |
# but that's what it says in the manual...) | |
mov #2, r0 | |
shll16 r0 | |
lds r0, y0 | |
lds r0, y1 | |
pmuls y0, y1, a0 | |
assert_sreg 8, a0 | |
set_greg 0xa5a5a5a5, r0 | |
test_grs_a5a5 | |
pass | |
exit 0 | |