Index: gcc.c-torture/execute/20180112-1.c
===================================================================
--- gcc.c-torture/execute/20180112-1.c	(revision 257284)
+++ gcc.c-torture/execute/20180112-1.c	(working copy)
@@ -3,7 +3,7 @@
 
 extern void abort (void);
 
-typedef unsigned int u32;
+typedef __UINT32_TYPE__ u32;
 
 u32 bug (u32 * result) __attribute__((noinline));
 u32 bug (u32 * result)
Index: gcc.c-torture/execute/pr81503.c
===================================================================
--- gcc.c-torture/execute/pr81503.c	(revision 257284)
+++ gcc.c-torture/execute/pr81503.c	(working copy)
@@ -1,11 +1,20 @@
 unsigned short a = 41461;
 unsigned short b = 3419;
+#if __SIZEOF_INT__ >= 4
 int c = 0;
 
 void foo() {
   if (a + b * ~(0 != 5))
     c = -~(b * ~(0 != 5)) + 2147483647;
 }
+#else
+__INT32_TYPE__ c = 0;
+
+void foo() {
+  if (a + b * ~((__INT32_TYPE__)(0 != 5)))
+    c = -~(b * ~((__INT32_TYPE__)(0 != 5))) + 2147483647;
+}
+#endif
 
 int main() {
   foo();
Index: gcc.c-torture/execute/pr81913.c
===================================================================
--- gcc.c-torture/execute/pr81913.c	(revision 257284)
+++ gcc.c-torture/execute/pr81913.c	(working copy)
@@ -1,7 +1,7 @@
 /* PR tree-optimization/81913 */
 
-typedef unsigned char u8;
-typedef unsigned int u32;
+typedef __UINT8_TYPE__ u8;
+typedef __UINT32_TYPE__ u32;
 
 static u32
 b (u8 d, u32 e, u32 g)
Index: gcc.dg/store_merging_12.c
===================================================================
--- gcc.dg/store_merging_12.c	(revision 257284)
+++ gcc.dg/store_merging_12.c	(working copy)
@@ -1,6 +1,10 @@
 /* { dg-do compile } */
 /* { dg-options "-O2 -Wall" } */
 
+#if __SIZEOF_INT__ == 2
+#define int long
+#endif
+
 struct S { unsigned int b1:1, b2:1, b3:1, b4:1, b5:1, b6:27; };
 void bar (struct S *);
 void foo (int x)
Index: gcc.dg/torture/pr81814.c
===================================================================
--- gcc.dg/torture/pr81814.c	(revision 257284)
+++ gcc.dg/torture/pr81814.c	(working copy)
@@ -1,5 +1,5 @@
 /* PR middle-end/81814 */
-/* { dg-do run } */
+/* { dg-do run { target int32plus } } */
 
 int
 main ()
Index: gcc.dg/tree-ssa/loop-niter-1.c
===================================================================
--- gcc.dg/tree-ssa/loop-niter-1.c	(revision 257284)
+++ gcc.dg/tree-ssa/loop-niter-1.c	(working copy)
@@ -2,7 +2,7 @@
 /* { dg-options "-O2 -fdump-tree-sccp-details" } */
 
 typedef unsigned char u8;
-typedef unsigned int u32;
+typedef __UINT32_TYPE__ u32;
 
 static u32
 b (u8 d, u32 e, u32 g)
Index: gcc.dg/tree-ssa/loop-niter-2.c
===================================================================
--- gcc.dg/tree-ssa/loop-niter-2.c	(revision 257284)
+++ gcc.dg/tree-ssa/loop-niter-2.c	(working copy)
@@ -2,7 +2,7 @@
 /* { dg-options "-O2 -fdump-tree-sccp-details" } */
 
 typedef unsigned char u8;
-typedef unsigned int u32;
+typedef __UINT32_TYPE__ u32;
 
 static u32
 b (u8 d, u32 e, u32 g)
Index: gcc.dg/tree-ssa/pr80803.c
===================================================================
--- gcc.dg/tree-ssa/pr80803.c	(revision 257284)
+++ gcc.dg/tree-ssa/pr80803.c	(working copy)
@@ -1,4 +1,4 @@
-/* { dg-do run } */
+/* { dg-do run { target int32plus } } */
 /* { dg-options "-O" } */
 
 struct S0
Index: gcc.dg/tree-ssa/pr80898-2.c
===================================================================
--- gcc.dg/tree-ssa/pr80898-2.c	(revision 257284)
+++ gcc.dg/tree-ssa/pr80898-2.c	(working copy)
@@ -1,4 +1,4 @@
-/* { dg-do run } */
+/* { dg-do run { target int32plus } } */
 /* { dg-options "-O2" } */
 
 struct S0
Index: gcc.dg/tree-ssa/pr80898.c
===================================================================
--- gcc.dg/tree-ssa/pr80898.c	(revision 257284)
+++ gcc.dg/tree-ssa/pr80898.c	(working copy)
@@ -2,9 +2,9 @@
 /* { dg-options "-O2" } */
 
 struct S0 {
-  int f0 : 24;
-  int f1;
-  int f74;
+  __INT32_TYPE__ f0 : 24;
+  __INT32_TYPE__ f1;
+  __INT32_TYPE__ f74;
 } a, *c = &a;
 struct S0 fn1() {
   struct S0 b = {4, 3};
Index: gcc.dg/tree-ssa/pr81346-4.c
===================================================================
--- gcc.dg/tree-ssa/pr81346-4.c	(revision 257284)
+++ gcc.dg/tree-ssa/pr81346-4.c	(working copy)
@@ -1,5 +1,5 @@
 /* PR tree-optimization/81346 */
-/* { dg-do run } */
+/* { dg-do run { target int32plus } } */
 /* { dg-options "-O2" } */
 
 #include "pr81346-3.c"
Index: gcc.dg/tree-ssa/pr81346-5.c
===================================================================
--- gcc.dg/tree-ssa/pr81346-5.c	(revision 257284)
+++ gcc.dg/tree-ssa/pr81346-5.c	(working copy)
@@ -1,7 +1,8 @@
 /* PR tree-optimization/81346 */
 /* { dg-do compile } */
 /* { dg-options "-O2 -fdump-tree-optimized" } */
-/* { dg-final { scan-tree-dump-times "\\(signed int\\) x" 10 "optimized" } } */
+/* { dg-final { scan-tree-dump-times "\\(signed int\\) x" 10 "optimized" { target int32plus } } } */
+/* { dg-final { scan-tree-dump-times "\\(signed short\\) x" 10 "optimized" { target int16 } } } */
 /* { dg-final { scan-tree-dump-times " <= 0;" 5 "optimized" } } */
 /* { dg-final { scan-tree-dump-times " > 0;" 5 "optimized" } } */
 
Index: gcc.dg/tree-ssa/pr82363.c
===================================================================
--- gcc.dg/tree-ssa/pr82363.c	(revision 257284)
+++ gcc.dg/tree-ssa/pr82363.c	(working copy)
@@ -1,6 +1,10 @@
 /* { dg-do run } */
 /* { dg-options "-O" } */
 
+#if __SIZEOF_INT__ == 2
+#define int __INT32_TYPE__
+#endif
+
 struct A
 {
   int b;
@@ -34,6 +38,8 @@ test_l (void)
     __builtin_abort ();
 }
 
+#undef int
+
 int main ()
 {
   while (1)
Index: gcc.dg/tree-ssa/pr82574.c
===================================================================
--- gcc.dg/tree-ssa/pr82574.c	(revision 257284)
+++ gcc.dg/tree-ssa/pr82574.c	(working copy)
@@ -1,4 +1,4 @@
-/* { dg-do run } */
+/* { dg-do run { target size32plus } } */
 /* { dg-options "-O3" } */
 
 unsigned char a, b, c, d[200][200];
Index: gcc.dg/tree-ssa/ssa-dom-thread-13.c
===================================================================
--- gcc.dg/tree-ssa/ssa-dom-thread-13.c	(revision 257284)
+++ gcc.dg/tree-ssa/ssa-dom-thread-13.c	(working copy)
@@ -1,4 +1,4 @@
-/* { dg-do compile } */ 
+/* { dg-do compile { target size32plus } } */ 
 /* { dg-options "-O2 -fdump-tree-dom2-details -w" } */
 
 union tree_node;
Index: gcc.dg/tree-ssa/ssa-sink-11.c
===================================================================
--- gcc.dg/tree-ssa/ssa-sink-11.c	(revision 257284)
+++ gcc.dg/tree-ssa/ssa-sink-11.c	(working copy)
@@ -13,4 +13,5 @@ int foo (int v[], int a)
   return r;
 }
 
-/* { dg-final { scan-tree-dump "MEM\\\[.* \\+ 252B\\\]" "optimized"} } */
+/* { dg-final { scan-tree-dump "MEM\\\[.* \\+ 252B\\\]" "optimized" { target int32plus } } } */
+/* { dg-final { scan-tree-dump "MEM\\\[.* \\+ 126B\\\]" "optimized" { target int16 } } } */
Index: gcc.dg/tree-ssa/ssa-sink-12.c
===================================================================
--- gcc.dg/tree-ssa/ssa-sink-12.c	(revision 257284)
+++ gcc.dg/tree-ssa/ssa-sink-12.c	(working copy)
@@ -14,4 +14,5 @@ int foo (int v1[], int v2[])
   return r;
 }
 
-/* { dg-final { scan-tree-dump "MEM\\\[.* \\+ 252B\\\]" "optimized"} } */
+/* { dg-final { scan-tree-dump "MEM\\\[.* \\+ 252B\\\]" "optimized" { target int32plus } } } */
+/* { dg-final { scan-tree-dump "MEM\\\[.* \\+ 126B\\\]" "optimized" { target int16 } } } */
Index: gcc.dg/tree-ssa/ssa-sink-15.c
===================================================================
--- gcc.dg/tree-ssa/ssa-sink-15.c	(revision 257284)
+++ gcc.dg/tree-ssa/ssa-sink-15.c	(working copy)
@@ -1,5 +1,5 @@
 /* PR79725 */
-/* { dg-do compile } */
+/* { dg-do compile { target size32plus } } */
 /* { dg-options "-O2 -fdump-tree-optimized" } */
 
 _Complex double f(_Complex double x[])
Index: gcc.dg/tree-ssa/vrp114.c
===================================================================
--- gcc.dg/tree-ssa/vrp114.c	(revision 257284)
+++ gcc.dg/tree-ssa/vrp114.c	(working copy)
@@ -1,4 +1,4 @@
-/* { dg-do link } */
+/* { dg-do link { target int32plus } } */
 /* { dg-options "-O2 -fdump-tree-fre1 -fdump-tree-evrp" } */
 
 extern void link_error ();
Index: gcc.dg/utf16-4.c
===================================================================
--- gcc.dg/utf16-4.c	(revision 257284)
+++ gcc.dg/utf16-4.c	(working copy)
@@ -12,7 +12,7 @@ char16_t	c2 = u'\U00064321';	/* { dg-war
 char16_t	c3 = 'a';
 char16_t	c4 = U'a';
 char16_t	c5 = U'\u2029';
-char16_t	c6 = U'\U00064321';	/* { dg-warning "conversion from .(long )?unsigned int. to 'char16_t' {aka 'short unsigned int'} changes value from .410401. to .17185." } */
+char16_t	c6 = U'\U00064321';	/* { dg-warning "conversion from .(long )?unsigned int. to 'char16_t' {aka '(short )?unsigned int'} changes value from .410401. to .17185." } */
 char16_t	c7 = L'a';
 char16_t	c8 = L'\u2029';
 char16_t 	c9 = L'\U00064321';	/* { dg-warning "conversion" "" { target { 4byte_wchar_t } } } */
