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