This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH RS6000] adding an unsigned SI and a DI together and subtracting an unsigned SI from an DI
- From: David Edelsohn <dje at watson dot ibm dot com>
- To: Andrew Pinski <pinskia at physics dot uc dot edu>
- Cc: gcc-patches at gcc dot gnu dot org, Richard Henderson <rth at redhat dot com>
- Date: Wed, 14 May 2003 18:35:04 -0400
- Subject: Re: [PATCH RS6000] adding an unsigned SI and a DI together and subtracting an unsigned SI from an DI
Did you bootstrap or run a regression test on any of the
define_insn_and_split versions of the patch? There is nothing to prevent
GCC from allocating the same register to DImode output as the SImode
input. For example, input in %r3 and output in %r3 (actually %r3,%r4
pair). Your original version
[(set (match_dup 2) (const_int 0))
(set (match_dup 3) (match_dup 1))]
produced
li %r3,0
mr %r4,%r3
I believe that reversing the order of the SETs is sufficient so that the
input is consumed in the first insn.
David