match.pd: ~X & Y to X ^ Y in some cases

Andrew Pinski pinskia@gmail.com
Thu Jun 3 00:41:42 GMT 2021


On Fri, May 13, 2016 at 12:07 PM Marc Glisse <marc.glisse@inria.fr> wrote:
>
> Hello,
>
> maybe this would fit better in VRP, but it is easier (and not completely
> useless) to put it in match.pd.
>
> Since the transformation is restricted to GIMPLE, I think I don't need to
> check that @0 is SSA_NAME. I didn't test if @0 has pointer type before
> calling get_range_info because we are doing bit_not on it, but it looks
> like I should because we can do bitops on pointers?

I just noticed this was PR 52254 also :).  I closed it as fixed after
putting in a reference to the revision this was committed.

Thanks,
Andrew

>
> Adjustment for pr69270.c is exactly the same as in the previous patch from
> today :-)
>
> Bootstrap+regtest on powerpc64le-unknown-linux-gnu.
>
>
> 2016-05-16  Marc Glisse  <marc.glisse@inria.fr>
>
> gcc/
>         * match.pd (~X & Y): New transformation.
>
> gcc/testsuite/
>         * gcc.dg/tree-ssa/pr69270.c: Adjust.
>         * gcc.dg/tree-ssa/andnot-1.c: New testcase.
>
>
> --
> Marc Glisse


More information about the Gcc-patches mailing list