https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81496
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Last reconfirmed| |2021-08-15 Ever confirmed|0 |1 Severity|normal |enhancement Status|UNCONFIRMED |NEW --- Comment #6 from Andrew Pinski <pinskia at gcc dot gnu.org> --- The first 2 examples (the __int128 ones) are due to: (insn 4 3 5 2 (set (reg:TI 85) (subreg:TI (reg:DI 86) 0)) "/app/example.cpp":8:31 -1 (nil)) (insn 5 4 6 2 (set (subreg:DI (reg:TI 85) 8) (reg:DI 87)) "/app/example.cpp":8:31 -1 (nil)) Or rather: (insn 11 8 12 2 (set (reg:V4DI 91) (vec_concat:V4DI (subreg:V2DI (reg/v:TI 84 [ x ]) 0) (subreg:V2DI (reg/v:TI 88 [ y ]) 0))) "/app/example.cpp":8:40 -1 (nil)) clang produces interesting results too. They sometimes do vpunpcklqdq and other times do vpinsrd