On 10 June 2016 at 15:56, Matthew Wahab <matthew.wa...@foss.arm.com> wrote: > On 10/06/16 09:32, Christophe Lyon wrote: >> >> On 9 June 2016 at 17:21, Matthew Wahab <matthew.wa...@foss.arm.com> wrote: >>> >>> A number of tests were added to check for FP16 arguments and return >>> values being passed in registers. These require mfloat-abi=hard to be >>> selected but in some test configurations they were run with >>> -mfloat-abi=soft or -mfloat-abi=softfp. >>> >> It's an improvement, but I'm still seeing a few problems with this patch: >> the vfp* tests are still failing in some of the configurations I test, >> because >> * you force dg-options that contains -mfloat-abi=hard, >> * you check effective-target arm_neon_fp16_hw >> * but you don't call dg-add-options arm_neon_fp16 >> >> on non-hf targets, the effective-target arm_neon_fp16_hw will want to >> add -mfloat-abi=softfp, but you actually force -mfloat-abi=hard. >> So, the dg-skip directive doesn't match, and the test fails to link >> because >> the dejagnu glue code is compiled in soft mode, and conflicts >> with the hard mode from vfpXX.o > > > Thanks for testing this. > > I'm not sure why the skip-if is failing, it's intended to skip the test if > float-abi={soft,softfp} appears anywhere in the command line. That's needed > because, in some configurations, the directives add an -mfloat-abi=softfp > after the -mfloat-abi=hard from dg-options, making the test fail. > > The require-effective-target arm_neon_fp16_hw was intended to select a > hard-float target with FP16 support. I don't think that dg-add-options > arm_neon_fp16 is right because that could also force soft-fp. > I'm seeing arm_neon_fp16_hw test passing with -mfpu=neon-fp16 -mfloat-abi=softfp but since you don't call dg-add-options arm_neon_fp16, the dg-skip directive sees only the -mfloat-abi-hard which comes from dg-options. The test fails to link for me with -mfpu=vfp -mfloat-abi=hard -mfp16-format=ieee according to my gcc.log
Christophe > It may be better to not use arm_neon_fp16_hw. The existing aapc/vfp* tests > have a list of require-effective-target directives to filter out invalid > boards. I'll see if that can be made to work with arm_hard_vfp_ok and a > selector for vfp-fp16 hardware. > > Matthew >