https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117253

Davide Italiano <dccitaliano at gmail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |rguenth at gcc dot gnu.org

--- Comment #2 from Davide Italiano <dccitaliano at gmail dot com> ---
(In reply to Andrew Pinski from comment #1)
> aarch64 does NOT show a regression. 
> 
> But basically the issue:
>         if ((i * j) > 20 && (i + j) < 15) {
>           result += i * j;
>         }
> 
> is converted to result += (i * j) * ((i * j) > 20 && (i + j) < 15).
> 
> And then selects the multiply due to code size and it just goes down hill
> from there.
> 
> This is 100% a synthetic test so I am not sure we are worried about the code
> size increase here for x86_64; especially for x86_64.

Thanks for taking a look Andrew. Not extremely familiar with this code, but I
wonder if the fact this shows a regression only on some arches suggests this
peephole is kind-of target-dependent?

Reply via email to