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

--- Comment #6 from Tamar Christina <tnfchris at gcc dot gnu.org> ---
(In reply to Andrew Pinski from comment #2)
> But it is still only a GCC 15 regression.
> 
> GCC 14 produced:
> ```
>         cmlt    v0.16b, v0.16b, #0
>         adrp    x0, .LC0
>         ldr     q31, [x0, #:lo12:.LC0]
>         and     v0.16b, v0.16b, v31.16b
> ```
> For the above one.

which shows the other regression, the match.md pattern de-optimizes the aarch64
codegen because it changes the shift into an unsigned shift, which means the
cmlt optimization doesn't trigger anymore.

In this particular case since you need the AND anyway the pattern shouldn't
match.

Reply via email to