OSDN Git Service

* config/i386/i386.md (divmod<mode>4) Macroize expander from
authoruros <uros@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 2 Oct 2009 19:47:34 +0000 (19:47 +0000)
committeruros <uros@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 2 Oct 2009 19:47:34 +0000 (19:47 +0000)
commite7911ef046f1e111acd5c0e906a5c80a6a4c8aea
tree6ed5976610f198b80ac87c79b19da35829ad85f1
parent820fcceb548c77355bb0ffdc4b47207fd91ffb24
* config/i386/i386.md (divmod<mode>4) Macroize expander from
divmoddi4, divmodsi4 and divmodhi4 patterns using SWI248 macro.
(*divmod<mode>4): Macroize insn_and_split pattern from
*divmoddi4_cltd_rex64, *divmodsi4_cltd and divmodhi4 insn patterns
and their corresponding splitters usign SWI248 macro.  Split SImode
insn to generate cltd and DImode insn to generate cqto instead of
move+shift when optimizing for size or TARGET_USE_CLTD is in effect.
(*divmoddi4_nocltd_rex64, *divmodsi4_nocltd): Remove insn patterns.
(*divmod<mode>4_noext): Macroize insn from *divmoddi_noext_rex64 and
*divmodsi_noext patterns using SWI248 macro.
(udivmod<mode>4): Macroize expander from udivmoddi4, udivmodsi4 and
udivmodhi4 patterns using SWI248 macro.
(*udivmod<mode>4): Macroize insn_and_split pattern from
*udivmoddi4, udivmodsi4 and udivmodhi4 patterns and their
corresponding splitters using SWI248 macro.
(*udivmod<mode>4_noext): Macroize insn from *udivmoddi4_noext,
*udivmodsi4_noext and *udivmodhi_noext patterns using SWI248 macro.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@152416 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/config/i386/i386.md
gcc/testsuite/ChangeLog