From: Jeffrey A Law Date: Sat, 5 Sep 1998 13:50:48 +0000 (+0000) Subject: m68k.md (5200 movqi): Do not allow byte sized memory references using address regs. X-Git-Tag: prereleases/libgcj-0.1~3180 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=37834fc834858b246daa77fbdb3d66f458734037;p=thirdparty%2Fgcc.git m68k.md (5200 movqi): Do not allow byte sized memory references using address regs. * 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: r22268 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 1b1fee78e94d..912533d08fc4 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -26,6 +26,11 @@ Sat Aug 29 13:32:58 1998 Mumit Khan Sat Sep 5 03:23:05 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. + * Makefile.in (pexecute.o): Use pexecute.c from libiberty. Provide explicit rules for building. Similarly for alloca, vfprintf, choose-temp and mkstemp, getopt, getopt1, and obstack. diff --git a/gcc/config/m68k/m68k.c b/gcc/config/m68k/m68k.c index 07f7a01563db..cc3e3d72919c 100644 --- a/gcc/config/m68k/m68k.c +++ b/gcc/config/m68k/m68k.c @@ -1679,10 +1679,9 @@ output_move_qimode (operands) return "sub%.l %0,%0"; 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"; } diff --git a/gcc/config/m68k/m68k.md b/gcc/config/m68k/m68k.md index 98672df61b37..dfe0cbc313e8 100644 --- a/gcc/config/m68k/m68k.md +++ b/gcc/config/m68k/m68k.md @@ -1023,8 +1023,8 @@ "* return output_move_qimode (operands);") (define_insn "" - [(set (match_operand:QI 0 "general_operand" "=d*a,d*am") - (match_operand:QI 1 "general_operand" "d*ami,d*a"))] + [(set (match_operand:QI 0 "general_operand" "=d,dm,d*a") + (match_operand:QI 1 "general_operand" "dmi,d,di*a"))] "TARGET_5200" "* return output_move_qimode (operands);")