diff options
author | Jonathan Wright <jonathan.wright@arm.com> | 2021-11-09 12:47:18 +0000 |
---|---|---|
committer | Jonathan Wright <jonathan.wright@arm.com> | 2021-11-11 15:34:51 +0000 |
commit | 80ee260d5b573457cfff35279cf4895543532bc1 (patch) | |
tree | 738226172d1a5da67b2b5ae4747354b162adb61e /gcc/fortran/openmp.c | |
parent | 7bde2a6ecd7c7ce7930fe048ae43a5d177d91b39 (diff) | |
download | gcc-80ee260d5b573457cfff35279cf4895543532bc1.zip gcc-80ee260d5b573457cfff35279cf4895543532bc1.tar.gz gcc-80ee260d5b573457cfff35279cf4895543532bc1.tar.bz2 |
aarch64: Use type-qualified builtins for [R]SUBHN[2] Neon intrinsics
Declare unsigned type-qualified builtins and use them to implement
(rounding) halving-narrowing-subtract Neon intrinsics. This removes
the need for many casts in arm_neon.h.
gcc/ChangeLog:
2021-11-09 Jonathan Wright <jonathan.wright@arm.com>
* config/aarch64/aarch64-simd-builtins.def: Declare unsigned
builtins for [r]subhn[2].
* config/aarch64/arm_neon.h (vsubhn_s16): Remove unnecessary
cast.
(vsubhn_s32): Likewise.
(vsubhn_s64): Likewise.
(vsubhn_u16): Use type-qualified builtin and remove casts.
(vsubhn_u32): Likewise.
(vsubhn_u64): Likewise.
(vrsubhn_s16): Remove unnecessary cast.
(vrsubhn_s32): Likewise.
(vrsubhn_s64): Likewise.
(vrsubhn_u16): Use type-qualified builtin and remove casts.
(vrsubhn_u32): Likewise.
(vrsubhn_u64): Likewise.
(vrsubhn_high_s16): Remove unnecessary cast.
(vrsubhn_high_s32): Likewise.
(vrsubhn_high_s64): Likewise.
(vrsubhn_high_u16): Use type-qualified builtin and remove
casts.
(vrsubhn_high_u32): Likewise.
(vrsubhn_high_u64): Likewise.
(vsubhn_high_s16): Remove unnecessary cast.
(vsubhn_high_s32): Likewise.
(vsubhn_high_s64): Likewise.
(vsubhn_high_u16): Use type-qualified builtin and remove
casts.
(vsubhn_high_u32): Likewise.
(vsubhn_high_u64): Likewise.
Diffstat (limited to 'gcc/fortran/openmp.c')
0 files changed, 0 insertions, 0 deletions