This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[PATCH]: Fix mov32/mov64 constraints for HC11/HC12
- From: Stephane Carrez <stcarrez at nerim dot fr>
- To: gcc-patches at gcc dot gnu dot org
- Date: Sat, 14 Sep 2002 16:07:30 +0200
- Subject: [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"))]
""