[binutils-gdb] x86: drop redundant i.operands checks from output_disp()

Jan Beulich jbeulich@sourceware.org
Fri Feb 14 09:49:04 GMT 2025


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

commit 9754d1a75059281d9ce9b510d8146c5e0ce2152c
Author: Jan Beulich <jbeulich@suse.com>
Date:   Fri Feb 14 10:47:50 2025 +0100

    x86: drop redundant i.operands checks from output_disp()
    
    The opcode space, major opcode, and - where applicable - opcode
    extension checks fully qualify the insns we're after; operand matching
    has been done far earlier, so wrong operand counts cannot occur here.

Diff:
---
 gas/config/tc-i386.c | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/gas/config/tc-i386.c b/gas/config/tc-i386.c
index d648158b19c..9cfc4df1e10 100644
--- a/gas/config/tc-i386.c
+++ b/gas/config/tc-i386.c
@@ -12943,17 +12943,14 @@ output_disp (fragS *insn_start_frag, offsetT insn_start_off)
 		  && (i.rm.mode == 2
 		      || (i.rm.mode == 0 && i.rm.regmem == 5))
 		  && ((space == SPACE_BASE
-		       && i.operands == 1
 		       && i.tm.base_opcode == 0xff
 		       && (i.rm.reg == 2 || i.rm.reg == 4))
 		      || ((space == SPACE_BASE
 			   || space == SPACE_0F38
 			   || space == SPACE_MAP4)
-			  && i.operands == 2
 			  && i.tm.base_opcode == 0x8b)
 		      || ((space == SPACE_BASE
 			   || space == SPACE_MAP4)
-			  && i.operands >= 2
 			  && (i.tm.base_opcode == 0x85
 			      || (i.tm.base_opcode
 				  | (i.operands > 2 ? 0x3a : 0x38)) == 0x3b))))


More information about the Binutils-cvs mailing list