From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 34811 invoked by alias); 28 Apr 2016 19:16:53 -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 34797 invoked by uid 89); 28 Apr 2016 19:16:53 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.2 required=5.0 tests=AWL,BAYES_00,FREEMAIL_FROM,RCVD_IN_DNSWL_NONE,SPF_PASS autolearn=ham version=3.3.2 spammy=QImode, qimode, peepholes, const0_rtx X-HELO: mail-yw0-f171.google.com Received: from mail-yw0-f171.google.com (HELO mail-yw0-f171.google.com) (209.85.161.171) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-GCM-SHA256 encrypted) ESMTPS; Thu, 28 Apr 2016 19:16:42 +0000 Received: by mail-yw0-f171.google.com with SMTP id t10so139280170ywa.0 for ; Thu, 28 Apr 2016 12:16:42 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:date:message-id:subject:from:to:cc; bh=apEKbM59PqQe7GJvTluMl/kqESszMsbfwaY0jHaD22M=; b=E/ZYIfh/PGV1OKXl+oFChm7Cx1xdeuQ//kRZ8K8LQcg94HT3yKe7XeNPXEiPvShmU1 kPe/zAyi/XZWw6nnTK13l/1XrWW9nayqtkiJa/fcrj5MYzxxNQh0ycKqdTQQmS9nVbWV GRKY27Uwb4Tc24qElLoiEV+Mtxn/tK4dr6Zp/OlBqO7utwmdJR6wvh+BVtOXXNQbzBOG u8L7Wnn560GJHEcyjpt8g38F8D3WwC5862ffN8iztYAAhTnSavwrxwsEYMK0IvQi/Tid ywo06FzlCgpOEmugSUbhH82Vw3grZg1+nlGApq0qU/oYVzcTmzHzPzfv5kkh+3xPvkLX hEng== X-Gm-Message-State: AOPr4FVJaIaGy2IABYsciTH4PKjD5Cx7unmr4FHrtoMTSxzpWx9D0ZuzRFEA8FFIJXmf6CRol3YtfHP9uyLksw== MIME-Version: 1.0 X-Received: by 10.176.64.104 with SMTP id h95mr8751380uad.84.1461871000791; Thu, 28 Apr 2016 12:16:40 -0700 (PDT) Received: by 10.103.76.220 with HTTP; Thu, 28 Apr 2016 12:16:40 -0700 (PDT) Date: Thu, 28 Apr 2016 19:16:00 -0000 Message-ID: Subject: [PATCH, i386]: Extend TARGET_READ_MODIFY{,_WRITE} peepholes to all integer modes From: Uros Bizjak To: "gcc-patches@gcc.gnu.org" Cc: Eric Botcazou Content-Type: multipart/mixed; boundary=94eb2c0480deb5e5f80531905d28 X-SW-Source: 2016-04/txt/msg01896.txt.bz2 --94eb2c0480deb5e5f80531905d28 Content-Type: text/plain; charset=UTF-8 Content-length: 739 Hello! Attached patch extends TARGET_READ_MODIFY{,_WRITE} peepholes to handle all integer modes, while also taking care not to introduce additional QImode register stalls. While looking at the insn enable condition, I noticed that we don't use "probe_stack" pattern any more, as the stack check loop is now implemented in a different way. 2016-04-28 Uros Bizjak * config/i386/i386.md (peephole2s for operations with memory inputs): Use SWI mode iterator. (peephole2s for operations with memory outputs): Ditto. Do not check for stack checking probe. (probe_stack): Remove expander. Patch was bootstrapped and regression tested on x86_64-linux-gnu {,-m32}. Committed to mainline SVN. Uros. --94eb2c0480deb5e5f80531905d28 Content-Type: text/plain; charset=US-ASCII; name="p.diff.txt" Content-Disposition: attachment; filename="p.diff.txt" Content-Transfer-Encoding: base64 X-Attachment-Id: f_inko8uug0 Content-length: 5482 SW5kZXg6IGNvbmZpZy9pMzg2L2kzODYubWQKPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQotLS0gY29uZmlnL2kzODYvaTM4Ni5tZAkocmV2aXNpb24gMjM1NTgy KQorKysgY29uZmlnL2kzODYvaTM4Ni5tZAkod29ya2luZyBjb3B5KQpAQCAt MTc1NTIsMjAgKzE3NTUyLDYgQEAKICAgRE9ORTsKIH0pCiAKLTs7IFVzZSBJ T1IgZm9yIHN0YWNrIHByb2JlcywgdGhpcyBpcyBzaG9ydGVyLgotKGRlZmlu ZV9leHBhbmQgInByb2JlX3N0YWNrIgotICBbKG1hdGNoX29wZXJhbmQgMCAi bWVtb3J5X29wZXJhbmQiKV0KLSAgIiIKLXsKLSAgcnR4ICgqZ2VuX2lvcjMp IChydHgsIHJ0eCwgcnR4KTsKLQotICBnZW5faW9yMyA9IChHRVRfTU9ERSAo b3BlcmFuZHNbMF0pID09IERJbW9kZQotCSAgICAgID8gZ2VuX2lvcmRpMyA6 IGdlbl9pb3JzaTMpOwotCi0gIGVtaXRfaW5zbiAoZ2VuX2lvcjMgKG9wZXJh bmRzWzBdLCBvcGVyYW5kc1swXSwgY29uc3QwX3J0eCkpOwotICBET05FOwot fSkKLQogKGRlZmluZV9pbnNuICJhZGp1c3Rfc3RhY2tfYW5kX3Byb2JlPG1v ZGU+IgogICBbKHNldCAobWF0Y2hfb3BlcmFuZDpQIDAgInJlZ2lzdGVyX29w ZXJhbmQiICI9ciIpCiAJKHVuc3BlY192b2xhdGlsZTpQIFsobWF0Y2hfb3Bl cmFuZDpQIDEgInJlZ2lzdGVyX29wZXJhbmQiICIwIildCkBAIC0xNzg5NCwx MSArMTc4ODAsMTEgQEAKIAogOzsgRG9uJ3QgZG8gbG9naWNhbCBvcGVyYXRp b25zIHdpdGggbWVtb3J5IGlucHV0cy4KIChkZWZpbmVfcGVlcGhvbGUyCi0g IFsobWF0Y2hfc2NyYXRjaDpTSSAyICJyIikKLSAgIChwYXJhbGxlbCBbKHNl dCAobWF0Y2hfb3BlcmFuZDpTSSAwICJyZWdpc3Rlcl9vcGVyYW5kIikKLSAg ICAgICAgICAgICAgICAgICAobWF0Y2hfb3BlcmF0b3I6U0kgMyAiYXJpdGhf b3JfbG9naWNhbF9vcGVyYXRvciIKKyAgWyhtYXRjaF9zY3JhdGNoOlNXSSAy ICI8cj4iKQorICAgKHBhcmFsbGVsIFsoc2V0IChtYXRjaF9vcGVyYW5kOlNX SSAwICJyZWdpc3Rlcl9vcGVyYW5kIikKKwkJICAgKG1hdGNoX29wZXJhdG9y OlNXSSAzICJhcml0aF9vcl9sb2dpY2FsX29wZXJhdG9yIgogICAgICAgICAg ICAgICAgICAgICAgWyhtYXRjaF9kdXAgMCkKLSAgICAgICAgICAgICAgICAg ICAgICAobWF0Y2hfb3BlcmFuZDpTSSAxICJtZW1vcnlfb3BlcmFuZCIpXSkp CisJCSAgICAgIChtYXRjaF9vcGVyYW5kOlNXSSAxICJtZW1vcnlfb3BlcmFu ZCIpXSkpCiAgICAgICAgICAgICAgIChjbG9iYmVyIChyZWc6Q0MgRkxBR1Nf UkVHKSldKV0KICAgIiEoVEFSR0VUX1JFQURfTU9ESUZZIHx8IG9wdGltaXpl X2luc25fZm9yX3NpemVfcCAoKSkiCiAgIFsoc2V0IChtYXRjaF9kdXAgMikg KG1hdGNoX2R1cCAxKSkKQEAgLTE3OTA3LDEwICsxNzg5MywxMCBAQAogICAg ICAgICAgICAgICAoY2xvYmJlciAocmVnOkNDIEZMQUdTX1JFRykpXSldKQog CiAoZGVmaW5lX3BlZXBob2xlMgotICBbKG1hdGNoX3NjcmF0Y2g6U0kgMiAi ciIpCi0gICAocGFyYWxsZWwgWyhzZXQgKG1hdGNoX29wZXJhbmQ6U0kgMCAi cmVnaXN0ZXJfb3BlcmFuZCIpCi0gICAgICAgICAgICAgICAgICAgKG1hdGNo X29wZXJhdG9yOlNJIDMgImFyaXRoX29yX2xvZ2ljYWxfb3BlcmF0b3IiCi0g ICAgICAgICAgICAgICAgICAgICBbKG1hdGNoX29wZXJhbmQ6U0kgMSAibWVt b3J5X29wZXJhbmQiKQorICBbKG1hdGNoX3NjcmF0Y2g6U1dJIDIgIjxyPiIp CisgICAocGFyYWxsZWwgWyhzZXQgKG1hdGNoX29wZXJhbmQ6U1dJIDAgInJl Z2lzdGVyX29wZXJhbmQiKQorCQkgICAobWF0Y2hfb3BlcmF0b3I6U1dJIDMg ImFyaXRoX29yX2xvZ2ljYWxfb3BlcmF0b3IiCisJCSAgICAgWyhtYXRjaF9v cGVyYW5kOlNXSSAxICJtZW1vcnlfb3BlcmFuZCIpCiAgICAgICAgICAgICAg ICAgICAgICAgKG1hdGNoX2R1cCAwKV0pKQogICAgICAgICAgICAgICAoY2xv YmJlciAocmVnOkNDIEZMQUdTX1JFRykpXSldCiAgICIhKFRBUkdFVF9SRUFE X01PRElGWSB8fCBvcHRpbWl6ZV9pbnNuX2Zvcl9zaXplX3AgKCkpIgpAQCAt MTc5NjIsMTUgKzE3OTQ4LDEzIEBACiA7IHRoZSBzYW1lIGRlY29kZXIgc2No ZWR1bGluZyBjaGFyYWN0ZXJpc3RpY3MgYXMgdGhlIG9yaWdpbmFsLgogCiAo ZGVmaW5lX3BlZXBob2xlMgotICBbKG1hdGNoX3NjcmF0Y2g6U0kgMiAiciIp Ci0gICAocGFyYWxsZWwgWyhzZXQgKG1hdGNoX29wZXJhbmQ6U0kgMCAibWVt b3J5X29wZXJhbmQiKQotICAgICAgICAgICAgICAgICAgIChtYXRjaF9vcGVy YXRvcjpTSSAzICJhcml0aF9vcl9sb2dpY2FsX29wZXJhdG9yIgorICBbKG1h dGNoX3NjcmF0Y2g6U1dJIDIgIjxyPiIpCisgICAocGFyYWxsZWwgWyhzZXQg KG1hdGNoX29wZXJhbmQ6U1dJIDAgIm1lbW9yeV9vcGVyYW5kIikKKwkJICAg KG1hdGNoX29wZXJhdG9yOlNXSSAzICJhcml0aF9vcl9sb2dpY2FsX29wZXJh dG9yIgogICAgICAgICAgICAgICAgICAgICAgWyhtYXRjaF9kdXAgMCkKLSAg ICAgICAgICAgICAgICAgICAgICAobWF0Y2hfb3BlcmFuZDpTSSAxICJub25t ZW1vcnlfb3BlcmFuZCIpXSkpCisJCSAgICAgIChtYXRjaF9vcGVyYW5kOlNX SSAxICI8bm9ubWVtb3J5X29wZXJhbmQ+IildKSkKICAgICAgICAgICAgICAg KGNsb2JiZXIgKHJlZzpDQyBGTEFHU19SRUcpKV0pXQotICAiIShUQVJHRVRf UkVBRF9NT0RJRllfV1JJVEUgfHwgb3B0aW1pemVfaW5zbl9mb3Jfc2l6ZV9w ICgpKQotICAgLyogRG8gbm90IHNwbGl0IHN0YWNrIGNoZWNraW5nIHByb2Jl cy4gICovCi0gICAmJiBHRVRfQ09ERSAob3BlcmFuZHNbM10pICE9IElPUiAm JiBvcGVyYW5kc1sxXSAhPSBjb25zdDBfcnR4IgorICAiIShUQVJHRVRfUkVB RF9NT0RJRllfV1JJVEUgfHwgb3B0aW1pemVfaW5zbl9mb3Jfc2l6ZV9wICgp KSIKICAgWyhzZXQgKG1hdGNoX2R1cCAyKSAobWF0Y2hfZHVwIDApKQogICAg KHBhcmFsbGVsIFsoc2V0IChtYXRjaF9kdXAgMikKICAgICAgICAgICAgICAg ICAgICAobWF0Y2hfb3BfZHVwIDMgWyhtYXRjaF9kdXAgMikgKG1hdGNoX2R1 cCAxKV0pKQpAQCAtMTc5NzgsMTUgKzE3OTYyLDEzIEBACiAgICAoc2V0ICht YXRjaF9kdXAgMCkgKG1hdGNoX2R1cCAyKSldKQogCiAoZGVmaW5lX3BlZXBo b2xlMgotICBbKG1hdGNoX3NjcmF0Y2g6U0kgMiAiciIpCi0gICAocGFyYWxs ZWwgWyhzZXQgKG1hdGNoX29wZXJhbmQ6U0kgMCAibWVtb3J5X29wZXJhbmQi KQotICAgICAgICAgICAgICAgICAgIChtYXRjaF9vcGVyYXRvcjpTSSAzICJh cml0aF9vcl9sb2dpY2FsX29wZXJhdG9yIgotICAgICAgICAgICAgICAgICAg ICAgWyhtYXRjaF9vcGVyYW5kOlNJIDEgIm5vbm1lbW9yeV9vcGVyYW5kIikK KyAgWyhtYXRjaF9zY3JhdGNoOlNXSSAyICI8cj4iKQorICAgKHBhcmFsbGVs IFsoc2V0IChtYXRjaF9vcGVyYW5kOlNXSSAwICJtZW1vcnlfb3BlcmFuZCIp CisJCSAgIChtYXRjaF9vcGVyYXRvcjpTV0kgMyAiYXJpdGhfb3JfbG9naWNh bF9vcGVyYXRvciIKKwkJICAgICBbKG1hdGNoX29wZXJhbmQ6U1dJIDEgIjxu b25tZW1vcnlfb3BlcmFuZD4iKQogICAgICAgICAgICAgICAgICAgICAgICht YXRjaF9kdXAgMCldKSkKICAgICAgICAgICAgICAgKGNsb2JiZXIgKHJlZzpD QyBGTEFHU19SRUcpKV0pXQotICAiIShUQVJHRVRfUkVBRF9NT0RJRllfV1JJ VEUgfHwgb3B0aW1pemVfaW5zbl9mb3Jfc2l6ZV9wICgpKQotICAgLyogRG8g bm90IHNwbGl0IHN0YWNrIGNoZWNraW5nIHByb2Jlcy4gICovCi0gICAmJiBH RVRfQ09ERSAob3BlcmFuZHNbM10pICE9IElPUiAmJiBvcGVyYW5kc1sxXSAh PSBjb25zdDBfcnR4IgorICAiIShUQVJHRVRfUkVBRF9NT0RJRllfV1JJVEUg fHwgb3B0aW1pemVfaW5zbl9mb3Jfc2l6ZV9wICgpKSIKICAgWyhzZXQgKG1h dGNoX2R1cCAyKSAobWF0Y2hfZHVwIDApKQogICAgKHBhcmFsbGVsIFsoc2V0 IChtYXRjaF9kdXAgMikKICAgICAgICAgICAgICAgICAgICAobWF0Y2hfb3Bf ZHVwIDMgWyhtYXRjaF9kdXAgMSkgKG1hdGNoX2R1cCAyKV0pKQo= --94eb2c0480deb5e5f80531905d28--