Re: Immediate values

H. Peter Anvin
2009-09-24T14:11:33Z

Jason Baron wrote:
>
> right we've proposed an alternative to the immediate values, which I've
> been calling 'jump label', here:
>
> http://marc.info/?l=linux-kernel&m=125200966226921&w=2
>
> The basic idea is that gcc, 4.5 will have support for an 'asm goto'
> construct which can refer to c code labels. Thus, we can replace a nop
> in the code stream with a 'jmp' instruction to various branch targets.
>
> In terms of a comparison between the two, IMO, I think that the syntax
> for the immediate variables can be more readable, since it just looks
> like a conditional expression.
>
> The immediate values do a 'mov', 'test' and then a jump, whereas jump
> label can just do a jump. So in this respect, I believe jump label can
> be more optimal. Additinally, if we want to mark sections 'cold' so they
> don't impact the istruction cache, the jump label already has the labels
> for doing so. Obviously, a performance comparison would be interesting
> as well.
>

Direct jumps should at least theoretically be able to have better
performance, but it would still be nice to have measurements of both.

-hpa