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] Fix of 32-bit and 64-bit split and peephole rules in i386.md


On Tue, Jun 3, 2008 at 1:37 PM, Kai Tietz <Kai.Tietz@onevision.com> wrote:

> I perpared a patch for i386.md fixing some collision between 32-bit and
> 64-bit rules for peephole and splitting.

You don't need to fix peepholes, because there will be no SImode
SP_REG on 64bit targets and DImode SP_REG on 32bit targets.

> ChangeLog
>
> 2008-06-03  Kai Tietz  <kai.tietz@onevision.com>
>
>        * config/i386/i386.md (define_mode_iterator P): New.
>        (split): Merged XF and DF rules using P.

This changelog entry does not describe in required details what are
you changing. What do you think about following:

* config/i386/i386.md (P): New mode iterator.
(SFmode push_operand splitter): Macroize DImode and SImode pushes
using P mode iterator.
(DFmode ...): Ditto.
(XFmode ...): Ditto.
(DFmode float_extend SFmode push_operand splitter): Ditto.
(XFmode float_extend SFmode push_operand splitter): Do not generate
SImode pushes for 64bit target.  Macroize Dimode and SImode ...
(XFmode float_extedn DFmode push_operand splitter): Ditto.

>        (peephole): Make sure that esp4 and esp8 are choosen dependent on
> TARGET_64BIT.

Peephole changes are not needed.

> I bootstraped this patch on target x86_64-pc-mingw32 without any
> regression I saw.
> Is this patch ok for apply?

The patch is OK (without peephole changes) for mainline.

Thanks,
Uros.


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