Commit 0ea80eb6 by Bernd Schmidt Committed by Bernd Schmidt

bfin.md (movdi_insn, [...]): Don't allow constant to memory moves.

	* config/bfin/bfin.md (movdi_insn, movsi_insn, movv2hi_insn,
	movhi_insn, movqi_insn, movsf_insn, movdf_insn): Don't allow constant
	to memory moves.

From-SVN: r125617
parent b0464c88
2007-06-11 Bernd Schmidt <bernd.schmidt@analog.com>
* config/bfin/bfin.md (movdi_insn, movsi_insn, movv2hi_insn,
movhi_insn, movqi_insn, movsf_insn, movdf_insn): Don't allow constant
to memory moves.
2007-06-11 Rafael Avila de Espindola <espindola@google.com> 2007-06-11 Rafael Avila de Espindola <espindola@google.com>
* gcc/tree.c (signed_or_unsigned_type_for): New. * gcc/tree.c (signed_or_unsigned_type_for): New.
......
...@@ -424,7 +424,7 @@ ...@@ -424,7 +424,7 @@
(define_insn_and_split "movdi_insn" (define_insn_and_split "movdi_insn"
[(set (match_operand:DI 0 "nonimmediate_operand" "=x,mx,r") [(set (match_operand:DI 0 "nonimmediate_operand" "=x,mx,r")
(match_operand:DI 1 "general_operand" "iFx,r,mx"))] (match_operand:DI 1 "general_operand" "iFx,r,mx"))]
"GET_CODE (operands[0]) != MEM || GET_CODE (operands[1]) != MEM" "GET_CODE (operands[0]) != MEM || GET_CODE (operands[1]) == REG"
"#" "#"
"reload_completed" "reload_completed"
[(set (match_dup 2) (match_dup 3)) [(set (match_dup 2) (match_dup 3))
...@@ -524,7 +524,7 @@ ...@@ -524,7 +524,7 @@
(define_insn "*movsi_insn" (define_insn "*movsi_insn"
[(set (match_operand:SI 0 "nonimmediate_operand" "=da,x*y,da,x,x,x,da,mr") [(set (match_operand:SI 0 "nonimmediate_operand" "=da,x*y,da,x,x,x,da,mr")
(match_operand:SI 1 "general_operand" "da,x*y,xKs7,xKsh,xKuh,ix,mr,da"))] (match_operand:SI 1 "general_operand" "da,x*y,xKs7,xKsh,xKuh,ix,mr,da"))]
"GET_CODE (operands[0]) != MEM || GET_CODE (operands[1]) != MEM" "GET_CODE (operands[0]) != MEM || GET_CODE (operands[1]) == REG"
"@ "@
%0 = %1; %0 = %1;
%0 = %1; %0 = %1;
...@@ -562,7 +562,7 @@ ...@@ -562,7 +562,7 @@
[(set (match_operand:V2HI 0 "nonimmediate_operand" "=da,da,d,dm") [(set (match_operand:V2HI 0 "nonimmediate_operand" "=da,da,d,dm")
(match_operand:V2HI 1 "general_operand" "i,di,md,d"))] (match_operand:V2HI 1 "general_operand" "i,di,md,d"))]
"GET_CODE (operands[0]) != MEM || GET_CODE (operands[1]) != MEM" "GET_CODE (operands[0]) != MEM || GET_CODE (operands[1]) == REG"
"@ "@
# #
%0 = %1; %0 = %1;
...@@ -584,7 +584,7 @@ ...@@ -584,7 +584,7 @@
(define_insn "*movhi_insn" (define_insn "*movhi_insn"
[(set (match_operand:HI 0 "nonimmediate_operand" "=x,da,x,d,mr") [(set (match_operand:HI 0 "nonimmediate_operand" "=x,da,x,d,mr")
(match_operand:HI 1 "general_operand" "x,xKs7,xKsh,mr,d"))] (match_operand:HI 1 "general_operand" "x,xKs7,xKsh,mr,d"))]
"GET_CODE (operands[0]) != MEM || GET_CODE (operands[1]) != MEM" "GET_CODE (operands[0]) != MEM || GET_CODE (operands[1]) == REG"
{ {
static const char *templates[] = { static const char *templates[] = {
"%0 = %1;", "%0 = %1;",
...@@ -608,7 +608,7 @@ ...@@ -608,7 +608,7 @@
(define_insn "*movqi_insn" (define_insn "*movqi_insn"
[(set (match_operand:QI 0 "nonimmediate_operand" "=x,da,x,d,mr") [(set (match_operand:QI 0 "nonimmediate_operand" "=x,da,x,d,mr")
(match_operand:QI 1 "general_operand" "x,xKs7,xKsh,mr,d"))] (match_operand:QI 1 "general_operand" "x,xKs7,xKsh,mr,d"))]
"GET_CODE (operands[0]) != MEM || GET_CODE (operands[1]) != MEM" "GET_CODE (operands[0]) != MEM || GET_CODE (operands[1]) == REG"
"@ "@
%0 = %1; %0 = %1;
%0 = %1 (X); %0 = %1 (X);
...@@ -621,7 +621,7 @@ ...@@ -621,7 +621,7 @@
(define_insn "*movsf_insn" (define_insn "*movsf_insn"
[(set (match_operand:SF 0 "nonimmediate_operand" "=x,x,da,mr") [(set (match_operand:SF 0 "nonimmediate_operand" "=x,x,da,mr")
(match_operand:SF 1 "general_operand" "x,Fx,mr,da"))] (match_operand:SF 1 "general_operand" "x,Fx,mr,da"))]
"GET_CODE (operands[0]) != MEM || GET_CODE (operands[1]) != MEM" "GET_CODE (operands[0]) != MEM || GET_CODE (operands[1]) == REG"
"@ "@
%0 = %1; %0 = %1;
# #
...@@ -632,7 +632,7 @@ ...@@ -632,7 +632,7 @@
(define_insn_and_split "movdf_insn" (define_insn_and_split "movdf_insn"
[(set (match_operand:DF 0 "nonimmediate_operand" "=x,mx,r") [(set (match_operand:DF 0 "nonimmediate_operand" "=x,mx,r")
(match_operand:DF 1 "general_operand" "iFx,r,mx"))] (match_operand:DF 1 "general_operand" "iFx,r,mx"))]
"GET_CODE (operands[0]) != MEM || GET_CODE (operands[1]) != MEM" "GET_CODE (operands[0]) != MEM || GET_CODE (operands[1]) == REG"
"#" "#"
"reload_completed" "reload_completed"
[(set (match_dup 2) (match_dup 3)) [(set (match_dup 2) (match_dup 3))
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment