From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05on2086.outbound.protection.outlook.com [40.107.22.86]) by sourceware.org (Postfix) with ESMTPS id 8C8823858281 for ; Tue, 7 Nov 2023 13:29:56 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 8C8823858281 Authentication-Results: sourceware.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=suse.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 8C8823858281 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=40.107.22.86 ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1699363798; cv=pass; b=THeVVCviAJWfVZ8lktgVZZiH4CfiFb7uV1FFxOS33mKWwuPTdDsRR0l90va6Kvz4uwUf18BI7YeZRIqAMYB+jwhAsRBD/D/44TbGDktSOk3vmLLM8jcTPHNPg+81+Jpr0ZQEu1F7EvZWTcojT1KGfuLOL3umOY0WCM+rIypg0vU= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1699363798; c=relaxed/simple; bh=3EO7X+7RR8KjxOf6mIgiwyOscaJfdgfTCKeZ97oAvII=; h=DKIM-Signature:Message-ID:Date:Subject:To:From:MIME-Version; b=ciEIayZp09F+d1Mm6+LzntYivugEyd7vortsyB+Ad0rSpwFzvyvlD7g3TjpdiyY2nTN+dNyPLYVr4ahRdiqvnFccj9j6CTWvVICpV0bSJv6KTVDj3pR2v3JLr1Zw0to8K6r6NPFYk+EIdDGJ39qDu+3hokKelJzRIgNuGt+Gn/0= ARC-Authentication-Results: i=2; server2.sourceware.org ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=QJn/ceO6MGlQsXaMhH9Xgcsjg1EhJ2N+L0DPnSy42RyeJ1pKnb+blS/q1TAAvqWEBaerACbC2b7bJpjGQiLwqRojADehKdPRrdyy9Hs9jKL5g32SjRL0k2ltpU7CDKpfFFVoVojJY0T4h+e6uZLrlMTfjSh0fLV5VW5Zi0moeFaW8fvhcU6lfYG3QNYdbravk4iwBwdQBWIYobLBp/qpiQhHZDg/Bt0HKuBLUpiKreIESiRTX4Bhvza9m5BDYSLp46Tmk3xfmzsis7wFxvavS1Rh3VVVG0mFfxMx1VZ52CY/kmP6a91DDYE1kZvJ7jHG5/pt35Xyo7sKSC2TmFW/gA== 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=oI+eukk6B+YtzT5mi+F5mI8JeHoMfyjiegkhtVXYYao=; b=iSizYuP4TVekCmBZ4BvGWGFR8D8Y4Skkq1UXT6QJQuhG7XpCZgpNjxSBPQED7Q1fcF7bPoOn1DDhGQthIAiWpQq4WlzBTW6hK4O7dVaLnQfSyIfhNeivYlfCMmqwcVpqbI2jNMSPompARc4kMAzpXUaIxc5g+IURJiFDOBwT7Xnb19pi9MrH7E87uwFMQ3akzUAU0aumig3ycK9TgPPgrnn6fJxioOT5pMdN59ku2YmilAcHyMlPIyrlQ60bslvaemAsh0VaIZ6TmebYUNd+M6XWa0B/R9suo7892ROQKxvzIHFN7ysW/8M42zHRKpju4Bk8EA/ycM3DOd2h+O6Ckw== 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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=oI+eukk6B+YtzT5mi+F5mI8JeHoMfyjiegkhtVXYYao=; b=HNJnawAmINpvrnjhU6qV1+MpscmNM0hcAMOWzEKvK5EUyYb6uebhDAolpZ/8EIVOKYVi8tmfeaWFoRNNxGr3WoMq4ko2Dgf6hO/a4x/3OrfIwcUXoKCpU/iZEoKDWElXb/OZKtg0UmP5XAd2jfFI5TXqwQFc9Cf3aBLlAGdB/yyK/Z0Vg54r5+LqMQJqX/OdaVdLGGc0F5DjzySDsOnLT5hpe83cSx2/1Glfo8T6qA78Vy+8IBrDGeu5ozD5LPOgCBGdCxbKjAkPU9GptxGi0zx3Kvnv07hv0ZmlYmdjkM25sII68+tJcrsydZu5518CzmieUaIHfCIc54vP3K7BVA== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com; Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23) by AS8PR04MB8963.eurprd04.prod.outlook.com (2603:10a6:20b:42e::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.17; Tue, 7 Nov 2023 13:29:53 +0000 Received: from DU2PR04MB8790.eurprd04.prod.outlook.com ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.6977.017; Tue, 7 Nov 2023 13:29:53 +0000 Message-ID: Date: Tue, 7 Nov 2023 14:29:51 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.15.1 Subject: Re: [PATCH V2 3/8] Support APX GPR32 with extend evex prefix Content-Language: en-US To: "Cui, Lili" Cc: "Lu, Hongjiu" , "binutils@sourceware.org" References: From: Jan Beulich In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-ClientProxiedBy: FR0P281CA0212.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:ac::11) To DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AS8PR04MB8963:EE_ X-MS-Office365-Filtering-Correlation-Id: a5ea9753-8d46-4c62-c3f3-08dbdf95a03c X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: ot13NjqYfaj2bFXKvZkD76F0vGDl9gIRdsBS4e6H+2aF8Q8H+P+ZQKJKiMaxDnIgsMMV222gy4Rw4lWJDdaonIKI1hoUsjm/CsdBeISXoc5OYUI63TKWuLDNDXmlVxwRm8uMiUAjR8SVKIDUmGKtNKBHuJwZM+yD+zWNhWzyNsOJx2ojwSBObUNpLXVI32j84IBMP70pxsuos+nIgIedIbMbZJCw7E7ifUVJyGkJsoEwHk5Ti/9MwyIOiDE3delGE7Z4vCSh/0BmJxBv3RE4f/Uc4Lln/IjI1Die8rv5G/5hxGGKGfeKz0KrzcjSYZk4EI+70IgHkN81mKULR64NKVrDOC35LsNgS3qQ42BRLwJzvbkZ7uvxHhX0iThzXZPPHQ7KbQJq0pibr5CK2fMK5RJmmP+i8b6a7TaX1gO0bJgBtXNkHmB/6OhhlZ6UnXVIyj7W5YNLnIw2YA6IGUaWRSpm1w8YjMlMuUT9ruE2HPIKN2n2CTyGGpl0omgrc1xXz3Z0TfuDoTfRFFUwtlDIaspsFtmNP/OGc+cGau7CqzpYOVT2dr8u6F1H7QaDUiBfVsopPkJBtJU9Q0hTGreJdj3wgDpygNZeo6SJsEPUFVeW4aSnlPSEqC39h9IiHi9FPYK3RZdYwOkoIsTC/8NNRw== 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)(396003)(136003)(346002)(376002)(39860400002)(366004)(230922051799003)(451199024)(186009)(1800799009)(64100799003)(31686004)(2616005)(6486002)(478600001)(36756003)(86362001)(31696002)(83380400001)(38100700002)(6506007)(53546011)(316002)(6512007)(66476007)(54906003)(66556008)(66946007)(6916009)(26005)(2906002)(5660300002)(41300700001)(8676002)(8936002)(4326008)(45980500001)(43740500002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?eTE3YXBqUGtxUXZaVEl1TmJQWVlna0ZBbFdyU2lHd3hER3ZWN2lKM1hrME5w?= =?utf-8?B?dXRvQnJRbXk1UkE1VGNRVmNxT3lQcnBZVkhGNzZWKzZXSjBJbHFlZHRRK2py?= =?utf-8?B?UHo4eXk0aE5nQ0dYRzh0QWdmNlJlTkhJTEJxYWp4Wk9oV0diUzZkbTdPK2U2?= =?utf-8?B?Ulp5ZHdmZXNyUmFQTmFPRHN3M3pObElqMlhpK2FjdFVhN1JYUkErb29zaTVE?= =?utf-8?B?b2ZUcHl2Vm41TllRc0doZDBlZk4xMHM0NU1Nd3psOGJIaG1sNmVXajBzdjhD?= =?utf-8?B?VDlXVEhCK3NodVV0aUlZeENvQ2UrL2d6M3dralBWbXdFV0Rweml1cFdQZEx4?= =?utf-8?B?Yjdpb0FKT1QwYStURUZQSnpyc1Fmb05rMXFCUVhxZTE2YW9UOHY2Tjd0b2VG?= =?utf-8?B?VFlNMXFwc2JRT3JDTnNtbXd2VWJ3ZEQ5ZlFqcGYzcnUxZ1FQTkkvRGorckpR?= =?utf-8?B?RzhFTU9XakJKMmtUV0FrNVN2Zjg5eWdiclVmQjZxc3FsYmR6N3lxdWtIOHI5?= =?utf-8?B?ZDlzV052WFppQWxUcEFhNmN5aEdXT2VYRDg4bkNBSEVCQWZFN3M1aHkwSnNV?= =?utf-8?B?K1l5blpLNDUxT2d6YmlXeGRxeU1LL3JxRXFRL1hRMXhIUlVFUHJzcDNjUVVB?= =?utf-8?B?Y1lEYlFPbm5FR0ZIZElLMTk1cHlzZCtuU0xrSmpOOXl1TnlrU25xZ0haVE9x?= =?utf-8?B?YXNRUmYySERjZXdGWTk4dFFzQTdsZXorUjhHcFdDZkN5a2IwUzZQelZZcWZC?= =?utf-8?B?cVFJOHMrdE1RdTRYcDFONWFJMVZldldaVEIxcU5SU1JqNStia2lZRG53Qndl?= =?utf-8?B?TWFvaE4rYlJrY3lpKzE4dWEwYUc4Qk1vbC9GYWxlME5DNTVFRGlCKzRPK3Az?= =?utf-8?B?dHlhVEd1Ly85SkpzRHBGN3NJdWhhd2FPdElLYzRYMlNBQWw5ZWVGWUtNWGlX?= =?utf-8?B?Zmh0SE1ZNGRIMThkdTEyT0o2ZDNpelhrY3JOM0RNNStUMTlLY1dsQW5kU3VD?= =?utf-8?B?REhCQ29KT1hxZExuaFpGVnl6bHpsWk4vTGRiY1U4ZmRSZ09IU2FKaHFUdG5B?= =?utf-8?B?cHlRcHNHVVJlMFZRREhUdUtJVTRuNzFleW40REhZU3RlcmFGaHkwOVNDVWdE?= =?utf-8?B?elZ2ckF4OHRBM3l3UDlaUmZubTR0dnJ3UGdRR2MzcEZCNno1QlRZSGliRHZL?= =?utf-8?B?aUx2RStQNVRRSHFEbjArRC8wVFZDc2lPeTk2Vm9hZmpPamRUbXBhSEJBTzg2?= =?utf-8?B?aHdGUWJiUU5BRkMvVGFMcDdaL0NNdnNUTytpV1d3MlNVa21xQnZzZVYwaVlp?= =?utf-8?B?NjFHakFHRTRyRHVMOWVqcGNid0lSSyt0cGtvUE5tUEFhRXpZWTVwa2NxTWZj?= =?utf-8?B?RUQyZ3dyOHdlcDgyeXlycmdNeDNEbk1NOFhZV2dWWFBmZlAxWDdVV1RXUFZ2?= =?utf-8?B?T3RQMTh1WmJ5VGltU0YwK1h3U2NUR0Yra1plbE1GN3VYeUlXSXNEZWxramd4?= =?utf-8?B?WWNMTlNRRm5td1EvK01VU2x5Q013Q3NubFBTa0hBbXA1RWROdDkrd01GUFVB?= =?utf-8?B?NENDNUVSZzRZSDhjUndvVXFJS1FWMXA3ZnJ3UTk5UXpBUExBbUFlMUVtcWlF?= =?utf-8?B?WUN0MFlyRzA0WXFmcUpQdy9jamE2R2JkdnpQQ2xWTDZrdmJjVmNOdWhmc1Bl?= =?utf-8?B?bndERWFPWEpUazNldzBlWFpoZTljYWp6RlBtZjEwbkcyd2kvZi9zWXNxZjB2?= =?utf-8?B?YVVDdmQvUmRCWEJ2OFlUd3F2MFlwOVhTOW4yeG84bnBPV0d5dVA0enhVYy90?= =?utf-8?B?RzNnRGxEYUc1Vnh3aGRJcUR4YTNITjhZOXpkeWdPZk1pbUpPcS9iV2M4NTBN?= =?utf-8?B?MUNGbkZQYktuU1NhV1FKd1pwL29YZ0lXL1ExNldHU21Pbys4WmlaTW96TEtw?= =?utf-8?B?VXpVZUNxa0tDbzNKNXF2L1RZQWlDUUJDdCtIQUVocXFTeDhrUTJ5TlFWMGZ4?= =?utf-8?B?dEFYWnpFZUhPbE11N3h0VG9ta1B6c2x4SmZLeE01QkJncVRKMlBjT1EvZHNV?= =?utf-8?B?TkFRRjdSN1pLUTZSWm9UVE9qTVVUbmN1RWJOcFY0MmNJZ0hFeXkrYnBOMFVZ?= =?utf-8?Q?zaDv3HQBXfU86vPkglXHTF9Rn?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: a5ea9753-8d46-4c62-c3f3-08dbdf95a03c X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Nov 2023 13:29:53.5533 (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: Pj2FOI4BAtTb0Po12k63zMp1rNBJyycXL3pXncFumUMa28YYMF7p8EiuLJmgNsJOlJjCQ+i06bwS/6/kjdCafw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8963 X-Spam-Status: No, score=-3027.7 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,NICE_REPLY_A,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,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 List-Id: On 03.11.2023 17:50, Cui, Lili wrote: > --- a/gas/config/tc-i386.c > +++ b/gas/config/tc-i386.c > @@ -3672,9 +3672,10 @@ install_template (const insn_template *t) What I'm surprised by is that you don't have any change to cpu_flags_match(). I don't think you can get away without for dual VEX/EVEX templates. I hope further down you'll find a sufficient explanation of what I think is going to be needed. > @@ -1834,13 +1844,21 @@ xtest, 0xf01d6, HLE|RTM, NoSuf, {} > // BMI2 instructions. > > bzhi, 0xf5, BMI2, Modrm|CheckOperandSize|Vex128|Space0F38|VexVVVV|SwapSources|No_bSuf|No_wSuf|No_sSuf, { Reg32|Reg64, Reg32|Reg64|Unspecified|BaseIndex, Reg32|Reg64 } > +bzhi, 0xf5, BMI2&APX_F_64, Modrm|CheckOperandSize|EVex128|Space0F38|VexVVVV|SwapSources|No_bSuf|No_wSuf|No_sSuf, { Reg32|Reg64, Reg32|Reg64|Unspecified|BaseIndex, Reg32|Reg64 } With the now two prereq patches sent a few minutes ago, this wants to follow what you have ... > @@ -3126,8 +3170,8 @@ xresldtrk, 0xf20f01e9, TSXLDTRK, NoSuf, {} > > // AMX instructions. > > -ldtilecfg, 0x49/0, AMX_TILE&x64, Modrm|Vex128|Space0F38|VexW0|NoSuf, { Unspecified|BaseIndex } > -sttilecfg, 0x6649/0, AMX_TILE&x64, Modrm|Vex128|Space0F38|VexW0|NoSuf, { Unspecified|BaseIndex } > +ldtilecfg, 0x49/0, AMX_TILE&x64&(AMX_TILE|APX_F), Modrm|Vex128|EVex128|Space0F38|VexW0|NoSuf, { Unspecified|BaseIndex } > +sttilecfg, 0x6649/0, AMX_TILE&x64&(AMX_TILE|APX_F), Modrm|Vex128|EVex128|Space0F38|VexW0|NoSuf, { Unspecified|BaseIndex } ... here, simplified to &(|APF_F). I would strongly recommend putting this in a macro, accompanied by a clarifying comment (not the least because (a && (a || b)) == a): /* Many APX_F instructions require a 2nd feature to also be available. When the respective instructions were originally VEX-encoded, a single template can cover both encodings. While the expression below may look odd on the surface (first of all we really mean "feat || (feat && APX_F)", but that is nothing else than just "feat", and in turn the same as the expression below, which is what i386-gen can grok), gas/config/tc-i386.c:cpu_flags_match() will zap either of the inner two features depending on whether EVEX encoding was determined to be necessary. Only then will the actual feature checking be carried out. */ #define APX_F(feat) feat&(feat|APF_F) Since the list of bits we want to clear in cpu_flags_match()'s "any" is going to grow, we may want to consider using cpu_flags_and_not() there as well. But that can likely be a follow-on cleanup patch (if deemed desirable in the first place), so I would recommend not worrying about that right away. Jan