Pad short functions with NOPs for Atom.
authorH.J. Lu <hongjiu.lu@intel.com>
Fri, 17 Sep 2010 21:07:09 +0000 (21:07 +0000)
committerH.J. Lu <hjl@gcc.gnu.org>
Fri, 17 Sep 2010 21:07:09 +0000 (14:07 -0700)
commite7ed95a24d005410ee3fb772c97189f43dadaee7
treede5a48ea5e9cadf018a942934426371b6d2cf5ab
parent8cab7c1398a6275c0b8e4132f3c2d1e22181c00b
Pad short functions with NOPs for Atom.

gcc/

2010-09-17  H.J. Lu  <hongjiu.lu@intel.com>
    Richard Henderson  <rth@redhat.com>

* config/i386/i386.c (initial_ix86_tune_features): Add
X86_TUNE_PAD_SHORT_FUNCTION.
(ix86_code_end): Pad with 8 NOPs for TARGET_PAD_SHORT_FUNCTION.
(ix86_count_insn): New.
(ix86_pad_short_function): Likewise.
(ix86_reorg): Support TARGET_PAD_SHORT_FUNCTION.

* config/i386/i386.h (ix86_tune_indices): Add
X86_TUNE_PAD_SHORT_FUNCTION.
(TARGET_PAD_SHORT_FUNCTION): New.

* config/i386/i386.md (UNSPEC_NOPS): New.
(nops): Likewise.

gcc/testsuite/

2010-09-17  H.J. Lu  <hongjiu.lu@intel.com>

* gcc.target/i386/pad-1.c: New.
* gcc.target/i386/pad-2.c: Likewise.
* gcc.target/i386/pad-3.c: Likewise.
* gcc.target/i386/pad-4.c: Likewise.
* gcc.target/i386/pad-5a.c: Likewise.
* gcc.target/i386/pad-5b.c: Likewise.
* gcc.target/i386/pad-6a.c: Likewise.
* gcc.target/i386/pad-6b.c: Likewise.
* gcc.target/i386/pad-7.c: Likewise.
* gcc.target/i386/pad-8.c: Likewise.
* gcc.target/i386/pad-9.c: Likewise.
* gcc.target/i386/pad-10.c: Likewise.

Co-Authored-By: Richard Henderson <rth@redhat.com>
From-SVN: r164379
17 files changed:
gcc/ChangeLog
gcc/config/i386/i386.c
gcc/config/i386/i386.h
gcc/config/i386/i386.md
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/i386/pad-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/pad-10.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/pad-2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/pad-3.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/pad-4.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/pad-5a.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/pad-5b.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/pad-6a.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/pad-6b.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/pad-7.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/pad-8.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/pad-9.c [new file with mode: 0644]