[binutils-gdb] x86/Intel: drop pointless special casing of LxS

Jan Beulich jbeulich@sourceware.org
Mon Dec 9 12:32:00 GMT 2019


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=37404387124c7abb78c3e21193572e4035f0beb5

commit 37404387124c7abb78c3e21193572e4035f0beb5
Author: Jan Beulich <jbeulich@suse.com>
Date:   Mon Dec 9 13:28:43 2019 +0100

    x86/Intel: drop pointless special casing of LxS
    
    LDS et al don't accept "word ptr" operands anyway, as per their insn
    templates. Hence there's no need to special case this here; the check
    has become dysfunctional anyway by dc2be329b950 ("i386: Only check
    suffix in instruction mnemonic").

Diff:
---
 gas/ChangeLog              | 5 +++++
 gas/config/tc-i386-intel.c | 7 +------
 2 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/gas/ChangeLog b/gas/ChangeLog
index 0e9a585..96bab96 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,8 @@
+2019-12-09  Jan Beulich  <jbeulich@suse.com>
+
+	* config/tc-i386-intel.c (i386_intel_operand): Don't special
+	case LDS et al when handling O_word_ptr.
+
 2019-12-08  Alan Modra  <amodra@gmail.com>
 
 	* testsuite/gas/aarch64/bfloat16.d: Match 32-bit and 64-bit output.
diff --git a/gas/config/tc-i386-intel.c b/gas/config/tc-i386-intel.c
index b639ab7..ff5f0c6 100644
--- a/gas/config/tc-i386-intel.c
+++ b/gas/config/tc-i386-intel.c
@@ -639,12 +639,7 @@ i386_intel_operand (char *operand_string, int got_a_float)
 
 	case O_word_ptr:
 	  i.types[this_operand].bitfield.word = 1;
-	  if ((current_templates->start->name[0] == 'l'
-	       && current_templates->start->name[2] == 's'
-	       && current_templates->start->name[3] == 0)
-	      || current_templates->start->base_opcode == 0x62 /* bound */)
-	    suffix = BYTE_MNEM_SUFFIX; /* so it will cause an error */
-	  else if (got_a_float == 2)	/* "fi..." */
+	  if (got_a_float == 2)	/* "fi..." */
 	    suffix = SHORT_MNEM_SUFFIX;
 	  else
 	    suffix = WORD_MNEM_SUFFIX;



More information about the Binutils-cvs mailing list