diff options
author | H.J. Lu <hongjiu.lu@intel.com> | 2009-05-18 17:21:13 +0000 |
---|---|---|
committer | H.J. Lu <hjl@gcc.gnu.org> | 2009-05-18 10:21:13 -0700 |
commit | 6a90d232abb6815994146ecc0ebbfc83d37f6d8a (patch) | |
tree | 2fb3542b94522bbfefddada10c6ca9132052ae09 /gcc/config/i386/x86-64.h | |
parent | cf249b02ea98df08336b39543b54ff2830d87d94 (diff) | |
download | gcc-6a90d232abb6815994146ecc0ebbfc83d37f6d8a.zip gcc-6a90d232abb6815994146ecc0ebbfc83d37f6d8a.tar.gz gcc-6a90d232abb6815994146ecc0ebbfc83d37f6d8a.tar.bz2 |
re PR target/39942 (Nonoptimal code - leaveq; xchg %ax,%ax; retq)
2009-05-18 H.J. Lu <hongjiu.lu@intel.com>
PR target/39942
* config/i386/i386.c (ix86_avoid_jump_misspredicts): Replace
gen_align with gen_pad.
(ix86_reorg): Check ASM_OUTPUT_MAX_SKIP_PAD instead of
#ifdef ASM_OUTPUT_MAX_SKIP_ALIGN.
* config/i386/i386.h (ASM_OUTPUT_MAX_SKIP_PAD): New.
* config/i386/x86-64.h (ASM_OUTPUT_MAX_SKIP_PAD): Likewise.
* config/i386/i386.md (align): Renamed to ...
(pad): This. Replace ASM_OUTPUT_MAX_SKIP_ALIGN with
ASM_OUTPUT_MAX_SKIP_PAD.
From-SVN: r147671
Diffstat (limited to 'gcc/config/i386/x86-64.h')
-rw-r--r-- | gcc/config/i386/x86-64.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/gcc/config/i386/x86-64.h b/gcc/config/i386/x86-64.h index 96649af..5d6958c 100644 --- a/gcc/config/i386/x86-64.h +++ b/gcc/config/i386/x86-64.h @@ -81,6 +81,15 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see } \ } \ } while (0) +#undef ASM_OUTPUT_MAX_SKIP_PAD +#define ASM_OUTPUT_MAX_SKIP_PAD(FILE, LOG, MAX_SKIP) \ + if ((LOG) != 0) \ + { \ + if ((MAX_SKIP) == 0) \ + fprintf ((FILE), "\t.p2align %d\n", (LOG)); \ + else \ + fprintf ((FILE), "\t.p2align %d,,%d\n", (LOG), (MAX_SKIP)); \ + } #endif |