[x86] Fix division r3 sign value calculation

This commit is contained in:
David Guillen Fandos 2021-12-13 22:26:49 +01:00
parent c6601d8932
commit 9b25f26ed8
1 changed files with 6 additions and 8 deletions

View File

@ -2223,10 +2223,9 @@ static void function_cc execute_swi(u32 pc)
generate_store_reg(a0, 0); \
generate_store_reg(a1, 1); \
generate_mov(a1, a0); \
generate_shift_right(a1, 31); \
generate_xor(a1, a0); \
generate_shift_right_arithmetic(a0, 31); \
generate_add(a0, a1); \
generate_shift_right_arithmetic(a1, 31); \
generate_xor(a0, a1); \
generate_sub(a0, a1); \
generate_store_reg(a0, 3); \
generate_branch_patch_conditional(jmpinst, translation_ptr); \
}
@ -2243,10 +2242,9 @@ static void function_cc execute_swi(u32 pc)
generate_store_reg(a0, 0); \
generate_store_reg(a1, 1); \
generate_mov(a1, a0); \
generate_shift_right(a1, 31); \
generate_xor(a1, a0); \
generate_shift_right_arithmetic(a0, 31); \
generate_add(a0, a1); \
generate_shift_right_arithmetic(a1, 31); \
generate_xor(a0, a1); \
generate_sub(a0, a1); \
generate_store_reg(a0, 3); \
generate_branch_patch_conditional(jmpinst, translation_ptr); \
}