[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <Pine.LNX.4.58.0707231405400.5535@shell2.speakeasy.net>
Date: Mon, 23 Jul 2007 14:06:45 -0700 (PDT)
From: Trent Piepho <xyzzy@...akeasy.org>
To: Jeremy Fitzhardinge <jeremy@...p.org>
cc: Satyam Sharma <ssatyam@....iitk.ac.in>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
David Howells <dhowells@...hat.com>,
Nick Piggin <nickpiggin@...oo.com.au>, Andi Kleen <ak@...e.de>,
Andrew Morton <akpm@...ux-foundation.org>,
Linus Torvalds <torvalds@...ux-foundation.org>
Subject: Re: [PATCH 7/8] i386: bitops: Kill needless usage of __asm__
__volatile__
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@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists