On 11 April 2017 at 17:42, Vladimir Makarov <[email protected]> wrote:
>
>
> On 04/11/2017 03:30 AM, Christophe Lyon wrote:
>>
>> Hi Vladimir,
>>
>> On 10 April 2017 at 17:05, Vladimir Makarov <[email protected]> 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