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).