https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117092

Andrew Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         Depends on|                            |113858

--- Comment #3 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
So we get:
Trying 6 -> 13:
    6: r104:V4HI=const_vector
   13: v0:V4HI=vec_merge(vec_duplicate(x0:HI),r104:V4HI,0x1)
      REG_DEAD x0:HI
      REG_DEAD r104:V4HI
Failed to match this instruction:
(set (reg/i:V4HI 32 v0)
    (vec_merge:V4HI (vec_duplicate:V4HI (reg:HI 0 x0 [ x ]))
        (const_vector:V4HI [
                (const_int 0 [0]) repeated x4
            ])
        (const_int 1 [0x1])))


The pattern in
https://gcc.gnu.org/pipermail/gcc-patches/2025-February/676106.html could be
extended to handle vec_duplicate here too. 

Both PR 113857 and bug 113858 has this same pattern.


Referenced Bugs:

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113858
[Bug 113858] `ldr s0/h0/b0` should be used to zero extend into the full
register

Reply via email to