From 3d0738af2a6dac3c729126f2ceb3af6529da7348 Mon Sep 17 00:00:00 2001 From: Jan Beulich Date: Wed, 6 Jul 2022 15:39:37 +0200 Subject: [PATCH] x86: fold two switch() statements in match_template() I don't see why two of them were introduced (very long ago) using similar fall-through logic. --- gas/config/tc-i386.c | 19 +++---------------- 1 file changed, 3 insertions(+), 16 deletions(-) diff --git a/gas/config/tc-i386.c b/gas/config/tc-i386.c index 542f5cdf2d0..31b10d2e605 100644 --- a/gas/config/tc-i386.c +++ b/gas/config/tc-i386.c @@ -6763,22 +6763,7 @@ match_template (char mnem_suffix) switch (t->operands) { case 5: - overlap4 = operand_type_and (i.types[4], - operand_types[4]); - /* Fall through. */ - case 4: - overlap3 = operand_type_and (i.types[3], - operand_types[3]); - /* Fall through. */ - case 3: - overlap2 = operand_type_and (i.types[2], - operand_types[2]); - break; - } - - switch (t->operands) - { - case 5: + overlap4 = operand_type_and (i.types[4], operand_types[4]); if (!operand_type_match (overlap4, i.types[4]) || !operand_type_register_match (i.types[3], operand_types[3], @@ -6787,6 +6772,7 @@ match_template (char mnem_suffix) continue; /* Fall through. */ case 4: + overlap3 = operand_type_and (i.types[3], operand_types[3]); if (!operand_type_match (overlap3, i.types[3]) || ((check_register & 0xa) == 0xa && !operand_type_register_match (i.types[1], @@ -6801,6 +6787,7 @@ match_template (char mnem_suffix) continue; /* Fall through. */ case 3: + overlap2 = operand_type_and (i.types[2], operand_types[2]); if (!operand_type_match (overlap2, i.types[2]) || ((check_register & 5) == 5 && !operand_type_register_match (i.types[0], -- 2.30.2