From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 1922) id D91F93896812; Mon, 21 Jun 2021 09:12:23 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org D91F93896812 MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="utf-8" From: Prathamesh Kulkarni To: gcc-cvs@gcc.gnu.org Subject: [gcc r12-1671] arm/97906: Adjust neon_vca patterns to use GLTE instead of GTGE iterator. X-Act-Checkin: gcc X-Git-Author: prathamesh.kulkarni X-Git-Refname: refs/heads/master X-Git-Oldrev: 90f78d5d86598f8cadacfb20d8d98c122a466599 X-Git-Newrev: 29a539a675b8ffd8e20fd3926d6ba0482ea0f275 Message-Id: <20210621091223.D91F93896812@sourceware.org> Date: Mon, 21 Jun 2021 09:12:23 +0000 (GMT) X-BeenThere: gcc-cvs@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-cvs mailing list List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 21 Jun 2021 09:12:24 -0000 https://gcc.gnu.org/g:29a539a675b8ffd8e20fd3926d6ba0482ea0f275 commit r12-1671-g29a539a675b8ffd8e20fd3926d6ba0482ea0f275 Author: prathamesh.kulkarni Date: Mon Jun 21 14:38:32 2021 +0530 arm/97906: Adjust neon_vca patterns to use GLTE instead of GTGE iterator. gcc/ChangeLog: PR target/97906 * config/arm/iterators.md (NEON_VACMP): Remove. * config/arm/neon.md (neon_vca): Use GLTE instead of GTGE iterator. (neon_vca_insn): Likewise. (neon_vca_insn_unspec): Use NEON_VAGLTE instead of NEON_VACMP. gcc/testsuite/ChangeLog: PR target/97906 * gcc.target/arm/simd/pr97906.c: New test. Diff: --- gcc/config/arm/iterators.md | 2 -- gcc/config/arm/neon.md | 6 +++--- gcc/testsuite/gcc.target/arm/simd/pr97906.c | 13 +++++++++++++ 3 files changed, 16 insertions(+), 5 deletions(-) diff --git a/gcc/config/arm/iterators.md b/gcc/config/arm/iterators.md index 5c4fe895268..fafbd2f94b8 100644 --- a/gcc/config/arm/iterators.md +++ b/gcc/config/arm/iterators.md @@ -364,8 +364,6 @@ (define_int_iterator NEON_VCMP [UNSPEC_VCEQ UNSPEC_VCGT UNSPEC_VCGE UNSPEC_VCLT UNSPEC_VCLE]) -(define_int_iterator NEON_VACMP [UNSPEC_VCAGE UNSPEC_VCAGT]) - (define_int_iterator NEON_VAGLTE [UNSPEC_VCAGE UNSPEC_VCAGT UNSPEC_VCALE UNSPEC_VCALT]) diff --git a/gcc/config/arm/neon.md b/gcc/config/arm/neon.md index 392d9607919..81cc8d36d55 100644 --- a/gcc/config/arm/neon.md +++ b/gcc/config/arm/neon.md @@ -2387,7 +2387,7 @@ (define_expand "neon_vca" [(set (match_operand: 0 "s_register_operand") (neg: - (GTGE: + (GLTE: (abs:VCVTF (match_operand:VCVTF 1 "s_register_operand")) (abs:VCVTF (match_operand:VCVTF 2 "s_register_operand")))))] "TARGET_NEON" @@ -2406,7 +2406,7 @@ (define_insn "neon_vca_insn" [(set (match_operand: 0 "s_register_operand" "=w") (neg: - (GTGE: + (GLTE: (abs:VCVTF (match_operand:VCVTF 1 "s_register_operand" "w")) (abs:VCVTF (match_operand:VCVTF 2 "s_register_operand" "w")))))] "TARGET_NEON && flag_unsafe_math_optimizations" @@ -2418,7 +2418,7 @@ [(set (match_operand: 0 "s_register_operand" "=w") (unspec: [(match_operand:VCVTF 1 "s_register_operand" "w") (match_operand:VCVTF 2 "s_register_operand" "w")] - NEON_VACMP))] + NEON_VAGLTE))] "TARGET_NEON" "vac.\t%0, %1, %2" [(set_attr "type" "neon_fp_compare_s")] diff --git a/gcc/testsuite/gcc.target/arm/simd/pr97906.c b/gcc/testsuite/gcc.target/arm/simd/pr97906.c new file mode 100644 index 00000000000..7c972e311ed --- /dev/null +++ b/gcc/testsuite/gcc.target/arm/simd/pr97906.c @@ -0,0 +1,13 @@ +/* { dg-do compile } */ +/* { dg-options "-O2 -ffast-math" } */ +/* { dg-add-options arm_neon } */ + +#include + +uint32x2_t f1(float32x2_t a, float32x2_t b) +{ + return vabs_f32 (a) >= vabs_f32 (b); +} + +/* { dg-final { scan-assembler-times {\tvacle.f32\td[0-9]+, d[0-9]+, d[0-9]+} 1 } } */ +/* { dg-final { scan-assembler-not "vabs" } } */