From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05on2078.outbound.protection.outlook.com [40.107.20.78]) by sourceware.org (Postfix) with ESMTPS id F204D385AC32 for ; Tue, 25 Oct 2022 15:52:11 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org F204D385AC32 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-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Pqd3T9gjmNpwbN5G448SlrOmjwm1vsUd+Gkkd7iThShRoRIFPTlV3xB2pUBGmRf2JfD0TtH2dT/LaMltwl+MUyZLm5S8IYPtykCX8EdOGjniQJt8gxE6xqZ5oSOxpHEiq/bKhpmOxIsOJx1ZWhC1BAmK31vvMmctQP3+xwrzCSqeemU2/oQ+zmPa5bHdCkk7sJcsYIS4tjb7XQejmMqvQjSbnUfrBFKlgsauECweKhPg/cLsVRbhIgTxZBvp/Vf/fbvtA21MsWNZOjaOPvLOAO4M8Q5WJH7omHKWA8grsppccc9UCLCE5rqaENRJ4Asmy+29ZMU693p27ZkWTBsyxg== 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=M5eBdO/Su8gyGTiv08Kd8Nlq/ZsB8Ye9lGYCf6SlRr4=; b=bSuA9beFKqRXwggq1gyI0u/VbEHjeWmo4s45DF/Cp5dXunt8haOP1gAGfl7DoXNt4gdKw6wCqdX7K+x43PzAT8mkcUc8K+YCJdpG2UNs2G2KIAwstZOznKXNAUtfwlnprjDwOaTyTOt2KVPhyJ+rliZhhP3cPBbPFxMRb3eVDanvONPstJVNim9sR4Iwgj7JcAOh94K+GTsOuzIh4zNbJT+goVSUKT2k1c4hd+JSkwbC59Z14Oymmg0Bqg8Gd7aWjtEl5r0uUgedqHjPMAPPoix4885SPTFaFo6ULygU+LsLfZbbXb4+1cHmAy4Wz9Gy43QHcpxZZqsBU0dCnIBv3Q== 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=M5eBdO/Su8gyGTiv08Kd8Nlq/ZsB8Ye9lGYCf6SlRr4=; b=5tDUGnjRYEiVAhfPijxo2qL+5xSc4IQxgE1yqLr9ntjoTYTI1kvPxbYBgZ1yOflOf3aUwh26LwZbkHlJAnTlgha4nH0s5pjyn1VAkO8Vd1cFDadRhv0MhcvysuGEwbwL/hIsQ/Q+wneEJ3PuUlnun6gFGKWdtbmb79Yd3iMJfjyhqHzvgHStmi70ZQIDPPlu46fPPUy+l3T27CXOQ5Sqy9x7OKxFPqspl61yuiMPslF3B6l9iKdmokVRNRdBSMAOGU1Ke+64giuaGbZ1MGjqgavBsmPLYaufkeCs0qiJCjsKAPY76zdNRcTM9KQ1GdOtTHcauts1MX3X62w88hu3Ag== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com; Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25) by AM9PR04MB7521.eurprd04.prod.outlook.com (2603:10a6:20b:2df::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5746.21; Tue, 25 Oct 2022 15:52:10 +0000 Received: from VE1PR04MB6560.eurprd04.prod.outlook.com ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5746.021; Tue, 25 Oct 2022 15:52:10 +0000 Message-ID: Date: Tue, 25 Oct 2022 17:52:08 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.4.0 Subject: Re: [PATCH 10/10] Support Intel PREFETCHI Content-Language: en-US To: "Cui, Lili" Cc: "binutils@sourceware.org" , "Jiang, Haochen" , "hjl.tools@gmail.com" References: <20221014091248.4920-1-haochen.jiang@intel.com> <20221014091248.4920-11-haochen.jiang@intel.com> From: Jan Beulich In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-ClientProxiedBy: AS9PR06CA0737.eurprd06.prod.outlook.com (2603:10a6:20b:487::13) To VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM9PR04MB7521:EE_ X-MS-Office365-Filtering-Correlation-Id: 7460f84e-8fb2-4335-b615-08dab6a0e066 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: KcwC8hKvA6Ik6s07cQgjLmTwEsYjnaYBlNrb7jWew5twTquB6deKtzeRm9HLWMOUIXH5ITfUaEFSsfgbZRsV1w91KKzZcOEXXHo8wEne1vUqywU8dvevmPnlTrgC3C3raw+SITTLMPa96A90wZgZ7apVuAQXb0V4PLFBIww7qi8WPvar19XsfwzNTh2ZFsr1EphkQ03YmtzySwPY9ZSXBDbQnC53bMQQYkTlzYkqMYGDMp+bQUmwwMNCwakJneIqDFdj17Fwi1GDNks23QyMQ/UU9BOADuEeCwVU7s4tP+6OsSy1vfxUCGu+OWFgHUb8/N+tFJyD7w7g/agnRPBtaaet8MQEZRSBugc0175eQQPJ12HOjEJvbi1m/OdqfsKW5WDLLcCLp4sUKWXFE54gNcSVMqFAdWXetJBxxqx3QlbIlc3z4EE63/5PfWj74nbnolh+cBPm5HhHRJXUQW7e9I6v7ohEdhpXo8KMw16ztMHAHdJx1nq4eJ2UMxokC2v7cX02cGZHyeSEaLQdVKCzkZR1xWTuELlxLzpEr28UJqtG0ELqJnfw84jABJT2alDkJzetRIfBoLA784Tz/g4bELLvuorUAw7+vXazJQRg2KKE2Dk3P43LZCrJvuCDcR0B3SXv77ipaOCNWUqjxHVJ14xUG11lZxq63DqPz1ihex+F3X2kE6PbiVmOllC0ZMhC+hI5C5ecaDuVqhmg4NMOEDrCfsgIVkk2DP4KHxB1irUPMtx5dB1oADl5Rr2vVcNV8zzUrJD4KOGN0yXFO9ukCn9QKqshLz7yot/2uAg5Fu0= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(136003)(366004)(396003)(376002)(346002)(39860400002)(451199015)(2906002)(31696002)(478600001)(86362001)(66899015)(31686004)(36756003)(5660300002)(41300700001)(8936002)(54906003)(38100700002)(8676002)(6916009)(316002)(2616005)(6486002)(186003)(6512007)(66946007)(66556008)(66476007)(4326008)(53546011)(26005)(6506007)(45980500001)(43740500002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?UDJWVlY1SlBWSFQyeVFuYTZIeFdHdE41NmxDUUR5VldUVUsvODI0b1c4NzR2?= =?utf-8?B?M3hsU05ZNjNLcGQ5ZlRJdGxUR3RUS3hxcG9aR2t3bktZL0wzbEpVYnZFMkxO?= =?utf-8?B?UTd0NTBSeDRaY3RUYTdFY1ZSZDBqOU5nTWVLWk1uS1hMR2JSenV1RmhRZHZB?= =?utf-8?B?TGhDSEdrWVlmd2wrK214NE8xUW9sYndiWktWQlpmcWw5MHNMbTYydUNSck9n?= =?utf-8?B?MEpNajBUc2lvdjlZcGQyY2p3QkxNd080aVlRYTVsdkcvM0hpVUE4VjZuMHd3?= =?utf-8?B?aU1qdnRkc1Z5aFkzUTNxV1o3b0x0ODNReGJMVGp2TXFNQkM3RlJkdzFya3NP?= =?utf-8?B?Mjk5RkFqMHlDNmZOcHZvRUVsM21HdDlyWUpBTXJxcXpNWFpzVjFJQTZ0ajBQ?= =?utf-8?B?cXppU2xWaW5jVFlRcFVST2M0RFhVVlJJYjBmMHBMZGdnNVVJQXJWaElyZS9Q?= =?utf-8?B?S3I0THpmZlRoZFUyeTF4SVU4S3lUMXl0QmkvM0QxdVJnVi9OWm1kcW93L0Vz?= =?utf-8?B?RUVrMEEycjduZ1Q0RUdrejArRHhsczdGYXZ5VXNqYjJGK1dlUnhyRkVqNWts?= =?utf-8?B?SERWWnNzemQrb3lGeUZieTRLM0FhMzkrNHhtdXR2aTIyL3RMUUFQdlRpakp1?= =?utf-8?B?WTVpaWoyL3FKdG1XdVV5cDJiM1lTR3dvb0FTQ01qbTQ3eXZRWFlpYVliclZ5?= =?utf-8?B?RkZwcmVBb3JDT0tuMkFkNVg2em4yYWh0SmQ2NWIwYTBIVHJzd1FoY2IrVytM?= =?utf-8?B?c05EeG5vcEJLdE5lUFc2ZVMwalptVVZWekNvVGJIUTlDQXgreEtBQWVtMmlx?= =?utf-8?B?c0Z5SURyWUFta05hM3JpTmFhcnpoT2FvakF2cEtTVWxwRE5FcWJxNHlvbGsz?= =?utf-8?B?ZFIxN01kTkI0QkhtOWVSQWo3aFQ1VXBDMGd3S3FtYnlwbnlTMXlRTGNIU0hy?= =?utf-8?B?OXduMDJxNlVaam5NSlQvejRGY2kyeTRWczlFUUlUdC9ycndwUEhBbnVUWGps?= =?utf-8?B?OHNaL3pKcVRNOEtlb1FwT0Y0MVIxTlppOTAwS203L2daeGVhdVpDY0kzKzRV?= =?utf-8?B?aWpGSDFrM01mQXZlbGJiVkN0MkdFVGxYbWVES21JMG1kZ0tib2xBV0krYkxy?= =?utf-8?B?MHpIQ3FOYjVDemVJYVBBRkpuakR5TGVUS2I2K3lnWm04S0srdWJlOHI4UG1S?= =?utf-8?B?M1VlRmZiSXIzamRpUVFsbDFSNHRIS3N6RDNDeHFkaUE5dW9hMTR1UWZ4eng4?= =?utf-8?B?WVJkZWFFcTBCYStWK014WTJrOXF3azJHWkRNdmRzZVV3MnVmWlhVRDFLQnVU?= =?utf-8?B?VFlGYzBJV2I0bmNEZnB6QjZnNGVvejB6eTFHNXVDRWxjcjdBTzNVSEo4SG5D?= =?utf-8?B?RzBwVDBMdEx6YWhhZlFXOHhlajRPTk0zSHgvL1IrL2EyTkxZN3dRRlNzQVRQ?= =?utf-8?B?RHhhRWFyekh4QTlxYVdLdW1qNFNrY1Nvd3RRQnhKZlhiWE1LR3JVRGRSSDhR?= =?utf-8?B?UEx6VnZ1cGhVdVdxTUVRTElMUG5GVjRJMUEyenNBYlg5RUcxdVJHWmNBaUFP?= =?utf-8?B?Umo5ZGVzRWVQckc1UGd1SWFRWFNvSmEvMHpHMnpvUzhaa3FRVlZienpLOW5q?= =?utf-8?B?dStYVjZLNG9nZ3plRk5TYTJsRVlFQ3F2dzNCUHpFNzUxZHpOcXVGREZweUs5?= =?utf-8?B?MXBSTWxpOE5ObkFQbnV5UG9VOGQyMVpxTmxwSDB6c0g2bStoR2Z4NnhRRUc1?= =?utf-8?B?VVRlSVhNVjRVeHlRTmFuTTRpY1BRc1lmUTNCd3Uzb1ZiUUpIMHNVRldkakV1?= =?utf-8?B?YmxaSVk0RXN6TlB6dnoveDc0MTFYemY1VjZ2RTRocEJrOEFoNHJZM1Rlbis3?= =?utf-8?B?SVlJRit3T0JkZWg5aDN6UmJTNElhd3VNQkdlMk1FUEJMdVpZOU1mcVArRHM4?= =?utf-8?B?YlVuUzlvYjBIV0xGSmVCdXlKQmNVbTJ5OXVCUXJLU21tN1NxT21WVm1qckwz?= =?utf-8?B?a2hlUWhPK2IxdVAwT0JHMjZiVXZpa05PTll3V3psdUxqWVFST1g5cFJXVmhp?= =?utf-8?B?T21YSHhJcGtGcFVvNnk4T3J1dHpNOXd0ajg1bFRQMXJ5aWxQdWZ0aWExVm5J?= =?utf-8?Q?yQiJyLphBfq6ggl1tiKHZ1Q5b?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7460f84e-8fb2-4335-b615-08dab6a0e066 X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Oct 2022 15:52:10.3602 (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: UQssiT2ElDFIkf5aXlXprlWlfCB0W46OG1nhsjUGuYcrymUZxvLvkY+XjG5NA3goWrmj5x5x4nVxKhrEdleSAw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB7521 X-Spam-Status: No, score=-3029.6 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 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 25.10.2022 15:03, Cui, Lili wrote: > @@ -6363,6 +6363,13 @@ check_VecOperands (const insn_template *t) > i.types[op].bitfield.disp8 = 0; > } > } > + /* Check if IP-relative addressing requirements can be satisfied. */ > + for (op = 0; op < t->operands; op++) > + { > + if (t->operand_types[op].bitfield.instance == RegRIP > + && !(i.base_reg && i.base_reg->reg_num == RegIP)) > + as_warn (_("only support RIP-relative address")); > + } I don't think this function should be checking legacy encoded non-vector insn properties. I guess this wants moving into the caller; ideally you'd find an existing loop over all operands where could stick this. This check, after all, can be done any time after template matching, even as late as e.g. in build_modrm_byte(). > --- a/opcodes/i386-opc.tbl > +++ b/opcodes/i386-opc.tbl > @@ -40,6 +40,7 @@ > #define RegC Instance=RegC > #define RegD Instance=RegD > #define RegB Instance=RegB > +#define RegRIP Instance=RegRIP This and ... > @@ -3323,3 +3324,10 @@ rdmsrlist, 0xf20f01c6, None, CpuMSRLIST|Cpu64, No_bSuf|No_wSuf|No_lSuf|No_sSuf|N > wrmsrlist, 0xf30f01c6, None, CpuMSRLIST|Cpu64, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, {} > > // MSRLIST instructions end. > + > +// PREFETCHI instructions. > + > +prefetchit0, 0xf18, 0x7, CpuPREFETCHI|Cpu64, Modrm|Anysize|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegRIP|BaseIndex } > +prefetchit1, 0xf18, 0x6, CpuPREFETCHI|Cpu64, Modrm|Anysize|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegRIP|BaseIndex } ... its use here is certainly an abuse: The meaning is that plain %rip is allowed as an operand here. But I take it that you checked thoroughly that there's not going to be any undue side effect, in which case this might be acceptable. A better solution would imo be to add a CPU (or opcode, but that's more expensive) conditional to the check in tc-i386.c. Jan