Index: pr23455.c
===================================================================
--- pr23455.c	(revision 177507)
+++ pr23455.c	(working copy)
@@ -1,19 +1,25 @@
 /* { dg-do compile } */
 /* { dg-options "-O2 -fdump-tree-pre-stats" } */
-unsigned long outcnt;
+#ifdef _WIN64
+#define LONG long long
+#else
+#define LONG long
+#endif
+
+unsigned LONG outcnt;
 extern void flush_outbuf(void);

 void
 bi_windup(unsigned int *outbuf, unsigned int bi_buf)
 {
-    unsigned long t1 = outcnt;
+    unsigned LONG t1 = outcnt;
     outbuf[t1] = bi_buf;

-    unsigned long t2 = outcnt;
+    unsigned LONG t2 = outcnt;
     if (t2 == 16384)
       flush_outbuf();

-    unsigned long t3 = outcnt;
+    unsigned LONG t3 = outcnt;
     outbuf[t3] = bi_buf;
 }
 /* We should eliminate one load of outcnt, which will in turn let us eliminate
Index: loop-1.c
===================================================================
--- loop-1.c	(revision 177507)
+++ loop-1.c	(working copy)
@@ -44,10 +44,11 @@
 /* CRIS keeps the address in a register.  */
 /* m68k sometimes puts the address in a register, depending on CPU and PIC.  */

-/* { dg-final { scan-assembler-times "foo" 5 { xfail hppa*-*-*
ia64*-*-* sh*-*-* cris-*-* crisv32-*-* fido-*-* m68k-*-* i?86-*-mingw*
i?86-*-cygwin* } } } */
+/* { dg-final { scan-assembler-times "foo" 5 { xfail hppa*-*-*
ia64*-*-* sh*-*-* cris-*-* crisv32-*-* fido-*-* m68k-*-* i?86-*-mingw*
i?86-*-cygwin* x86_64-*-mingw* } } } */
 /* { dg-final { scan-assembler-times "foo,%r" 5 { target hppa*-*-* } } } */
 /* { dg-final { scan-assembler-times "= foo"  5 { target ia64*-*-* } } } */
 /* { dg-final { scan-assembler-times "call\[ \t\]*_foo" 5 { target
i?86-*-mingw* i?86-*-cygwin* } } } */
+/* { dg-final { scan-assembler-times "call\[ \t\]*foo" 5 { target
x86_64-*-mingw* } } } */
 /* { dg-final { scan-assembler-times "jsr|bsrf|blink\ttr?,r18"  5 {
target sh*-*-* } } } */
 /* { dg-final { scan-assembler-times "Jsr \\\$r" 5 { target cris-*-* } } } */
 /* { dg-final { scan-assembler-times "\[jb\]sr" 5 { target fido-*-*
m68k-*-* } } } */
Index: ssa-store-ccp-2.c
===================================================================
--- ssa-store-ccp-2.c	(revision 177507)
+++ ssa-store-ccp-2.c	(working copy)
@@ -10,5 +10,5 @@

 /* There should be a reference to conststaticvariable since it may
    may be overriden at link time.  */
-/* { dg-final { scan-tree-dump-times "conststaticvariable" 1 "optimized"} } */
+/* { dg-final { scan-tree-dump-times "conststaticvariable" 1
"optimized" { xfail { *-*-mingw* *-*-cygwin* } } } } */
 /* { dg-final { cleanup-tree-dump "optimized" } } */
Index: ssa-store-ccp-3.c
===================================================================
--- ssa-store-ccp-3.c	(revision 177507)
+++ ssa-store-ccp-3.c	(working copy)
@@ -1,7 +1,7 @@
 /* { dg-do compile } */
 /* Skipped on MIPS GNU/Linux and IRIX target because __PIC__ can be
    defined for executables as well as shared libraries.  */
-/* { dg-skip-if "" { *-*-darwin* hppa*64*-*-* mips*-*-linux*
mips*-*-irix* } { "*" } { "" } } */
+/* { dg-skip-if "" { *-*-darwin* hppa*64*-*-* mips*-*-linux*
mips*-*-irix* *-*-mingw* } { "*" } { "" } } */
 /* { dg-options "-O2 -fno-common -fdump-tree-optimized" } */

 const int conststaticvariable;
Index: loop-33.c
===================================================================
--- loop-33.c	(revision 177507)
+++ loop-33.c	(working copy)
@@ -36,5 +36,5 @@
     }
 }

-/* { dg-final { scan-tree-dump-times "Executing store motion of" 4
"lim1" { xfail lp64 } } } */
+/* { dg-final { scan-tree-dump-times "Executing store motion of" 4
"lim1" { xfail { lp64 || llp64 } } } } */
 /* { dg-final { cleanup-tree-dump "lim1" } } */
Index: ssa-store-ccp-4.c
===================================================================
--- ssa-store-ccp-4.c	(revision 177507)
+++ ssa-store-ccp-4.c	(working copy)
@@ -1,6 +1,6 @@
 /* { dg-do compile } */
 /* { dg-require-effective-target fpic } */
-/* { dg-skip-if "" { *-*-darwin* } { "*" } { "" } } */
+/* { dg-skip-if "" { *-*-darwin* *-*-mingw* } { "*" } { "" } } */
 /* { dg-options "-O2 -fno-common -fpic -fdump-tree-optimized" } */

 const int conststaticvariable;
Index: loop-35.c
===================================================================
--- loop-35.c	(revision 177507)
+++ loop-35.c	(working copy)
@@ -10,6 +10,13 @@
   int Y;
 };

+/* Word size is long long for 64-bit mingw target.  */
+#ifdef _WIN64
+#define LONG long long
+#else
+#define LONG long
+#endif
+
 struct a arr[100];

 void test1(int b)
@@ -36,7 +43,7 @@
     }
 }

-void test3(unsigned long b)
+void test3(unsigned LONG b)
 {
   unsigned i;

@@ -48,7 +55,7 @@
     }
 }

-void test4(struct a *A, unsigned long b)
+void test4(struct a *A, unsigned LONG b)
 {
   unsigned i;

Index: stdarg-2.c
===================================================================
--- stdarg-2.c	(revision 177507)
+++ stdarg-2.c	(working copy)
@@ -21,7 +21,7 @@
   va_start (ap, i);
   va_end (ap);
 }
-/* { dg-final { scan-tree-dump "f1: va_list escapes 0, needs to save
0 GPR units and 0 FPR units" "stdarg" { target { { i?86-*-* x86_64-*-*
} && { ! { ia32 } } } } } } */
+/* { dg-final { scan-tree-dump "f1: va_list escapes 0, needs to save
0 GPR units and 0 FPR units" "stdarg" { target { { i?86-*-* x86_64-*-*
} && { ! { ia32 || llp64 } } } } } } */
 /* { dg-final { scan-tree-dump "f1: va_list escapes 0, needs to save
0 GPR units and 0 FPR units" "stdarg" { target { powerpc*-*-linux* &&
ilp32 } } } } */
 /* { dg-final { scan-tree-dump "f1: va_list escapes 0, needs to save
0 GPR units and 0 FPR units" "stdarg" { target alpha*-*-linux* } } }
*/
 /* { dg-final { scan-tree-dump "f1: va_list escapes 0, needs to save
0 GPR units and 0 FPR units" "stdarg" { target s390*-*-linux* } } } */
@@ -41,7 +41,7 @@
 }
 /* Assume the counters can be number of registers or bytes on 32-bit
    architecture or bytes on 64-bit architecture.  */
-/* { dg-final { scan-tree-dump "f2: va_list escapes 0, needs to save
\[148\] GPR units and 0 FPR units" "stdarg" { target { { i?86-*-*
x86_64-*-* } && { ! { ia32 } } } } } } */
+/* { dg-final { scan-tree-dump "f2: va_list escapes 0, needs to save
\[148\] GPR units and 0 FPR units" "stdarg" { target { { i?86-*-*
x86_64-*-* } && { ! { ia32 || llp64 } } } } } } */
 /* { dg-final { scan-tree-dump "f2: va_list escapes 0, needs to save
\[148\] GPR units and 0 FPR units" "stdarg" { target {
powerpc*-*-linux* && ilp32 } } } } */
 /* { dg-final { scan-tree-dump "f2: va_list escapes 0, needs to save
8 GPR units and 1" "stdarg" { target alpha*-*-linux* } } } */
 /* { dg-final { scan-tree-dump "f2: va_list escapes 0, needs to save
1 GPR units and 0 FPR units" "stdarg" { target s390*-*-linux* } } } */
@@ -57,7 +57,7 @@
   d = va_arg (ap, double);
   va_end (ap);
 }
-/* { dg-final { scan-tree-dump "f3: va_list escapes 0, needs to save
0 GPR units and \[1-9\]\[0-9\]* FPR units" "stdarg" { target { {
i?86-*-* x86_64-*-* } && { ! { ia32 } } } } } } */
+/* { dg-final { scan-tree-dump "f3: va_list escapes 0, needs to save
0 GPR units and \[1-9\]\[0-9\]* FPR units" "stdarg" { target { {
i?86-*-* x86_64-*-* } && { ! { ia32 || llp64 } } } } } } */
 /* { dg-final { scan-tree-dump "f3: va_list escapes 0, needs to save
0 GPR units and \[1-9\]\[0-9\]* FPR units" "stdarg" { target {
powerpc*-*-linux* && { powerpc_fprs && ilp32 } } } } } */
 /* { dg-final { scan-tree-dump "f3: va_list escapes 0, needs to save
0 GPR units and 1 FPR units" "stdarg" { target s390*-*-linux* } } } */
 /* { dg-final { scan-tree-dump "f3: va_list escapes 0, needs to save
8 GPR units and 2" "stdarg" { target alpha*-*-linux* } } } */
@@ -74,7 +74,7 @@
   foo (i, ap);
   va_end (ap);
 }
-/* { dg-final { scan-tree-dump "f4: va_list escapes 1, needs to save
all GPR units and all FPR units" "stdarg" { target { { i?86-*-*
x86_64-*-* } && { ! { ia32 } } } } } } */
+/* { dg-final { scan-tree-dump "f4: va_list escapes 1, needs to save
all GPR units and all FPR units" "stdarg" { target { { i?86-*-*
x86_64-*-* } && { ! { ia32 || llp64 } } } } } } */
 /* { dg-final { scan-tree-dump "f4: va_list escapes 1, needs to save
all GPR units and all FPR units" "stdarg" { target { powerpc*-*-linux*
&& ilp32 } } } } */
 /* { dg-final { scan-tree-dump "f4: va_list escapes 1, needs to save
all GPR units and all FPR units" "stdarg" { target alpha*-*-linux* } }
} */
 /* { dg-final { scan-tree-dump "f4: va_list escapes 1, needs to save
all GPR units and all FPR units" "stdarg" { target s390*-*-linux* } }
} */
@@ -92,7 +92,7 @@
   va_end (ap);
   va_end (gap);
 }
-/* { dg-final { scan-tree-dump "f5: va_list escapes 1, needs to save
all GPR units and all FPR units" "stdarg" { target { { i?86-*-*
x86_64-*-* } && { ! { ia32 } } } } } } */
+/* { dg-final { scan-tree-dump "f5: va_list escapes 1, needs to save
all GPR units and all FPR units" "stdarg" { target { { i?86-*-*
x86_64-*-* } && { ! { ia32 || llp64 } } } } } } */
 /* { dg-final { scan-tree-dump "f5: va_list escapes 1, needs to save
all GPR units and all FPR units" "stdarg" { target { powerpc*-*-linux*
&& ilp32 } } } } */
 /* { dg-final { scan-tree-dump "f5: va_list escapes 1, needs to save
all GPR units and all FPR units" "stdarg" { target alpha*-*-linux* } }
} */
 /* { dg-final { scan-tree-dump "f5: va_list escapes 1, needs to save
all GPR units and all FPR units" "stdarg" { target s390*-*-linux* } }
} */
@@ -112,7 +112,7 @@
   bar (x);
   va_end (ap);
 }
-/* { dg-final { scan-tree-dump "f6: va_list escapes 0, needs to save
(3|12|24) GPR units and 0 FPR units" "stdarg" { target { { i?86-*-*
x86_64-*-* } && { ! { ia32 } } } } } } */
+/* { dg-final { scan-tree-dump "f6: va_list escapes 0, needs to save
(3|12|24) GPR units and 0 FPR units" "stdarg" { target { { i?86-*-*
x86_64-*-* } && { ! { ia32 || llp64 } } } } } } */
 /* { dg-final { scan-tree-dump "f6: va_list escapes 0, needs to save
(3|12|24) GPR units and 0 FPR units" "stdarg" { target {
powerpc*-*-linux* && ilp32 } } } } */
 /* { dg-final { scan-tree-dump "f6: va_list escapes 0, needs to save
24 GPR units and 1" "stdarg" { target alpha*-*-linux* } } } */
 /* { dg-final { scan-tree-dump "f6: va_list escapes 0, needs to save
3 GPR units and 0 FPR units" "stdarg" { target s390*-*-linux* } } } */
@@ -129,7 +129,7 @@
   bar (6);
   va_end (ap);
 }
-/* { dg-final { scan-tree-dump "f7: va_list escapes 1, needs to save
all GPR units and all FPR units" "stdarg" { target { { i?86-*-*
x86_64-*-* } && { ! { ia32 } } } } } } */
+/* { dg-final { scan-tree-dump "f7: va_list escapes 1, needs to save
all GPR units and all FPR units" "stdarg" { target { { i?86-*-*
x86_64-*-* } && { ! { ia32 || llp64 } } } } } } */
 /* { dg-final { scan-tree-dump "f7: va_list escapes 1, needs to save
all GPR units and all FPR units" "stdarg" { target { powerpc*-*-linux*
&& ilp32 } } } } */
 /* { dg-final { scan-tree-dump "f7: va_list escapes 1, needs to save
all GPR units and all FPR units" "stdarg" { target alpha*-*-linux* } }
} */
 /* { dg-final { scan-tree-dump "f7: va_list escapes 1, needs to save
all GPR units and all FPR units" "stdarg" { target s390*-*-linux* } }
} */
@@ -148,7 +148,7 @@
   bar (x);
   va_end (ap);
 }
-/* { dg-final { scan-tree-dump "f8: va_list escapes 1, needs to save
all GPR units and all FPR units" "stdarg" { target { { i?86-*-*
x86_64-*-* } && { ! { ia32 } } } } } } */
+/* { dg-final { scan-tree-dump "f8: va_list escapes 1, needs to save
all GPR units and all FPR units" "stdarg" { target { { i?86-*-*
x86_64-*-* } && { ! { ia32 || llp64 } } } } } } */
 /* { dg-final { scan-tree-dump "f8: va_list escapes 1, needs to save
all GPR units and all FPR units" "stdarg" { target { powerpc*-*-linux*
&& ilp32 } } } } */
 /* { dg-final { scan-tree-dump "f8: va_list escapes 1, needs to save
all GPR units and all FPR units" "stdarg" { target alpha*-*-linux* } }
} */
 /* { dg-final { scan-tree-dump "f8: va_list escapes 1, needs to save
all GPR units and all FPR units" "stdarg" { target s390*-*-linux* } }
} */
@@ -165,7 +165,7 @@
   bar (6);
   va_end (ap);
 }
-/* { dg-final { scan-tree-dump "f9: va_list escapes 1, needs to save
all GPR units and all FPR units" "stdarg" { target { { i?86-*-*
x86_64-*-* } && { ! { ia32 } } } } } } */
+/* { dg-final { scan-tree-dump "f9: va_list escapes 1, needs to save
all GPR units and all FPR units" "stdarg" { target { { i?86-*-*
x86_64-*-* } && { ! { ia32 || llp64 } } } } } } */
 /* { dg-final { scan-tree-dump "f9: va_list escapes 1, needs to save
all GPR units and all FPR units" "stdarg" { target { powerpc*-*-linux*
&& ilp32 } } } } */
 /* { dg-final { scan-tree-dump "f9: va_list escapes 1, needs to save
all GPR units and all FPR units" "stdarg" { target alpha*-*-linux* } }
} */
 /* { dg-final { scan-tree-dump "f9: va_list escapes 1, needs to save
all GPR units and all FPR units" "stdarg" { target s390*-*-linux* } }
} */
@@ -184,7 +184,7 @@
   bar (x);
   va_end (ap);
 }
-/* { dg-final { scan-tree-dump "f10: va_list escapes 1, needs to save
all GPR units and all FPR units" "stdarg" { target { { i?86-*-*
x86_64-*-* } && { ! { ia32 } } } } } } */
+/* { dg-final { scan-tree-dump "f10: va_list escapes 1, needs to save
all GPR units and all FPR units" "stdarg" { target { { i?86-*-*
x86_64-*-* } && { ! { ia32 || llp64 } } } } } } */
 /* { dg-final { scan-tree-dump "f10: va_list escapes 1, needs to save
all GPR units and all FPR units" "stdarg" { target { powerpc*-*-linux*
&& ilp32 } } } } */
 /* { dg-final { scan-tree-dump "f10: va_list escapes 1, needs to save
all GPR units and all FPR units" "stdarg" { target alpha*-*-linux* } }
} */
 /* { dg-final { scan-tree-dump "f10: va_list escapes 1, needs to save
all GPR units and all FPR units" "stdarg" { target s390*-*-linux* } }
} */
@@ -204,7 +204,7 @@
   bar (x);
   va_end (ap);
 }
-/* { dg-final { scan-tree-dump "f11: va_list escapes 0, needs to save
(3|12|24) GPR units and 0 FPR units" "stdarg" { target { { i?86-*-*
x86_64-*-* } && { ! { ia32 } } } } } } */
+/* { dg-final { scan-tree-dump "f11: va_list escapes 0, needs to save
(3|12|24) GPR units and 0 FPR units" "stdarg" { target { { i?86-*-*
x86_64-*-* } && { ! { ia32 || llp64 } } } } } } */
 /* { dg-final { scan-tree-dump "f11: va_list escapes 0, needs to save
(3|12|24) GPR units and 0 FPR units" "stdarg" { target {
powerpc*-*-linux* && ilp32 } } } } */
 /* { dg-final { scan-tree-dump "f11: va_list escapes 0, needs to save
24 GPR units and 1" "stdarg" { target alpha*-*-linux* } } } */
 /* { dg-final { scan-tree-dump "f11: va_list escapes 0, needs to save
3 GPR units and 0 FPR units" "stdarg" { target s390*-*-linux* } } } */
@@ -224,7 +224,7 @@
   bar (x);
   va_end (ap);
 }
-/* { dg-final { scan-tree-dump "f12: va_list escapes 0, needs to save
0 GPR units and \[1-9\]\[0-9\]* FPR units" "stdarg" { target { {
i?86-*-* x86_64-*-* } && { ! { ia32 } } } } } } */
+/* { dg-final { scan-tree-dump "f12: va_list escapes 0, needs to save
0 GPR units and \[1-9\]\[0-9\]* FPR units" "stdarg" { target { {
i?86-*-* x86_64-*-* } && { ! { ia32 || llp64 } } } } } } */
 /* { dg-final { scan-tree-dump "f12: va_list escapes 0, needs to save
0 GPR units and \[1-9\]\[0-9\]* FPR units" "stdarg" { target {
powerpc*-*-linux* && { powerpc_fprs && ilp32 } } } } } */
 /* { dg-final { scan-tree-dump "f12: va_list escapes 0, needs to save
24 GPR units and 2" "stdarg" { target alpha*-*-linux* } } } */
 /* { dg-final { scan-tree-dump "f12: va_list escapes 0, needs to save
0 GPR units and 3 FPR units" "stdarg" { target s390*-*-linux* } } } */
@@ -244,7 +244,7 @@
   bar (x);
   va_end (ap);
 }
-/* { dg-final { scan-tree-dump "f13: va_list escapes 0, needs to save
0 GPR units and \[1-9\]\[0-9\]* FPR units" "stdarg" { target { {
i?86-*-* x86_64-*-* } && { ! { ia32 } } } } } } */
+/* { dg-final { scan-tree-dump "f13: va_list escapes 0, needs to save
0 GPR units and \[1-9\]\[0-9\]* FPR units" "stdarg" { target { {
i?86-*-* x86_64-*-* } && { ! { ia32 || llp64 } } } } } } */
 /* { dg-final { scan-tree-dump "f13: va_list escapes 0, needs to save
0 GPR units and \[1-9\]\[0-9\]* FPR units" "stdarg" { target {
powerpc*-*-linux* && { powerpc_fprs && ilp32 } } } } } */
 /* { dg-final { scan-tree-dump "f13: va_list escapes 0, needs to save
24 GPR units and 2" "stdarg" { target alpha*-*-linux* } } } */
 /* { dg-final { scan-tree-dump "f13: va_list escapes 0, needs to save
0 GPR units and 3 FPR units" "stdarg" { target s390*-*-linux* } } } */
@@ -264,7 +264,7 @@
   bar (x);
   va_end (ap);
 }
-/* { dg-final { scan-tree-dump "f14: va_list escapes 0, needs to save
\[148\] GPR units and \[1-9\]\[0-9\]* FPR units" "stdarg" { target { {
i?86-*-* x86_64-*-* } && { ! { ia32 } } } } } } */
+/* { dg-final { scan-tree-dump "f14: va_list escapes 0, needs to save
\[148\] GPR units and \[1-9\]\[0-9\]* FPR units" "stdarg" { target { {
i?86-*-* x86_64-*-* } && { ! { ia32 || llp64 } } } } } } */
 /* { dg-final { scan-tree-dump "f14: va_list escapes 0, needs to save
\[148\] GPR units and \[1-9\]\[0-9\]* FPR units" "stdarg" { target {
powerpc*-*-linux* && { powerpc_fprs && ilp32 } } } } } */
 /* { dg-final { scan-tree-dump "f14: va_list escapes 0, needs to save
24 GPR units and 3" "stdarg" { target alpha*-*-linux* } } } */
 /* { dg-final { scan-tree-dump "f14: va_list escapes 0, needs to save
1 GPR units and 2 FPR units" "stdarg" { target s390*-*-linux* } } } */
@@ -288,7 +288,7 @@
   f15_1 (ap);
   va_end (ap);
 }
-/* { dg-final { scan-tree-dump "f15: va_list escapes 0, needs to save
\[148\] GPR units and \[1-9\]\[0-9\]* FPR units" "stdarg" { target { {
i?86-*-* x86_64-*-* } && { ! { ia32 } } } } } } */
+/* { dg-final { scan-tree-dump "f15: va_list escapes 0, needs to save
\[148\] GPR units and \[1-9\]\[0-9\]* FPR units" "stdarg" { target { {
i?86-*-* x86_64-*-* } && { ! { ia32 || llp64 } } } } } } */
 /* { dg-final { scan-tree-dump "f15: va_list escapes 0, needs to save
\[148\] GPR units and \[1-9\]\[0-9\]* FPR units" "stdarg" { target {
powerpc*-*-linux* && { powerpc_fprs && ilp32 } } } } } */
 /* { dg-final { scan-tree-dump "f15: va_list escapes 1, needs to save
all GPR units and all FPR units" "stdarg" { target alpha*-*-linux* } }
} */
 /* { dg-final { scan-tree-dump "f15: va_list escapes 0, needs to save
1 GPR units and 2 FPR units" "stdarg" { target s390*-*-linux* } } } */
Index: stdarg-4.c
===================================================================
--- stdarg-4.c	(revision 177507)
+++ stdarg-4.c	(working copy)
@@ -23,7 +23,7 @@
     x = va_arg (ap, long);
   va_end (ap);
 }
-/* { dg-final { scan-tree-dump "f1: va_list escapes 0, needs to save
all GPR units and 0 FPR units" "stdarg" { target { { i?86-*-*
x86_64-*-* } && { x32 || { ! { ia32 } } } } } } } */
+/* { dg-final { scan-tree-dump "f1: va_list escapes 0, needs to save
all GPR units and 0 FPR units" "stdarg" { target { { i?86-*-*
x86_64-*-* } && { x32 || { ! { ia32 || llp64 } } } } } } } */
 /* { dg-final { scan-tree-dump "f1: va_list escapes 0, needs to save
all GPR units and 0 FPR units" "stdarg" { target { powerpc*-*-linux*
&& ilp32 } } } } */
 /* { dg-final { scan-tree-dump "f1: va_list escapes 0, needs to save
all GPR units and 1" "stdarg" { target alpha*-*-linux* } } } */
 /* { dg-final { scan-tree-dump "f1: va_list escapes 0, needs to save
all GPR units and 0 FPR units" "stdarg" { target s390*-*-linux* } } }
*/
@@ -40,7 +40,7 @@
     d = va_arg (ap, double);
   va_end (ap);
 }
-/* { dg-final { scan-tree-dump "f2: va_list escapes 0, needs to save
0 GPR units and all FPR units" "stdarg" { target { { i?86-*-*
x86_64-*-* } && { x32 || { ! { ia32 } } } } } } } */
+/* { dg-final { scan-tree-dump "f2: va_list escapes 0, needs to save
0 GPR units and all FPR units" "stdarg" { target { { i?86-*-*
x86_64-*-* } && { x32 || { ! { ia32 || llp64 } } } } } } } */
 /* { dg-final { scan-tree-dump "f2: va_list escapes 0, needs to save
0 GPR units and all FPR units" "stdarg" { target { powerpc*-*-linux*
&& { powerpc_fprs && ilp32 } } } } } */
 /* { dg-final { scan-tree-dump "f2: va_list escapes 0, needs to save
all GPR units and 2" "stdarg" { target alpha*-*-linux* } } } */
 /* { dg-final { scan-tree-dump "f2: va_list escapes 0, needs to save
0 GPR units and all FPR units" "stdarg" { target s390*-*-linux* } } }
*/
@@ -63,7 +63,7 @@
       bar (x);
     }
 }
-/* { dg-final { scan-tree-dump "f3: va_list escapes 0, needs to save
\[148\] GPR units and 0 FPR units" "stdarg" { target { { i?86-*-*
x86_64-*-* } && { ! { ia32 } } } } } } */
+/* { dg-final { scan-tree-dump "f3: va_list escapes 0, needs to save
\[148\] GPR units and 0 FPR units" "stdarg" { target { { i?86-*-*
x86_64-*-* } && { ! { ia32 || llp64 } } } } } } */
 /* { dg-final { scan-tree-dump "f3: va_list escapes 0, needs to save
\[148\] GPR units and 0 FPR units" "stdarg" { target {
powerpc*-*-linux* && ilp32 } } } } */
 /* { dg-final { scan-tree-dump "f3: va_list escapes 0, needs to save
8 GPR units and 1" "stdarg" { target alpha*-*-linux* } } } */
 /* { dg-final { scan-tree-dump "f3: va_list escapes 0, needs to save
1 GPR units and 0 FPR units" "stdarg" { target s390*-*-linux* } } } */
@@ -84,7 +84,7 @@
       bar (d + 2.5);
     }
 }
-/* { dg-final { scan-tree-dump "f4: va_list escapes 0, needs to save
0 GPR units and \[1-9\]\[0-9\]* FPR units" "stdarg" { target { {
i?86-*-* x86_64-*-* } && { ! { ia32 } } } } } } */
+/* { dg-final { scan-tree-dump "f4: va_list escapes 0, needs to save
0 GPR units and \[1-9\]\[0-9\]* FPR units" "stdarg" { target { {
i?86-*-* x86_64-*-* } && { ! { ia32 || llp64 } } } } } } */
 /* { dg-final { scan-tree-dump "f4: va_list escapes 0, needs to save
0 GPR units and \[1-9\]\[0-9\]* FPR units" "stdarg" { target {
powerpc*-*-linux* && { powerpc_fprs && ilp32 } } } } } */
 /* { dg-final { scan-tree-dump "f4: va_list escapes 0, needs to save
8 GPR units and 2" "stdarg" { target alpha*-*-linux* } } } */
 /* { dg-final { scan-tree-dump "f4: va_list escapes 0, needs to save
0 GPR units and 1 FPR units" "stdarg" { target s390*-*-linux* } } } */
Index: stdarg-5.c
===================================================================
--- stdarg-5.c	(revision 177507)
+++ stdarg-5.c	(working copy)
@@ -22,7 +22,7 @@
     s1 = va_arg (ap, struct S1);
   va_end (ap);
 }
-/* { dg-final { scan-tree-dump "f1: va_list escapes 0, needs to save
0 GPR units and 0 FPR units" "stdarg" { target { { i?86-*-* x86_64-*-*
} && { ! { ia32 } } } } } } */
+/* { dg-final { scan-tree-dump "f1: va_list escapes 0, needs to save
0 GPR units and 0 FPR units" "stdarg" { target { { i?86-*-* x86_64-*-*
} && { ! { ia32 || llp64 } } } } } } */
 /* { dg-final { scan-tree-dump "f1: va_list escapes 0, needs to save
all GPR units and 1" "stdarg" { target alpha*-*-linux* } } } */
 /* { dg-final { scan-tree-dump "f1: va_list escapes 0, needs to save
all GPR units and 0 FPR units" "stdarg" { target s390*-*-linux* } } }
*/

@@ -35,7 +35,7 @@
     s2 = va_arg (ap, struct S2);
   va_end (ap);
 }
-/* { dg-final { scan-tree-dump "f2: va_list escapes 0, needs to save
all GPR units and all FPR units" "stdarg" { target { { i?86-*-*
x86_64-*-* } && { ! { ia32 } } } } } } */
+/* { dg-final { scan-tree-dump "f2: va_list escapes 0, needs to save
all GPR units and all FPR units" "stdarg" { target { { i?86-*-*
x86_64-*-* } && { ! { ia32 || llp64 } } } } } } */
 /* { dg-final { scan-tree-dump "f2: va_list escapes 0, needs to save
all GPR units and 1" "stdarg" { target alpha*-*-linux* } } } */
 /* { dg-final { scan-tree-dump "f2: va_list escapes 0, needs to save
all GPR units and 0 FPR units" "stdarg" { target s390*-*-linux* } } }
*/

@@ -53,7 +53,7 @@
       bar (s1.i);
     }
 }
-/* { dg-final { scan-tree-dump "f3: va_list escapes 0, needs to save
0 GPR units and 0 FPR units" "stdarg" { target { { i?86-*-* x86_64-*-*
} && { ! { ia32 } } } } } } */
+/* { dg-final { scan-tree-dump "f3: va_list escapes 0, needs to save
0 GPR units and 0 FPR units" "stdarg" { target { { i?86-*-* x86_64-*-*
} && { ! { ia32 || llp64 } } } } } } */
 /* { dg-final { scan-tree-dump "f3: va_list escapes 0, needs to save
32 GPR units and 1" "stdarg" { target alpha*-*-linux* } } } */
 /* { dg-final { scan-tree-dump "f3: va_list escapes 0, needs to save
1 GPR units and 0 FPR units" "stdarg" { target s390*-*-linux* } } } */

@@ -71,7 +71,7 @@
       bar (s2.i);
     }
 }
-/* { dg-final { scan-tree-dump "f4: va_list escapes 0, needs to save
16 GPR units and 16 FPR units" "stdarg" { target { { i?86-*-*
x86_64-*-* } && { ! { ia32 } } } } } } */
+/* { dg-final { scan-tree-dump "f4: va_list escapes 0, needs to save
16 GPR units and 16 FPR units" "stdarg" { target { { i?86-*-*
x86_64-*-* } && { ! { ia32 || llp64 } } } } } } */
 /* { dg-final { scan-tree-dump "f4: va_list escapes 0, needs to save
24 GPR units and 1" "stdarg" { target alpha*-*-linux* } } } */
 /* { dg-final { scan-tree-dump "f4: va_list escapes 0, needs to save
2 GPR units and 0 FPR units" "stdarg" { target s390*-*-linux* } } } */

@@ -85,7 +85,7 @@
   va_end (ap);
   bar (__real__ ci + __imag__ ci);
 }
-/* { dg-final { scan-tree-dump "f5: va_list escapes 0, needs to save
16 GPR units and 0 FPR units" "stdarg" { target { { i?86-*-*
x86_64-*-* } && { ! { ia32 } } } } } } */
+/* { dg-final { scan-tree-dump "f5: va_list escapes 0, needs to save
16 GPR units and 0 FPR units" "stdarg" { target { { i?86-*-*
x86_64-*-* } && { ! { ia32 || llp64 } } } } } } */
 /* { dg-final { scan-tree-dump "f5: va_list escapes 0, needs to save
32 GPR units and 1" "stdarg" { target alpha*-*-linux* } } } */
 /* { dg-final { scan-tree-dump "f5: va_list escapes 0, needs to save
(4|2) GPR units and 0 FPR units" "stdarg" { target s390*-*-linux* } }
} */

@@ -99,7 +99,7 @@
   va_end (ap);
   bar (__real__ ci + __imag__ cd);
 }
-/* { dg-final { scan-tree-dump "f6: va_list escapes 0, needs to save
8 GPR units and 32 FPR units" "stdarg" { target { { i?86-*-*
x86_64-*-* } && { ! { ia32 } } } } } } */
+/* { dg-final { scan-tree-dump "f6: va_list escapes 0, needs to save
8 GPR units and 32 FPR units" "stdarg" { target { { i?86-*-*
x86_64-*-* } && { ! { ia32 || llp64 } } } } } } */
 /* { dg-final { scan-tree-dump "f6: va_list escapes 0, needs to save
32 GPR units and 3" "stdarg" { target alpha*-*-linux* } } } */
 /* { dg-final { scan-tree-dump "f6: va_list escapes 0, needs to save
(3|2) GPR units and 0 FPR units" "stdarg" { target s390*-*-linux* } }
} */

@@ -113,7 +113,7 @@
   va_end (ap);
   bar (__real__ cd + __imag__ cd);
 }
-/* { dg-final { scan-tree-dump "f7: va_list escapes 0, needs to save
0 GPR units and 64 FPR units" "stdarg" { target { { i?86-*-*
x86_64-*-* } && { ! { ia32 } } } } } } */
+/* { dg-final { scan-tree-dump "f7: va_list escapes 0, needs to save
0 GPR units and 64 FPR units" "stdarg" { target { { i?86-*-*
x86_64-*-* } && { ! { ia32 || llp64 } } } } } } */
 /* { dg-final { scan-tree-dump "f7: va_list escapes 0, needs to save
32 GPR units and 2" "stdarg" { target alpha*-*-linux* } } } */
 /* { dg-final { scan-tree-dump "f7: va_list escapes 0, needs to save
2 GPR units and 0 FPR units" "stdarg" { target s390*-*-linux* } } } */
 /* { dg-final { cleanup-tree-dump "stdarg" } } */
Index: gen-vect-11c.c
===================================================================
--- gen-vect-11c.c	(revision 177507)
+++ gen-vect-11c.c	(working copy)
@@ -6,7 +6,9 @@

 #define N 16

-#if LONG_MAX == 2147483647
+/* One x86_64 mingw a long remains 4 bytes sized, but machine word
+   is 8 bytes.  */
+#if LONG_MAX == 2147483647 && !defined (_WIN64)
 typedef short half_word;
 #else
 typedef int half_word;
