]> gcc.gnu.org Git - gcc.git/commit
i386.c (athlon_cost): Fix lea, divide and XFmode move costs.
authorJan Hubicka <jh@suse.cz>
Mon, 17 Apr 2000 21:39:30 +0000 (21:39 +0000)
committerJan Hubicka <hubicka@gcc.gnu.org>
Mon, 17 Apr 2000 21:39:30 +0000 (21:39 +0000)
commit0b5107cf3a4dcb6934c4b55c569360ca38aa2035
treef968a9f00f97ceb6019eb8ab06dc60d7581752dc
parent10f135942226e4ae2bbeb48515be4368d9745d68
i386.c (athlon_cost): Fix lea, divide and XFmode move costs.

* i386.c (athlon_cost): Fix lea, divide and XFmode move costs.
(x86_integer_DFmode_moves, x86_partial_reg_dependency,
 x86_memory_mismatch_stall): New global variables.
(ix86_adjust_cost): Handle MEMORY_BOTH on places MEMORY_STORE was only
alloved; fix load penalties for Athlon.
* i386.h (x86_integer_DFmode_moves, x86_partial_reg_dependency,
x86_memory_mismatch_stall): Declare.
(TARGET_INTEGER_DFMODE_MOVES, TARGET_PARTIAL_REG_DEPENDENCY,
 TARGET_MEMORY_MISMATCH_STALL): New.
* i386.md (athlon scheduling parameters): Fix latencies according to
Athlon Optimization Manual.
(sahf, xchg, fldcw, leave instruction patterns): Set athlon_decode to
vector.
(fsqrt instruction patterns): Set athlon_decode to direct.
(movhi_1): Promote for TARGET_PARTIAL_REG_DEPENDENCY and for
PARTIAL_REGISTER_STALL with !TARGET_HIMODE_MATH machines.
(movqi_1): Handle promoting correctly for TARGET_PARTIAL_REG_DEPENDENCY
and TARGET_PARTIAL_REGISTER_STALL machines.
(pushdf_nointeger): New pattern.
(pushdf_integer): Rename from pushdf.
(movdf_nointger): Enable for !TARGET_INTEGER_DFMODE_MOVES machines.
(movdf_intger): Disable for !TARGET_INTEGER_DFMODE_MOVES machines.

From-SVN: r33215
gcc/ChangeLog
gcc/config/i386/i386.c
gcc/config/i386/i386.h
gcc/config/i386/i386.md
This page took 0.054947 seconds and 5 git commands to generate.