diff options
author | Max Filippov <jcmvbkbc@gmail.com> | 2011-09-06 03:55:57 +0400 |
---|---|---|
committer | Blue Swirl <blauwirbel@gmail.com> | 2011-09-10 16:57:40 +0000 |
commit | 7d890b4074a415d39f02d3b01e7c40ece1b57087 (patch) | |
tree | c5fca41c0763dfb3a7475c4b59dfaf9872d7d46e /tests/xtensa/macros.inc | |
parent | 16e7caae53f6143d0d4d2cb1dadb048b4de790a5 (diff) | |
download | qemu-7d890b4074a415d39f02d3b01e7c40ece1b57087.tar.gz qemu-7d890b4074a415d39f02d3b01e7c40ece1b57087.tar.bz2 qemu-7d890b4074a415d39f02d3b01e7c40ece1b57087.zip |
target-xtensa: add regression testsuite
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
Diffstat (limited to 'tests/xtensa/macros.inc')
-rw-r--r-- | tests/xtensa/macros.inc | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/tests/xtensa/macros.inc b/tests/xtensa/macros.inc new file mode 100644 index 0000000000..2d4515e14f --- /dev/null +++ b/tests/xtensa/macros.inc @@ -0,0 +1,68 @@ +.macro test_suite name +.data +status: .word result +result: .space 20 +.text +.global main +.align 4 +main: +.endm + +.macro reset_ps + movi a2, 0x4000f + wsr a2, ps + isync +.endm + +.macro test_suite_end + reset_ps + movi a0, status + l32i a2, a0, 0 + movi a0, result + sub a2, a2, a0 + movi a3, 0 + loopnez a2, 1f + l8ui a2, a0, 0 + or a3, a3, a2 + addi a0, a0, 1 +1: + exit +.endm + +.macro test name +.endm + +.macro test_end +99: + reset_ps + movi a2, status + l32i a3, a2, 0 + addi a3, a3, 1 + s32i a3, a2, 0 +.endm + +.macro exit + movi a2, 1 + simcall +.endm + +.macro test_fail + movi a2, status + l32i a2, a2, 0 + movi a3, 1 + s8i a3, a2, 0 + j 99f +.endm + +.macro assert cond, arg1, arg2 + b\cond \arg1, \arg2, 90f + test_fail +90: + nop +.endm + +.macro set_vector vector, addr + movi a2, handler_\vector + movi a3, \addr + s32i a3, a2, 0 +.endm |