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]

r242271 - in /branches/ARM/sve-branch/gcc: ada/...


Author: rsandifo
Date: Fri Nov 11 17:31:35 2016
New Revision: 242271

URL: https://gcc.gnu.org/viewcvs?rev=242271&root=gcc&view=rev
Log:
poly_int: TYPE_VECTOR_SUBPARTS

This patch changes TYPE_VECTOR_SUBPARTS to a poly_uint64.  The value is
encoded in the 10-bit precision field and was previously always stored
as a simple log2 value.  The question was how the 10 bits should be
used for variable-length vectors.  In practice the number of vector
elements should always have the form N + N * X (where X is the runtime
value), and as for constant-length vectors, N must be a power of 2.
The patch therefore uses the low bit to select between constant-length
and variable-length and uses the upper 9 bits to encode log2(N).
Targets without variable-length vectors continue to use the old scheme.
A new valid_vector_subparts_p function tests whether a given number of
elements can be encoded.

The patch disables various things that won't work yet for
variable-length vectors.  Later patches relax some of the conditions.

Modified:
    branches/ARM/sve-branch/gcc/ada/gcc-interface/utils.c
    branches/ARM/sve-branch/gcc/c-family/c-common.c
    branches/ARM/sve-branch/gcc/c/c-typeck.c
    branches/ARM/sve-branch/gcc/cfgexpand.c
    branches/ARM/sve-branch/gcc/config/rs6000/rs6000.c
    branches/ARM/sve-branch/gcc/cp/call.c
    branches/ARM/sve-branch/gcc/cp/constexpr.c
    branches/ARM/sve-branch/gcc/cp/mangle.c
    branches/ARM/sve-branch/gcc/cp/typeck.c
    branches/ARM/sve-branch/gcc/cp/typeck2.c
    branches/ARM/sve-branch/gcc/expr.c
    branches/ARM/sve-branch/gcc/fold-const.c
    branches/ARM/sve-branch/gcc/fortran/trans-types.c
    branches/ARM/sve-branch/gcc/gimple-fold.c
    branches/ARM/sve-branch/gcc/go/go-lang.c
    branches/ARM/sve-branch/gcc/lto/lto-lang.c
    branches/ARM/sve-branch/gcc/lto/lto.c
    branches/ARM/sve-branch/gcc/match.pd
    branches/ARM/sve-branch/gcc/omp-simd-clone.c
    branches/ARM/sve-branch/gcc/pretty-print.h
    branches/ARM/sve-branch/gcc/print-tree.c
    branches/ARM/sve-branch/gcc/stor-layout.c
    branches/ARM/sve-branch/gcc/targhooks.c
    branches/ARM/sve-branch/gcc/tree-cfg.c
    branches/ARM/sve-branch/gcc/tree-ssa-forwprop.c
    branches/ARM/sve-branch/gcc/tree-vect-data-refs.c
    branches/ARM/sve-branch/gcc/tree-vect-generic.c
    branches/ARM/sve-branch/gcc/tree-vect-loop.c
    branches/ARM/sve-branch/gcc/tree-vect-patterns.c
    branches/ARM/sve-branch/gcc/tree-vect-slp.c
    branches/ARM/sve-branch/gcc/tree-vect-stmts.c
    branches/ARM/sve-branch/gcc/tree-vectorizer.h
    branches/ARM/sve-branch/gcc/tree.c
    branches/ARM/sve-branch/gcc/tree.h


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