aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/i386/x86-64.h
diff options
context:
space:
mode:
authorH.J. Lu <hongjiu.lu@intel.com>2009-05-18 17:21:13 +0000
committerH.J. Lu <hjl@gcc.gnu.org>2009-05-18 10:21:13 -0700
commit6a90d232abb6815994146ecc0ebbfc83d37f6d8a (patch)
tree2fb3542b94522bbfefddada10c6ca9132052ae09 /gcc/config/i386/x86-64.h
parentcf249b02ea98df08336b39543b54ff2830d87d94 (diff)
downloadgcc-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.h9
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