This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH]: Fix mov32/mov64 constraints for HC11/HC12


Hi!

I committed this patch to accept any offsetable memory operand when the source
is 0.  Otherwise, the reload can fail if the destination is a register (which will
go in a memory slot, due to its size).

Committed on 3_2 branch and mainline.

	Stephane

2002-09-14  Stephane Carrez  <stcarrez@nerim.fr>

	* config/m68hc11/m68hc11.md ("movdi_internal"): Allow any offsetable
	memory operand when source is 0 (K constraint).
	("movsi_internal"): Likewise.
	("movdf_internal"): Likewise.
	("movsf_internal"): Likewise.
Index: config/m68hc11/m68hc11.md
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/m68hc11/m68hc11.md,v
retrieving revision 1.38
diff -u -p -r1.38 m68hc11.md
--- config/m68hc11/m68hc11.md	14 Aug 2002 07:53:55 -0000	1.38
+++ config/m68hc11/m68hc11.md	14 Sep 2002 12:03:17 -0000
@@ -651,7 +651,7 @@
 ")
 
 (define_insn "movdi_internal"
-  [(set (match_operand:DI 0 "nonimmediate_operand" "=uS,U,!u,U,m,m,!u")
+  [(set (match_operand:DI 0 "nonimmediate_operand" "=ou,U,!u,U,m,m,!u")
 	(match_operand:DI 1 "general_operand" "K,iU,iU,!u,mi,!u,!mu"))
    (clobber (match_scratch:HI 2 "=X,&d,&d,&d,&d,&d,&d"))]
   ""
@@ -687,7 +687,7 @@
 ")
 
 (define_insn "movdf_internal"
-  [(set (match_operand:DF 0 "nonimmediate_operand" "=uS,U,!u,U,m,m,!u")
+  [(set (match_operand:DF 0 "nonimmediate_operand" "=ou,U,!u,U,m,m,!u")
 	(match_operand:DF 1 "general_operand" "G,iU,iU,!u,mi,!u,!mu"))
    (clobber (match_scratch:HI 2 "=X,&d,&d,&d,&d,&d,&d"))]
   ""
@@ -732,7 +732,7 @@
 ")
 
 (define_insn "movsi_internal"
-  [(set (match_operand:SI 0 "nonimmediate_operand" "=uS,mu,?D,m,?D,?u,?u,!u,D")
+  [(set (match_operand:SI 0 "nonimmediate_operand" "=ou,mu,?D,m,?D,?u,?u,!u,D")
 	(match_operand:SI 1 "general_operand"      "K,imu,im,?D,!u,?D,mi,!u,!D"))
    (clobber (match_scratch:HI 2                    "=X,&d,X,X,X,X,&d,&d,X"))]
   ""
@@ -768,7 +768,7 @@
 ")
 
 (define_insn "movsf_internal"
-  [(set (match_operand:SF 0 "nonimmediate_operand" "=S!u,m,D,m,D,!u,!u,!u,D")
+  [(set (match_operand:SF 0 "nonimmediate_operand" "=o!u,m,D,m,D,!u,!u,!u,D")
 	(match_operand:SF 1 "general_operand" "G,im,im,D,!u,D,mi,!u,!D"))
    (clobber (match_scratch:HI 2 "=X,&d,X,X,X,X,&d,&d,X"))]
   ""

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]