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

wilco@gcc.gnu.org wilco@gcc.gnu.org
Mon May 16 12:52:00 GMT 2016


Author: wilco
Date: Mon May 16 12:52:22 2016
New Revision: 236285

URL: https://gcc.gnu.org/viewcvs?rev=236285&root=gcc&view=rev
Log:
Some patterns are using '%w2' for immediate operands, which means that a zero
immediate is actually emitted as 'wzr' or 'xzr'.  This not only changes an
immediate operand into a register operand but may emit illegal instructions
from legal RTL (eg. ORR x0, SP, xzr rather than ORR x0, SP, 0).

	* config/aarch64/aarch64.md
	(add<mode>3_compareC_cconly_imm): Remove use of %w.
	(add<mode>3_compareC_imm): Likewise.
	(<optab>si3_uxtw): Split into register and immediate variants.
	(andsi3_compare0_uxtw): Likewise.
	(and<mode>3_compare0): Likewise.
	(and<mode>3nr_compare0): Likewise.
	(stack_protect_test_<mode>): Don't use %x for memory operands.


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



More information about the Gcc-cvs mailing list