https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88560
--- Comment #7 from Vladimir Makarov <vmakarov at gcc dot gnu.org> --- (In reply to Wilco from comment #6) > (In reply to Vladimir Makarov from comment #5) > > We have too many tests checking expected generated code. We should more > > focus on overall effect of the change. SPEC would be a good criterium > > although it is hard to check SPEC for each patch. > > > > I've checked the generated code of arm8_2-fp16-move-1.c and found that in > > most cases GCC generates better code with the patch: > > > > @@ -80,7 +80,6 @@ test_load_store_1: > > @ frame_needed = 0, uses_anonymous_args = 0 > > @ link register save eliminated. > > lsl r1, r1, #1 > > - vmov.f16 s0, r3 @ __fp16 > > ldrh r3, [r2, r1] @ __fp16 > > strh r3, [r0, r1] @ __fp16 > > bx lr > > When I tested it, this test added that vmov, not removed it - see comment #2. I've just checked the generated code again by using ./xgcc -B. /home/vmakarov/build1/trunk/gcc/gcc/testsuite/gcc.target/arm/armv8_2-fp16-move-1.c -fno-diagnostics-show-caret -fno-diagnostics-show-line-numbers -fdiagnostics-color=never -O2 -mfpu=fp-armv8 -march=armv8.2-a+fp16 -mfloat-abi=hard -ffat-lto-objects -fno-ident -o b1.s -S The code is test_load_store_1: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. lsl r1, r1, #1 ldrh r3, [r2, r1] @ __fp16 strh r3, [r0, r1] @ __fp16 bx lr GCC revision is r267848 as of Jan 11,2019.