https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66187
Jakub Jelinek <jakub at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED Assignee|unassigned at gcc dot gnu.org |jakub at gcc dot gnu.org --- Comment #2 from Jakub Jelinek <jakub at gcc dot gnu.org> --- Created attachment 35560 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=35560&action=edit gcc6-pr66187.patch Untested fix. Perhaps for the unsigned type and plus only, we could do even better, we don't really need to ensure the mask fits into precision, but perhaps just that the bit immediately above precision is clear (all bits above that are necessarily clear in the plus).