From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM04-SN1-obe.outbound.protection.outlook.com (mail-eopbgr700126.outbound.protection.outlook.com [40.107.70.126]) by sourceware.org (Postfix) with ESMTPS id 0891C38618DF for ; Sat, 24 Oct 2020 00:19:29 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 0891C38618DF ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Y1GkDY1jYcTdcMrLE47cG626BkUaWGG24hTAtd+iyuDfKjNsbrk4Ujjh7Gk7zPtHMTjOuIF6JVl5BKsVwAUmYYPbdJjxqHzOAPK2B9zMkZv5bPIR5kr8hV249sBDuQS3URPOoIt8RgT/YV9x/IDvOP5RGPMMJOcKyG9nuFLN62B3V0+x+iYdcEJldW+tC9t4BrgSCBBj9/nEy64WkfEBDA7t0cjvdlyr/xJ3sBeHT3nrsnvdk58WcaAEWMtnSKwvkCAx6b4uyX3v/Ek3HquQdPG2gECwqSeVCruj3VVxBMxGIYyGXomcAclheMiAAvEZG2aPwIUej3KVLUjC3pr8/Q== 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=iAyUVIifKzvCXyOgt7Hazp5pbY7T0MdwUnF5PRIH6+M=; b=i69h+1MjgNDVadUsImx9cYXMb07VeWdcrc55/fojxbcDJPmE1vJStyPQEiPtOiiXeiuQkdXm1N8it6uBTLLchQ4JyeXdlCwuQr5dRjOcYgy6HythIAKsOvxSGbA5QqYdX1Dq5DafxpeDpY2+Alw3I8Y2uDwuD1Ul68T/p0ZQ6NKb6q7hiSZGa4y3CBGRYjeBlnoW8LvMT6UFGdrr51iPRsm+v+sDA3JU4JiB7G4PXhn8jcOiTU7nZddSFvrc/YmoH/+sHpdStGR8/o6CwlLYG9PXylpdgEYUtk4HQaJLJ2FFwTZQDcMCW8bHfPUicb5YbXH34e0MuLncb04c+7b4HQ== 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 BYAPR21MB1351.namprd21.prod.outlook.com (2603:10b6:a03:115::21) by BYAPR21MB1335.namprd21.prod.outlook.com (2603:10b6:a03:115::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3499.3; Sat, 24 Oct 2020 00:19:27 +0000 Received: from BYAPR21MB1351.namprd21.prod.outlook.com ([fe80::d177:2fdd:eb1b:d44a]) by BYAPR21MB1351.namprd21.prod.outlook.com ([fe80::d177:2fdd:eb1b:d44a%8]) with mapi id 15.20.3499.017; Sat, 24 Oct 2020 00:19:27 +0000 From: Eugene Rozenfeld To: "gcc-patches@gcc.gnu.org" Subject: [PATCH] [tree-optimization] Fix for PR97223 Thread-Topic: [PATCH] [tree-optimization] Fix for PR97223 Thread-Index: AdaplT3u9jZMtbkoQwWxi6fH1PA8hg== Date: Sat, 24 Oct 2020 00:19:27 +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=6f15f4fb-86c1-4a92-ae5e-2e926953360c; 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-10-16T02:15:09Z; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_SiteId=72f988bf-86f1-41af-91ab-2d7cd011db47; x-originating-ip: [2601:600:9700:56f0:89fc:ab6:6445:206e] x-ms-publictraffictype: Email x-ms-office365-filtering-ht: Tenant x-ms-office365-filtering-correlation-id: 31c9fb20-bd37-4979-9eed-08d877b2782e x-ms-traffictypediagnostic: BYAPR21MB1335: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:8882; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: S7YMqWlAOr+UPtWCDBDA5V/WBPWbmrynuJq+Qku7Lmqbi+sxXhGDJl6zN65yWQb+z/SezfImWximxm9WxUkY2s9mnNlKRsWsTGiCC/Zfhlb3IPBf30jsSeAU/U4vk04rx+dO4hJCYsIlziYjwL3ufZbB4YGi/I/tHFcSASj8BOMCcawK7wiaDtZcpXfCQsGYGPaiA+fisVP+YAlco1dSKG3yPIbzRbcgDK0UduAeUHMXGbJgwd1Eoge5y08uUkeVbUdWybQWdKdc2Gi8jFK37LPJZ9cTi4YGvDGGGoYWSCWiyTxG7o80yEltv42AUqj8MqL693YkUirP7p3kzgy5vg== 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)(396003)(366004)(376002)(346002)(39860400002)(52536014)(8990500004)(66556008)(64756008)(7696005)(86362001)(82950400001)(33656002)(66946007)(82960400001)(186003)(6506007)(4744005)(66616009)(66446008)(66476007)(5660300002)(76116006)(9686003)(71200400001)(55016002)(99936003)(478600001)(316002)(10290500003)(6916009)(2906002)(8936002)(8676002); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata: 4uV1+vvTfrsuWiPg3skHSxWtZx08VGLp6vuw1xOlK4iU8w3f3ABkpGFMO9AxkPuHuYWSlb3PaqLrFAg2xC07cDzb6wNrSTfLqjym73EjU+A70VaYU2D2CsJXRpiwCwsESEXDcIEjjEA+8m7xwjeq6+zOowKEJzsayZ0DCJYAlMt7EsalXaAM1l6UkZw+EHkbi3W1Gv7SLYgMOLr2y4nRgV9laaMJqSLquCr7d5aRMgiGhG0I1aNXPGq0epOX7s+1dulOPtqlur+Wlmx9dcwHeU9t3oAskrM3/RtM75r8BB2oikJkSCkrsG21OMLgLmUSuqkfDy12iJIYjq2xV88t1ycTb4Y55yXTOnfBd36qv2sALk1Cxxh/JFWburgZMIbXTfGZ0gktvdrb2nwSciB6EH5Y5nGFIWMB9u/2nMuQbLCMLi+RIebX2WCWmNKMVhmRcRVuagbXEyMqxQjTHAk+4cZbDqS62qiQxe3SsH3VOJs5cvd6J8irKpSvADRhJJQGMesqklpE3OlDm1ZPp84/nChNs05hBAMYjvb496GtXYRKIYpB3hLq395sJzjigBYleTJXb+Rit4pTMg+eI4wIqVQgsvjazT+u/O3Mp5NOSNrwqplBKPjgHSIRVXP87HobniXPWFjnMhBzNIk1JyTM58lrJgc2asvaSZ0JgBueVgRLEZts7QK/a0JeVimmm4bEmNxTPNH/mrBAR01j6KCukg== x-ms-exchange-transport-forked: True Content-Type: multipart/mixed; boundary="_002_BYAPR21MB1351C406C926E086FBEECB9A911B0BYAPR21MB1351namp_" 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: 31c9fb20-bd37-4979-9eed-08d877b2782e X-MS-Exchange-CrossTenant-originalarrivaltime: 24 Oct 2020 00:19:27.5527 (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: 5UUsgX9+snqa99SzeGTcjW8XHiLnRKcAPfZAHHGEqV9njtsEN0mCkHqndO7rReSLD9lQXeKcY1GdtTMRevxKDA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR21MB1335 X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, KAM_NUMSUBJECT, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_PASS, SPF_PASS, TXREP autolearn=no 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: Sat, 24 Oct 2020 00:19:30 -0000 --_002_BYAPR21MB1351C406C926E086FBEECB9A911B0BYAPR21MB1351namp_ Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable This patch adds a pattern for folding=20 x < (short) ((unsigned short)x + const) to x <=3D SHORT_MAX - const (and similarly for other integral types) if const is not 0. as described in PR97223. For example, without this patch the x86_64-pc-linux code generated for this= function bool f(char x) { return x < (char)(x + 12); } is lea eax,[rdi+0xc] cmp al,dil setg al ret =20 With the patch the code is=20 cmp dil,0x73 setle al ret =20 Tested on x86_64-pc-linux. Eugene --_002_BYAPR21MB1351C406C926E086FBEECB9A911B0BYAPR21MB1351namp_ Content-Type: application/octet-stream; name="0001-Add-a-tree-optimization-described-in-PR97223.patch" Content-Description: 0001-Add-a-tree-optimization-described-in-PR97223.patch Content-Disposition: attachment; filename="0001-Add-a-tree-optimization-described-in-PR97223.patch"; size=1923; creation-date="Sat, 24 Oct 2020 00:09:20 GMT"; modification-date="Sat, 24 Oct 2020 00:19:27 GMT" Content-Transfer-Encoding: base64 RnJvbSBiYzVmY2E0Y2JhZmFlNmI2YmJmNTU3ODdhZjFkMmU1ZDE1Mzg2NDliIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBFdWdlbmUgUm96ZW5mZWxkIDxlcm96ZW5AbWljcm9zb2Z0LmNv bT4KRGF0ZTogRnJpLCAyMyBPY3QgMjAyMCAxNjo0NzowMSAtMDcwMApTdWJqZWN0OiBbUEFUQ0hd IEFkZCBhIHRyZWUgb3B0aW1pemF0aW9uIGRlc2NyaWJlZCBpbiBQUjk3MjIzLgpNSU1FLVZlcnNp b246IDEuMApDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKQ29udGVudC1U cmFuc2Zlci1FbmNvZGluZzogOGJpdAoKQ29udmVydAp4IDwgKHNob3J0KSAoKHVuc2lnbmVkIHNo b3J0KXggKyBjb25zdCkKdG8KeCA8PSBTSE9SVF9NQVgg4oCTIGNvbnN0CihhbmQgc2ltaWxhcmx5 IGZvciBvdGhlciBpbnRlZ3JhbCB0eXBlcykgaWYgY29uc3QgaXMgbm90IDAuCgpGb3IgZXhhbXBs ZSwgd2l0aG91dCB0aGlzIHBhdGNoIHRoZSB4ODZfNjQtcGMtbGludXggY29kZSBnZW5lcmF0ZWQg Zm9yIHRoaXMgZnVuY3Rpb24KCmJvb2wgZihjaGFyIHgpCnsKICAgIHJldHVybiB4IDwgKGNoYXIp KHggKyAxMik7Cn0KCmlzCgpsZWEgICAgZWF4LFtyZGkrMHhjXQpjbXAgICAgYWwsZGlsCnNldGcg ICBhbApyZXQKCldpdGggdGhlIHBhdGNoIHRoZSBjb2RlIGlzCgpjbXAgICAgZGlsLDB4NzMKc2V0 bGUgIGFsCnJldAotLS0KIGdjYy9tYXRjaC5wZCB8IDE2ICsrKysrKysrKysrKysrKysKIDEgZmls ZSBjaGFuZ2VkLCAxNiBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvZ2NjL21hdGNoLnBkIGIv Z2NjL21hdGNoLnBkCmluZGV4IDE3YmEwNDEwMGM3Li5iYzViZWQ2MjZlYyAxMDA2NDQKLS0tIGEv Z2NjL21hdGNoLnBkCisrKyBiL2djYy9tYXRjaC5wZApAQCAtNDk1NCw2ICs0OTU0LDIyIEBAIERF RklORV9JTlRfQU5EX0ZMT0FUX1JPVU5EX0ZOIChSSU5UKQogCQkJICAgICAgICB3aTo6bWF4X3Zh bHVlIChwcmVjLCBVTlNJR05FRCkKIAkJCQktIHdpOjp0b193aWRlIChAMSkpOyB9KSkpKSkKIAor LyogU2ltaWxhciB0byB0aGUgcHJldmlvdXMgcGF0dGVybiBidXQgd2l0aCBhZGRpdGlvbmFsIGNh c3RzLiAqLworKGZvciBjbXAgKGx0IGxlIGdlIGd0KQorICAgICBvdXQgKGd0IGd0IGxlIGxlKQor IChzaW1wbGlmeQorICAoY21wOmMgKGNvbnZlcnRAMyAocGx1c0AyIChjb252ZXJ0QDQgQDApIElO VEVHRVJfQ1NUQDEpKSBAMCkKKyAgKGlmICghVFlQRV9VTlNJR05FRCAoVFJFRV9UWVBFIChAMCkp CisgICAgICAgJiYgdHlwZXNfbWF0Y2ggKFRSRUVfVFlQRSAoQDApLCBUUkVFX1RZUEUgKEAzKSkK KyAgICAgICAmJiB0eXBlc19tYXRjaCAoVFJFRV9UWVBFIChANCksIHVuc2lnbmVkX3R5cGVfZm9y IChUUkVFX1RZUEUgKEAwKSkpCisgICAgICAgJiYgVFlQRV9PVkVSRkxPV19XUkFQUyAoVFJFRV9U WVBFIChANCkpCisgICAgICAgJiYgd2k6OnRvX3dpZGUgKEAxKSAhPSAwCisgICAgICAgJiYgc2lu Z2xlX3VzZSAoQDIpKQorICAgKHdpdGggeyB1bnNpZ25lZCBpbnQgcHJlYyA9IFRZUEVfUFJFQ0lT SU9OIChUUkVFX1RZUEUgKEAwKSk7IH0KKyAgICAob3V0IEAwIHsgd2lkZV9pbnRfdG9fdHJlZSAo VFJFRV9UWVBFIChAMCksCisJCQkgICAgICAgIHdpOjptYXhfdmFsdWUgKHByZWMsIFNJR05FRCkK KwkJCQktIHdpOjp0b193aWRlIChAMSkpOyB9KSkpKSkKKwogLyogVG8gZGV0ZWN0IG92ZXJmbG93 IGluIHVuc2lnbmVkIEEgLSBCLCBBIDwgQiBpcyBzaW1wbGVyIHRoYW4gQSAtIEIgPiBBLgogICAg SG93ZXZlciwgdGhlIGRldGVjdGlvbiBsb2dpYyBmb3IgU1VCX09WRVJGTE9XIGluIHRyZWUtc3Nh LW1hdGgtb3B0cy5jCiAgICBleHBlY3RzIHRoZSBsb25nIGZvcm0sIHNvIHdlIHJlc3RyaWN0IHRo ZSB0cmFuc2Zvcm1hdGlvbiBmb3Igbm93LiAgKi8KLS0gCjIuMTcuMQoK --_002_BYAPR21MB1351C406C926E086FBEECB9A911B0BYAPR21MB1351namp_--