This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug tree-optimization/80155] [7 regression] Performance regression with code hoisting enabled


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

--- Comment #10 from Richard Biener <rguenth at gcc dot gnu.org> ---
asm difference -fno-code-hoisting (-) against patch (+) shows

--- t.s 2017-03-23 13:04:11.010514228 +0100
+++ t.s.ok      2017-03-23 13:04:05.882432743 +0100
@@ -26,9 +26,9 @@
        ldrb    r3, [r4]        @ zero_extendqisi2
        cbz     r3, .L2
 .L4:
-       bl      fn2
-       ldrb    r3, [r4, #1]    @ zero_extendqisi2
        adds    r4, r4, #1
+       bl      fn2
+       ldrb    r3, [r4]        @ zero_extendqisi2
        cmp     r3, #0
        bne     .L4
 .L2:

which probably is better as it only keeps r4 live over the call?  but
it adds a dependence between the load from r4 and the add.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]