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

Richard Sandiford <rsandifo at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
     Ever confirmed|0                           |1
   Last reconfirmed|                            |2024-07-12
           Assignee|unassigned at gcc dot gnu.org      |rsandifo at gcc dot 
gnu.org
             Status|UNCONFIRMED                 |ASSIGNED

--- Comment #3 from Richard Sandiford <rsandifo at gcc dot gnu.org> ---
Comes from:

trying to combine definition of r5 in:
 1058: di:SI=ax:SI
into:
  299: {[di:SI]=asm_operands;clobber ax:SI;clobber flags:CC;}
successfully matched this instruction:
(parallel [
        (set (mem:SI (reg:SI 0 ax [520]) [2 *_3+0 S4 A32])
            (asm_operands/v:SI ("movd %%xmm0, %%eax
        bswapl %%eax
        movl %%eax, %0
        ") ("=m") 0 []
                 []
                 [] ../cipher/crc-intel-pclmul.c:781))
        (clobber (reg:SI 0 ax))
        (clobber (reg:CC 17 flags))
    ])
original cost = 4 + 4 (weighted: 0.090837), replacement cost = 4 (weighted:
0.045419); keeping replacement

which ought to be prevented by the clobber, but for some reason isn't.

Reply via email to