From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR02-DB5-obe.outbound.protection.outlook.com (mail-db5eur02on2072.outbound.protection.outlook.com [40.107.249.72]) by sourceware.org (Postfix) with ESMTPS id 6A0F33858D32 for ; Tue, 25 Oct 2022 07:01:33 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 6A0F33858D32 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=Bw+QjoK7lHdsRO/1LmiDbojGOzaVNnvxOY6uQLb3GeVoyUtGPiNa3cbr27rKWSKO8LiQmnqqLecsK2tYCISehKpqQ7vqQKxT3lLWwMbyX/8xL2HQWBs9fYYpLcn7NSus5Y+BWs7mX3G+nxDxDqPzT4xtNQ1CE3CLemaVEVnT3h8gnxz/VS95me/lxM/jXr26gZ7KPkX//wVbL+3uCoEm+YtwR9UNvpycC9/MRTItBuLoP4WwfWVlrYyLxGl+OIJkzy8XmwsbsBZPhPsBF8TuRBuD5i8gOleg2i+vki8oQe4dHjGcZDPJZ14FdozijDA3v8JBu1VTa0XeUiKiXvb2sg== 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=ZmNCI+HeK8nLeicWR5doE1Vc4fW4UcVPiJB1Pm4qvLI=; b=gBZ6953Mwax7cmsWmJipXHL6RJAh20J1CY26ZlvIFDhQwBiV9yfblRrrMEro3SMPhciPwNqA+q4hOF6q4j9Pfpb0ZUi1pn+oazd90alUyZPQroSggIyWMWOAT8/ClryD04yY208At8bgd9ZmpZa6rI5bC4IfRm8+gkSJQYgrZMmoWCT7u3pZOEOCb+6SPie5cUEgdPP9lpVml+ePJQAXOHAX4WS4cOtQOC5fFTGZBHh86NfpQ8axwUzIjJOS84ORk+G+tvt+3DxmaKzLctWFPrKgr0JfLrR6HcFvWMzxAqY5XjAlGj4HjeOPhHi2Ci+rAt0B5lJ+eBoKPC5bJmY2nQ== 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=ZmNCI+HeK8nLeicWR5doE1Vc4fW4UcVPiJB1Pm4qvLI=; b=thhTHfnDjmKpZnruAoy0FYyTq/nwUOiisp9W5D5CwcRAEUaByI0pD1VVgiM+hIuUc6DeXuDEhaqB7VRNpoge1ZWU2Fo3MIMGCnLIelH8KcbPi5Snrgp3PmRLHKdSM2F5zUEMnuqCCNNj105HliALKrGHjhSbGAjfqOpmiXjRTvWDZ16xcbmAs5s5CUsg06BTVzl09qfRSHKhM8+KKZfEMjkl4kHuUAT1j7a5sGGxZadt24K60MLIEJ7opTQQ6A4WsJa5KJZhzM5DTwHcaUisHyJ2BKb0+XyCSCtempVawZW6KOpCE7/zBVDwTvcqTG/qNntiUpsP4DG9jA2q++/14w== 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 VE1PR04MB7293.eurprd04.prod.outlook.com (2603:10a6:800:1a8::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5746.23; Tue, 25 Oct 2022 07:01:31 +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 07:01:31 +0000 Message-ID: Date: Tue, 25 Oct 2022 09:01:28 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.4.0 Subject: Re: [PATCH 06/10] Support Intel RAO-INT Content-Language: en-US To: "Jiang, Haochen" Cc: "hjl.tools@gmail.com" , "Kong, Lingling" , "binutils@sourceware.org" References: <20221014091248.4920-1-haochen.jiang@intel.com> <20221014091248.4920-7-haochen.jiang@intel.com> <1e6a7d9c-4b14-821e-cc46-453adbe6f183@suse.com> From: Jan Beulich In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-ClientProxiedBy: AS9PR01CA0004.eurprd01.prod.exchangelabs.com (2603:10a6:20b:540::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_|VE1PR04MB7293:EE_ X-MS-Office365-Filtering-Correlation-Id: 45ce59a2-4227-4e62-06dc-08dab656bea5 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 8uLViJNj9L2MC7nRLieUbGgSFycQQkYl9DT0Fq4wk7+ABWPQgbB/7hw4AS5L/jzs7JWAYNMN8cKeSWtHgy3Ke8+b7XZtHL1kV1LxpPmCOvl+359GiIWyQEztW/l71OMKVe2AKoHuEf5US1cmNyOaiiVGHfg3Ah4QBSg5Q+0SdnBSbTdpxG8+eBkC4TSkpmLRW64Ha//y8fypEw+JZzM+fgDRTYQH+BFSro8G1o5st52g5DmIUytC4KRvK+l7sBN3xJmcBw1u4IuLvVhe9ZKumqu3FYCGMtG7mqhjduid/jUXkjkj6Sx1YZfFPPn0JQ/7UdtgmU/37NNmA6Z7GXPFWJY21k0CGhpyRSe4WKMLdUNY87Cg6B45L5fAht5d18iTinIbgwmx7kmdQyXpL2YAX3US/ge5+ZC83djsJI6j1YHvihYJ6KPmIoIdclsrqVamMWDHHpbhdULQKmH2BbspCNvd9IoE9/jDADadGqAPP9N1tt1J80177wot1g6IiZjGcrm6vm/vpQCLcPKWfqML2jHI6zIwXGPmSK+dkqSXFAeheX4fP7p6DFWeQnOPdFsvXCpwl7mnsvWyiYsjQ+bjZr9qBLWc/YxBBm0ipZLSw7TUH6iy1zeSLDN7oDGRjIhTPLFAoGM+xQBX4Iu466ehonAxYbiAInspju5E0qGKczcWai94BO8YQ7yImA9I8Y1UuTsn0xSMhxGEK1cxign2m/8sKeHtZkkNolBfpb8uQ/3W8o9vwWo0sS8zGVG615VsHDwGV/XMTDxB+GVi4RvhXxnQdNwX9Vc8Ky2cLog7560= 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)(346002)(396003)(366004)(376002)(39860400002)(451199015)(31686004)(2906002)(36756003)(8936002)(66556008)(66476007)(66946007)(4326008)(8676002)(6512007)(26005)(53546011)(86362001)(6506007)(316002)(54906003)(6916009)(38100700002)(5660300002)(6486002)(2616005)(186003)(41300700001)(83380400001)(478600001)(31696002)(6666004)(45980500001)(43740500002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?Si9MUXc4NVF3dlI3TWxHUnhnOVl2Q0ZnT1ltZlB0WFpQekNMMXoyM3U4TTZX?= =?utf-8?B?R3BLN083ZDZOc0JNcWdiSVEwL2ZqM0NEajJvMnBVRVA3THU4ZEphTTlHZ0lM?= =?utf-8?B?dFRTY0FzNGpiZGhPZXEwbWNkdjNrWjR4RXpJTEVCNnRIWGcwK20yOTkvVkg0?= =?utf-8?B?U0I2dWVWQWF2Tjg0d2Q4RSt6RUcwbHRiZ21iTDFwRkJvUjhTVUl3QmZ3MFhD?= =?utf-8?B?SDQ2RmxTOHZUVlM4dm9mNzJxdVcvMDhlUzlJSU9uRS8rRTRiRUFKbkkwQmJN?= =?utf-8?B?NmJYazhXaU42T3NuVDRiaTV2ZW9admp6Zm5kSFpVNUlmdWJNS1Q1d0ZiNStl?= =?utf-8?B?M0tmTTZaYndNamo3NGpXempGWWRQOGlqUGZxZVhKWjAwTDZOYUFaYTZ3Z3k1?= =?utf-8?B?QWg4bU1QTDFoajRiTXpPNEEzZG8wa1hxSThRbFk4azYvRHpDNzVVYWxoYnBi?= =?utf-8?B?TFBwQTZDWHZmcHJlWFhhR1JyNlVKV3o5bysvUC9jZDVxUlErVURkV1pTYkM3?= =?utf-8?B?eXBCS0E0R01IQUxjcXVaOXc1TDQzSDRSSTByRDhSQzc4TDVLSThlVjFmSC9y?= =?utf-8?B?MVd0a0tndzFDVkR2cXlxdVIxQ0pKOWFGRzVpdEJRb2VHNSsvOHRuUVlkdjJr?= =?utf-8?B?QWF4RkJtZnpSdFdMTUtsVC85SVVTWVBDUUhyYUZMSXplNmVVYzhtK2p1ZmdC?= =?utf-8?B?WEcxNmNjRW9YNm5LREdLUWZrVUtKVXV0eThYNSt0NE9DUkI0cjFOWEVjK1gr?= =?utf-8?B?MXJmVWtNVS8ycFRqc3dpaEpGbTJkZ3laSXN2OGJjdE9XenBhblVwRDcvMEpF?= =?utf-8?B?RjJqYWdaRFNHUG1QSjUxeWlaekprblc3NW8va0djRTRwclYvTVVNOXNjOGQ5?= =?utf-8?B?YkxHbUI2WnNqaUlFcXNYeHVWcUMwaDc1NDRWYW11RUlSV1ArVkpDQ3JVL29U?= =?utf-8?B?MzV4MWlPZTVpN3hLNU9MREpsSjNrNXgzbm5JcERuc1hCYVZ3UnhJd1VtUDdE?= =?utf-8?B?Wk4wckZUTXMwaS9kbkMwWUpEdjdTYWN5UzFQakJSRzlpcCszQ2Y0R1dueks1?= =?utf-8?B?MzRBenhUSFZqOEVhTGpNN1ZNenozc08vV216K0lxUDJreEVBTlFFdXozWS9K?= =?utf-8?B?eUx2a2EwSE5rYkhhTkJDYjJKaHVaOEhqUUE2aGc0TlZJb1Y2K2dSQXFZOHNE?= =?utf-8?B?WE1ES1JRaFpXeUE0T092QnhiWWJ5S2JrdlBxQTNkWERNemFwUXNWNS8veTVO?= =?utf-8?B?OWhaWEM2cVkvaVVYb0s2S0ZCY2lMZmtaci90OVpqQjBrU1hKbnJCamxWUWZX?= =?utf-8?B?aUJ4cWVYQWpHelpKVnE2eW1QL1pRa0tKdWUzcm9MUGR1YWZiakZNU0tOTlBX?= =?utf-8?B?dENWcS92TVJMbko2Q2hXL3NyU3hOQ056YldJS2pBT1B6OXRIdHBWL2gxUG8z?= =?utf-8?B?MjA1UGlSbzhIayt2eFNJMTgwLy9qMWRqKzV0ckl3bzNNUFNQZ3lWbXQvWmZz?= =?utf-8?B?Q0xqUmgxeTg3R1FtRU0vZElqNW92b0dtR2xQYmI0dmhHVElJNzFMTktZSzdB?= =?utf-8?B?b2JXVzBkZ0xhVEkzMkF5U2NHcTJSeDlxbGVtclcrMzJnanRyVTJCRDlsdnVP?= =?utf-8?B?TjdEbmpMRWo3TXJBWmR1K0Q3THdWdTVpNk5oL2JYd3VicXg1SEJiamt3cS81?= =?utf-8?B?ZVhvYi8raEViVFNLSVRzOFAwOUhSQzlTRjNLdkhSRm53T1FCK3lvUW5jWmVh?= =?utf-8?B?aFJYZGxrcStON0JtanlZeUw2VXpNbmZjdzNVRSswZXVJeEdCOHNOeG1zRDdZ?= =?utf-8?B?VUhsSytmTkk0bEJwTDVWdzBIUXZXbmcwS1BWRlkrNWQ0YnNWa0dFT2thQWhU?= =?utf-8?B?Mkk2d3ZXM1FGZ3gyWXJTTnpPQUpsdW5iL3FyN0hIWWFuRHFyVUgvdjZ3S2cx?= =?utf-8?B?ZENaV3gvdjk1Z0xYRS9JTFNwR2dheVpTSzFFT0ZLd1BPUmdQcnlGVlhINVRV?= =?utf-8?B?b0FCOVloZFg1UDc4N3c2c29hZDExU0pJajJzcEZ5aDd0My9QWFlFK1ZtVk43?= =?utf-8?B?Y2tyUkgrZHBhWXU3RjJNd1pTK1FTcWxQdEZMU0NhbFhzN0FiRXpaMXptR0Jz?= =?utf-8?Q?Oe2F/cFWoE5q0Q4J3Pr1miAs0?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 45ce59a2-4227-4e62-06dc-08dab656bea5 X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Oct 2022 07:01:30.9525 (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: Fo6ny4LGwaWHWpoCQtLxOKIT2YvBIF7dwXYV2YiQq3z1VRmgat2tAYb+dtJWdQhXWZU1DxKHmzXvyAbb3VHQUA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR04MB7293 X-Spam-Status: No, score=-3029.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 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 24.10.2022 07:56, Jiang, Haochen wrote: >> -----Original Message----- >> From: Jan Beulich >> Sent: Friday, October 14, 2022 10:38 PM >> >> On 14.10.2022 11:12, Haochen Jiang wrote: >>> --- a/opcodes/i386-dis.c >>> +++ b/opcodes/i386-dis.c >>> @@ -887,6 +887,7 @@ enum >>> MOD_0F38F9, >>> MOD_0F38FA_PREFIX_1, >>> MOD_0F38FB_PREFIX_1, >>> + MOD_0F38FC, >>> MOD_0F3A0F_PREFIX_1, >>> >>> MOD_VEX_0F12_PREFIX_0, >>> @@ -1086,6 +1087,7 @@ enum >>> PREFIX_0F38F8, >>> PREFIX_0F38FA, >>> PREFIX_0F38FB, >>> + PREFIX_0F38FC, >> >> PREFIX_0F38FC_M_0 please (see comment on an earlier patch). However, like in >> the earlier patch - if you used Mdq below, you could avoid going through >> mod_table[] altogether. > > Removed pass modrm table since Edq seems also judges modrm. Edq? That one allows for register operands as well. I did suggest to use Mdq (iirc introduced by an earlier patch). >>> --- a/opcodes/i386-opc.tbl >>> +++ b/opcodes/i386-opc.tbl >>> @@ -3317,3 +3317,12 @@ cmpsxadd, 0x66e8, None, CpuCMPCCXADD|Cpu64, >>> Modrm|Vex128|Space0F38|VexVVVV=1|Swa >>> cmpzxadd, 0x66e4, None, CpuCMPCCXADD|Cpu64, >>> >> Modrm|Vex128|Space0F38|VexVVVV=1|SwapSources|CheckRegSize|No_bSuf| >> No_w >>> Suf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Reg32|Reg64, Reg32|Reg64, >>> Dword|Qword|Unspecified|BaseIndex } >>> >>> // CMPCCXADD instructions end. >>> + >>> +// RAOINT instructions. >> >> Nit: Better RAO-INT, like in the title? > > Done. > >> >>> +aadd, 0xf38fc, None, CpuRAOINT, >>> +Modrm|IgnoreSize|No_bSuf|No_wSuf|No_sSuf|No_ldSuf,{ Reg32|Reg64, >>> +Dword|Qword|Unspecified|BaseIndex} >>> +aand, 0x660f38fc, None, CpuRAOINT, >>> +Modrm|IgnoreSize|No_bSuf|No_wSuf|No_sSuf|No_ldSuf,{ Reg32|Reg64, >>> +Dword|Qword|Unspecified|BaseIndex} >>> +aor, 0xf20f38fc, None, CpuRAOINT, >>> +Modrm|IgnoreSize|No_bSuf|No_wSuf|No_sSuf|No_ldSuf,{ Reg32|Reg64, >>> +Dword|Qword|Unspecified|BaseIndex} >>> +axor, 0xf30f38fc, None, CpuRAOINT, >>> +Modrm|IgnoreSize|No_bSuf|No_wSuf|No_sSuf|No_ldSuf,{ Reg32|Reg64, >>> +Dword|Qword|Unspecified|BaseIndex} >> >> Why IgnoreSize? Instead I think you need CheckRegSize (assuming it does >> enough for Intel syntax memory operands - please double check; if not this will >> need fixing). >> > > For table, we aligned with CMPccXADD and added No_lSuf and No_qSuf since > the suffixes are not required. Which, as said, I consider wrong both here and there. There's also still no CheckRegSize here. > In future, if suffixes are not required, we will add all the No_xxSuf. > > BTW, can we write a macro named No_allSuf including all of them to shorten > the line? We probably could (yet then perhaps named No_Suf or NoSuf), but I have other patches pending to help this at least some. In the long run we really want to turn things around and specify which suffixes are permitted, as the majority of insns doesn't permit any. Jan