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]

Re: More curefull aligning of branches


> On Fri, Jul 27, 2001 at 03:56:10PM +0200, Jan Hubicka wrote:
> > Additionally it takes care to avoid jump alignments in jumps that
> > are rarely executed or where the predecesor is likely to be in
> > the cache anyway.
> 
> It's not handled properly at the moment, but some processors
> (e.g. Alpha EV6) suffer a several cycle penalty if the target
> of an indirect jump (e.g. switch statement) is not 16-byte aligned.
I am thinking about this and one idea I get is the macro
FORCED_LABEL_ALIGNMENT (label, insn)
that is called for each incomming edge with the last insn of the source
BB.

On Alpha it can examine if the insn is computed jump and align properly.
Similary it can handle other obscurities quite generally.

I was originally also concerned about setting the alignment to 1,
but I've noticed, that -Os is already doing that.

Honza


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