[Bug tree-optimization/85694] Generation of vectorized AVG (Average) instruction
rsandifo at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Tue Jul 3 14:28:00 GMT 2018
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85694
--- Comment #7 from rsandifo at gcc dot gnu.org <rsandifo at gcc dot gnu.org> ---
Author: rsandifo
Date: Tue Jul 3 14:27:28 2018
New Revision: 262347
URL: https://gcc.gnu.org/viewcvs?rev=262347&root=gcc&view=rev
Log:
[17/n] PR85694: AArch64 support for AVG_FLOOR/CEIL
This patch adds AArch64 patterns for the new AVG_FLOOR/CEIL operations.
AVG_FLOOR is [SU]HADD and AVG_CEIL is [SU]RHADD.
2018-07-03 Richard Sandiford <richard.sandiford@arm.com>
gcc/
PR tree-optimization/85694
* config/aarch64/iterators.md (HADD, RHADD): New int iterators.
(u): Handle UNSPEC_SHADD, UNSPEC_UHADD, UNSPEC_SRHADD and
UNSPEC_URHADD.
* config/aarch64/aarch64-simd.md (<u>avg<mode>3_floor)
(<u>avg<mode>3_ceil): New patterns.
gcc/testsuite/
PR tree-optimization/85694
* lib/target-supports.exp (check_effective_target_vect_avg_qi):
Return true for AArch64 without SVE.
* gcc.target/aarch64/vect_hadd_1.h: New file.
* gcc.target/aarch64/vect_shadd_1.c: New test.
* gcc.target/aarch64/vect_srhadd_1.c: Likewise.
* gcc.target/aarch64/vect_uhadd_1.c: Likewise.
* gcc.target/aarch64/vect_urhadd_1.c: Likewise.
Added:
trunk/gcc/testsuite/gcc.target/aarch64/vect_hadd_1.h
trunk/gcc/testsuite/gcc.target/aarch64/vect_shadd_1.c
trunk/gcc/testsuite/gcc.target/aarch64/vect_srhadd_1.c
trunk/gcc/testsuite/gcc.target/aarch64/vect_uhadd_1.c
trunk/gcc/testsuite/gcc.target/aarch64/vect_urhadd_1.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/aarch64/aarch64-simd.md
trunk/gcc/config/aarch64/iterators.md
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/lib/target-supports.exp
More information about the Gcc-bugs
mailing list