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: [testsuite] skip ARM neon-fp16 tests for other -mcpu values


On 10/06/11 00:43, Janis Johnson wrote:
> On 06/08/2011 03:17 AM, Joseph S. Myers wrote:
>> On Tue, 7 Jun 2011, Janis Johnson wrote:
>>
>>> These tests fail when multilib options use -mfpu=xxxx and override the
>>> -mfpu=neon-fp16 used for the test:
>>>
>>>   g++.dg/ext/arm-fp16/arm-fp16-ops-5.C
>>>   g++.dg/ext/arm-fp16/arm-fp16-ops-6.C
>>>   gcc.dg/torture/arm-fp16-ops-5.c
>>>   gcc.dg/torture/arm-fp16-ops-6.c
>>>   gcc.target/arm/fp16-compile-vcvt.c
>>>
>>> The option -mfpu-neon-fp16 is added via "dg-add-options arm_neon_fp16"
>>> after an earlier "dg-require-effective-target arm_neon_fp16_ok".
>>> This patch modifies check_effective_target_arm_neon_fp16_ok_nocache to
>>> return 0 (causing the test to be skipped) if multilib flags include
>>> -mfpu= with a value other than neon-fp16.
>>
>> But I'd think they ought to work with any -mfpu= option supporting 
>> half-precision instructions - that is, vfpv3-fp16, vfpv3-d16-fp16, 
>> vfpv3xd-fp16, neon-fp16, vfpv4, vfpv4-d16, fpv4-sp-d16, neon-vfpv4 
>> (anything with "true" in the last field in arm-fpus.def; for the 
>> testsuite, you can probably suppose anything -mfpu=*fp16*, 
>> -mfpu=*fpv[4-9]*, -mfpu=*fpv[1-9][0-9]*).
>>
> 
> These tests look for specific instructions being generated and fail when
> the check is hacked up to allow other fp16 variants and not require neon.
> I'd like to use the original patch for this.  OK?
> 
> Janis
> 
> 


That sounds like you might have uncovered a bug.  Can you provide some
more detail?

Running (manually) gcc.target/arm/fp16-compile-vcvt.c with "-O
-mfpu=vfpv4 -mfp16-format=ieee" gives the instructions required by the
scanner.

R.


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