[Bug target/115950] New: Missed SVE fold to INCP
ktkachov at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Tue Jul 16 08:21:31 GMT 2024
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115950
Bug ID: 115950
Summary: Missed SVE fold to INCP
Product: gcc
Version: 15.0
Status: UNCONFIRMED
Keywords: missed-optimization
Severity: normal
Priority: P3
Component: target
Assignee: unassigned at gcc dot gnu.org
Reporter: ktkachov at gcc dot gnu.org
Target Milestone: ---
#include <arm_sve.h>
using u64 = uint64_t;
u64 foo2(u64 x, svbool_t pg)
{
return x+svcntp_b8(pg, pg);
}
compiled with -O3 -march=armv9-a generates:
foo2(unsigned long, __SVBool_t, __SVBool_t):
cntp x1, p0, p0.b
add x0, x1, x0
ret
but that should be folded to:
foo2(unsigned long, __SVBool_t, __SVBool_t): // @foo2(unsigned
long, __SVBool_t, __SVBool_t)
incp x0, p0.b
ret
Like LLVM does.
More information about the Gcc-bugs
mailing list