On Tue, Apr 25, 2023 at 01:33:18PM +0800, Kewen.Lin via Gcc-patches wrote:
> For the associated test case, it looks it's valid to make use of rldicr.
> (rolt with dot), so an alternative seems to relax the condition of
> *rotldi3_mask_dot.  Considering this is also targeted for 13.1, I think
> this proposed fix is much more conservative, thus this looks good to me!
> I also expect Segher/David can give a final say. :)

I admit I couldn't find the reason for that condition (it appears on
multiple patterns), but for release branches I think we need to stay as
conservative as possible.
> > +      /* *rotldi3_mask_dot requires for -m32 -mpowerpc64 that the mask is
> > +    <= 0x7ffffff.  */
> 
> typo, a "f" is missing in "0x7ffffff".

Thanks for catching this.  Added to my patch copy.

> > +      return (UINTVAL (mask) << (63 - nb)) <= 0x7fffffff;
> > +    }
> > +  else
> > +    return false;
> >  }
> > 
> >  /* Return whether MASK (a CONST_INT) is a valid mask for any rlwinm, 
> > rldicl,
> > --- gcc/testsuite/gcc.target/powerpc/pr109566.c.jj  2023-04-24 
> > 12:54:48.293266468 +0200
> > +++ gcc/testsuite/gcc.target/powerpc/pr109566.c     2023-04-24 
> > 12:34:34.306006418 +0200
> > @@ -0,0 +1,15 @@
> > +/* PR target/109566 */
> > +/* { dg-do compile } */
> > +/* { dg-options "-O2 -mpowerpc64" } */
> 
> /* { dg-skip-if "" { powerpc*-*-aix* } { "*" } { "" } } */
> 
> Like 749140af5d072a, we have to exclude this to be tested on aix, otherwise 
> the
> -maix32 and -mpowerpc64 can cause an error message on aix like:
> 
> error: '-maix64' required: 64-bit computation with 32-bit addressing not yet 
> supported

Added
+/* Skip this on aix, otherwise it emits the error message like "64-bit
+   computation with 32-bit addressing not yet supported" on aix.  */
+/* { dg-skip-if "" { powerpc*-*-aix* } } */
to my copy from another testcase.

        Jakub

Reply via email to