I've noticed that memrefs_conflict_p considers the following operands to reference conflicting memory: (mem:QI (plus:QI (reg:QI 8 ar0) (const_int 1))) (mem:QI (reg:QI 8 ar0)) I wonder if canon_rtx should convert the second operand to (mem:QI (plus:QI (reg:QI 8 ar0) (const_int 0))) ?