Linux-Toolchains Archive at
 help / color / Atom feed
* Re: [GIT PULL] x86/asm updates for v5.10
       [not found]     ` <>
@ 2020-10-12 18:59       ` Borislav Petkov
  0 siblings, 0 replies; only message in thread
From: Borislav Petkov @ 2020-10-12 18:59 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: Uros Bizjak, x86-ml, lkml, linux-toolchains

+ for clang folks...

On Mon, Oct 12, 2020 at 11:56:45AM -0700, Linus Torvalds wrote:
> On Mon, Oct 12, 2020 at 11:41 AM Uros Bizjak <> wrote:
> >
> > GCC does not distinguish between %ah and %al and it is not possible to pass "%ah" to the assembly. To access the high part of the %ax register, %h modifier has to be used in the assembly template.
> Do you know whether that's true for clang too, for example?
> Also note that even if the _asm_ might get "%al", maybe the compiler
> decided to use "%ah" for something else?
> I have memories of gcc using the high registers at some point, but it
> might have been some special case code - and it might also be very
> historical.
> [ Goes off and checks ]
> In fact, I can still find gcc generating high register code, although
> it's quite possible that yes, it's only peephole bit extract
> instruction kind of use..
> I also find that clang generates code that uses the high byte
> registers, although again, that's not from any knowledge of clang
> internals, and just by looking at my kernel image disassembly.
> So yes, it _may_ all be just peepholes, but it's not obvious that this
> is all safe.
>                    Linus


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, back to index

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <20201012110557.GK25311@zn.tnic>
     [not found] ` <>
     [not found]   ` <>
     [not found]     ` <>
2020-10-12 18:59       ` [GIT PULL] x86/asm updates for v5.10 Borislav Petkov

Linux-Toolchains Archive at

Archives are clonable:
	git clone --mirror linux-toolchains/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 linux-toolchains linux-toolchains/ \
	public-inbox-index linux-toolchains

Example config snippet for mirrors

Newsgroup available over NNTP:

AGPL code for this site: git clone