From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM02-SN1-obe.outbound.protection.outlook.com (mail-eopbgr770090.outbound.protection.outlook.com [40.107.77.90]) by sourceware.org (Postfix) with ESMTPS id 17109385781D for ; Thu, 10 Dec 2020 00:51:46 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 17109385781D ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=U05YuZ+n4qyQa5gdvH5RJ97PYNz8JYQIqtL1zi5xrGcjfZaqF+nWTFgGJdIw5c8MaPZOS7DEVIYd0A4UydfmAEca8LGgdq6YG3vWmWJilyZXdqSK4J2jdo2JAnAMr8Vr7KKxZqOzVnzkwuX+PeGCSCy9fr+mgyvSVz3mcjYhVIGQgE1Gt/25HxXCn9kVppJRTKqShYmwPRzt/o5ba9qKZVjZHBr5bOVLroSEG6ZkDapQLvcISFTN4NBd1oA4DavBh5rjunU53pdJhS7wDIm7AS/Nxg4jmbmWAmLDPVpOHhaCYYAlK3qOqvLRPJ1j+1GUlbbSspFkYVHMYZUOFnaX2w== 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-SenderADCheck; bh=ElClUAZ6c83HPkjbHI1e/thU9I7iH7y/n+vdxdo/w1I=; b=C2O3Y7Nln9Ie6gU9x9UXOiT0MMFVfilV8K7+kDYtSyYDkGC4ZzHAMsvqeOwpW5O5HPFAGLQQQ3Li6X/qd4U1oFbI2tqWPin9mUJcwoFfvQ7O5y/6+twJbmk5x94TxBJWqQ1aThif1/cDnt1TAHeYeJRY30ypV5X5aGcVYTweZR1d8T5cOc6hZOlbf7INeZ3ufDFWZg2ittQjmy+SKxMdUb01+KOnYNfibbFI3C0at38L5FV+vTtvQJILGzFl6TiFPEXK05r2macdypK5CUhKwZ4kRUIS0V67cPq6TXZOaoDOVa/9blCrNxerpKV/lc+LF+RM+1rSJwn+lfmOF1Yx0w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=microsoft.com; dmarc=pass action=none header.from=microsoft.com; dkim=pass header.d=microsoft.com; arc=none Received: from (2603:10b6:a03:115::21) by BYAPR21MB1157.namprd21.prod.outlook.com (2603:10b6:a03:103::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3676.5; Thu, 10 Dec 2020 00:51:44 +0000 Received: from BYAPR21MB1351.namprd21.prod.outlook.com ([fe80::d177:2fdd:eb1b:d44a]) by BYAPR21MB1351.namprd21.prod.outlook.com ([fe80::d177:2fdd:eb1b:d44a%9]) with mapi id 15.20.3654.014; Thu, 10 Dec 2020 00:51:44 +0000 From: Eugene Rozenfeld To: "gcc-patches@gcc.gnu.org" Subject: Optimize combination of comparisons to dec+compare Thread-Topic: Optimize combination of comparisons to dec+compare Thread-Index: AdbOi9+GzQSOUeinTHSySslyWZQgNw== Date: Thu, 10 Dec 2020 00:51:44 +0000 Message-ID: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: yes X-MS-TNEF-Correlator: msip_labels: MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_ActionId=2158c18d-7e5e-4ce7-9b4f-baea27018ae1; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_ContentBits=0; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Enabled=true; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Method=Standard; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Name=Internal; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_SetDate=2020-12-10T00:28:08Z; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_SiteId=72f988bf-86f1-41af-91ab-2d7cd011db47; x-originating-ip: [2601:600:9700:56f0:7cbf:7762:145b:c8dc] x-ms-publictraffictype: Email x-ms-office365-filtering-ht: Tenant x-ms-office365-filtering-correlation-id: 5b05dfc4-8b6a-4ef0-8315-08d89ca5c3fa x-ms-traffictypediagnostic: BYAPR21MB1157: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:7219; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: Tbwn/nzq0xCGubBcJsS27NfoAtUdbaBKFjPaqKUOnBxW8io1mjmFQXg2RNREO17RXAwGNb/aufWC/IuV2Cn5Ma3A3qAPYh9eljooEoWo3iqW1MgdGktsWALz5vQlnCwA8BaGbo9NtRLl1SgvE6t8ShnmBN3mUPePuy9b9qPLK7mxZEWxL+zXeS/ouKj/jf/YuW5zeO+p0DVY+kQDke8IoQneZwDoSgGADvV6LWCEevBoxSEAwr7XldDPhOTKG6YbG91OtpdunYLFLUF1Cpj1GySODLJ+SA/i2LXBEZcv2OP5kGUZ3PGwskUFSJ/g6n1hn5/I4yRvwqsoIyeOCG6FebbOyAmwdVpPlluNvRMjcSyYisVi0RFwpn4ua+72UBjxitk6jAWDk836/CEIXOhbcbUBa0z+pTRImHwooQckBHw5rcDWSLMLYSt4ipY7OLMp x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BYAPR21MB1351.namprd21.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(136003)(346002)(366004)(376002)(52536014)(71200400001)(64756008)(7696005)(2906002)(55016002)(66476007)(6916009)(82950400001)(66446008)(33656002)(6506007)(9686003)(66616009)(82960400001)(186003)(99936003)(66556008)(66946007)(76116006)(8676002)(8990500004)(5660300002)(10290500003)(508600001)(4744005)(86362001)(8936002)(21314003); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata: =?us-ascii?Q?73MhKjcZLr6j9QwdAAL/b25pMz85YFQqkAgr9V581HG5tZwON3rkz38dy6KL?= =?us-ascii?Q?9ZKZNIUi1yQkiVxbc4nlB7t7/uUJgQMdU59ADWSc8tlT5UjdSzSAK05kYG+v?= =?us-ascii?Q?3ap6tp1cA1CNzU6+yL0W0uewg7hEAl68YvggXj47jg3RK33FzR85YBTjg1th?= =?us-ascii?Q?h5q9Baj1aS3vn8mRBXIW+yrPsBO9GMVZeH1/glKFCSzUQvb6syuKIGMF7zNk?= =?us-ascii?Q?xqmR3aDu3cvwbXqwDVlymzWd+ep9tm3CYlMxqc3gmdjPnFPySyILd55/G/Iv?= =?us-ascii?Q?OCKc9zOVF4TLg49NY9mDIGkOgqQvnjKsD4TUdNoibhKI0gmDnSorzG/EU8D+?= =?us-ascii?Q?1egojSarGTnk9gjMysWrH9jLhiN/kSMG4orllamhjEPs/oXscYl3wlL3dSI4?= =?us-ascii?Q?k39ISBZAYXDySWwtWSHr0ri7FJTwPTnqoAaZ+FpDz//D8WkbbchNvJMO2nju?= =?us-ascii?Q?umQi0KkMKYaAOEuWxzgF6hL5bnE3hRyU1JQM3spOy/8pgR6GKgk7OgtPzpHL?= =?us-ascii?Q?AWYRLxeQgM+q4jV9fsQ30+ap6GwfOVx8d5KZKWDKO/nEXUFlRdymE14A3oru?= =?us-ascii?Q?RpZpyj2SE8OXGMg74Tu97/r6B8FOs4s27C9ckDA+CaSdKmxjxeIhgGBE6DD1?= =?us-ascii?Q?UJ1wsm80BjK+trQri4cWLcM/RKpCEkOo/FMHbxrNUHaURtiWrtZ+TQGtadA+?= =?us-ascii?Q?buput4woS1KOOH3F8wH4z8TdqzCvRTfoyz7PT5ah8BNjWcOtkY7Zb9JXfw44?= =?us-ascii?Q?7vkwC6E2Y2+vjOjlaYlz1D1QprUUPxjLfoQBND9SIUhLajZ+KywuQvTPUNKS?= =?us-ascii?Q?tVlzjJzVtKs4FnQEPzXXdWxqDzM5yd/8NsvcrI9fahDd8MCFJf2PU09xy4UO?= =?us-ascii?Q?EhFtGZjJTCGAV40XdzQ9qyHo88yj7dqdzmFPNQEFWikJdkEbDVWw9EJkWzk7?= =?us-ascii?Q?ywmsvNSFKQqfEyT/3uRvvQhOd39JjAJCnMLmoMXvjZE1bjMBDuGcgSF8gTlL?= =?us-ascii?Q?bnMX8n6OmdsNhoBcxqqjFjK9Liyoa7puSIw2Jmh8VUgEek0=3D?= x-ms-exchange-transport-forked: True Content-Type: multipart/mixed; boundary="_002_BYAPR21MB1351C483157540CEAC10F41391CB1BYAPR21MB1351namp_" MIME-Version: 1.0 X-OriginatorOrg: microsoft.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BYAPR21MB1351.namprd21.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5b05dfc4-8b6a-4ef0-8315-08d89ca5c3fa X-MS-Exchange-CrossTenant-originalarrivaltime: 10 Dec 2020 00:51:44.3480 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 72f988bf-86f1-41af-91ab-2d7cd011db47 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: y4aUWYDDbRRf1hHqCVkuXyrvqBxkt59Ft98q0FUZJ2DZ+XrzlVcF8dqnMQTh34jHvq7vfAu0RBZxN8SR11vP1Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR21MB1157 X-Spam-Status: No, score=-2.7 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, 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.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Dec 2020 00:51:47 -0000 --_002_BYAPR21MB1351C483157540CEAC10F41391CB1BYAPR21MB1351namp_ Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable This patch adds a pattern for optimizing=20 x < y || x =3D=3D XXX_MIN to x <=3D y-1 if y is an integer with TYPE_OVERFLOW_WRAPS. This fixes pr96674. Tested on x86_64-pc-linux-gnu. For this function bool f(unsigned a, unsigned b) { return (b =3D=3D 0) | (a < b); } the code without the patch is test esi,esi sete al cmp esi,edi seta dl or eax,edx ret =20 the code with the patch is sub esi,0x1 cmp esi,edi setae al ret =20 Eugene gcc/ PR tree-optimization/96674 * match.pd: New pattern x < y || x =3D=3D XXX_MIN --> x <=3D y - 1 gcc/testsuite * gcc.dg/pr96674.c: New test. --_002_BYAPR21MB1351C483157540CEAC10F41391CB1BYAPR21MB1351namp_ Content-Type: application/octet-stream; name="0001-Optimize-combination-of-comparisons-to-dec-compare.patch" Content-Description: 0001-Optimize-combination-of-comparisons-to-dec-compare.patch Content-Disposition: attachment; filename="0001-Optimize-combination-of-comparisons-to-dec-compare.patch"; size=2504; creation-date="Thu, 10 Dec 2020 00:51:00 GMT"; modification-date="Thu, 10 Dec 2020 00:51:44 GMT" Content-Transfer-Encoding: base64 RnJvbSAzOTIxNWM1OGY1ZjY0MDkyMGQ4MWNiZTQzNTAzMzQyYzhiNTE4Y2Q5IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBFdWdlbmUgUm96ZW5mZWxkIDxlcm96ZW5AbWljcm9zb2Z0LmNv bT4KRGF0ZTogV2VkLCA5IERlYyAyMDIwIDE2OjQ0OjI1IC0wODAwClN1YmplY3Q6IFtQQVRDSF0g T3B0aW1pemUgY29tYmluYXRpb24gb2YgY29tcGFyaXNvbnMgdG8gZGVjK2NvbXBhcmUKClRoaXMg cGF0Y2ggYWRkcyBhIHBhdHRlcm4gZm9yIG9wdGltaXppbmcKeCA8IHkgfHwgeCA9PSBYWFhfTUlO IHRvIHggPD0geS0xCmlmIHkgaXMgYW4gaW50ZWdlciB3aXRoIFRZUEVfT1ZFUkZMT1dfV1JBUFMu CgpUaGlzIGZpeGVzIHByOTY2NzQuCgpUZXN0ZWQgb24geDg2XzY0LXBjLWxpbnV4LWdudS4KCkZv ciB0aGlzIGZ1bmN0aW9uCgpib29sIGYodW5zaWduZWQgYSwgdW5zaWduZWQgYikKewogICAgcmV0 dXJuIChiID09IDApIHwgKGEgPCBiKTsKfQoKdGhlIGNvZGUgd2l0aG91dCB0aGUgcGF0Y2ggaXMK CnRlc3QgICBlc2ksZXNpCnNldGUgICBhbApjbXAgICAgZXNpLGVkaQpzZXRhICAgZGwKb3IgICAg IGVheCxlZHgKcmV0Cgp0aGUgY29kZSB3aXRoIHRoZSBwYXRjaCBpcwoKc3ViICAgIGVzaSwweDEK Y21wICAgIGVzaSxlZGkKc2V0YWUgIGFsCnJldAoKZ2NjLwpQUiB0cmVlLW9wdGltaXphdGlvbi85 NjY3NAoqIG1hdGNoLnBkOiBOZXcgcGF0dGVybiB4IDwgeSB8fCB4ID09IFhYWF9NSU4gLS0+IHgg PD0geSAtIDEKCmdjYy90ZXN0c3VpdGUKKiBnY2MuZGcvcHI5NjY3NC5jOiBOZXcgdGVzdC4KLS0t CiBnY2MvbWF0Y2gucGQgICAgICAgICAgICAgICAgICAgfCAgNyArKysrKysrCiBnY2MvdGVzdHN1 aXRlL2djYy5kZy9wcjk2Njc0LmMgfCAyOCArKysrKysrKysrKysrKysrKysrKysrKysrKysrCiAy IGZpbGVzIGNoYW5nZWQsIDM1IGluc2VydGlvbnMoKykKIGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2Mv dGVzdHN1aXRlL2djYy5kZy9wcjk2Njc0LmMKCmRpZmYgLS1naXQgYS9nY2MvbWF0Y2gucGQgYi9n Y2MvbWF0Y2gucGQKaW5kZXggNjgyMDFmZjJlMDcuLmMyOWFmNTQwMTUyIDEwMDY0NAotLS0gYS9n Y2MvbWF0Y2gucGQKKysrIGIvZ2NjL21hdGNoLnBkCkBAIC0yMDg0LDYgKzIwODQsMTMgQEAgREVG SU5FX0lOVF9BTkRfRkxPQVRfUk9VTkRfRk4gKFJJTlQpCiAgICAgKGlmIChlcW5lID09IE5FX0VY UFIpCiAgICAgIHsgY29uc3RhbnRfYm9vbGVhbl9ub2RlICh0cnVlLCB0eXBlKTsgfSkpKSkKIAor LyogeCA8IHkgfHwgeCA9PSBYWFhfTUlOIC0tPiB4IDw9IHkgLSAxICovCisoc2ltcGxpZnkKKyAo Yml0X2lvciAoZXEgQDEgbWluX3ZhbHVlKSAobHQgQDAgQDEpKQorICAoaWYgKElOVEVHUkFMX1RZ UEVfUCAoVFJFRV9UWVBFIChAMSkpCisgICAgICAgJiYgVFlQRV9PVkVSRkxPV19XUkFQUyAoVFJF RV9UWVBFIChAMSkpKQorICAobGUgQDAgKG1pbnVzIEAxIHsgYnVpbGRfaW50X2NzdCAoVFJFRV9U WVBFIChAMSksIDEpOyB9KSkpKQorCiAvKiBDb252ZXJ0IChYID09IENTVDEpICYmIChYIE9QMiBD U1QyKSB0byBhIGtub3duIHZhbHVlCiAgICBiYXNlZCBvbiBDU1QxIE9QMiBDU1QyLiAgU2ltaWxh cmx5IGZvciAoWCAhPSBDU1QxKS4gICovCiAKZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2Nj LmRnL3ByOTY2NzQuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3ByOTY2NzQuYwpuZXcgZmlsZSBt b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uYzdmMjBiZmZhYmIKLS0tIC9kZXYvbnVsbAor KysgYi9nY2MvdGVzdHN1aXRlL2djYy5kZy9wcjk2Njc0LmMKQEAgLTAsMCArMSwyOCBAQAorLyog eyBkZy1kbyBydW4gfSAqLworLyogeyBkZy1vcHRpb25zICItTyAtZmR1bXAtdHJlZS1vcHRpbWl6 ZWQgLWZ3cmFwdiIgfSAqLworCisjaW5jbHVkZSA8bGltaXRzLmg+CisjaW5jbHVkZSA8c3RkYm9v bC5oPgorCitib29sIF9fYXR0cmlidXRlX18gKChub2lubGluZSkpIHRlc3QxICh1bnNpZ25lZCBh LCB1bnNpZ25lZCBiKQoreworICAgIHJldHVybiAoYiA9PSAwKSB8IChhIDwgYik7Cit9CisKK2Jv b2wgX19hdHRyaWJ1dGVfXyAoKG5vaW5saW5lKSkgdGVzdDIgKGludCBhLCBpbnQgYikKK3sKKyAg ICByZXR1cm4gKGIgPT0gSU5UX01JTikgfCAoYSA8IGIpOworfQorCitpbnQgbWFpbigpCit7Cisg ICAgaWYgKCF0ZXN0MSAoMSwgMCkgfHwgIXRlc3QxICgxLCAyKSB8fCB0ZXN0MSAoMiwgMSkgfHwK KyAgICAgICAgIXRlc3QyICgxLCBJTlRfTUlOKSB8fCAhdGVzdDIgKDEsIDIpIHx8IHRlc3QyICgy LCAxKSkgeworICAgICAgICBfX2J1aWx0aW5fYWJvcnQoKTsJCisgICAgfQorCisgICAgcmV0dXJu IDA7Cit9CisKKy8qIHsgZGctZmluYWwgeyBzY2FuLXRyZWUtZHVtcC10aW1lcyAiXFwrIDQyOTQ5 NjcyOTU7IiAxICJvcHRpbWl6ZWQiIH0gfSAqLworLyogeyBkZy1maW5hbCB7IHNjYW4tdHJlZS1k dW1wLXRpbWVzICJcXCsgLTE7IiAxICJvcHRpbWl6ZWQiIH0gfSAqLwotLSAKMi4xNy4xCgo= --_002_BYAPR21MB1351C483157540CEAC10F41391CB1BYAPR21MB1351namp_--