On Tue, Feb 27, 2018 at 02:22:22PM +0000, Richard Sandiford wrote: > > Bootstrapped/regtested on aarch64-linux (scratch Fedora gcc 8 package build > > with the patch applied), ok for trunk? > > > > 2018-02-27 Jakub Jelinek <ja...@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")))) > > I think this makes the match_test on the line above redundant.
Yes, it is; it used to be redundant before too. I can change it if needed, it would be just a matter of dropping the (match_test "op == const0_rtx") line. Jakub