tests/tcg/xtensa: conditionalize windowed register tests
Make windowed register tests conditional on the presence of this option. Fix tests to work correctly for both 32 and 64 physical registers. Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
This commit is contained in:
parent
00988da486
commit
c20e10eac8
@ -2,10 +2,12 @@
|
||||
|
||||
test_suite windowed
|
||||
|
||||
#if XCHAL_HAVE_WINDOWED
|
||||
|
||||
.altmacro
|
||||
|
||||
.macro reset_window start
|
||||
movi a2, 0xff
|
||||
movi a2, 0xffff
|
||||
wsr a2, windowstart
|
||||
rsync
|
||||
movi a2, 0
|
||||
@ -105,7 +107,8 @@ test_end
|
||||
movi a3, 0x4001f
|
||||
assert eq, a2, a3
|
||||
rsr a2, windowbase
|
||||
assert eqi, a2, 8 - ((\window) / 4)
|
||||
movi a3, (XCHAL_NUM_AREGS - (\window)) / 4
|
||||
assert eq, a2, a3
|
||||
rsr a2, windowstart
|
||||
assert eqi, a2, 1
|
||||
rfwu
|
||||
@ -116,8 +119,8 @@ test_end
|
||||
rsr a2, windowbase
|
||||
assert eqi, a2, 0
|
||||
rsr a2, windowstart
|
||||
assert bsi, a2, 0
|
||||
assert bsi, a2, 8 - ((\window) / 4)
|
||||
assert bsi.l, a2, 0
|
||||
assert bsi.l, a2, (XCHAL_NUM_AREGS - (\window)) / 4
|
||||
.endm
|
||||
|
||||
test underflow
|
||||
@ -132,7 +135,7 @@ test_end
|
||||
|
||||
|
||||
.macro retw_test window
|
||||
reset_window %(1 | (1 << (8 - (\window) / 4)))
|
||||
reset_window %(1 | (1 << ((XCHAL_NUM_AREGS - \window) / 4)))
|
||||
reset_ps
|
||||
|
||||
ssai 2
|
||||
@ -147,10 +150,11 @@ test_end
|
||||
movi a3, 0x4000f
|
||||
assert eq, a2, a3
|
||||
rsr a2, windowbase
|
||||
assert eqi, a2, 8 - ((\window) / 4)
|
||||
movi a3, (XCHAL_NUM_AREGS - (\window)) / 4
|
||||
assert eq, a2, a3
|
||||
rsr a2, windowstart
|
||||
assert bci, a2, 0
|
||||
assert bsi, a2, 8 - ((\window) / 4)
|
||||
assert bci.l, a2, 0
|
||||
assert bsi.l, a2, (XCHAL_NUM_AREGS - (\window)) / 4
|
||||
.endm
|
||||
|
||||
test retw
|
||||
@ -180,7 +184,7 @@ test movsp
|
||||
|
||||
set_vector kernel, 0
|
||||
|
||||
reset_window 0x81
|
||||
reset_window %(0x1 | (1 << ((XCHAL_NUM_AREGS / 4) - 1)))
|
||||
reset_ps
|
||||
|
||||
movsp a2, a3
|
||||
@ -211,8 +215,16 @@ test rotw
|
||||
movi a3, 0x16
|
||||
movi a7, 0x17
|
||||
|
||||
#if XCHAL_NUM_AREGS == 32
|
||||
movi a2, 0x44
|
||||
wsr a2, windowstart
|
||||
#elif XCHAL_NUM_AREGS == 64
|
||||
movi a2, 0x4004
|
||||
wsr a2, windowstart
|
||||
rotw -8
|
||||
#else
|
||||
#error XCHAL_NUM_AREGS unsupported
|
||||
#endif
|
||||
rsync
|
||||
|
||||
movi a2, 0x10
|
||||
@ -350,4 +362,6 @@ test entry_overflow
|
||||
all_entry_overflow_tests
|
||||
test_end
|
||||
|
||||
#endif
|
||||
|
||||
test_suite_end
|
||||
|
Loading…
Reference in New Issue
Block a user