aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristophe Lyon <christophe.lyon@linaro.org>2019-11-05 13:18:36 +0000
committerChristophe Lyon <clyon@gcc.gnu.org>2019-11-05 14:18:36 +0100
commit30f1f974b8c4eff694632331d66ff02c3c3404d3 (patch)
treeb9dde82406f855c08f8c75658f5cc185876e4046
parent9aca5960a4b723e4b544544478871292990fed31 (diff)
downloadgcc-30f1f974b8c4eff694632331d66ff02c3c3404d3.zip
gcc-30f1f974b8c4eff694632331d66ff02c3c3404d3.tar.gz
gcc-30f1f974b8c4eff694632331d66ff02c3c3404d3.tar.bz2
[ARM,testsuite] Skip tests incompatible with -mpure-code.
All these tests fail when using -mpure-code: * some force A or R profile * some use Neon * some use -fpic/-fPIC all of which are not supported by this option. 2019-11-05 Christophe Lyon <christophe.lyon@linaro.org> * gcc.target/arm/attr-crypto.c: Skip if -mpure-code is used. * gcc.target/arm/attr-neon-fp16.c: Likewise. * gcc.target/arm/combine-cmp-shift.c: Likewise. * gcc.target/arm/data-rel-1.c: Likewise. * gcc.target/arm/data-rel-2.c: Likewise. * gcc.target/arm/data-rel-3.c: Likewise. * gcc.target/arm/ftest-armv7a-arm.c: Likewise. * gcc.target/arm/ftest-armv7a-thumb.c: Likewise. * gcc.target/arm/ftest-armv7r-arm.c: Likewise. * gcc.target/arm/ftest-armv7r-thumb.c: Likewise. * gcc.target/arm/ftest-armv7ve-arm.c: Likewise. * gcc.target/arm/ftest-armv7ve-thumb.c: Likewise. * gcc.target/arm/ftest-armv8a-arm.c: Likewise. * gcc.target/arm/ftest-armv8a-thumb.c: Likewise. * gcc.target/arm/lceil-vcvt_1.c: Likewise. * gcc.target/arm/lfloor-vcvt_1.c: Likewise. * gcc.target/arm/lround-vcvt_1.c: Likewise. * gcc.target/arm/memset-inline-10.c: Likewise. * gcc.target/arm/mod_2.c: Likewise. * gcc.target/arm/mod_256.c: Likewise. * gcc.target/arm/pr40657-1.c: Likewise. * gcc.target/arm/pr44788.c: Likewise. * gcc.target/arm/pr50305.c: Likewise. * gcc.target/arm/pr51835.c: Likewise. * gcc.target/arm/pr51915.c: Likewise. * gcc.target/arm/pr52006.c: Likewise. * gcc.target/arm/pr53187.c: Likewise. * gcc.target/arm/pr58784.c: Likewise. * gcc.target/arm/pr59575.c: Likewise. * gcc.target/arm/pr59923.c: Likewise. * gcc.target/arm/pr60650-2.c: Likewise. * gcc.target/arm/pr60657.c: Likewise. * gcc.target/arm/pr60663.c: Likewise. * gcc.target/arm/pr67439_1.c: Likewise. * gcc.target/arm/pr68620.c: Likewise. * gcc.target/arm/pr7676.c: Likewise. * gcc.target/arm/pr79239.c: Likewise. * gcc.target/arm/pr81863.c: Likewise. * gcc.target/arm/pragma_attribute.c: Likewise. * gcc.target/arm/pragma_cpp_fma.c: Likewise. * gcc.target/arm/require-pic-register-loc.c: Likewise. * gcc.target/arm/thumb-ltu.c: Likewise. * gcc.target/arm/thumb1-pic-high-reg.c: Likewise. * gcc.target/arm/thumb1-pic-single-base.c: Likewise. * gcc.target/arm/tlscall.c: Likewise. * gcc.target/arm/unsigned-float.c: Likewise. * gcc.target/arm/vrinta-ce.c: Likewise. From-SVN: r277828
-rw-r--r--gcc/testsuite/ChangeLog50
-rw-r--r--gcc/testsuite/gcc.target/arm/attr-crypto.c1
-rw-r--r--gcc/testsuite/gcc.target/arm/attr-neon-fp16.c1
-rw-r--r--gcc/testsuite/gcc.target/arm/combine-cmp-shift.c1
-rw-r--r--gcc/testsuite/gcc.target/arm/data-rel-1.c1
-rw-r--r--gcc/testsuite/gcc.target/arm/data-rel-2.c1
-rw-r--r--gcc/testsuite/gcc.target/arm/data-rel-3.c1
-rw-r--r--gcc/testsuite/gcc.target/arm/ftest-armv7a-arm.c1
-rw-r--r--gcc/testsuite/gcc.target/arm/ftest-armv7a-thumb.c1
-rw-r--r--gcc/testsuite/gcc.target/arm/ftest-armv7r-arm.c1
-rw-r--r--gcc/testsuite/gcc.target/arm/ftest-armv7r-thumb.c1
-rw-r--r--gcc/testsuite/gcc.target/arm/ftest-armv7ve-arm.c1
-rw-r--r--gcc/testsuite/gcc.target/arm/ftest-armv7ve-thumb.c1
-rw-r--r--gcc/testsuite/gcc.target/arm/ftest-armv8a-arm.c1
-rw-r--r--gcc/testsuite/gcc.target/arm/ftest-armv8a-thumb.c1
-rw-r--r--gcc/testsuite/gcc.target/arm/lceil-vcvt_1.c1
-rw-r--r--gcc/testsuite/gcc.target/arm/lfloor-vcvt_1.c1
-rw-r--r--gcc/testsuite/gcc.target/arm/lround-vcvt_1.c1
-rw-r--r--gcc/testsuite/gcc.target/arm/memset-inline-10.c1
-rw-r--r--gcc/testsuite/gcc.target/arm/mod_2.c1
-rw-r--r--gcc/testsuite/gcc.target/arm/mod_256.c1
-rw-r--r--gcc/testsuite/gcc.target/arm/pr40657-1.c1
-rw-r--r--gcc/testsuite/gcc.target/arm/pr44788.c1
-rw-r--r--gcc/testsuite/gcc.target/arm/pr50305.c1
-rw-r--r--gcc/testsuite/gcc.target/arm/pr51835.c1
-rw-r--r--gcc/testsuite/gcc.target/arm/pr51915.c1
-rw-r--r--gcc/testsuite/gcc.target/arm/pr52006.c1
-rw-r--r--gcc/testsuite/gcc.target/arm/pr53187.c1
-rw-r--r--gcc/testsuite/gcc.target/arm/pr58784.c1
-rw-r--r--gcc/testsuite/gcc.target/arm/pr59575.c1
-rw-r--r--gcc/testsuite/gcc.target/arm/pr59923.c1
-rw-r--r--gcc/testsuite/gcc.target/arm/pr60650-2.c1
-rw-r--r--gcc/testsuite/gcc.target/arm/pr60657.c1
-rw-r--r--gcc/testsuite/gcc.target/arm/pr60663.c1
-rw-r--r--gcc/testsuite/gcc.target/arm/pr67439_1.c1
-rw-r--r--gcc/testsuite/gcc.target/arm/pr68620.c1
-rw-r--r--gcc/testsuite/gcc.target/arm/pr7676.c1
-rw-r--r--gcc/testsuite/gcc.target/arm/pr79239.c1
-rw-r--r--gcc/testsuite/gcc.target/arm/pr81863.c1
-rw-r--r--gcc/testsuite/gcc.target/arm/pragma_attribute.c1
-rw-r--r--gcc/testsuite/gcc.target/arm/pragma_cpp_fma.c1
-rw-r--r--gcc/testsuite/gcc.target/arm/require-pic-register-loc.c17
-rw-r--r--gcc/testsuite/gcc.target/arm/thumb-ltu.c1
-rw-r--r--gcc/testsuite/gcc.target/arm/thumb1-pic-high-reg.c1
-rw-r--r--gcc/testsuite/gcc.target/arm/thumb1-pic-single-base.c1
-rw-r--r--gcc/testsuite/gcc.target/arm/tlscall.c1
-rw-r--r--gcc/testsuite/gcc.target/arm/unsigned-float.c1
-rw-r--r--gcc/testsuite/gcc.target/arm/vrinta-ce.c1
48 files changed, 105 insertions, 8 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 1e372eb..e122e25 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,53 @@
+2019-11-05 Christophe Lyon <christophe.lyon@linaro.org>
+
+ * gcc.target/arm/attr-crypto.c: Skip if -mpure-code is used.
+ * gcc.target/arm/attr-neon-fp16.c: Likewise.
+ * gcc.target/arm/combine-cmp-shift.c: Likewise.
+ * gcc.target/arm/data-rel-1.c: Likewise.
+ * gcc.target/arm/data-rel-2.c: Likewise.
+ * gcc.target/arm/data-rel-3.c: Likewise.
+ * gcc.target/arm/ftest-armv7a-arm.c: Likewise.
+ * gcc.target/arm/ftest-armv7a-thumb.c: Likewise.
+ * gcc.target/arm/ftest-armv7r-arm.c: Likewise.
+ * gcc.target/arm/ftest-armv7r-thumb.c: Likewise.
+ * gcc.target/arm/ftest-armv7ve-arm.c: Likewise.
+ * gcc.target/arm/ftest-armv7ve-thumb.c: Likewise.
+ * gcc.target/arm/ftest-armv8a-arm.c: Likewise.
+ * gcc.target/arm/ftest-armv8a-thumb.c: Likewise.
+ * gcc.target/arm/lceil-vcvt_1.c: Likewise.
+ * gcc.target/arm/lfloor-vcvt_1.c: Likewise.
+ * gcc.target/arm/lround-vcvt_1.c: Likewise.
+ * gcc.target/arm/memset-inline-10.c: Likewise.
+ * gcc.target/arm/mod_2.c: Likewise.
+ * gcc.target/arm/mod_256.c: Likewise.
+ * gcc.target/arm/pr40657-1.c: Likewise.
+ * gcc.target/arm/pr44788.c: Likewise.
+ * gcc.target/arm/pr50305.c: Likewise.
+ * gcc.target/arm/pr51835.c: Likewise.
+ * gcc.target/arm/pr51915.c: Likewise.
+ * gcc.target/arm/pr52006.c: Likewise.
+ * gcc.target/arm/pr53187.c: Likewise.
+ * gcc.target/arm/pr58784.c: Likewise.
+ * gcc.target/arm/pr59575.c: Likewise.
+ * gcc.target/arm/pr59923.c: Likewise.
+ * gcc.target/arm/pr60650-2.c: Likewise.
+ * gcc.target/arm/pr60657.c: Likewise.
+ * gcc.target/arm/pr60663.c: Likewise.
+ * gcc.target/arm/pr67439_1.c: Likewise.
+ * gcc.target/arm/pr68620.c: Likewise.
+ * gcc.target/arm/pr7676.c: Likewise.
+ * gcc.target/arm/pr79239.c: Likewise.
+ * gcc.target/arm/pr81863.c: Likewise.
+ * gcc.target/arm/pragma_attribute.c: Likewise.
+ * gcc.target/arm/pragma_cpp_fma.c: Likewise.
+ * gcc.target/arm/require-pic-register-loc.c: Likewise.
+ * gcc.target/arm/thumb-ltu.c: Likewise.
+ * gcc.target/arm/thumb1-pic-high-reg.c: Likewise.
+ * gcc.target/arm/thumb1-pic-single-base.c: Likewise.
+ * gcc.target/arm/tlscall.c: Likewise.
+ * gcc.target/arm/unsigned-float.c: Likewise.
+ * gcc.target/arm/vrinta-ce.c: Likewise.
+
2019-11-05 Richard Biener <rguenther@suse.de>
PR tree-optimization/92324
diff --git a/gcc/testsuite/gcc.target/arm/attr-crypto.c b/gcc/testsuite/gcc.target/arm/attr-crypto.c
index af774cd..cbd13a7 100644
--- a/gcc/testsuite/gcc.target/arm/attr-crypto.c
+++ b/gcc/testsuite/gcc.target/arm/attr-crypto.c
@@ -1,6 +1,7 @@
/* { dg-do compile } */
/* Make sure we can force fpu=vfp before switching using the
pragma. */
+/* { dg-skip-if "-mpure-code supports M-profile only" { *-*-* } { "-mpure-code" } } */
/* { dg-require-effective-target arm_fp_ok } */
/* { dg-options "-O2 -march=armv8-a" } */
/* { dg-add-options arm_fp } */
diff --git a/gcc/testsuite/gcc.target/arm/attr-neon-fp16.c b/gcc/testsuite/gcc.target/arm/attr-neon-fp16.c
index 984992f..d7b7564 100644
--- a/gcc/testsuite/gcc.target/arm/attr-neon-fp16.c
+++ b/gcc/testsuite/gcc.target/arm/attr-neon-fp16.c
@@ -1,4 +1,5 @@
/* { dg-do compile } */
+/* { dg-skip-if "-mpure-code supports M-profile only and without Neon" { *-*-* } { "-mpure-code" } } */
/* { dg-require-effective-target arm_fp_ok } */
/* { dg-options "-mfp16-format=ieee" } */
/* { dg-add-options arm_fp } */
diff --git a/gcc/testsuite/gcc.target/arm/combine-cmp-shift.c b/gcc/testsuite/gcc.target/arm/combine-cmp-shift.c
index a64f20e..21d1478 100644
--- a/gcc/testsuite/gcc.target/arm/combine-cmp-shift.c
+++ b/gcc/testsuite/gcc.target/arm/combine-cmp-shift.c
@@ -1,4 +1,5 @@
/* { dg-skip-if "incompatible options" { arm*-*-* } { "-march=*" } { "-march=armv7-a" } } */
+/* { dg-skip-if "-mpure-code supports M-profile only" { *-*-* } { "-mpure-code" } } */
/* { dg-options "-O2 -mcpu=cortex-a8" } */
/* { dg-final { scan-assembler "cmp\tr\[0-9\]*, r\[0-9\]*, asr #31" } } */
diff --git a/gcc/testsuite/gcc.target/arm/data-rel-1.c b/gcc/testsuite/gcc.target/arm/data-rel-1.c
index d9d88f2..a09e235 100644
--- a/gcc/testsuite/gcc.target/arm/data-rel-1.c
+++ b/gcc/testsuite/gcc.target/arm/data-rel-1.c
@@ -1,3 +1,4 @@
+/* { dg-skip-if "-mpure-code and -fPIC incompatible" { *-*-* } { "-mpure-code" } } */
/* { dg-options "-fPIC -mno-pic-data-is-text-relative" } */
/* { dg-final { scan-assembler-not "j-\\(.LPIC" } } */
/* { dg-final { scan-assembler-not "_GLOBAL_OFFSET_TABLE_-\\(.LPIC" } } */
diff --git a/gcc/testsuite/gcc.target/arm/data-rel-2.c b/gcc/testsuite/gcc.target/arm/data-rel-2.c
index 7d37a8c..56a54e8 100644
--- a/gcc/testsuite/gcc.target/arm/data-rel-2.c
+++ b/gcc/testsuite/gcc.target/arm/data-rel-2.c
@@ -1,4 +1,5 @@
/* { dg-skip-if "Not supported in FDPIC" { arm*-*-uclinuxfdpiceabi } "*" "" } */
+/* { dg-skip-if "-mpure-code and -fPIC incompatible" { *-*-* } { "-mpure-code" } } */
/* { dg-options "-fPIC -mno-pic-data-is-text-relative -mno-single-pic-base" } */
/* { dg-final { scan-assembler-not "j-\\(.LPIC" } } */
/* { dg-final { scan-assembler "_GLOBAL_OFFSET_TABLE_-\\(.LPIC" } } */
diff --git a/gcc/testsuite/gcc.target/arm/data-rel-3.c b/gcc/testsuite/gcc.target/arm/data-rel-3.c
index 534c6c4..4ce9048 100644
--- a/gcc/testsuite/gcc.target/arm/data-rel-3.c
+++ b/gcc/testsuite/gcc.target/arm/data-rel-3.c
@@ -1,4 +1,5 @@
/* { dg-skip-if "Not supported in FDPIC" { arm*-*-uclinuxfdpiceabi } "*" "" } */
+/* { dg-skip-if "-mpure-code and -fPIC incompatible" { *-*-* } { "-mpure-code" } } */
/* { dg-options "-fPIC -mpic-data-is-text-relative" } */
/* { dg-final { scan-assembler "j-\\(.LPIC" } } */
/* { dg-final { scan-assembler-not "_GLOBAL_OFFSET_TABLE_-\\(.LPIC" } } */
diff --git a/gcc/testsuite/gcc.target/arm/ftest-armv7a-arm.c b/gcc/testsuite/gcc.target/arm/ftest-armv7a-arm.c
index c71a7cd..43f52fe 100644
--- a/gcc/testsuite/gcc.target/arm/ftest-armv7a-arm.c
+++ b/gcc/testsuite/gcc.target/arm/ftest-armv7a-arm.c
@@ -1,6 +1,7 @@
/* { dg-do compile } */
/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-march=*" } { "-march=armv7-a" } } */
/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-mthumb" } { "" } } */
+/* { dg-skip-if "-mpure-code supports M-profile only" { *-*-* } { "-mpure-code" } } */
/* { dg-options "-marm" } */
/* { dg-add-options arm_arch_v7a } */
diff --git a/gcc/testsuite/gcc.target/arm/ftest-armv7a-thumb.c b/gcc/testsuite/gcc.target/arm/ftest-armv7a-thumb.c
index f1f789e..717f44c 100644
--- a/gcc/testsuite/gcc.target/arm/ftest-armv7a-thumb.c
+++ b/gcc/testsuite/gcc.target/arm/ftest-armv7a-thumb.c
@@ -1,6 +1,7 @@
/* { dg-do compile } */
/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-march=*" } { "-march=armv7-a" } } */
/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-marm" } { "" } } */
+/* { dg-skip-if "-mpure-code supports M-profile only" { *-*-* } { "-mpure-code" } } */
/* { dg-options "-mthumb" } */
/* { dg-add-options arm_arch_v7a } */
diff --git a/gcc/testsuite/gcc.target/arm/ftest-armv7r-arm.c b/gcc/testsuite/gcc.target/arm/ftest-armv7r-arm.c
index 08c017f..24b93ea 100644
--- a/gcc/testsuite/gcc.target/arm/ftest-armv7r-arm.c
+++ b/gcc/testsuite/gcc.target/arm/ftest-armv7r-arm.c
@@ -1,6 +1,7 @@
/* { dg-do compile } */
/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-march=*" } { "-march=armv7-r" } } */
/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-mthumb" } { "" } } */
+/* { dg-skip-if "-mpure-code supports M-profile only" { *-*-* } { "-mpure-code" } } */
/* { dg-options "-marm" } */
/* { dg-add-options arm_arch_v7r } */
diff --git a/gcc/testsuite/gcc.target/arm/ftest-armv7r-thumb.c b/gcc/testsuite/gcc.target/arm/ftest-armv7r-thumb.c
index 1b69dc0..a7c3772 100644
--- a/gcc/testsuite/gcc.target/arm/ftest-armv7r-thumb.c
+++ b/gcc/testsuite/gcc.target/arm/ftest-armv7r-thumb.c
@@ -1,6 +1,7 @@
/* { dg-do compile } */
/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-march=*" } { "-march=armv7-r" } } */
/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-marm" } { "" } } */
+/* { dg-skip-if "-mpure-code supports M-profile only" { *-*-* } { "-mpure-code" } } */
/* { dg-options "-mthumb" } */
/* { dg-add-options arm_arch_v7r } */
diff --git a/gcc/testsuite/gcc.target/arm/ftest-armv7ve-arm.c b/gcc/testsuite/gcc.target/arm/ftest-armv7ve-arm.c
index 3cf987c..72c4c1f 100644
--- a/gcc/testsuite/gcc.target/arm/ftest-armv7ve-arm.c
+++ b/gcc/testsuite/gcc.target/arm/ftest-armv7ve-arm.c
@@ -1,6 +1,7 @@
/* { dg-do compile } */
/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-march=*" } { "-march=armv7ve" } } */
/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-mthumb" } { "" } } */
+/* { dg-skip-if "-mpure-code supports M-profile only" { *-*-* } { "-mpure-code" } } */
/* { dg-options "-marm" } */
/* { dg-add-options arm_arch_v7ve } */
diff --git a/gcc/testsuite/gcc.target/arm/ftest-armv7ve-thumb.c b/gcc/testsuite/gcc.target/arm/ftest-armv7ve-thumb.c
index 0d6b432..772405b 100644
--- a/gcc/testsuite/gcc.target/arm/ftest-armv7ve-thumb.c
+++ b/gcc/testsuite/gcc.target/arm/ftest-armv7ve-thumb.c
@@ -1,6 +1,7 @@
/* { dg-do compile } */
/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-march=*" } { "-march=armv7ve" } } */
/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-marm" } { "" } } */
+/* { dg-skip-if "-mpure-code supports M-profile only" { *-*-* } { "-mpure-code" } } */
/* { dg-options "-mthumb" } */
/* { dg-add-options arm_arch_v7ve } */
diff --git a/gcc/testsuite/gcc.target/arm/ftest-armv8a-arm.c b/gcc/testsuite/gcc.target/arm/ftest-armv8a-arm.c
index 7812c5c..feab5ee 100644
--- a/gcc/testsuite/gcc.target/arm/ftest-armv8a-arm.c
+++ b/gcc/testsuite/gcc.target/arm/ftest-armv8a-arm.c
@@ -1,6 +1,7 @@
/* { dg-do compile } */
/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-march=*" } { "-march=armv8-a" } } */
/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-mthumb" } { "" } } */
+/* { dg-skip-if "-mpure-code supports M-profile only" { *-*-* } { "-mpure-code" } } */
/* { dg-options "-marm" } */
/* { dg-add-options arm_arch_v8a } */
diff --git a/gcc/testsuite/gcc.target/arm/ftest-armv8a-thumb.c b/gcc/testsuite/gcc.target/arm/ftest-armv8a-thumb.c
index 605b173..28d54bf 100644
--- a/gcc/testsuite/gcc.target/arm/ftest-armv8a-thumb.c
+++ b/gcc/testsuite/gcc.target/arm/ftest-armv8a-thumb.c
@@ -1,6 +1,7 @@
/* { dg-do compile } */
/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-march=*" } { "-march=armv8-a" } } */
/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-marm" } { "" } } */
+/* { dg-skip-if "-mpure-code supports M-profile only" { *-*-* } { "-mpure-code" } } */
/* { dg-options "-mthumb" } */
/* { dg-add-options arm_arch_v8a } */
diff --git a/gcc/testsuite/gcc.target/arm/lceil-vcvt_1.c b/gcc/testsuite/gcc.target/arm/lceil-vcvt_1.c
index bbe4271..a8afab1 100644
--- a/gcc/testsuite/gcc.target/arm/lceil-vcvt_1.c
+++ b/gcc/testsuite/gcc.target/arm/lceil-vcvt_1.c
@@ -1,4 +1,5 @@
/* { dg-do compile } */
+/* { dg-skip-if "-mpure-code supports M-profile only" { *-*-* } { "-mpure-code" } } */
/* { dg-require-effective-target arm_v8_vfp_ok } */
/* { dg-options "-O2 -march=armv8-a" } */
/* { dg-add-options arm_v8_vfp } */
diff --git a/gcc/testsuite/gcc.target/arm/lfloor-vcvt_1.c b/gcc/testsuite/gcc.target/arm/lfloor-vcvt_1.c
index 88671d3..b8eb1b0 100644
--- a/gcc/testsuite/gcc.target/arm/lfloor-vcvt_1.c
+++ b/gcc/testsuite/gcc.target/arm/lfloor-vcvt_1.c
@@ -1,4 +1,5 @@
/* { dg-do compile } */
+/* { dg-skip-if "-mpure-code supports M-profile only" { *-*-* } { "-mpure-code" } } */
/* { dg-require-effective-target arm_v8_vfp_ok } */
/* { dg-options "-O2 -march=armv8-a" } */
/* { dg-add-options arm_v8_vfp } */
diff --git a/gcc/testsuite/gcc.target/arm/lround-vcvt_1.c b/gcc/testsuite/gcc.target/arm/lround-vcvt_1.c
index 8b1f6a7..4c52a83 100644
--- a/gcc/testsuite/gcc.target/arm/lround-vcvt_1.c
+++ b/gcc/testsuite/gcc.target/arm/lround-vcvt_1.c
@@ -1,4 +1,5 @@
/* { dg-do compile } */
+/* { dg-skip-if "-mpure-code supports M-profile only" { *-*-* } { "-mpure-code" } } */
/* { dg-require-effective-target arm_v8_vfp_ok } */
/* { dg-options "-O2 -march=armv8-a -ffast-math" } */
/* { dg-add-options arm_v8_vfp } */
diff --git a/gcc/testsuite/gcc.target/arm/memset-inline-10.c b/gcc/testsuite/gcc.target/arm/memset-inline-10.c
index ce51c1d..c2f8125 100644
--- a/gcc/testsuite/gcc.target/arm/memset-inline-10.c
+++ b/gcc/testsuite/gcc.target/arm/memset-inline-10.c
@@ -3,6 +3,7 @@
/* { dg-options "-march=armv7-a -mfloat-abi=hard -mfpu=neon -O2" } */
/* { dg-skip-if "need SIMD instructions" { *-*-* } { "-mfloat-abi=soft" } { "" } } */
/* { dg-skip-if "need SIMD instructions" { *-*-* } { "-mfpu=vfp*" } { "" } } */
+/* { dg-skip-if "-mpure-code supports M-profile only" { *-*-* } { "-mpure-code" } } */
#define BUF 100
long a[BUF];
diff --git a/gcc/testsuite/gcc.target/arm/mod_2.c b/gcc/testsuite/gcc.target/arm/mod_2.c
index 93017a1..1143725 100644
--- a/gcc/testsuite/gcc.target/arm/mod_2.c
+++ b/gcc/testsuite/gcc.target/arm/mod_2.c
@@ -1,4 +1,5 @@
/* { dg-do compile } */
+/* { dg-skip-if "-mpure-code supports M-profile only" { *-*-* } { "-mpure-code" } } */
/* { dg-require-effective-target arm32 } */
/* { dg-options "-O2 -mcpu=cortex-a57 -save-temps" } */
diff --git a/gcc/testsuite/gcc.target/arm/mod_256.c b/gcc/testsuite/gcc.target/arm/mod_256.c
index ccb7f3c..d8dca0f 100644
--- a/gcc/testsuite/gcc.target/arm/mod_256.c
+++ b/gcc/testsuite/gcc.target/arm/mod_256.c
@@ -1,4 +1,5 @@
/* { dg-do compile } */
+/* { dg-skip-if "-mpure-code supports M-profile only" { *-*-* } { "-mpure-code" } } */
/* { dg-require-effective-target arm32 } */
/* { dg-options "-O2 -mcpu=cortex-a57 -save-temps" } */
diff --git a/gcc/testsuite/gcc.target/arm/pr40657-1.c b/gcc/testsuite/gcc.target/arm/pr40657-1.c
index a6ac6c7..645f46b 100644
--- a/gcc/testsuite/gcc.target/arm/pr40657-1.c
+++ b/gcc/testsuite/gcc.target/arm/pr40657-1.c
@@ -1,3 +1,4 @@
+/* { dg-skip-if "-mpure-code supports M-profile only" { *-*-* } { "-mpure-code" } } */
/* { dg-options "-Os -march=armv5te -mthumb" } */
/* { dg-require-effective-target arm_thumb1_ok } */
/* { dg-final { scan-assembler "pop.*r1.*pc" } } */
diff --git a/gcc/testsuite/gcc.target/arm/pr44788.c b/gcc/testsuite/gcc.target/arm/pr44788.c
index 9ce44a8..e69bbc6 100644
--- a/gcc/testsuite/gcc.target/arm/pr44788.c
+++ b/gcc/testsuite/gcc.target/arm/pr44788.c
@@ -1,4 +1,5 @@
/* { dg-do compile } */
+/* { dg-skip-if "-mpure-code and -fPIC incompatible" { *-*-* } { "-mpure-code" } } */
/* { dg-require-effective-target arm_thumb2_ok } */
/* { dg-options "-Os -fno-strict-aliasing -fPIC -mthumb -march=armv7-a -mfpu=vfp3 -mfloat-abi=softfp" } */
diff --git a/gcc/testsuite/gcc.target/arm/pr50305.c b/gcc/testsuite/gcc.target/arm/pr50305.c
index 2f6ad5c..f93df9f 100644
--- a/gcc/testsuite/gcc.target/arm/pr50305.c
+++ b/gcc/testsuite/gcc.target/arm/pr50305.c
@@ -1,5 +1,6 @@
/* { dg-do compile } */
/* { dg-skip-if "incompatible options" { arm*-*-* } { "-march=*" } { "-march=armv7-a" } } */
+/* { dg-skip-if "-mpure-code supports M-profile only" { *-*-* } { "-mpure-code" } } */
/* { dg-options "-O2 -fno-omit-frame-pointer -marm -march=armv7-a -mfpu=vfp3" } */
struct event {
diff --git a/gcc/testsuite/gcc.target/arm/pr51835.c b/gcc/testsuite/gcc.target/arm/pr51835.c
index 128b9d5..157dcbf 100644
--- a/gcc/testsuite/gcc.target/arm/pr51835.c
+++ b/gcc/testsuite/gcc.target/arm/pr51835.c
@@ -2,6 +2,7 @@
/* { dg-skip-if "no support for hard-float VFP ABI" { arm_thumb1 } { "-march=*" } { "" } } */
/* { dg-skip-if "do not override -mfloat-abi" { *-*-* } { "-mfloat-abi=*" } { "-mfloat-abi=hard" } } */
/* { dg-skip-if "avoid conflicting -mfpu" { *-*-* } { "-mfpu=*" } { "-mfpu=fpv4-sp-d16" "-mfpu=vfpv3xd" "-mfpu=vfpv3xd-fp16" } } */
+/* { dg-skip-if "-mpure-code supports M-profile only" { *-*-* } { "-mpure-code" } } */
/* { dg-options "-O2 -march=armv7-a -mfloat-abi=hard -mfpu=fpv4-sp-d16" } */
int func1 (double d)
diff --git a/gcc/testsuite/gcc.target/arm/pr51915.c b/gcc/testsuite/gcc.target/arm/pr51915.c
index f9ed305..d79f9b3 100644
--- a/gcc/testsuite/gcc.target/arm/pr51915.c
+++ b/gcc/testsuite/gcc.target/arm/pr51915.c
@@ -2,6 +2,7 @@
/* { dg-do compile } */
/* { dg-skip-if "no support for hard-float VFP ABI" { arm_thumb1 } { "-march=*" } { "" } } */
/* { dg-skip-if "do not override -mfloat-abi" { *-*-* } { "-mfloat-abi=*" } { "-mfloat-abi=hard" } } */
+/* { dg-skip-if "-mpure-code supports M-profile only" { *-*-* } { "-mpure-code" } } */
/* { dg-options "-march=armv7-a+fp -mfloat-abi=hard -O2" } */
struct S { int s1; void *s2; };
diff --git a/gcc/testsuite/gcc.target/arm/pr52006.c b/gcc/testsuite/gcc.target/arm/pr52006.c
index dbbcfe0..136a39d 100644
--- a/gcc/testsuite/gcc.target/arm/pr52006.c
+++ b/gcc/testsuite/gcc.target/arm/pr52006.c
@@ -2,6 +2,7 @@
/* { dg-do compile } */
/* { dg-skip-if "avoid conflicts with multilib flags" { *-*-* } { "-mfloat-abi=*" } { "-mfloat-abi=hard" } } */
/* { dg-skip-if "no support for hard-float VFP ABI" { arm_thumb1 } { "-march=*" } { "" } } */
+/* { dg-skip-if "-mpure-code and -fPIC incompatible" { *-*-* } { "-mpure-code" } } */
/* { dg-options "-march=armv7-a+fp -mfloat-abi=hard -O2 -fPIC" } */
unsigned long a;
diff --git a/gcc/testsuite/gcc.target/arm/pr53187.c b/gcc/testsuite/gcc.target/arm/pr53187.c
index 5fbc52c..59ca27e 100644
--- a/gcc/testsuite/gcc.target/arm/pr53187.c
+++ b/gcc/testsuite/gcc.target/arm/pr53187.c
@@ -2,6 +2,7 @@
/* { dg-do compile } */
/* { dg-skip-if "no support for hard-float VFP ABI" { arm_thumb1 } { "-march=*" } { "" } } */
/* { dg-skip-if "do not override -mfloat-abi" { *-*-* } { "-mfloat-abi=*" } { "-mfloat-abi=hard" } } */
+/* { dg-skip-if "-mpure-code supports M-profile only" { *-*-* } { "-mpure-code" } } */
/* { dg-options "-march=armv7-a+fp -mfloat-abi=hard -O2" } */
void bar (int);
diff --git a/gcc/testsuite/gcc.target/arm/pr58784.c b/gcc/testsuite/gcc.target/arm/pr58784.c
index 44528f3..5fdf116 100644
--- a/gcc/testsuite/gcc.target/arm/pr58784.c
+++ b/gcc/testsuite/gcc.target/arm/pr58784.c
@@ -2,6 +2,7 @@
/* { dg-skip-if "incompatible options" { arm_thumb1 } } */
/* { dg-options "-march=armv7-a -mfloat-abi=hard -mfpu=neon -marm -O2" } */
/* { dg-skip-if "need hardfp ABI" { *-*-* } { "-mfloat-abi=soft" } { "" } } */
+/* { dg-skip-if "-mpure-code supports M-profile without Neon only" { *-*-* } { "-mpure-code" } } */
typedef struct __attribute__ ((__packed__))
diff --git a/gcc/testsuite/gcc.target/arm/pr59575.c b/gcc/testsuite/gcc.target/arm/pr59575.c
index 13494f4..cc49be3 100644
--- a/gcc/testsuite/gcc.target/arm/pr59575.c
+++ b/gcc/testsuite/gcc.target/arm/pr59575.c
@@ -1,5 +1,6 @@
/* PR target/59575 */
/* { dg-do compile } */
+/* { dg-skip-if "-mpure-code supports M-profile only" { *-*-* } { "-mpure-code" } } */
/* { dg-options "-Os -g -march=armv7-a" } */
void foo (int *);
diff --git a/gcc/testsuite/gcc.target/arm/pr59923.c b/gcc/testsuite/gcc.target/arm/pr59923.c
index 86a4e7d..7182810 100644
--- a/gcc/testsuite/gcc.target/arm/pr59923.c
+++ b/gcc/testsuite/gcc.target/arm/pr59923.c
@@ -1,5 +1,6 @@
/* PR target/59923 */
/* { dg-do compile } */
+/* { dg-skip-if "-mpure-code supports M-profile only" { *-*-* } { "-mpure-code" } } */
/* { dg-require-effective-target arm_thumb2_ok } */
/* { dg-options "-O2 -mcpu=cortex-a15 -fno-strict-aliasing -mthumb -g" } */
diff --git a/gcc/testsuite/gcc.target/arm/pr60650-2.c b/gcc/testsuite/gcc.target/arm/pr60650-2.c
index c8d4615..c44d7b5 100644
--- a/gcc/testsuite/gcc.target/arm/pr60650-2.c
+++ b/gcc/testsuite/gcc.target/arm/pr60650-2.c
@@ -1,4 +1,5 @@
/* { dg-do compile } */
+/* { dg-skip-if "-mpure-code supports M-profile only" { *-*-* } { "-mpure-code" } } */
/* { dg-options "-O2 -fno-omit-frame-pointer -march=armv7-a" } */
int a, h, j;
diff --git a/gcc/testsuite/gcc.target/arm/pr60657.c b/gcc/testsuite/gcc.target/arm/pr60657.c
index 66355c3..ca12152 100644
--- a/gcc/testsuite/gcc.target/arm/pr60657.c
+++ b/gcc/testsuite/gcc.target/arm/pr60657.c
@@ -1,4 +1,5 @@
/* { dg-do compile } */
+/* { dg-skip-if "-mpure-code supports M-profile only" { *-*-* } { "-mpure-code" } } */
/* { dg-options "-O2 -march=armv7-a" } */
diff --git a/gcc/testsuite/gcc.target/arm/pr60663.c b/gcc/testsuite/gcc.target/arm/pr60663.c
index b79b830..8d76d79 100644
--- a/gcc/testsuite/gcc.target/arm/pr60663.c
+++ b/gcc/testsuite/gcc.target/arm/pr60663.c
@@ -1,5 +1,6 @@
/* PR rtl-optimization/60663 */
/* { dg-do compile } */
+/* { dg-skip-if "-mpure-code supports M-profile only" { *-*-* } { "-mpure-code" } } */
/* { dg-options "-O2 -march=armv7-a" } */
int
diff --git a/gcc/testsuite/gcc.target/arm/pr67439_1.c b/gcc/testsuite/gcc.target/arm/pr67439_1.c
index f7a6128..01a9ab6 100644
--- a/gcc/testsuite/gcc.target/arm/pr67439_1.c
+++ b/gcc/testsuite/gcc.target/arm/pr67439_1.c
@@ -1,4 +1,5 @@
/* { dg-do compile } */
+/* { dg-skip-if "-mpure-code supports M-profile without Neon only" { *-*-* } { "-mpure-code" } } */
/* { dg-require-effective-target arm_thumb2_ok } */
/* { dg-options "-O1 -mfp16-format=ieee -march=armv7-a -mfpu=neon -mthumb -mrestrict-it" } */
diff --git a/gcc/testsuite/gcc.target/arm/pr68620.c b/gcc/testsuite/gcc.target/arm/pr68620.c
index 984992f..9187843 100644
--- a/gcc/testsuite/gcc.target/arm/pr68620.c
+++ b/gcc/testsuite/gcc.target/arm/pr68620.c
@@ -1,4 +1,5 @@
/* { dg-do compile } */
+/* { dg-skip-if "-mpure-code supports M-profile without Neon only" { *-*-* } { "-mpure-code" } } */
/* { dg-require-effective-target arm_fp_ok } */
/* { dg-options "-mfp16-format=ieee" } */
/* { dg-add-options arm_fp } */
diff --git a/gcc/testsuite/gcc.target/arm/pr7676.c b/gcc/testsuite/gcc.target/arm/pr7676.c
index 349d7a3..0e9095c 100644
--- a/gcc/testsuite/gcc.target/arm/pr7676.c
+++ b/gcc/testsuite/gcc.target/arm/pr7676.c
@@ -1,4 +1,5 @@
/* { dg-do compile } */
+/* { dg-skip-if "-mpure-code supports M-profile only" { *-*-* } { "-mpure-code" } } */
/* { dg-options "-O1 -march=armv8-a -mfloat-abi=soft -mthumb" } */
/* { dg-skip-if "Do not combine float-abi= hard | soft | softfp" {*-*-*} {"-mfloat-abi=hard" -mfloat-abi=softfp } {""} } */
int a;
diff --git a/gcc/testsuite/gcc.target/arm/pr79239.c b/gcc/testsuite/gcc.target/arm/pr79239.c
index d1f1b28..5b40e2e 100644
--- a/gcc/testsuite/gcc.target/arm/pr79239.c
+++ b/gcc/testsuite/gcc.target/arm/pr79239.c
@@ -1,4 +1,5 @@
/* { dg-do compile } */
+/* { dg-skip-if "-mpure-code supports M-profile without Neon only" { *-*-* } { "-mpure-code" } } */
/* { dg-require-effective-target arm_fp_ok } */
/* { dg-add-options arm_fp } */
diff --git a/gcc/testsuite/gcc.target/arm/pr81863.c b/gcc/testsuite/gcc.target/arm/pr81863.c
index 225a0c5cc..85bfab1 100644
--- a/gcc/testsuite/gcc.target/arm/pr81863.c
+++ b/gcc/testsuite/gcc.target/arm/pr81863.c
@@ -1,6 +1,7 @@
/* testsuite/gcc.target/arm/pr48183.c */
/* { dg-do compile } */
/* { dg-skip-if "-mslow-flash-data and -mword-relocations incompatible" { *-*-* } { "-mslow-flash-data" } } */
+/* { dg-skip-if "-mpure-code and -mword-relocations incompatible" { *-*-* } { "-mpure-code" } } */
/* { dg-options "-O2 -mword-relocations -march=armv7-a -marm" } */
/* { dg-final { scan-assembler-not "\[\\t \]+movw" } } */
diff --git a/gcc/testsuite/gcc.target/arm/pragma_attribute.c b/gcc/testsuite/gcc.target/arm/pragma_attribute.c
index 12afc97..a11a811 100644
--- a/gcc/testsuite/gcc.target/arm/pragma_attribute.c
+++ b/gcc/testsuite/gcc.target/arm/pragma_attribute.c
@@ -1,6 +1,7 @@
/* Test for #prama target macros. */
/* { dg-do compile } */
/* { dg-require-effective-target arm_thumb1_ok } */
+/* { dg-require-effective-target arm_arm_ok } */
#pragma GCC target ("thumb")
diff --git a/gcc/testsuite/gcc.target/arm/pragma_cpp_fma.c b/gcc/testsuite/gcc.target/arm/pragma_cpp_fma.c
index c72ea8c..3b4720a 100644
--- a/gcc/testsuite/gcc.target/arm/pragma_cpp_fma.c
+++ b/gcc/testsuite/gcc.target/arm/pragma_cpp_fma.c
@@ -1,6 +1,7 @@
/* Test that FMA macro is correctly undef. */
/* { dg-do compile } */
/* { dg-skip-if "Default no fma" { *-*-* } { "-mfpu=*vfpv4*" "-mfpu=*armv8"} } */
+/* { dg-skip-if "-mpure-code supports M-profile without Neon only" { *-*-* } { "-mpure-code" } } */
/* { dg-require-effective-target arm_fp_ok } */
/* { dg-add-options arm_fp } */
diff --git a/gcc/testsuite/gcc.target/arm/require-pic-register-loc.c b/gcc/testsuite/gcc.target/arm/require-pic-register-loc.c
index 268e9e4..9f089ee 100644
--- a/gcc/testsuite/gcc.target/arm/require-pic-register-loc.c
+++ b/gcc/testsuite/gcc.target/arm/require-pic-register-loc.c
@@ -1,14 +1,15 @@
/* { dg-do compile } */
+/* { dg-skip-if "-mpure-code and -fPIC incompatible" { *-*-* } { "-mpure-code" } } */
/* { dg-options "-g -fPIC" } */
void *v;
void a (void *x) { }
void b (void) { }
- /* line 7. */
-int /* line 8. */
-main (int argc) /* line 9. */
-{ /* line 10. */
- if (argc == 12345) /* line 11. */
+ /* line 8. */
+int /* line 9. */
+main (int argc) /* line 10. */
+{ /* line 11. */
+ if (argc == 12345) /* line 12. */
{
a (v);
return 1;
@@ -18,12 +19,12 @@ main (int argc) /* line 9. */
return 0;
}
-/* { dg-final { scan-assembler-not "\.loc 1 7 \[0-9\]\+" } } */
/* { dg-final { scan-assembler-not "\.loc 1 8 \[0-9\]\+" } } */
/* { dg-final { scan-assembler-not "\.loc 1 9 \[0-9\]\+" } } */
+/* { dg-final { scan-assembler-not "\.loc 1 10 \[0-9\]\+" } } */
/* The loc at the start of the prologue. */
-/* { dg-final { scan-assembler-times "\.loc 1 10 \[0-9\]\+" 1 } } */
+/* { dg-final { scan-assembler-times "\.loc 1 11 \[0-9\]\+" 1 } } */
/* The loc at the end of the prologue, with the first user line. */
-/* { dg-final { scan-assembler-times "\.loc 1 11 \[0-9\]\+" 1 } } */
+/* { dg-final { scan-assembler-times "\.loc 1 12 \[0-9\]\+" 1 } } */
diff --git a/gcc/testsuite/gcc.target/arm/thumb-ltu.c b/gcc/testsuite/gcc.target/arm/thumb-ltu.c
index ae4ad5b..5ec321b 100644
--- a/gcc/testsuite/gcc.target/arm/thumb-ltu.c
+++ b/gcc/testsuite/gcc.target/arm/thumb-ltu.c
@@ -1,4 +1,5 @@
/* { dg-do compile } */
+/* { dg-skip-if "-mpure-code supports M-profile only" { *-*-* } { "-mpure-code" } } */
/* { dg-require-effective-target arm_thumb1_ok } */
/* { dg-options "-mcpu=arm1136jf-s -mthumb -O2" } */
diff --git a/gcc/testsuite/gcc.target/arm/thumb1-pic-high-reg.c b/gcc/testsuite/gcc.target/arm/thumb1-pic-high-reg.c
index df269fc..6cb14bb 100644
--- a/gcc/testsuite/gcc.target/arm/thumb1-pic-high-reg.c
+++ b/gcc/testsuite/gcc.target/arm/thumb1-pic-high-reg.c
@@ -1,4 +1,5 @@
/* { dg-do compile } */
+/* { dg-skip-if "-mpure-code and -fpic incompatible" { *-*-* } { "-mpure-code" } } */
/* { dg-require-effective-target arm_thumb1_ok } */
/* { dg-options "-mthumb -fpic -mpic-register=9" } */
diff --git a/gcc/testsuite/gcc.target/arm/thumb1-pic-single-base.c b/gcc/testsuite/gcc.target/arm/thumb1-pic-single-base.c
index 6e9b257..b231466 100644
--- a/gcc/testsuite/gcc.target/arm/thumb1-pic-single-base.c
+++ b/gcc/testsuite/gcc.target/arm/thumb1-pic-single-base.c
@@ -1,4 +1,5 @@
/* { dg-do compile } */
+/* { dg-skip-if "-mpure-code and -fpic incompatible" { *-*-* } { "-mpure-code" } } */
/* { dg-require-effective-target arm_thumb1_ok } */
/* { dg-options "-mthumb -fpic -msingle-pic-base" } */
diff --git a/gcc/testsuite/gcc.target/arm/tlscall.c b/gcc/testsuite/gcc.target/arm/tlscall.c
index 5f4d58b..71366ef 100644
--- a/gcc/testsuite/gcc.target/arm/tlscall.c
+++ b/gcc/testsuite/gcc.target/arm/tlscall.c
@@ -3,6 +3,7 @@
/* { dg-do assemble } */
/* { dg-options "-O2 -fPIC -mtls-dialect=gnu2" } */
/* { dg-skip-if "FDPIC does not support gnu2 TLS dialect" { arm*-*-uclinuxfdpiceabi } "*" "" } */
+/* { dg-skip-if "-mpure-code and -fPIC incompatible" { *-*-* } { "-mpure-code" } } */
typedef struct _IO_FILE FILE;
diff --git a/gcc/testsuite/gcc.target/arm/unsigned-float.c b/gcc/testsuite/gcc.target/arm/unsigned-float.c
index e1cda0c..ad589d9 100644
--- a/gcc/testsuite/gcc.target/arm/unsigned-float.c
+++ b/gcc/testsuite/gcc.target/arm/unsigned-float.c
@@ -1,6 +1,7 @@
/* { dg-do compile } */
/* { dg-require-effective-target arm_fp_ok } */
/* { dg-skip-if "need fp instructions" { *-*-* } { "-mfloat-abi=soft" } { "" } } */
+/* { dg-skip-if "-mpure-code supports M-profile only" { *-*-* } { "-mpure-code" } } */
/* { dg-options "-march=armv7-a -O1" } */
/* { dg-add-options arm_fp } */
diff --git a/gcc/testsuite/gcc.target/arm/vrinta-ce.c b/gcc/testsuite/gcc.target/arm/vrinta-ce.c
index 71c5b3b..092d914 100644
--- a/gcc/testsuite/gcc.target/arm/vrinta-ce.c
+++ b/gcc/testsuite/gcc.target/arm/vrinta-ce.c
@@ -1,4 +1,5 @@
/* { dg-do compile } */
+/* { dg-skip-if "-mpure-code supports M-profile only" { *-*-* } { "-mpure-code" } } */
/* { dg-require-effective-target arm_v8_vfp_ok } */
/* { dg-options "-O2 -marm -march=armv8-a" } */
/* { dg-add-options arm_v8_vfp } */