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

ktkachov@gcc.gnu.org ktkachov@gcc.gnu.org
Fri Feb 20 14:05:00 GMT 2015


Author: ktkachov
Date: Fri Feb 20 14:05:51 2015
New Revision: 220860

URL: https://gcc.gnu.org/viewcvs?rev=220860&root=gcc&view=rev
Log:
[AArch64] Fix wrong-code bug in right-shift SISD patterns

	* config/aarch64/aarch64.md (*aarch64_lshr_sisd_or_int_<mode>3):
	Mark operand 0 as earlyclobber in 2nd alternative.
	(1st define_split below *aarch64_lshr_sisd_or_int_<mode>3):
	Write negated shift amount into QI lowpart operand 0 and use it
	in the shift step.
	(2nd define_split below *aarch64_lshr_sisd_or_int_<mode>3): Likewise.

	* gcc.target/aarch64/sisd-shft-neg_1.c: New test.

Added:
    trunk/gcc/testsuite/gcc.target/aarch64/sisd-shft-neg_1.c
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/config/aarch64/aarch64.md
    trunk/gcc/testsuite/ChangeLog



More information about the Gcc-cvs mailing list