This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug tree-optimization/80155] [7 regression] Performance regression with code hoisting enabled
- From: "rguenth at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Thu, 23 Mar 2017 12:06:54 +0000
- Subject: [Bug tree-optimization/80155] [7 regression] Performance regression with code hoisting enabled
- Auto-submitted: auto-generated
- References: <bug-80155-4@http.gcc.gnu.org/bugzilla/>
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.