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