Re: [PATCH 7/8] i386: bitops: Kill needless usage of __asm____volatile__

From: Trent Piepho
Date: Mon Jul 23 2007 - 17:07:00 EST


On Mon, 23 Jul 2007, Jeremy Fitzhardinge wrote:
> Trent Piepho wrote:
> > gcc also tries to count the number of instructions, to guess how large in
> > bytes the asm block is, as it could make a difference for near vs short
> > jumps, etc.
> >
>
> How does it do that? By looking for \n, ';', etc?

Yes:

Some targets require that GCC track the size of each instruction used in
order to generate correct code. Because the final length of an `asm' is
only known by the assembler, GCC must make an estimate as to how big it
will be. The estimate is formed by counting the number of statements in
the pattern of the `asm' and multiplying that by the length of the longest
instruction on that processor. Statements in the `asm' are identified by
newline characters and whatever statement separator characters are
supported by the assembler; on most processors this is the ``;''
character.
-
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/