This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/34682] 70% slowdown with SSE enabled
- From: "uros at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 7 Jan 2008 20:07:10 -0000
- Subject: [Bug target/34682] 70% slowdown with SSE enabled
- References: <bug-34682-12238@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #12 from uros at gcc dot gnu dot org 2008-01-07 20:07 -------
Subject: Bug 34682
Author: uros
Date: Mon Jan 7 20:06:34 2008
New Revision: 131381
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=131381
Log:
PR target/34682
* config/i386/i386.md (neg<mode>2): Rename from negsf2, negdf2 and
negxf2. Macroize expander using X87MODEF mode iterator. Change
predicates of op0 and op1 to register_operand.
(abs<mode>2): Rename from abssf2, absdf2 and negxf2. Macroize expander
using X87MODEF mode iterator. Change predicates of op0 and op1 to
register_operand.
("*absneg<mode>2_mixed", "*absneg<mode>2_sse"): Rename from
corresponding patterns and macroize using MODEF macro. Change
predicates of op0 and op1 to register_operand and remove
"m" constraint. Disparage "r" alternative with "!".
("*absneg<mode>2_i387"): Rename from corresponding patterns and
macroize using X87MODEF macro. Change predicates of op0 and op1
to register_operand and remove "m" constraint. Disparage "r"
alternative with "!".
(absneg splitter with memory operands): Remove.
("*neg<mode>2_1", "*abs<mode>2_1"): Rename from corresponding
patterns and macroize using X87MODEF mode iterator.
* config/i386/sse.md (negv4sf2, absv4sf2, neg2vdf2, absv2df2):
Change predicate of op1 to register_operand.
* config/i386/i386.c (ix86_expand_fp_absneg_operator): Remove support
for memory operands.
Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/i386/i386.c
trunk/gcc/config/i386/i386.md
trunk/gcc/config/i386/sse.md
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34682