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]

Re: x86-64 merger part 40 - missing bits


On Mon, Oct 01, 2001 at 06:44:15PM +0200, Jan Hubicka wrote:
> There are two problematic bits.  First the ix86_attr_length_immediate_default,
> where you were unhappy about returning '4' for DImode
[...]
> Otherwise "pushl $4" should have mode "QI".

Hmm.  That's a very good point.  I retract my objection; just make
sure that the documentation is clear.

> Using :P does not work, as the Pmode leaks into the static array in insn-recog.c
> and compilation fails on biarch compilation.  I am not quite sure how to deal
> with this problem right now.

Yeah, I noticed this a while ago.  The right solution is to have
a special constant for Pmode in the object file, say external_Pmode,
and when loading from the global data structures, substitute.

> 	* i386.c (legitimize_pic_address): Add missing bits of 64bit support.
> 	(ix86_expand_int_movcc): Optimize DImode conditional moves with 
> 	constants on x86_64.
> 	(ix86_attr_length_immediate_default): Support MODE_DI.
> 	* i386.md (fixdi splitter): Add missing "&& 1" in splitter
> 	condition.
> 	(indirect_jump, tablejump): Turn into expander.

Ok.


r~


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