diff --git a/src/arm/isa-arm.c b/src/arm/isa-arm.c index d241c58d8..8f1d8e2b1 100644 --- a/src/arm/isa-arm.c +++ b/src/arm/isa-arm.c @@ -284,13 +284,13 @@ ATTRIBUTE_NOINLINE static void _neutralS(struct ARMCore* cpu, int32_t d) { #define DEFINE_ALU_INSTRUCTION_EX_ARM(NAME, S_BODY, SHIFTER, BODY) \ DEFINE_INSTRUCTION_ARM(NAME, \ + SHIFTER(cpu, opcode); \ int rd = (opcode >> 12) & 0xF; \ int rn = (opcode >> 16) & 0xF; \ int32_t n = cpu->gprs[rn]; \ if (UNLIKELY(rn == ARM_PC && (opcode & 0x02000010) == 0x00000010)) { \ n += WORD_SIZE_ARM; \ } \ - SHIFTER(cpu, opcode); \ BODY; \ S_BODY; \ if (rd == ARM_PC) { \