diff options
author | Max Filippov <jcmvbkbc@gmail.com> | 2012-12-17 00:32:27 +0400 |
---|---|---|
committer | Max Filippov <jcmvbkbc@gmail.com> | 2013-07-29 18:24:26 +0400 |
commit | 7be9d0e6d15c2f4b1a06912128c17b4eb1f32705 (patch) | |
tree | 6abccd3262f28763dd2db7cabb2d783637b8951f /tests/tcg/xtensa | |
parent | fdc43322c978d78e79e692872dcec7b4f6a447f1 (diff) |
target-xtensa: add extui unit test
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
Diffstat (limited to 'tests/tcg/xtensa')
-rw-r--r-- | tests/tcg/xtensa/Makefile | 1 | ||||
-rw-r--r-- | tests/tcg/xtensa/test_extui.S | 26 |
2 files changed, 27 insertions, 0 deletions
diff --git a/tests/tcg/xtensa/Makefile b/tests/tcg/xtensa/Makefile index 002fd871d9..9e50d8dce5 100644 --- a/tests/tcg/xtensa/Makefile +++ b/tests/tcg/xtensa/Makefile @@ -26,6 +26,7 @@ TESTCASES += test_bi.tst TESTCASES += test_break.tst TESTCASES += test_bz.tst TESTCASES += test_clamps.tst +TESTCASES += test_extui.tst TESTCASES += test_fail.tst TESTCASES += test_interrupt.tst TESTCASES += test_loop.tst diff --git a/tests/tcg/xtensa/test_extui.S b/tests/tcg/xtensa/test_extui.S new file mode 100644 index 0000000000..5d55451704 --- /dev/null +++ b/tests/tcg/xtensa/test_extui.S @@ -0,0 +1,26 @@ +.include "macros.inc" + +test_suite extui + +.macro test_extui v, shiftimm, maskimm + .if \shiftimm + \maskimm <= 32 + movi a2, \v + extui a3, a2, \shiftimm, \maskimm + movi a4, ((\v) >> (\shiftimm)) & ((1 << (\maskimm)) - 1) + assert eq, a3, a4 + .endif +.endm + +test extui + .set shiftimm, 0 + .rept 32 + .set maskimm, 1 + .rept 16 + test_extui 0xc8df1370, shiftimm, maskimm + .set maskimm, maskimm + 1 + .endr + .set shiftimm, shiftimm + 1 + .endr +test_end + +test_suite_end |