https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67753
Alexandre Oliva <aoliva at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |ASSIGNED Last reconfirmed| |2015-11-04 Assignee|unassigned at gcc dot gnu.org |aoliva at gcc dot gnu.org Ever confirmed|0 |1 --- Comment #4 from Alexandre Oliva <aoliva at gcc dot gnu.org> --- Created attachment 36645 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=36645&action=edit Here's a patch I'm testing to fix this problem The problem is that the copy of args in PARALLELs from entry_parm to stack_parm is deferred to the parm conversion insn seq, but the copy from stack_parm to target_reg was inserted in the normal copy seq, that is executed before the conversion insn seq. Oops. I seem to have managed to do away with the need for the stack_parm, which would have avoided the need for emitting the copy to target_reg in the conversion seq, but at least on pa, due to the need for stack to copy between SI and SF modes, it seems like using the reserved stack slot is beneficial, so I put in logic to use a pre-reserved stack slot and emit the copy to target_reg in the conversion seq if needed.