From patchwork Fri Sep 8 12:54:24 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jan Beulich X-Patchwork-Id: 137739 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:ab0a:0:b0:3f2:4152:657d with SMTP id m10csp520958vqo; Fri, 8 Sep 2023 05:56:08 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEIYriMQdE2yRnpXHP9ThxKQaW54t3Dqe7uSxySd/EI00o4OzplfDDJDpQ2eFjDKaGDa8BD X-Received: by 2002:a17:906:73de:b0:9a2:19ea:88fc with SMTP id n30-20020a17090673de00b009a219ea88fcmr1560421ejl.71.1694177767859; Fri, 08 Sep 2023 05:56:07 -0700 (PDT) Received: from server2.sourceware.org (ip-8-43-85-97.sourceware.org. [8.43.85.97]) by mx.google.com with ESMTPS id j9-20020a170906410900b0099bdfd4cc50si1283047ejk.830.2023.09.08.05.56.07 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 08 Sep 2023 05:56:07 -0700 (PDT) Received-SPF: pass (google.com: domain of binutils-bounces+ouuuleilei=gmail.com@sourceware.org designates 8.43.85.97 as permitted sender) client-ip=8.43.85.97; Authentication-Results: mx.google.com; dkim=pass header.i=@sourceware.org header.s=default header.b=hKyTB2g+; arc=fail (signature failed); spf=pass (google.com: domain of binutils-bounces+ouuuleilei=gmail.com@sourceware.org designates 8.43.85.97 as permitted sender) smtp.mailfrom="binutils-bounces+ouuuleilei=gmail.com@sourceware.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id C118D3857BB2 for ; Fri, 8 Sep 2023 12:55:55 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org C118D3857BB2 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1694177755; bh=mwsj1PpJdM+QHefl/PTFv3R92fBSZOZ8JCaPju9mBFQ=; h=Date:Subject:To:Cc:References:In-Reply-To:List-Id: List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe: From:Reply-To:From; b=hKyTB2g+CdMXiP1GWpbwXiVCDp1yv4b7hx4BUI1XodW3HXZv+c31IrV8h9m/9g9rE D4mPr9GFwjoNQix4Q1qFNFESeDTpmI5+cyF7Db1B96qPrVH520Hl27FY9sqLbP4PXg BLRbyzRsF72zt20B0dTHjydcHsgpQInaDXLqoP8M= X-Original-To: binutils@sourceware.org Delivered-To: binutils@sourceware.org Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05on2041.outbound.protection.outlook.com [40.107.22.41]) by sourceware.org (Postfix) with ESMTPS id 1B1203858412 for ; Fri, 8 Sep 2023 12:54:29 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 1B1203858412 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=MBsUW1ePEbGfaA2MJ9r/4iH2+oZDKbSGe2XvZhxAhancTkdck9Ymaa4bYR9vzi2IetTWIg9Ws8A5ysWjZvNlVFYB1cVYp+Jj2FjG6wPrKfYd18EtpBzVUh35GzhVqXCmPzBQUErfFBHguzaN26pOTc2TG8tMCeT8u5WWqwRh9JGHmBjWrtGzYadPix/FpIq24QWj/Aua0n5jfxbTFmq4FMt/wfFlJ0pKllYRY818f8S19Y4cvU+UAZK4jaoJFXVqFhqr6z/gy0Yq1912Szjhx9y1ga0eHaZWIh3xb6j9pupB47U3+Eqp1YyvegzJvuOiOhnPMhwbay3nEuFeR4lubw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=mwsj1PpJdM+QHefl/PTFv3R92fBSZOZ8JCaPju9mBFQ=; b=jzea2nrfUJSLvB7d61XnEOgtJISGqD+a6NXlC/rF7Gji2qhvqfUQbMxhqVlLamX/RaSGxVDXeP8Vy1sBf+Fst83mnurtmuY4DrmhcmTZduVKZMd1hsGZjg2TeUq8nQV0h/ftFXQFm8n2AMfHhrlKHhBf9WtFXOA1njOuLSDvkJcJUeYnTgwCr0qtCIIYrGBfj54d0y2tiAtkF0k4JWP4ukm7DkNdC1Af8X4SQwm2cfr+0xTFXqisgMVPv5dfW58sw11hu5UTMPh6h00rXZCoH6utajJPi/DDTjJLRjcmUn8Q9HNVXO2kdL+CK8jmPScc4QDihLyTOno9p6jv+4M79w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23) by AS4PR04MB9621.eurprd04.prod.outlook.com (2603:10a6:20b:4ff::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6745.34; Fri, 8 Sep 2023 12:54:26 +0000 Received: from DU2PR04MB8790.eurprd04.prod.outlook.com ([fe80::f749:b27f:2187:6654]) by DU2PR04MB8790.eurprd04.prod.outlook.com ([fe80::f749:b27f:2187:6654%6]) with mapi id 15.20.6768.029; Fri, 8 Sep 2023 12:54:26 +0000 Message-ID: <3fbfc683-d536-76e7-a66f-5b5d83459684@suse.com> Date: Fri, 8 Sep 2023 14:54:24 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.15.0 Subject: [PATCH 3/4] x86: don't play with cpu_arch_flags.cpu{,no}64 Content-Language: en-US To: Binutils Cc: "H.J. Lu" References: <830bde4f-c60e-4ab4-2ca0-86381408254f@suse.com> In-Reply-To: <830bde4f-c60e-4ab4-2ca0-86381408254f@suse.com> X-ClientProxiedBy: FR2P281CA0025.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:14::12) To DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AS4PR04MB9621:EE_ X-MS-Office365-Filtering-Correlation-Id: da7729f8-d37a-4f08-6a56-08dbb06abb5d X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: mvr2O9J3gEF62LORVZ7PcCy94Mefa6jb/RK5ZsGxPLi5JjjUXjXnTwLhBmHiEI/UmgNZFTTZdQzF0i5heqPiL6Vlfm/4a+/hN0YsyXhUvxJ6aqowFVk+iRjFNehSDa37lWZH7oN0IG7uhQjGwL8/EfRPnCOKmjIvR2QAXRWOWAVaS6tAZmC+WisLNbKl85q5r/M4eDRzsZ7KVDvGG8T2n1TyXvCmDjL3pyBMWHxM0dZ/3QrobljXbNDHhFHX90p7LgWNInzFdvXGLWHvkQTWUOgqAMvmn9GartgJFAd+wj56InUmE70eYkHbi1tjuZ1+/hVBrHbG4Fj26HtG3ainULTD/YbNyaEMfZF6wpijj8bQjCLd+BKC5btns0uJ6fnMzv0HISiNPDXlICiYd/DiEoHutcdIyNU9CTWvz/WK0TCnhtLgSRs9j3c25YUZwePkEOKTowhJSxAWXoPBHXqu/py87pgcOKrasSgOdOFY2ugiPI45ShGWVDWMbgZWoV+oY24Wn23Ua4n5SCtz6PbskNjRW764MRRPM9ij72q7xbmheByKtfs7hwqxKvYdw9MYvm7TD4vYd/A7yihhcB8G+sqAT0j69ErIYixG13CAmEMMSe+WEySfVG/FnHP3uUBkFl1avnYR40MtG69jN3X1iA== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DU2PR04MB8790.eurprd04.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(39860400002)(376002)(346002)(396003)(136003)(366004)(1800799009)(186009)(451199024)(316002)(6916009)(66556008)(66946007)(66476007)(41300700001)(478600001)(38100700002)(2906002)(31696002)(86362001)(36756003)(5660300002)(8936002)(8676002)(4326008)(26005)(83380400001)(2616005)(31686004)(6486002)(6506007)(6512007)(45980500001)(43740500002); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?bajWw5NWetTc6pW1dE9GmXB/7vJr?= =?utf-8?q?YhffUuyYJh4/RwCzA4i44n5xit+jA77KJBiBjTq6vJNNxHAcGHoyPvpWSaDslLD4M?= =?utf-8?q?egLLMoL44yLXpjwVFv8KrcjjCw7tt/IIz/Q3YSAS8krLDOLkjz9wsPi5ALJ9DUNQ6?= =?utf-8?q?abooQDpSYjMNMehp0O9WJAizxT8Yf4Y5KIXI/LMoVw5Q4ECz90DKTBzEC5ES+KKtA?= =?utf-8?q?U3qO+0KekFlRLn8jYu9WZ7qLNjwlGUVpjfleypFX4oyS3WYF6JQHcdgCHuSsrV+fe?= =?utf-8?q?/wMkW0Hl+w/OJXKh6szLvQh20XCLMp7I8djm3fQfg8YiENXB8Z2vObmV2br7qZmZL?= =?utf-8?q?QyMuW8OKYvD+riKVW6wlxLhVRCIqGEXHRaiIXMS3euP+nXF0QbVGl34FICo3ttwog?= =?utf-8?q?4cPOzGutFMA3r/GQZ93vBr1yNeA5kbADMXXN97t2ltbaFtoGLGAP1BdHRelZQerJG?= =?utf-8?q?N8uY/8Umojm/RCWS9m5FJkDU5BfsnKZ9qaUmguaCKDzv6/bZU5inzbWyvSoczTFJa?= =?utf-8?q?q7o6wgAYe2Th2jLiIHjl/Srm5kxL/Oqb4mBGPHEGjpGCfAJhBQXkum3zpLzHtTgbt?= =?utf-8?q?8pP0LZfgJnCzke5jTIsvx8g0TqOJT9mdnq4asRDCNoLADIKRf3HGggCiVZzkB0AUu?= =?utf-8?q?TwX+ITg4J3cENAqLqTaRk7ppGl5G0pj2wZ+YUneM0hvflbkH6cdaI8kSgnmqSeSUm?= =?utf-8?q?ZcJQzX8PX/xaFAAFF8PLYU2/qW1toOaDfkWpAgA38YXmPaZnQqKUM9FZfe1DYJx++?= =?utf-8?q?FfJccr45uOvfbeUwE4FQgTlV6lCsw9z0QE+DpOM5odwqcZUyELhFDoNes496NJz5I?= =?utf-8?q?QxpSQQHt52NhlaJlPVAUxkQ5YbqaH+P27LomAvAhnu50ilZHo/umgh5mOpHL3h5uh?= =?utf-8?q?pUE2kiAjYO8xLUNbe/IOpEqn6oVUKiW9o21H2lV0dB0tDqQjFCRxc3XLTZGAUpS5h?= =?utf-8?q?u5VTNAb3vBE2JzdKMdIBm4rH5ofGD+8oY3qRO1XmiKs/s2F9NtRL84VF5zj1yechd?= =?utf-8?q?umd4kxibYLmX5u8knY/wLj67eqg30fjEK19TAFZltbL9Ux+RMgDlMUm0jDp1QEJuP?= =?utf-8?q?q+S4NBp6iYNSlWT2fU0Cq4Bd2akTbMHfev61467ldVRWy9coMRpmjWe43UL0HPM7U?= =?utf-8?q?dmE7+C2HWmuobhbuvNn7JOeotwLvyy982f2F5GBDPb9oNPUfJPzb6jFRCaZF1X19R?= =?utf-8?q?5Q2aH620WRYFVN8Ix88nyUKx2x3YbW7UGHqi+UZVwHs7U6wkonYCFl8CQ4Hfo1KxS?= =?utf-8?q?Y90F1H8OSbQUqZZwJwLSWNqD7BdGAk3xptBQdb4DXKX0UyECnmFoCSECYoKj8xCnT?= =?utf-8?q?bG1Ra185/d976PtqrHD4vsHVjVbk5BI+nHxnmi1RJGVgX8adWl5qtIE091s5tPAxX?= =?utf-8?q?n1bQL31/FRcuybNHJx8lmRA+1cQ+JODYAhIH/6yyO+/UB0bFvrNx0MzU7fjZQfJ0g?= =?utf-8?q?VVvLdEw/+un1MNl+LfJsSgq8eBoYTnHT5B0J7GQnaTRHbFsLVDtiXMOF5YI34FDlH?= =?utf-8?q?1Jus3vup+U9P?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: da7729f8-d37a-4f08-6a56-08dbb06abb5d X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Sep 2023 12:54:26.0369 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 70qT5R57OuOi3TjkZbiNk+x+7CBjVQI+Q5v5P+K5pDu6gmUFc6sAa8NkKZXeukKBJ8yZ7ja8civDYg5kVWjnvg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS4PR04MB9621 X-Spam-Status: No, score=-3026.7 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, KAM_NUMSUBJECT, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_PASS, SPF_PASS, TXREP autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: binutils@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Binutils mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Jan Beulich via Binutils From: Jan Beulich Reply-To: Jan Beulich Errors-To: binutils-bounces+ouuuleilei=gmail.com@sourceware.org Sender: "Binutils" X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1776474146693087024 X-GMAIL-MSGID: 1776474146693087024 A total four places exists where we set the two bits from flag_code, but these values are never used. The two bits are evaluated only when coming from insn templates. Drop these assignments. Also make obvious that cpu_flags_check_cpu64() is only ever used against insn templates. --- a/gas/config/tc-i386.c +++ b/gas/config/tc-i386.c @@ -1785,10 +1785,11 @@ cpu_flags_equal (const union i386_cpu_fl } static INLINE int -cpu_flags_check_cpu64 (i386_cpu_attr a) +cpu_flags_check_cpu64 (const insn_template *t) { - return !((flag_code == CODE_64BIT && a.bitfield.cpuno64) - || (flag_code != CODE_64BIT && a.bitfield.cpu64)); + return flag_code == CODE_64BIT + ? !t->cpu.bitfield.cpuno64 + : !t->cpu.bitfield.cpu64; } static INLINE i386_cpu_flags @@ -1883,7 +1884,7 @@ static int cpu_flags_match (const insn_template *t) { i386_cpu_flags x = cpu_flags_from_attr (t->cpu); - int match = cpu_flags_check_cpu64 (t->cpu) ? CPU_FLAGS_64BIT_MATCH : 0; + int match = cpu_flags_check_cpu64 (t) ? CPU_FLAGS_64BIT_MATCH : 0; x.bitfield.cpu64 = 0; x.bitfield.cpuno64 = 0; @@ -2626,16 +2627,6 @@ update_code_flag (int value, int check) } flag_code = (enum flag_code) value; - if (flag_code == CODE_64BIT) - { - cpu_arch_flags.bitfield.cpu64 = 1; - cpu_arch_flags.bitfield.cpuno64 = 0; - } - else - { - cpu_arch_flags.bitfield.cpu64 = 0; - cpu_arch_flags.bitfield.cpuno64 = 1; - } stackop_size = '\0'; } @@ -2652,8 +2643,6 @@ set_16bit_gcc_code_flag (int new_code_fl flag_code = (enum flag_code) new_code_flag; if (flag_code != CODE_16BIT) abort (); - cpu_arch_flags.bitfield.cpu64 = 0; - cpu_arch_flags.bitfield.cpuno64 = 1; stackop_size = LONG_MNEM_SUFFIX; } @@ -2895,16 +2884,6 @@ set_cpu_arch (int dummy ATTRIBUTE_UNUSED free (cpu_sub_arch_name); cpu_sub_arch_name = NULL; cpu_arch_flags = cpu_unknown_flags; - if (flag_code == CODE_64BIT) - { - cpu_arch_flags.bitfield.cpu64 = 1; - cpu_arch_flags.bitfield.cpuno64 = 0; - } - else - { - cpu_arch_flags.bitfield.cpu64 = 0; - cpu_arch_flags.bitfield.cpuno64 = 1; - } cpu_arch_isa = PROCESSOR_UNKNOWN; cpu_arch_isa_flags = cpu_arch[flag_code == CODE_64BIT].enable; if (!cpu_arch_tune_set) @@ -2950,16 +2929,6 @@ set_cpu_arch (int dummy ATTRIBUTE_UNUSED free (cpu_sub_arch_name); cpu_sub_arch_name = NULL; cpu_arch_flags = cpu_arch[j].enable; - if (flag_code == CODE_64BIT) - { - cpu_arch_flags.bitfield.cpu64 = 1; - cpu_arch_flags.bitfield.cpuno64 = 0; - } - else - { - cpu_arch_flags.bitfield.cpu64 = 0; - cpu_arch_flags.bitfield.cpuno64 = 1; - } cpu_arch_isa = cpu_arch[j].type; cpu_arch_isa_flags = cpu_arch[j].enable; if (!cpu_arch_tune_set) @@ -5741,7 +5710,7 @@ parse_insn (const char *line, char *mnem && current_templates && current_templates->start->opcode_modifier.isprefix) { - if (!cpu_flags_check_cpu64 (current_templates->start->cpu)) + if (!cpu_flags_check_cpu64 (current_templates->start)) { as_bad ((flag_code != CODE_64BIT ? _("`%s' is only supported in 64-bit mode")