]> git.ipfire.org Git - thirdparty/gcc.git/commit
i386.md (any_extend): New code iterator.
authorUros Bizjak <uros@gcc.gnu.org>
Wed, 7 Oct 2009 20:09:01 +0000 (22:09 +0200)
committerUros Bizjak <uros@gcc.gnu.org>
Wed, 7 Oct 2009 20:09:01 +0000 (22:09 +0200)
commit68bc087496642a6bb547fd523e19e443c21acc35
treef4c4d356f30cb149980683fa4eeaa309bc8e1867
parentf484a91ab45ed2eeeb4d87b454e14578cc506428
i386.md (any_extend): New code iterator.

* config/i386/i386.md (any_extend): New code iterator.
(u, s): New code attributes.
(sgnprefix): Ditto.
(DWIH): Rewrite as code iterator for SI and DI modes.
(DWI): Rewrite as mode attribute.
(dwi): New mode attribute.
(di): Depend on SI mode and DI mode.
(doubleint_general_operand): Remove mode attribute.

(*lea_1): Macroize insn from *lea_1_rex64 and *lea_1 patterns using
DWIH mode iterator.

(*add<mode>3_doubleword): Use DWIH as the base mode iterator.
(*sub<mode>3_doubleword): Ditto.

(mul<mode>3): Macroize expander from mul{hi,si,di}3 patterns
using SWIM248 mode iterator.
(*mul<mode>3_1): Macroize insn from mul{si,di}3_1 patterns
using SWI48 mode iterator.
(<u>mul<mode><dwi>3): Macroize expander from {,u}mul{sidi,diti}3
patterns using DWIH mode iterator and any_extend code iterator.
(<u>mulqihi3): Macroize expander from {,u}mulqihi3 patterns
using any_extend code iterator.
(*<u>mul<mode><dwi>3_1): Macroize insn from {,u}mul{sidi,diti}3_1
patterns using DWIH mode iterator and any_extend code iterator.
(*<u>mulqihi3_1): Macroize insn from {,u}mulqihi3_1 patterns
using any_extend code iterator.
(<s>mul<mode>3_highpart): Macroize expander from
{s,u}mul{si,di}3_highpart patterns using DWIH mode iterator
and any_extend code iterator.
(*<s>muldi3_highpart_1): Macroize insn from
*{s,u}muldi3_highpart_rex64 patterns using any_extend code iterator.
(*<s>mulsi3_highpart_1): Macroize insn from *{s,u}mulsi3_highpart_1
patterns using any_extend code iterator.
(*<s>mulsi3_highpart_zext): Macroize insn from
*{s,u}mulsi3_highpart_zext patterns using any_extend code iterator.

From-SVN: r152539
gcc/ChangeLog
gcc/config/i386/i386.md