This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH][ARM] Fix test armv8_2-fp16-move-1.c


Hi,

On 17 November 2017 at 12:12, Kyrill  Tkachov
<kyrylo.tkachov@foss.arm.com> wrote:
>
> On 17/11/17 10:45, Sudi Das wrote:
>>
>> Hi Kyrill
>>
>> Thanks I have made the change.
>
>
> Thanks Sudi, I've committed this on your behalf with r254863.
>
> Kyrill
>
>
>> Sudi
>>
>>
>>
>> From: Kyrill Tkachov <kyrylo.tkachov@foss.arm.com>
>> Sent: Thursday, November 16, 2017 5:03 PM
>> To: Sudi Das; gcc-patches@gcc.gnu.org
>> Cc: nd; Ramana Radhakrishnan; Richard Earnshaw
>> Subject: Re: [PATCH][ARM] Fix test armv8_2-fp16-move-1.c
>>
>> Hi Sudi,
>>
>> On 16/11/17 16:37, Sudi Das wrote:
>>>
>>> Hi
>>>
>>> This patch fixes the test case armv8_2-fp16-move-1.c for
>>> arm-none-linux-gnueabihf where 2 of the scan-assembler directives were
>>> failing. We now generate less vmov between core and VFP registers.
>>> Thus changing those directives to reflect that.
>>>
>>> Is this ok for trunk?
>>> If yes could someone commit it on my behalf?
>>>
>>> Sudi
>>>
>>>
>>> *** gcc/testsuite/ChangeLog ***
>>>
>>> 2017-11-16  Sudakshina Das  <sudi.das@arm.com>
>>>
>>>           * gcc.target/arm/armv8_2-fp16-move-1.c: Edit vmov
>>> scan-assembler
>>>           directives.
>>>
>> diff --git a/gcc/testsuite/gcc.target/arm/armv8_2-fp16-move-1.c
>> b/gcc/testsuite/gcc.target/arm/armv8_2-fp16-move-1.c
>> index bb4e68f..0ed8560 100644
>> --- a/gcc/testsuite/gcc.target/arm/armv8_2-fp16-move-1.c
>> +++ b/gcc/testsuite/gcc.target/arm/armv8_2-fp16-move-1.c
>> @@ -101,8 +101,8 @@ test_select_8 (__fp16 a, __fp16 b, __fp16 c)
>>    /* { dg-final { scan-assembler-times {vselgt\.f16\ts[0-9]+, s[0-9]+,
>> s[0-9]+} 1 } }  */
>>    /* { dg-final { scan-assembler-times {vselge\.f16\ts[0-9]+, s[0-9]+,
>> s[0-9]+} 1 } }  */
>>    -/* { dg-final { scan-assembler-times {vmov\.f16\ts[0-9]+, r[0-9]+} 4 }
>> }  */
>> -/* { dg-final { scan-assembler-times {vmov\.f16\tr[0-9]+, s[0-9]+} 4 } }
>> */
>> +/* { dg-final { scan-assembler-times {vmov\.f16\ts[0-9]+, r[0-9]+} 2 } }
>> */
>> +/* { dg-final { scan-assembler-times {vmov\ts[0-9]+, s[0-9]+} 4 } }  */
>>    Some of the moves between core and fp registers were the result of
>> inefficient codegen and in hindsight
>> scanning for them was not very useful. Now that we emit only the required
>> ones I think scanning for the plain
>> vmovs between two S-registers doesn't test anything useful.
>> So can you please just remove the second scan-assembler directive here?
>>

You are probably already aware of that: the tests fail on
arm-none-linux-gnueabi/arm-none-eabi
FAIL: gcc.target/arm/armv8_2-fp16-move-1.c scan-assembler-times
vmov\\.f16\\ts[0-9]+, r[0-9]+ 2 (found 38 times)

but this is not a regression, the previous version of the test had the
same problem.

Christophe

>> Thanks,
>> Kyrill
>>
>>
>
>


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]