Hi,

Matt Zimmerman wrote:

> [EMAIL PROTECTED]:/unstable/build/mdz/hercules-2.12$ cc -O2 -c test.c
> /tmp/cc23gVSZ.s: Assembler messages:
> /tmp/cc23gVSZ.s:69: Error: operands mismatch -- statement `add.l 
> %a4,-20(%a6)' ignored

Attached patch fixes this.
Matthias, the same bug still exists in 3.0.

bye, Roman
--- gcc/config/m68k/m68k.md.org Sat Jul 21 01:17:42 2001
+++ gcc/config/m68k/m68k.md     Sat Jul 21 01:18:53 2001
@@ -2116,7 +2116,7 @@
 ;;    (plus:DI (match_operand:DI 2 "general_operand" "%0")
 ;;     (lshiftrt:DI (match_operand:DI 1 "general_operand" "ro")
 ;;            (const_int 32))))]
-    (plus:DI (lshiftrt:DI (match_operand:DI 1 "general_operand" "ro,r")
+    (plus:DI (lshiftrt:DI (match_operand:DI 1 "general_operand" "ro,d")
             (const_int 32))
         (match_operand:DI 2 "general_operand" "0,0")))]
   ""
@@ -2135,7 +2135,7 @@
 ;;    (plus:DI (match_operand:DI 2 "general_operand" "%0")
 ;;     (ashift:DI (match_operand:DI 1 "general_operand" "ro")
 ;;            (const_int 32))))]
-    (plus:DI (ashift:DI (match_operand:DI 1 "general_operand" "ro,r")
+    (plus:DI (ashift:DI (match_operand:DI 1 "general_operand" "ro,d")
             (const_int 32))
         (match_operand:DI 2 "general_operand" "0,0")))]
   ""

Reply via email to