nkeynes@396: .section .text nkeynes@396: .include "sh4/inc.s" nkeynes@396: nkeynes@396: .global _test_shl nkeynes@396: _test_shl: nkeynes@396: start_test nkeynes@396: nkeynes@396: test_shll_1: nkeynes@396: add #1, r12 nkeynes@396: nkeynes@396: mov.l test_shll_1_input, r3 nkeynes@396: mov.l test_shll_1_result, r4 nkeynes@396: clrt nkeynes@396: shll r3 nkeynes@396: bf test_shll_1_fail nkeynes@396: cmp/eq r3, r4 nkeynes@396: bt test_shll_2 nkeynes@396: test_shll_1_fail: nkeynes@396: fail test_shl_str_k nkeynes@396: bra test_shll_2 nkeynes@396: nop nkeynes@396: test_shll_1_input: nkeynes@396: .long 0x94E12323 nkeynes@396: test_shll_1_result: nkeynes@396: .long 0x29C24646 nkeynes@396: nkeynes@396: test_shll_2: nkeynes@396: add #1, r12 nkeynes@396: mov.l test_shll_2_input, r3 nkeynes@396: mov.l test_shll_2_result, r4 nkeynes@396: sett nkeynes@396: shll r3 nkeynes@396: bt test_shll_2_fail nkeynes@396: cmp/eq r3, r4 nkeynes@396: bt test_shal_1 nkeynes@396: test_shll_2_fail: nkeynes@396: fail test_shl_str_k nkeynes@396: bra test_shal_1 nkeynes@396: nop nkeynes@396: test_shll_2_input: nkeynes@396: .long 0x29C24646 nkeynes@396: test_shll_2_result: nkeynes@396: .long 0x53848C8C nkeynes@396: nkeynes@396: test_shal_1: nkeynes@396: add #1, r12 nkeynes@396: nkeynes@396: mov.l test_shal_1_input, r3 nkeynes@396: mov.l test_shal_1_result, r4 nkeynes@396: clrt nkeynes@396: shal r3 nkeynes@396: bf test_shal_1_fail nkeynes@396: cmp/eq r3, r4 nkeynes@396: bt test_shal_2 nkeynes@396: test_shal_1_fail: nkeynes@396: fail test_shl_str_k nkeynes@396: bra test_shal_2 nkeynes@396: nop nkeynes@396: test_shal_1_input: nkeynes@396: .long 0x94E12323 nkeynes@396: test_shal_1_result: nkeynes@396: .long 0x29C24646 nkeynes@396: nkeynes@396: test_shal_2: nkeynes@396: add #1, r12 nkeynes@396: mov.l test_shal_2_input, r3 nkeynes@396: mov.l test_shal_2_result, r4 nkeynes@396: sett nkeynes@396: shal r3 nkeynes@396: bt test_shal_2_fail nkeynes@396: cmp/eq r3, r4 nkeynes@396: bt test_shlr_1 nkeynes@396: test_shal_2_fail: nkeynes@396: fail test_shl_str_k nkeynes@396: bra test_shlr_1 nkeynes@396: nop nkeynes@396: test_shal_2_input: nkeynes@396: .long 0x29C24646 nkeynes@396: test_shal_2_result: nkeynes@396: .long 0x53848C8C nkeynes@396: nkeynes@396: test_shlr_1: nkeynes@396: add #1, r12 nkeynes@396: nkeynes@396: mov.l test_shlr_1_input, r3 nkeynes@396: mov.l test_shlr_1_result, r4 nkeynes@396: clrt nkeynes@396: shlr r3 nkeynes@396: bf test_shlr_1_fail nkeynes@396: cmp/eq r3, r4 nkeynes@396: bt test_shlr_2 nkeynes@396: test_shlr_1_fail: nkeynes@396: fail test_shl_str_k nkeynes@396: bra test_shlr_2 nkeynes@396: nop nkeynes@396: test_shlr_1_input: nkeynes@396: .long 0x94E12323 nkeynes@396: test_shlr_1_result: nkeynes@396: .long 0x4A709191 nkeynes@396: nkeynes@396: test_shlr_2: nkeynes@396: add #1, r12 nkeynes@396: mov.l test_shlr_2_input, r3 nkeynes@396: mov.l test_shlr_2_result, r4 nkeynes@396: sett nkeynes@396: shlr r3 nkeynes@396: bt test_shlr_2_fail nkeynes@396: cmp/eq r3, r4 nkeynes@396: bt test_shar_1 nkeynes@396: test_shlr_2_fail: nkeynes@396: fail test_shl_str_k nkeynes@396: bra test_shar_1 nkeynes@396: nop nkeynes@396: test_shlr_2_input: nkeynes@396: .long 0x42709192 nkeynes@396: test_shlr_2_result: nkeynes@396: .long 0x213848C9 nkeynes@396: nkeynes@396: nkeynes@396: test_shar_1: nkeynes@396: add #1, r12 nkeynes@396: nkeynes@396: mov.l test_shar_1_input, r3 nkeynes@396: mov.l test_shar_1_result, r4 nkeynes@396: clrt nkeynes@396: shar r3 nkeynes@396: bf test_shar_1_fail nkeynes@396: cmp/eq r3, r4 nkeynes@396: bt test_shar_2 nkeynes@396: test_shar_1_fail: nkeynes@396: fail test_shl_str_k nkeynes@396: bra test_shar_2 nkeynes@396: nop nkeynes@396: test_shar_1_input: nkeynes@396: .long 0x94E12323 nkeynes@396: test_shar_1_result: nkeynes@396: .long 0xCA709191 nkeynes@396: nkeynes@396: test_shar_2: nkeynes@396: add #1, r12 nkeynes@396: mov.l test_shar_2_input, r3 nkeynes@396: mov.l test_shar_2_result, r4 nkeynes@396: sett nkeynes@396: shar r3 nkeynes@396: bt test_shar_2_fail nkeynes@396: cmp/eq r3, r4 nkeynes@396: bt test_shl_end nkeynes@396: test_shar_2_fail: nkeynes@396: fail test_shl_str_k nkeynes@396: bra test_shl_end nkeynes@396: nop nkeynes@396: test_shar_2_input: nkeynes@396: .long 0x42709192 nkeynes@396: test_shar_2_result: nkeynes@396: .long 0x213848C9 nkeynes@396: nkeynes@396: nkeynes@396: nkeynes@396: test_shl_end: nkeynes@396: end_test test_shl_str_k nkeynes@396: nkeynes@396: test_shl_str: nkeynes@396: .string "SHL" nkeynes@396: nkeynes@396: .align 4 nkeynes@396: test_shl_str_k: nkeynes@396: .long test_shl_str nkeynes@396: