This is the mail archive of the gcc-cvs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

r242121 - in /branches/ARM/sve-branch/gcc: comb...


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]