From: John David Anglin Date: Wed, 28 Feb 2007 00:11:14 +0000 (+0000) Subject: predicates.md (move_src_operand): Allow zero for mode. X-Git-Tag: releases/gcc-4.3.0~6565 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=e214de0a0ad583e7d04c9b97a2f17f42598e78e5;p=thirdparty%2Fgcc.git 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 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index dc5a8d14d623..888ac2e61941 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2007-02-27 John David Anglin + + * 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 PR target/30970 diff --git a/gcc/config/pa/pa.md b/gcc/config/pa/pa.md index 720bf1501223..54335c347160 100644 --- a/gcc/config/pa/pa.md +++ b/gcc/config/pa/pa.md @@ -4343,7 +4343,7 @@ [(set (match_operand:DF 0 "move_dest_operand" "=!*r,*r,*r,*r,*r,Q,f,f,T") (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) || reg_or_0_operand (operands[1], DFmode)) && !TARGET_SOFT_FLOAT && TARGET_64BIT" diff --git a/gcc/config/pa/predicates.md b/gcc/config/pa/predicates.md index 685a4941991f..ff9ebacf1c90 100644 --- a/gcc/config/pa/predicates.md +++ b/gcc/config/pa/predicates.md @@ -207,11 +207,14 @@ ;; instruction. (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)) return 1; + if (op == CONST0_RTX (mode)) + return 1; + if (GET_CODE (op) == CONST_INT) return cint_ok_for_move (INTVAL (op));