This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: match.pd: x+x -> 2*x


On Tue, Apr 26, 2016 at 1:37 PM, Marc Glisse <marc.glisse@inria.fr> wrote:
> On Tue, 26 Apr 2016, Richard Biener wrote:
>
>> Note that I think
>>
>> /* (X /[ex] A) * A -> X.  */
>> (simplify
>>  (mult (convert? (exact_div @0 @1)) @1)
>>  /* Look through a sign-changing conversion.  */
>>  (convert @0))
>>
>> has a bug as we use operand_equal_p for comparing @1 but
>> that treats equal but different typed INTEGER_CSTs as equal...
>>
>> Thus this lacks the tree_nop_conversion_p check.
>
>
> You seemed ok with removing that check last year
> https://gcc.gnu.org/ml/gcc-patches/2015-05/msg01551.html

Ah, ok.

> For this specific pattern, I think any conversion should work. Did you have
> a particular example in mind?

No, I just saw the fold-const.c code again and wondered.

Richard.

> --
> Marc Glisse


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]