qemu/tests/tcg/xtensa/test_rst0.S
Max Filippov 50f0171a95 tests/tcg/xtensa: add straightforward conditionals
Make tests for optional instruction groups conditional on the presence
of corresponding options in the config.

Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
2019-02-28 04:43:23 -08:00

157 lines
2.9 KiB
ArmAsm

#include "macros.inc"
test_suite rst0
test and
movi a2, 0x137fa5a5
mov a3, a2
movi a4, 0xa5a5137f
movi a6, 0x01250125
and a5, a2, a4
assert eq, a5, a6
and a2, a2, a4
assert eq, a2, a6
and a3, a4, a3
assert eq, a3, a6
test_end
test or
movi a2, 0x137fa5a5
mov a3, a2
movi a4, 0xa5a5137f
movi a6, 0xb7ffb7ff
or a5, a2, a4
assert eq, a5, a6
or a2, a2, a4
assert eq, a2, a6
or a3, a4, a3
assert eq, a3, a6
test_end
test xor
movi a2, 0x137fa5a5
mov a3, a2
movi a4, 0xa5a5137f
movi a6, 0xb6dab6da
xor a5, a2, a4
assert eq, a5, a6
xor a2, a2, a4
assert eq, a2, a6
xor a3, a4, a3
assert eq, a3, a6
test_end
test add
movi a2, 0x137fa5a5
mov a3, a2
movi a4, 0xa5a5137f
movi a6, 0xb924b924
add a5, a2, a4
assert eq, a5, a6
add a2, a2, a4
assert eq, a2, a6
add a4, a3, a4
assert eq, a4, a6
test_end
#if XCHAL_HAVE_ADDX
test addx2
movi a2, 0x137fa5a5
mov a3, a2
movi a4, 0xa5a5137f
movi a6, 0xcca45ec9
addx2 a5, a2, a4
assert eq, a5, a6
addx2 a2, a2, a4
assert eq, a2, a6
addx2 a4, a3, a4
assert eq, a4, a6
test_end
test addx4
movi a2, 0x137fa5a5
mov a3, a2
movi a4, 0xa5a5137f
movi a6, 0xf3a3aa13
addx4 a5, a2, a4
assert eq, a5, a6
addx4 a2, a2, a4
assert eq, a2, a6
addx4 a4, a3, a4
assert eq, a4, a6
test_end
test addx8
movi a2, 0x137fa5a5
mov a3, a2
movi a4, 0xa5a5137f
movi a6, 0x41a240a7
addx8 a5, a2, a4
assert eq, a5, a6
addx8 a2, a2, a4
assert eq, a2, a6
addx8 a4, a3, a4
assert eq, a4, a6
test_end
#endif
test sub
movi a2, 0x137fa5a5
mov a3, a2
movi a4, 0xa5a5137f
movi a6, 0x6dda9226
sub a5, a2, a4
assert eq, a5, a6
sub a2, a2, a4
assert eq, a2, a6
sub a4, a3, a4
assert eq, a4, a6
test_end
#if XCHAL_HAVE_ADDX
test subx2
movi a2, 0x137fa5a5
mov a3, a2
movi a4, 0xa5a5137f
movi a6, 0x815a37cb
subx2 a5, a2, a4
assert eq, a5, a6
subx2 a2, a2, a4
assert eq, a2, a6
subx2 a4, a3, a4
assert eq, a4, a6
test_end
test subx4
movi a2, 0x137fa5a5
mov a3, a2
movi a4, 0xa5a5137f
movi a6, 0xa8598315
subx4 a5, a2, a4
assert eq, a5, a6
subx4 a2, a2, a4
assert eq, a2, a6
subx4 a4, a3, a4
assert eq, a4, a6
test_end
test subx8
movi a2, 0x137fa5a5
mov a3, a2
movi a4, 0xa5a5137f
movi a6, 0xf65819a9
subx8 a5, a2, a4
assert eq, a5, a6
subx8 a2, a2, a4
assert eq, a2, a6
subx8 a4, a3, a4
assert eq, a4, a6
test_end
#endif
test_suite_end