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.
This commit is contained in:
Cui, Lili
2024-05-22 14:38:32 +08:00
parent 559f8726e8
commit b757e3c1ac

View File

@@ -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