This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: One more path to fix PR70478
- From: Christophe Lyon <christophe dot lyon at linaro dot org>
- To: Vladimir Makarov <vmakarov at redhat dot com>
- Cc: gcc-patches <gcc-patches at gcc dot gnu dot org>
- Date: Tue, 11 Apr 2017 18:26:16 +0200
- Subject: Re: One more path to fix PR70478
- Authentication-results: sourceware.org; auth=none
- References: <930934bd-0341-6607-3d7e-96c34cebbabc@redhat.com> <CAKdteOY9RhmDU1K6ZxchhNhavbdjqndYq6GX3N=A3ombMW=K9w@mail.gmail.com> <be4f9305-12fe-ec36-fa76-29782d13cfbd@redhat.com>
On 11 April 2017 at 17:42, Vladimir Makarov <vmakarov@redhat.com> wrote:
>
>
> On 04/11/2017 03:30 AM, Christophe Lyon wrote:
>>
>> Hi Vladimir,
>>
>> On 10 April 2017 at 17:05, Vladimir Makarov <vmakarov@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