https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80548
--- Comment #4 from Aldy Hernandez <aldyh at gcc dot gnu.org> --- Created attachment 51908 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=51908&action=edit untested patch Like this. It fixes the problem at least for -O2.