This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [committed, PATCH] Remove Disp16|Disp32 from 64-bit direct branches


>>> On 11.05.15 at 23:23, <hongjiu.lu@intel.com> wrote:
> Disp16 and Disp32 aren't supported by direct branches in 64-bit mode.
> This patch removes them from 64-bit direct branches.

See the recent discussion regarding callw - these can certainly have
16-bit displacements on AMD CPUs. And while disassembly may just
get "disturbed" by getting this wrong, assembly will produce bad
code if you don't account for both cases (or refuse to assemble
such mnemonics if they would require size overrides to be added).

Apart from that I wonder why you do this for CALL and JMP, but not
for Jcc, JCXZ, JRCXZ, LOOP, and LOOPcc.

But first of all - please don't bias x86 binutils towards only supporting
Intel hardware.

Jan


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]