From fa5e34ce192618f647ddba7b83a47f83a60467ed Mon Sep 17 00:00:00 2001 From: gibbed Date: Thu, 14 May 2015 14:53:24 -0500 Subject: [PATCH] Tests for andi. --- src/xenia/cpu/frontend/test/instr_andi.s | 90 ++++++++++++++++++++++++ 1 file changed, 90 insertions(+) create mode 100644 src/xenia/cpu/frontend/test/instr_andi.s diff --git a/src/xenia/cpu/frontend/test/instr_andi.s b/src/xenia/cpu/frontend/test/instr_andi.s new file mode 100644 index 000000000..c36690a02 --- /dev/null +++ b/src/xenia/cpu/frontend/test/instr_andi.s @@ -0,0 +1,90 @@ +test_andi_cr_1: + #_ REGISTER_IN r5 0xFFFFFFFFFFFFFFFF + andi. r11, r5, 0xCAFE + mfcr r12 + blr + #_ REGISTER_OUT r5 0xFFFFFFFFFFFFFFFF + #_ REGISTER_OUT r11 0x0000CAFE + #_ REGISTER_OUT r12 0x40000000 + +test_andi_cr_1_constant: + li r5, -1 + andi. r11, r5, 0xCAFE + mfcr r12 + blr + #_ REGISTER_OUT r5 0xFFFFFFFFFFFFFFFF + #_ REGISTER_OUT r11 0x0000CAFE + #_ REGISTER_OUT r12 0x40000000 + +#test_andi_cr_2: +# #_ REGISTER_IN r5 0xFFFFFFFFFFFFFFFF +# andi. r11, r5, 0 +# mfcr r12 +# blr +# #_ REGISTER_OUT r5 0xFFFFFFFFFFFFFFFF +# #_ REGISTER_OUT r11 0 +# #_ REGISTER_OUT r12 0x20000000 + +#test_andi_cr_2_constant: +# #_ REGISTER_IN r5 0xFFFFFFFFFFFFFFFF +# andi. r11, r5, 0 +# mfcr r12 +# blr +# #_ REGISTER_OUT r5 0xFFFFFFFFFFFFFFFF +# #_ REGISTER_OUT r11 0 +# #_ REGISTER_OUT r12 0x20000000 + +test_andi_cr_3: + #_ REGISTER_IN r5 0 + andi. r11, r5, 0xFFFF + mfcr r12 + blr + #_ REGISTER_OUT r5 0 + #_ REGISTER_OUT r11 0 + #_ REGISTER_OUT r12 0x20000000 + +test_andi_cr_3_constant: + li r5, 0 + andi. r11, r5, 0xFFFF + mfcr r12 + blr + #_ REGISTER_OUT r5 0 + #_ REGISTER_OUT r11 0 + #_ REGISTER_OUT r12 0x20000000 + +test_andi_cr_4: + #_ REGISTER_IN r5 0xFFFFFFFFFFFFFFFF + andi. r11, r5, 0xCAFE + mfcr r12 + blr + #_ REGISTER_OUT r5 0xFFFFFFFFFFFFFFFF + #_ REGISTER_OUT r11 0x0000CAFE + #_ REGISTER_OUT r12 0x40000000 + +test_andi_cr_4_constant: + li r5, -1 + andi. r11, r5, 0xCAFE + mfcr r12 + blr + #_ REGISTER_OUT r5 0xFFFFFFFFFFFFFFFF + #_ REGISTER_OUT r11 0x0000CAFE + #_ REGISTER_OUT r12 0x40000000 + +test_andi_cr_5: + #_ REGISTER_IN r0 0x100000FF + andi. r11, r0, 0xFFFF + mfcr r12 + blr + #_ REGISTER_OUT r0 0x100000FF + #_ REGISTER_OUT r11 0x000000FF + #_ REGISTER_OUT r12 0x40000000 + +test_andi_cr_5_constant: + lis r0, 0x1000 + ori r0, r0, 0xFF + andi. r11, r0, 0xFFFF + mfcr r12 + blr + #_ REGISTER_OUT r0 0x100000FF + #_ REGISTER_OUT r11 0x000000FF + #_ REGISTER_OUT r12 0x40000000