On 08/08/13 14:38, Richard Earnshaw wrote:
> PR target/56979 is a bug where a parameter to a function has an
> alignment that is larger than its natural alignment.  In this case this
> causes the mid-end to generate a mode for the argument that is
> incompatible with the registers that are assigned for it.  We then end
> up creating invalid RTL and subsequently abort when the pattern cannot
> emit assembly code.
> 
> The fix is to decompose the assignment when this would happen in the
> same way that we handle other block mode arguments and handle each piece
> in turn.
> 
>       PR target/56979
>       * arm.c (aapcs_vfp_allocate): Decompose the argument if the
>       suggested mode for the assignment isn't compatible with the
>       registers required.
> 
> Committed to trunk.
> 

And back-ported to the 4.7 and 4.8 branches.


Reply via email to