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

Reply via email to