diff options
author | Jonathan Wright <jonathan.wright@arm.com> | 2021-02-08 21:23:48 +0000 |
---|---|---|
committer | Jonathan Wright <jonathan.wright@arm.com> | 2021-04-28 21:11:13 +0100 |
commit | fa18085a32df06be6e7d899fd804d537c0149baf (patch) | |
tree | 536f7c6f7f11e9ccb3eabe3383dc32585780bcb4 /gcc/tree.h | |
parent | eb2b36024c94bc32465777927092cdbdf2d95204 (diff) | |
download | gcc-fa18085a32df06be6e7d899fd804d537c0149baf.zip gcc-fa18085a32df06be6e7d899fd804d537c0149baf.tar.gz gcc-fa18085a32df06be6e7d899fd804d537c0149baf.tar.bz2 |
aarch64: Use RTL builtins for [su]paddl[q] intrinsics
Rewrite [su]paddl[q] Neon intrinsics to use RTL builtins rather than
inline assembly code, allowing for better scheduling and
optimization.
gcc/ChangeLog:
2021-02-08 Jonathan Wright <jonathan.wright@arm.com>
* config/aarch64/aarch64-simd-builtins.def: Add [su]addlp
builtin generator macros.
* config/aarch64/aarch64-simd.md (aarch64_<su>addlp<mode>):
Define.
* config/aarch64/arm_neon.h (vpaddl_s8): Use RTL builtin
instead of inline asm.
(vpaddl_s16): Likewise.
(vpaddl_s32): Likewise.
(vpaddl_u8): Likewise.
(vpaddl_u16): Likewise.
(vpaddl_u32): Likewise.
(vpaddlq_s8): Likewise.
(vpaddlq_s16): Likewise.
(vpaddlq_s32): Likewise.
(vpaddlq_u8): Likewise.
(vpaddlq_u16): Likewise.
(vpaddlq_u32): Liwewise.
* config/aarch64/iterators.md: Define [SU]ADDLP unspecs with
appropriate attributes.
Diffstat (limited to 'gcc/tree.h')
0 files changed, 0 insertions, 0 deletions