]> git.ipfire.org Git - thirdparty/gcc.git/commit
Silvermont (SLM) architecture performance tuning
authorYuri Rumyantsev <yuri.s.rumyantsev@intel.com>
Fri, 31 May 2013 15:52:42 +0000 (08:52 -0700)
committerH.J. Lu <hjl@gcc.gnu.org>
Fri, 31 May 2013 15:52:42 +0000 (08:52 -0700)
commit55805e5496208b399bc3faa047fc54a5af3f1a36
tree042a278a93e3dfcc22ee01de018de0c350b862dd
parente19c9de23554122a159017cda7df5267575a199c
Silvermont (SLM) architecture performance tuning

2013-05-31  Yuri Rumyantsev  <yuri.s.rumyantsev@intel.com>
    Igor Zamyatin  <igor.zamyatin@intel.com>

* config/i386/i386.h (enum ix86_tune_indices): Add
X86_TUNE_SPLIT_MEM_OPND_FOR_FP_CONVERTS.
(TARGET_SPLIT_MEM_OPND_FOR_FP_CONVERTS): New define.

* config/i386/i386.c (initial_ix86_tune_features)
<X86_TUNE_SPLIT_MEM_OPND_FOR_FP_CONVERTS>: Initialize.
(ix86_lea_outperforms): Handle Silvermont tuning.
(ix86_avoid_lea_for_add): Add new argument to ix86_lea_outperforms
call.
(ix86_use_lea_for_mov): Likewise.
(ix86_avoid_lea_for_addr): Likewise.
(ix86_lea_for_add_ok): Likewise.
(exact_dependency_1): New function.
(exact_store_load_dependency): Likewise.
(ix86_adjust_cost): Handle Silvermont tuning.
(do_reoder_for_imul): Likewise.
(swap_top_of_ready_list): New function.
(ix86_sched_reorder): Changed to handle Silvermont tuning.

* config/i386/i386.md (peepholes that split memory operand in fp
converts): New.

From-SVN: r199546
gcc/ChangeLog
gcc/config/i386/i386.c
gcc/config/i386/i386.h
gcc/config/i386/i386.md