From c283c989124ffc357ead798bdd5ef1635c8df0fa Mon Sep 17 00:00:00 2001 From: Richard Kenner Date: Wed, 8 Jul 1992 23:21:00 -0400 Subject: [PATCH] (floatsidf): Correctly handle case when SImode operand overlaps the first DFmode register. From-SVN: r1537 --- gcc/config/rs6000/rs6000.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/gcc/config/rs6000/rs6000.md b/gcc/config/rs6000/rs6000.md index 37cf481dff0..2c4dc8fc8e5 100644 --- a/gcc/config/rs6000/rs6000.md +++ b/gcc/config/rs6000/rs6000.md @@ -1887,6 +1887,14 @@ emit_move_insn (operands[3], operands[4]); DONE; } + + if (rtx_equal_p (operands[1], operands[3])) + { + rtx temp; + + temp = operands[3]; operands[3] = operands[5]; operands[5] = temp; + temp = operands[4]; operands[4] = operands[1]; operands[1] = temp; + } }") (define_insn "" -- 2.30.2