From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pg1-x531.google.com (mail-pg1-x531.google.com [IPv6:2607:f8b0:4864:20::531]) by sourceware.org (Postfix) with ESMTPS id D415C38A816A for ; Thu, 17 Nov 2022 01:51:42 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org D415C38A816A Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gmail.com Received: by mail-pg1-x531.google.com with SMTP id 136so678043pga.1 for ; Wed, 16 Nov 2022 17:51:42 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=to:subject:from:content-language:user-agent:mime-version:date :message-id:from:to:cc:subject:date:message-id:reply-to; bh=mfRffxxIBjb6rxiJTlp/RyUZ9qeUQe7nc/FkDSGFOmg=; b=nlqOGrRNeiJl5O1pTsUQugqbJx9fMap2qMXTS2cuZKitbj0zyw/POxRCMnAs6KFP9r tlbfcqqCKlVPvIOGOp9HG41xyQi+9ssKTEAerx10PbkF4b6KsDdv0WTMbJTjxYMAbU0O nqFOMBIoxuTfUmygbXxjGepc81ypoCa/NlRFYUTAUVX+7mChCmvhsjmXM4rOfLImnnCC 02d47dBty0/YsZCSZFFHtykQrrSxn1Qq0R2PmH08SYyx74i43ttOEKMepF2L3ZO8nLFl 9CF6P7pzbKcPxIfyvqqkUiifbpGvbQI4TLFy7vz3Ri7o54tGyfr4P1BIL0Yig2I60HbD 4ZsA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=to:subject:from:content-language:user-agent:mime-version:date :message-id:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=mfRffxxIBjb6rxiJTlp/RyUZ9qeUQe7nc/FkDSGFOmg=; b=VslIbnPv8MGUgbOeOxz1S1E4AKY7GcQ3EV8FiYIYEquGPauM0oB/YNcXAV3feCA1IM emreZCxrjQvNf6TbuZRVvGsdt4aj/owBeSEXTWZxs8Bul5+ZDMo8xqmS+CaaeZtRIbAQ rICymMrLXC0hj3n8meZAswsvl5ZxiDGfyXnEG0dduwA04KvxUnLST/QYkBZl2QnSrnnv D+YimlebWoooLpU70PGb1OmEjpmX/U3K236s+3yPJlpYkUibY9ikte3PXoSlU94tPm0T aMel3xcPd52aiVOcVZjy0dOqCtyAV7QYWhpVih934F9mw7Dua8lG303cby6LpSnNpBti mgTg== X-Gm-Message-State: ANoB5pmLVLkoOqPqIs8mSSayGHgPRQy6eIJ9iKsUwxPSDst3qfPv5edF fIE1aChIFB0z1OfRC8hLUcju43Is3Po= X-Google-Smtp-Source: AA0mqf4j1k7LrYqG/Xok9QXbX9XGVH+PFn6jYxRU1DQOLwAAd5HLAV0aZ5JAmR8AxOggrL5Z/jwBpQ== X-Received: by 2002:a62:2fc1:0:b0:562:fcae:5f10 with SMTP id v184-20020a622fc1000000b00562fcae5f10mr809045pfv.28.1668649900459; Wed, 16 Nov 2022 17:51:40 -0800 (PST) Received: from ?IPV6:2601:681:8600:13d0::f0a? ([2601:681:8600:13d0::f0a]) by smtp.gmail.com with ESMTPSA id w13-20020a627b0d000000b0056ee49d6e95sm11522321pfc.86.2022.11.16.17.51.39 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 16 Nov 2022 17:51:39 -0800 (PST) Content-Type: multipart/mixed; boundary="------------vPSBewH9PMGr8LuAvFG46LAV" Message-ID: Date: Wed, 16 Nov 2022 18:51:38 -0700 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.3.1 Content-Language: en-US From: Jeff Law Subject: [committed] Fix multiple recent sh3/sh3eb regressions To: "gcc-patches@gcc.gnu.org" X-Spam-Status: No, score=-8.5 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,GIT_PATCH_0,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: This is a multi-part message in MIME format. --------------vPSBewH9PMGr8LuAvFG46LAV Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit So my tester started showing even more regressions on the sh3/sh4 runs recently (beyond the one recently reported in BZ triggered by some DCE related changes).  Bisection kept showing inconsistent results.  I was starting to think memory management error, but valgrind didn't flag anything. After a bit of head-banging I was able to track it down to predicate tests called from the SH specific combiner passes.  And once I started getting inside the actual code for the predicate function it became pretty obvious.  The predicate routines are supposed to return a bool, fine and they dutifully set the low bit in %eax properly. The *caller* was looking at the full register.  Uh-oh.  Naturally we became dependent on what happened to be in the upper 31 bits of a register.  That's why the bug would come and go so willy-nilly. This was ultimately chased down to an incorrect prototype in sh_treg_combine.cc  for predicates functions defined via define_predicate. Removing the bogus prototypes and instead including the generated tm-preds.h fixes this problem.  I also checked the other ports for similar problems (specifically looking for a extern int.*_operand, then for each of the hits looking to see if the predicate was defined via define_predicate).  No other ports had similar braindamage. This fixes the most recent regressions in my tester for sh3/sh3eb and I strongly suspect sh4.  It does not fix 107704, but I think Richi and I both agree that's a visitation order issue and we were just getting lucky before. Committing to the trunk. Jeff --------------vPSBewH9PMGr8LuAvFG46LAV Content-Type: text/plain; charset=UTF-8; name="P" Content-Disposition: attachment; filename="P" Content-Transfer-Encoding: base64 Y29tbWl0IGUyMTRjYWI2OGNiMzRlNzc2MjJiOTExMTNmNzY5OGNmMTM3YmJkZDYKQXV0aG9y OiBKZWZmIExhdyA8amxhd0B2ZW50YW5hbWljcm8uY29tPgpEYXRlOiAgIFdlZCBOb3YgMTYg MTg6NDc6NTkgMjAyMiAtMDcwMAoKICAgIEZpeCBtdWx0aXBsZSByZWNlbnQgc2gzL3NoM2Vi IHJlZ3Jlc3Npb25zCiAgICAKICAgIFNvIG15IHRlc3RlciBzdGFydGVkIHNob3dpbmcgZXZl biBtb3JlIHJlZ3Jlc3Npb25zIG9uIHRoZSBzaDMvc2g0IHJ1bnMKICAgIHJlY2VudGx5IChi ZXlvbmQgdGhlIG9uZSByZWNlbnRseSByZXBvcnRlZCBpbiBCWiB0cmlnZ2VyZWQgYnkgc29t ZSBEQ0UKICAgIHJlbGF0ZWQgY2hhbmdlcykuICBCaXNlY3Rpb24ga2VwdCBzaG93aW5nIGlu Y29uc2lzdGVudCByZXN1bHRzLiAgSSB3YXMKICAgIHN0YXJ0aW5nIHRvIHRoaW5rIG1lbW9y eSBtYW5hZ2VtZW50IGVycm9yLCBidXQgdmFsZ3JpbmQgZGlkbid0IGZsYWcgYW55dGhpbmcu CiAgICAKICAgIEFmdGVyIGEgYml0IG9mIGhlYWQtYmFuZ2luZyBJIHdhcyBhYmxlIHRvIHRy YWNrIGl0IGRvd24gdG8gcHJlZGljYXRlCiAgICB0ZXN0cyBjYWxsZWQgZnJvbSB0aGUgU0gg c3BlY2lmaWMgY29tYmluZXIgcGFzc2VzLiAgQW5kIG9uY2UgSSBzdGFydGVkCiAgICBnZXR0 aW5nIGluc2lkZSB0aGUgYWN0dWFsIGNvZGUgZm9yIHRoZSBwcmVkaWNhdGUgZnVuY3Rpb24g aXQgYmVjYW1lCiAgICBwcmV0dHkgb2J2aW91cy4gIFRoZSBwcmVkaWNhdGUgcm91dGluZXMg YXJlIHN1cHBvc2VkIHRvIHJldHVybiBhIGJvb2wsCiAgICBmaW5lIGFuZCB0aGV5IGR1dGlm dWxseSBzZXQgdGhlIGxvdyBiaXQgaW4gJWVheCBwcm9wZXJseS4KICAgIAogICAgVGhlICpj YWxsZXIqIHdhcyBsb29raW5nIGF0IHRoZSBmdWxsIHJlZ2lzdGVyLiAgVWgtb2guICBOYXR1 cmFsbHkgd2UKICAgIGJlY2FtZSBkZXBlbmRlbnQgb24gd2hhdCBoYXBwZW5lZCB0byBiZSBp biB0aGUgdXBwZXIgMzEgYml0cyBvZiBhIHJlZ2lzdGVyLgogICAgVGhhdCdzIHdoeSB0aGUg YnVnIHdvdWxkIGNvbWUgYW5kIGdvIHNvIHdpbGx5LW5pbGx5LiAgVGhpcyB3YXMgdWx0aW1h dGVseQogICAgY2hhc2VkIGRvd24gdG8gYW4gaW5jb3JyZWN0IHByb3RvdHlwZSBpbiBzaF90 cmVnX2NvbWJpbmUuY2MgZm9yIHByZWRpY2F0ZQogICAgZnVuY3Rpb25zIGRlZmluZWQgdmlh IGRlZmluZV9wcmVkaWNhdGUuCiAgICAKICAgIFJlbW92aW5nIHRoZSBib2d1cyBwcm90b3R5 cGVzIGFuZCBpbnN0ZWFkIGluY2x1ZGluZyB0aGUgZ2VuZXJhdGVkCiAgICB0bS1wcmVkcy5o IGZpeGVzIHRoaXMgcHJvYmxlbS4gIEkgYWxzbyBjaGVja2VkIHRoZSBvdGhlciBwb3J0cyBm b3IKICAgIHNpbWlsYXIgcHJvYmxlbXMgKHNwZWNpZmljYWxseSBsb29raW5nIGZvciBhIGV4 dGVybiBpbnQuKl9vcGVyYW5kLCB0aGVuCiAgICBmb3IgZWFjaCBvZiB0aGUgaGl0cyBsb29r aW5nIHRvIHNlZSBpZiB0aGUgcHJlZGljYXRlIHdhcyBkZWZpbmVkIHZpYQogICAgZGVmaW5l X3ByZWRpY2F0ZSkuICBObyBvdGhlciBwb3J0cyBoYWQgc2ltaWxhciBicmFpbmRhbWFnZS4K ICAgIAogICAgVGhpcyBmaXhlcyB0aGUgbW9zdCByZWNlbnQgcmVncmVzc2lvbnMgaW4gbXkg dGVzdGVyIGZvciBzaDMvc2gzZWIKICAgIGFuZCBJIHN0cm9uZ2x5IHN1c3BlY3Qgc2g0LiAg SXQgZG9lcyBub3QgZml4IDEwNzcwNCwgYnV0IEkgdGhpbmsKICAgIFJpY2hpIGFuZCBJIGJv dGggYWdyZWUgdGhhdCdzIGEgdmlzaXRhdGlvbiBvcmRlciBpc3N1ZSBhbmQgd2Ugd2VyZQog ICAganVzdCBnZXR0aW5nIGx1Y2t5IGJlZm9yZS4KICAgIAogICAgZ2NjLwogICAgCiAgICAg ICAgICAgICogY29uZmlnL3NoL3NoX3RyZWdfY29tYmluZS5jYzogSW5jbHVkZSB0bS1wcmVk cy5oLgogICAgICAgICAgICAodF9yZWdfb3BlcmFuZCk6IFJlbW92ZSBib2d1cyBwcm90b3R5 cGUuCiAgICAgICAgICAgIChuZWd0X3JlZ19vcGVyYW5kKTogTGlrZXdpc2UuCgpkaWZmIC0t Z2l0IGEvZ2NjL2NvbmZpZy9zaC9zaF90cmVnX2NvbWJpbmUuY2MgYi9nY2MvY29uZmlnL3No L3NoX3RyZWdfY29tYmluZS5jYwppbmRleCBmNjU1M2MwNGEwZC4uYWI3ZGM1ZDQ5ODUgMTAw NjQ0Ci0tLSBhL2djYy9jb25maWcvc2gvc2hfdHJlZ19jb21iaW5lLmNjCisrKyBiL2djYy9j b25maWcvc2gvc2hfdHJlZ19jb21iaW5lLmNjCkBAIC0zNyw2ICszNyw3IEBAIGFsb25nIHdp dGggR0NDOyBzZWUgdGhlIGZpbGUgQ09QWUlORzMuICBJZiBub3Qgc2VlCiAjaW5jbHVkZSAi Y2ZncnRsLmgiCiAjaW5jbHVkZSAidHJlZS1wYXNzLmgiCiAjaW5jbHVkZSAiZXhwci5oIgor I2luY2x1ZGUgInRtLXByZWRzLmgiCiAKIC8qCiBUaGlzIHBhc3MgdHJpZXMgdG8gb3B0aW1p emUgZm9yIGV4YW1wbGUgdGhpczoKQEAgLTQyNiwxMCArNDI3LDYgQEAgaXNfY29uZGl0aW9u YWxfaW5zbiAocnR4X2luc24qIGkpCiAgIHJldHVybiBHRVRfQ09ERSAocCkgPT0gU0VUICYm IEdFVF9DT0RFIChYRVhQIChwLCAxKSkgPT0gSUZfVEhFTl9FTFNFOwogfQogCi0vLyBGSVhN RTogUmVtb3ZlIGRlcGVuZGVuY3kgb24gU0ggcHJlZGljYXRlIGZ1bmN0aW9uIHNvbWVob3cu Ci1leHRlcm4gaW50IHRfcmVnX29wZXJhbmQgKHJ0eCwgbWFjaGluZV9tb2RlKTsKLWV4dGVy biBpbnQgbmVndF9yZWdfb3BlcmFuZCAocnR4LCBtYWNoaW5lX21vZGUpOwotCiAvLyAtIC0g LSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0g LSAtIC0gLSAtIC0gLSAtCiAvLyBSVEwgcGFzcyBjbGFzcwogCg== --------------vPSBewH9PMGr8LuAvFG46LAV--