Hi : I found the temp register used for saving registers when expanding prologue is defined by macro MIPS_PROLOGUE_TEMP_REGNUM on mips target, like:
#define MIPS_PROLOGUE_TEMP_REGNUM \ (cfun->machine->interrupt_handler_p ? K0_REG_NUM : GP_REG_FIRST + 3) I don't understand why using registers starting from $3? in my application, I have to save DFmode fpu regs through gpr regs, that is $3,$4 in this case, just like : mfc1 $3, $fpr sw $3, addr mfc1 $4, $fpr+1 sw $4, addr+4 apparently this would crush the argument in $4. Here is question, why don't use $8 for MIPS_PROLOGUE_TEMP_REGNUM like EPILOGUE_TEMP? Or have I done something wrong? So, any clarification? Thanks in advance. -- Best Regards.