9.16.16 AMD64 ISA vs. Intel64 ISA
There are some discrepancies between AMD64 and Intel64 ISAs.
- For ‘movsxd’ with 16-bit destination register, AMD64
supports 32-bit source operand and Intel64 supports 16-bit source
operand.
- For far branches (with explicit memory operand), both ISAs support
32- and 16-bit operand size. Intel64 additionally supports 64-bit
operand size, encoded as ‘ljmpq’ and ‘lcallq’ in AT&T syntax
and with an explicit ‘tbyte ptr’ operand size specifier in Intel
syntax.
- ‘lfs’, ‘lgs’, and ‘lss’ similarly allow for 16-
and 32-bit operand size (32- and 48-bit memory operand) in both ISAs,
while Intel64 additionally supports 64-bit operand size (80-bit memory
operands).