r242271 - in /branches/ARM/sve-branch/gcc: ada/...
rsandifo@gcc.gnu.org
rsandifo@gcc.gnu.org
Fri Nov 11 17:31:00 GMT 2016
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
More information about the Gcc-cvs
mailing list