diff --git a/gcc/testsuite/gcc.c-torture/compile/pr77754-1.c b/gcc/testsuite/gcc.c-torture/compile/pr77754-1.c
index 48587f7ca69..be7ee303dd2 100644
--- a/gcc/testsuite/gcc.c-torture/compile/pr77754-1.c
+++ b/gcc/testsuite/gcc.c-torture/compile/pr77754-1.c
@@ -1,3 +1,4 @@
+// { dg-require-effective-target alloca }
 /* PR c/77754 */
 
 int fn3();
diff --git a/gcc/testsuite/gcc.c-torture/compile/pr77754-2.c b/gcc/testsuite/gcc.c-torture/compile/pr77754-2.c
index 411f270a16a..d088961963d 100644
--- a/gcc/testsuite/gcc.c-torture/compile/pr77754-2.c
+++ b/gcc/testsuite/gcc.c-torture/compile/pr77754-2.c
@@ -1,3 +1,4 @@
+// { dg-require-effective-target alloca }
 /* PR c/77754 */
 
 int fn3();
diff --git a/gcc/testsuite/gcc.c-torture/compile/pr77754-3.c b/gcc/testsuite/gcc.c-torture/compile/pr77754-3.c
index c6ff9606200..fb25e234fe2 100644
--- a/gcc/testsuite/gcc.c-torture/compile/pr77754-3.c
+++ b/gcc/testsuite/gcc.c-torture/compile/pr77754-3.c
@@ -1,3 +1,4 @@
+// { dg-require-effective-target alloca }
 /* PR c/77754 */
 
 int fn3();
diff --git a/gcc/testsuite/gcc.c-torture/compile/pr77754-4.c b/gcc/testsuite/gcc.c-torture/compile/pr77754-4.c
index f0274051ad0..1c5c4619a33 100644
--- a/gcc/testsuite/gcc.c-torture/compile/pr77754-4.c
+++ b/gcc/testsuite/gcc.c-torture/compile/pr77754-4.c
@@ -1,3 +1,4 @@
+// { dg-require-effective-target alloca }
 /* PR c/77754 */
 
 int fn3();
diff --git a/gcc/testsuite/gcc.c-torture/compile/pr77754-5.c b/gcc/testsuite/gcc.c-torture/compile/pr77754-5.c
index a9440ddb1fa..82c93d9debd 100644
--- a/gcc/testsuite/gcc.c-torture/compile/pr77754-5.c
+++ b/gcc/testsuite/gcc.c-torture/compile/pr77754-5.c
@@ -1,3 +1,4 @@
+// { dg-require-effective-target alloca }
 /* PR c/77754 */
 
 int fn3();
diff --git a/gcc/testsuite/gcc.c-torture/compile/pr77754-6.c b/gcc/testsuite/gcc.c-torture/compile/pr77754-6.c
index 2e7df3b6774..1b4304381ce 100644
--- a/gcc/testsuite/gcc.c-torture/compile/pr77754-6.c
+++ b/gcc/testsuite/gcc.c-torture/compile/pr77754-6.c
@@ -1,3 +1,4 @@
+// { dg-require-effective-target alloca }
 /* PR c/77754 */
 
 int fn3();
diff --git a/gcc/testsuite/gcc.c-torture/compile/pr87110.c b/gcc/testsuite/gcc.c-torture/compile/pr87110.c
index 8428d3d120a..c2eba54a5c7 100644
--- a/gcc/testsuite/gcc.c-torture/compile/pr87110.c
+++ b/gcc/testsuite/gcc.c-torture/compile/pr87110.c
@@ -1,3 +1,4 @@
+// { dg-require-effective-target alloca }
 enum a { b, c };
 struct d {
   _Bool e;
diff --git a/gcc/testsuite/gcc.c-torture/execute/pr86528.c b/gcc/testsuite/gcc.c-torture/execute/pr86528.c
index 2a7b0110d64..9992faf249d 100644
--- a/gcc/testsuite/gcc.c-torture/execute/pr86528.c
+++ b/gcc/testsuite/gcc.c-torture/execute/pr86528.c
@@ -1,3 +1,4 @@
+// { dg-require-effective-target alloca }
 /* PR middle-end/86528 */
 
 void __attribute__((noinline, noclone))
diff --git a/gcc/testsuite/gcc.dg/Walloca-larger-than-2.c b/gcc/testsuite/gcc.dg/Walloca-larger-than-2.c
index fe003bd0882..88572d94524 100644
--- a/gcc/testsuite/gcc.dg/Walloca-larger-than-2.c
+++ b/gcc/testsuite/gcc.dg/Walloca-larger-than-2.c
@@ -1,6 +1,7 @@
 /* PR middle-end/82063 - issues with arguments enabled by -Wall
    Verify that alloca() calls in loops are not diagnosed by default.
    { dg-do compile }
+   { dg-require-effective-target alloca }
    { dg-options "-O2 -ftrack-macro-expansion=0" } */
 
 extern void* alloca (__SIZE_TYPE__);
diff --git a/gcc/testsuite/gcc.dg/Walloca-larger-than.c b/gcc/testsuite/gcc.dg/Walloca-larger-than.c
index 284601d22ff..32ee15ff9eb 100644
--- a/gcc/testsuite/gcc.dg/Walloca-larger-than.c
+++ b/gcc/testsuite/gcc.dg/Walloca-larger-than.c
@@ -1,5 +1,6 @@
 /* PR middle-end/82063 - issues with arguments enabled by -Wall
    { dg-do compile }
+   { dg-require-effective-target alloca }
    { dg-options "-O2 -Walloca-larger-than=0 -Wvla-larger-than=0 -ftrack-macro-expansion=0" } */
 
 extern void* alloca (__SIZE_TYPE__);
diff --git a/gcc/testsuite/gcc.dg/Warray-bounds-41.c b/gcc/testsuite/gcc.dg/Warray-bounds-41.c
index fd795902825..2ff3692854c 100644
--- a/gcc/testsuite/gcc.dg/Warray-bounds-41.c
+++ b/gcc/testsuite/gcc.dg/Warray-bounds-41.c
@@ -1,5 +1,6 @@
 /* PR tree-optimization/89662- -Warray-bounds ICE on void* arithmetic
    { dg-do compile }
+   { dg-require-effective-target alloca }
    { dg-options "-O2 -Wall" } */
 
 void* vptr (void *c)
diff --git a/gcc/testsuite/gcc.dg/Wrestrict-17.c b/gcc/testsuite/gcc.dg/Wrestrict-17.c
index 8061fda5985..4e7259734b2 100644
--- a/gcc/testsuite/gcc.dg/Wrestrict-17.c
+++ b/gcc/testsuite/gcc.dg/Wrestrict-17.c
@@ -1,6 +1,7 @@
 /* PR tree-optimization/85826 - ICE in gimple-ssa-warn-restruct on
    a variable-length struct
    { dg-do compile }
+   { dg-require-effective-target alloca }
    { dg-options "-O2 -Wall" }  */
 
 int f (int n)
diff --git a/gcc/testsuite/gcc.dg/Wstrict-overflow-27.c b/gcc/testsuite/gcc.dg/Wstrict-overflow-27.c
index 95d101ad02e..e2cdcbcb078 100644
--- a/gcc/testsuite/gcc.dg/Wstrict-overflow-27.c
+++ b/gcc/testsuite/gcc.dg/Wstrict-overflow-27.c
@@ -1,4 +1,5 @@
 /* { dg-do compile } */
+/* { dg-require-effective-target alloca } */
 /* { dg-options "-O3 -Wstrict-overflow=2 -Werror" } */
 
 typedef __SIZE_TYPE__ size_t;
diff --git a/gcc/testsuite/gcc.dg/Wstringop-truncation-3.c b/gcc/testsuite/gcc.dg/Wstringop-truncation-3.c
index 57f4d64188a..6c679747e70 100644
--- a/gcc/testsuite/gcc.dg/Wstringop-truncation-3.c
+++ b/gcc/testsuite/gcc.dg/Wstringop-truncation-3.c
@@ -1,5 +1,6 @@
 /* PR c/85931 - -Wsizeof-pointer-memaccess for strncpy with size of source
    { dg-do compile }
+   { dg-require-effective-target alloca }
    { dg-options "-O2 -Wall -Wstringop-truncation -ftrack-macro-expansion=0" } */
 
 typedef __SIZE_TYPE__ size_t;
diff --git a/gcc/testsuite/gcc.dg/pr78902.c b/gcc/testsuite/gcc.dg/pr78902.c
index 49efc970475..51b42548071 100644
--- a/gcc/testsuite/gcc.dg/pr78902.c
+++ b/gcc/testsuite/gcc.dg/pr78902.c
@@ -1,4 +1,5 @@
 /* { dg-do compile } */
+/* { dg-require-effective-target alloca } */
 
 void *ptr;
 
diff --git a/gcc/testsuite/gcc.dg/pr87099.c b/gcc/testsuite/gcc.dg/pr87099.c
index 599d721da31..47e2315de0e 100644
--- a/gcc/testsuite/gcc.dg/pr87099.c
+++ b/gcc/testsuite/gcc.dg/pr87099.c
@@ -1,5 +1,6 @@
 /* PR middle-end/87099 */
 /* { dg-do compile } */
+/* { dg-require-effective-target alloca } */
 /* { dg-options "-Wstringop-overflow" } */
 
 void bar (char *);
diff --git a/gcc/testsuite/gcc.dg/pr87320.c b/gcc/testsuite/gcc.dg/pr87320.c
index 38ece590aab..b92ba89e42f 100644
--- a/gcc/testsuite/gcc.dg/pr87320.c
+++ b/gcc/testsuite/gcc.dg/pr87320.c
@@ -1,5 +1,6 @@
 /* PR tree-optimization/87320 */
 /* { dg-do run } */
+/* { dg-require-effective-target alloca } */
 /* { dg-options "-O3" } */
 /* { dg-additional-options "-mavx" { target avx_runtime } } */
 
diff --git a/gcc/testsuite/gcc.dg/pr89045.c b/gcc/testsuite/gcc.dg/pr89045.c
index d8ba65b62ed..2b5730d4888 100644
--- a/gcc/testsuite/gcc.dg/pr89045.c
+++ b/gcc/testsuite/gcc.dg/pr89045.c
@@ -1,5 +1,6 @@
 /* PR c/89045 */
 /* { dg-do compile } */
+/* { dg-require-effective-target alloca } */
 /* { dg-options "" } */
 
 int
diff --git a/gcc/testsuite/gcc.dg/strlenopt-62.c b/gcc/testsuite/gcc.dg/strlenopt-62.c
index 0e09a7ab0e1..569c18a9164 100644
--- a/gcc/testsuite/gcc.dg/strlenopt-62.c
+++ b/gcc/testsuite/gcc.dg/strlenopt-62.c
@@ -1,6 +1,7 @@
 /* PR tree-optimization/90662 - strlen of a string in a vla plus offset
    not folded
    { dg-do compile }
+   { dg-require-effective-target alloca }
    { dg-options "-O2 -Wall -fdump-tree-gimple -fdump-tree-optimized" } */
 
 #include "strlenopt.h"
diff --git a/gcc/testsuite/gcc.dg/tree-ssa/alias-37.c b/gcc/testsuite/gcc.dg/tree-ssa/alias-37.c
index 37eaaa66a10..2fb0e0c3188 100644
--- a/gcc/testsuite/gcc.dg/tree-ssa/alias-37.c
+++ b/gcc/testsuite/gcc.dg/tree-ssa/alias-37.c
@@ -1,4 +1,5 @@
 /* { dg-do compile } */
+/* { dg-require-effective-target alloca } */
 /* { dg-options "-O2 -fdump-tree-dse1-details" } */
 
 int i;
