Thank you. I fixed the error. it caused by macro:
#define ELIMINABLE_REGS \
{\

 {ARG_POINTER_REGNUM,        FRAME_POINTER_REGNUM}, \
 {ARG_POINTER_REGNUM,        STACK_POINTER_REGNUM}, \
 {FRAME_POINTER_REGNUM,      STACK_POINTER_REGNUM} \
}

because everytime when gcc check the frame_pointer_need, if it is
false, aim eliminated register is SP.
But in the former array, gcc still got FP. So error accurred.

Now it is OK with the following:
#define ELIMINABLE_REGS \
{\
 {ARG_POINTER_REGNUM,        STACK_POINTER_REGNUM}, \
 {ARG_POINTER_REGNUM,        FRAME_POINTER_REGNUM}, \
 {FRAME_POINTER_REGNUM,      STACK_POINTER_REGNUM} \
}
just exchange the former two elements.

So thanks for your guys.

Reply via email to