r242121 - in /branches/ARM/sve-branch/gcc: comb...
rsandifo@gcc.gnu.org
rsandifo@gcc.gnu.org
Fri Nov 11 17:03:00 GMT 2016
Author: rsandifo
Date: Fri Nov 11 17:03:53 2016
New Revision: 242121
URL: https://gcc.gnu.org/viewcvs?rev=242121&root=gcc&view=rev
Log:
Use is_a <scalar_int_mode> in subreg/extract simplifications
Add is_a <scalar_int_mode> checks to various places that were
optimising subregs or extractions in ways that only made sense
for scalar integers. Often the subreg transformations were
looking for extends, truncates or shifts and trying to remove
the subreg, which wouldn't be correct if the SUBREG_REG was
a vector rather than a scalar.
The simplify_binary_operation_1 part also removes a redundant:
GET_MODE (opleft) == GET_MODE (XEXP (opright, 0))
since this must be true for:
(ior A (lshifrt B ...)) A == opleft, B == XEXP (opright, 0)
Modified:
branches/ARM/sve-branch/gcc/combine.c
branches/ARM/sve-branch/gcc/expr.c
branches/ARM/sve-branch/gcc/fwprop.c
branches/ARM/sve-branch/gcc/loop-iv.c
branches/ARM/sve-branch/gcc/optabs.c
branches/ARM/sve-branch/gcc/postreload.c
branches/ARM/sve-branch/gcc/recog.c
branches/ARM/sve-branch/gcc/simplify-rtx.c
More information about the Gcc-cvs
mailing list