https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88560
Wilco <wilco at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Last reconfirmed| |2018-12-20 CC| |wilco at gcc dot gnu.org Ever confirmed|0 |1 --- Comment #2 from Wilco <wilco at gcc dot gnu.org> --- Eg. before test_load_store_1: ldrh r3, [r2, r1, lsl #1] @ __fp16 strh r3, [r0, r1, lsl #1] @ __fp16 bx lr after: test_load_store_1: vmov.f16 s0, r3 @ __fp16 ldrh r3, [r2, r1, lsl #1] @ __fp16 strh r3, [r0, r1, lsl #1] @ __fp16 bx lr Inserting spurious extra moves certainly doesn't look correct.