Patchwork [testsuite] : Fix gcc.target/i386 cases for mingw-targets

login
register
mail settings
Submitter Kai Tietz
Date March 7, 2013, 6:32 p.m.
Message ID <CAEwic4ZCZ9ANQOiA=Yse2jU=1kqEV9SKWiUxwCgtERtkBUTxjg@mail.gmail.com>
Download mbox | patch
Permalink /patch/225894/
State New
Headers show

Comments

Kai Tietz - March 7, 2013, 6:32 p.m.
Hi,

this patch fixes some testsuite-failures on mingw targets.

ChangeLog

2013-03-07  Kai Tietz  <ktietz@redhat.com>

	* gcc.target/i386/movti.c: Adjust for x64 mingw.
	* gcc.target/i386/pr20020-1.c: Skip for x64 mingw target.
	* gcc.target/i386/pr20020-2.c: Likewise.
	* gcc.target/i386/pr20020-3.c: Likewise.
	* gcc.target/i386/pr53425-1.c: Likewise.
	* gcc.target/i386/pr53425-2.c: Likewise.
	* gcc.target/i386/pr55093.c: Likewise.
	* gcc.target/i386/pr53907.c: Adjust for LLP64 targets.

Ok to apply?

Kai
Rainer Orth - March 8, 2013, 10:09 a.m.
Hi Kai,

some comments; I'll leave approval to a target maintainer.

> Index: gcc.target/i386/movti.c
> ===================================================================
> --- gcc.target/i386/movti.c	(Revision 196507)
> +++ gcc.target/i386/movti.c	(Arbeitskopie)
> @@ -7,4 +7,4 @@ _Decimal128 test (void)
>    return 1234123412341234.123412341234dl;
>  }
>
> -/* { dg-final { scan-assembler-not "movabs" } } */
> +/* { dg-final { scan-assembler-not "movabs" { target { !
> x86_64-*-mingw* } } } } */

Please add a comment why mingw64 is special here.

> Index: gcc.target/i386/pr20020-1.c
> ===================================================================
> --- gcc.target/i386/pr20020-1.c	(Revision 196507)
> +++ gcc.target/i386/pr20020-1.c	(Arbeitskopie)
> @@ -1,5 +1,6 @@
>  /* Check that 128-bit struct's are represented as TImode values.  */
>  /* { dg-do compile { target int128 } } */
> +/* { dg-skip-if "" { x86_64-*-mingw* } { "*" } { "" } } */

Please omit the default { "*" } { "" } here and in other tests below.
And again: explain why the test is skipped.

Thanks.
	Rainer
Kai Tietz - March 8, 2013, 1:14 p.m.
2013/3/8 Rainer Orth <ro@cebitec.uni-bielefeld.de>:
> Hi Kai,
>
> some comments; I'll leave approval to a target maintainer.
>
>> Index: gcc.target/i386/movti.c
>> ===================================================================
>> --- gcc.target/i386/movti.c   (Revision 196507)
>> +++ gcc.target/i386/movti.c   (Arbeitskopie)
>> @@ -7,4 +7,4 @@ _Decimal128 test (void)
>>    return 1234123412341234.123412341234dl;
>>  }
>>
>> -/* { dg-final { scan-assembler-not "movabs" } } */
>> +/* { dg-final { scan-assembler-not "movabs" { target { !
>> x86_64-*-mingw* } } } } */
>
> Please add a comment why mingw64 is special here.
>
>> Index: gcc.target/i386/pr20020-1.c
>> ===================================================================
>> --- gcc.target/i386/pr20020-1.c       (Revision 196507)
>> +++ gcc.target/i386/pr20020-1.c       (Arbeitskopie)
>> @@ -1,5 +1,6 @@
>>  /* Check that 128-bit struct's are represented as TImode values.  */
>>  /* { dg-do compile { target int128 } } */
>> +/* { dg-skip-if "" { x86_64-*-mingw* } { "*" } { "" } } */
>
> Please omit the default { "*" } { "" } here and in other tests below.
> And again: explain why the test is skipped.

Hmm, why shall I omit here the default.  I checked in tree and most
statements for dg-skip-if are expressing default too.
Well, to skip here x64 mingw is caused by the fact that it has a
different ABI as x86_64.  I will add it to skip message.

> Thanks.
>         Rainer

Ok to apply with those changes?

Kai
Rainer Orth - March 8, 2013, 1:21 p.m.
Hi Kai,

>>> Index: gcc.target/i386/pr20020-1.c
>>> ===================================================================
>>> --- gcc.target/i386/pr20020-1.c       (Revision 196507)
>>> +++ gcc.target/i386/pr20020-1.c       (Arbeitskopie)
>>> @@ -1,5 +1,6 @@
>>>  /* Check that 128-bit struct's are represented as TImode values.  */
>>>  /* { dg-do compile { target int128 } } */
>>> +/* { dg-skip-if "" { x86_64-*-mingw* } { "*" } { "" } } */
>>
>> Please omit the default { "*" } { "" } here and in other tests below.
>> And again: explain why the test is skipped.
>
> Hmm, why shall I omit here the default.  I checked in tree and most
> statements for dg-skip-if are expressing default too.

just because support for omitting the default isn't that old.  There's
certainly opportunity for cleanup, but we shouldn't spread this any
further.

> Well, to skip here x64 mingw is caused by the fact that it has a
> different ABI as x86_64.  I will add it to skip message.

Thanks.  It's always far easier to have this in the testsuite to spare
the next guy from doing software archaeology.

> Ok to apply with those changes?

Again, I prefer to defer to the target maintainers.

	Rainer
NightStrike - March 12, 2013, 12:06 p.m.
On Fri, Mar 8, 2013 at 8:21 AM, Rainer Orth <ro@cebitec.uni-bielefeld.de> wrote:
> Hi Kai,
>
>>>> Index: gcc.target/i386/pr20020-1.c
>>>> ===================================================================
>>>> --- gcc.target/i386/pr20020-1.c       (Revision 196507)
>>>> +++ gcc.target/i386/pr20020-1.c       (Arbeitskopie)
>>>> @@ -1,5 +1,6 @@
>>>>  /* Check that 128-bit struct's are represented as TImode values.  */
>>>>  /* { dg-do compile { target int128 } } */
>>>> +/* { dg-skip-if "" { x86_64-*-mingw* } { "*" } { "" } } */
>>>
>>> Please omit the default { "*" } { "" } here and in other tests below.
>>> And again: explain why the test is skipped.
>>
>> Hmm, why shall I omit here the default.  I checked in tree and most
>> statements for dg-skip-if are expressing default too.
>
> just because support for omitting the default isn't that old.  There's
> certainly opportunity for cleanup, but we shouldn't spread this any
> further.
>
>> Well, to skip here x64 mingw is caused by the fact that it has a
>> different ABI as x86_64.  I will add it to skip message.
>
> Thanks.  It's always far easier to have this in the testsuite to spare
> the next guy from doing software archaeology.
>
>> Ok to apply with those changes?
>
> Again, I prefer to defer to the target maintainers.

Ping
Kai Tietz - March 12, 2013, 1:05 p.m.
What's here to ping about?  I got ok by rth.

Kai

Patch

Index: gcc.target/i386/movti.c
===================================================================
--- gcc.target/i386/movti.c	(Revision 196507)
+++ gcc.target/i386/movti.c	(Arbeitskopie)
@@ -7,4 +7,4 @@  _Decimal128 test (void)
   return 1234123412341234.123412341234dl;
 }

-/* { dg-final { scan-assembler-not "movabs" } } */
+/* { dg-final { scan-assembler-not "movabs" { target { !
x86_64-*-mingw* } } } } */
Index: gcc.target/i386/pr20020-1.c
===================================================================
--- gcc.target/i386/pr20020-1.c	(Revision 196507)
+++ gcc.target/i386/pr20020-1.c	(Arbeitskopie)
@@ -1,5 +1,6 @@ 
 /* Check that 128-bit struct's are represented as TImode values.  */
 /* { dg-do compile { target int128 } } */
+/* { dg-skip-if "" { x86_64-*-mingw* } { "*" } { "" } } */
 /* { dg-options "-O2 -fdump-rtl-expand" } */

 struct shared_ptr_struct
Index: gcc.target/i386/pr20020-2.c
===================================================================
--- gcc.target/i386/pr20020-2.c	(Revision 196507)
+++ gcc.target/i386/pr20020-2.c	(Arbeitskopie)
@@ -1,5 +1,6 @@ 
 /* Check that 128-bit struct's are represented as TImode values.  */
 /* { dg-do compile { target int128 } } */
+/* { dg-skip-if "" { x86_64-*-mingw* } { "*" } { "" } } */
 /* { dg-options "-O2 -fdump-rtl-expand" } */

 struct shared_ptr_struct
Index: gcc.target/i386/pr20020-3.c
===================================================================
--- gcc.target/i386/pr20020-3.c	(Revision 196507)
+++ gcc.target/i386/pr20020-3.c	(Arbeitskopie)
@@ -1,5 +1,6 @@ 
 /* Check that 128-bit struct's are represented as TImode values.  */
 /* { dg-do compile { target int128 } } */
+/* { dg-skip-if "" { x86_64-*-mingw* } { "*" } { "" } } */
 /* { dg-options "-O2 -fdump-rtl-expand" } */

 struct shared_ptr_struct
Index: gcc.target/i386/pr53425-1.c
===================================================================
--- gcc.target/i386/pr53425-1.c	(Revision 196507)
+++ gcc.target/i386/pr53425-1.c	(Arbeitskopie)
@@ -1,6 +1,7 @@ 
 /* PR target/53425 */
 /* { dg-do compile { target { ! { ia32 } } } } */
 /* { dg-options "-O2 -mno-sse" } */
+/* { dg-skip-if "no SSE vector" { x86_64-*-mingw* } { "*" } { "" } } */

 typedef double __v2df __attribute__ ((__vector_size__ (16)));

Index: gcc.target/i386/pr53425-2.c
===================================================================
--- gcc.target/i386/pr53425-2.c	(Revision 196507)
+++ gcc.target/i386/pr53425-2.c	(Arbeitskopie)
@@ -1,6 +1,7 @@ 
 /* PR target/53425 */
 /* { dg-do compile { target { ! { ia32 } } } } */
 /* { dg-options "-O2 -mno-sse" } */
+/* { dg-skip-if "no SSE vector" { x86_64-*-mingw* } { "*" } { "" } } */

 typedef float __v2sf __attribute__ ((__vector_size__ (8)));

Index: gcc.target/i386/pr53907.c
===================================================================
--- gcc.target/i386/pr53907.c	(Revision 196507)
+++ gcc.target/i386/pr53907.c	(Arbeitskopie)
@@ -3,10 +3,12 @@ 

 #include <emmintrin.h>

+__extension__ typedef __UINTPTR_TYPE__ uintptr_t;
+
 __m128i x(char *s)
 {
   __m128i sz,z,mvec;
-  s-=((unsigned long) s)%16;
+  s-=((uintptr_t) s)%16;
   sz=_mm_load_si128((__m128i *)s);
   return sz;
 }
Index: gcc.target/i386/pr55093.c
===================================================================
--- gcc.target/i386/pr55093.c	(Revision 196507)
+++ gcc.target/i386/pr55093.c	(Arbeitskopie)
@@ -1,5 +1,6 @@ 
 /* { dg-do compile { target { ! { ia32 } } } } */
 /* { dg-options "-O2 -mx32 -maddress-mode=long" } */
+/* { dg-skip-if "" { x86_64-*-mingw* } { "*" } { "" } } */

 typedef union tree_node *tree;
 typedef const union tree_node *const_tree;