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