https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98848
--- Comment #5 from rguenther at suse dot de <rguenther at suse dot de> --- On Thu, 28 Jan 2021, jakub at gcc dot gnu.org wrote: > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98848 > > --- Comment #4 from Jakub Jelinek <jakub at gcc dot gnu.org> --- > Alternatively, couldn't we support truncation in the reductions if > SSA_NAME_RANGE_INFO suggests that the values are always in the narrower range? Yes, we probably could. But note that changes in reduction support are quite fragile and we're currently just set up for sign changes (via emitting V_C_E) but not required promotions/demotions so there would be a lot of changes needed. It's also not clear promoting/demoting the reduction IV all the time is doing any good (unless you suggest that we'd magically undo the pattern by promoting the non-reduction OP instead - but that would require even more changes). So I guess the better approach might be to somehow allow late "undoing" of pattern recog (but it's a bit complicated because of how that influences VF compute and also relevant/liveness compute).