diff options
Diffstat (limited to 'qemu/tests/tcg/xtensa/test_shift.S')
-rw-r--r-- | qemu/tests/tcg/xtensa/test_shift.S | 206 |
1 files changed, 0 insertions, 206 deletions
diff --git a/qemu/tests/tcg/xtensa/test_shift.S b/qemu/tests/tcg/xtensa/test_shift.S deleted file mode 100644 index 5df9ed4b1..000000000 --- a/qemu/tests/tcg/xtensa/test_shift.S +++ /dev/null @@ -1,206 +0,0 @@ -#include "macros.inc" - -test_suite shift - -.macro test_shift prefix, dst, src, v, imm - \prefix\()_set \dst, \src, \v, \imm - \prefix\()_ver \dst, \v, \imm -.endm - -.macro test_shift_sd prefix, v, imm - test_shift \prefix, a3, a2, \v, \imm - test_shift \prefix, a2, a2, \v, \imm -.endm - -.macro tests_imm_shift prefix, v - test_shift_sd \prefix, \v, 1 - test_shift_sd \prefix, \v, 2 - test_shift_sd \prefix, \v, 7 - test_shift_sd \prefix, \v, 8 - test_shift_sd \prefix, \v, 15 - test_shift_sd \prefix, \v, 16 - test_shift_sd \prefix, \v, 31 -.endm - -.macro tests_shift prefix, v - test_shift_sd \prefix, \v, 0 - tests_imm_shift \prefix, \v - test_shift_sd \prefix, \v, 32 -.endm - - -.macro slli_set dst, src, v, imm - movi \src, \v - slli \dst, \src, \imm -.endm - -.macro slli_ver dst, v, imm - mov a2, \dst - movi a3, ((\v) << (\imm)) & 0xffffffff - assert eq, a2, a3 -.endm - -test slli - tests_imm_shift slli, 0xa3c51249 -test_end - - -.macro srai_set dst, src, v, imm - movi \src, \v - srai \dst, \src, \imm -.endm - -.macro srai_ver dst, v, imm - mov a2, \dst - .if (\imm) - movi a3, (((\v) >> (\imm)) & 0xffffffff) | \ - ~((((\v) & 0x80000000) >> ((\imm) - 1)) - 1) - .else - movi a3, \v - .endif - assert eq, a2, a3 -.endm - -test srai - tests_imm_shift srai, 0x49a3c512 - tests_imm_shift srai, 0xa3c51249 -test_end - - -.macro srli_set dst, src, v, imm - movi \src, \v - srli \dst, \src, \imm -.endm - -.macro srli_ver dst, v, imm - mov a2, \dst - movi a3, (((\v) >> (\imm)) & 0xffffffff) - assert eq, a2, a3 -.endm - -test srli - tests_imm_shift srli, 0x49a3c512 - tests_imm_shift srli, 0xa3c51249 -test_end - - -.macro sll_set dst, src, v, imm - movi a2, \imm - ssl a2 - movi \src, \v - sll \dst, \src -.endm - -.macro sll_sar_set dst, src, v, imm - movi a2, 32 - \imm - wsr a2, sar - movi \src, \v - sll \dst, \src -.endm - -.macro sll_ver dst, v, imm - slli_ver \dst, \v, (\imm) & 0x1f -.endm - -.macro sll_sar_ver dst, v, imm - slli_ver \dst, \v, \imm -.endm - -test sll - tests_shift sll, 0xa3c51249 - tests_shift sll_sar, 0xa3c51249 -test_end - - -.macro srl_set dst, src, v, imm - movi a2, \imm - ssr a2 - movi \src, \v - srl \dst, \src -.endm - -.macro srl_sar_set dst, src, v, imm - movi a2, \imm - wsr a2, sar - movi \src, \v - srl \dst, \src -.endm - -.macro srl_ver dst, v, imm - srli_ver \dst, \v, (\imm) & 0x1f -.endm - -.macro srl_sar_ver dst, v, imm - srli_ver \dst, \v, \imm -.endm - -test srl - tests_shift srl, 0xa3c51249 - tests_shift srl_sar, 0xa3c51249 - tests_shift srl, 0x49a3c512 - tests_shift srl_sar, 0x49a3c512 -test_end - - -.macro sra_set dst, src, v, imm - movi a2, \imm - ssr a2 - movi \src, \v - sra \dst, \src -.endm - -.macro sra_sar_set dst, src, v, imm - movi a2, \imm - wsr a2, sar - movi \src, \v - sra \dst, \src -.endm - -.macro sra_ver dst, v, imm - srai_ver \dst, \v, (\imm) & 0x1f -.endm - -.macro sra_sar_ver dst, v, imm - srai_ver \dst, \v, \imm -.endm - -test sra - tests_shift sra, 0xa3c51249 - tests_shift sra_sar, 0xa3c51249 - tests_shift sra, 0x49a3c512 - tests_shift sra_sar, 0x49a3c512 -test_end - - -.macro src_set dst, src, v, imm - movi a2, \imm - ssr a2 - movi \src, (\v) & 0xffffffff - movi a4, (\v) >> 32 - src \dst, a4, \src -.endm - -.macro src_sar_set dst, src, v, imm - movi a2, \imm - wsr a2, sar - movi \src, (\v) & 0xffffffff - movi a4, (\v) >> 32 - src \dst, a4, \src -.endm - -.macro src_ver dst, v, imm - src_sar_ver \dst, \v, (\imm) & 0x1f -.endm - -.macro src_sar_ver dst, v, imm - mov a2, \dst - movi a3, ((\v) >> (\imm)) & 0xffffffff - assert eq, a2, a3 -.endm - -test src - tests_shift src, 0xa3c51249215c3a94 - tests_shift src_sar, 0xa3c51249215c3a94 -test_end - -test_suite_end |