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?

Reply via email to