diff options
author | Jan Beulich <jbeulich@suse.com> | 2019-10-07 08:38:01 +0200 |
---|---|---|
committer | Jan Beulich <jbeulich@suse.com> | 2019-10-07 08:38:01 +0200 |
commit | d241b91073165f99fe404d9b38c65f03835ecaf4 (patch) | |
tree | d164c9261674f7bbe5204dbad4893879c5f60716 /gas/config/tc-i386.c | |
parent | 847d518374be1c73b812e312a26341115d3f6f5a (diff) | |
download | gdb-d241b91073165f99fe404d9b38c65f03835ecaf4.zip gdb-d241b91073165f99fe404d9b38c65f03835ecaf4.tar.gz gdb-d241b91073165f99fe404d9b38c65f03835ecaf4.tar.bz2 |
x86/Intel: correct MOVSD and CMPSD handling
First and foremost the EsSeg attribute was misplaced for CMPSD. Then
both it and MOVSD were lacking Dword on both of their operands.
Finally string insns with multiple operands and requiring use of ES:
had the wrong operand number reported in the diagnostic.
Diffstat (limited to 'gas/config/tc-i386.c')
-rw-r--r-- | gas/config/tc-i386.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/gas/config/tc-i386.c b/gas/config/tc-i386.c index 5d783b4..b9c3124 100644 --- a/gas/config/tc-i386.c +++ b/gas/config/tc-i386.c @@ -6198,7 +6198,7 @@ check_string (void) { as_bad (_("`%s' operand %d must use `%ses' segment"), i.tm.name, - mem_op + 1, + intel_syntax ? i.tm.operands - mem_op : mem_op + 1, register_prefix); return 0; } @@ -6214,7 +6214,7 @@ check_string (void) { as_bad (_("`%s' operand %d must use `%ses' segment"), i.tm.name, - mem_op + 2, + intel_syntax ? i.tm.operands - mem_op - 1 : mem_op + 2, register_prefix); return 0; } |