This is the mail archive of the gcc-patches@gcc.gnu.org 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 <jakub@redhat.com> 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 http://gcc.gnu.org/ml/gcc-patches/2009-05/msg00702.html
> 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 i386.md 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?


-- 
H.J.
---
2009-05-15  H.J. Lu  <hongjiu.lu@intel.com>

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

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

	* 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]