https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77579

Andrew Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |ASSIGNED
   Last reconfirmed|                            |2017-08-18
     Ever confirmed|0                           |1

--- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
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.

Reply via email to