Re: [patch 06/10] Immediate Value - i386 Optimization

From: Jeremy Fitzhardinge
Date: Tue Jul 03 2007 - 19:10:44 EST


Chuck Ebbert wrote:
On 07/03/2007 04:18 PM, H. Peter Anvin wrote:
One could, though, use an indirect jump to achieve, if not as good, at
least most of the effect:

movl $<patchable>,<reg>
jmp *<reg>


Yeah, but there's this GCC bug:

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22448

You can't even dereference labels in an ASM statement.

I was told in absolute terms that any use of &&label other than to pass it to goto was not supported, and would not be supported.

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29305

Seems that passing to an asm() falls into the same class of problem I had. I think the underlying problem is that if the code containing the label is in an inlined function or unrolled loop, the reference can't be resolved properly anyway.

J
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/