Add -march=iamcu to optimize for IA MCU
commit9e9379bd2244eeeee7bd93c630827e34e11e44dc
authorhjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 6 Jul 2015 15:17:44 +0000 (6 15:17 +0000)
committerhjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 6 Jul 2015 15:17:44 +0000 (6 15:17 +0000)
tree857760d49dee456ae368123c838e2c1a7137f139
parent83c60000092ee9c5ab8dd8c3c7ecd6b3d0140c9b
Add -march=iamcu to optimize for IA MCU

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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225460 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/config/i386/i386.c
gcc/config/i386/i386.h
gcc/config/i386/x86-tune.def
gcc/testsuite/gcc.target/i386/pr66749.c [new file with mode: 0644]