On 12/2/24 8:52 AM, Andreas Schwab wrote:
The movdi, movdf and movxf patterns allow both operands to be offsettable
memory, but output_move_double cannot handle overlapping objects.  This is
visible in the failure of gcc.c-torture/execute/pr97073.c when compiled
with LTO (where cprop optimizes out the AND operation; the failure also
occurs without LTO when the AND is removed).  Split the constraints so
that the operands cannot both be "o" in the same insn.

        * config/m68k/m68k.md (movdi+1, movdf+1, movxf+2): Split
        constraints so that the operands cannot both be "o".
Thanks for taking care of this stuff!

jeff

Reply via email to