On 20/12/12 18:06, Greta Yorsh wrote:
Currently, GCC uses generic ARMv7-A tuning for Cortex-A7.
This patch adds an initial pipeline description for Cortex-A7. Details:
* integer/vfp is based on the pipeline description for Cortex-A5,
* models dual issue in limited circumstances using simple_alu_imm and
simple_alu_shift type attribute (introduced by a previous patch),
* basic neon timings.

No regression on qemu for arm-none-eabi target with cpu cortex-a7.

Bootstrap successful on Cortex-A15 (gcc configured with cpu cortex-a7).

Performance evaluation on Cortex-A7 hardware:

Coremark:
* No change compared to generic tuning even though the generated assembly is
significantly different due to instruction scheduling.
* Improvement compared to tuning for Cortex-A5: 4% improvement in arm mode
and 9% improvement in thumb mode.
CINT2000:
* compared to generic tuning, overall improvement of 1.9%.
* compared to tuning for Cortex-A5, overall improvement of 1.5%.
* in both cases, all benchmarks improved except 254.gap.
CFP2000:
* compared to generic tuning (which doesn't do much for FP), overall
improvement of 5.5%, all benchmarks improved.
* compared to Cortex-A5 tuning (as pipeline descriptions are nearly
identical) overall no change, but individual benchmarks mixed results.

Ok for trunk?

Thanks,
Greta

gcc/ChangeLog

2012-12-20  Greta Yorsh  <greta.yo...@arm.com>

         * config/arm/cortex-a7.md: New file.
         * config/arm/arm.md: Include cortex-a7.md.
         (generic_sched): Don't use generic scheduler for Cortex-A7.
         (generic_vfp): Likewise.
         * config/arm/t-arm (arm_cpu_table): Likewise.

This entry is wrong.  Please fix when you commit.

         * config/arm/arm.c: (TARGET_SCHED_REORDER): Use arm_sched_reorder.
         (arm_sched_reorder): New function.
         (cortexa7_older_only,cortexa7_younger): Likewise.

Ok once the above has been fixed.
R.

Reply via email to