[Bug middle-end/88560] [9 Regression] armv8_2-fp16-move-1.c and related regressions after r266385
vmakarov at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Mon Jan 21 16:53:00 GMT 2019
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.
More information about the Gcc-bugs
mailing list