From patchwork Mon Sep 25 12:37:42 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jan Beulich X-Patchwork-Id: 144407 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:cae8:0:b0:403:3b70:6f57 with SMTP id r8csp1177778vqu; Mon, 25 Sep 2023 05:37:57 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHv2KhVVgrO4ziOZ4i0NWBw7mGh/NqZesO9ovZbURcjtjb2ELCx4ChK5W66xrV+QW9ur3M8 X-Received: by 2002:adf:d087:0:b0:317:6fff:c32b with SMTP id y7-20020adfd087000000b003176fffc32bmr5154418wrh.53.1695645477321; Mon, 25 Sep 2023 05:37:57 -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 q5-20020a170906770500b009ae5788871dsi8779931ejm.499.2023.09.25.05.37.56 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 25 Sep 2023 05:37:57 -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=YdbPoL4T; 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 270D43857357 for ; Mon, 25 Sep 2023 12:37:56 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 270D43857357 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1695645476; bh=jx1xxhm21hOcunHzYIkfGtEKS7PL+S+onxgNFf79IyI=; h=Date:To:Cc:Subject:List-Id:List-Unsubscribe:List-Archive: List-Post:List-Help:List-Subscribe:From:Reply-To:From; b=YdbPoL4TRHJ+soFhu/H5vWKzafo9oCnxJ8g6XsMvFNI7g1Pm916iOED3NUavpFYyZ RIo6CzN+G44USeTzewyorIcxB2ANRGKXo0sjpM0DWoWglXpHdo7iZFvXLmh3tcneQd T+/ikqWZ6eqiCnfrtzm1qcpJyvIfMfyhAnonODa8= X-Original-To: binutils@sourceware.org Delivered-To: binutils@sourceware.org Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-he1eur04on2057.outbound.protection.outlook.com [40.107.7.57]) by sourceware.org (Postfix) with ESMTPS id D67543858C62 for ; Mon, 25 Sep 2023 12:37:46 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org D67543858C62 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=k/3po1RU8LVPCcW3O12dYQc2Apz4feBBv7QoqtsJBMsF9nd3RPCV02G3rJ+xtIT/ARwtq0dnkOkKbyFVYJ27zMTOUd9XpIKk3eiFcACkUGR0q6Ap6DIUF2MtKNbO1Y6Gn9sw291OC1mjOVyaJ3bMWD4Rgt2KwWqBpHytL1Ig7Mdh7JaiZGocuadhXw2PxB4PhJsTdPh1PlCqh9h193LMM0X8e5oJBfk2UW3C/MmLmZ6bjeGNEOmT5f6ff652b5F4wQ3WDqEgn5rMvGGKrDn3NijC9fyCibDlEJ/rszH4ViTjoQ8Na2xHf/XLcdlNfCJvXE05kQfyy6kdp9MfjiOcEw== 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=jx1xxhm21hOcunHzYIkfGtEKS7PL+S+onxgNFf79IyI=; b=YIy5TWplQ/136SpycYxQkmecO2KWtfA25r0kWvU/lhsL6agW4x12Art4hTr0O5CSuL3X33JW+pb3ZZhGociIigJE7M7IOqaKSUoVGDPfzCu1f5i6L0vi6V+N8sMS2F5OjSko/yeTOF/X75zN+DzCZ6rM87NuZNGJhOTkNfC88mCT/qyW1iKuiUDhE/ilLBcI9hV9t3GSTIgV6ChmFPewHpxx8FMauGN/qO14zkAFcfUs99ehAn1zwnjQ9kt+lHdpWCwSSYikP3lSx1vjw93pJYyDkqDOpO4wOQ1Nnd78ZI0CvnKcndn3h6FSJ7N52cYrKqXU8m7GEQGu0VczPmm+lA== 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 AM8PR04MB7428.eurprd04.prod.outlook.com (2603:10a6:20b:1d5::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6813.28; Mon, 25 Sep 2023 12:37:43 +0000 Received: from DU2PR04MB8790.eurprd04.prod.outlook.com ([fe80::1353:3b49:2b70:6303]) by DU2PR04MB8790.eurprd04.prod.outlook.com ([fe80::1353:3b49:2b70:6303%3]) with mapi id 15.20.6813.027; Mon, 25 Sep 2023 12:37:43 +0000 Message-ID: <73d3228b-1cf8-2bc9-bf50-d14055241b3b@suse.com> Date: Mon, 25 Sep 2023 14:37:42 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.15.1 Content-Language: en-US To: Binutils Cc: "H.J. Lu" Subject: [PATCH] x86: tighten .insn SAE and broadcast checking X-ClientProxiedBy: FR0P281CA0071.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:49::10) To DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AM8PR04MB7428:EE_ X-MS-Office365-Filtering-Correlation-Id: 355e0dbb-d16b-4a31-0c73-08dbbdc436ea X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: YpF9ybwp/hPCmHCR57v0yXfh7EHAZm8PN1/jdv21ogPQNHymgIAybmUBhbcbitsZjS6USFIToZKsI9f9NPNeYHm8jgC/Fu96s1EfYo2//mTFxlz/dC/r012cQ9iGILjJRs/reWEYPy1pkjK4bAMHW3XHbw5rLde4rSrgNVDytWggDIG5TUOV/pzGFokKvfUfQgmKIbg3wd+DCvAY0pC5NcqCW9bgvc24ip/hTqa1N7IsraloFqTrzTvptQAk4zbiTVulzOhuvYXbD8kOI4FI5G17T47mF5o3qHKWpvBb5NDBss1s6+RrsqBt4b8iQw1I5Opix4PLqRZ2AJ1QWzYCn322ybLTsY5Emrrd0b9UWW9CsntKGbHnxh3eOg6hL6s8pXV0GusVlCW1MwraSrXEIHIYhNdXtufZNDwNXPe9QtkwMWZqcWWTBpzcKgC2Ix2dgMSUWNgJ2pYGDEQUNjF5RYVa9RDbfW/U2ZOF0DbI/BYRoi6OTevjEwShlE+trF4N1uaBBMErlbjMOg/jjO/KgQhy1CQpXPN2j/UiQh1pybk/9SnVvR35J6H+ExLBU0POnQwxqxPAUoqSrpyKtnnv+KBqj3UYw4QYvZrBNWFBecQ+Wr0YrbCG2iz1D01RmbCBsXyaevn64JyjYsaVxL8YlQP2akHC8AJ6z5wVlGGRs4iM5ClOOKobhlASMAK6Qcv/ 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)(346002)(366004)(376002)(396003)(136003)(39860400002)(230922051799003)(451199024)(1800799009)(186009)(2906002)(4744005)(86362001)(31696002)(36756003)(38100700002)(2616005)(26005)(316002)(478600001)(41300700001)(6916009)(6512007)(31686004)(66476007)(66556008)(6486002)(6506007)(4326008)(66946007)(8936002)(8676002)(5660300002)(83380400001)(142923001)(43740500002)(45980500001); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?xvsatVmYsVz7n57KODkRponV91Gj?= =?utf-8?q?Um3+gIr/R+Zf5OYA0ckhzBJgt/BVOERdPWTcmhkrvQQR8GT6ACPutJTkGyygE/RcO?= =?utf-8?q?YntOKxJKd8tkg+2DV94H2AbQn0/C7SeaHaTfZfHmnIv0w8IJ6yBnI/gK9TYIlmXBI?= =?utf-8?q?wRayglptq0bA3UQGtXi5weEGI0fovfqxp6S0CPGoWJgVjVJfBvPahBoi2cmQAQ26/?= =?utf-8?q?Av1WZM4Jpt+/3mTc3TWLJhsf8Ld/rgqwc250MJawJs8k3+ExxqxZvP1tSCbQMsVij?= =?utf-8?q?uJnWPnkr1nm56Ztp43Wx6wowYpUQjmk/l5HbRLhqfG5aTijyTGFTyKftnm4bzWhN4?= =?utf-8?q?rD1uxuPAO2aw2xCn/3KmrR7lLs1YcwqBTL4RRd6kOLTi5qaqV9s7wZAXfNjKpM49L?= =?utf-8?q?iKs1sv5vnjgpAUpCb4xBe7QUmkn1lQYe51DrOOjoBTvSGCGSs+r/8IM1+awNq6jG0?= =?utf-8?q?zEnJgTjaiz0RH3AxrxEz7C6ueAJcAdZEebGm8rt/8MFntHbdXE8+jH/lTgYKTtOPg?= =?utf-8?q?y0TbfZfXr2DWzBOQLpf12RyPEpuBE/5k7t6OyfNg+U1QUWKPNZHnUqxR6CPKLgU1W?= =?utf-8?q?ZqCzJkr3bijGch4Op+2SmCg+te6suXJDjqMGH0BuGNlAq3CVCkqMG21edLHBlp/5x?= =?utf-8?q?PHS10lkXDF8HcVMrPWAIZsFNGVAXwgGTNvDgsIAiBxUvk0EQ2RYkoMHTbHo8thg0z?= =?utf-8?q?vvKZaE34VvyuYBSJbmK7cvlC4eFmFY3xlakZ1y54YzVVqDqPXxDOjmW7cblJ8j6IP?= =?utf-8?q?JR8QNd21w9oqZN7BgHuMlcjy/lhEW2MAPAkI+JtWcYk3IcUIlNWv+1/Gwrda34EEL?= =?utf-8?q?WKESv7ASWkAvEpaPVCUkUP//vmBSTT1I9HRaXlm/OFWS+SB1HzaavCBpeyCwRF35Z?= =?utf-8?q?QWtPf1KG9qB42lrAz6zOHf5nRSbh4ZH+OaOdg8P1PZSlyHVdi8SOHNYlsl301L8kE?= =?utf-8?q?BaBP4bJ4LdXhxg6rfuU0x8gH/ffD+pkFmwaDoHSCZfiXWmhlY20rf09TrAAPQPAhn?= =?utf-8?q?MXIAehaAlVHBZtjUEQCiy4BB5hsylUzBrDAaJnksNr4l7baWt/s7dPddtGnLkwuny?= =?utf-8?q?yB1APmykdgkMWH0OH6nfviJL+vXxXqUI4Z5C0uDQWIHBtRQEC7CoRictE7cMomZS+?= =?utf-8?q?CZ77W7mUUb1pE8CpokvZuT0mS767Dif5X0fQYslF9gJZpD563p6OuGbQRRl3PsXUX?= =?utf-8?q?SKZvko339HllUJtG3AUIFTf4skgQMoBcb+XmMW/hckNAWVzWV6UtjixyqIFDeHo+/?= =?utf-8?q?pXe+aRLw8MGRVg9i2QouQ88Vl5Uu02DpkeOEFNOuvORP/G0cgpOlptjOY3D00PuIW?= =?utf-8?q?vO6Vpp5jbCzH+vbQUAxq9lR4rmGDfAv0bT74v6y+jSSqi576QQLwTIhKx8LF7e+Jz?= =?utf-8?q?JYHoSY3Zz7ipd9HYzWynCKON2PGDjP3Q1EDA7MasGqTQG/1lWwH+t0qJ+euowrx5K?= =?utf-8?q?npAgKZodyAz/f+2wmW27LFzz5ZgS7AEeV0h50mF5PlFW8YbF5B3H/ym+SJV+8mJxh?= =?utf-8?q?Sievaq0C5Jzv?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 355e0dbb-d16b-4a31-0c73-08dbbdc436ea X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Sep 2023 12:37:43.6709 (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: jJcjlBTjF6696xAQpj7dWkV835wQMBuJJMHoGf5NfyyC5Y3Y5zFdrJKz5vaN0LyoofTgAnH1Q0JE8ilkkFfPOw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR04MB7428 X-Spam-Status: No, score=-3026.9 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_PASS, SPF_PASS, TXREP 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: , 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: 1778013151804193555 X-GMAIL-MSGID: 1778013151804193555 SAE / embedded rounding are invalid when there's the memory operand, as the bit encoding this specifies broadcast in that case. Broadcast needs to be specified on the memory operand. --- Arguably, until the AVX10 spec spells out how embedded rounding is to be encoded for 256-bit operations, we may need to further insist on EVEX512 or EVEXLIG to be specified. In practice that would end up overly limiting though, as can be observed when using .insn to encode APX insns (where EVEX.brs is overloaded by EVEX.nd). --- a/gas/config/tc-i386.c +++ b/gas/config/tc-i386.c @@ -11538,8 +11538,9 @@ s_insn (int dummy ATTRIBUTE_UNUSED) ? i.broadcast.type || i.broadcast.bytes || i.rounding.type != rc_none || i.mask.reg - : (i.broadcast.type || i.broadcast.bytes) - && i.rounding.type != rc_none)) + : (i.mem_operands && i.rounding.type != rc_none) + || ((i.broadcast.type || i.broadcast.bytes) + && !(i.flags[i.broadcast.operand] & Operand_Mem)))) { as_bad (_("conflicting .insn operands")); goto done;