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] AVR: rev.2: implement HI/SI logic operations and sign/zero extension by define_insn_and_split instead of define_insn


Denis Chertykov <denisc@overta.ru> writes:

> Björn Haase <bjoern.m.haase@web.de> writes:
> 
> > Hello Denis,
> > 
> > here is again the patch considering your remarks. I have been able to remove 
> > most of the explicit insn templates in the define_insn_and_split patterns. 
> > However, I did not succeed in removing them completely. A single case makes 
> > problem: lable reference immediates. This case still remains handled by the 
> > shortened unsplitted instruction patterns. I have also experimented with 
> > using gen_lowpart/gen_highpart. When using them I got about 40 additional 
> > regressions due to ICE in gen_lowpart/gen_highpart. Namely, these functions 
> > seem to fail on subreg input operands and as well on immediate label 
> > references. Also the resulting code did not get smaller. So I decided to 
> > stick to the explicit subreg expressions.
> > 
> > I have tested the patch on the testsuite setup using the atmega128 simulator 
> > and did not observe any regression.
> > 
> > Yours,
> > 
> > Björn
> > 
> > BTW, what is happening with Andy's RTL-prologue/epilogue patch? IMHO, the 
> > patch would be ready for check-in on mainline 4.1.?
> 
> I will review it after your patch. 
> 
> > 
> > 
> > 
> > 2005-15-04  Bjoern Haase <bjoern.m.haase@web.de>
> > 
> >  	* config/avr/avr.md:
> >  	replace magic numbers for unspec numbering by (define_constants ).
> >  	add new unspec for generation of sign extension byte.
> >  	extend define_insn to define_insn_and_split for the patterns...
> >  	"andhi" (here also tiny change in define_insn pattern), "andsi"
> >  	"iorhi", "iorhi_clobber", "iorsi", "iorsi_clobber"
> >  	"extendqihi2", "extendqisi2", "extendhisi2"
> >  	"zero_extendqihi2", "zero_extendqisi2", "zero_extendhisi2"
> >  	replace "xorhi" and "xorsi" patterns by expanders
> 
> Wrong change log entry.

[...]

How about right chahge log entry ?

Denis.

PS: IMHO RTL-prologue/epilogue patch have too many 'UNSPECs'.


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