[PATCH] x86 Intel syntax
Jan Beulich
JBeulich@novell.com
Mon Aug 2 10:45:00 GMT 2004
Patch update attached. Rebuilt and tests re-run on i686-pc-linux-gnu and
x86_64-unknown-linux-gnu.
>>>> Alan Modra <amodra@bigpond.net.au> 29.07.04 08:30:57 >>>
>On Fri, Jul 23, 2004 at 03:22:50PM +0200, Jan Beulich wrote:
>> This is an update to the earlier posted x86 (dis)assembler Intel
syntax
>
>You'd find patches get reviewed quicker if you break them up..
Please
>also add 'p' to your diff options.
I try to do so where possible. But I also try to keep together what (to
me) seems to belong together...
>> (intel_float_operand): Add fourth return value indicating math
control
>> operations. Make classification more precise.
>
>I'd prefer if you left intel_float_operand as is, and moved the new
>classification tests into intel_e09_1, which I believe is the only
>place you use the new value.
No, it's really used in two places (parse_insn and intel_e09_1, with
the former perhaps even being the more important one).
>> * gas/i386/prefix.[sd]: Remove illegal 'fstsw %eax' (which
should
>> actually be rejected, but currently isn't due to the way the
>> accumulator is beaing dealt with.
>
>Please don't. We want to ensure gas continues to accept this insn,
>since some versions of gcc emit it.
Undone. A slight change to the opcode tables was necessary instead.
>> * i386.h (sldx_Suf): Remove.
>> (FP, l_FP, sl_FP, x_FP): Don't imply IgnoreSize.
>
>This looks wrong too. Please check that something like
>
> .code16
> fldl %st(1)
>
>does not use a size prefix.
Indeed, a couple more IgnoreSize additions (fld, fst, fcom) additions
were necessary.
>> /* Upper case letters in the instruction names here are macros.
>> 'A' => print 'b' if no register operands or suffix_always is
true
>> 'B' => print 'b' if suffix_always is true
>> + 'C' -> print 's' or 'l'
>
>This isn't what 'C' does. Wrong doco is worse than no doco.
Extended comment.
>> 'E' => print 'e' if 32-bit form of jcxz
>> 'F' => print 'w' or 'l' depending on address size prefix (loop
insns)
>> 'H' => print ",pt" or ",pn" branch hint
>> + 'I' => honor following macro letter even in Intel mode
>> + 'J' => print 'l'
>
>Same here.
Dito for 'I'. 'J' seems fine (because all of the other descriptions
also don't make special mention of not applying to Intel mode.
Jan
-------------- next part --------------
A non-text attachment was scrubbed...
Name: binutils-mainline-x86-intel-syntax.patch
Type: application/octet-stream
Size: 203201 bytes
Desc: not available
URL: <https://sourceware.org/pipermail/binutils/attachments/20040802/7a282779/attachment.obj>
More information about the Binutils
mailing list