This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Patch ping (Re: [PATCH] Fix aarch64_simd_reg_or_zero predicate (PR fortran/84565))
- From: Jakub Jelinek <jakub at redhat dot com>
- To: Richard Earnshaw <richard dot earnshaw at arm dot com>, James Greenhalgh <james dot greenhalgh at arm dot com>, Marcus Shawcroft <marcus dot shawcroft at arm dot com>
- Cc: gcc-patches at gcc dot gnu dot org
- Date: Tue, 6 Mar 2018 10:26:14 +0100
- Subject: Patch ping (Re: [PATCH] Fix aarch64_simd_reg_or_zero predicate (PR fortran/84565))
- Authentication-results: sourceware.org; auth=none
- References: <20180227091251.GD5867@tucnak>
- Reply-to: Jakub Jelinek <jakub at redhat dot com>
Hi!
I'd like to ping this patch, without or with the additional redundant
(match_test "op == const0_rtx")
line removal.
> Bootstrapped/regtested on aarch64-linux (scratch Fedora gcc 8 package build
> with the patch applied), ok for trunk?
>
> 2018-02-27 Jakub Jelinek <jakub@redhat.com>
>
> PR fortran/84565
> * config/aarch64/predicates.md (aarch64_simd_reg_or_zero): Use
> aarch64_simd_or_scalar_imm_zero rather than aarch64_simd_imm_zero.
>
> * gfortran.dg/pr84565.f90: New test.
>
> --- gcc/config/aarch64/predicates.md.jj 2018-02-06 13:13:06.305751221 +0100
> +++ gcc/config/aarch64/predicates.md 2018-02-26 16:30:01.902195208 +0100
> @@ -395,7 +395,7 @@ (define_predicate "aarch64_simd_reg_or_z
> (and (match_code "reg,subreg,const_int,const_double,const,const_vector")
> (ior (match_operand 0 "register_operand")
> (match_test "op == const0_rtx")
> - (match_operand 0 "aarch64_simd_imm_zero"))))
> + (match_operand 0 "aarch64_simd_or_scalar_imm_zero"))))
>
> (define_predicate "aarch64_simd_struct_operand"
> (and (match_code "mem")
> --- gcc/testsuite/gfortran.dg/pr84565.f90.jj 2018-02-26 16:32:49.912271950 +0100
> +++ gcc/testsuite/gfortran.dg/pr84565.f90 2018-02-26 16:31:15.423223943 +0100
> @@ -0,0 +1,7 @@
> +! PR fortran/84565
> +! { dg-do compile { target aarch64*-*-* } }
> +! { dg-options "-mlow-precision-sqrt -funsafe-math-optimizations" }
> +subroutine mysqrt(a)
> + real(KIND=KIND(0.0D0)) :: a
> + a=sqrt(a)
> +end subroutine
Jakub