[PATCH 2/6] x86-64: Intel64 adjustments for conditional jumps

Jan Beulich jbeulich@suse.com
Wed Mar 11 08:59:39 GMT 2020
On 09.03.2020 13:13, H.J. Lu wrote:
> On Mon, Mar 9, 2020 at 12:11 AM Jan Beulich <jbeulich@suse.com> wrote:
>> On 06.03.2020 16:35, H.J. Lu wrote:
>>> On Fri, Mar 6, 2020 at 6:53 AM Jan Beulich <jbeulich@suse.com> wrote:
>>>> Well, do you have an alternative suggestion, also in line with
>>>> JMP then? (See the somewhat related post-commit-message remark
>>>
>>> Since assembly doesn't require `q' suffix, can we drop it from disassembler?
>>
>> Why would we not be in the position to do so? But if we do,
>> can we then please settle on doing so uniformly (i.e. for
>> all near branch insns), i.e. in the above snippet e.g. not
>> just CALL and JMP, but also RET?
> 
> Let's drop 'q' suffix on them.

Obviously this then also affect PUSH/POP. There's an anomaly with
32-bit code - with a memory operand, these get an 'L' suffix
appended, whereas with an immediate or segment register operand
(where operand size is in principle as ambiguous) they don't.
Since the assembler accepts them (intentionally) silently without
suffix, I'd prefer to adjust the memory operand form too even
outside of 64-bit mode (in effect meaning to drop the 'U' macro,
instead using the same one as for other PUSH/POP). Thoughts?

Jan



More information about the Binutils mailing list