binutils-gdb/sim/testsuite/arm/iwmmxt/wsll.cgs
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

168 lines
3.2 KiB
Plaintext

# Intel(r) Wireless MMX(tm) technology testcase for WSLL
# mach: xscale
# as: -mcpu=xscale+iwmmxt
.include "testutils.inc"
start
.global wsll
wsll:
# Enable access to CoProcessors 0 & 1 before
# we attempt these instructions.
mvi_h_gr r1, 3
mcr p15, 0, r1, cr15, cr1, 0
# Test Halfword Logical Shift Left
mvi_h_gr r0, 0x12345678
mvi_h_gr r1, 0x9abcdef0
mvi_h_gr r2, 0x11111104
mvi_h_gr r3, 0x11111111
mvi_h_gr r4, 0
mvi_h_gr r5, 0
tmcrr wr0, r0, r1
tmcrr wr1, r2, r3
tmcrr wr2, r4, r5
wsllh wr2, wr0, wr1
tmrrc r0, r1, wr0
tmrrc r2, r3, wr1
tmrrc r4, r5, wr2
test_h_gr r0, 0x12345678
test_h_gr r1, 0x9abcdef0
test_h_gr r2, 0x11111104
test_h_gr r3, 0x11111111
test_h_gr r4, 0x23406780
test_h_gr r5, 0xabc0ef00
# Test Halfword Aritc Shift Left by CG register
mvi_h_gr r0, 0x12345678
mvi_h_gr r1, 0x9abcdef0
mvi_h_gr r2, 0x11111104
mvi_h_gr r3, 0
mvi_h_gr r4, 0
tmcrr wr0, r0, r1
tmcr wcgr1, r2
tmcrr wr1, r3, r4
wsllhg wr1, wr0, wcgr1
tmrrc r0, r1, wr0
tmrc r2, wcgr1
tmrrc r3, r4, wr1
test_h_gr r0, 0x12345678
test_h_gr r1, 0x9abcdef0
test_h_gr r2, 0x11111104
test_h_gr r3, 0x23406780
test_h_gr r4, 0xabc0ef00
# Test Word Logical Shift Left
mvi_h_gr r0, 0x12345678
mvi_h_gr r1, 0x9abcdef0
mvi_h_gr r2, 0x11111104
mvi_h_gr r3, 0x11111111
mvi_h_gr r4, 0
mvi_h_gr r5, 0
tmcrr wr0, r0, r1
tmcrr wr1, r2, r3
tmcrr wr2, r4, r5
wsllw wr2, wr0, wr1
tmrrc r0, r1, wr0
tmrrc r2, r3, wr1
tmrrc r4, r5, wr2
test_h_gr r0, 0x12345678
test_h_gr r1, 0x9abcdef0
test_h_gr r2, 0x11111104
test_h_gr r3, 0x11111111
test_h_gr r4, 0x23456780
test_h_gr r5, 0xabcdef00
# Test Word Logical Shift Left by CG register
mvi_h_gr r0, 0x12345678
mvi_h_gr r1, 0x9abcdef0
mvi_h_gr r2, 0x11111104
mvi_h_gr r3, 0
mvi_h_gr r4, 0
tmcrr wr0, r0, r1
tmcr wcgr2, r2
tmcrr wr1, r3, r4
wsllwg wr1, wr0, wcgr2
tmrrc r0, r1, wr0
tmrc r2, wcgr2
tmrrc r3, r4, wr1
test_h_gr r0, 0x12345678
test_h_gr r1, 0x9abcdef0
test_h_gr r2, 0x11111104
test_h_gr r3, 0x23456780
test_h_gr r4, 0xabcdef00
# Test Double Word Logical Shift Left
mvi_h_gr r0, 0x12345678
mvi_h_gr r1, 0x9abcdefc
mvi_h_gr r2, 0x11111104
mvi_h_gr r3, 0x11111111
mvi_h_gr r4, 0
mvi_h_gr r5, 0
tmcrr wr0, r0, r1
tmcrr wr1, r2, r3
tmcrr wr2, r4, r5
wslld wr2, wr0, wr1
tmrrc r0, r1, wr0
tmrrc r2, r3, wr1
tmrrc r4, r5, wr2
test_h_gr r0, 0x12345678
test_h_gr r1, 0x9abcdefc
test_h_gr r2, 0x11111104
test_h_gr r3, 0x11111111
test_h_gr r4, 0x23456780
test_h_gr r5, 0xabcdefc1
# Test Double Word Logical Shift Left by CG register
mvi_h_gr r0, 0x12345678
mvi_h_gr r1, 0x9abcdefc
mvi_h_gr r2, 0x11111104
mvi_h_gr r3, 0
mvi_h_gr r4, 0
tmcrr wr0, r0, r1
tmcr wcgr3, r2
tmcrr wr1, r3, r4
wslldg wr1, wr0, wcgr3
tmrrc r0, r1, wr0
tmrc r2, wcgr3
tmrrc r3, r4, wr1
test_h_gr r0, 0x12345678
test_h_gr r1, 0x9abcdefc
test_h_gr r2, 0x11111104
test_h_gr r3, 0x23456780
test_h_gr r4, 0xabcdefc1
pass