diff options
author | Jonathan Wright <jonathan.wright@arm.com> | 2021-09-10 16:48:02 +0100 |
---|---|---|
committer | Jonathan Wright <jonathan.wright@arm.com> | 2021-11-04 14:50:40 +0000 |
commit | 8197ab94b47c814632d758dd36a121ad4114ff70 (patch) | |
tree | d6552d642af27bab058d947e171edd257b3aee5b /gcc/expr.c | |
parent | fbe58ba97aff3270877d7fd5600c17687b85964c (diff) | |
download | gcc-8197ab94b47c814632d758dd36a121ad4114ff70.zip gcc-8197ab94b47c814632d758dd36a121ad4114ff70.tar.gz gcc-8197ab94b47c814632d758dd36a121ad4114ff70.tar.bz2 |
aarch64: Move Neon vector-tuple type declaration into the compiler
Declare the Neon vector-tuple types inside the compiler instead of in
the arm_neon.h header. This is a necessary first step before adding
corresponding machine modes to the AArch64 backend.
The vector-tuple types are implemented using a #pragma. This means
initialization of builtin functions that have vector-tuple types as
arguments or return values has to be delayed until the #pragma is
handled.
gcc/ChangeLog:
2021-09-10 Jonathan Wright <jonathan.wright@arm.com>
* config/aarch64/aarch64-builtins.c (aarch64_init_simd_builtins):
Factor out main loop to...
(aarch64_init_simd_builtin_functions): This new function.
(register_tuple_type): Define.
(aarch64_scalar_builtin_type_p): Define.
(handle_arm_neon_h): Define.
* config/aarch64/aarch64-c.c (aarch64_pragma_aarch64): Handle
pragma for arm_neon.h.
* config/aarch64/aarch64-protos.h (aarch64_advsimd_struct_mode_p):
Declare.
(handle_arm_neon_h): Likewise.
* config/aarch64/aarch64.c (aarch64_advsimd_struct_mode_p):
Remove static modifier.
* config/aarch64/arm_neon.h (target): Remove Neon vector
structure type definitions.
Diffstat (limited to 'gcc/expr.c')
0 files changed, 0 insertions, 0 deletions