https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104026
--- Comment #7 from Tobias Burnus <burnus at gcc dot gnu.org> --- (In reply to rdapp from comment #4) > This code path should only be active when the backend has len_load/len_store > patterns. > signed char partial_load_store_bias; > is new in the "middle" of loop_vect_info. Could this become > overwritten/corrupted by something? My impression is: - VECT_PARTIAL_BIAS_UNSUPPORTED is not always set when it should - If it is not set, it is has some random value (stack variable, malloc not calloc, ...); Still 0 is common - and it might work by chance as there is 'if (partial_load_bias != 0)' around the ICEing code. (Side note: VECT_PARTIAL_BIAS_UNSUPPORTED = 127 while 0 is a valid/supported value). - It probably only affects loops where vect_verify_full_masking + LOOP_VINFO_CAN_USE_PARTIAL_VECTORS_P are true (and vect_verify_loop_lens is false) Caveat: I might be completely off here.