Silvermont (SLM) architecture pipeline model, tuning and insn selection.
authorYuri Rumyantsev <yuri.s.rumyantsev@intel.com>
Thu, 30 May 2013 10:10:21 +0000 (10:10 +0000)
committerKirill Yukhin <kyukhin@gcc.gnu.org>
Thu, 30 May 2013 10:10:21 +0000 (10:10 +0000)
commit0b871ccfce4a95d2d6c8849e0c69a0172fd7ea07
tree0dc5a1becfc78111732c177d3e6945ad05128393
parent24d5b0970a7d07a30430b17b2a837832c3b1b38e
Silvermont (SLM) architecture pipeline model, tuning and insn selection.

        Silvermont (SLM) architecture pipeline model, tuning and
        insn selection.
        * config.gcc: Add slm config options and target.

        * config/i386/slm.md: New.

        * config/i386/driver-i386.c (host_detect_local_cpu): Check movbe.

        * gcc/config/i386/i386-c.c (ix86_target_macros_internal):  New case
        PROCESSOR_SLM.
        (ix86_target_macros_internal): Likewise.

        * gcc/config/i386/i386.c (slm_cost): New cost.
        (m_SLM): New macro flag.
        (initial_ix86_tune_features): Set m_SLM.
        (x86_accumulate_outgoing_args): Likewise.
        (x86_arch_always_fancy_math_387): Likewise.
        (processor_target_table): Add slm cost.
        (cpu_names): Add slm cpu name.
        (x86_option_override_internal): Set SLM ISA.
        (ix86_issue_rate): New case PROCESSOR_SLM.
        (ia32_multipass_dfa_lookahead): Likewise.
        (fold_builtin_cpu): Add slm.

        * config/i386/i386.h (TARGET_SLM): New target macro.
        (target_cpu_default): Add TARGET_CPU_DEFAULT_slm.
        (processor_type): Add PROCESSOR_SLM.

        * config/i386/i386.md (cpu): Add new value "slm".
        (slm.md): Include slm.md.

        * libgcc/config/i386/cpuinfo.c (INTEL_SLM): New enum value.

Co-Authored-By: Igor Zamyatin <igor.zamyatin@intel.com>
From-SVN: r199444
gcc/ChangeLog
gcc/config.gcc
gcc/config/i386/driver-i386.c
gcc/config/i386/i386-c.c
gcc/config/i386/i386.c
gcc/config/i386/i386.h
gcc/config/i386/i386.md
gcc/config/i386/slm.md [new file with mode: 0644]
libgcc/config/i386/cpuinfo.c