x86/Intel: correct MOVSD and CMPSD handling
authorJan Beulich <jbeulich@suse.com>
Mon, 7 Oct 2019 06:38:01 +0000 (08:38 +0200)
committerJan Beulich <jbeulich@suse.com>
Mon, 7 Oct 2019 06:38:01 +0000 (08:38 +0200)
commitd241b91073165f99fe404d9b38c65f03835ecaf4
treed164c9261674f7bbe5204dbad4893879c5f60716
parent847d518374be1c73b812e312a26341115d3f6f5a
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.
12 files changed:
gas/config/tc-i386.c
gas/testsuite/gas/i386/i386.exp
gas/testsuite/gas/i386/intel-cmps.s [new file with mode: 0644]
gas/testsuite/gas/i386/intel-cmps32.d [new file with mode: 0644]
gas/testsuite/gas/i386/intel-cmps64.d [new file with mode: 0644]
gas/testsuite/gas/i386/intel-movs.s
gas/testsuite/gas/i386/intel-movs32.d
gas/testsuite/gas/i386/intel-movs64.d
gas/testsuite/gas/i386/string-bad.l
opcodes/ChangeLog
opcodes/i386-opc.tbl
opcodes/i386-tbl.h