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.

Reply via email to