https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99396
Jakub Jelinek <jakub at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Attachment #50303|0 |1 is obsolete| | --- Comment #11 from Jakub Jelinek <jakub at gcc dot gnu.org> --- Created attachment 50304 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=50304&action=edit gcc11-pr99396.patch Updated patch. I'm afraid the previous patch wouldn't work properly on weirdo types that have _Nd which is not a power of two. In such cases, (e.g. for __int20 type on some targets), ~0U + 1ULL is not divisible by _Nd and so I think it wouldn't handle properly std::rot[rl] with negative second arguments.