diff options
author | Yang Yang <yangyang305@huawei.com> | 2020-11-03 16:13:47 +0000 |
---|---|---|
committer | Richard Sandiford <richard.sandiford@arm.com> | 2020-11-03 16:13:47 +0000 |
commit | abe93733a265f8a8b56dbdd307380f8c83dd3ab5 (patch) | |
tree | 70b03a6cc0e248726a9056c8b3a3a90a36d0b119 /gcc/cgraph.h | |
parent | c5b49c3e092c0de5cd684b0acd244129dfaae324 (diff) | |
download | gcc-abe93733a265f8a8b56dbdd307380f8c83dd3ab5.zip gcc-abe93733a265f8a8b56dbdd307380f8c83dd3ab5.tar.gz gcc-abe93733a265f8a8b56dbdd307380f8c83dd3ab5.tar.bz2 |
PR target/96342 Change field "simdlen" into poly_uint64
This is the first patch of PR96342. In order to add support for
"omp declare simd", change the type of the field "simdlen" of
struct cgraph_simd_clone from unsigned int to poly_uint64 and
related adaptation. Since the length might be variable for the
SVE cases.
2020-11-03 Yang Yang <yangyang305@huawei.com>
gcc/ChangeLog:
* cgraph.h (struct cgraph_simd_clone): Change field "simdlen" of
struct cgraph_simd_clone from unsigned int to poly_uint64.
* config/aarch64/aarch64.c
(aarch64_simd_clone_compute_vecsize_and_simdlen): adaptation of
operations on "simdlen".
* config/i386/i386.c (ix86_simd_clone_compute_vecsize_and_simdlen):
Printf formats update.
* gengtype.c (main): Handle poly_uint64.
* omp-simd-clone.c (simd_clone_mangle): Likewise.Re
(simd_clone_adjust_return_type): Likewise.
(create_tmp_simd_array): Likewise.
(simd_clone_adjust_argument_types): Likewise.
(simd_clone_init_simd_arrays): Likewise.
(ipa_simd_modify_function_body): Likewise.
(simd_clone_adjust): Likewise.
(expand_simd_clones): Likewise.
* poly-int-types.h (vector_unroll_factor): New macro.
* poly-int.h (constant_multiple_p): Add two-argument versions.
* tree-vect-stmts.c (vectorizable_simd_clone_call): Likewise.
Diffstat (limited to 'gcc/cgraph.h')
-rw-r--r-- | gcc/cgraph.h | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/gcc/cgraph.h b/gcc/cgraph.h index cf54370..cd22676 100644 --- a/gcc/cgraph.h +++ b/gcc/cgraph.h @@ -759,17 +759,17 @@ struct GTY(()) cgraph_simd_clone_arg { struct GTY(()) cgraph_simd_clone { /* Number of words in the SIMD lane associated with this clone. */ - unsigned int simdlen; + poly_uint64 simdlen; /* Number of annotated function arguments in `args'. This is usually the number of named arguments in FNDECL. */ unsigned int nargs; /* Max hardware vector size in bits for integral vectors. */ - unsigned int vecsize_int; + poly_uint64 vecsize_int; /* Max hardware vector size in bits for floating point vectors. */ - unsigned int vecsize_float; + poly_uint64 vecsize_float; /* Machine mode of the mask argument(s), if they are to be passed as bitmasks in integer argument(s). VOIDmode if masks are passed |