This is the mail archive of the
mailing list for the GCC project.
Re: [PR64817-related 3/3] simplify xor of (and or ior) of xor
- From: Richard Biener <richard dot guenther at gmail dot com>
- To: Jakub Jelinek <jakub at redhat dot com>,Alexandre Oliva <aoliva at redhat dot com>
- Cc: gcc-patches at gcc dot gnu dot org
- Date: Wed, 04 Feb 2015 09:54:53 +0100
- Subject: Re: [PR64817-related 3/3] simplify xor of (and or ior) of xor
- Authentication-results: sourceware.org; auth=none
- References: <orvbjip56w dot fsf at livre dot home> <20150204083513 dot GF1746 at tucnak dot redhat dot com>
On February 4, 2015 9:35:13 AM CET, Jakub Jelinek <email@example.com> wrote:
>On Wed, Feb 04, 2015 at 04:21:43AM -0200, Alexandre Oliva wrote:
>> I'm a bit surprised the gimple layer does not even attempt to
>> them, but I didn't try to tackle that, since I was not even sure this
>> was a useful optimization. After all, how often do we see xor of and
>> xor of and of xor of... in the wild, rather than in pathological
>> testcases? :-) But hey, at least the rtl simplification is cheap, so
>> why not?
>I think we should teach at least VRP to simplify debug stmts similarly
>it simplifies normal comparisons etc. using value ranges, but that
So I suppose this is only about debug exprs and we optimize regular gimple well? Otherwise adding some patterns to match.PD could help.
>> Regstrapped on x86_64-linux-gnu and i686-pc-linux-gnu. Ok to
>> for gcc/ChangeLog
>> * simplify-rtx.c (simplify_binary_operation_1): Simplify one
>> of two XORs that have an intervening AND or IOR.