rendered paste body#define rec_recompile_end_exec() \
{ \
/* CLOBBERS ARMREG_R2! */ \
LoadImmediate32((u32)&psxRecLUT[0], ARMREG_R2); \
ARM_LDR_IMM(ARM_POINTER, TEMP_2, PERM_REG_1, 648); \
ARM_MOV_REG_IMMSHIFT(ARM_POINTER, TEMP_1, TEMP_2, \
ARMSHIFT_LSR, 16); \
ARM_LDR_REG_REG_SHIFT(ARM_POINTER, ARMREG_R2, ARMREG_R2, \
TEMP_1, ARMSHIFT_LSL, 2); \
ARM_MOV_REG_IMM(ARM_POINTER, TEMP_1, 0xFC , 0); \
ARM_ORR_REG_IMM(ARM_POINTER, TEMP_1, TEMP_1, 0xFF, 24); \
ARM_AND_REG_REG(ARM_POINTER, TEMP_1, TEMP_2, \
TEMP_1); \
ARM_LDR_REG_REG(ARM_POINTER, TEMP_1, ARMREG_R2, \
TEMP_1); \
ARM_TEQ_REG_IMM(ARM_POINTER, TEMP_1, 0, 0); \
/* BX to TEMP_1 (recMem) address if NE */ \
ARM_BX_COND(ARM_POINTER, ARMCOND_NE, TEMP_1); \
/* No luck, go back to C recompile function */ \
ARM_BL(ARM_POINTER, \
arm_relative_offset(recMem, (u32)rec_recompile_exec, 8)); \
ARM_BX(ARM_POINTER, ARMREG_R0); \
} \