From patchwork Fri Feb 16 16:42:15 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paul Iannetta X-Patchwork-Id: 202238 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:7300:c619:b0:108:e6aa:91d0 with SMTP id hn25csp637461dyb; Fri, 16 Feb 2024 08:42:43 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCXfUOh9t15ZZ7DuoI8odrhJfY11LIJbaRMlaYwmbZjZidartMoNArIiqG29wdeoakgmL85b5GX7M/y9CoxLgkimYGIeWA== X-Google-Smtp-Source: AGHT+IHEkauztnzF+uM08EF3EnNVQQ5gSO8S0egt0RaX4uqN23Mh1Ya7sSMtSmE5ETSCu78GeAO8 X-Received: by 2002:a05:622a:1007:b0:42d:b20d:d6fc with SMTP id d7-20020a05622a100700b0042db20dd6fcmr5958121qte.3.1708101762695; Fri, 16 Feb 2024 08:42:42 -0800 (PST) Received: from server2.sourceware.org (server2.sourceware.org. [2620:52:3:1:0:246e:9693:128c]) by mx.google.com with ESMTPS id m9-20020ac86889000000b0042c2147b5d1si159902qtq.474.2024.02.16.08.42.42 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 16 Feb 2024 08:42:42 -0800 (PST) Received-SPF: pass (google.com: domain of binutils-bounces+ouuuleilei=gmail.com@sourceware.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) client-ip=2620:52:3:1:0:246e:9693:128c; Authentication-Results: mx.google.com; dkim=pass header.i=@kalrayinc.com header.s=sec-sig-email header.b=R0VEsBLl; dkim=fail header.i=@kalrayinc.com header.s=selector1 header.b=b1Qm0XFv; arc=fail (previous hop failed); spf=pass (google.com: domain of binutils-bounces+ouuuleilei=gmail.com@sourceware.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) smtp.mailfrom="binutils-bounces+ouuuleilei=gmail.com@sourceware.org"; dmarc=pass (p=QUARANTINE sp=NONE dis=NONE) header.from=kalrayinc.com Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 4756C3857B81 for ; Fri, 16 Feb 2024 16:42:42 +0000 (GMT) X-Original-To: binutils@sourceware.org Delivered-To: binutils@sourceware.org Received: from smtpout42.security-mail.net (smtpout42.security-mail.net [85.31.212.42]) by sourceware.org (Postfix) with ESMTPS id CD99D385800C for ; Fri, 16 Feb 2024 16:42:29 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org CD99D385800C Authentication-Results: sourceware.org; dmarc=pass (p=quarantine dis=none) header.from=kalrayinc.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=kalrayinc.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org CD99D385800C Authentication-Results: server2.sourceware.org; arc=fail smtp.remote-ip=85.31.212.42 ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1708101751; cv=fail; b=Ft0Ml9+LvmSj9G7BFSQhm1NmeuRwwLPQWu5nYy1VkClMyA0Wp04qh2h1a3hcV6Vhih9U4wgkY+c7UymnTqUfjZsOaemCQ1ow262ARozNxZL8Ve/NqRLhvA1/k9VWYlxlnM7ZWCDryXQ++jvHj7D+ABZ4YEIwEIOQEkV97vlu2oA= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1708101751; c=relaxed/simple; bh=vJTFvXqqfipcUqoXGdsSxCfFgSuJHv9IZfBV2CPKDNo=; h=DKIM-Signature:DKIM-Signature:From:To:Subject:Date:Message-ID: MIME-Version; b=dFe7SD6esmiM3+g5YvlMXHPF2Ket2+EM+g4sNDTc1A2wO6yDMVocck7DTd1jdG1nc2PoK3VKQPI9WR57XtM42cDd1pqYAbM4ep0Diy2ANqMIGXfSH1AZ936jKJ2NfC/dYJCsUdIU5tP+pouJ6hET+oz5jMmNQJ6EVZFRvRinvGs= ARC-Authentication-Results: i=2; server2.sourceware.org Received: from localhost (localhost [127.0.0.1]) by fx302.security-mail.net (Postfix) with ESMTP id EAD5962D077 for ; Fri, 16 Feb 2024 17:42:28 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kalrayinc.com; s=sec-sig-email; t=1708101749; bh=vJTFvXqqfipcUqoXGdsSxCfFgSuJHv9IZfBV2CPKDNo=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=R0VEsBLlTUh7v4kNSGUwlvGms1LWcGVuL3xtskKwXAmx/wCKyrlPw/+BluQSU1ynT 2HSH3rTtYsxuECovLCMmFnaaY08khdAdqVkjq6OyxNCWDMfYt8BKY8jRGWxUeBhfXN /gNBmxl5fkSxjvZNon1YhNk+WZwEEh7VACTj56Js= Received: from fx302 (localhost [127.0.0.1]) by fx302.security-mail.net (Postfix) with ESMTP id CC2B562C9FB for ; Fri, 16 Feb 2024 17:42:28 +0100 (CET) Received: from FRA01-MR2-obe.outbound.protection.outlook.com (mail-mr2fra01on0100.outbound.protection.outlook.com [104.47.25.100]) by fx302.security-mail.net (Postfix) with ESMTPS id 6429162CF3F for ; Fri, 16 Feb 2024 17:42:28 +0100 (CET) Received: from MR1P264MB2482.FRAP264.PROD.OUTLOOK.COM (2603:10a6:501:33::22) by PR1P264MB3405.FRAP264.PROD.OUTLOOK.COM (2603:10a6:102:1a::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7292.29; Fri, 16 Feb 2024 16:42:27 +0000 Received: from MR1P264MB2482.FRAP264.PROD.OUTLOOK.COM ([fe80::bc00:fb42:2cd9:a178]) by MR1P264MB2482.FRAP264.PROD.OUTLOOK.COM ([fe80::bc00:fb42:2cd9:a178%4]) with mapi id 15.20.7292.029; Fri, 16 Feb 2024 16:42:27 +0000 X-Virus-Scanned: E-securemail Secumail-id: ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=dkJ0c5yRKVJURTV2086EUbt0Z+0nujC7AHmu43/w81L9fY7aJg9FCu9dcu4NFuaYbg8v4PYxWJp8GG4ec5db37VwJeDUqRTy7GW0fv4litqpifrI0FagK6zjzkblkgpoiIJRii4rvAIJnXYTZcmcS/3ojDurmLk9rnTX/vqif0WKkkfRRMs9viaip3OknWsWin31alNrwLchxUEi9TFG8zOnleNTOtu/RHaROx5mE6pkZa4mqDHuS7dz+GnVv9n/5YjsdPvlZJIxMMxw+x/XnqiRc1OigIGM1WB3ShJXXQMz9qmzeCy3a8eKlJDQfbyO4+NWuuv1h0CmS9EoyHXEwA== 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=4KN9zEZbFubHENLvTJQeOxDswqNAO7CLoCN4Yh+Oe4A=; b=dkrhxtjMGohgCTcQGjPuzT4zTF0OYLCip52lpTq/P4NHIZfAvq3bvcP/YCWogQyh5rpFKwSUd8t0g0AyPHNqCnMYH+DUOnyjmloS2Gx6TJ3WD+0YL5087tbD+1lPH/K/dWA8I2qMsZvAdQFWrK3FqBCZGWLRJwch77gUhLV/SNyWRUc8QIZMNbRQzPGZPA1U6CZ480J5p7xJLEDlqyyxW1txHRYCzI4vEMnxDzq3nBB6Gc5hfmKI3UhmloRCAyYOPTzOVmboTIO7sRMC1mHcWoFb0cpUpXD054LTj1m9eLnIrx50ra4SHeOShHrMjHsHlLiWB35m/J+ZqpYWshtapg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=kalrayinc.com; dmarc=pass action=none header.from=kalrayinc.com; dkim=pass header.d=kalrayinc.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kalrayinc.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=4KN9zEZbFubHENLvTJQeOxDswqNAO7CLoCN4Yh+Oe4A=; b=b1Qm0XFvEJci+3uv3jEWAIJWy+P+XzrJXpzQVDUtJLY3Nn0Im+0OXXjbYOcZ1/Tuup3tukC1DGbOIlCzstmOfV8cQQCxVjbUlTUY7nmup865UkoZ9/MxtVbjRSXftcYXBHglMsJrAoSMJRLiOAClVBMkkn3WeSj3kAPy1CawBlGYCAYCzxa5gyI18Vo0hDyIvVXX82pPhjKMbZGcAvxyAagiKs/jFW/jSrjJ3SZrwqdga9jLLf7ge5FiDK2rls65Gbdts/8tlcta2O6p1f0+SBbYPwesOfiHS5wSuK+Xv61YxShcuw1nZ8RA4YVpNglsqwHllgdAaA88E7EGQeMDUA== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=kalrayinc.com; From: Paul Iannetta To: binutils@sourceware.org Cc: Paul Iannetta Subject: [PATCH 1/7] kvx: gas: fix the detection of negative powers of 2 Date: Fri, 16 Feb 2024 17:42:15 +0100 Message-ID: <20240216164221.24165-2-piannetta@kalrayinc.com> X-Mailer: git-send-email 2.35.1.500.gb896f729e2 In-Reply-To: <20240216164221.24165-1-piannetta@kalrayinc.com> References: <20240216164221.24165-1-piannetta@kalrayinc.com> X-ClientProxiedBy: AM8P189CA0004.EURP189.PROD.OUTLOOK.COM (2603:10a6:20b:218::9) To MR1P264MB2482.FRAP264.PROD.OUTLOOK.COM (2603:10a6:501:33::22) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MR1P264MB2482:EE_|PR1P264MB3405:EE_ X-MS-Office365-Filtering-Correlation-Id: a4fdb791-2ddb-42ff-ec4b-08dc2f0e4290 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 45xGWlAx/eVq+pCDYoejUDdmgnekEnaV914rzXu8IbQCue2LMJ8HnuD/eNc3M6rMiy30LzpvvKfONbjB8HyWLPFPPoGtBoacC6X5gHVuzKNOv+/vDV/J0G8HWiP+Ihn3okex2QnsesRwlE6lqoxgKTy0FipPbRklxGwEL0cTj1tgUHpwtBcnCp9YwplEGwsQFciU9RKZ6inGQ/uf+Df8S5X9C/uTlIdJyKkRbaqZSFYW+tP3Ow+4LxP4NXnQ7Kcuno1D0Eg+78Hs8eJUS+s2AygUWlLSM7gsPTrR4ybLAyKuRbPjgiSUau+NJVdZD+jlPHrvVjiz6XUVxI/jg6Zeq4NqEIWPo+O0/I93AVFcLTjhXsOVCwqmqX3qpQuvF09ENKH3rK1n1TZWSPGN6ul8/l+WfjjAgiIVlJbZDNSraNm6b+hCN90miTAP46ZWdgbb1yn5Srr0FwDtzbuBAirV9/tbRcV3H4d2glEpxY4YM3aoTf9RFE8m9X3XvTETcNylto4cBnupQYOl10V5EsZNoK48v2r9lmyyXN/dVcIwwTQRsdD4RoGT8SXqmB/hpEy9 X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MR1P264MB2482.FRAP264.PROD.OUTLOOK.COM; PTR:; CAT:NONE; SFS:(13230031)(366004)(376002)(39850400004)(136003)(346002)(396003)(230922051799003)(451199024)(64100799003)(1800799012)(186009)(66556008)(66476007)(66946007)(6916009)(4326008)(2906002)(8676002)(83380400001)(8936002)(107886003)(38100700002)(86362001)(36756003)(316002)(6506007)(6486002)(478600001)(6666004)(6512007)(1076003)(2616005)(41300700001)(26005)(5660300002); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 7+ZpXjdjjUmTJnl8XJ0zBPMcvYabgJWIOS+nE90u6KlYdIlcnK2HBxSS5Eta3yqFNsg5l5MHEiBHcdifcC2yo6mtnmCkHy+xbKVTKMkpoHEkKPs7T2nzcQrKXAQ/DoGZQnUykcn98IyMhVOHzTtaN5pJkiWVjaN0TrtWGTfoKwhx3Pr/L2HwNGdarROenp7Ww00rjjUWLmaH6Ozd9hZv36sX/LqVymui9FKhRBIn/3ShHMBuxN/bnjKlo2nqXUh0rgmW3SFDEQjVH/2FmeN1G3FbGqnqTlbJqKGeq6WDa19TAvWhAX22MfSBRmU2urIU3ko+qut3TSkAdTUXOk2I7C8tbJC6aOsBK44WSIf7NaxbGjmQTQ1N4wJ+0tT75DrSJaLdrgMSdqMNw466fZlOAfjI/UY1DhzClVmrTr1AFfhv7bhady21LPmhkxKGQujrzZSpNiW2TXMio0dIQ7f7zJtLVUElfTwZhexJJhWObx0oyyhPwap2wgDMiJKDrvNsojCVMWA7Pbxp3XokapJz0sO8WZQ2k6eCnHadfdK+U/7lWKuO7487c3Db6HhXyQeV6ND4wxXR0L7uAC0b9UGOzmLYGWDoUBGvC1b64Zv96zd/SbfVsjyK/RrZzRDAdc3Mo3om96rRwBXcRMeiQu7mpsV5vS0P84rid4kcf6SnvP4Xb0/EBXvkfQbW+ek4gkviZceUH8b8O3tki7MMtAUIRDFoSxh9XHXwUowYAd3b95McXQFRiNRgWb+4A62tZe53fr1Fz1IcdCgHrlwHwv6vBurntocMgqm0IKSY+dqb7AkmDGLqKeP/8EYrGbdOOK8qJ0SdHATKCt7s2vhp2AxTCXXiygkrpXEakSXKFSrY9cwvZ0NAtiJSegNxlFqrXPDjW0WXcY/fm8kS1BSP3cFpa2csHwiNo1UXD3sZCD7TRHvRewagDJ5T1VdhD/ddMxta u604BlkTPjPsjdfRKChBk1Yr0x1jAlmchkM0at2faSEt/DblRogQ5eS4LC0/pWp4v9NPl6Za0iTgZXJJO3fWK4R+4u/ItweL/sLdtQoU8ZoQ4yMIlH17oeuLZaKCViL+9qGGZ/+mtrtYrUK9BMuqcezNW7e3/tY3vE3bB3+c1BMXAJS7yeznr3etoJ18OwCJGEcfWxGFdFqaV3Wn/66fWAuOeVLXLerCCSEWF5b4vhGszeilg/WWxNKPb01kSZm1/nHM9qYIuOoT/H0MZycXfW0Us1BCGCmBXzge1BuQFysWVNDtJHCqZREJ3Uu5kH+r23iVc4EJjrb+c59guEXf/aQIcNrE8KzgfilYjPtOp+prjnbrgOJVfZsxvLUsIsOZ4GeOKMQhXaPWJPZVH/IXOyQ8yQG+OHBY7mRDKKzL4A6iBe+rBOx16gQLmWTcG77yUepu5hFUd7JxqjeWpZbT9zcJaJEVCNP7y8MLmWfKSLDniiFUZrqQHKnztJ9NM4jQgiTyZOAdPhV6qvTPqT0zJPlKm+ewXD7s4zZyYADRdPQwwH/M0r1f6moRH58LcLwLFyK6eLJ6L8fPF5T/QVS9Zm4eeoLTG/oniJgKraa3WvIGMq/wQVQUGy8XA4qQfFEEKPnncIaF6dGVzIMhEY4IKg== X-OriginatorOrg: kalrayinc.com X-MS-Exchange-CrossTenant-Network-Message-Id: a4fdb791-2ddb-42ff-ec4b-08dc2f0e4290 X-MS-Exchange-CrossTenant-AuthSource: MR1P264MB2482.FRAP264.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Feb 2024 16:42:27.4105 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 8931925d-7620-4a64-b7fe-20afd86363d3 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: P8JcwEAl5tfatB0Cox63fWRJJU9NiN9LZyk6THVSQ8JmeyvGq6aEQ7/PQ1NKlgHoONHtZNHMa7J75qqpA2V+Jg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PR1P264MB3405 X-ALTERMIMEV2_out: done X-Spam-Status: No, score=-11.5 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, KAM_NUMSUBJECT, RCVD_IN_DNSWL_LOW, SPF_HELO_NONE, SPF_PASS, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham 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: , Errors-To: binutils-bounces+ouuuleilei=gmail.com@sourceware.org X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1791074514121325367 X-GMAIL-MSGID: 1791074514121325367 The detection of negative powers of 2 was wrong and could lead to well-formed bundles ending up taking more syllables than necessary. gas/ChangeLog: * config/kvx-parse.c (get_token_class): Use the signed value. * testsuite/gas/kvx/np2-detection.d: New test. * testsuite/gas/kvx/np2-detection.s: New test. --- gas/config/kvx-parse.c | 2 +- gas/testsuite/gas/kvx/np2-detection.d | 14 ++++++++++++++ gas/testsuite/gas/kvx/np2-detection.s | 5 +++++ 3 files changed, 20 insertions(+), 1 deletion(-) create mode 100644 gas/testsuite/gas/kvx/np2-detection.d create mode 100644 gas/testsuite/gas/kvx/np2-detection.s diff --git a/gas/config/kvx-parse.c b/gas/config/kvx-parse.c index 5cfb1fb676c..0825b182319 100644 --- a/gas/config/kvx-parse.c +++ b/gas/config/kvx-parse.c @@ -525,7 +525,7 @@ get_token_class (struct token_s *token, struct token_classes *classes, int insn_ : strtoull (tok + (tok[0] == '-') + (tok[0] == '+'), NULL, 0)); int64_t val = uval; int64_t pval = val < 0 ? -uval : uval; - int neg_power2_p = val < 0 && !(uval & (uval - 1)); + int neg_power2_p = val < 0 && !(pval & (pval - 1)); unsigned len = pval ? 8 * sizeof (pval) - __builtin_clzll (pval) : 0; while (class[cur].class_id != -1 && ((unsigned) (class[cur].sz < 0 diff --git a/gas/testsuite/gas/kvx/np2-detection.d b/gas/testsuite/gas/kvx/np2-detection.d new file mode 100644 index 00000000000..b612277f6fd --- /dev/null +++ b/gas/testsuite/gas/kvx/np2-detection.d @@ -0,0 +1,14 @@ +#as: -march=kv3-1 +#source: np2-detection.s +#objdump: -d + +.*\/np2-detection.o: file format elf64-kvx + + +Disassembly of section .text: + +0000000000000000 <.text>: + 0: 00 80 00 e1 addd \$r0 = \$r0, -512 \(0xfffffe00\) + 4: 00 00 00 e0 make \$r0 = 0 \(0x0\) + 8: c0 ff 00 e0 c0 ff 00 e0 ff ff df 97 make \$r0 = 9223372034707292159 \(0x7fffffff7fffffff\) + 14: ff ff ff 93 ff ff df 9f ff ff ff 1b make \$r0 = 9223372034707292159 \(0x7fffffff7fffffff\);; diff --git a/gas/testsuite/gas/kvx/np2-detection.s b/gas/testsuite/gas/kvx/np2-detection.s new file mode 100644 index 00000000000..dfc3c264101 --- /dev/null +++ b/gas/testsuite/gas/kvx/np2-detection.s @@ -0,0 +1,5 @@ + addd $r0 = $r0, -512 + make $r0 = 0x7fffffff7fffffff + make $r0 = 0x7fffffff7fffffff + make $r0 = 0 +;;