This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]