Commit e214de0a by John David Anglin Committed by John David Anglin

predicates.md (move_src_operand): Allow zero for mode.

	* pa/predicates.md (move_src_operand): Allow zero for mode.
	* pa/pa.md: Fix constraints for zero CONST_DOUBLE in 64-bit DFmode
	move pattern.

From-SVN: r122388
parent 8ab93332
2007-02-27 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
* pa/predicates.md (move_src_operand): Allow zero for mode.
* pa/pa.md: Fix constraints for zero CONST_DOUBLE in 64-bit DFmode
move pattern.
2007-02-27 Uros Bizjak <ubizjak@gmail.com> 2007-02-27 Uros Bizjak <ubizjak@gmail.com>
PR target/30970 PR target/30970
......
...@@ -4343,7 +4343,7 @@ ...@@ -4343,7 +4343,7 @@
[(set (match_operand:DF 0 "move_dest_operand" [(set (match_operand:DF 0 "move_dest_operand"
"=!*r,*r,*r,*r,*r,Q,f,f,T") "=!*r,*r,*r,*r,*r,Q,f,f,T")
(match_operand:DF 1 "move_src_operand" (match_operand:DF 1 "move_src_operand"
"!*r,J,N,K,RQ,*rM,fM,RT,f"))] "!*r,J,N,K,RQ,*rG,fG,RT,f"))]
"(register_operand (operands[0], DFmode) "(register_operand (operands[0], DFmode)
|| reg_or_0_operand (operands[1], DFmode)) || reg_or_0_operand (operands[1], DFmode))
&& !TARGET_SOFT_FLOAT && TARGET_64BIT" && !TARGET_SOFT_FLOAT && TARGET_64BIT"
......
...@@ -207,11 +207,14 @@ ...@@ -207,11 +207,14 @@
;; instruction. ;; instruction.
(define_predicate "move_src_operand" (define_predicate "move_src_operand"
(match_code "subreg,reg,const_int,mem") (match_code "subreg,reg,const_int,const_double,mem")
{ {
if (register_operand (op, mode)) if (register_operand (op, mode))
return 1; return 1;
if (op == CONST0_RTX (mode))
return 1;
if (GET_CODE (op) == CONST_INT) if (GET_CODE (op) == CONST_INT)
return cint_ok_for_move (INTVAL (op)); return cint_ok_for_move (INTVAL (op));
......
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