https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68233
ktkachov at gcc dot gnu.org changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Known to work| |5.2.1, 6.0 Resolution|--- |FIXED Known to fail| |4.9.4 --- Comment #3 from ktkachov at gcc dot gnu.org --- With GCC 5 and current trunk I get something like this. zgemm: cbz x2, .L2 .p2align 2 .L3: ldp d2, d1, [x1] subs x2, x2, #1 add x1, x1, 16 ldp d7, d6, [x0] ldp d5, d4, [x0, 16] add x0, x0, 32 fmadd d3, d7, d2, d3 fmadd d18, d7, d1, d18 fmadd d21, d6, d2, d21 fmadd d17, d6, d1, d17 fmadd d20, d5, d2, d20 fmadd d19, d4, d2, d19 fmadd d0, d5, d1, d0 fmadd d16, d4, d1, d16 bne .L3 .L2: fadd d3, d3, d21 fadd d1, d3, d20 fadd d1, d1, d19 fadd d1, d1, d18 fadd d1, d1, d17 fadd d0, d1, d0 fadd d0, d0, d16 ret