From 6a90d232abb6815994146ecc0ebbfc83d37f6d8a Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Mon, 18 May 2009 17:21:13 +0000 Subject: re PR target/39942 (Nonoptimal code - leaveq; xchg %ax,%ax; retq) 2009-05-18 H.J. Lu 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 --- gcc/config/i386/i386.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'gcc/config/i386/i386.md') diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md index 198b59d2e47..2e2880220b8 100644 --- a/gcc/config/i386/i386.md +++ b/gcc/config/i386/i386.md @@ -15519,16 +15519,16 @@ (set_attr "length_immediate" "0") (set_attr "modrm" "0")]) -;; Align to 16-byte boundary, max skip in op0. Used to avoid +;; Pad to 16-byte boundary, max skip in op0. Used to avoid ;; branch prediction penalty for the third jump in a 16-byte ;; block on K8. -(define_insn "align" +(define_insn "pad" [(unspec_volatile [(match_operand 0 "" "")] UNSPECV_ALIGN)] "" { -#ifdef ASM_OUTPUT_MAX_SKIP_ALIGN - ASM_OUTPUT_MAX_SKIP_ALIGN (asm_out_file, 4, (int)INTVAL (operands[0])); +#ifdef ASM_OUTPUT_MAX_SKIP_PAD + ASM_OUTPUT_MAX_SKIP_PAD (asm_out_file, 4, (int)INTVAL (operands[0])); #else /* It is tempting to use ASM_OUTPUT_ALIGN here, but we don't want to do that. The align insn is used to avoid 3 jump instructions in the row to improve -- cgit v1.2.1