aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/frontend-passes.c
diff options
context:
space:
mode:
authorKyrylo Tkachov <kyrylo.tkachov@arm.com>2021-02-02 13:28:55 +0000
committerKyrylo Tkachov <kyrylo.tkachov@arm.com>2021-02-02 15:53:01 +0000
commit8fdfd0cfdb7ca6b083a2a6205c40f512ea4631a9 (patch)
tree53eaae50dbe49f42450ab069e16bd36f2ccaaebf /gcc/fortran/frontend-passes.c
parent831ff94a882149616b17132d23478c9d1fcbdcd6 (diff)
downloadgcc-8fdfd0cfdb7ca6b083a2a6205c40f512ea4631a9.zip
gcc-8fdfd0cfdb7ca6b083a2a6205c40f512ea4631a9.tar.gz
gcc-8fdfd0cfdb7ca6b083a2a6205c40f512ea4631a9.tar.bz2
aarch64: Reimplement vqmovun_high* intrinsics using builtins
Another transition from inline asm to builtin. Only 3 intrinsics converted this time but they use the "+w" constraint in their inline asm so are more likely to generate redundant moves so benefit more from reimplementation. gcc/ChangeLog: * config/aarch64/aarch64-simd-builtins.def (sqxtun2): Define builtin. * config/aarch64/aarch64-simd.md (aarch64_sqxtun2<mode>_le): Define. (aarch64_sqxtun2<mode>_be): Likewise. (aarch64_sqxtun2<mode>): Likewise. * config/aarch64/arm_neon.h (vqmovun_high_s16): Reimplement using builtin. (vqmovun_high_s32): Likewise. (vqmovun_high_s64): Likewise. * config/aarch64/iterators.md (UNSPEC_SQXTUN2): Define. gcc/testsuite/ChangeLog: * gcc.target/aarch64/narrow_high-intrinsics.c: Adjust sqxtun2 scan.
Diffstat (limited to 'gcc/fortran/frontend-passes.c')
0 files changed, 0 insertions, 0 deletions