From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 1386) id 372C53858C41; Fri, 17 Nov 2023 10:21:31 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 372C53858C41 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable From: Jan Beulich To: bfd-cvs@sourceware.org Subject: [binutils-gdb] x86: fold conditionals in check_long_reg() X-Act-Checkin: binutils-gdb X-Git-Author: Jan Beulich X-Git-Refname: refs/heads/master X-Git-Oldrev: 742b55c7364c2cc9fbbec98e0db2adac498c5ab8 X-Git-Newrev: d9a1b71137d206f1ff73eee25423cf6d22814495 Message-Id: <20231117102131.372C53858C41@sourceware.org> Date: Fri, 17 Nov 2023 10:21:31 +0000 (GMT) X-BeenThere: binutils-cvs@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Binutils-cvs mailing list List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 17 Nov 2023 10:21:31 -0000 https://sourceware.org/git/gitweb.cgi?p=3Dbinutils-gdb.git;h=3Dd9a1b71137d2= 06f1ff73eee25423cf6d22814495 commit d9a1b71137d206f1ff73eee25423cf6d22814495 Author: Jan Beulich Date: Fri Nov 17 11:20:25 2023 +0100 x86: fold conditionals in check_long_reg() =20 Simplify the code follow ing what check_{,q}word_reg() already do. This the also eliminates a stale comment talking about a warning when an error is raised. While there, correct a similarly stale comment in check_qword_reg() while there. Diff: --- gas/config/tc-i386.c | 18 +++++------------- 1 file changed, 5 insertions(+), 13 deletions(-) diff --git a/gas/config/tc-i386.c b/gas/config/tc-i386.c index 6dcdccbccd6..8d11955a88b 100644 --- a/gas/config/tc-i386.c +++ b/gas/config/tc-i386.c @@ -8112,8 +8112,10 @@ check_long_reg (void) i.suffix); return 0; } - /* Error if the e prefix on a general reg is missing. */ - else if (i.types[op].bitfield.word + /* Error if the e prefix on a general reg is missing, or if the r + prefix on a general reg is present. */ + else if ((i.types[op].bitfield.word + || i.types[op].bitfield.qword) && (i.tm.operand_types[op].bitfield.class =3D=3D Reg || i.tm.operand_types[op].bitfield.instance =3D=3D Accum) && i.tm.operand_types[op].bitfield.dword) @@ -8123,16 +8125,6 @@ check_long_reg (void) i.suffix); return 0; } - /* Warn if the r prefix on a general reg is present. */ - else if (i.types[op].bitfield.qword - && (i.tm.operand_types[op].bitfield.class =3D=3D Reg - || i.tm.operand_types[op].bitfield.instance =3D=3D Accum) - && i.tm.operand_types[op].bitfield.dword) - { - as_bad (_("incorrect register `%s%s' used with `%c' suffix"), - register_prefix, i.op[op].regs->reg_name, i.suffix); - return 0; - } return 1; } =20 @@ -8161,7 +8153,7 @@ check_qword_reg (void) i.suffix); return 0; } - /* Warn if the r prefix on a general reg is missing. */ + /* Error if the r prefix on a general reg is missing. */ else if ((i.types[op].bitfield.word || i.types[op].bitfield.dword) && (i.tm.operand_types[op].bitfield.class =3D=3D Reg