On Fri, Jul 07, 2017 at 12:28:11PM +0100, Wilco Dijkstra wrote:
> This patch further improves aarch64_legitimate_constant_p.  Allow all
> integer, floating point and vector constants.  Allow label references
> and non-anchor symbols with an immediate offset.  This allows such
> constants to be rematerialized, resulting in smaller code and fewer stack
> spills.
> 
> SPEC2006 codesize reduces by 0.08%, SPEC2017 by 0.13%.
> 
> Bootstrap OK, OK for commit?

This is mostly OK, but I think you lose one case we previosuly permitted,
buried in aarch64_classify_address (the CONST case).

OK with that case handled too (assuming that passes a bootstrap and test).

Reviewed by: James Greenhalgh <james.greenha...@arm.com>

Thanks,
James

> 
> ChangeLog:
> 2017-07-07  Wilco Dijkstra  <wdijk...@arm.com>
> 
>       * config/aarch64/aarch64.c (aarch64_legitimate_constant_p):
>       Return true for more constants, symbols and label references.
>       (aarch64_valid_floating_const): Remove unused function.
> 

Reply via email to