From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-qk1-x72f.google.com (mail-qk1-x72f.google.com [IPv6:2607:f8b0:4864:20::72f]) by sourceware.org (Postfix) with ESMTPS id 5441E3857427 for ; Fri, 17 Jun 2022 15:22:34 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 5441E3857427 Received: by mail-qk1-x72f.google.com with SMTP id l192so3357329qke.13 for ; Fri, 17 Jun 2022 08:22:34 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=gA27JTcxcl8/NUA1m69fz5TA1Wdy/ZeoFHYev6BpP7U=; b=RhPD5O+sJxgwEjuwzB6tEVpKcA9eK9aP+ToUORLdUCEn9REzj4SF/yLTHaMv4f5oiV hHQoLanpli/EpDfjFOALGEFZwCjlBiN2ybdpW+knvJ9CiGba0Gt+OCXszz+nXgANRMD7 bXPwSjPCeoeshgSOYCUVrkYZ/IjYsuP70s/57VMIjayqFH7JJpqpdN1GUa8HloQ+3wIk ZZyRKSBX104MywozEF9sWjFC4+HbgKBzOt+U/DBggI1XfazOINNxIoo+WzBWHg1CCkwV pJ+qOoxbUpbjQWV5PbcUUlMFlzJWpENNBqHzCUWQd/awCNsZGGS+KJfGO5Kvi+DmAM+9 ZJsw== X-Gm-Message-State: AJIora/sCIb2DOqJ2paq1FTTtyNdxuKAeKbTVhYruDK6N8pJ6om7urFq +UePYR18UdlBPbUVwCzr+JReSdW8bslicNXTdiX4KEcKs96XoQ== X-Google-Smtp-Source: AGRyM1tRfO70KruCeCfDrQqWLmUkow+R/FsrxbtiYA84a0+PDLSj4KNHQspGorPqxtejtBCdeMgqPyWdFnocS6SUARA= X-Received: by 2002:a05:620a:1a0d:b0:6a6:ba92:d82b with SMTP id bk13-20020a05620a1a0d00b006a6ba92d82bmr7439919qkb.522.1655479353470; Fri, 17 Jun 2022 08:22:33 -0700 (PDT) MIME-Version: 1.0 From: Uros Bizjak Date: Fri, 17 Jun 2022 17:22:22 +0200 Message-ID: Subject: [PATCH] alpha: Introduce target specific store_data_bypass_p function [PR105209] To: "gcc-patches@gcc.gnu.org" Content-Type: multipart/mixed; boundary="000000000000cc2c8005e1a65237" X-Spam-Status: No, score=-8.8 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_FROM, GIT_PATCH_0, KAM_SHORT, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) 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: Fri, 17 Jun 2022 15:22:36 -0000 --000000000000cc2c8005e1a65237 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable This patch introduces alpha-specific version of store_data_bypass_p that ignores TRAP_IF that would result in assertion failure (and internal compiler error) in the generic store_data_bypass_p function. While at it, also remove ev4_ist_c reservation, store_data_bypass_p can handle the patterns with multiple sets since some time ago. 2022-06-17 Uro=C5=A1 Bizjak gcc/ChangeLog: PR target/105209 * config/alpha/alpha-protos.h (alpha_store_data_bypass_p): New. * config/alpha/alpha.cc (alpha_store_data_bypass_p): New function. (alpha_store_data_bypass_p_1): Ditto. * config/alpha/ev4.md: Use alpha_store_data_bypass_p instead of generic store_data_bypass_p. (ev4_ist_c): Remove insn reservation. gcc/testsuite/ChangeLog: PR target/105209 * gcc.target/alpha/pr105209.c: New test. Tested with a cross-compiler. Pushed to master. Uros. --000000000000cc2c8005e1a65237 Content-Type: text/plain; charset="US-ASCII"; name="p.diff.txt" Content-Disposition: attachment; filename="p.diff.txt" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_l4ilncel0 ZGlmZiAtLWdpdCBhL2djYy9jb25maWcvYWxwaGEvYWxwaGEtcHJvdG9zLmggYi9nY2MvY29uZmln L2FscGhhL2FscGhhLXByb3Rvcy5oCmluZGV4IDBjODMyYmYwMzljLi5hZGZkZDc3NGVmNCAxMDA2 NDQKLS0tIGEvZ2NjL2NvbmZpZy9hbHBoYS9hbHBoYS1wcm90b3MuaAorKysgYi9nY2MvY29uZmln L2FscGhhL2FscGhhLXByb3Rvcy5oCkBAIC03Myw2ICs3Myw4IEBAIGV4dGVybiB2b2lkIGFscGhh X2VuZF9mdW5jdGlvbiAoRklMRSAqLCBjb25zdCBjaGFyICosIHRyZWUpOwogCiBleHRlcm4gYm9v bCBhbHBoYV9maW5kX2xvX3N1bV91c2luZ19ncCAocnR4KTsKIAorZXh0ZXJuIGludCBhbHBoYV9z dG9yZV9kYXRhX2J5cGFzc19wIChydHhfaW5zbiAqLCBydHhfaW5zbiAqKTsKKwogI2lmZGVmIFJF QUxfVkFMVUVfVFlQRQogZXh0ZXJuIGludCBjaGVja19mbG9hdF92YWx1ZSAobWFjaGluZV9tb2Rl LCBSRUFMX1ZBTFVFX1RZUEUgKiwgaW50KTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvZ2NjL2NvbmZp Zy9hbHBoYS9hbHBoYS5jYyBiL2djYy9jb25maWcvYWxwaGEvYWxwaGEuY2MKaW5kZXggM2RiNTMz NzRjOWUuLjBhODVlNjZmYTg5IDEwMDY0NAotLS0gYS9nY2MvY29uZmlnL2FscGhhL2FscGhhLmNj CisrKyBiL2djYy9jb25maWcvYWxwaGEvYWxwaGEuY2MKQEAgLTc1NjQsNiArNzU2NCw3NSBAQCBh bHBoYV9kb2VzX2Z1bmN0aW9uX25lZWRfZ3AgKHZvaWQpCiAgIHJldHVybiAwOwogfQogCisvKiBI ZWxwZXIgZnVuY3Rpb24gZm9yIGFscGhhX3N0b3JlX2RhdGFfYnlwYXNzX3AsIGhhbmRsZSBqdXN0 IGEgc2luZ2xlIFNFVAorICAgSU5fU0VULiAgKi8KKworc3RhdGljIGJvb2wKK2FscGhhX3N0b3Jl X2RhdGFfYnlwYXNzX3BfMSAocnR4X2luc24gKm91dF9pbnNuLCBydHggaW5fc2V0KQoreworICBp ZiAoIU1FTV9QIChTRVRfREVTVCAoaW5fc2V0KSkpCisgICAgcmV0dXJuIGZhbHNlOworCisgIHJ0 eCBvdXRfc2V0ID0gc2luZ2xlX3NldCAob3V0X2luc24pOworICBpZiAob3V0X3NldCkKKyAgICBy ZXR1cm4gIXJlZ19tZW50aW9uZWRfcCAoU0VUX0RFU1QgKG91dF9zZXQpLCBTRVRfREVTVCAoaW5f c2V0KSk7CisKKyAgcnR4IG91dF9wYXQgPSBQQVRURVJOIChvdXRfaW5zbik7CisgIGlmIChHRVRf Q09ERSAob3V0X3BhdCkgIT0gUEFSQUxMRUwpCisgICAgcmV0dXJuIGZhbHNlOworCisgIGZvciAo aW50IGkgPSAwOyBpIDwgWFZFQ0xFTiAob3V0X3BhdCwgMCk7IGkrKykKKyAgICB7CisgICAgICBy dHggb3V0X2V4cCA9IFhWRUNFWFAgKG91dF9wYXQsIDAsIGkpOworCisgICAgICBpZiAoR0VUX0NP REUgKG91dF9leHApID09IENMT0JCRVIgfHwgR0VUX0NPREUgKG91dF9leHApID09IFVTRQorCSAg fHwgR0VUX0NPREUgKG91dF9leHApID09IFRSQVBfSUYpCisJY29udGludWU7CisKKyAgICAgIGdj Y19hc3NlcnQgKEdFVF9DT0RFIChvdXRfZXhwKSA9PSBTRVQpOworCisgICAgICBpZiAocmVnX21l bnRpb25lZF9wIChTRVRfREVTVCAob3V0X2V4cCksIFNFVF9ERVNUIChpbl9zZXQpKSkKKwlyZXR1 cm4gZmFsc2U7CisgICAgfQorCisgIHJldHVybiB0cnVlOworfQorCisvKiBUcnVlIGlmIHRoZSBk ZXBlbmRlbmN5IGJldHdlZW4gT1VUX0lOU04gYW5kIElOX0lOU04gaXMgb24gdGhlIHN0b3JlCisg ICBkYXRhIG5vdCB0aGUgYWRkcmVzcyBvcGVyYW5kKHMpIG9mIHRoZSBzdG9yZS4gIElOX0lOU04g YW5kIE9VVF9JTlNOCisgICBtdXN0IGJlIGVpdGhlciBhIHNpbmdsZV9zZXQgb3IgYSBQQVJBTExF TCB3aXRoIFNFVHMgaW5zaWRlLgorCisgICBUaGlzIGFscGhhLXNwZWNpZmljIHZlcnNpb24gb2Yg c3RvcmVfZGF0YV9ieXBhc3NfcCBpZ25vcmVzIFRSQVBfSUYKKyAgIHRoYXQgd291bGQgcmVzdWx0 IGluIGFzc2VydGlvbiBmYWlsdXJlIChhbmQgaW50ZXJuYWwgY29tcGlsZXIgZXJyb3IpCisgICBp biB0aGUgZ2VuZXJpYyBzdG9yZV9kYXRhX2J5cGFzc19wIGZ1bmN0aW9uLiAgKi8KKworaW50Cith bHBoYV9zdG9yZV9kYXRhX2J5cGFzc19wIChydHhfaW5zbiAqb3V0X2luc24sIHJ0eF9pbnNuICpp bl9pbnNuKQoreworICBydHggaW5fc2V0ID0gc2luZ2xlX3NldCAoaW5faW5zbik7CisgIGlmIChp bl9zZXQpCisgICAgcmV0dXJuIGFscGhhX3N0b3JlX2RhdGFfYnlwYXNzX3BfMSAob3V0X2luc24s IGluX3NldCk7CisKKyAgcnR4IGluX3BhdCA9IFBBVFRFUk4gKGluX2luc24pOworICBpZiAoR0VU X0NPREUgKGluX3BhdCkgIT0gUEFSQUxMRUwpCisgICAgcmV0dXJuIGZhbHNlOworCisgIGZvciAo aW50IGkgPSAwOyBpIDwgWFZFQ0xFTiAoaW5fcGF0LCAwKTsgaSsrKQorICAgIHsKKyAgICAgIHJ0 eCBpbl9leHAgPSBYVkVDRVhQIChpbl9wYXQsIDAsIGkpOworCisgICAgICBpZiAoR0VUX0NPREUg KGluX2V4cCkgPT0gQ0xPQkJFUiB8fCBHRVRfQ09ERSAoaW5fZXhwKSA9PSBVU0UKKwkgIHx8IEdF VF9DT0RFIChpbl9leHApID09IFRSQVBfSUYpCisJY29udGludWU7CisKKyAgICAgIGdjY19hc3Nl cnQgKEdFVF9DT0RFIChpbl9leHApID09IFNFVCk7CisKKyAgICAgIGlmICghYWxwaGFfc3RvcmVf ZGF0YV9ieXBhc3NfcF8xIChvdXRfaW5zbiwgaW5fZXhwKSkKKwlyZXR1cm4gZmFsc2U7CisgICAg fQorCisgIHJldHVybiB0cnVlOworfQogDAogLyogSGVscGVyIGZ1bmN0aW9uIHRvIHNldCBSVFhf RlJBTUVfUkVMQVRFRF9QIG9uIGluc3RydWN0aW9ucywgaW5jbHVkaW5nCiAgICBzZXF1ZW5jZXMu ICAqLwpkaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9hbHBoYS9ldjQubWQgYi9nY2MvY29uZmlnL2Fs cGhhL2V2NC5tZAppbmRleCAwMWI5YTcyN2ExOC4uYzhmZjRlZDhmMGQgMTAwNjQ0Ci0tLSBhL2dj Yy9jb25maWcvYWxwaGEvZXY0Lm1kCisrKyBiL2djYy9jb25maWcvYWxwaGEvZXY0Lm1kCkBAIC00 NCwxNCArNDQsNyBAQCAoZGVmaW5lX2luc25fcmVzZXJ2YXRpb24gImV2NF9sZCIgMQogOyBTdG9y ZXMgY2FuIGlzc3VlIGJlZm9yZSB0aGUgZGF0YSAoYnV0IG5vdCBhZGRyZXNzKSBpcyByZWFkeS4K IChkZWZpbmVfaW5zbl9yZXNlcnZhdGlvbiAiZXY0X2lzdCIgMQogICAoYW5kIChlcV9hdHRyICJ0 dW5lIiAiZXY0IikKLSAgICAgICAoZXFfYXR0ciAidHlwZSIgImlzdCIpKQotICAiZXY0X2liMStl djRfYWJveCIpCi0KLTsgPz8/IFNlcGFyYXRlIGZyb20gZXY0X2lzdCBiZWNhdXNlIHN0b3JlX2Rh dGFfYnlwYXNzX3AgY2FuJ3QgaGFuZGxlCi07IHRoZSBwYXR0ZXJucyB3aXRoIG11bHRpcGxlIHNl dHMsIGxpa2Ugc3RvcmUtY29uZGl0aW9uYWwuCi0oZGVmaW5lX2luc25fcmVzZXJ2YXRpb24gImV2 NF9pc3RfYyIgMQotICAoYW5kIChlcV9hdHRyICJ0dW5lIiAiZXY0IikKLSAgICAgICAoZXFfYXR0 ciAidHlwZSIgInN0X2MiKSkKKyAgICAgICAoZXFfYXR0ciAidHlwZSIgImlzdCxzdF9jIikpCiAg ICJldjRfaWIxK2V2NF9hYm94IikKIAogKGRlZmluZV9pbnNuX3Jlc2VydmF0aW9uICJldjRfZnN0 IiAxCkBAIC0xMTAsNyArMTAzLDcgQEAgKGRlZmluZV9ieXBhc3MgMSAiZXY0X2ljbXAiICJldjRf aWJyIikKIChkZWZpbmVfYnlwYXNzIDAKICAgImV2NF9pYWRkbG9nLGV2NF9zaGlmdGNtLGV2NF9p Y21wIgogICAiZXY0X2lzdCIKLSAgInN0b3JlX2RhdGFfYnlwYXNzX3AiKQorICAiYWxwaGFfc3Rv cmVfZGF0YV9ieXBhc3NfcCIpCiAKIDsgTXVsdGlwbGllcyB1c2UgYSBub24tcGlwZWxpbmVkIGlt dWwgdW5pdC4gIEFsc28sICJubyBbZWJveF0gaW5zbiBjYW4KIDsgYmUgaXNzdWVkIGV4YWN0bHkg dGhyZWUgY3ljbGVzIGJlZm9yZSBhbiBpbnRlZ2VyIG11bHRpcGx5IGNvbXBsZXRlcyIuCkBAIC0x MjEsNyArMTE0LDcgQEAgKGRlZmluZV9pbnNuX3Jlc2VydmF0aW9uICJldjRfaW11bHNpIiAyMQog CSAgICAoZXFfYXR0ciAib3BzaXplIiAic2kiKSkpCiAgICJldjRfaWIwK2V2NF9pbXVsLGV2NF9p bXVsKjE4LGV2NF9lYm94IikKIAotKGRlZmluZV9ieXBhc3MgMjAgImV2NF9pbXVsc2kiICJldjRf aXN0IiAic3RvcmVfZGF0YV9ieXBhc3NfcCIpCisoZGVmaW5lX2J5cGFzcyAyMCAiZXY0X2ltdWxz aSIgImV2NF9pc3QiICJhbHBoYV9zdG9yZV9kYXRhX2J5cGFzc19wIikKIAogKGRlZmluZV9pbnNu X3Jlc2VydmF0aW9uICJldjRfaW11bGRpIiAyMwogICAoYW5kIChlcV9hdHRyICJ0dW5lIiAiZXY0 IikKQEAgLTEyOSw3ICsxMjIsNyBAQCAoZGVmaW5lX2luc25fcmVzZXJ2YXRpb24gImV2NF9pbXVs ZGkiIDIzCiAJICAgIChlcV9hdHRyICJvcHNpemUiICIhc2kiKSkpCiAgICJldjRfaWIwK2V2NF9p bXVsLGV2NF9pbXVsKjIwLGV2NF9lYm94IikKIAotKGRlZmluZV9ieXBhc3MgMjIgImV2NF9pbXVs ZGkiICJldjRfaXN0IiAic3RvcmVfZGF0YV9ieXBhc3NfcCIpCisoZGVmaW5lX2J5cGFzcyAyMiAi ZXY0X2ltdWxkaSIgImV2NF9pc3QiICJhbHBoYV9zdG9yZV9kYXRhX2J5cGFzc19wIikKIAogOyBN b3N0IEZQIGluc25zIGhhdmUgYSA2IGN5Y2xlIGxhdGVuY3ksIGJ1dCB3aXRoIGEgNCBjeWNsZSBi eXBhc3MgYmFjayBpbi4KIChkZWZpbmVfaW5zbl9yZXNlcnZhdGlvbiAiZXY0X2Zwb3AiIDYKZGlm ZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9hbHBoYS9wcjEwNTIwOS5jIGIvZ2Nj L3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2FscGhhL3ByMTA1MjA5LmMKbmV3IGZpbGUgbW9kZSAxMDA2 NDQKaW5kZXggMDAwMDAwMDAwMDAuLmI4OWJlOTZkYzFkCi0tLSAvZGV2L251bGwKKysrIGIvZ2Nj L3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2FscGhhL3ByMTA1MjA5LmMKQEAgLTAsMCArMSwyNiBAQAor LyogeyBkZy1kbyBjb21waWxlIH0gKi8KKy8qIHsgZGctb3B0aW9ucyAiLU8yIC1mdHJhcHYgLW1j cHU9ZXY0IiB9ICovCisKK3R5cGVkZWYgc3RydWN0IHRub2RlX3QgeworICAgICAgICBzdHJ1Y3Qg dG5vZGVfdCAqdG5fbGVmdCwgKnRuX3JpZ2h0OworICAgICAgICBpbnQgdl9xdWFkOworfSB0bm9k ZV90OworCitpbnQgY29uc3RhbnRfYWRkcihjb25zdCB0bm9kZV90ICosIGxvbmcgKik7CitpbnQg Y29uc3RhbnRfYWRkcihjb25zdCB0bm9kZV90ICp0biwgbG9uZyAqb2Zmc3ApCit7CisgICAgICAg IGxvbmcgb2ZmczEgPSAwLCBvZmZzMiA9IDA7CisKKyAgICAgICAgaWYgKHRuLT52X3F1YWQgPiAw KSB7CisgICAgICAgICAgICAgICAgb2ZmczEgPSB0bi0+dl9xdWFkOworICAgICAgICAgICAgICAg IHJldHVybiAwOworICAgICAgICB9IGVsc2UgaWYgKHRuLT52X3F1YWQgPiAtMSkgeworICAgICAg ICAgICAgICAgIG9mZnMyID0gdG4tPnRuX3JpZ2h0LT52X3F1YWQ7CisgICAgICAgICAgICAgICAg aWYgKCFjb25zdGFudF9hZGRyKHRuLT50bl9sZWZ0LCAmb2ZmczEpKQorICAgICAgICAgICAgICAg ICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgcmV0 dXJuIDA7CisgICAgICAgIH0KKyAgICAgICAgKm9mZnNwID0gb2ZmczEgKyBvZmZzMjsKKyAgICAg ICAgcmV0dXJuIDE7Cit9Cg== --000000000000cc2c8005e1a65237--