[Bug tree-optimization/101755] [12 regression] gcc.target/arm/reg_equal_test.c fails on arm since r12-2637
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101755 Richard Earnshaw changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution|--- |FIXED --- Comment #6 from Richard Earnshaw --- Fixed.
[Bug tree-optimization/101755] [12 regression] gcc.target/arm/reg_equal_test.c fails on arm since r12-2637
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101755 --- Comment #5 from CVS Commits --- The master branch has been updated by Richard Earnshaw : https://gcc.gnu.org/g:62082d278d1fc9773539244194061ab32556db4d commit r12-8108-g62082d278d1fc9773539244194061ab32556db4d Author: Richard Earnshaw Date: Tue Apr 12 13:35:27 2022 +0100 arm: fix testsuite failure of reg_equal_test.c [PR101755] The test failure in PR101755 is due to the gimple optimizers getting smarter. But really we are just testing that RTL expansion is doing the right thing and annotating a constant accordingly. So rework the test to use GIMPLE input and simplify the code entirely. Also, this test only ever worked on architecture versions with the MOVW/MOVT instructions, so check for this before running. gcc/testsuite/ChangeLog: PR target/101755 * gcc.target/arm/reg_equal_test.c: Convert to gimple test. Restrict to architectures with MOVW/MOVT.
[Bug tree-optimization/101755] [12 regression] gcc.target/arm/reg_equal_test.c fails on arm since r12-2637
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101755 Richard Earnshaw changed: What|Removed |Added Status|UNCONFIRMED |ASSIGNED Last reconfirmed||2022-04-12 Ever confirmed|0 |1 Assignee|unassigned at gcc dot gnu.org |rearnsha at gcc dot gnu.org --- Comment #4 from Richard Earnshaw --- Mine
[Bug tree-optimization/101755] [12 regression] gcc.target/arm/reg_equal_test.c fails on arm since r12-2637
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101755 Richard Biener changed: What|Removed |Added Keywords||testsuite-fail --- Comment #3 from Richard Biener --- Maybe add -fno-thread-jumps?
[Bug tree-optimization/101755] [12 regression] gcc.target/arm/reg_equal_test.c fails on arm since r12-2637
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101755 --- Comment #2 from Andrew Pinski --- d = a | -2; b = (d == 0) ? c : (c % d); d can never be 0, VRP figures this out now. so we end up with: d = a | -2; b = 0xc7d24b5e % d; if (b != 0xc7d24b5e) abort(); and b cannot be 0xc7d24b5e because d is negative :). So VRP is optimizing this all the way out. The test was trying to make sure the value 0xc7d24b5e was emitted as a REG_EQUAL note when splitting up the constant (for the forming) in RTL. https://gcc.gnu.org/pipermail/gcc-patches/2015-June/422430.html https://gcc.gnu.org/pipermail/gcc-patches/2015-June/422432.html
[Bug tree-optimization/101755] [12 regression] gcc.target/arm/reg_equal_test.c fails on arm since r12-2637
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101755 --- Comment #1 from Andrew Macleod --- What is that suppose to test? The range ecosystem has gotten smarter and we basically fold that function away to return 0 now. between EVRP, VRP and threading, you'd have to turn off a lot of optimizations to return to the original state.. I can't find a sequence.
[Bug tree-optimization/101755] [12 regression] gcc.target/arm/reg_equal_test.c fails on arm since r12-2637
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101755 Christophe Lyon changed: What|Removed |Added Target||arm Target Milestone|--- |12.0 CC||amacleod at redhat dot com