Add -march=iamcu to optimize for IA MCU

Programming / Compilers / GCC - hjl [138bc75d-0d04-0410-961f-82ee72b054a4] - 6 July 2015 10:17 UTC

IA MCU is based on Intel Pentium ISA without x87 and passing parameters in registers. We want to optimize for IA MCU without changing existing Pentium codegen. This patch adds PROCESSOR_IAMCU for -march=iamcu, which is based on -march=pentium with updated cost tables.

gcc/

PR target/66749
- config/i386/i386.c (iamcu_cost): New. (m_IAMCU): Likewise. (initial_ix86_arch_features): Disable X86_ARCH_CMOV for m_IAMCU. (processor_target_table): Add an entry for "iamcu". (processor_alias_table): Likewise. (ix86_issue_rate): Handle PROCESSOR_IAMCU. (ix86_adjust_cost): Likewise. (ia32_multipass_dfa_lookahead): Likewise.
- config/i386/i386.h (processor_type): Add PROCESSOR_IAMCU.
- config/i386/x86-tune.def: Updated for m_IAMCU.

gcc/testsuite/

PR target/66749
- gcc.target/i386/pr66749.c: New test.

9e9379b Add -march=iamcu to optimize for IA MCU
gcc/config/i386/i386.c | 76 ++++++++++++++++++++++++++++++-
gcc/config/i386/i386.h | 1 +
gcc/config/i386/x86-tune.def | 36 +++++++++------
gcc/testsuite/gcc.target/i386/pr66749.c | 14 ++++++
4 files changed, 111 insertions(+), 16 deletions(-)

Upstream: gcc.gnu.org


  • Share