https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104026
--- Comment #11 from Tobias Burnus <burnus at gcc dot gnu.org> --- (In reply to rdapp from comment #8) > The following should help: > @@ -1170,6 +1170,9 @@ vect_verify_loop_lens (loop_vec_info loop_vinfo) > + LOOP_VINFO_PARTIAL_LOAD_STORE_BIAS (loop_vinfo) = > + VECT_PARTIAL_BIAS_UNSUPPORTED; Unfortunately, this does not seem to help. If I place the debugger there, it seems to call that function. For the newlib testcase, I now get (in vect_set_loop_controls_directly): (gdb) p partial_load_bias $15 = 88 The value first pops up at: Breakpoint 6, vect_create_loop_vinfo (loop=0x7ffff7c49578, shared=0x7fffffffe250, info=0x7fffffffe130, main_loop_info=0x0) at gcc-mainline/gcc/tree-vect-loop.c:1515 1515 loop_vec_info loop_vinfo = new _loop_vec_info (loop, shared); (gdb) n 1516 LOOP_VINFO_NITERSM1 (loop_vinfo) = info->number_of_iterationsm1; (gdb) p loop_vinfo->partial_load_store_bias $35 = 88 'X' Wouldn't it make sense to add that value as initializer to _loop_vec_info::_loop_vec_info? Additionally, I have the feeling that vect_set_loop_controls_directly is also supposed to be called for masked load/store not only for len_(store/load). But I have not properly read the file. If so, shouldn't in addition the condition if (partial_load_bias != 0) then be changed to if (partial_load_bias != VECT_PARTIAL_BIAS_UNSUPPORTED && partial_load_bias != 0) ?