Re: Intel vs AMD x86-64

From: Timothy Miller
Date: Wed Feb 25 2004 - 12:13:36 EST




H. Peter Anvin wrote:
Followup to: <403CCBE0.7050100@xxxxxxxxxxxxxx>
By author: Timothy Miller <miller@xxxxxxxxxxxxxx>
In newsgroup: linux.dev.kernel


Nakajima, Jun wrote:

No, it's not a problem. Branches with 16-bit operand size are not useful
for compilers.

From AMD's documentation, I got the impression that 66H caused near branches to be 32 bits in long mode (default is 64).

So, Intel makes it 16 bits, and AMD makes it 32 bits?

Either way, I don't see much use for either one.



Both claims are pretty bogus. Shorter branches are quite nice for
intraprocedural jumps; it reduces the cache footprint.

I think we were talking about absolute branches when referring to "near branches". For absolute branches, having a 32-bit address restricts you to the lower 4G of the address space.

For long mode on AMD64, default operand size for _relative_ branch is 32 bits. I get the impression that the size of the relative branch operand is handled differently from the "segment default word size".


-
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/