From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 12730 invoked by alias); 14 Jan 2015 10:15:00 -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 12707 invoked by uid 89); 14 Jan 2015 10:14:58 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.1 required=5.0 tests=AWL,BAYES_00,SPF_PASS autolearn=ham version=3.3.2 X-HELO: service87.mimecast.com Received: from service87.mimecast.com (HELO service87.mimecast.com) (91.220.42.44) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Wed, 14 Jan 2015 10:14:55 +0000 Received: from cam-owa1.Emea.Arm.com (fw-tnat.cambridge.arm.com [217.140.96.140]) by service87.mimecast.com; Wed, 14 Jan 2015 10:14:53 +0000 Received: from shawin221 ([10.1.255.212]) by cam-owa1.Emea.Arm.com with Microsoft SMTPSVC(6.0.3790.3959); Wed, 14 Jan 2015 10:14:51 +0000 From: "Hale Wang" To: "GCC Patches" Cc: "Ramana Radhakrishnan" , "Richard Earnshaw" Subject: [PATCH] [ARM] Tune the max_cond_insns/branch_cost for Cortex-M7 Date: Wed, 14 Jan 2015 10:20:00 -0000 Message-ID: <004801d02fe2$ebebfc10$c3c3f430$@arm.com> MIME-Version: 1.0 X-MC-Unique: 115011410145306601 Content-Type: multipart/mixed; boundary="----=_NextPart_000_0049_01D03025.FA732E00" X-IsSubscribed: yes X-SW-Source: 2015-01/txt/msg00998.txt.bz2 This is a multipart message in MIME format. ------=_NextPart_000_0049_01D03025.FA732E00 Content-Type: text/plain; charset=WINDOWS-1252 Content-Transfer-Encoding: quoted-printable Content-length: 1751 Hi, This patch is tuned particularly for benchmark performance on cortex-m7. Tested with GCC regression test, no regressions. Is it ok for trunk? BR, Hale Wang gcc/ChangeLog 2014-12-24 Hale Wang * config/arm/arm.c: Tune the max_cond_insns/branch_cost for Cortex-M7. diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c index 8193bf1..d52fcbd 100644 --- a/gcc/config/arm/arm.c +++ b/gcc/config/arm/arm.c @@ -287,6 +287,7 @@ static unsigned int arm_autovectorize_vector_sizes (void); static int arm_default_branch_cost (bool, bool); static int arm_cortex_a5_branch_cost (bool, bool); static int arm_cortex_m_branch_cost (bool, bool); +static int arm_cortex_m7_branch_cost (bool, bool); =20 static bool arm_vectorize_vec_perm_const_ok (machine_mode vmode, const unsigned char *sel); @@ -1967,10 +1968,10 @@ const struct tune_params arm_cortex_m7_tune =3D &v7m_extra_costs, NULL, /* Sched adj cost. */ 0, /* Constant limit. */ - 0, /* Max cond insns. */ + 1, /* Max cond insns. */ ARM_PREFETCH_NOT_BENEFICIAL, true, /* Prefer constant pool. */ - arm_cortex_m_branch_cost, + arm_cortex_m7_branch_cost, false, /* Prefer LDRD/STRD. */ {true, true}, /* Prefer non short circuit. */ &arm_default_vec_cost, /* Vectorizer costs. */ @@ -12015,6 +12016,12 @@ arm_cortex_m_branch_cost (bool speed_p, bool predictable_p) : arm_default_branch_cost (speed_p, predictable_p); } =20 +static int +arm_cortex_m7_branch_cost (bool speed_p, bool predictable_p) +{ + return speed_p ? 0 : arm_default_branch_cost (speed_p, predictable_p); +} + static bool fp_consts_inited =3D false; =20 static REAL_VALUE_TYPE value_fp0;= ------=_NextPart_000_0049_01D03025.FA732E00 Content-Transfer-Encoding: base64 Content-Type: application/octet-stream; name="cortex-m7-branch-cost.patch-3" Content-Disposition: attachment; filename="cortex-m7-branch-cost.patch-3" Content-length: 1961 ZGlmZiAtLWdpdCBhL2djYy9jb25maWcvYXJtL2FybS5jIGIvZ2NjL2NvbmZp Zy9hcm0vYXJtLmMKaW5kZXggODE5M2JmMS4uZDUyZmNiZCAxMDA2NDQKLS0t IGEvZ2NjL2NvbmZpZy9hcm0vYXJtLmMKKysrIGIvZ2NjL2NvbmZpZy9hcm0v YXJtLmMKQEAgLTI4Nyw2ICsyODcsNyBAQCBzdGF0aWMgdW5zaWduZWQgaW50 IGFybV9hdXRvdmVjdG9yaXplX3ZlY3Rvcl9zaXplcyAodm9pZCk7CiBzdGF0 aWMgaW50IGFybV9kZWZhdWx0X2JyYW5jaF9jb3N0IChib29sLCBib29sKTsK IHN0YXRpYyBpbnQgYXJtX2NvcnRleF9hNV9icmFuY2hfY29zdCAoYm9vbCwg Ym9vbCk7CiBzdGF0aWMgaW50IGFybV9jb3J0ZXhfbV9icmFuY2hfY29zdCAo Ym9vbCwgYm9vbCk7CitzdGF0aWMgaW50IGFybV9jb3J0ZXhfbTdfYnJhbmNo X2Nvc3QgKGJvb2wsIGJvb2wpOwogCiBzdGF0aWMgYm9vbCBhcm1fdmVjdG9y aXplX3ZlY19wZXJtX2NvbnN0X29rIChtYWNoaW5lX21vZGUgdm1vZGUsCiAJ CQkJCSAgICAgY29uc3QgdW5zaWduZWQgY2hhciAqc2VsKTsKQEAgLTE5Njcs MTAgKzE5NjgsMTAgQEAgY29uc3Qgc3RydWN0IHR1bmVfcGFyYW1zIGFybV9j b3J0ZXhfbTdfdHVuZSA9CiAgICZ2N21fZXh0cmFfY29zdHMsCiAgIE5VTEws CQkJCQkJLyogU2NoZWQgYWRqIGNvc3QuICAqLwogICAwLAkJCQkJCS8qIENv bnN0YW50IGxpbWl0LiAgKi8KLSAgMCwJCQkJCQkvKiBNYXggY29uZCBpbnNu cy4gICovCisgIDEsCQkJCQkJLyogTWF4IGNvbmQgaW5zbnMuICAqLwogICBB Uk1fUFJFRkVUQ0hfTk9UX0JFTkVGSUNJQUwsCiAgIHRydWUsCQkJCQkJLyog UHJlZmVyIGNvbnN0YW50IHBvb2wuICAqLwotICBhcm1fY29ydGV4X21fYnJh bmNoX2Nvc3QsCisgIGFybV9jb3J0ZXhfbTdfYnJhbmNoX2Nvc3QsCiAgIGZh bHNlLAkJCQkJLyogUHJlZmVyIExEUkQvU1RSRC4gICovCiAgIHt0cnVlLCB0 cnVlfSwJCQkJCS8qIFByZWZlciBub24gc2hvcnQgY2lyY3VpdC4gICovCiAg ICZhcm1fZGVmYXVsdF92ZWNfY29zdCwgICAgICAgICAgICAgICAgICAgICAg ICAvKiBWZWN0b3JpemVyIGNvc3RzLiAgKi8KQEAgLTEyMDE1LDYgKzEyMDE2 LDEyIEBAIGFybV9jb3J0ZXhfbV9icmFuY2hfY29zdCAoYm9vbCBzcGVlZF9w LCBib29sIHByZWRpY3RhYmxlX3ApCiAgICAgICAgICA6IGFybV9kZWZhdWx0 X2JyYW5jaF9jb3N0IChzcGVlZF9wLCBwcmVkaWN0YWJsZV9wKTsKIH0KIAor c3RhdGljIGludAorYXJtX2NvcnRleF9tN19icmFuY2hfY29zdCAoYm9vbCBz cGVlZF9wLCBib29sIHByZWRpY3RhYmxlX3ApCit7CisgIHJldHVybiBzcGVl ZF9wID8gMCA6IGFybV9kZWZhdWx0X2JyYW5jaF9jb3N0IChzcGVlZF9wLCBw cmVkaWN0YWJsZV9wKTsKK30KKwogc3RhdGljIGJvb2wgZnBfY29uc3RzX2lu aXRlZCA9IGZhbHNlOwogCiBzdGF0aWMgUkVBTF9WQUxVRV9UWVBFIHZhbHVl X2ZwMDsK ------=_NextPart_000_0049_01D03025.FA732E00--