[patch] Fix of 32-bit and 64-bit split and peephole rules in i386.md
Uros Bizjak
ubizjak@gmail.com
Tue Jun 3 12:10:00 GMT 2008
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.
More information about the Gcc-patches
mailing list