r254388 - in /trunk/gcc: ChangeLog config/aarch...

wilco@gcc.gnu.org wilco@gcc.gnu.org
Fri Nov 3 18:19:00 GMT 2017


Author: wilco
Date: Fri Nov  3 18:19:33 2017
New Revision: 254388

URL: https://gcc.gnu.org/viewcvs?rev=254388&root=gcc&view=rev
Log:
Improve aarch64_legitimate_constant_p

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%.

    gcc/
	* config/aarch64/aarch64.c (aarch64_legitimate_constant_p):
	Return true for more constants, symbols and label references.
	(aarch64_valid_floating_const): Remove unused function.

Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/config/aarch64/aarch64.c



More information about the Gcc-cvs mailing list