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]

r242182 - in /branches/ARM/sve-branch/gcc: asan...


Author: rsandifo
Date: Fri Nov 11 17:14:19 2016
New Revision: 242182

URL: https://gcc.gnu.org/viewcvs?rev=242182&root=gcc&view=rev
Log:
Add helpers for shift count modes

This patch adds a stub helper routine to provide the mode
of a scalar shift amount, given the mode of the values
being shifted.

One long-standing problem has been to decide what this mode
should be for arbitrary rtxes (as opposed to those directly
tied to a target pattern).  Is it the mode of the shifted
elements?  Is it word_mode?  Or maybe QImode?  Is it whatever
the corresponding target pattern says?  (In which case what
should the mode be when the target doesn't have a pattern?)

For now the patch picks word_mode, which should be safe on
all targets but could perhaps become suboptimal if the helper
routine is used more often than it is in this patch.

The patch also adds a helper function that constructs rtxes
for constant shift amounts, again given the mode of the value
being shifted.  As well as helping with the SVE patches, this
is one step towards allowing CONST_INTs to have a real mode.

Modified:
    branches/ARM/sve-branch/gcc/asan.c
    branches/ARM/sve-branch/gcc/calls.c
    branches/ARM/sve-branch/gcc/combine.c
    branches/ARM/sve-branch/gcc/cse.c
    branches/ARM/sve-branch/gcc/dse.c
    branches/ARM/sve-branch/gcc/emit-rtl.c
    branches/ARM/sve-branch/gcc/emit-rtl.h
    branches/ARM/sve-branch/gcc/expmed.c
    branches/ARM/sve-branch/gcc/lower-subreg.c
    branches/ARM/sve-branch/gcc/optabs.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]