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

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |openmp
             Blocks|                            |53947
                 CC|                            |rguenth at gcc dot gnu.org,
                   |                            |rsandifo at gcc dot gnu.org

--- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> ---
We have

(compute_affine_dependence
  ref_a: D.5604[_33], stmt_a: _65 = D.5604[_33];
  ref_b: D.5604[_33], stmt_b: D.5604[_33] = _ifc__144;
) -> dependence analysis failed

but of course safelen should apply here, but we likely hit

  if (max_vf != MAX_VECTORIZATION_FACTOR
      && maybe_lt (max_vf, min_vf))
    return opt_result::failure_at (vect_location, "bad data dependence.\n");

we have max_vf == 16 but min_vf is {4, 4} with E_VNx4SFmode.  Maybe
safelen (and thus max_vf) needs to be poly-int?  Maybe somehow safelen
needs to be ensured by additional masking with SVE?


Referenced Bugs:

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53947
[Bug 53947] [meta-bug] vectorizer missed-optimizations

Reply via email to