nkeynes@231: .section .text nkeynes@231: .include "sh4/inc.s" nkeynes@231: ! nkeynes@231: ! Test cmp/xx nkeynes@231: nkeynes@231: .global _test_cmp nkeynes@231: _test_cmp: nkeynes@231: start_test nkeynes@231: nkeynes@231: test_cmpeq_1: ! CMP/EQ 0, 0 nkeynes@231: add #1, r12 nkeynes@231: xor r0, r0 nkeynes@231: xor r1, r1 nkeynes@231: cmp/eq r0, r1 nkeynes@231: bt test_cmpeq_2 nkeynes@231: fail test_cmpeq_str_k nkeynes@231: nkeynes@231: test_cmpeq_2: ! CMP/EQ !0, 0 nkeynes@231: add #1, r12 nkeynes@231: mov #50, r2 nkeynes@231: cmp/eq r1, r2 nkeynes@231: bf test_cmpeq_3 nkeynes@231: fail test_cmpeq_str_k nkeynes@231: nkeynes@231: test_cmpeq_3: ! CMP/EQ -50, 50 nkeynes@231: add #1, r12 nkeynes@231: mov #-50, r3 nkeynes@231: cmp/eq r3, r2 nkeynes@231: bf test_cmpeq_4 nkeynes@231: fail test_cmpeq_str_k nkeynes@231: nkeynes@231: test_cmpeq_4: ! CMP/EQ 50, 50 nkeynes@231: add #1, r12 nkeynes@231: mov #50, r6 nkeynes@231: cmp/eq r6, r2 nkeynes@231: bt test_cmpeq_5 nkeynes@231: fail test_cmpeq_str_k nkeynes@231: nkeynes@231: test_cmpeq_5: nkeynes@231: nkeynes@231: test_cmpeq_6: nkeynes@231: nkeynes@231: test_cmpge_1: nkeynes@231: add #1, r12 nkeynes@231: cmp/ge r2, r6 nkeynes@231: bt test_cmpge_2 nkeynes@231: fail test_cmpge_str_k nkeynes@231: nkeynes@231: test_cmpge_2: nkeynes@231: add #1, r12 nkeynes@231: cmp/ge r3, r2 nkeynes@231: bt test_cmpge_3 nkeynes@231: fail test_cmpge_str_k nkeynes@231: nkeynes@231: test_cmpge_3: nkeynes@231: add #1, r12 nkeynes@231: cmp/ge r2, r3 nkeynes@231: bf test_cmpge_4 nkeynes@231: fail test_cmpge_str_k nkeynes@231: nkeynes@231: test_cmpge_4: nkeynes@231: add #1, r12 nkeynes@231: mov #75, r5 nkeynes@231: cmp/ge r2, r5 nkeynes@231: bt test_cmpge_5 nkeynes@231: fail test_cmpge_str_k nkeynes@231: nkeynes@231: test_cmpge_5: nkeynes@231: add #1, r12 nkeynes@231: cmp/ge r5, r2 nkeynes@231: bf test_cmpgt_1 nkeynes@231: fail test_cmpge_str_k nkeynes@231: nkeynes@231: test_cmpgt_1: nkeynes@231: add #1, r12 nkeynes@231: cmp/gt r2, r6 nkeynes@231: bf test_cmpgt_2 nkeynes@231: fail test_cmpgt_str_k nkeynes@231: nkeynes@231: test_cmpgt_2: nkeynes@231: add #1, r12 nkeynes@231: cmp/gt r3, r2 nkeynes@231: bt test_cmpgt_3 nkeynes@231: fail test_cmpgt_str_k nkeynes@231: nkeynes@231: test_cmpgt_3: nkeynes@231: add #1, r12 nkeynes@231: cmp/gt r2, r3 nkeynes@231: bf test_cmpgt_4 nkeynes@231: fail test_cmpgt_str_k nkeynes@231: nkeynes@231: test_cmpgt_4: nkeynes@231: add #1, r12 nkeynes@231: mov #75, r5 nkeynes@231: cmp/gt r2, r5 nkeynes@231: bt test_cmpgt_5 nkeynes@231: fail test_cmpgt_str_k nkeynes@231: nkeynes@231: test_cmpgt_5: nkeynes@231: add #1, r12 nkeynes@231: cmp/gt r5, r2 nkeynes@231: bf test_cmphi_1 nkeynes@231: fail test_cmpgt_str_k nkeynes@231: nkeynes@231: nkeynes@231: test_cmphi_1: nkeynes@231: add #1, r12 nkeynes@231: cmp/hi r2, r6 nkeynes@231: bf test_cmphi_2 nkeynes@231: fail test_cmphi_str_k nkeynes@231: nkeynes@231: test_cmphi_2: nkeynes@231: add #1, r12 nkeynes@231: cmp/hi r3, r2 nkeynes@231: bf test_cmphi_3 nkeynes@231: fail test_cmphi_str_k nkeynes@231: nkeynes@231: test_cmphi_3: nkeynes@231: add #1, r12 nkeynes@231: cmp/hi r2, r3 nkeynes@231: bt test_cmphi_4 nkeynes@231: fail test_cmphi_str_k nkeynes@231: nkeynes@231: test_cmphi_4: nkeynes@231: add #1, r12 nkeynes@231: mov #75, r5 nkeynes@231: cmp/hi r2, r5 nkeynes@231: bt test_cmphi_5 nkeynes@231: fail test_cmphi_str_k nkeynes@231: nkeynes@231: test_cmphi_5: nkeynes@231: add #1, r12 nkeynes@231: cmp/hi r5, r2 nkeynes@231: bf test_cmphs_1 nkeynes@231: fail test_cmphi_str_k nkeynes@231: nkeynes@231: test_cmphs_1: nkeynes@231: add #1, r12 nkeynes@231: cmp/hs r2, r6 nkeynes@231: bt test_cmphs_2 nkeynes@231: fail test_cmphs_str_k nkeynes@231: nkeynes@231: test_cmphs_2: nkeynes@231: add #1, r12 nkeynes@231: cmp/hs r3, r2 nkeynes@231: bf test_cmphs_3 nkeynes@231: fail test_cmphs_str_k nkeynes@231: nkeynes@231: test_cmphs_3: nkeynes@231: add #1, r12 nkeynes@231: cmp/hs r2, r3 nkeynes@231: bt test_cmphs_4 nkeynes@231: fail test_cmphs_str_k nkeynes@231: nkeynes@231: test_cmphs_4: nkeynes@231: add #1, r12 nkeynes@231: mov #75, r5 nkeynes@231: cmp/hs r2, r5 nkeynes@231: bt test_cmphs_5 nkeynes@231: fail test_cmphs_str_k nkeynes@231: nkeynes@231: test_cmphs_5: nkeynes@231: add #1, r12 nkeynes@231: cmp/hs r5, r2 nkeynes@231: bf test_cmppl_1 nkeynes@231: fail test_cmphs_str_k nkeynes@231: nkeynes@231: test_cmppl_1: nkeynes@231: nkeynes@231: test_cmp_end: nkeynes@231: end_test test_cmp_str_k nkeynes@231: test_cmpeq_str: nkeynes@231: .string "CMP/EQ" nkeynes@231: test_cmpge_str: nkeynes@231: .string "CMP/GE" nkeynes@231: test_cmpgt_str: nkeynes@231: .string "CMP/GT" nkeynes@231: test_cmphi_str: nkeynes@231: .string "CMP/HI" nkeynes@231: test_cmphs_str: nkeynes@231: .string "CMP/HS" nkeynes@231: test_cmp_str: nkeynes@231: .string "CMP" nkeynes@231: nkeynes@231: .align 4 nkeynes@231: test_cmp_str_k: nkeynes@231: .long test_cmp_str nkeynes@231: test_cmpeq_str_k: nkeynes@231: .long test_cmpeq_str nkeynes@231: test_cmpge_str_k: nkeynes@231: .long test_cmpge_str nkeynes@231: test_cmpgt_str_k: nkeynes@231: .long test_cmpgt_str nkeynes@231: test_cmphi_str_k: nkeynes@231: .long test_cmphi_str nkeynes@231: test_cmphs_str_k: nkeynes@231: .long test_cmphs_str nkeynes@231: