On Mon, Oct 24, 2016 at 04:19:47PM +0000, Wilco Dijkstra wrote:
> The add expander still contains some expansion code that was required for the
> previous prolog/epilog code, but which is no longer needed.  I also noticed 
> that
> the current version splits off immediates from frame addressing instructions,
> which doesn't seem a good idea.  Avoiding this resulted in small codesize 
> improvements.


OK, but...

> ChangeLog:
> 2016-10-24  Wilco Dijkstra  <wdijk...@arm.com>
> 
>     gcc/
>       * config/aarch64/aarch64.md (add<mode>3): Remove
>       redundant code.  Don't split frame based additions.


> +  /* If the constant is too large for a single instruction and isn't frame
> +     based, split off the immediate so it is available for CSE.  */
> +  if (!aarch64_plus_immediate (operands[2], <MODE>mode)
> +      && can_create_pseudo_p () && !REGNO_PTR_FRAME_P (REGNO (operands[1])))

Split the second && on to a newline:

> +  if (!aarch64_plus_immediate (operands[2], <MODE>mode)
> +      && can_create_pseudo_p ()
> +      && !REGNO_PTR_FRAME_P (REGNO (operands[1])))

As so.

Thanks,
James

Reply via email to