]> gcc.gnu.org Git - gcc.git/commitdiff
mn10300.md (movdi, movdf): Do not use `movu' when the operand is not constant.
authorAlexandre Oliva <aoliva@cygnus.com>
Fri, 21 Apr 2000 21:14:13 +0000 (21:14 +0000)
committerAlexandre Oliva <aoliva@gcc.gnu.org>
Fri, 21 Apr 2000 21:14:13 +0000 (21:14 +0000)
* config/mn10300/mn10300.md (movdi, movdf): Do not use `movu' when
the operand is not constant.

From-SVN: r33321

gcc/ChangeLog
gcc/config/mn10300/mn10300.md

index 008a523701a2a4030fc673d1f27edd978dee1b14..46971371f6e78dc8e106356ddf86a3426f3528c0 100644 (file)
@@ -1,3 +1,8 @@
+Fri Apr 21 18:11:56 2000  Alexandre Oliva  <aoliva@cygnus.com>
+
+       * config/mn10300/mn10300.md (movdi, movdf): Do not use `movu' when
+       the operand is not constant.
+
 Fri Apr 21 14:58:29 2000  Denis Chertykov  <denisc@overta.ru>
 
        * reload.c (find_equiv_reg): Checks all valueno and regno regs
index 750d30a88d1aa4efeee9b5909181d097d410ec13..56064378679fc732984f23006d3be35c64a3941d 100644 (file)
                else
                  output_asm_insn (\"mov %L1,%L0\", operands);
              }
-           else if ((REGNO_REG_CLASS (true_regnum (operands[0]))
-                     == EXTENDED_REGS)
+           else if ((GET_CODE (operands[1]) == CONST_INT
+                     || GET_CODE (operands[1]) == CONST_DOUBLE)
+                    && (REGNO_REG_CLASS (true_regnum (operands[0]))
+                        == EXTENDED_REGS)
                     && (((val[0] & 0x80) && ! (val[0] & 0xffffff00))
                         || ((val[0] & 0x800000) && ! (val[0] & 0xff000000))))
              output_asm_insn (\"movu %1,%0\", operands);
                      || GET_CODE (operands[1]) == CONST_DOUBLE)
                     && val[0] == val[1])
              output_asm_insn (\"mov %L0,%H0\", operands);
-           else if ((REGNO_REG_CLASS (true_regnum (operands[0]))
-                     == EXTENDED_REGS)
+           else if ((GET_CODE (operands[1]) == CONST_INT
+                     || GET_CODE (operands[1]) == CONST_DOUBLE)
+                    && (REGNO_REG_CLASS (true_regnum (operands[0]))
+                        == EXTENDED_REGS)
                     && (((val[1] & 0x80) && ! (val[1] & 0xffffff00))
                         || ((val[1] & 0x800000) && ! (val[1] & 0xff000000))))
              output_asm_insn (\"movu %1,%0\", operands);
                else
                  output_asm_insn (\"mov %L1,%L0\", operands);
              }
-           else if ((REGNO_REG_CLASS (true_regnum (operands[0]))
-                     == EXTENDED_REGS)
+           else if ((GET_CODE (operands[1]) == CONST_INT
+                     || GET_CODE (operands[1]) == CONST_DOUBLE)
+                    && (REGNO_REG_CLASS (true_regnum (operands[0]))
+                        == EXTENDED_REGS)
                     && (((val[0] & 0x80) && ! (val[0] & 0xffffff00))
                         || ((val[0] & 0x800000) && ! (val[0] & 0xff000000))))
              output_asm_insn (\"movu %1,%0\", operands);
                      || GET_CODE (operands[1]) == CONST_DOUBLE)
                     && val[0] == val[1])
              output_asm_insn (\"mov %L0,%H0\", operands);
-           else if ((REGNO_REG_CLASS (true_regnum (operands[0]))
-                     == EXTENDED_REGS)
+           else if ((GET_CODE (operands[1]) == CONST_INT
+                     || GET_CODE (operands[1]) == CONST_DOUBLE)
+                    && (REGNO_REG_CLASS (true_regnum (operands[0]))
+                        == EXTENDED_REGS)
                     && (((val[1] & 0x80) && ! (val[1] & 0xffffff00))
                         || ((val[1] & 0x800000) && ! (val[1] & 0xff000000))))
              output_asm_insn (\"movu %1,%0\", operands);
This page took 0.098305 seconds and 5 git commands to generate.