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 target/62173] [AArch64] Performance regression due to r213488


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


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