[Bug tree-optimization/101755] [12 regression] gcc.target/arm/reg_equal_test.c fails on arm since r12-2637

2022-04-12 Thread rearnsha at gcc dot gnu.org via Gcc-bugs
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

2022-04-12 Thread cvs-commit at gcc dot gnu.org via Gcc-bugs
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

2022-04-12 Thread rearnsha at gcc dot gnu.org via Gcc-bugs
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

2022-03-08 Thread rguenth at gcc dot gnu.org via Gcc-bugs
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

2021-08-09 Thread pinskia at gcc dot gnu.org via Gcc-bugs
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

2021-08-09 Thread amacleod at redhat dot com via Gcc-bugs
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

2021-08-03 Thread clyon at gcc dot gnu.org via Gcc-bugs
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