[Bug target/39942] Nonoptimal code - leaveq; xchg %ax,%ax; retq
jakub at gcc dot gnu dot org
gcc-bugzilla@gcc.gnu.org
Sat May 16 07:12:00 GMT 2009
------- Comment #47 from jakub at gcc dot gnu dot org 2009-05-16 07:12 -------
Subject: Bug 39942
Author: jakub
Date: Sat May 16 07:12:02 2009
New Revision: 147607
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=147607
Log:
PR target/39942
* final.c (label_to_max_skip): New function.
(label_to_alignment): Only use LABEL_TO_ALIGNMENT if
CODE_LABEL_NUMBER <= max_labelno.
* output.h (label_to_max_skip): New prototype.
* config/i386/i386.c (ix86_avoid_jump_misspredicts): Renamed to...
(ix86_avoid_jump_mispredicts): ... this. Don't define if
ASM_OUTPUT_MAX_SKIP_ALIGN isn't defined. Update comment.
Handle CODE_LABELs with >= 16 byte alignment or with
max_skip == (1 << align) - 1.
(ix86_reorg): Don't call ix86_avoid_jump_mispredicts if
ASM_OUTPUT_MAX_SKIP_ALIGN isn't defined.
Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/i386/i386.c
trunk/gcc/final.c
trunk/gcc/output.h
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39942
More information about the Gcc-bugs
mailing list