[binutils-gdb] X86: Remove "i.rex" to eliminate extra conditional branch

Lili Cui cuilili@sourceware.org
Wed May 22 07:26:45 GMT 2024


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

commit b757e3c1acbec5173f5ca04eb0cc7cfad7c7cb7e
Author: Cui, Lili <lili.cui@intel.com>
Date:   Wed May 22 14:38:32 2024 +0800

    X86: Remove "i.rex" to eliminate extra conditional branch
    
    Resulting code will do better without the extra conditional branch.
    Remove "i.rex" to eliminate extra conditional branch.
    
    gas/ChangeLog:
    
            * config/tc-i386.c (establish_rex): Remove i.rex.

Diff:
---
 gas/config/tc-i386.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gas/config/tc-i386.c b/gas/config/tc-i386.c
index dc6d8bb9398..cb3d464e97a 100644
--- a/gas/config/tc-i386.c
+++ b/gas/config/tc-i386.c
@@ -4308,7 +4308,7 @@ static void establish_rex (void)
 	&& (i.op[first].regs->reg_flags & RegRex64) != 0)
        || (i.types[last].bitfield.class == Reg && i.types[last].bitfield.byte
 	   && (i.op[last].regs->reg_flags & RegRex64) != 0))
-      && !i.rex && !is_apx_rex2_encoding () && !is_any_vex_encoding (&i.tm))
+      && !is_apx_rex2_encoding () && !is_any_vex_encoding (&i.tm))
     i.rex |= REX_OPCODE;
 
   /* For REX/REX2/EVEX prefix instructions, we need to convert old registers


More information about the Binutils-cvs mailing list