From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05on2041.outbound.protection.outlook.com [40.107.20.41]) by sourceware.org (Postfix) with ESMTPS id E648B3858C20 for ; Fri, 28 Oct 2022 09:00:09 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org E648B3858C20 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=IZOcLTslioT3UGJU2hCBK19MBKFTGdrVoHiYvtx/zT9qen57T9GiRMj47fg8OfbwmZHwaFnr9LzZUYyp112kXuDym8SO53hA22tasBR/fxs8LBRrUdq94WiOVN1bmMZ99LBsBcdJSe9dW8v/BDizTtCrHsXJYi3vumssa4j55F0HxCOCoFTc+UN2n5afOqxKKykIR4+C59JFTQgQy6ZxIXw9TEiQ+M1UXfPAUrsvme6TM15uegE+ADS7dD5WygfbH7bVuVuFrPRax9EtSeJp1mSd9m3cPrj5AN2Vpi7L45ASs8Gk7w9vJk7hCUjdHGjjhDqFM+azmMuy3WQxk0Cb2g== 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=v5YFZl/B8mJkmjyV+aMScOUrqNQacRI6fLzs7S4Fcis=; b=NQQjKAWmcCh1e5KOW4Vpa2IVioKolLaPLr93bnCzXCdoGyk6rKCAQNWFVvAdaQ8upZKA6XisBCnuDtQ4Tiihl3/LRNOFSqohUku16HsiIwgxjWkfXK2X1IUa4YUSEux/nPFqhYrH1vYwyNcqDKHkSUWsBXdS4ugxDduK5WkD0KlL6wL4lvKtqe1v8halOVmNKd6d04YqvlQpkhHW07K0ZVsHustoitJ9Yud82QGcHoQiH1O3qhTjvrKjMklSrMWXuxtvXTIXIz2FX4gXxEClKTPkBUmaXOEZjCcUMYKcB0xknUOaTwYlBCM3RuexYySR11SMqUNdFTmXNV6R4e2rag== 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=v5YFZl/B8mJkmjyV+aMScOUrqNQacRI6fLzs7S4Fcis=; b=INksE3d8TBsIL66vv5tOrO5LD4l8dX6GAGdlqQ9LtVKplBsQ/S9nX7fWiXdy0mnY5PyYokJKzr+PoRyA/rDl9pQqP78qw8Gnzy2DwynoWBU95MMBcE6BpFqEdG9zyj9nTCok/XojHHe6l55SBRg2/ydBZgVyRMKvi+GRCemM09fyMmoURzd9CQm4QMwTLjMgoKkZqnbGT0EVsZaZkdGv9DyxCPK4C6MoUK/0nUbCJvJyh9kpSXzK03ZNCetZV7s4A0gi+CEKWLC9Sxl8C5MyoD8aLX4v/oijz3kGw2Rzjiy8LS6kxLuJGzElRBFXL8joJm1xlqnggz4Yd3kNVoyIog== 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 DB8PR04MB6970.eurprd04.prod.outlook.com (2603:10a6:10:fa::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5746.21; Fri, 28 Oct 2022 09:00:06 +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; Fri, 28 Oct 2022 09:00:06 +0000 Message-ID: Date: Fri, 28 Oct 2022 11:00:05 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.4.0 Subject: Re: [PATCH v5 3/8] x86: re-work insn/suffix recognition Content-Language: en-US To: "H.J. Lu" Cc: Binutils References: <7250dab9-e218-e6dd-4c74-23da9f611ab4@suse.com> From: Jan Beulich In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-ClientProxiedBy: FR0P281CA0001.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:15::6) To VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DB8PR04MB6970:EE_ X-MS-Office365-Filtering-Correlation-Id: c86fe24f-1e92-49c3-101d-08dab8c2cf21 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: HHTHn6NT1EEfGuETFwP6pUG5xiuh4dA/W7HDMWDySoZmSaNGhUY00ite0vc2+WdkNfQ7Br1dJ6NCg0cEcTev8LDwfh/GPJlEi8EKxnvUto3XUtVvq3lkgYzQIgoLv/OqZ8ga3dWkiYOBUXhxDA/HvUOHCxSZU7jN9XB9xDyot8A+woyKvwKEMxzzkY2YCCrmdKYacBGuQx12dw+mUzHm/o5hjCy2AGAaxCkLOGrUO/kmvVyzEc/Zt3oh+WsTGbAtaV/pSvCyIbaRgsGf1axcDp8QlXw5MnGgEgV+QWhfCJvk3CzVqeSNMNDXgpM5HJsh5Y6Jg2wImtJDrxvjxqah6VCsqvhPgsiDNAYesN4XlDJLcbONAjotZjy+O6sLw9qqT0nfDphPgEiDydNlf3FnDJDNr2TG4pXty8R3WzZH+EyDIKi5h05qqBZdMbLvlUUceOJMi49eCy+m4r/e78UFVQXhb8reiNuopMqAu8sbPHsjpinACdsVdVa7g19/zorYIvUz9ET39HRfafs1fUxMhJ6uBEgJadYGKxiXsDVyimX0M6OeV1gjZGPRfU+6lrAFvJb7un0tdkmqA27oxoxEiLSRU8nDgd+2gK9IDD1FQzR2PLlecw1ysw/remGvuUQbDs22lD+Hc2xnqC52mDqO8QeLq3+6eyO/DB6SepUAQlTYEjZddsVl89L0Kie/QsPQBXjsPUbR4tzSrctpugbQzJyalJ48pkP21dCUi86c35pNy4AMvKkgNMahURrrL34CyKWa1gq8O2tmprpauvn1pCg7UKcrYeBJJi0MY6Hl+28= 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)(39860400002)(376002)(346002)(366004)(396003)(451199015)(8676002)(38100700002)(2906002)(31696002)(86362001)(41300700001)(186003)(5660300002)(36756003)(53546011)(2616005)(4326008)(26005)(66476007)(6512007)(66946007)(8936002)(6506007)(66556008)(31686004)(83380400001)(478600001)(6916009)(6486002)(316002)(45980500001)(43740500002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?M29tclRLcjVUaUNoR3pmNms2M29JZ01CbExuOW01NW1wT1pFR2NSWUYvS2NF?= =?utf-8?B?UnB6ck14M254bmoyNzEvTnNBZXAyYU1JRitKc1llMDByK2FYNENBQzFWRFVE?= =?utf-8?B?d3hpcHF3V1c2eER0SHRYMG9EVitJRzdaWUdjQzJBM3pXYTlQVzZrR0dLV3R4?= =?utf-8?B?aGsydE5vSXVOWDh0azBLYzAwMEQ4ZHJTcHpOYzBDTnJtdHVGcGtaTTk3RnlD?= =?utf-8?B?TVdqMkM5b3dyTWZTbVNENU81Nms4OGh6QmN5akFWVWhkaHpwU0R3cTBuMEVy?= =?utf-8?B?Unc4REdiMStsWC9lUUF2bU1IWGVaTDRLemdsYVAwQkFDcmNrZCtueWYweXJa?= =?utf-8?B?S2dRRW52LzdWc0VYU2tSdWplNTk2d0xxVFNlTVZjVlZLN2EyL0ZxYnNrTytz?= =?utf-8?B?VmJkVm5GcXBJYlY5bkg4QWI3RmxrcW1LQTVSSFVXODl1VU1zUWlLcUVZTXRS?= =?utf-8?B?cnJjbllseUhIdTd2bXVjSllPa3lVSWZYWmFHODl3QWN6bERKdWx2Vm9DMmpV?= =?utf-8?B?ekJJaFVPWG5aTkJBc1E5aDdEaE1mb2h6Mlh3NERJS3lnZ25CV0c3K3A1VnlF?= =?utf-8?B?R0VuQ1dJaFVaV1p6Qk04NjBleUhVR0dySDlIckx3dlBMeXUvcHB5SVg5UlVF?= =?utf-8?B?cGNYQjZiZXZSOE5EWllCWExKbHNSTWw0OG9pN0pFbWxEU0JtZGw3WWVGcHEz?= =?utf-8?B?RHpKM1kvdVhoU1haRHBmaFJsMjVSZFBNU2hob0FYWWtIdHMzN1JnYkl1a0tT?= =?utf-8?B?RlJEU0plWVhHT05DbjA4aEFEOVhXbXg0ZG1SQkVaOEl4N3RzSXFFcUQ0NVZY?= =?utf-8?B?VE5wS3BMbThDSFNRVkRzekxOanZTVSt4UDRuMlN5TVVKcHpNYmhUV25EZHUv?= =?utf-8?B?ZC9HUXZEZUxjOXROOXBlamJmWjhCb09yT2oyV1NnckFuSFUwdXlHQUYzeWlW?= =?utf-8?B?UnpxbHNmUWtjMnNCOWdyblVCV0diWWx3UWduWERWUU5uVHp2NXFSWnFmaFdj?= =?utf-8?B?THlNWTg4MEtoVmVxYXIzUjdCR0tFTjJQWTdnYmdyMnZobHJuYTVabGlvTXZs?= =?utf-8?B?L0ROM1ltZnhOcC84MC9RUWwyTmd3RnRjYW94OElENHNTcGs4TytsTmxJVlFn?= =?utf-8?B?SW1uR216ZkkvcXlSNnZ3UGFONnRIaS8xakdOWklrZ1FHREFoVW0ycytCUzFr?= =?utf-8?B?MkNhd1VjcVNnaTRaemRWbEtrbG52eWRhWHFTVkxJaFFZOU80d1lmUlovNU5n?= =?utf-8?B?bjJDdmk4VTBZMUVERS83LzREM29ZYjdWWlJSVlhLUFpDOGhkWGE2TFFBT29G?= =?utf-8?B?citYcktiYXAwUndqVXM0YzYvS3JmNTRySXhMTVVaWC9YKy8zQlZMY0JtSzgr?= =?utf-8?B?ZnpNaTJzdnBlZWdjckZ5cVZrcG10ZGFzU1AxNUZNbzhjd05za2FFcWQzQ3Y0?= =?utf-8?B?cm92a0pGdzl1V2NUSjNOZ05MaDZFLys2VHBTUUhQeFNicGd2a2Mza1RwR290?= =?utf-8?B?aFFuelZtSzBLeStmTU5YOStzM0FzejdZWVcvMzFWbUh4QmZEYzU2ckxZZTBY?= =?utf-8?B?YXhmUHhLNExmOFpPQXEzQm8zNXp6TWI2S1NBTUJEVzI2cGV0VTRnUUJ2OWtP?= =?utf-8?B?WnBqbzRsRzM5TnNXZFo5UEdTVFhmNCtoMVpFb1J5VVFkaFArQUJvUjNNb0hq?= =?utf-8?B?WlJ4ZlBoWC9obFJkVlBXUlFQWlp3MFlGV1lzbGNpUFhjek1LM0JlOUtFeW1H?= =?utf-8?B?VW5vVEZkTFZ1NVVpSEZDdEFHWVpjK2taUzY3ZDNYQW1nTThXZnh1eHg4aGV1?= =?utf-8?B?QitJQTM2TUxPUHdaNW5yNG5KYldoNEt0RFBqNG83WHZZcE1nd1czN1VuNzND?= =?utf-8?B?VW5SWE8wRjlxZE92cUdxbk1NNGFab0p0a29Oc2U4SUJvVEFiQklDQkhEeEpG?= =?utf-8?B?c3BIb2RGV1RBZWJvWHh0ZG1CbjhKZTUvVkNRK21KUytxV0EwNnVvMlNRVkxj?= =?utf-8?B?NUpaVW95U2x6K09kV1JWZDFQTXZSL1pDYXpsYjhDVGN4aklWcGVMWGVtVHIx?= =?utf-8?B?TUJnSXNPN3U0dmhhNGdhMUExTW1QSGJUcFlkanN6YUwyWjhXRDR5RUlIVlZm?= =?utf-8?Q?pLDahbkR5aQ5OdM+Uha9QLL1a?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: c86fe24f-1e92-49c3-101d-08dab8c2cf21 X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Oct 2022 09:00:06.5656 (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: tJBFnrVbRLgwRdGUt2O0tc3UKBWRGeEe9dwT3i07C9Cy6whER25dST5NUwWLi+2jjPbSR+BOcBfHClAk7Q4kAQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR04MB6970 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 27.10.2022 19:21, H.J. Lu wrote: > On Tue, Oct 25, 2022 at 12:26 AM Jan Beulich wrote: >> @@ -989,13 +976,13 @@ emms, 0xf77, None, CpuMMX, No_bSuf|No_wS >> // copying between Reg64/Mem64 and RegXMM/RegMMX, as is mandated by Intel's >> // spec). AMD's spec, having been in existence for much longer, failed to >> // recognize that and specified movd for 32- and 64-bit operations. >> -movd, 0x666e, None, CpuAVX, D|Modrm|Vex128|Space0F|VexW0|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SSE2AVX, { Reg32|Unspecified|BaseIndex, RegXMM } >> +movd, 0x666e, None, CpuAVX, D|Modrm|Vex128|Space0F|VexW0|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SSE2AVX|Pass2, { Reg32|Unspecified|BaseIndex, RegXMM } >> movd, 0x666e, None, CpuAVX|Cpu64, D|Modrm|Vex=1|Space0F|VexW1|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Size64|SSE2AVX, { Reg64|BaseIndex, RegXMM } >> movd, 0x660f6e, None, CpuSSE2, D|Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Reg32|Unspecified|BaseIndex, RegXMM } >> movd, 0x660f6e, None, CpuSSE2|Cpu64, D|Modrm|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Size64, { Reg64|BaseIndex, RegXMM } >> movd, 0xf6e, None, CpuMMX, D|Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Reg32|Unspecified|BaseIndex, RegMMX } >> movd, 0xf6e, None, CpuMMX|Cpu64, D|Modrm|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Size64, { Reg64|BaseIndex, RegMMX } >> -movq, 0xf37e, None, CpuAVX, Load|Modrm|Vex=1|Space0F|VexWIG|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SSE2AVX, { Qword|Unspecified|BaseIndex|RegXMM, RegXMM } >> +movq, 0xf37e, None, CpuAVX, Load|Modrm|Vex=1|Space0F|VexWIG|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SSE2AVX|Pass2, { Qword|Unspecified|BaseIndex|RegXMM, RegXMM } >> movq, 0x66d6, None, CpuAVX, Modrm|Vex=1|Space0F|VexWIG|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SSE2AVX, { RegXMM, Qword|Unspecified|BaseIndex|RegXMM } >> movq, 0x666e, None, CpuAVX|Cpu64, D|Modrm|Vex=1|Space0F|VexW1|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Size64|SSE2AVX, { Reg64|Unspecified|BaseIndex, RegXMM } >> movq, 0xf30f7e, None, CpuSSE2, Load|Modrm|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Unspecified|Qword|BaseIndex|RegXMM, RegXMM } >> @@ -1159,7 +1146,7 @@ andpd, 0x660f54, None, , >> cmppd, 0x660fc2, , , Modrm||||No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Unspecified|BaseIndex, RegXMM } >> cmpsd, 0xf20fc2, , , Modrm||||No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM } >> cmppd, 0x660fc2, None, , Modrm|||No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|Unspecified|BaseIndex, RegXMM } >> -cmpsd, 0xf20fc2, None, , Modrm|||No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, Qword|Unspecified|BaseIndex|RegXMM, RegXMM } >> +cmpsd, 0xf20fc2, None, , Modrm|||No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Pass2, { Imm8, Qword|Unspecified|BaseIndex|RegXMM, RegXMM } >> comisd, 0x660f2f, None, , Modrm||No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Qword|Unspecified|BaseIndex|RegXMM, RegXMM } >> cvtpi2pd, 0x660f2a, None, CpuSSE2, Modrm|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegMMX, RegXMM } >> cvtpi2pd, 0xf3e6, None, CpuAVX, Modrm|Vex|Space0F|VexW0|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SSE2AVX, { Qword|Unspecified|BaseIndex, RegXMM } >> @@ -1184,7 +1171,7 @@ movlpd, 0x6613, None, CpuAVX, Modrm|Vex| >> movlpd, 0x660f12, None, CpuSSE2, D|Modrm|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Qword|Unspecified|BaseIndex, RegXMM } >> movmskpd, 0x660f50, None, , Modrm||IgnoreSize|No_bSuf|No_wSuf|No_sSuf|No_ldSuf|NoRex64, { RegXMM, Reg32|Reg64 } >> movntpd, 0x660f2b, None, , Modrm||No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, Xmmword|Unspecified|BaseIndex } >> -movsd, 0xf210, None, CpuAVX, D|Modrm|VexLIG|Space0F|VexW0|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SSE2AVX, { Qword|Unspecified|BaseIndex, RegXMM } >> +movsd, 0xf210, None, CpuAVX, D|Modrm|VexLIG|Space0F|VexW0|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SSE2AVX|Pass2, { Qword|Unspecified|BaseIndex, RegXMM } >> movsd, 0xf210, None, CpuAVX, D|Modrm|Vex=3|Space0F|VexVVVV=1|VexW=1|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SSE2AVX, { RegXMM, RegXMM } >> movsd, 0xf20f10, None, CpuSSE2, D|Modrm|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Qword|Unspecified|BaseIndex|RegXMM, RegXMM } >> movupd, 0x660f10, None, , D|Modrm||No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Unspecified|BaseIndex, RegXMM } >> > > All these instructions with Pass2 have a vector register operand. Can you > use it instead? I probably could, but that would go against your request of limiting as much as possible the allocation of a copy of the input line: Far more insns would then also undergo this setup for a possible 2nd parsing pass. It may be possible to limit the set some by taking into account further attributes (like, leaving aside move-with-sign-extend which you object to being corrected, SSE2AVX), but the collection of those checks would likely be clumsy and harder to maintain than the new attribute. For example the consistency check in i386-gen would then not be possible anymore, and hence the whole thing would become _silently_ dependent on the ordering of templates in the file. Furthermore keying this condition to insn attributes would be less future proof. While it may not be very likely for new colliding mnemonics to appear, if one would which then doesn't fit the chosen pattern, the tweaking of the conditional would be more fragile than the mere adding of Pass2 in the appropriate template. (Even if you continue to object to it, simply consider the last patch of this series an example.) Jan