From patchwork Fri Feb 16 16:42:14 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paul Iannetta X-Patchwork-Id: 20496 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:7300:c619:b0:108:e6aa:91d0 with SMTP id hn25csp637456dyb; Fri, 16 Feb 2024 08:42:42 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCUotRWkxnUeC6GiYTwYVwyb3K4ptEqbDAUtvP8/hIPNIUq4HkijGil07UvW86N9hBAicQQnfMz3UmSRLgudJrxNZVQ27A== X-Google-Smtp-Source: AGHT+IFPUpFmagCXCu1d7+sfIVA3RInBmKc58oTwbBKzMbxTYLp+EQHGqPwNv/OB7JKzZglzSK01 X-Received: by 2002:a05:622a:5ce:b0:42d:b2f2:8b56 with SMTP id d14-20020a05622a05ce00b0042db2f28b56mr5790191qtb.36.1708101762359; 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 j14-20020ac85c4e000000b0042dbe590af7si234012qtj.114.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=GFsekgjT; dkim=fail header.i=@kalrayinc.com header.s=selector1 header.b=sy4krBDj; 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 0B85F3857C76 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 86A38385800B for ; Fri, 16 Feb 2024 16:42:29 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 86A38385800B 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 86A38385800B 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=aN0wMAGIVk+lK9XdOmW4lUNuQHimrhoFB00uCqQ/cm4/jiQPK8i1IAPhLMJCu0TZW81akLrqQPb3g7CpU1FR3Mloqi/GifT2iqD7eNZQHlea/5fXFeOzPBqAP/xLqj/ZN8MnY8XQKBvsLkdT0yn7OsCwP9Yc3RuEfdmEOvijfcU= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1708101751; c=relaxed/simple; bh=nGX3lYK092Klz9EjBXbU3wnLByV33PHJPrBBtPi0ZTc=; h=DKIM-Signature:DKIM-Signature:From:To:Subject:Date:Message-ID: MIME-Version; b=Jkj1ka8pEX46S3qlE8F66IZbZ9MRr5uoCE2zT3pGcE4EhR8rjYCchcfZvPboyvIlfm+Q8oSkisGo828ZM9ERFZrY0EF1IELfaPJ7XNfWWwH7Vxe5qHtrAScpPEax69vP7V+bDuA66lpi2ReIX+oeZcqGhIfx88DCCjMiRRBCwvM= 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 44CD362CEF9 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=1708101748; bh=nGX3lYK092Klz9EjBXbU3wnLByV33PHJPrBBtPi0ZTc=; h=From:To:Cc:Subject:Date; b=GFsekgjT2KDwf30yHxhg3CP0y8g8YkIOUsGKeCG6yCkI1kAvvtYdiMW3QE7/iYD6p vVeviiaABmyCUc5j5OmF9+ZDW1wQzmu8t3CR4GxKRYTebxQKLMYZyB3gawzWd09ZJY btInhHiVR3ec1toScFwR3O+CQZNSTKQK04KGUXKM= Received: from fx302 (localhost [127.0.0.1]) by fx302.security-mail.net (Postfix) with ESMTP id 27CED62D68F for ; Fri, 16 Feb 2024 17:42:28 +0100 (CET) Received: from FRA01-MR2-obe.outbound.protection.outlook.com (mail-mr2fra01on0101.outbound.protection.outlook.com [104.47.25.101]) by fx302.security-mail.net (Postfix) with ESMTPS id AD8C862D167 for ; Fri, 16 Feb 2024 17:42:27 +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:26 +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:26 +0000 X-Virus-Scanned: E-securemail Secumail-id: ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=HpMy/u1ovtbQtkUbJgTodU6ctcoNpJ0pcngH+XtEv884FEDcUBLs52zKWXxb1NeEm8R2nkgTLRzCs23Cn219C6u8wbWBuAYDBVRRiLreyCSTmaKwVQe69NSgGyw/bxDfCzp5vxQQo4rzorAAwkfSKl9qONm8uPY6K3orer3YXUlVjKNs0WXBGQGkjPWLM8OCx67svQIfDSQxf2DgRezQ+YNqPCIBQe3nMvCRFyLEwggl+u1JWlAeBoVlj2Ki7qyNuVv3AV5voXCuaRCYd+K6Gh1l/YO5YKTWGfzbvD9k+H4hKwjhPC99zFYr57Pex7m+6qxeFGcPJ18410lwr0ZZLg== 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=8CB4LTTqx0RHr9CBXZk8wbcpS0M8Thv/t8sy8nWxXMs=; b=Di8h7Z+5XVWCxRX95dnaU5K+7F+0uqCgTKNqgD8pDXDFhr83t97FhZvc52KmT//TBYF6VO5zzsIe/whPEbvnWLveX3KTkhb0nZWrqnbTtMRZ2jrvx2BCVG4dQkCMGQ/qZ24RIfuodJc52SxvC6z7BDCo8BRGcFyG8IlJxm4CYmJh2f84fIS8s6umBtrf9I2+99Y9qgXV6ejyF6xsdTdCVF6Ww7N2+e1i83NOcyQz3cRK4vXbzt/W92vILN2GZGLz+4jtegPQLIiQofUulNmiee5ZAM5oxibRDbrZmVTIs7utMvsi5yScvd13EjSgj9gmiDxz6PiLpADiD2xcViox3Q== 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=8CB4LTTqx0RHr9CBXZk8wbcpS0M8Thv/t8sy8nWxXMs=; b=sy4krBDjBhG+S5sylGAa7dmVxFUuhCCBMQrUf6nrFfbG2HpcdQs42G1VIcSm4/csYEEORJsDsNBBt/ePqIm84P/UAlpSk/D30MXPNER7Xv6BjGhSUt+h0ve2TR3t5QXVIX/XOTLx1OKZ9mrDIl0w6UBaR5mGxEpzgfYHpQiJGyHD8fLHJrqKJQoCcy0+kZFN5NkO5fS0aphMcpu8IY8+ESKjhYt80+m2DArUkZJ2JQU62KMTcT5J7oRbKfTBvlyzTSrPPJYHfIAjF05vhIMzYvBn6xhXooIxqj+dQMmERVGknM+bqVthNY1C7ImdTPDQEaVliZythDSY2GJO6aTfUw== 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 0/7] kvx: Miscellaneous changes since last August Date: Fri, 16 Feb 2024 17:42:14 +0100 Message-ID: <20240216164221.24165-1-piannetta@kalrayinc.com> X-Mailer: git-send-email 2.35.1.500.gb896f729e2 X-ClientProxiedBy: AM8P189CA0021.EURP189.PROD.OUTLOOK.COM (2603:10a6:20b:218::26) 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: 5ddc25c1-d8a3-4daf-83d8-08dc2f0e41cc X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: efHKwbLUxT/FbnBpS2PLiD7a1wV0BiESv7h8FWN1FWsY8CRghM/TRvXItJhEPlmTdkFkf1U1LlPXebh9PZBzONAKTmlhVNnO/NgJhN55hZ5hptMx1ejmWyJaYJbZPJ0B2ow9hvMzgboJbBjr7sAOdkYAKmGCWA+E1A5MsIQpwWu55+8ocAM0VfsO0QjUGr/TvNZKyv9MotMwItEt7BGtt1Oa7PNk1ujmGS+sDbdJDqMIShRKairhHCwApEcF8FSMy6MVmF4AqLH1LRdVGwpj+NdI9IUxcdJDUqqXq/aOnqlj0/L2GC42KPQeT/5jQRuZ+oMlLblBqJZqzLBeIV7skYhN96sBSw1qHcEmhl01qNm8u428NhTNPEtccU+p2kVGYziOPo4abVtPcMqrjmoCurYDFVZ412yXtaXcs36H7FyyxbNk29OUCNWfirgGLt27ILScrLTF4bs7c1o/QBif9kn6AUa+Mr3L5Y+u6PuUaJp6SeojkT7oYD/hUdNdahgvtO0AMZm82dYChPWGobWnt8FcSS2tjZI5JxPfexgRBBg+miEs8l3cfQG0ubgIbAyp 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)(230273577357003)(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: HSf8enCIu+JnWM2BJAoOBg+fFkWoswBO4cXCt50q5ZpVCAmvC2N1TP/We+/fgrU8iej9LcWQ7uQuGv8PY17ObjN+eBiF4+tmno7RKBGeoNfj+3IjBvw5+ldvMWhodYpwJe9kPPz4BbLYW0wwArJ/cg4DMdLbplVFRDIhIFtzvjNEUYudLD1J1NyFX4OIBOsCBX+rZQNAeRLmp2Z5wxjEYNc3LbA2/5iOPjNuaIS4lSc1NMw9FTxZI84+lZh5zU8jc4Ih5+Hl7wdoFp5b0P740N2jVKgA0FyzDwG3RMZI8+BYxZg4zs2IZHTXK/wSt3fw4f4QHD43QFmJ6LY7KO/7MYjWdAvQg/5i/X/oKfGUEYuQ/qP5Vr1frCpm6VAaZJbu19xgq4YyBq/T3odcW/Xbv4sDMY8lYmL0+ijnKsDHddp/b8faPXMFwI4W+KONXcaUIDaLy3vy6iQW9ZhnK/wTyzjRhKDpjUYJlgxhMoWo4xkgtuI6h86wQ3wNapapKUcbequvYAJZt51NWRZvFppeKZSiygSAfjRaCtj1hsWABW6DJaRv8dGdJcgscxtuUx9zfUPcmdsVnUowu/i8SkGw62WIdiEOaM3n1mUx7vhVb2zVulOz1/eETbc6vxoMPxnZ1eF9k6k13KsbitbhAaMYcHvluzreYeJn6UMZNJUDblzHRwyL8mz2Rrg+TN+FzJGBw97XaZKVkfcSs8boZAmylU9mZFN6LLZx1i2eqJqoegZcH4BAjQyXjrKq1f9Mg0vjkJSm9tb/4h1fdkqT2w/AMScn0n3277tktt5kBCzpdefs9d0bhgF0DeKGPGIMrbo5SVCXg7ODZAsACF+DxJrol1qzw1TdX64jgMaoPFbu2aX7aGVsECKx+XzKMrvwIrd2wZLnAC8MFZ0Ze2dIG6Kiz9uyB51smsHrjQ4HK3tkr62/sZEbLLubxrm3MBNnXtaP b5ZErOGngjrYUOrSiqsQezNI1o9pEPSMblOdsT9MDmvxuaUFPnFdJ0u4158DYhPBKPsk28DlF2LndtmQJIOnOERu4N1UDNXD47udwFt7jgVNbdqIF4IBedtdVt87CDfaE3ZqpucRKokONf6tX7kuAqqDhcqV07IXVGwYQiTd1gBcGqRwkiqxZRsvXO+4C1+eBIsB/fYuWlJNAnX77sK/lvrCjSRVn/7gNZS0qyZPdnLH2LS0shMsOCXZapfZnYgolpBuAPzmJY2wTIoZcyPOpGrwlhMr0sAKsnGvAkTwUIBWNQrtxe8qtpgV5wDSRLgM4kLQpX8FDs/MfJi/U14/ocpxqeG/Rmmbk1ofdX3xSCm0KEli1sH25nNpWeWthETXsUpJfJINdi4iWNR+NSWDSFdwizVJV+IxaZVLSovdfIeUQyOipQ2d47MaHNZ4LvCVs1hnkWRJsN2Smb5Tag8H38zNMSBPRyOwcFDGqNZPkZEAkrXyOjoitwLvtoZgO3/NkaN4Wl7HQ4ZLkKv90KqXcaHUoZ9z9vVfJzkBnbhHeYF+nd7gQ2eHXeveS4yXkFjz80wpl6Tjcs5Fv5knpa+8ky2voS3OAND4oUCXhfQK4WEAGxULxoL5Z5M9SyCUcjrJp+RfE8eq+7p0We7BiIgrsQ== X-OriginatorOrg: kalrayinc.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5ddc25c1-d8a3-4daf-83d8-08dc2f0e41cc 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:26.1888 (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: PqeBm05co3CILGNiGCvQWGxOfVa4MO7tyIV40H2zNU6gOs4+cUYjXGsbW6B+2OLufJBahG74HMBRlauaAW108Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PR1P264MB3405 X-ALTERMIMEV2_out: done X-Spam-Status: No, score=-5.7 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, 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: 1791074513730794927 X-GMAIL-MSGID: 1791074513730794927 Hi, Here is the stack of patches on our end since last August. The detection of powers of two did not lead to wrong code but could result in using up too many ressources for a correctly-dimensioned bundle. The lexer/parser had been a bit lenient and ignored trailings tokens we made it stricter in preparation to moving the .@ modifier directly on the operand it modifies rather than on the opcode. This would theoretically allow more than .@ per instruction. This won't happen since the ISA and the assembler for our KV3-1 and KV3-2 won't evolve any further after this patch series but we could use so in our upcoming KV4-1. Warning: If you have code with the .@ modifier, you should carefully check that you are before or after the patches "Improve lexing & parsing" and "gas: move the splat modifier to the immediate". Without those patches, "addd $r0 = $r1, 1234.@" is wrongly assembled into addd $r0 = $r1, 1234" because the trailing .@ is silently ignored. We renamed mnemonics containing or/xor to ior/eor to disambiguate the meaning of the instructions, especially so, or coprocessor has all its mnemonic prefixed by an "x". And telling apart which kind of "or" it was, was getting tedious. The .@ modification and or renaming are changes to the syntax only and the encoding is left unchanged. Conditional moves were missing and .@ variant and aliases $r14r15.{lo,hi} were missing as well, hence they were added. I tested it on i386, 32 and 64-bits variant with targets kvx-{cos,linux} and --enable-targets=all. Ok, for master? Unless an explicit Ok, or any remarks I'll intend to merge those by the end of next week. Regards, Paul Paul Iannetta (7): kvx: gas: fix the detection of negative powers of 2 kvx: Improve lexing & parsing kvx: gas: fix leak kvx: gas: move the splat modifier to the immediate kvx: gas: rename: or -> ior, xor -> eor kvx: enable magic immediates for integer multiply-accumulate and CMOVE* kvx: gas: missing aliases for $r14r15 in assembler. gas/config/kvx-parse.c | 55 +- gas/config/kvx-parse.h | 17603 ++++---- gas/config/tc-kvx.c | 1 + gas/testsuite/gas/kvx/kv3-1-insns-32.d | 210 +- gas/testsuite/gas/kvx/kv3-1-insns-32.s | 210 +- gas/testsuite/gas/kvx/kv3-1-insns-64.d | 210 +- gas/testsuite/gas/kvx/kv3-1-insns-64.s | 210 +- gas/testsuite/gas/kvx/kv3-2-insns-32.d | 252 +- gas/testsuite/gas/kvx/kv3-2-insns-32.s | 252 +- gas/testsuite/gas/kvx/kv3-2-insns-64.d | 252 +- gas/testsuite/gas/kvx/kv3-2-insns-64.s | 252 +- gas/testsuite/gas/kvx/kv4-1-insns-32.d | 2028 +- gas/testsuite/gas/kvx/kv4-1-insns-32.s | 1800 +- gas/testsuite/gas/kvx/kv4-1-insns-64.d | 2028 +- gas/testsuite/gas/kvx/kv4-1-insns-64.s | 1800 +- gas/testsuite/gas/kvx/np2-detection.d | 14 + gas/testsuite/gas/kvx/np2-detection.s | 5 + include/opcode/kvx.h | 3828 +- opcodes/kvx-opc.c | 52807 ++++++++++++----------- 19 files changed, 44777 insertions(+), 39040 deletions(-) create mode 100644 gas/testsuite/gas/kvx/np2-detection.d create mode 100644 gas/testsuite/gas/kvx/np2-detection.s