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]*). >
If someone is testing with a multilib using "-mfpu=vfpv4" they're probably also testing with a multilib that doesn't use -mfpu, so they're running the test somewhere. Do we want to run these tests for all multilibs that use one of those,or is it enough to only use -mfpu=neon-fp16 for the tests? I think we're going to be looking at that question for a lot of individual tests, and the answer will vary depending on the test. I want to clean up these tests so they can be run cleanly with a lot of multilibs so that real failures can be noticed, so I really appreciate this discussion. The mips tests use their own scheme to override multilib options, but I find it confusing and would rather do something else, unless the arm developers want to use that for arm tests as well. Janis