From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05on2045.outbound.protection.outlook.com [40.107.21.45]) by sourceware.org (Postfix) with ESMTPS id E3D0E38582AD for ; Fri, 5 Aug 2022 12:20:55 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org E3D0E38582AD ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=aC1UQCFlZd6Y95GmTZQZ2SBt5maiuws6PRBOEB+jmhuu28TMkJqmj4/o0ySaXjbGpPVncT5ugHzG+WKFUDT9h33N32QrkylJcjMIxSpqLmaMzb1EWeFIMibR0yXhI/p7WU8Dl0C18b26Ht7dnjLl0vPghHJpO85iiPrV6xmTkvADsoSFPQ2cGjBzrZ5NNWGGw/2zgbyW9M3JSR1CGcsEzz2BALs+kAiFIdBY8iM3ryRrcbjbNXBHpDWvOacQKWZi/SBFSMQsBRD4y9EYVkkSFqeBLyP1ojMR2R9rAFdyDffTiBYmMMS1s9bJo9PCb/8Kv+uiXcokLI99dXo6vtdfGg== 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=iLkiKUu2a2UbPzsmznQ8VYtKsA4nC9gx7AdUi5EvErA=; b=i03YMSSEnjO1Fa63lJD9wq5PF9YFIJoUWvmGW538K0ReWt5BAqA/QQuaj2S9uro7vBkpRItLsevav856TWuk9vRZTXQ3IBDADD3J8cWNmjZpcwu0Q4FkDF4kwf7EgfB67S00TGxbmD4FOLe9ky8Y4nLrjqFNlBiUoYCVfkFiuQPvwlsj/QUSXfO5be5Ncv+9B+k3R+oyQqTyr1ObleDwf4X1m7hRjKaaCT7XiudQqXDjAGVQoIEQhorOB0hWk+AA9TWpoM6Db+bkM1cqmweLKfBxgWvUKMHWdIGHZRlyugczcZ13VZfyytyiby83Ql4RW0eCqiIAYcBjZFYAlyyoOg== 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 VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25) by VI1PR0402MB3759.eurprd04.prod.outlook.com (2603:10a6:803:1f::25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.16; Fri, 5 Aug 2022 12:20:54 +0000 Received: from VE1PR04MB6560.eurprd04.prod.outlook.com ([fe80::d475:4e1c:e4df:495b]) by VE1PR04MB6560.eurprd04.prod.outlook.com ([fe80::d475:4e1c:e4df:495b%3]) with mapi id 15.20.5504.015; Fri, 5 Aug 2022 12:20:53 +0000 Message-ID: Date: Fri, 5 Aug 2022 14:20:52 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Thunderbird/91.11.0 Subject: [PATCH 03/12] x86: fold AVX VGATHERDPD / VPGATHERDQ Content-Language: en-US To: Binutils References: From: Jan Beulich In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-ClientProxiedBy: FR3P281CA0061.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:4b::9) To VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 137205a7-a33a-4995-adf8-08da76dcf12d X-MS-TrafficTypeDiagnostic: VI1PR0402MB3759:EE_ X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 41W7TYnzR5oftG51PHI2S1FyZ4lIXdbu3qsaE0Qyvb0RIm7Iq8LDX1H+KJIdHoWqD2jRTjCxbXb0Mdra0f9Fb4XMJ1mB2Y5TAmPGQSE8dINwoefGlEDRSw3vUD5ACej5g3GjIz8MOTYFvmbkZK8EzicMN6vEdykRAwmbhVjDh7xKCVpDocg+VXQhNh1fDYjcDA5eDKuZ9Mend/FMAmaNFy+oupwuXuJ3lKof63guM/tkYbkccKoAcuIvk5MffGhjTX6ruEKHiEfAPQTmLP+6REYJbdmw+fZpbEDfnd1YNXjk7gIrM7I0YPAyL/liGl042ykc1AMYabUbaLzKEjk7Lv59RA/08FePuMn6PGzCOysDnKRbEUCGseAJAiL6mA0kEInn8AhGp7ao5UOEUeFQc+a/qOxlYxoKRUGLgjRcgByCF6fCmocPXTWVOrf1acb2dmCoVisZjcnhubQGdVEi475rY5r37+yMYHQgzydiFBTkQZg5OgLWrHQceM2+ePnJTrB+0O7isW07Gf2U+Qy/gpPH7A7i/T0LOwyNGqmpfy+B5HuAG67BbpSKVgXbfu7nJWlbsKkqm/tYTr62pAyc+Ha8up6sKFWanFrmK8fFs0E/+oPVzlDWTIrwK6TZS2WaU7U5HEtGQkLQ3mmriw7Ur5u0C7KVlMOMIqPLATO+Xk1CoU/6jWqtQDpHLa6nYPfPu792upi4CQQFGmtpVI31w7rKZeKq/ufs0Tm0KKHQIEvF3WaBXk31uT/dcrRvdqz2RMrWE99FXcwxHSSmz7NbCW3keBOCF956YfV0f5LrsbnxCMCYgNy5ydl2rTWmEumICeLZYMKk3eLeXBHR6icTFQ== 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:(13230016)(376002)(39860400002)(136003)(346002)(366004)(396003)(41300700001)(478600001)(6486002)(36756003)(31696002)(86362001)(38100700002)(186003)(6512007)(6506007)(26005)(31686004)(2616005)(6916009)(4326008)(316002)(5660300002)(66946007)(8676002)(66476007)(66556008)(8936002)(2906002)(43740500002)(45980500001); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?Z1RGcytmVStobVJZckxQNnhIYkNySU84Z0dFRjFHYzkyR09mYzZCZnJZTld4?= =?utf-8?B?MjJCTUZWYjkwUEVlblU1MXFkUlRTNTZFYkR1VVMzRGNiQjZDWWtCMk1tMkYx?= =?utf-8?B?YXRGbjVkTHJ5ZjdWNFBkTDZXUnFSOFZVeTVuQk1oclh6SWpsRVhkVzhCanZo?= =?utf-8?B?SC9OTG84Rmt2bXh2ZFZFK053cHEzUmFrdGwwTDRhK3Q4c0Z6aDlWVnZaVGhq?= =?utf-8?B?dmcxdGRzQ1hnbitkMXY2ZXBKc0JoSTJlNFg0S01Kd3N1bXV5ZFVRUFgxbm1j?= =?utf-8?B?VnZGQzNyaThKZGpMS1p5THBiRE15c2NldjR5eTFyd29FOVFaQ21KL281Y2dF?= =?utf-8?B?bW9qRWFVSUovUDhScTZ3NTU2cGVMbGRBOWpyLzBxaDhXQUhVTnRkODdMTVhR?= =?utf-8?B?MFpKOUpUenVOakVxNVUxbVhpR0ZQanlCSHhSNm4wRHd3SWNrMnRHK0pQQmJa?= =?utf-8?B?RWgyZ0VaNlFjSElxWTg0bHVTa3AzalZySXQ4TzBqZjhWU1E1Tno3bE9JZVVN?= =?utf-8?B?Tk9PS1B6Z1BMNGhJWXJzZXE5Sk5jTTUyaXh5cFE5OUtnV3lYalpzNWVWQ0Fq?= =?utf-8?B?L3hvaTJZQ1QyVlo2REttSDYzV2cyN0hvZitZeHhITVE4NDlPdGVRbGFNYlA0?= =?utf-8?B?SEpmS1FpUnltSXJjNmo0cVIzNm1SZS9ISmJOOG1MNDlSNHUvSDR5WTdNVklL?= =?utf-8?B?NjFiMlVoYnFZVDM5aGN1aWYvM1ZkYTJBdzVibXRVbUluZ0xESm5lajJsbXVq?= =?utf-8?B?V05WNUR2aEp3RG1VYVJ6YjkzV1JtNSt0aFpaaE5XRXNPbmxkUmpWY2NwdVhS?= =?utf-8?B?WmNIT29NdC9tK08yd3dGRHFJY25wKy9rSkdrTEJ2ZmdOYWtDMkVadEhLQnBS?= =?utf-8?B?NUxIWGc2aVdJYnR4dFRSYzlJT1QyS282NUNLWVNVRTluN21sREoybm1vTGVK?= =?utf-8?B?bW1QT0E3VU0zVmNPdlRoMWM2TFVXVjVSQUZZZC9JK1FBa1NyQ2xYOWJndVlq?= =?utf-8?B?d21RSHFXWURjMlBIeGpnclVHMFFGcnltbkduVFpKWng2L21RVlFvQ090UVFr?= =?utf-8?B?QU1BaGI5MzErWFNUWXFsRjZ2a0RvV2xQd2Z6Ni92VnVJamUraUhnVGZvbExZ?= =?utf-8?B?N1V4RlJHM2xZU204b2o0VVVlcDRlQVpxWUpzcnJMcFZrUjJoUkZFeGZvdXc2?= =?utf-8?B?RTJCWndxVFBLaVVNQ05jZUk3aldla0g5UFEwVlNEdzJlTk5SbHNvM3d0KzFC?= =?utf-8?B?YmRHeFVUWVVmem1COFUvTHlEdzdSRVB1K29DTlBRdW5tejNBeHJUaGZKOTUv?= =?utf-8?B?OXc3ME14SjdCVCtEU05MYzg0bjR2dERManZJZDdQdW9EWVY0YStmZVIxS0J5?= =?utf-8?B?MzVvbDJaK3E4QUlmS0g1UlI2S1lyaG5iSm4waHpSZFE0bTlxbWtqZGdES0FK?= =?utf-8?B?cUs0T3cyUUVwdnFNVlpSejdhTGpWcVVlTVhDMXJkMDNjOGhYampPY2F3eUc2?= =?utf-8?B?YXd3a2htUDNXKzhvbHZGVFFhWENsUVVSQVkrSEFZSit2U1YxUHpiUGY4WEN2?= =?utf-8?B?YUQrWFpvek9YVG9CZVVLT2hESTgyTVVTWFJKTEdFV3V4Tzh6M2tKUUp4NW1V?= =?utf-8?B?dElnZjBraXVoc2ZQbnYxU2Y3M1ppU21mTFdSTE01V1dGdE81QVU4Q0x3cVFp?= =?utf-8?B?bG9oN3E5eW5HcUpTdG50ME9JaUk2d1J0R2pOZVVTZy9ybHZ5Y3A0dWZ3cUVM?= =?utf-8?B?ZzdwTDZ0cEgzajJqQkJWMVo4Um9URHUzWTY5THppazhYSkdtQXdqRWlDWUY0?= =?utf-8?B?SGhnbHNrTEJ6bWducytnTHdRdm1lbFloc21TZDZhOHM2a1FMb1RRYXNObloy?= =?utf-8?B?SFo3Z0FxakJMdENVNG1oajFVOVJMNklmUnRUbWMzZ0xIR29yditnbnZnRTQy?= =?utf-8?B?WDZVeFFIcUJGeVhmaDNBUlhJMFBzOFlCaUdlU1gvM0tyemkzaVZueWx5MW1Z?= =?utf-8?B?S3gvd1N5OGRrSno1MndnSkFrczAzZktWb3R0YkxGYVlTNFNhTHE2dDNaRnU4?= =?utf-8?B?akM4SDJ6d2lWUHRTak9INGZjdG5xVWNBOUw5SG5Vd0lEUEJERFBaeitOOVVp?= =?utf-8?Q?U1qy12lQNLDS3SxUl9H2Hz5LF?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 137205a7-a33a-4995-adf8-08da76dcf12d X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Aug 2022 12:20:53.8625 (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: trBoalhZvmPe+kT9FJxyMjjXQt8x1xUlMtyrYMEkJbcU2vgML2i+njCYtElEdla+NJJiZtoHsOc29HJt7zWgGQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0402MB3759 X-Spam-Status: No, score=-3030.5 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, 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 X-BeenThere: binutils@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Binutils mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 05 Aug 2022 12:20:57 -0000 While the other three variants each differ in attributes and hence can't be folded, these two pairs actually can be (and were previously overlooked). This effectively matches their AVX512VL counterparts, which are also expressed as a single template. --- a/opcodes/i386-opc.tbl +++ b/opcodes/i386-opc.tbl @@ -1827,8 +1827,7 @@ vpsrlvd, 0x6645, None, CpuAVX2, Modrm|Ve vpsrlvq, 0x6645, None, CpuAVX2, Modrm|Vex|Space0F38|VexVVVV=1|VexW=2|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM } // AVX gather instructions -vgatherdpd, 0x6692, None, CpuAVX2, Modrm|Vex|Space0F38|VexVVVV|VexW1|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|VecSIB128, { RegXMM, Qword|Unspecified|BaseIndex, RegXMM } -vgatherdpd, 0x6692, None, CpuAVX2, Modrm|Vex=2|Space0F38|VexVVVV|VexW1|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|VecSIB128, { RegYMM, Qword|Unspecified|BaseIndex, RegYMM } +vgatherdpd, 0x6692, None, CpuAVX2, Modrm|Vex|Space0F38|VexVVVV|VexW1|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|VecSIB128, { RegXMM|RegYMM, Qword|Unspecified|BaseIndex, RegXMM|RegYMM } vgatherdps, 0x6692, None, CpuAVX2, Modrm|Vex|Space0F38|VexVVVV|VexW0|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|VecSIB128, { RegXMM, Dword|Unspecified|BaseIndex, RegXMM } vgatherdps, 0x6692, None, CpuAVX2, Modrm|Vex=2|Space0F38|VexVVVV|VexW0|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|VecSIB256, { RegYMM, Dword|Unspecified|BaseIndex, RegYMM } vgatherqpd, 0x6693, None, CpuAVX2, Modrm|Vex|Space0F38|VexVVVV|VexW1|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|VecSIB128, { RegXMM, Qword|Unspecified|BaseIndex, RegXMM } @@ -1837,8 +1836,7 @@ vgatherqps, 0x6693, None, CpuAVX2, Modrm vgatherqps, 0x6693, None, CpuAVX2, Modrm|Vex=2|Space0F38|VexVVVV|VexW0|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|VecSIB256, { RegXMM, Dword|Unspecified|BaseIndex, RegXMM } vpgatherdd, 0x6690, None, CpuAVX2, Modrm|Vex|Space0F38|VexVVVV|VexW0|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|VecSIB128, { RegXMM, Dword|Unspecified|BaseIndex, RegXMM } vpgatherdd, 0x6690, None, CpuAVX2, Modrm|Vex=2|Space0F38|VexVVVV|VexW0|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|VecSIB256, { RegYMM, Dword|Unspecified|BaseIndex, RegYMM } -vpgatherdq, 0x6690, None, CpuAVX2, Modrm|Vex|Space0F38|VexVVVV|VexW1|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|VecSIB128, { RegXMM, Qword|Unspecified|BaseIndex, RegXMM } -vpgatherdq, 0x6690, None, CpuAVX2, Modrm|Vex=2|Space0F38|VexVVVV|VexW1|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|VecSIB128, { RegYMM, Qword|Unspecified|BaseIndex, RegYMM } +vpgatherdq, 0x6690, None, CpuAVX2, Modrm|Vex|Space0F38|VexVVVV|VexW1|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|VecSIB128, { RegXMM|RegYMM, Qword|Unspecified|BaseIndex, RegXMM|RegYMM } vpgatherqd, 0x6691, None, CpuAVX2, Modrm|Vex|Space0F38|VexVVVV|VexW0|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|VecSIB128, { RegXMM, Dword|Unspecified|BaseIndex, RegXMM } vpgatherqd, 0x6691, None, CpuAVX2, Modrm|Vex=2|Space0F38|VexVVVV|VexW0|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|VecSIB256, { RegXMM, Dword|Unspecified|BaseIndex, RegXMM } vpgatherqq, 0x6691, None, CpuAVX2, Modrm|Vex|Space0F38|VexVVVV|VexW1|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|VecSIB128, { RegXMM, Qword|Unspecified|BaseIndex, RegXMM }