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]

r242083 - /branches/ARM/sve-branch/gcc/combine.c


Author: rsandifo
Date: Fri Nov 11 16:56:51 2016
New Revision: 242083

URL: https://gcc.gnu.org/viewcvs?rev=242083&root=gcc&view=rev
Log:
Fix simplify_shift_const_1 handling of vector shifts

simplify_shift_const_1 handles both shifts of scalars by scalars
and shifts of vectors by scalars.  For vectors this means that
each element is shifted by the same amount.

However:

(a) the two cases weren't always distinguished, so we'd try
    things for vectors that only made sense for scalars.

(b) a lot of the range and bitcount checks were based on the
    bitsize or precision of the full shifted operand, rather
    than the mode of each element.

Fixing (b) accidentally exposed more optimisation opportunities,
although that wasn't the point of the patch.

Modified:
    branches/ARM/sve-branch/gcc/combine.c


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