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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Assignee|pinskia at gcc dot gnu.org         |unassigned at gcc dot 
gnu.org
             Status|ASSIGNED                    |NEW

--- Comment #4 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
(In reply to Richard Earnshaw from comment #2)
> But this is just BFI, so it's a costing issue.

Fixing that still leaves us with:
Trying 8 -> 15:
    8: zero_extract(r100:DI,0x20,0)=r107:SI#0
      REG_DEAD r107:SI
   15: x0:DI=r100:DI&0xffffffff|r108:SI#0<<0x20
      REG_DEAD r108:SI
      REG_DEAD r100:DI
Failed to match this instruction:
(set (reg/i:DI 0 x0)
    (ior:DI (ashift:DI (subreg:DI (reg:SI 108) 0)
            (const_int 32 [0x20]))
        (zero_extend:DI (reg:SI 107))))

Which is a BFI but there is no pattern to match that.
I will submit my rtx_cost patch still but for now I am not going to add another
pattern

Reply via email to