This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/62173] [AArch64] Performance regression due to r213488
- From: "pinskia at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Mon, 18 Aug 2014 16:39:41 +0000
- Subject: [Bug target/62173] [AArch64] Performance regression due to r213488
- Auto-submitted: auto-generated
- References: <bug-62173-4 at http dot gcc dot gnu dot org/bugzilla/>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62173
Andrew Pinski <pinskia at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Last reconfirmed| |2014-08-18
Ever confirmed|0 |1
--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Confirmed, Here is a much shorter testcase and not related to loops either:
void bar(int i)
{
char A[10];
g(A);
f(A[i]);
}
--- CUT ---
Before:
bar:
stp x29, x30, [sp, -64]!
add x29, sp, 0
stp x19, x20, [sp, 16]
add x19, x29, 48
mov w20, w0
mov x0, x19
bl g
ldrb w0, [x19, w20, sxtw]
bl f
ldp x19, x20, [sp, 16]
ldp x29, x30, [sp], 64
ret
After:
bar:
stp x29, x30, [sp, -48]!
add x29, sp, 0
str x19, [sp, 16]
mov w19, w0
add x0, x29, 32
bl g
add x0, x29, 48
add x19, x0, x19, sxtw
ldrb w0, [x19, -16]
bl f
ldr x19, [sp, 16]
ldp x29, x30, [sp], 48
ret