From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 13610 invoked by alias); 2 Oct 2015 12:36:39 -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 13599 invoked by uid 89); 2 Oct 2015 12:36:39 -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_50,KAM_LAZY_DOMAIN_SECURITY,RCVD_IN_DNSWL_NONE,T_RP_MATCHES_RCVD autolearn=no version=3.3.2 X-HELO: mailout07.t-online.de Received: from mailout07.t-online.de (HELO mailout07.t-online.de) (194.25.134.83) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES256-GCM-SHA384 encrypted) ESMTPS; Fri, 02 Oct 2015 12:36:37 +0000 Received: from fwd32.aul.t-online.de (fwd32.aul.t-online.de [172.20.26.144]) by mailout07.t-online.de (Postfix) with SMTP id 6C239C65E5 for ; Fri, 2 Oct 2015 14:36:33 +0200 (CEST) Received: from [192.168.0.16] (X7m-WTZJohwpHJNb2efVKHAMxkwa-gv4REHmF+-k6DtCUOuSwRYjuweLeOWyczKgfm@[115.165.93.200]) by fwd32.t-online.de with (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384 encrypted) esmtp id 1ZhzZd-48x6Rs0; Fri, 2 Oct 2015 14:36:29 +0200 Message-ID: <1443789386.2031.143.camel@t-online.de> Subject: [SH][committed] From: Oleg Endo To: gcc-patches Date: Fri, 02 Oct 2015 12:36:00 -0000 Content-Type: multipart/mixed; boundary="=-Ef6/rYqOVJNsiWSfcjqT" Mime-Version: 1.0 X-IsSubscribed: yes X-SW-Source: 2015-10/txt/msg00202.txt.bz2 --=-Ef6/rYqOVJNsiWSfcjqT Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit Content-length: 745 Hi, The attached SH patch converts sequences such as: movt r2 movt r13 into: movt r2 mov r2,r13 This shortens the live range of the T bit register and is better for parallel execution. It doesn't happen often, but it's easy to avoid it. Unfortunately I had to do this manually because cprop_hardreg gets in the way here. If done as a peephole2, cprop_hardreg then unconditionally just converts it back, because it thinks that all reg copies are equal in some way. Tested on sh-elf with make -k check RUNTESTFLAGS="--target_board=sh-sim \{-m2/-ml,-m2/-mb,-m2a/-mb,-m4/-ml,-m4/-mb,-m4a/-ml,-m4a/-mb}" Committed as r228386. Cheers, Oleg gcc/ChangeLog: * config/sh/sh.md: Add new unnamed split pattern to handle movt-movt sequences. --=-Ef6/rYqOVJNsiWSfcjqT Content-Disposition: attachment; filename="sh_movt_movt.patch" Content-Type: text/x-patch; name="sh_movt_movt.patch"; charset="UTF-8" Content-Transfer-Encoding: base64 Content-length: 2286 SW5kZXg6IGdjYy9jb25maWcvc2gvc2gubWQKPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQotLS0gZ2NjL2NvbmZpZy9zaC9zaC5tZAkocmV2aXNpb24gMjI4MzMx KQorKysgZ2NjL2NvbmZpZy9zaC9zaC5tZAkod29ya2luZyBjb3B5KQpAQCAt MTQ4NjAsNiArMTQ4NjAsNDYgQEAKIAkJCSAgZ2VuX3J0eF9SRUcgKFNJbW9k ZSwgKFJFR05PIChvcGVyYW5kc1sxXSkpKSkpOwogfSkKIAorOzsgVGhpcyBp cyBub3QgYSBwZWVwaG9sZSwgYnV0IGl0J3MgaGVyZSBiZWNhdXNlIGl0J3Mg YWN0dWFsbHkgc3VwcG9zZWQKKzs7IHRvIGJlIG9uZS4gIEl0IHRyaWVzIHRv IGNvbnZlcnQgYSBzZXF1ZW5jZSBzdWNoIGFzCis7Owltb3Z0CXIyCS0+CW1v dnQJcjIKKzs7CW1vdnQJcjEzCQltb3YJcjIscjEzCis7OyBUaGlzIGdpdmVz IHRoZSBzY2hkdWxlciBhIGJpdCBtb3JlIGZyZWVkb20gdG8gaG9pc3QgYSBm b2xsb3dpbmcKKzs7IGNvbXBhcmlzb24gaW5zbi4gIE1vcmVvdmVyLCBpdCB0 aGUgcmVnLXJlZyBtb3YgaW5zbiBpcyBNVCBncm91cCB3aGljaCBoYXMKKzs7 IGJldHRlciBjaGFuY2VzIGZvciBwYXJhbGxlbCBleGVjdXRpb24uCis7OyBX ZSBjYW4gZG8gdGhpcyB3aXRoIGEgcGVlcGhvbGUyIHBhdHRlcm4sIGJ1dCB0 aGVuIHRoZSBjcHJvcF9oYXJkcmVnCis7OyBwYXNzIHdpbGwgcmV2ZXJ0IHRo ZSBjaGFuZ2UuICBTZWUgYWxzbyBQUiA2NDMzMS4KKzs7IFRodXMgZG8gaXQg bWFudWFsbHkgaW4gb25lIG9mIHRoZSBzcGxpdCBwYXNzZXMgYWZ0ZXIgcmVn aXN0ZXIgYWxsb2NhdGlvbi4KKzs7IFNvbWV0aW1lcyB0aGUgY3Byb3BfaGFy ZHJlZyBwYXNzIG1pZ2h0IGFsc28gZWxpbWluYXRlIHRoZSByZWctcmVnIGNv cHkuCisoZGVmaW5lX3NwbGl0CisgIFsoc2V0IChtYXRjaF9vcGVyYW5kOlNJ IDAgImFyaXRoX3JlZ19kZXN0IikKKwkobWF0Y2hfb3BlcmFuZDpTSSAxICJ0 X3JlZ19vcGVyYW5kIikpXQorICAiVEFSR0VUX1NIMSAmJiByZWxvYWRfY29t cGxldGVkIgorICBbKHNldCAobWF0Y2hfZHVwIDApIChtYXRjaF9kdXAgMSkp XQoreworICBydHggdF9yZWcgPSBnZXRfdF9yZWdfcnR4ICgpOworCisgIGZv ciAocnR4X2luc24qIGkgPSBwcmV2X25vbm5vdGVfaW5zbl9iYiAoY3Vycl9p bnNuKTsgaSAhPSBOVUxMOworICAgICAgIGkgPSBwcmV2X25vbm5vdGVfaW5z bl9iYiAoaSkpCisgICAgeworICAgICAgaWYgKCFJTlNOX1AgKGkpIHx8IERF QlVHX0lOU05fUCAoaSkpCisJY29udGludWU7CisKKyAgICAgIGlmIChtb2Rp ZmllZF9pbl9wICh0X3JlZywgaSkgfHwgQkFSUklFUl9QIChpKSkKKwlGQUlM OworCisgICAgICBpZiAoc2hfaXNfbW92dF9pbnNuIChpKSkKKwl7CisJICBy dHggciA9IHNoX21vdnRfc2V0X2Rlc3QgKGkpOworCSAgaWYgKCFtb2RpZmll ZF9iZXR3ZWVuX3AgKHIsIGksIGN1cnJfaW5zbikpCisJICAgIHsKKwkgICAg ICBvcGVyYW5kc1sxXSA9IHI7CisJICAgICAgYnJlYWs7CisJICAgfQorCX0K KyAgICB9Cit9KQorCiAoZGVmaW5lX3BlZXBob2xlCiAgIFsoc2V0IChtYXRj aF9vcGVyYW5kOlNJIDAgInJlZ2lzdGVyX29wZXJhbmQiICI9ciIpCiAJKHBs dXM6U0kgKG1hdGNoX2R1cCAwKSAobWF0Y2hfb3BlcmFuZDpTSSAxICJyZWdp c3Rlcl9vcGVyYW5kIiAiciIpKSkK --=-Ef6/rYqOVJNsiWSfcjqT--