*_ALIGN_MAX_SKIP macros

Ian Lance Taylor iant@google.com
Wed Jul 28 05:45:00 GMT 2010


DJ Delorie <dj@redhat.com> writes:

>  JUMP_ALIGN_MAX_SKIP
>  LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP
>  LOOP_ALIGN_MAX_SKIP
>  LABEL_ALIGN_MAX_SKIP
>
> None of these macros take any parameters, but for optimal performance
> on RX, it's key to match the max_skip with the size of the following
> opcode - there's a penalty only if you branch to an opcode which spans
> fetch groups, but it's the same penalty as running a NOP opcode, so
> you don't want to add nops if you don't have to.
>
> Can we extend those macros to take the label as a parameter?  From
> that, the backend could find the next actual insn.

Seems fine to me.  Looks like none of the existing targets define them
directly anyhow.

If you do this, though, turn them into target hooks.  They are currently
fields in target_flag_state.

Ian



More information about the Gcc mailing list