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.sandif...@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

Reply via email to