https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77579
Andrew Pinski changed:
What|Removed |Added
Status|UNCONFIRMED |ASSIGNED
Last reconfirmed||2017-08-18
Ever confirmed|0 |1
--- Comment #2 from Andrew Pinski ---
With that patch there are a few regressions:
+FAIL: gcc.dg/tree-ssa/pr40921.c scan-tree-dump-times optimized "_* = -y_" 0
+FAIL: gcc.dg/tree-ssa/slsr-10.c scan-tree-dump-times optimized " * " 1
+FAIL: gcc.dg/tree-ssa/slsr-14.c scan-tree-dump-times optimized " * " 1
+FAIL: gcc.dg/tree-ssa/slsr-15.c scan-tree-dump-times optimized " * " 1
+FAIL: gcc.dg/tree-ssa/slsr-19.c scan-tree-dump-times optimized " * " 2
+FAIL: gcc.dg/tree-ssa/slsr-20.c scan-tree-dump-times optimized " * s" 1
+FAIL: gcc.dg/tree-ssa/slsr-21.c scan-tree-dump-times optimized " * stride"
1
+FAIL: gcc.dg/tree-ssa/slsr-22.c scan-tree-dump-times optimized " * 3" 1
+FAIL: gcc.dg/tree-ssa/slsr-23.c scan-tree-dump-times optimized " * stride"
1
+FAIL: gcc.dg/tree-ssa/slsr-24.c scan-tree-dump-times optimized " * " 1
+FAIL: gcc.dg/tree-ssa/slsr-25.c scan-tree-dump-times optimized " * " 1
+FAIL: gcc.dg/tree-ssa/slsr-26.c scan-tree-dump-times optimized " * stride"
1
+FAIL: gcc.dg/tree-ssa/slsr-31.c scan-tree-dump-times optimized " * 2" 1
+FAIL: gcc.dg/tree-ssa/slsr-32.c scan-tree-dump-times optimized " * s" 1
+FAIL: gcc.dg/tree-ssa/slsr-37.c scan-tree-dump-times optimized " * s" 1
+FAIL: gcc.dg/tree-ssa/slsr-5.c scan-tree-dump-times optimized " * " 1
+FAIL: gcc.dg/tree-ssa/slsr-7.c scan-tree-dump-times optimized " * " 1
+FAIL: gcc.dg/tree-ssa/slsr-9.c scan-tree-dump-times optimized " * " 1
Though most are not really worse code.
slsr-21.c, slsr-22.c, slsr-23.c, slsr-24.c, slsr-25.c, slsr-26.c, slsr-31.c,
slsr-32.c, slsr-37.c.
Basically if the one of the operand is a constant, we want to optimize this to:
add DST, SRC, SRC1 lsl #N . But if it is not constant we don't want to do
madd. Let me see if I can do that.