This is the mail archive of the mailing list for the GCC project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: PATCH: PR target/39942: Nonoptimal code - leaveq; xchg %ax,%ax; retq

On Fri, May 15, 2009 at 7:34 AM, Jakub Jelinek <> wrote:
> On Fri, May 15, 2009 at 07:08:21AM -0700, H.J. Lu wrote:
>> ix86_avoid_jump_misspredicts use "align" pattern to pad to a 16byte
>> boundary. "align" pattern uses ASM_OUTPUT_MAX_SKIP_ALIGN. For Linux,
>> it
> See my
> patch, I think ASM_OUTPUT_MAX_SKIP_ALIGN should be fixed anyway
> to not do the extra .p2align 3 if MAX_SKIP is less than 7.
> ASM_OUTPUT_MAX_SKIP_PAD doesn't hurt, though I think it only rarely
> will make a difference. ?Anyway, I think it makes no sense to require
> it duplicated in all the headers, just define the new macro
> in linux.h and x86-64.h and in just use ASM_OUTPUT_MAX_SKIP_PAD
> if it exists, otherwise fall back to ASM_OUTPUT_MAX_SKIP_ALIGN.

Here is the updated patch.  OK for trunk?

2009-05-15  H.J. Lu  <>

	PR target/39942
	* config/i386/i386.c (ix86_avoid_jump_misspredicts): Replace
	gen_align with gen_pad.

	* config/i386/ (align): Renamed to ...
	(pad): This.  Replace ASM_OUTPUT_MAX_SKIP_ALIGN with

	* config/i386/i386.h (ASM_OUTPUT_MAX_SKIP_PAD): New.
	* config/i386/x86-64.h (ASM_OUTPUT_MAX_SKIP_PAD): Likewise.

Attachment: gcc-pad-3.patch
Description: Text document

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]