https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88540
--- Comment #3 from Daniel Fruzynski <bugzi...@poradnik-webmastera.com> --- Looks that AARCH64 is also affected. This is output from gcc 8.2 for SIZE=2: [asm] test(double*, double*, double*): ldp d1, d0, [x0] ldp d3, d2, [x1] fcmpe d1, d3 fcsel d1, d1, d3, mi fcmpe d0, d2 fcsel d0, d0, d2, mi stp d1, d0, [x2] ret [/asm] And this is for SIZE=4: [asm] test(double*, double*, double*): ldr q5, [x0] ldr q3, [x1] ldr q4, [x0, 16] ldr q2, [x1, 16] fcmgt v1.2d, v3.2d, v5.2d fcmgt v0.2d, v2.2d, v4.2d bsl v1.16b, v5.16b, v3.16b bsl v0.16b, v4.16b, v2.16b str q1, [x2] str q0, [x2, 16] ret [/asm]