This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: Committed, MMIX: fix PR43889, missing earlyclobber exposed by r154688
- From: Bernd Schmidt <bernds at codesourcery dot com>
- To: Hans-Peter Nilsson <hp at bitrange dot com>
- Cc: gcc-patches at gcc dot gnu dot org
- Date: Tue, 27 Apr 2010 12:11:03 +0200
- Subject: Re: Committed, MMIX: fix PR43889, missing earlyclobber exposed by r154688
- References: <alpine.BSF.2.00.1004262058410.1655@dair.pair.com>
On 04/27/2010 02:59 AM, Hans-Peter Nilsson wrote:
> Index: gcc/config/mmix/mmix.md
> ===================================================================
> --- gcc/config/mmix/mmix.md (revision 158753)
> +++ gcc/config/mmix/mmix.md (working copy)
> @@ -333,7 +333,7 @@
> ;; The %2-is-%1-case is there just to make sure things don't fail. Could
> ;; presumably happen with optimizations off; no evidence.
> (define_insn "*divdi3_nonknuth"
> - [(set (match_operand:DI 0 "register_operand" "=&r,r")
> + [(set (match_operand:DI 0 "register_operand" "=&r,&r")
> (div:DI (match_operand:DI 1 "register_operand" "r,r")
> (match_operand:DI 2 "register_operand" "1,r")))
> (clobber (match_scratch:DI 3 "=1,1"))
> @@ -359,7 +359,7 @@
> ;; The %2-is-%1-case is there just to make sure things don't fail. Could
> ;; presumably happen with optimizations off; no evidence.
> (define_insn "*moddi3_nonknuth"
> - [(set (match_operand:DI 0 "register_operand" "=&r,r")
> + [(set (match_operand:DI 0 "register_operand" "=&r,&r")
> (mod:DI (match_operand:DI 1 "register_operand" "r,r")
> (match_operand:DI 2 "register_operand" "1,r")))
> (clobber (match_scratch:DI 3 "=1,1"))
Even after your patch, I'm not at all convinced these are valid
patterns, what with the "=1" matching constraint on a clobber.
Bernd