Commit 5a10b0a9 by Nick Clifton Committed by Nick Clifton

mn10300.md (movqi_internal): Add alternatives to handle MDR <-> data register transfers.

	* config/mn10300/mn10300.md (movqi_internal): Add alternatives
	to handle MDR <-> data register transfers.
	(movhi_internal): Likewise.

From-SVN: r172099
parent 20c03367
2011-04-05 Nick Clifton <nickc@redhat.com>
* config/mn10300/mn10300.md (movqi_internal): Add alternatives
to handle MDR <-> data register transfers.
(movhi_internal): Likewise.
2011-04-07 Alan Modra <amodra@gmail.com> 2011-04-07 Alan Modra <amodra@gmail.com>
* config/rs6000/rs6000.c (rs6000_stack_info): Don't compare against * config/rs6000/rs6000.c (rs6000_stack_info): Don't compare against
......
...@@ -239,8 +239,8 @@ ...@@ -239,8 +239,8 @@
}) })
(define_insn "*movqi_internal" (define_insn "*movqi_internal"
[(set (match_operand:QI 0 "nonimmediate_operand" "=*r,D*r,D*r,D,m") [(set (match_operand:QI 0 "nonimmediate_operand" "=*r,D*r,D*r,D,m,*z,d")
(match_operand:QI 1 "general_operand" " 0,D*r, i,m,D"))] (match_operand:QI 1 "general_operand" " 0,D*r, i,m,D,d,*z"))]
"(register_operand (operands[0], QImode) "(register_operand (operands[0], QImode)
|| register_operand (operands[1], QImode))" || register_operand (operands[1], QImode))"
{ {
...@@ -250,6 +250,8 @@ ...@@ -250,6 +250,8 @@
return ""; return "";
case 1: case 1:
case 2: case 2:
case 5:
case 6:
return "mov %1,%0"; return "mov %1,%0";
case 3: case 3:
case 4: case 4:
...@@ -266,6 +268,8 @@ ...@@ -266,6 +268,8 @@
(const_int 13) (const_int 24)) (const_int 13) (const_int 24))
(if_then_else (eq_attr "cpu" "am34") (if_then_else (eq_attr "cpu" "am34")
(const_int 11) (const_int 22)) (const_int 11) (const_int 22))
(const_int 11)
(const_int 11)
])] ])]
) )
...@@ -283,8 +287,8 @@ ...@@ -283,8 +287,8 @@
}) })
(define_insn "*movhi_internal" (define_insn "*movhi_internal"
[(set (match_operand:HI 0 "nonimmediate_operand" "=*r,D*r,D*r,D,m") [(set (match_operand:HI 0 "nonimmediate_operand" "=*r,D*r,D*r,D,m,*z,d")
(match_operand:HI 1 "general_operand" " 0, i,D*r,m,D"))] (match_operand:HI 1 "general_operand" " 0, i,D*r,m,D,d,*z"))]
"(register_operand (operands[0], HImode) "(register_operand (operands[0], HImode)
|| register_operand (operands[1], HImode))" || register_operand (operands[1], HImode))"
{ {
...@@ -302,6 +306,8 @@ ...@@ -302,6 +306,8 @@
&& REGNO_EXTENDED_P (REGNO (operands[0]), 1)) && REGNO_EXTENDED_P (REGNO (operands[0]), 1))
return "movu %1,%0"; return "movu %1,%0";
/* FALLTHRU */ /* FALLTHRU */
case 5:
case 6:
case 2: case 2:
return "mov %1,%0"; return "mov %1,%0";
case 3: case 3:
...@@ -320,6 +326,10 @@ ...@@ -320,6 +326,10 @@
(const_int 13) (const_int 24)) (const_int 13) (const_int 24))
(if_then_else (eq_attr "cpu" "am34") (if_then_else (eq_attr "cpu" "am34")
(const_int 11) (const_int 22)) (const_int 11) (const_int 22))
(if_then_else (eq_attr "cpu" "am34")
(const_int 11) (const_int 22))
(if_then_else (eq_attr "cpu" "am34")
(const_int 11) (const_int 22))
])] ])]
) )
......
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