From 95dfdd858c97198ee5f2573c49d0769d1ef60e68 Mon Sep 17 00:00:00 2001 From: Jan Beulich Date: Fri, 27 Jan 2023 09:23:12 +0100 Subject: [PATCH] x86: drop dead SSE2AVX-related code All (there are just two) SSE2AVX templates with %xmm0 as first operand also specify VEX3SOURCES. Hence there's no need for an "else" to the respective if(), and the if() itself can become an assertion. --- gas/config/tc-i386.c | 30 ++++++++---------------------- 1 file changed, 8 insertions(+), 22 deletions(-) diff --git a/gas/config/tc-i386.c b/gas/config/tc-i386.c index be691403984..985984c71eb 100644 --- a/gas/config/tc-i386.c +++ b/gas/config/tc-i386.c @@ -7965,29 +7965,15 @@ process_operands (void) if (i.tm.operand_types[0].bitfield.instance == Accum && i.tm.operand_types[0].bitfield.xmmword) { - if (i.tm.opcode_modifier.vexsources == VEX3SOURCES) - { - /* Keep xmm0 for instructions with VEX prefix and 3 - sources. */ - i.tm.operand_types[0].bitfield.instance = InstanceNone; - i.tm.operand_types[0].bitfield.class = RegSIMD; - goto duplicate; - } - else - { - /* We remove the first xmm0 and keep the number of - operands unchanged, which in fact duplicates the - destination. */ - for (j = 1; j < i.operands; j++) - { - i.op[j - 1] = i.op[j]; - i.types[j - 1] = i.types[j]; - i.tm.operand_types[j - 1] = i.tm.operand_types[j]; - i.flags[j - 1] = i.flags[j]; - } - } + gas_assert (i.tm.opcode_modifier.vexsources == VEX3SOURCES); + /* Keep xmm0 for instructions with VEX prefix and 3 + sources. */ + i.tm.operand_types[0].bitfield.instance = InstanceNone; + i.tm.operand_types[0].bitfield.class = RegSIMD; + goto duplicate; } - else if (i.tm.opcode_modifier.operandconstraint == IMPLICIT_1ST_XMM0) + + if (i.tm.opcode_modifier.operandconstraint == IMPLICIT_1ST_XMM0) { gas_assert ((MAX_OPERANDS - 1) > dupl && (i.tm.opcode_modifier.vexsources -- 2.30.2