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.