diff mbox

[testsuite] ARM tests vfp-ldm*.c and vfp-stm*.c

Message ID 4E03DC3F.6000101@codesourcery.com
State New
Headers show

Commit Message

Janis Johnson June 24, 2011, 12:37 a.m. UTC
Tests target/arm/vfp-ldm*.c and vfp-sdm*.c add -mfloat-abi=softfp but
fail if multilib flags override that option.  This patch skips the test
for multilibs that specify a different value for -mfloat-abi.

Tested on arm-none-linux-gnueabi with 43 sets of multlib flags.  OK for
trunk, and later for 4.6?

Janis
2011-06-23  Janis Johnson  <janisjo@codesourcer.com>

	* gcc.target/arm/vfp-ldmdbd.c: Skip if multilib flags override
	-mfloat-abi from test.
	* gcc.target/arm/vfp-ldmdbs.c: Ditto.
	* gcc.target/arm/vfp-ldmiad.c: Ditto.
	* gcc.target/arm/vfp-ldmias.c: Ditto.
	* gcc.target/arm/vfp-stmdbd.c: Ditto.
	* gcc.target/arm/vfp-stmdbs.c: Ditto.
	* gcc.target/arm/vfp-stmiad.c: Ditto.
	* gcc.target/arm/vfp-stmias.c: Ditto.

Comments

Joseph Myers June 24, 2011, 10:29 a.m. UTC | #1
On Thu, 23 Jun 2011, Janis Johnson wrote:

> Tests target/arm/vfp-ldm*.c and vfp-sdm*.c add -mfloat-abi=softfp but
> fail if multilib flags override that option.  This patch skips the test
> for multilibs that specify a different value for -mfloat-abi.

While they need to be skipped for -mfloat-abi=soft, I'd think they ought 
to pass for -mfloat-abi=hard - why do they fail there?
Janis Johnson June 24, 2011, 2:49 p.m. UTC | #2
On 06/24/2011 03:29 AM, Joseph S. Myers wrote:
> On Thu, 23 Jun 2011, Janis Johnson wrote:
> 
>> Tests target/arm/vfp-ldm*.c and vfp-sdm*.c add -mfloat-abi=softfp but
>> fail if multilib flags override that option.  This patch skips the test
>> for multilibs that specify a different value for -mfloat-abi.
> 
> While they need to be skipped for -mfloat-abi=soft, I'd think they ought 
> to pass for -mfloat-abi=hard - why do they fail there?
> 

They don't, this would be better:

/* { dg-skip-if "need fp instructions" { *-*-* } { "-mfloat-abi=soft" } { "" } } */

Janis
Richard Earnshaw June 28, 2011, 9:53 a.m. UTC | #3
On 24/06/11 15:49, Janis Johnson wrote:
> On 06/24/2011 03:29 AM, Joseph S. Myers wrote:
>> On Thu, 23 Jun 2011, Janis Johnson wrote:
>>
>>> Tests target/arm/vfp-ldm*.c and vfp-sdm*.c add -mfloat-abi=softfp but
>>> fail if multilib flags override that option.  This patch skips the test
>>> for multilibs that specify a different value for -mfloat-abi.
>>
>> While they need to be skipped for -mfloat-abi=soft, I'd think they ought 
>> to pass for -mfloat-abi=hard - why do they fail there?
>>
> 
> They don't, this would be better:
> 
> /* { dg-skip-if "need fp instructions" { *-*-* } { "-mfloat-abi=soft" } { "" } } */
> 
> Janis
> 
> 

OK with that change.

R.
diff mbox

Patch

Index: gcc.target/arm/vfp-ldmdbd.c
===================================================================
--- gcc.target/arm/vfp-ldmdbd.c	(revision 175313)
+++ gcc.target/arm/vfp-ldmdbd.c	(working copy)
@@ -1,5 +1,6 @@ 
 /* { dg-do compile } */
 /* { dg-require-effective-target arm_vfp_ok } */
+/* { dg-skip-if "don't override float abi" { *-*-* } { "-mfloat-abi=*" } { "-mfloat-abi=softfp" } } */
 /* { dg-options "-O2 -mfpu=vfp -mfloat-abi=softfp" } */
 
 extern void bar (double);
Index: gcc.target/arm/vfp-ldmdbs.c
===================================================================
--- gcc.target/arm/vfp-ldmdbs.c	(revision 175313)
+++ gcc.target/arm/vfp-ldmdbs.c	(working copy)
@@ -1,5 +1,6 @@ 
 /* { dg-do compile } */
 /* { dg-require-effective-target arm_vfp_ok } */
+/* { dg-skip-if "don't override float abi" { *-*-* } { "-mfloat-abi=*" } { "-mfloat-abi=softfp" } } */
 /* { dg-options "-O2 -mfpu=vfp -mfloat-abi=softfp" } */
 
 extern void baz (float);
Index: gcc.target/arm/vfp-ldmiad.c
===================================================================
--- gcc.target/arm/vfp-ldmiad.c	(revision 175313)
+++ gcc.target/arm/vfp-ldmiad.c	(working copy)
@@ -1,5 +1,6 @@ 
 /* { dg-do compile } */
 /* { dg-require-effective-target arm_vfp_ok } */
+/* { dg-skip-if "don't override float abi" { *-*-* } { "-mfloat-abi=*" } { "-mfloat-abi=softfp" } } */
 /* { dg-options "-O2 -mfpu=vfp -mfloat-abi=softfp" } */
 
 extern void bar (double);
Index: gcc.target/arm/vfp-ldmias.c
===================================================================
--- gcc.target/arm/vfp-ldmias.c	(revision 175313)
+++ gcc.target/arm/vfp-ldmias.c	(working copy)
@@ -1,5 +1,6 @@ 
 /* { dg-do compile } */
 /* { dg-require-effective-target arm_vfp_ok } */
+/* { dg-skip-if "don't override float abi" { *-*-* } { "-mfloat-abi=*" } { "-mfloat-abi=softfp" } } */
 /* { dg-options "-O2 -mfpu=vfp -mfloat-abi=softfp" } */
 
 extern void baz (float);
Index: gcc.target/arm/vfp-stmdbd.c
===================================================================
--- gcc.target/arm/vfp-stmdbd.c	(revision 175313)
+++ gcc.target/arm/vfp-stmdbd.c	(working copy)
@@ -1,5 +1,6 @@ 
 /* { dg-do compile } */
 /* { dg-require-effective-target arm_vfp_ok } */
+/* { dg-skip-if "don't override float abi" { *-*-* } { "-mfloat-abi=*" } { "-mfloat-abi=softfp" } } */
 /* { dg-options "-O2 -mfpu=vfp -mfloat-abi=softfp" } */
 
 void
Index: gcc.target/arm/vfp-stmdbs.c
===================================================================
--- gcc.target/arm/vfp-stmdbs.c	(revision 175313)
+++ gcc.target/arm/vfp-stmdbs.c	(working copy)
@@ -1,5 +1,6 @@ 
 /* { dg-do compile } */
 /* { dg-require-effective-target arm_vfp_ok } */
+/* { dg-skip-if "don't override float abi" { *-*-* } { "-mfloat-abi=*" } { "-mfloat-abi=softfp" } } */
 /* { dg-options "-O2 -mfpu=vfp -mfloat-abi=softfp" } */
 
 void
Index: gcc.target/arm/vfp-stmiad.c
===================================================================
--- gcc.target/arm/vfp-stmiad.c	(revision 175313)
+++ gcc.target/arm/vfp-stmiad.c	(working copy)
@@ -1,5 +1,6 @@ 
 /* { dg-do compile } */
 /* { dg-require-effective-target arm_vfp_ok } */
+/* { dg-skip-if "don't override float abi" { *-*-* } { "-mfloat-abi=*" } { "-mfloat-abi=softfp" } } */
 /* { dg-options "-O2 -mfpu=vfp -mfloat-abi=softfp" } */
 
 void
Index: gcc.target/arm/vfp-stmias.c
===================================================================
--- gcc.target/arm/vfp-stmias.c	(revision 175313)
+++ gcc.target/arm/vfp-stmias.c	(working copy)
@@ -1,5 +1,6 @@ 
 /* { dg-do compile } */
 /* { dg-require-effective-target arm_vfp_ok } */
+/* { dg-skip-if "don't override float abi" { *-*-* } { "-mfloat-abi=*" } { "-mfloat-abi=softfp" } } */
 /* { dg-options "-O2 -mfpu=vfp -mfloat-abi=softfp" } */
 
 void