https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120672
Bug ID: 120672
Summary: Failure to fold BIC+PTEST to BICS for SVE
Product: gcc
Version: 15.1.0
Status: UNCONFIRMED
Keywords: aarch64-sve, missed-optimization
Severity: n
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120671
Bug ID: 120671
Summary: Failure to fold AND+PTEST to ANDS for SVE
Product: gcc
Version: 15.1.0
Status: UNCONFIRMED
Keywords: aarch64-sve, missed-optimization
Severity: n
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118150
Spencer Abson changed:
What|Removed |Added
Status|NEW |RESOLVED
Resolution|---
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118150
--- Comment #4 from Spencer Abson ---
For a similar reason, we're also missing BIC+PTEST under the same
conditions:
int
bar (svbool_t a, svbool_t b)
{
svbool_t c = svptrue_b8();
return svptest_first (c, svbic_z (c, a, b));
}
generates:
ba
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118150
--- Comment #3 from Spencer Abson ---
>It looks like we also miss AND+PTEST because the existing combine matches the
>>(and ( ((a) (b)) (c)) canonicalisation of predicated ior and xor,
>>where c is all-true.
Sorry - I mean that c is an all-tr
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118150
Spencer Abson changed:
What|Removed |Added
CC||sabson at gcc dot gnu.org
--- Comment #