[LLVMdev] [PATCH] x86/asm: avoid mnemonics without type suffix

Linus Torvalds torvalds at linux-foundation.org
Sun Jul 14 12:29:04 PDT 2013


On Sun, Jul 14, 2013 at 12:23 PM, Jeremy Fitzhardinge <jeremy at goop.org> wrote:
>
> It looks like that if the base address isn't aligned then neither is the
> generated access, so you could get a protection fault if it overlaps a
> page boundary, which is a semantic rather than purely operational
> difference.

You could also get AC fault for the btq if the thing is only long-aligned.

But yes, I checked the Intel manuals too, and the access size is
actually not well-specified (even the 16-bit case says "may", I
think), so both the page-fault and the alignment fault are purely
theoretical. And i'm too lazy to bother trying the (easily testable)
alignment fault case in practice, since (a) nobody cares and (b)
nobody cares.

In the (unlikely) situation that somebody actually cares, that
somebody should obviously then have to specify "btl" vs "btq".
Assuming the hardware cares, which is testable but might be
micro-architecture dependent.

                         Linus



More information about the llvm-dev mailing list