https://gcc.gnu.org/bugzilla/show_bug.cgi?id=125259
--- Comment #6 from Artemiy Volkov <artemiyv at gcc dot gnu.org> --- (In reply to Richard Biener from comment #5) > (In reply to Artemiy Volkov from comment #4) > > This should have been prevented by the `type_has_mode_precision_p (type)` > > check, but the execution doesn't get to it, as the earlier `!INTEGRAL_TYPE_P > > (TREE_TYPE (@0))` yields true, since @0 is of type V4QI. > > && (!INTEGRAL_TYPE_P (type) > || !INTEGRAL_TYPE_P (TREE_TYPE (@0)) > || (type_has_mode_precision_p (type) > && type_has_mode_precision_p (TREE_TYPE (@0))))) > > should probably be > > && (!INTEGRAL_TYPE_P (type) > || type_has_mode_precision_p (type)) > && (!INTEGRAL_TYPE_P (TREE_TYPE (@0)) > || type_has_mode_precision_p (TREE_TYPE (@0)))) Indeed, thank you. I'm planning to submit this as soon as it passes CI.
