https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98891
--- Comment #2 from Jakub Jelinek <jakub at gcc dot gnu.org> --- E.g. x86_64 (both -m32 and -m64) keeps the double-word logicals in the IL, then has its machine dependent stv pass that promotes some sets of operations into SIMD ones and finally (admittedly, clearly too late) splits the double-word operations into the operations on halves when SIMD wasn't beneficial.