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