* config/i386/i386.md (*add<mode>_1): Remove alternative 2.
commiteacc5e18df70f1489a49629c29a07fc5d3038c46
authoruros <uros@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 7 Jun 2010 19:51:19 +0000 (7 19:51 +0000)
committeruros <uros@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 7 Jun 2010 19:51:19 +0000 (7 19:51 +0000)
treeeb38fde974a138516e6c5417c7d9d0b0d7897d59
parent1684aeab6f0e5e913f594a3a0a815fe6f02488c3
* config/i386/i386.md (*add<mode>_1): Remove alternative 2.
<TYPE_LEA>: Split instruction.
<default>: Remove alternative 2 handling.
(*addsi_1_zext) <TYPE_LEA>: Split instruction.
(add lea splitter): Generate SImode lea for mode sizes <= SImode.
(add_zext lea splitter): Use ix86_lea_for_add_ok in insn predicate.

(*movsi_1) <TYPE_LEA>: Use %a modifier to output operand 1.
(ashift_zext lea splitter): Use DImode for multiplication.

* config/i386/i386.c (ix86_expand_epilogue): Do not use ix86_gen_add
to generate addition.

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