]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
m68k.md (5200 movqi): Do not allow byte sized memory references using address regs.
authorJeffrey A Law <law@cygnus.com>
Fri, 23 Oct 1998 21:41:12 +0000 (21:41 +0000)
committerJeff Law <law@gcc.gnu.org>
Fri, 23 Oct 1998 21:41:12 +0000 (15:41 -0600)
        * m68k.md (5200 movqi): Do not allow byte sized memory references
        using address regs.
        * m68k.c (output_move_qimode): Do not use byte sized operations on
        address registers.

From-SVN: r23265

gcc/ChangeLog
gcc/config/m68k/m68k.c
gcc/config/m68k/m68k.md

index 6d810e0a636ff553d38fcf40b1a0f32e517b520c..cbd42d8a12cce230a77d33a8ffd46c1294e9d647 100644 (file)
@@ -1,3 +1,10 @@
+Fri Oct 23 22:38:57 1998  Jeffrey A Law  (law@cygnus.com)
+
+       * m68k.md (5200 movqi): Do not allow byte sized memory references
+       using address regs.
+       * m68k.c (output_move_qimode): Do not use byte sized operations on
+       address registers.
+
 Mon Oct 19 13:22:13 1998  Geoff Keating  <geoffk@ozemail.com.au>
 
         * loop.c (scan_loop): Be more selective about what invariants are 
index 64bbe4a12984910d66d03fec5337551ce542ea33..9712764770650617737e8174311693ff07ff6fa9 100644 (file)
@@ -1670,10 +1670,9 @@ output_move_qimode (operands)
     }
   if (GET_CODE (operands[1]) != CONST_INT && CONSTANT_P (operands[1]))
     return "move%.l %1,%0";
-  /* 68k family doesn't support byte moves to from address registers.  The
-     5200 (coldfire) does not have this restriction.  */
-  if ((ADDRESS_REG_P (operands[0]) || ADDRESS_REG_P (operands[1]))
-      && ! TARGET_5200)
+  /* 68k family (including the 5200 coldfire) does not support byte moves to
+     from address registers.  */
+  if (ADDRESS_REG_P (operands[0]) || ADDRESS_REG_P (operands[1]))
     return "move%.w %1,%0";
   return "move%.b %1,%0";
 }
index 98672df61b371a6f7e1fcca7d82975ab8e99024d..dfe0cbc313e8929394fa88c7b8690535956d0202 100644 (file)
   "* return output_move_qimode (operands);")
 
 (define_insn ""
-  [(set (match_operand:QI 0 "general_operand" "=d*a<Q>,d*am")
-       (match_operand:QI 1 "general_operand" "d*ami,d*a<Q>"))]
+  [(set (match_operand:QI 0 "general_operand" "=d<Q>,dm,d*a")
+       (match_operand:QI 1 "general_operand" "dmi,d<Q>,di*a"))]
   "TARGET_5200"
   "* return output_move_qimode (operands);")