From faec4da733ff2632753a92aaf36c2311e3e03935 Mon Sep 17 00:00:00 2001 From: TomW Date: Mon, 9 Mar 2015 19:54:02 +0000 Subject: [PATCH] All CALL/RET/JMP/IRET/INT instruction cycles should now be counted in recompiler. --- src/codegen_x86.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/codegen_x86.c b/src/codegen_x86.c index 1fc44e2..524cf21 100644 --- a/src/codegen_x86.c +++ b/src/codegen_x86.c @@ -907,8 +907,10 @@ generate_call: codegen_block_ins++; - if (((op_table == x86_dynarec_opcodes && ((opcode & 0xf0) == 0x70)) || - (op_table == x86_dynarec_opcodes && ((opcode & 0xfc) == 0xe0)) || + if ((op_table == x86_dynarec_opcodes && + ((opcode & 0xf0) == 0x70 || (opcode & 0xfc) == 0xe0 || opcode == 0xc2 || + (opcode & 0xfe) == 0xca || (opcode & 0xfc) == 0xcc || (opcode & 0xfc) == 0xe8 || + (opcode == 0xff && ((fetchdat & 0x38) >= 0x10 && (fetchdat & 0x38) < 0x30))) || (op_table == x86_dynarec_opcodes_0f && ((opcode & 0xf0) == 0x80)))) { /*Opcode is likely to cause block to exit, update cycle count*/