public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* [testsuite] skip ARM neon-fp16 tests for other -mcpu values
@ 2011-06-08  1:29 Janis Johnson
  2011-06-08  2:05 ` Mike Stump
  2011-06-08 10:24 ` Joseph S. Myers
  0 siblings, 2 replies; 10+ messages in thread
From: Janis Johnson @ 2011-06-08  1:29 UTC (permalink / raw)
  To: gcc-patches

[-- Attachment #1: Type: text/plain, Size: 789 bytes --]

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.

Tested on arm-none-linux-gnueabi for several multilibs; these tests
are compile-only so it didn't matter that I didn't have runtime
support for them.

OK for trunk and 4.6 branch?

[-- Attachment #2: gcc-20110607-3 --]
[-- Type: text/plain, Size: 927 bytes --]

2011-06-07  Janis Johnson  <janisjo@codesourcery.com>

	* lib/target-supports.exp
	(check_effective_target_arm_neon_fp16_ok_nocache): Return 0 if
	multilib flags use -mfpu with a value other than neon-fp16.

Index: gcc/testsuite/lib/target-supports.exp
===================================================================
--- gcc/testsuite/lib/target-supports.exp	(revision 174764)
+++ gcc/testsuite/lib/target-supports.exp	(working copy)
@@ -1954,6 +1954,11 @@
     global et_arm_neon_fp16_flags
     set et_arm_neon_fp16_flags ""
     if { [check_effective_target_arm32] } {
+	# Multilib flags that include -mfpu would override the flags set here;
+	# skip them.
+	if [check-flags [list "" { *-*-* } { "-mfpu=*" } { "-mfpu=neon-fp16" } ]] {
+	    return 0
+	}
 	# Always add -mfpu=neon-fp16, since there is no preprocessor
 	# macro for FP16 support.
 	foreach flags {"-mfpu=neon-fp16" "-mfpu=neon-fp16 -mfloat-abi=softfp"} {

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [testsuite] skip ARM neon-fp16 tests for other -mcpu values
  2011-06-08  1:29 [testsuite] skip ARM neon-fp16 tests for other -mcpu values Janis Johnson
@ 2011-06-08  2:05 ` Mike Stump
  2011-06-08  2:14   ` Janis Johnson
  2011-06-08 10:24 ` Joseph S. Myers
  1 sibling, 1 reply; 10+ messages in thread
From: Mike Stump @ 2011-06-08  2:05 UTC (permalink / raw)
  To: Janis Johnson; +Cc: gcc-patches

On Jun 7, 2011, at 6:06 PM, Janis Johnson wrote:
> These tests fail when multilib options use -mfpu=xxxx and override the
> -mfpu=neon-fp16 used for the test:

> OK for trunk and 4.6 branch?

Ok, but watch for comments from arm people.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [testsuite] skip ARM neon-fp16 tests for other -mcpu values
  2011-06-08  2:05 ` Mike Stump
@ 2011-06-08  2:14   ` Janis Johnson
  0 siblings, 0 replies; 10+ messages in thread
From: Janis Johnson @ 2011-06-08  2:14 UTC (permalink / raw)
  To: Mike Stump; +Cc: gcc-patches

On 06/07/2011 06:29 PM, Mike Stump wrote:
> On Jun 7, 2011, at 6:06 PM, Janis Johnson wrote:
>> These tests fail when multilib options use -mfpu=xxxx and override the
>> -mfpu=neon-fp16 used for the test:
> 
>> OK for trunk and 4.6 branch?
> 
> Ok, but watch for comments from arm people.

Yes, I'm hoping to hear from them.

Janis

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [testsuite] skip ARM neon-fp16 tests for other -mcpu values
  2011-06-08  1:29 [testsuite] skip ARM neon-fp16 tests for other -mcpu values Janis Johnson
  2011-06-08  2:05 ` Mike Stump
@ 2011-06-08 10:24 ` Joseph S. Myers
  2011-06-08 16:16   ` Janis Johnson
  2011-06-10  0:04   ` Janis Johnson
  1 sibling, 2 replies; 10+ messages in thread
From: Joseph S. Myers @ 2011-06-08 10:24 UTC (permalink / raw)
  To: Janis Johnson; +Cc: gcc-patches

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]*).

-- 
Joseph S. Myers
joseph@codesourcery.com

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [testsuite] skip ARM neon-fp16 tests for other -mcpu values
  2011-06-08 10:24 ` Joseph S. Myers
@ 2011-06-08 16:16   ` Janis Johnson
  2011-06-10  0:04   ` Janis Johnson
  1 sibling, 0 replies; 10+ messages in thread
From: Janis Johnson @ 2011-06-08 16:16 UTC (permalink / raw)
  To: Joseph S. Myers; +Cc: gcc-patches

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

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [testsuite] skip ARM neon-fp16 tests for other -mcpu values
  2011-06-08 10:24 ` Joseph S. Myers
  2011-06-08 16:16   ` Janis Johnson
@ 2011-06-10  0:04   ` Janis Johnson
  2011-06-15 13:07     ` Richard Earnshaw
  1 sibling, 1 reply; 10+ messages in thread
From: Janis Johnson @ 2011-06-10  0:04 UTC (permalink / raw)
  To: Joseph S. Myers; +Cc: gcc-patches

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

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [testsuite] skip ARM neon-fp16 tests for other -mcpu values
  2011-06-10  0:04   ` Janis Johnson
@ 2011-06-15 13:07     ` Richard Earnshaw
  2011-06-16  6:28       ` Janis Johnson
  0 siblings, 1 reply; 10+ messages in thread
From: Richard Earnshaw @ 2011-06-15 13:07 UTC (permalink / raw)
  To: Janis Johnson; +Cc: Joseph S. Myers, gcc-patches

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.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [testsuite] skip ARM neon-fp16 tests for other -mcpu values
  2011-06-15 13:07     ` Richard Earnshaw
@ 2011-06-16  6:28       ` Janis Johnson
  2011-06-26  4:29         ` Mike Stump
  0 siblings, 1 reply; 10+ messages in thread
From: Janis Johnson @ 2011-06-16  6:28 UTC (permalink / raw)
  To: Richard Earnshaw; +Cc: Joseph S. Myers, gcc-patches

[-- Attachment #1: Type: text/plain, Size: 2529 bytes --]

On 06/15/2011 05:53 AM, Richard Earnshaw wrote:
> 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.

The bug was in my attempt to run the tests with other -mfpu values, so
I'm very glad you caught that.  I tried again, getting rid of the neon
requirement along the way, and found a way to run the VFP fp16 tests
with any of the fp16 values that Joseph listed.

This patch renames *arm_neon_fp16* to *arm_fp16* and skips tests if the
multilib does not support arm32, includes -mfpu that is not fp16, or
includes -mfloat-abi=soft.  If the multilib uses -mfpu= with an fp16
value then that is used, otherwise -mfpu=vfpv4 is used.  Added flags
include -mfloat-abi=softfp in case the default is "soft".

Tested on arm-none-linux-gnueabi with multilib test flags (not actual
runtime support) for each -march value and each fp16 -mfpu value.

OK for trunk, and for 4.6 a few days later?

Janis


[-- Attachment #2: gcc-20110615-1 --]
[-- Type: text/plain, Size: 6903 bytes --]

2011-06-15  Janis Johnson  <janisjo@codesourcery.com>

	* lib/target-supports.exp (add_options_for_arm_fp16): Renamed
	from add_options_for_arm_neon_fp16.
	(check_effective_target_arm_fp16_ok_nocache): Renamed from
	check_effective_target_arm_neon_fp16_ok_nocache.
	Check -mfpu and -mfloat-abi options from current multilib.
	Do not require neon support.
	(check_effective_target_arm_fp16_ok): Renamed from
	check_effecitve_target_arm_neon_fp16_ok.
	* g++.dg/ext/arm-fp16/arm-fp16-ops-5.C: Use new names for
	arm_neon_fp16_ok and arm_fp16.
	* g++.dg/ext/arm-fp16/arm-fp16-ops-6.C: Likewise.
	* gcc.dg/torture/arm-fp16-ops-5.c: Likewise.
	* gcc.dg/torture/arm-fp16-ops-6.c: Likewise.
	* gcc.target/arm/fp16-compile-vcvt.c: Likewise.

Index: lib/target-supports.exp
===================================================================
--- lib/target-supports.exp	(revision 175083)
+++ lib/target-supports.exp	(working copy)
@@ -1947,45 +1947,53 @@
 # or -mfloat-abi=hard, but if one is already specified by the
 # multilib, use it.
 
-proc add_options_for_arm_neon_fp16 { flags } {
-    if { ! [check_effective_target_arm_neon_fp16_ok] } {
+proc add_options_for_arm_fp16 { flags } {
+    if { ! [check_effective_target_arm_fp16_ok] } {
 	return "$flags"
     }
-    global et_arm_neon_fp16_flags
-    return "$flags $et_arm_neon_fp16_flags"
+    global et_arm_fp16_flags
+    return "$flags $et_arm_fp16_flags"
 }
 
-# Return 1 if this is an ARM target supporting -mfpu=neon-fp16
-# -mfloat-abi=softfp or equivalent options.  Skip multilibs that are
-# incompatible with these options.  Also set et_arm_neon_flags to the
-# best options to add.
+# Return 1 if this is an ARM target that can support a VFP fp16 variant.
+# Skip multilibs that are incompatible with these options and set
+# et_arm_fp16_flags to the best options to add.
 
-proc check_effective_target_arm_neon_fp16_ok_nocache { } {
-    global et_arm_neon_fp16_flags
-    set et_arm_neon_fp16_flags ""
-    if { [check_effective_target_arm32] } {
-	if [check-flags [list "" { *-*-* } { "-mfpu=*" } { "-mfpu=neon-fp16*" } ]] {
-	    return 0
-	}
-	# Always add -mfpu=neon-fp16, since there is no preprocessor
-	# macro for FP16 support.
-	foreach flags {"-mfpu=neon-fp16" "-mfpu=neon-fp16 -mfloat-abi=softfp"} {
-	    if { [check_no_compiler_messages_nocache arm_neon_fp16_ok object {
-		#include "arm_neon.h"
-		int dummy;
-	    } "$flags"] } {
-		set et_arm_neon_fp16_flags $flags
-		return 1
-	    }
-	}
+proc check_effective_target_arm_fp16_ok_nocache { } {
+    global et_arm_fp16_flags
+    set et_arm_fp16_flags ""
+    if { ! [check_effective_target_arm32] } {
+	return 0;
     }
+    if [check-flags [list "" { *-*-* } { "-mfpu=*" } { "-mfpu=*fp16*" "-mfpu=*fpv[4-9]*" "-mfpu=*fpv[1-9][0-9]*" } ]] {
+	# Multilib flags would override -mfpu.
+	return 0
+    }
+    if [check-flags [list "" { *-*-* } { "-mfloat-abi=soft" } { "" } ]] {
+	# Must generate floating-point instructions.
+	return 0
+    }
+    if [check-flags [list "" { *-*-* } { "-mfpu=*" } { "" } ]] {
+        # The existing -mfpu value is OK; use it, but add softfp.
+	set et_arm_fp16_flags "-mfloat-abi=softfp"
+	return 1;
+    }
+    # Add -mfpu for a VFP fp16 variant since there is no preprocessor
+    # macro to check for this support.
+    set flags "-mfpu=vfpv4 -mfloat-abi=softfp"
+    if { [check_no_compiler_messages_nocache arm_fp16_ok assembly {
+	int dummy;
+    } "$flags"] } {
+	set et_arm_fp16_flags "$flags"
+	return 1
+    }
 
     return 0
 }
 
-proc check_effective_target_arm_neon_fp16_ok { } {
-    return [check_cached_effective_target arm_neon_fp16_ok \
-		check_effective_target_arm_neon_fp16_ok_nocache]
+proc check_effective_target_arm_fp16_ok { } {
+    return [check_cached_effective_target arm_fp16_ok \
+		check_effective_target_arm_fp16_ok_nocache]
 }
 
 # Return 1 is this is an ARM target where -mthumb causes Thumb-1 to be
Index: g++.dg/ext/arm-fp16/arm-fp16-ops-5.C
===================================================================
--- g++.dg/ext/arm-fp16/arm-fp16-ops-5.C	(revision 175083)
+++ g++.dg/ext/arm-fp16/arm-fp16-ops-5.C	(working copy)
@@ -1,8 +1,8 @@
 /* Test various operators on __fp16 and mixed __fp16/float operands.  */
 /* { dg-do compile { target arm*-*-* } } */
-/* { dg-require-effective-target arm_neon_fp16_ok } */
+/* { dg-require-effective-target arm_fp16_ok } */
 /* { dg-options "-mfp16-format=ieee" } */
-/* { dg-add-options arm_neon_fp16 } */
+/* { dg-add-options arm_fp16 } */
 
 #include "arm-fp16-ops.h"
 
Index: g++.dg/ext/arm-fp16/arm-fp16-ops-6.C
===================================================================
--- g++.dg/ext/arm-fp16/arm-fp16-ops-6.C	(revision 175083)
+++ g++.dg/ext/arm-fp16/arm-fp16-ops-6.C	(working copy)
@@ -1,8 +1,8 @@
 /* Test various operators on __fp16 and mixed __fp16/float operands.  */
 /* { dg-do compile { target arm*-*-* } } */
-/* { dg-require-effective-target arm_neon_fp16_ok } */
+/* { dg-require-effective-target arm_fp16_ok } */
 /* { dg-options "-mfp16-format=ieee -ffast-math" } */
-/* { dg-add-options arm_neon_fp16 } */
+/* { dg-add-options arm_fp16 } */
 
 #include "arm-fp16-ops.h"
 
Index: gcc.dg/torture/arm-fp16-ops-5.c
===================================================================
--- gcc.dg/torture/arm-fp16-ops-5.c	(revision 175083)
+++ gcc.dg/torture/arm-fp16-ops-5.c	(working copy)
@@ -1,8 +1,8 @@
 /* Test various operators on __fp16 and mixed __fp16/float operands.  */
 /* { dg-do compile { target arm*-*-* } } */
-/* { dg-require-effective-target arm_neon_fp16_ok } */
+/* { dg-require-effective-target arm_fp16_ok } */
 /* { dg-options "-mfp16-format=ieee" } */
-/* { dg-add-options arm_neon_fp16 } */
+/* { dg-add-options arm_fp16 } */
 
 #include "arm-fp16-ops.h"
 
Index: gcc.dg/torture/arm-fp16-ops-6.c
===================================================================
--- gcc.dg/torture/arm-fp16-ops-6.c	(revision 175083)
+++ gcc.dg/torture/arm-fp16-ops-6.c	(working copy)
@@ -1,8 +1,8 @@
 /* Test various operators on __fp16 and mixed __fp16/float operands.  */
 /* { dg-do compile { target arm*-*-* } } */
-/* { dg-require-effective-target arm_neon_fp16_ok } */
+/* { dg-require-effective-target arm_fp16_ok } */
 /* { dg-options "-mfp16-format=ieee -ffast-math" } */
-/* { dg-add-options arm_neon_fp16 } */
+/* { dg-add-options arm_fp16 } */
 
 #include "arm-fp16-ops.h"
 
Index: gcc.target/arm/fp16-compile-vcvt.c
===================================================================
--- gcc.target/arm/fp16-compile-vcvt.c	(revision 175083)
+++ gcc.target/arm/fp16-compile-vcvt.c	(working copy)
@@ -1,7 +1,7 @@
 /* { dg-do compile } */
-/* { dg-require-effective-target arm_neon_fp16_ok } */
+/* { dg-require-effective-target arm_fp16_ok } */
 /* { dg-options "-mfp16-format=ieee" } */
-/* { dg-add-options arm_neon_fp16 } */
+/* { dg-add-options arm_fp16 } */
 
 /* Test generation of VFP __fp16 instructions.  */
 

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [testsuite] skip ARM neon-fp16 tests for other -mcpu values
  2011-06-16  6:28       ` Janis Johnson
@ 2011-06-26  4:29         ` Mike Stump
  2011-06-27  5:08           ` Janis Johnson
  0 siblings, 1 reply; 10+ messages in thread
From: Mike Stump @ 2011-06-26  4:29 UTC (permalink / raw)
  To: Janis Johnson; +Cc: Richard Earnshaw, Joseph S. Myers, gcc-patches

On Jun 15, 2011, at 5:57 PM, Janis Johnson wrote:
> The bug was in my attempt to run the tests with other -mfpu values, so
> I'm very glad you caught that.  I tried again, getting rid of the neon
> requirement along the way, and found a way to run the VFP fp16 tests
> with any of the fp16 values that Joseph listed.
> 
> This patch renames *arm_neon_fp16* to *arm_fp16* and skips tests if the
> multilib does not support arm32, includes -mfpu that is not fp16, or
> includes -mfloat-abi=soft.  If the multilib uses -mfpu= with an fp16
> value then that is used, otherwise -mfpu=vfpv4 is used.  Added flags
> include -mfloat-abi=softfp in case the default is "soft".

> OK for trunk, and for 4.6 a few days later?

Ok.  Ok for 4.6.  For 4.6, as also please ensure that the RMs don't have the branch locked down.

General comment, I'm happy to have the front-end, target and library maintainers review and approve the normal additions to the .exp files to support testing their bits.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [testsuite] skip ARM neon-fp16 tests for other -mcpu values
  2011-06-26  4:29         ` Mike Stump
@ 2011-06-27  5:08           ` Janis Johnson
  0 siblings, 0 replies; 10+ messages in thread
From: Janis Johnson @ 2011-06-27  5:08 UTC (permalink / raw)
  To: Mike Stump; +Cc: Richard Earnshaw, Joseph S. Myers, gcc-patches

On 06/25/2011 04:56 PM, Mike Stump wrote:
> On Jun 15, 2011, at 5:57 PM, Janis Johnson wrote:
>> The bug was in my attempt to run the tests with other -mfpu values, so
>> I'm very glad you caught that.  I tried again, getting rid of the neon
>> requirement along the way, and found a way to run the VFP fp16 tests
>> with any of the fp16 values that Joseph listed.
>>
>> This patch renames *arm_neon_fp16* to *arm_fp16* and skips tests if the
>> multilib does not support arm32, includes -mfpu that is not fp16, or
>> includes -mfloat-abi=soft.  If the multilib uses -mfpu= with an fp16
>> value then that is used, otherwise -mfpu=vfpv4 is used.  Added flags
>> include -mfloat-abi=softfp in case the default is "soft".
> 
>> OK for trunk, and for 4.6 a few days later?
> 
> Ok.  Ok for 4.6.  For 4.6, as also please ensure that the RMs don't have the branch locked down.

I'm waiting until after the 4.6.1 release to move anything more to that branch.

> General comment, I'm happy to have the front-end, target and library
> maintainers review and approve the normal additions to the .exp files
> to support testing their bits.

Yep!

Janis

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2011-06-27  2:12 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-06-08  1:29 [testsuite] skip ARM neon-fp16 tests for other -mcpu values Janis Johnson
2011-06-08  2:05 ` Mike Stump
2011-06-08  2:14   ` Janis Johnson
2011-06-08 10:24 ` Joseph S. Myers
2011-06-08 16:16   ` Janis Johnson
2011-06-10  0:04   ` Janis Johnson
2011-06-15 13:07     ` Richard Earnshaw
2011-06-16  6:28       ` Janis Johnson
2011-06-26  4:29         ` Mike Stump
2011-06-27  5:08           ` Janis Johnson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).