From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from gate.crashing.org (gate.crashing.org [63.228.1.57]) by sourceware.org (Postfix) with ESMTP id 016EC3858CDA for ; Tue, 9 Apr 2024 20:19:16 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 016EC3858CDA Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=kernel.crashing.org Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=kernel.crashing.org ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 016EC3858CDA Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=63.228.1.57 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1712693958; cv=none; b=OAui7/M+UbKPAaHPVAr6eJ7EbHr7kqvHYfEuA7/jYIEpLDyw7mTaupmJPDtX4OQskt/9TfWIY8VBGvEiT80nryn2/qS9eVPLinphwPG1VQSx+xSmBa0vb2LDULTnzFYAlminEcnBeRCRIq251P8AjWu46s5B+YGdANqg7Vm2VUM= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1712693958; c=relaxed/simple; bh=T1iKx5F50p8LEPzljEFnyhNFcPDF+Ig5Hy/AN5Njf9o=; h=Date:From:To:Subject:Message-ID:Mime-Version; b=Wbi195hzNOfQHulJ0u/1WRwZfB6TcXQvvXERPoVFqaiX+t/TjcS2zEyiucQ1mNyi1fZi7By2D0LLyAP5lnQTVF08RahMXlPsCS/FgUoeHSqAYfvpCjpWtYXRKGckfqbKD0I4V7GGydpUHd3nQzxfMlf7pzMnt59rqK8wUqwomjs= ARC-Authentication-Results: i=1; server2.sourceware.org Received: from gate.crashing.org (localhost.localdomain [127.0.0.1]) by gate.crashing.org (8.14.1/8.14.1) with ESMTP id 439KIAWw023749; Tue, 9 Apr 2024 15:18:10 -0500 Received: (from segher@localhost) by gate.crashing.org (8.14.1/8.14.1/Submit) id 439KIAgi023748; Tue, 9 Apr 2024 15:18:10 -0500 X-Authentication-Warning: gate.crashing.org: segher set sender to segher@kernel.crashing.org using -f Date: Tue, 9 Apr 2024 15:18:10 -0500 From: Segher Boessenkool To: Hans-Peter Nilsson Cc: gcc-patches@gcc.gnu.org Subject: Re: [COMMITTED] testsuite/gcc.target/cris/pr93372-2.c: Handle xpass from combine improvement Message-ID: <20240409201810.GM19790@gate.crashing.org> References: <20240405020601.C492220432@pchp3.se.axis.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20240405020601.C492220432@pchp3.se.axis.com> User-Agent: Mutt/1.4.2.3i X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,JMQ_SPF_NEUTRAL,KAM_DMARC_STATUS,KAM_SHORT,SPF_HELO_PASS,SPF_PASS,TXREP autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: Hi! On Fri, Apr 05, 2024 at 04:06:01AM +0200, Hans-Peter Nilsson wrote: > The xpassing change in generated code was as follows, at > r14-9788-gb7bd2ec73d66f7 (where I locally applied a revert > to verify that this suspect was the cause). That was so > much of an improvement that I had to share it! Worth the > testsuite churn anyway. :) > > Segher, if you end up reverting r14-9692-g839bc42772ba7a (as > unfortunately seems not unlikely), then please also revert this > commit: r14-9799-g4c8b3600c4856f7915281ae3ff4d97271c83a540. I won't revert it, it fixes an actual bug. Not a regression no, but a very serious longstanding problem. We have accidentally done a limited version of a feature requested for more than 20 years now, "UNCSE". I'll do this for just combine (instead of as a separate pass, lots of issues there with pass ordering, results could be better though) in GCC 15. This really is a stage 1 thing though! Any testcase that relies on something that combine does not promise and that can not reasonably be expected to always hold is *buggy*. The combine-2-2 testcase (that I wrote myself) isn't very good, and should be replaced by something that is much more clearly a 2->2 combination, instead of 1->1 with context. All (target-specific) new testsuite failures are just like that: bad testcases! So no, no reversion. > That's the only test that's improved to the point of > affecting test-patterns. E.g. pr93372-5.c (which references > pr93372-2.c) is also improved, though it retains a redundant > compare insn. (PR 93372 was about regressions from the cc0 > representation; not further improvement like here, thus it's > not tagged. Though, I did not double-check whether this > actually *was* a regression from cc0.) Interesting that this improved tests for you. Huh. Do you have an explanation how this happened? I suspect that as uaual it is just a side effect of random factors: combine is opportunistic, always does the first change it thinks good, not considering what this then does for other possible combinations; it is greedy. It would be nice to see written out what happens in this example though :-) Segher