From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR03-VE1-obe.outbound.protection.outlook.com (mail-eopbgr50066.outbound.protection.outlook.com [40.107.5.66]) by sourceware.org (Postfix) with ESMTPS id EABCE3858C62 for ; Tue, 2 Aug 2022 15:20:25 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org EABCE3858C62 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=gu/rVOUBy+Jb+6vPB5CvljvzBWDDkubXJYCB+n1JMYu0FFADs0WW5PwRNNOHn/6fgLNTVrt+FT/3VvyYoiG2CTFVVOYTG8njv3DhEfu3bPncQJ46otpAhAwu9H9NntKGgWrTR+eV7XioR5TpRM7vgb4Ie9fsh+ZeAtFZdLtZtYiWMFiIU5twJx+WvgW7Vo14y3jqczuhe03PKnjESINOfmXq+wwJNXwUkKgNYTYcTgLEY37ejyf665tE3JuJFMdYPQzZY/OvwNqHpmStq5Un2HqUgziBhtHpt1kkH8j5M97HkHP9MeskTVKvcNI+qTP5sHqLvtqU5/kbN2FYOfQXVQ== 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=xZmCJodTusF8OkO1ZdhcohgOCNmSoDLNtRnmKT906jI=; b=CaoOWQGTRClwUkXI9uHsEu7Oj2v3z9Sqkj46B/6EvRzVigQO6njf03QpnhEZE1piA2BmaamlwH2uOAAWXX/HlQNZO2g89H2i4UezVZFvJAO+HXQomIeKdGxM8idK47aQ9mYl2Mle2BnWMf4aJdjmtl/Waw65gzuGw6kjdy8ZBka+4DR6XvTFz8ueAO8uj0ajDaMtHqBDzIFjT5T5X1qJKJ553cPSmswAwEuoUZ9RoQHl6pAFUx6yAk2xzrTrXC2Ur3nj5TrnjNBcgaDfxbUJbXE9/p8hge4drf4xsPkjMdR8Fpl7Rr27rJ8arxCzMHeRDXQCVYLgyL5hB/KDQZRx+Q== 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 DB7PR04MB4827.eurprd04.prod.outlook.com (2603:10a6:10:16::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5482.16; Tue, 2 Aug 2022 15:20:23 +0000 Received: from VE1PR04MB6560.eurprd04.prod.outlook.com ([fe80::1959:dab4:15f1:4acf]) by VE1PR04MB6560.eurprd04.prod.outlook.com ([fe80::1959:dab4:15f1:4acf%2]) with mapi id 15.20.5482.016; Tue, 2 Aug 2022 15:20:23 +0000 Message-ID: Date: Tue, 2 Aug 2022 17:20:22 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Thunderbird/91.11.0 Content-Language: en-US To: Binutils From: Jan Beulich Subject: [PATCH] x86: improve/shorten vector zeroing-idiom optimization conditional Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-ClientProxiedBy: FR0P281CA0104.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:a9::15) 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: b7a1497e-fa37-4242-2f3f-08da749a851e X-MS-TrafficTypeDiagnostic: DB7PR04MB4827:EE_ X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: TkF/58NFRXGr7W4wLluFEDrWfXbmKO+t3U9RWxsQr3Z2tXBCskrFhPKSzlTxVXEmfxzB7M054/RF2IuEBgXuXSwiyY0Yao5NUUwLPQwJID+fCo+hVGaQ37RTDLBHDCSYMs06vq6csPOAQWXKjToEOqn009fhdcFh4ER7cQk/qbCDZXOjzGp6aJ2qLzHiGA/VaAsbQRc1ftkyEvOrWKTcI/6IuMBZR7AZm0REscrTwkXpRhlSvUUwPxiBs3QwdH3dq2Wvli+Pxf9RTx3JWZyMcsGUvQBkuKMY54wtQQTbd2WEhFyuNrgiykUeqFw47RWyak8eqhj/apUDOo490vBmgmJgOmUcQctqRCnNNG79TLhgKrvNoTdpa3t/GLW7XXTs/4ifNjwtA7xjsUWI+EZP14Bzr0nx81DDXV61lryRfUrOct83nWA276QeMpoS45rim014K16ZylLejidkshJeJGYcewidwicUGutPCN0TcrW2+0jj9KHpe0ksicK+O37Up1AzrnZUJrYH66Jn3n/F67XXK3t3/zcS9uxtd/Ra7N+Meygi89MjPcVofwJRXKrz2cLIxTPjFH1wkvttkLwACIB/dzoP4rpq2HuUst+rUxGFdDhJUn8lYzb1tg/vAg7NM9PqOBAl8SkVDDL0wldE3Y6ARRFYdHfO/t3aUwAGufm0SXFleAyGQShfQHwaXDDQdKOeOiNKZwobqmbtFQfw9TN2D1BRLEXKPBPtSF7xjlnB8/Qni1z+GzSEc/61m+Ldg7RsQ+8wtA7ku+AUG1VPU03z6LORfobxcqS4BGysRKv8SuWLbjkv9j6yJKfMP2iYknF5x0p+nQ0q7ryhPfeApQ== 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)(366004)(396003)(346002)(136003)(39860400002)(376002)(31696002)(6506007)(6512007)(41300700001)(26005)(478600001)(6916009)(6486002)(316002)(86362001)(38100700002)(2616005)(186003)(36756003)(2906002)(8936002)(66556008)(66946007)(66476007)(31686004)(5660300002)(8676002)(4326008)(43740500002)(45980500001); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?NHhmNkVnUXgzOGxIM0k5b1ZNd1dXT0w5N2kxVTY3RGpZaDR1bVF5Yk0vU0g5?= =?utf-8?B?UWZYc25pOXRvV3l6S0l2a2ViVHFURW54QXZyUmZDZW1MTng1MlI5OWZhL0lZ?= =?utf-8?B?SkdjZ1NhR0VrTU5RcGJXTGswUkhUaFNJZ0ltdVp1THVzUXByVmRrbG9TUnNk?= =?utf-8?B?WGx6QlpBd2dRWHE4MzlRajRZeDhBckkxN0Y2QWNvcEo0a1o1bTREQURkWVlq?= =?utf-8?B?bnhjeTVWZTRlR1F1RmovM25qT3kxOTUyQTV6RWNYQXNCRWNHRHRJQmhlQ3hT?= =?utf-8?B?ZkZNdVYvUjlWWDlIOG93UWloZlBDVXlScXQyV1lHRk5tZnBaZlJNdjUzV1JM?= =?utf-8?B?WU5ydStvL1dTdlJPb21FMmtJNXF0VzB4emlVUDEwVVZaSmlYSTR6M3BaLzdk?= =?utf-8?B?cnVwLzA3NDNCZ2ZTSGtGanFqWmpEREFaRVZrN2hVL3N2V1RhMXUraW1iaGF0?= =?utf-8?B?RUxrcFRXa2x5OE9waHRXbUVrclQxYnQ1U1BHTDl1SmNMMWNxUzdWZHVOcldz?= =?utf-8?B?VXZBQ25vRnBITCszdTJNSVphdHc3b3h5Q1VzNlRSTnB3UTJNWFV2a3FnSS9m?= =?utf-8?B?b1ZPRVhkMWt3VGp4Z1BYMDI3OVgzTGJ1ZHhuWXJNTEg2aGJvd2t2MHZMaGV2?= =?utf-8?B?ZkdCd2M1ek1RdENBb252T0JlMU5OMU1zSk5Zb1NTYmtIdVF3Smk2TlVGVnZN?= =?utf-8?B?VjFTZ29rRkN5T0psMHI1VjNFTktPdzZqSVFPTFUvK0p1ZHQwVlR4NHZ2ejQx?= =?utf-8?B?MkF1Q1p0d25ZRGNna3ZCNHhJeitsSHNFRTBDeG9HaGtMNW9SS3FtY1o5eUtU?= =?utf-8?B?NFhjTXhHNmR3d0JBcXZLM2k3dE1uSTRpRVVoWUVhZzR3UzJaSnlJckp5UTJH?= =?utf-8?B?RS85S3FJVmxRRnU5MnMrOU82Q0UyNVRuQ3gwSWlyWEdFWlIxSUhiN3QvQUNu?= =?utf-8?B?amFqOEdiaVp2NjRuOVozQjFDNkVWZmZ1Z0ZEOE1halY4ZWk3M2RsTnVvelBQ?= =?utf-8?B?cE1sQmdvOG13SFRiK3dPdUhER2xPb2h1S3RyR0NCUGZySXljRXphVElKNXJP?= =?utf-8?B?b3lFSmk1d0FkYmtUNktQcmZnUW1ML3RJQXVqdDlaYlBDUzI0Y0lvS1B1aHFm?= =?utf-8?B?dElINVhKbzZIeVpTb0xYUStTMnpxR3prVUdGUGYrQWQvblpQOFM0VlRqbkNz?= =?utf-8?B?Q1d0VXQ4aGFBc0cwZWVJeWZPa0hpcDNnUmJQbkg2UER4bDVrZHpmVU1IOFZY?= =?utf-8?B?eUYyQjI4M2oyajlOeTVMbjE4MGtSL0NjNG42eDZBL0E4ZTA3dzQrNmZTWmsw?= =?utf-8?B?YVY3MS9HTDdqR3pDdkgxRG1ENDFXWTAvNHFpaWFvVEhsdm0wMjh3bXVHM3NS?= =?utf-8?B?MXIxTmZEMDhDZlV4aUc0dTFNQTlrQzRyc0RTY0I1aUVZa0JKUmsxenJTa3N1?= =?utf-8?B?Z1l5blEvSm50c3JlOUtoZVNaTmJxNTN4ZzZwU2hJb1FSbVR4NUJZYXhPeS8x?= =?utf-8?B?Vk9NOTdxS21mdlBkeENVL3FQSEE5d3NFZWJsdWRaT0pReE1GOW9jOVRJZ3ZF?= =?utf-8?B?OGZGRUQwZEtTVU4zajA2WEFJSnFVUVloZ3M3ZGFsd2JPMmFlaTJxcGhLY2Jh?= =?utf-8?B?YnArRUk5TldXaGIvRTNwMUxoTTBrTlJnWjJBU0VTQ0tidkZCdUpmYlhQRkRX?= =?utf-8?B?UHpGdXlNMGZWYlF6ajlzRHpGejY4bUY1b1lERmEwUEpNUTBlQjl2ZDVaaXFz?= =?utf-8?B?c1RIWVVrWEUxcEx5Y1Mxc21wV0FUR3R3ZHQwUUVVUXViUEZLTVFOdE1LRHB6?= =?utf-8?B?NFN0NlNaVVNsd1VLYmc0VUNPbHExcDhtclBqbWVLeWpOS29ibWpVV0MrQ1Z5?= =?utf-8?B?R3BXZUJZZlR0b0FzbzFDc1M1T05XOENFeFdMQUdwa042NlJCSnRKUHRBazlL?= =?utf-8?B?NHorSllRKythNlUvamJwWW5QeDhqcVdPVHc1N1BFVjVSanVTZVR0UW80Uk0r?= =?utf-8?B?Z2dGclk4cm5kS0kvUElydTNndlhMUytlNU43RFVTK0QrMURqMUdNaHFCWStt?= =?utf-8?B?dzRHN1hnQXo5SU9OaUJyeXF6byswb2drVXBDVE8rUFEyd1FjczRLL3lPT2k4?= =?utf-8?Q?VeTegjOTug5kJ9f81Y29YBtf9?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: b7a1497e-fa37-4242-2f3f-08da749a851e X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Aug 2022 15:20:23.4573 (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: NMT8HLVVVg6rNfTCOSiw50gHLFMXomj0C8mNXpy61t0pBpevq1jdFYolnqjc03/wyLpuTyWSZDIbt/Ro0fjrtw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB7PR04MB4827 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 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: Tue, 02 Aug 2022 15:20:27 -0000 - Drop the rounding type check: We're past template matching, and none of the involved insns support embedded rounding. - Drop the extension opcode check: None of the involved opcodes have variants with it being other than None. - Instead check opcode space, even if just to be on the safe side going forward. - Reduce the number of comparisons by folding two groups. --- a/gas/config/tc-i386.c +++ b/gas/config/tc-i386.c @@ -4329,24 +4329,19 @@ optimize_encoding (void) && !i.types[2].bitfield.xmmword && (i.tm.opcode_modifier.vex || ((!i.mask.reg || i.mask.zeroing) - && i.rounding.type == rc_none && is_evex_encoding (&i.tm) && (i.vec_encoding != vex_encoding_evex || cpu_arch_isa_flags.bitfield.cpuavx512vl || i.tm.cpu_flags.bitfield.cpuavx512vl || (i.tm.operand_types[2].bitfield.zmmword && i.types[2].bitfield.ymmword)))) - && ((i.tm.base_opcode == 0x55 - || i.tm.base_opcode == 0x57 - || i.tm.base_opcode == 0xdf - || i.tm.base_opcode == 0xef - || i.tm.base_opcode == 0xf8 - || i.tm.base_opcode == 0xf9 - || i.tm.base_opcode == 0xfa - || i.tm.base_opcode == 0xfb - || i.tm.base_opcode == 0x42 - || i.tm.base_opcode == 0x47) - && i.tm.extension_opcode == None)) + && i.tm.opcode_modifier.opcodespace == SPACE_0F + && ((i.tm.base_opcode | 2) == 0x57 + || i.tm.base_opcode == 0xdf + || i.tm.base_opcode == 0xef + || (i.tm.base_opcode | 3) == 0xfb + || i.tm.base_opcode == 0x42 + || i.tm.base_opcode == 0x47)) { /* Optimize: -O1: VOP, one of vandnps, vandnpd, vxorps, vxorpd, vpsubb, vpsubd,