https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120157
Bug ID: 120157 Summary: No use of SVE early break vectorisation in FP loop Product: gcc Version: 15.0 Status: UNCONFIRMED Keywords: aarch64-sve, missed-optimization Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: ktkachov at gcc dot gnu.org CC: tnfchris at gcc dot gnu.org Target Milestone: --- Target: aarch64 Not sure if this is a target-specific issue or not. For input: int f11(float *x, float val, int n) { int i; for (i = 0; i < n; i++) { if (x[i] == val) break; } return i; } GCC can do early-break vectorisation with e.g. -Ofast -mcpu=grace but it always uses a Neon sequence, even if we use a more aggressive SVE core like -mcpu=a64fx. It refuses to do it even with --param aarch64-autovec-preference=sve-only. Is there some enablement we're missing?