Based on Julian's http://gcc.gnu.org/ml/gcc-patches/2012-07/msg01006.html
and 

* Merged with latest mainline and applied test
* Only apply to Cortex-M3 and M4
* Set LOGICAL_OP_NON_SHORT_CIRCUIT to false

Test:
- Coremark on M3/M4 gained 5%
- GCC make check with qemu Cortex-M3 resulting following expected
regressions, which will be fixed by following-up condition compare patches
    * gcc.target/arm/thumb2-cond-cmp-1.c: Expected fail for now.
    * gcc.target/arm/thumb2-cond-cmp-2.c: Likewise.
    * gcc.target/arm/thumb2-cond-cmp-3.c: Likewise.
    * gcc.target/arm/thumb2-cond-cmp-4.c: Likewise.

ChangeLog:

    2013-11-01  Julian Brown  <jul...@codesourcery.com>
    Joey Ye  <joey...@arm.com>

    * config/arm/arm.c (arm_cortex_m_branch_cost): New.
    (arm_v7m_tune): New.
    (arm_*_tune): Add comments for Sched adj cost.
    * config/arm/arm-cores.def (cortex-m4, cortex-m3): 
    Use arm_v7m_tune tuning.

testsuite:
    2013-11-01  Joey Ye  <joey...@arm.com>

    * gcc.dg/tree-ssa/forwprop-28.c: Disable for cortex_m.
    * gcc.dg/tree-ssa/vrp47.c: Likewise.
    * gcc.dg/tree-ssa/vrp87.c: Likewise.
    * gcc.dg/tree-ssa/ssa-dom-thread-4.c: Ignore for cortex_m.
    * gcc.dg/tree-ssa/ssa-vrp-thread-1.c: Likewise.

Attachment: v7m_tune_allin1-131016.patch
Description: Binary data

Reply via email to