On 11 April 2017 at 17:42, Vladimir Makarov <vmaka...@redhat.com> wrote: > > > On 04/11/2017 03:30 AM, Christophe Lyon wrote: >> >> Hi Vladimir, >> >> On 10 April 2017 at 17:05, Vladimir Makarov <vmaka...@redhat.com> wrote: >>> >>> This is the second try to fix >>> >>> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70478 >>> >>> The first try patch triggered a latent bug and broke one Fortran >>> testcase >>> on x86-64. >>> >>> The patch was successfully bootstrapped on x86-64 and tested on >>> x86-64, >>> ppc64, and aarch64. >>> >>> Committed as rev. 246808. >>> >>> >> I would have to re--run the build/test manually to get the generated >> code, let me know if it's needed. > > Yes, Christophe. It would be helpful. I've tried to reproduce it but I > don't see the difference in the generated code. >
Here is what I observed (the "with-patch file is with your commit r246808, the other is r246807) --- armv8_2-fp16-move-1.s 2017-04-11 16:23:46.795264234 +0000 +++ armv8_2-fp16-move-1.s.with-patch 2017-04-11 15:54:52.563210963 +0000 @@ -37,8 +37,8 @@ @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. lsl r1, r1, #1 - add r3, r0, r1 - vld1.16 {d0[0]}, [r3] + ldrh r3, [r0, r1] @ __fp16 + vmov.f16 s0, r3 @ __fp16 bx lr .size test_load_2, .-test_load_2 .align 2 @@ -64,9 +64,9 @@ @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. + vmov.f16 r3, s0 @ __fp16 lsl r1, r1, #1 - add r3, r0, r1 - vst1.16 {d0[0]}, [r3] + strh r3, [r0, r1] @ __fp16 bx lr .size test_store_2, .-test_store_2 .align 2 Christophe