From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 5176 invoked by alias); 2 May 2017 15:37:17 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Received: (qmail 5124 invoked by uid 89); 2 May 2017 15:37:16 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-26.9 required=5.0 tests=BAYES_00,GIT_PATCH_0,GIT_PATCH_1,GIT_PATCH_2,GIT_PATCH_3,RCVD_IN_DNSWL_NONE,SPF_HELO_PASS,SPF_PASS autolearn=ham version=3.3.2 spammy= X-HELO: EUR03-AM5-obe.outbound.protection.outlook.com Received: from mail-eopbgr30041.outbound.protection.outlook.com (HELO EUR03-AM5-obe.outbound.protection.outlook.com) (40.107.3.41) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Tue, 02 May 2017 15:37:14 +0000 Received: from VI1PR0801MB2031.eurprd08.prod.outlook.com (10.173.74.140) by DB6PR0802MB2389.eurprd08.prod.outlook.com (10.172.250.142) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1047.13; Tue, 2 May 2017 15:37:13 +0000 Received: from VI1PR0801MB2031.eurprd08.prod.outlook.com ([10.173.74.140]) by VI1PR0801MB2031.eurprd08.prod.outlook.com ([10.173.74.140]) with mapi id 15.01.1047.023; Tue, 2 May 2017 15:37:12 +0000 From: Tamar Christina To: GCC Patches CC: nd , Kyrylo Tkachov , "Ramana Radhakrishnan" , Richard Earnshaw , "nickc@redhat.com" Subject: [PATCH][GCC][ARM] Adjust costs so udiv is preferred over sdiv when both are valid. [Patch (2/2)] Date: Tue, 02 May 2017 15:37:00 -0000 Message-ID: authentication-results: arm.com; dkim=none (message not signed) header.d=none;arm.com; dmarc=none action=none header.from=arm.com; x-microsoft-exchange-diagnostics: 1;DB6PR0802MB2389;7:rWSqECYHUxiP3+vHgEQCJVsd8NJRpBWi6rsw7ojRJcAlEw0VAUhotfccmHTl0EFqBhJbjzyMxrpfO9cnZGr6mUuvXPhFdhv0M97E9V5y6TnaChDjaqPUftO8zg/Hi+MurHSHwKVvPbUPyXMe3QJ5MxabIqYq+CwCWWITpS2CEM9LF2J2yX+zxt4Y/EALzRkhobaJ2eb3MD7fYAz3dn29p+sPx7CgSDyDvP8Q+BJVbSfF0PieC+b2EDVPwa4ixgMD1tAwYEwrTn6RFSVqbUj6rFq75wPYynE3tRKBCDC17omWfMcJ8qWwcpKLpFG6DXNtgF50wRABgpYfXuCeCx5gVw== x-ld-processed: f34e5979-57d9-4aaa-ad4d-b122a662184d,ExtAddr x-ms-office365-filtering-correlation-id: b556a780-9fad-433d-9fd9-08d491711a50 x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001)(2017030254075)(48565401081)(201703131423075)(201703031133081)(201702281549075);SRVR:DB6PR0802MB2389; nodisclaimer: True x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:(180628864354917); x-exchange-antispam-report-cfa-test: BCL:0;PCL:0;RULEID:(102415395)(6040450)(601004)(2401047)(8121501046)(5005006)(3002001)(93006095)(93001095)(10201501046)(6055026)(6041248)(20161123560025)(201703131423075)(201702281528075)(201703061421075)(20161123562025)(20161123555025)(20161123564025)(6072148);SRVR:DB6PR0802MB2389;BCL:0;PCL:0;RULEID:;SRVR:DB6PR0802MB2389; x-forefront-prvs: 02951C14DC x-forefront-antispam-report: SFV:NSPM;SFS:(10009020)(6009001)(39410400002)(39400400002)(39850400002)(39840400002)(39860400002)(39450400003)(53754006)(377424004)(508600001)(6506006)(7736002)(122556002)(50986999)(2900100001)(4326008)(8676002)(2906002)(305945005)(8936002)(99936001)(5660300001)(189998001)(3660700001)(74316002)(86362001)(3280700002)(102836003)(25786009)(110136004)(6916009)(6436002)(54356999)(38730400002)(7696004)(81166006)(9686003)(55016002)(99286003)(53936002)(6116002)(77096006)(54906002);DIR:OUT;SFP:1101;SCL:1;SRVR:DB6PR0802MB2389;H:VI1PR0801MB2031.eurprd08.prod.outlook.com;FPR:;SPF:None;MLV:sfv;LANG:en; spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM Content-Type: multipart/mixed; boundary="_002_VI1PR0801MB2031E8E4EDF2CE2F3D6BC401FF170VI1PR0801MB2031_" MIME-Version: 1.0 X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-originalarrivaltime: 02 May 2017 15:37:12.3454 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR0802MB2389 X-IsSubscribed: yes X-SW-Source: 2017-05/txt/msg00118.txt.bz2 --_002_VI1PR0801MB2031E8E4EDF2CE2F3D6BC401FF170VI1PR0801MB2031_ Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Content-length: 1271 Hi All,=20 This patch adjusts the cost model so that when both sdiv and udiv are possi= ble it prefers udiv over sdiv. This was done by making sdiv slightly more expen= sive instead of making udiv cheaper to keep the baseline costs of a division the= same as before. Similar to aarch64 this patch along with my other two related mid-end chang= es makes a big difference in division by constants. Given: int f2(int x) { return ((x * x) % 300) + ((x * x) / 300); } we now generate f2: mul r3, r0, r0 mov r0, r3 ldr r1, .L3 umull r2, r3, r0, r1 lsr r2, r3, #5 add r3, r2, r2, lsl #2 rsb r3, r3, r3, lsl #4 sub r0, r0, r3, lsl #2 add r0, r0, r2 bx lr as opposed to f2: mul r3, r0, r0 mov r0, r3 ldr r3, .L4 push {r4, r5} smull r4, r5, r0, r3 asr r3, r0, #31 rsb r3, r3, r5, asr #5 add r2, r3, r3, lsl #2 rsb r2, r2, r2, lsl #4 sub r0, r0, r2, lsl #2 add r0, r0, r3 pop {r4, r5} bx lr Bootstrapped and reg tested on arm-none-eabi with no regressions. OK for trunk? Thanks, Tamar gcc/ 2017-05-02 Tamar Christina * config/arm/arm.c (arm_rtx_costs_internal): Make sdiv more expensive than= udiv. gcc/testsuite/ 2017-05-02 Tamar Christina * gcc.target/arm/sdiv_costs_1.c: New.= --_002_VI1PR0801MB2031E8E4EDF2CE2F3D6BC401FF170VI1PR0801MB2031_ Content-Type: text/x-patch; name="sdiv-arm.patch" Content-Description: sdiv-arm.patch Content-Disposition: attachment; filename="sdiv-arm.patch"; size=1911; creation-date="Tue, 02 May 2017 15:36:33 GMT"; modification-date="Tue, 02 May 2017 15:36:33 GMT" Content-Transfer-Encoding: base64 Content-length: 2591 ZGlmZiAtLWdpdCBhL2djYy9jb25maWcvYXJtL2FybS5jIGIvZ2NjL2NvbmZp Zy9hcm0vYXJtLmMKaW5kZXggYjI0MTQzZTMyZTJmMTAwMDAwZjNiMTUwZjdl ZDBkZjRmYWJiM2NjOC4uZWNjNzY4OGIxZGI2MzA5YTRkZDY5NGE4ZTI1NGU2 NGFiZTE0ZDdlMyAxMDA2NDQKLS0tIGEvZ2NjL2NvbmZpZy9hcm0vYXJtLmMK KysrIGIvZ2NjL2NvbmZpZy9hcm0vYXJtLmMKQEAgLTkyNTgsNiArOTI1OCw4 IEBAIGFybV9ydHhfY29zdHNfaW50ZXJuYWwgKHJ0eCB4LCBlbnVtIHJ0eF9j b2RlIGNvZGUsIGVudW0gcnR4X2NvZGUgb3V0ZXJfY29kZSwKIAkqY29zdCAr PSBDT1NUU19OX0lOU05TIChzcGVlZF9wID8gZXh0cmFfY29zdC0+bXVsdFsw XS5pZGl2IDogMCk7CiAgICAgICBlbHNlCiAJKmNvc3QgPSBMSUJDQUxMX0NP U1QgKDIpOworCisgICAgICAqY29zdCArPSAoY29kZSA9PSBESVYgPyAxIDog MCk7CiAgICAgICByZXR1cm4gZmFsc2U7CS8qIEFsbCBhcmd1bWVudHMgbXVz dCBiZSBpbiByZWdpc3RlcnMuICAqLwogCiAgICAgY2FzZSBNT0Q6CkBAIC05 MjgwLDcgKzkyODIsNyBAQCBhcm1fcnR4X2Nvc3RzX2ludGVybmFsIChydHgg eCwgZW51bSBydHhfY29kZSBjb2RlLCBlbnVtIHJ0eF9jb2RlIG91dGVyX2Nv ZGUsCiAKICAgICAvKiBGYWxsLXRocm91Z2guICAqLwogICAgIGNhc2UgVU1P RDoKLSAgICAgICpjb3N0ID0gTElCQ0FMTF9DT1NUICgyKTsKKyAgICAgICpj b3N0ID0gTElCQ0FMTF9DT1NUICgyKSArIChjb2RlID09IE1PRCA/IDEgOiAw KTsKICAgICAgIHJldHVybiBmYWxzZTsJLyogQWxsIGFyZ3VtZW50cyBtdXN0 IGJlIGluIHJlZ2lzdGVycy4gICovCiAKICAgICBjYXNlIFJPVEFURToKZGlm ZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9hcm0vc2Rpdl9j b3N0c18xLmMgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvYXJtL3NkaXZf Y29zdHNfMS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjc2MDg2YWI5Y2Uy OGZjZWIzN2E0ZThhNjE1YTM4OTIzZmE3Yjk4NWEKLS0tIC9kZXYvbnVsbAor KysgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvYXJtL3NkaXZfY29zdHNf MS5jCkBAIC0wLDAgKzEsMzggQEAKKy8qIHsgZGctZG8gY29tcGlsZSB9ICov CisvKiB7IGRnLW9wdGlvbnMgIi1PMyAtbWFyY2g9YXJtdjgtYSIgfSAqLwor CisvKiBCb3RoIHNkaXYgYW5kIHVkaXYgY2FuIGJlIHVzZWQgaGVyZSwgc28g cHJlZmVyIHVkaXYuICAqLworaW50IGYxICh1bnNpZ25lZCBjaGFyICpwKQor eworICByZXR1cm4gMTAwIC8gcFsxXTsKK30KKworaW50IGYyICh1bnNpZ25l ZCBjaGFyICpwLCB1bnNpZ25lZCBzaG9ydCB4KQoreworICByZXR1cm4geCAv IHBbMF07Cit9CisKK2ludCBmMyAodW5zaWduZWQgY2hhciAqcCwgaW50IHgp Cit7CisgIHggJj0gMHg3ZmZmZmZmZjsKKyAgcmV0dXJuIHggLyBwWzBdOwor fQorCitpbnQgZjUgKHVuc2lnbmVkIGNoYXIgKnAsIHVuc2lnbmVkIHNob3J0 IHgpCit7CisgIHJldHVybiB4ICUgcFswXTsKK30KKworLyogVGhpcyBzaG91 bGQgb25seSBnZW5lcmF0ZSBzaWduZWQgZGl2aXNpb25zLiAgKi8KK2ludCBm NCAodW5zaWduZWQgY2hhciAqcCkKK3sKKyAgcmV0dXJuIC0xMDAgLyBwWzFd OworfQorCitpbnQgZjYgKHVuc2lnbmVkIGNoYXIgKnAsIHNob3J0IHgpCit7 CisgIHJldHVybiB4ICUgcFswXTsKK30KKworLyogeyBkZy1maW5hbCB7IHNj YW4tYXNzZW1ibGVyLXRpbWVzICJ1ZGl2XHRyXFswLTlcXSssIHJcWzAtOVxd KywgclxbMC05XF0rIiA0IH0gfSAqLworLyogeyBkZy1maW5hbCB7IHNjYW4t YXNzZW1ibGVyLXRpbWVzICJzZGl2XHRyXFswLTlcXSssIHJcWzAtOVxdKywg clxbMC05XF0rIiAyIH0gfSAqLwoK --_002_VI1PR0801MB2031E8E4EDF2CE2F3D6BC401FF170VI1PR0801MB2031_--