summaryrefslogtreecommitdiff
path: root/gcc/testsuite
diff options
context:
space:
mode:
authorbstarynk <bstarynk@138bc75d-0d04-0410-961f-82ee72b054a4>2009-11-13 12:09:46 +0000
committerbstarynk <bstarynk@138bc75d-0d04-0410-961f-82ee72b054a4>2009-11-13 12:09:46 +0000
commit547ca3bd8e3409e0a796c9daace21b8fb981e866 (patch)
tree1c2ac6570bbc8b01a80d59c4395f5f5e708ea6d0 /gcc/testsuite
parentca92a39fb16598b71a90ed2be2c3543dd079e66c (diff)
downloadgcc-547ca3bd8e3409e0a796c9daace21b8fb981e866.tar.gz
2009-11-13 Basile Starynkevitch <basile@starynkevitch.net>
MELT branch merged with trunk rev 154145 git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/melt-branch@154146 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/testsuite')
-rw-r--r--gcc/testsuite/ChangeLog87
-rw-r--r--gcc/testsuite/g++.dg/lto/lto.exp4
-rw-r--r--gcc/testsuite/g++.dg/other/packed1.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/thunk3.C2
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/ipa-sra-2.c7
-rw-r--r--gcc/testsuite/gcc.dg/20020312-2.c2
-rw-r--r--gcc/testsuite/gcc.dg/cpp/pragma-pop_macro-1.c2
-rw-r--r--gcc/testsuite/gcc.dg/lto/lto.exp4
-rw-r--r--gcc/testsuite/gcc.dg/pr41963.c2
-rw-r--r--gcc/testsuite/gcc.dg/vect/slp-multitypes-3.c4
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-multitypes-5.c2
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-multitypes-6.c2
-rw-r--r--gcc/testsuite/gcc.target/arm/neon/vdupQ_nf32.c2
-rw-r--r--gcc/testsuite/gcc.target/arm/neon/vdupQ_np16.c2
-rw-r--r--gcc/testsuite/gcc.target/arm/neon/vdupQ_np8.c2
-rw-r--r--gcc/testsuite/gcc.target/arm/neon/vdupQ_ns16.c2
-rw-r--r--gcc/testsuite/gcc.target/arm/neon/vdupQ_ns32.c2
-rw-r--r--gcc/testsuite/gcc.target/arm/neon/vdupQ_ns8.c2
-rw-r--r--gcc/testsuite/gcc.target/arm/neon/vdupQ_nu16.c2
-rw-r--r--gcc/testsuite/gcc.target/arm/neon/vdupQ_nu32.c2
-rw-r--r--gcc/testsuite/gcc.target/arm/neon/vdupQ_nu8.c2
-rw-r--r--gcc/testsuite/gcc.target/arm/neon/vdup_nf32.c2
-rw-r--r--gcc/testsuite/gcc.target/arm/neon/vdup_np16.c2
-rw-r--r--gcc/testsuite/gcc.target/arm/neon/vdup_np8.c2
-rw-r--r--gcc/testsuite/gcc.target/arm/neon/vdup_ns16.c2
-rw-r--r--gcc/testsuite/gcc.target/arm/neon/vdup_ns32.c2
-rw-r--r--gcc/testsuite/gcc.target/arm/neon/vdup_ns8.c2
-rw-r--r--gcc/testsuite/gcc.target/arm/neon/vdup_nu16.c2
-rw-r--r--gcc/testsuite/gcc.target/arm/neon/vdup_nu32.c2
-rw-r--r--gcc/testsuite/gcc.target/arm/neon/vdup_nu8.c2
-rw-r--r--gcc/testsuite/gcc.target/arm/neon/vmovQ_nf32.c2
-rw-r--r--gcc/testsuite/gcc.target/arm/neon/vmovQ_np16.c2
-rw-r--r--gcc/testsuite/gcc.target/arm/neon/vmovQ_np8.c2
-rw-r--r--gcc/testsuite/gcc.target/arm/neon/vmovQ_ns16.c2
-rw-r--r--gcc/testsuite/gcc.target/arm/neon/vmovQ_ns32.c2
-rw-r--r--gcc/testsuite/gcc.target/arm/neon/vmovQ_ns8.c2
-rw-r--r--gcc/testsuite/gcc.target/arm/neon/vmovQ_nu16.c2
-rw-r--r--gcc/testsuite/gcc.target/arm/neon/vmovQ_nu32.c2
-rw-r--r--gcc/testsuite/gcc.target/arm/neon/vmovQ_nu8.c2
-rw-r--r--gcc/testsuite/gcc.target/arm/neon/vmov_nf32.c2
-rw-r--r--gcc/testsuite/gcc.target/arm/neon/vmov_np16.c2
-rw-r--r--gcc/testsuite/gcc.target/arm/neon/vmov_np8.c2
-rw-r--r--gcc/testsuite/gcc.target/arm/neon/vmov_ns16.c2
-rw-r--r--gcc/testsuite/gcc.target/arm/neon/vmov_ns32.c2
-rw-r--r--gcc/testsuite/gcc.target/arm/neon/vmov_ns8.c2
-rw-r--r--gcc/testsuite/gcc.target/arm/neon/vmov_nu16.c2
-rw-r--r--gcc/testsuite/gcc.target/arm/neon/vmov_nu32.c2
-rw-r--r--gcc/testsuite/gcc.target/arm/neon/vmov_nu8.c2
-rw-r--r--gcc/testsuite/gfortran.dg/lto/lto.exp5
-rw-r--r--gcc/testsuite/lib/lto.exp29
-rw-r--r--gcc/testsuite/lib/target-supports.exp3
51 files changed, 170 insertions, 59 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index a37b0b18a24..3194252e449 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,81 @@
+2009-11-13 Uros Bizjak <ubizjak@gmail.com>
+
+ PR testsuite/42001
+ * g++.dg/lto/lto.exp: Pass no-mathlib to lto_init. Call
+ lto_finish at the end.
+ * gfortran.dg/lto/lto.exp: Ditto.
+
+2009-11-12 Jason Merrill <jason@redhat.com>
+
+ PR c++/39560
+ * g++.dg/lookup/anon7.C: New.
+
+ PR c++/37037
+ * g++.dg/template/typedef21.C: New.
+
+ PR c++/42013
+ * g++.dg/cpp0x/decltype19.C: New.
+
+2009-11-11 Jason Merrill <jason@redhat.com>
+
+ PR c++/39131
+ * g++.dg/dfp/typeid1.C: New.
+
+2009-11-11 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/41978
+ * gfortran.dg/proc_ptr_comp_22.f90: New test.
+
+2009-11-11 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR testsuite/42001
+ * gcc.dg/lto/lto.exp: Pass no-mathlib to lto_init. Call
+ lto_finish at the end.
+
+ * lib/lto.exp (lto_init): Set mathlib to " " for no-mathlib.
+ (lto_finish): New. Restore mathlib.
+
+2009-11-11 Kai Tietz <kai.tietz@onevision.com>
+
+ * g++.dg/torture/pushpop_macro.C: New testcase.
+ * gcc.c-torture/execute/pushpop_macro.c: New testcase.
+ * gcc.dg/cpp/pragma-pop_macro-1.c: Allow test for all targets.
+
+2009-11-11 Jon Beniston <jon@beniston.com>
+
+ * lib/target-supports.exp (check_profiling_available): lm32 target
+ doesn't support profiling.
+ * gcc.dg/20020312-2.c: Add lm32 support.
+ * g++.dg/other/packed1.C: Expect to fail on lm32.
+ * g++.old-deja/g++.jason/thunk3.C: Likewise.
+
+2009-11-11 Daniel Jacobowitz <dan@codesourcery.com>
+
+ * gcc.target/arm/neon: Regenerate generated tests.
+
+2009-11-10 Jason Merrill <jason@redhat.com>
+
+ * g++.dg/init/placement5.C: New.
+
+ PR c++/34158
+ * g++.dg/init/placement4.C: New.
+
+2009-11-10 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc.dg/vect/vect-multitypes-5.c: XFAIL on SPARC 32-bit.
+ * gcc.dg/vect/vect-multitypes-6.c: Likewise.
+ * gcc.dg/vect/vect-multitypes-12.c: Likewise.
+ * gcc.dg/vect/slp-multitypes-3.c: Likewise.
+
+2009-11-10 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc.c-torture/execute/ipa-sra-2.c: Use calloc instead of malloc.
+ * gcc.dg/pr41963.c: Do not include math.h. Declare fabsf manually.
+
+2009-11-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * gcc.c-torture/compile/pr41987.c: New.
+
2009-11-09 Jakub Jelinek <jakub@redhat.com>
PR middle-end/40946
@@ -86,10 +164,9 @@
* g++.dg/plugin/pragma_plugin-test-1.C: new testcase for
PLUGIN_PRAGMAS.
- * g++.dg/plugin/pragma_plugin.c: new test plugin for
- PLUGIN_PRAGMAS.
- * g++.dg/plugin/plugin.exp (plugin_test_list): Add pragma_plugin.c and
- pragma_plugin-test-1.C.
+ * g++.dg/plugin/pragma_plugin.c: new test plugin for PLUGIN_PRAGMAS.
+ * g++.dg/plugin/plugin.exp (plugin_test_list): Add pragma_plugin.c
+ and pragma_plugin-test-1.C.
2009-11-06 Andrew Pinski <andrew_pinski@playstation.sony.com>
@@ -208,7 +285,7 @@
* gcc.target/i386/xop-shift2-vector.c: Ditto.
* gcc.target/i386/xop-shift3-vector.c: Ditto.
* gcc.target/i386/i386.exp: Add check_effective_target_xop.
- * gcc.target/i386/sse-12.c: Update with new compile options to
+ * gcc.target/i386/sse-12.c: Update with new compile options to
activate and check xopintrin.h intrinsic file.
* gcc.target/i386/sse-13.c: Ditto.
* gcc.target/i386/sse-14.c: Ditto.
diff --git a/gcc/testsuite/g++.dg/lto/lto.exp b/gcc/testsuite/g++.dg/lto/lto.exp
index d19bad88927..62d8250314c 100644
--- a/gcc/testsuite/g++.dg/lto/lto.exp
+++ b/gcc/testsuite/g++.dg/lto/lto.exp
@@ -36,7 +36,7 @@ load_lib target-libpath.exp
load_lib lto.exp
g++_init
-lto_init
+lto_init no-mathlib
# Define an identifier for use with this suite to avoid name conflicts
# with other lto tests running at the same time.
@@ -56,3 +56,5 @@ foreach src [lsort [find $srcdir/$subdir *_0.C]] {
lto-execute $src $sid
}
+
+lto_finish
diff --git a/gcc/testsuite/g++.dg/other/packed1.C b/gcc/testsuite/g++.dg/other/packed1.C
index b1b829b223a..91d0ed3a724 100644
--- a/gcc/testsuite/g++.dg/other/packed1.C
+++ b/gcc/testsuite/g++.dg/other/packed1.C
@@ -1,4 +1,4 @@
-// { dg-do run { xfail arm-*-* sh-*-* } }
+// { dg-do run { xfail arm-*-* sh-*-* lm32-*-* } }
// NMS:2003-04-21 this fails on strict aligned architectures again,
// the patch was reverted because it broke something more important.
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/thunk3.C b/gcc/testsuite/g++.old-deja/g++.jason/thunk3.C
index 612d423be08..f382852482c 100644
--- a/gcc/testsuite/g++.old-deja/g++.jason/thunk3.C
+++ b/gcc/testsuite/g++.old-deja/g++.jason/thunk3.C
@@ -1,4 +1,4 @@
-// { dg-do run { xfail rs6000-*-* powerpc-*-eabi mn10300-*-* v850-*-* sh-*-* sh64-*-* h8*-*-* xtensa*-*-* m32r*-*-* } }
+// { dg-do run { xfail rs6000-*-* powerpc-*-eabi mn10300-*-* v850-*-* sh-*-* sh64-*-* h8*-*-* xtensa*-*-* m32r*-*-* lm32-*-* } }
// Test that variadic function calls using thunks work right.
// Note that this will break on any target that uses the generic thunk
// support, because it doesn't support variadic functions.
diff --git a/gcc/testsuite/gcc.c-torture/execute/ipa-sra-2.c b/gcc/testsuite/gcc.c-torture/execute/ipa-sra-2.c
index 9d5ae440975..515d4162406 100644
--- a/gcc/testsuite/gcc.c-torture/execute/ipa-sra-2.c
+++ b/gcc/testsuite/gcc.c-torture/execute/ipa-sra-2.c
@@ -14,11 +14,10 @@ union both
struct small small;
};
-extern void *malloc(__SIZE_TYPE__);
+extern void *calloc (__SIZE_TYPE__, __SIZE_TYPE__);
extern void free (void *);
-static int
-__attribute__((noinline))
+static int __attribute__((noinline))
foo (int fail, union both *agg)
{
int r;
@@ -31,7 +30,7 @@ foo (int fail, union both *agg)
int main (int argc, char *argv[])
{
- union both *agg = malloc (sizeof (struct small));
+ union both *agg = calloc (1, sizeof (struct small));
int r;
r = foo ((argc > 2000), agg);
diff --git a/gcc/testsuite/gcc.dg/20020312-2.c b/gcc/testsuite/gcc.dg/20020312-2.c
index bf7d99526cc..057c19e1a99 100644
--- a/gcc/testsuite/gcc.dg/20020312-2.c
+++ b/gcc/testsuite/gcc.dg/20020312-2.c
@@ -30,6 +30,8 @@ extern void abort (void);
# define PIC_REG "ebx"
#elif defined(__ia64__)
/* PIC register is r1, but is used even without -fpic. */
+#elif defined(__lm32__)
+/* No pic register. */
#elif defined(__M32R__)
/* No pic register. */
#elif defined(__m68k__)
diff --git a/gcc/testsuite/gcc.dg/cpp/pragma-pop_macro-1.c b/gcc/testsuite/gcc.dg/cpp/pragma-pop_macro-1.c
index dec67adf7f3..c9a9048646c 100644
--- a/gcc/testsuite/gcc.dg/cpp/pragma-pop_macro-1.c
+++ b/gcc/testsuite/gcc.dg/cpp/pragma-pop_macro-1.c
@@ -1,7 +1,7 @@
/* PR preprocessor/35061 */
/* Do nothing if there is nothing on the macro stack to pop. */
-/* { dg-do preprocess { target *-*-mingw* *-*-cygwin* } } */
+/* { dg-do preprocess } */
#define X 1
/* # pragma push_macro("X") */
diff --git a/gcc/testsuite/gcc.dg/lto/lto.exp b/gcc/testsuite/gcc.dg/lto/lto.exp
index 0e343c19b77..6cd798f46fb 100644
--- a/gcc/testsuite/gcc.dg/lto/lto.exp
+++ b/gcc/testsuite/gcc.dg/lto/lto.exp
@@ -35,7 +35,7 @@ load_lib gcc.exp
load_lib lto.exp
gcc_init
-lto_init
+lto_init no-mathlib
# Define an identifier for use with this suite to avoid name conflicts
# with other lto tests running at the same time.
@@ -55,3 +55,5 @@ foreach src [lsort [find $srcdir/$subdir *_0.c]] {
lto-execute $src $sid
}
+
+lto_finish
diff --git a/gcc/testsuite/gcc.dg/pr41963.c b/gcc/testsuite/gcc.dg/pr41963.c
index f8bf4a1b81c..408a3d24c00 100644
--- a/gcc/testsuite/gcc.dg/pr41963.c
+++ b/gcc/testsuite/gcc.dg/pr41963.c
@@ -1,7 +1,7 @@
/* { dg-do run } */
/* { dg-options "-O2 -ffast-math" } */
-#include <math.h>
+extern float fabsf(float);
extern float sqrtf(float);
static __attribute__((noinline)) void f (float *dst, float *src)
diff --git a/gcc/testsuite/gcc.dg/vect/slp-multitypes-3.c b/gcc/testsuite/gcc.dg/vect/slp-multitypes-3.c
index 0764441c140..926cc28a4f6 100644
--- a/gcc/testsuite/gcc.dg/vect/slp-multitypes-3.c
+++ b/gcc/testsuite/gcc.dg/vect/slp-multitypes-3.c
@@ -88,7 +88,7 @@ int main (void)
return 0;
}
-/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */
-/* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 2 "vect" } } */
+/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { xfail { sparc*-*-* && ilp32 } } } } */
+/* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 2 "vect" { xfail { sparc*-*-* && ilp32 } }} } */
/* { dg-final { cleanup-tree-dump "vect" } } */
diff --git a/gcc/testsuite/gcc.dg/vect/vect-multitypes-5.c b/gcc/testsuite/gcc.dg/vect/vect-multitypes-5.c
index bfa95524b54..30ec6840687 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-multitypes-5.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-multitypes-5.c
@@ -48,6 +48,6 @@ int main (void)
return main1 ();
}
-/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */
+/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { xfail { sparc*-*-* && ilp32 } } } } */
/* { dg-final { cleanup-tree-dump "vect" } } */
diff --git a/gcc/testsuite/gcc.dg/vect/vect-multitypes-6.c b/gcc/testsuite/gcc.dg/vect/vect-multitypes-6.c
index 450855137a6..5bb4be8c37a 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-multitypes-6.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-multitypes-6.c
@@ -59,7 +59,7 @@ int main (void)
return 0;
}
-/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */
+/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { xfail { sparc*-*-* && ilp32 } }} } */
/* { dg-final { scan-tree-dump-times "Alignment of access forced using versioning" 6 "vect" { target vect_no_align } } } */
/* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 6 "vect" {xfail { vect_no_align } } } } */
/* { dg-final { cleanup-tree-dump "vect" } } */
diff --git a/gcc/testsuite/gcc.target/arm/neon/vdupQ_nf32.c b/gcc/testsuite/gcc.target/arm/neon/vdupQ_nf32.c
index c38959a3fab..a4d57565510 100644
--- a/gcc/testsuite/gcc.target/arm/neon/vdupQ_nf32.c
+++ b/gcc/testsuite/gcc.target/arm/neon/vdupQ_nf32.c
@@ -15,5 +15,5 @@ void test_vdupQ_nf32 (void)
out_float32x4_t = vdupq_n_f32 (arg0_float32_t);
}
-/* { dg-final { scan-assembler "vdup\.32\[ \]+\[qQ\]\[0-9\]+, \[rR\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
+/* { dg-final { scan-assembler "vdup\.32\[ \]+\[qQ\]\[0-9\]+, (\[rR\]\[0-9\]+|\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
/* { dg-final { cleanup-saved-temps } } */
diff --git a/gcc/testsuite/gcc.target/arm/neon/vdupQ_np16.c b/gcc/testsuite/gcc.target/arm/neon/vdupQ_np16.c
index 6e3e726417f..76b3695873b 100644
--- a/gcc/testsuite/gcc.target/arm/neon/vdupQ_np16.c
+++ b/gcc/testsuite/gcc.target/arm/neon/vdupQ_np16.c
@@ -15,5 +15,5 @@ void test_vdupQ_np16 (void)
out_poly16x8_t = vdupq_n_p16 (arg0_poly16_t);
}
-/* { dg-final { scan-assembler "vdup\.16\[ \]+\[qQ\]\[0-9\]+, \[rR\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
+/* { dg-final { scan-assembler "vdup\.16\[ \]+\[qQ\]\[0-9\]+, (\[rR\]\[0-9\]+|\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
/* { dg-final { cleanup-saved-temps } } */
diff --git a/gcc/testsuite/gcc.target/arm/neon/vdupQ_np8.c b/gcc/testsuite/gcc.target/arm/neon/vdupQ_np8.c
index 647ff2c0886..61dff2c4ca5 100644
--- a/gcc/testsuite/gcc.target/arm/neon/vdupQ_np8.c
+++ b/gcc/testsuite/gcc.target/arm/neon/vdupQ_np8.c
@@ -15,5 +15,5 @@ void test_vdupQ_np8 (void)
out_poly8x16_t = vdupq_n_p8 (arg0_poly8_t);
}
-/* { dg-final { scan-assembler "vdup\.8\[ \]+\[qQ\]\[0-9\]+, \[rR\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
+/* { dg-final { scan-assembler "vdup\.8\[ \]+\[qQ\]\[0-9\]+, (\[rR\]\[0-9\]+|\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
/* { dg-final { cleanup-saved-temps } } */
diff --git a/gcc/testsuite/gcc.target/arm/neon/vdupQ_ns16.c b/gcc/testsuite/gcc.target/arm/neon/vdupQ_ns16.c
index 1fb27efb717..593dbebb64c 100644
--- a/gcc/testsuite/gcc.target/arm/neon/vdupQ_ns16.c
+++ b/gcc/testsuite/gcc.target/arm/neon/vdupQ_ns16.c
@@ -15,5 +15,5 @@ void test_vdupQ_ns16 (void)
out_int16x8_t = vdupq_n_s16 (arg0_int16_t);
}
-/* { dg-final { scan-assembler "vdup\.16\[ \]+\[qQ\]\[0-9\]+, \[rR\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
+/* { dg-final { scan-assembler "vdup\.16\[ \]+\[qQ\]\[0-9\]+, (\[rR\]\[0-9\]+|\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
/* { dg-final { cleanup-saved-temps } } */
diff --git a/gcc/testsuite/gcc.target/arm/neon/vdupQ_ns32.c b/gcc/testsuite/gcc.target/arm/neon/vdupQ_ns32.c
index a0e8f7f9194..22ec1ae5cdf 100644
--- a/gcc/testsuite/gcc.target/arm/neon/vdupQ_ns32.c
+++ b/gcc/testsuite/gcc.target/arm/neon/vdupQ_ns32.c
@@ -15,5 +15,5 @@ void test_vdupQ_ns32 (void)
out_int32x4_t = vdupq_n_s32 (arg0_int32_t);
}
-/* { dg-final { scan-assembler "vdup\.32\[ \]+\[qQ\]\[0-9\]+, \[rR\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
+/* { dg-final { scan-assembler "vdup\.32\[ \]+\[qQ\]\[0-9\]+, (\[rR\]\[0-9\]+|\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
/* { dg-final { cleanup-saved-temps } } */
diff --git a/gcc/testsuite/gcc.target/arm/neon/vdupQ_ns8.c b/gcc/testsuite/gcc.target/arm/neon/vdupQ_ns8.c
index 6f2aea7bda2..80d046ca5bd 100644
--- a/gcc/testsuite/gcc.target/arm/neon/vdupQ_ns8.c
+++ b/gcc/testsuite/gcc.target/arm/neon/vdupQ_ns8.c
@@ -15,5 +15,5 @@ void test_vdupQ_ns8 (void)
out_int8x16_t = vdupq_n_s8 (arg0_int8_t);
}
-/* { dg-final { scan-assembler "vdup\.8\[ \]+\[qQ\]\[0-9\]+, \[rR\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
+/* { dg-final { scan-assembler "vdup\.8\[ \]+\[qQ\]\[0-9\]+, (\[rR\]\[0-9\]+|\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
/* { dg-final { cleanup-saved-temps } } */
diff --git a/gcc/testsuite/gcc.target/arm/neon/vdupQ_nu16.c b/gcc/testsuite/gcc.target/arm/neon/vdupQ_nu16.c
index bbf50201647..9f6c98d7af7 100644
--- a/gcc/testsuite/gcc.target/arm/neon/vdupQ_nu16.c
+++ b/gcc/testsuite/gcc.target/arm/neon/vdupQ_nu16.c
@@ -15,5 +15,5 @@ void test_vdupQ_nu16 (void)
out_uint16x8_t = vdupq_n_u16 (arg0_uint16_t);
}
-/* { dg-final { scan-assembler "vdup\.16\[ \]+\[qQ\]\[0-9\]+, \[rR\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
+/* { dg-final { scan-assembler "vdup\.16\[ \]+\[qQ\]\[0-9\]+, (\[rR\]\[0-9\]+|\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
/* { dg-final { cleanup-saved-temps } } */
diff --git a/gcc/testsuite/gcc.target/arm/neon/vdupQ_nu32.c b/gcc/testsuite/gcc.target/arm/neon/vdupQ_nu32.c
index e149335784b..f847c23f692 100644
--- a/gcc/testsuite/gcc.target/arm/neon/vdupQ_nu32.c
+++ b/gcc/testsuite/gcc.target/arm/neon/vdupQ_nu32.c
@@ -15,5 +15,5 @@ void test_vdupQ_nu32 (void)
out_uint32x4_t = vdupq_n_u32 (arg0_uint32_t);
}
-/* { dg-final { scan-assembler "vdup\.32\[ \]+\[qQ\]\[0-9\]+, \[rR\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
+/* { dg-final { scan-assembler "vdup\.32\[ \]+\[qQ\]\[0-9\]+, (\[rR\]\[0-9\]+|\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
/* { dg-final { cleanup-saved-temps } } */
diff --git a/gcc/testsuite/gcc.target/arm/neon/vdupQ_nu8.c b/gcc/testsuite/gcc.target/arm/neon/vdupQ_nu8.c
index 81cf6264faa..4637c52bca6 100644
--- a/gcc/testsuite/gcc.target/arm/neon/vdupQ_nu8.c
+++ b/gcc/testsuite/gcc.target/arm/neon/vdupQ_nu8.c
@@ -15,5 +15,5 @@ void test_vdupQ_nu8 (void)
out_uint8x16_t = vdupq_n_u8 (arg0_uint8_t);
}
-/* { dg-final { scan-assembler "vdup\.8\[ \]+\[qQ\]\[0-9\]+, \[rR\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
+/* { dg-final { scan-assembler "vdup\.8\[ \]+\[qQ\]\[0-9\]+, (\[rR\]\[0-9\]+|\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
/* { dg-final { cleanup-saved-temps } } */
diff --git a/gcc/testsuite/gcc.target/arm/neon/vdup_nf32.c b/gcc/testsuite/gcc.target/arm/neon/vdup_nf32.c
index 277b200f90d..94101f64993 100644
--- a/gcc/testsuite/gcc.target/arm/neon/vdup_nf32.c
+++ b/gcc/testsuite/gcc.target/arm/neon/vdup_nf32.c
@@ -15,5 +15,5 @@ void test_vdup_nf32 (void)
out_float32x2_t = vdup_n_f32 (arg0_float32_t);
}
-/* { dg-final { scan-assembler "vdup\.32\[ \]+\[dD\]\[0-9\]+, \[rR\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
+/* { dg-final { scan-assembler "vdup\.32\[ \]+\[dD\]\[0-9\]+, (\[rR\]\[0-9\]+|\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
/* { dg-final { cleanup-saved-temps } } */
diff --git a/gcc/testsuite/gcc.target/arm/neon/vdup_np16.c b/gcc/testsuite/gcc.target/arm/neon/vdup_np16.c
index 76f1c1740f7..aa505ac0650 100644
--- a/gcc/testsuite/gcc.target/arm/neon/vdup_np16.c
+++ b/gcc/testsuite/gcc.target/arm/neon/vdup_np16.c
@@ -15,5 +15,5 @@ void test_vdup_np16 (void)
out_poly16x4_t = vdup_n_p16 (arg0_poly16_t);
}
-/* { dg-final { scan-assembler "vdup\.16\[ \]+\[dD\]\[0-9\]+, \[rR\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
+/* { dg-final { scan-assembler "vdup\.16\[ \]+\[dD\]\[0-9\]+, (\[rR\]\[0-9\]+|\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
/* { dg-final { cleanup-saved-temps } } */
diff --git a/gcc/testsuite/gcc.target/arm/neon/vdup_np8.c b/gcc/testsuite/gcc.target/arm/neon/vdup_np8.c
index ea66a607dc6..271d501cf30 100644
--- a/gcc/testsuite/gcc.target/arm/neon/vdup_np8.c
+++ b/gcc/testsuite/gcc.target/arm/neon/vdup_np8.c
@@ -15,5 +15,5 @@ void test_vdup_np8 (void)
out_poly8x8_t = vdup_n_p8 (arg0_poly8_t);
}
-/* { dg-final { scan-assembler "vdup\.8\[ \]+\[dD\]\[0-9\]+, \[rR\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
+/* { dg-final { scan-assembler "vdup\.8\[ \]+\[dD\]\[0-9\]+, (\[rR\]\[0-9\]+|\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
/* { dg-final { cleanup-saved-temps } } */
diff --git a/gcc/testsuite/gcc.target/arm/neon/vdup_ns16.c b/gcc/testsuite/gcc.target/arm/neon/vdup_ns16.c
index 89794c3e657..14c3e5e77d7 100644
--- a/gcc/testsuite/gcc.target/arm/neon/vdup_ns16.c
+++ b/gcc/testsuite/gcc.target/arm/neon/vdup_ns16.c
@@ -15,5 +15,5 @@ void test_vdup_ns16 (void)
out_int16x4_t = vdup_n_s16 (arg0_int16_t);
}
-/* { dg-final { scan-assembler "vdup\.16\[ \]+\[dD\]\[0-9\]+, \[rR\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
+/* { dg-final { scan-assembler "vdup\.16\[ \]+\[dD\]\[0-9\]+, (\[rR\]\[0-9\]+|\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
/* { dg-final { cleanup-saved-temps } } */
diff --git a/gcc/testsuite/gcc.target/arm/neon/vdup_ns32.c b/gcc/testsuite/gcc.target/arm/neon/vdup_ns32.c
index 8b0fed938cf..98a7f552140 100644
--- a/gcc/testsuite/gcc.target/arm/neon/vdup_ns32.c
+++ b/gcc/testsuite/gcc.target/arm/neon/vdup_ns32.c
@@ -15,5 +15,5 @@ void test_vdup_ns32 (void)
out_int32x2_t = vdup_n_s32 (arg0_int32_t);
}
-/* { dg-final { scan-assembler "vdup\.32\[ \]+\[dD\]\[0-9\]+, \[rR\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
+/* { dg-final { scan-assembler "vdup\.32\[ \]+\[dD\]\[0-9\]+, (\[rR\]\[0-9\]+|\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
/* { dg-final { cleanup-saved-temps } } */
diff --git a/gcc/testsuite/gcc.target/arm/neon/vdup_ns8.c b/gcc/testsuite/gcc.target/arm/neon/vdup_ns8.c
index 0d39eec6d36..de853e414f9 100644
--- a/gcc/testsuite/gcc.target/arm/neon/vdup_ns8.c
+++ b/gcc/testsuite/gcc.target/arm/neon/vdup_ns8.c
@@ -15,5 +15,5 @@ void test_vdup_ns8 (void)
out_int8x8_t = vdup_n_s8 (arg0_int8_t);
}
-/* { dg-final { scan-assembler "vdup\.8\[ \]+\[dD\]\[0-9\]+, \[rR\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
+/* { dg-final { scan-assembler "vdup\.8\[ \]+\[dD\]\[0-9\]+, (\[rR\]\[0-9\]+|\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
/* { dg-final { cleanup-saved-temps } } */
diff --git a/gcc/testsuite/gcc.target/arm/neon/vdup_nu16.c b/gcc/testsuite/gcc.target/arm/neon/vdup_nu16.c
index eb02c376622..abb747236f8 100644
--- a/gcc/testsuite/gcc.target/arm/neon/vdup_nu16.c
+++ b/gcc/testsuite/gcc.target/arm/neon/vdup_nu16.c
@@ -15,5 +15,5 @@ void test_vdup_nu16 (void)
out_uint16x4_t = vdup_n_u16 (arg0_uint16_t);
}
-/* { dg-final { scan-assembler "vdup\.16\[ \]+\[dD\]\[0-9\]+, \[rR\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
+/* { dg-final { scan-assembler "vdup\.16\[ \]+\[dD\]\[0-9\]+, (\[rR\]\[0-9\]+|\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
/* { dg-final { cleanup-saved-temps } } */
diff --git a/gcc/testsuite/gcc.target/arm/neon/vdup_nu32.c b/gcc/testsuite/gcc.target/arm/neon/vdup_nu32.c
index 84e8c76fead..278df3c77b9 100644
--- a/gcc/testsuite/gcc.target/arm/neon/vdup_nu32.c
+++ b/gcc/testsuite/gcc.target/arm/neon/vdup_nu32.c
@@ -15,5 +15,5 @@ void test_vdup_nu32 (void)
out_uint32x2_t = vdup_n_u32 (arg0_uint32_t);
}
-/* { dg-final { scan-assembler "vdup\.32\[ \]+\[dD\]\[0-9\]+, \[rR\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
+/* { dg-final { scan-assembler "vdup\.32\[ \]+\[dD\]\[0-9\]+, (\[rR\]\[0-9\]+|\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
/* { dg-final { cleanup-saved-temps } } */
diff --git a/gcc/testsuite/gcc.target/arm/neon/vdup_nu8.c b/gcc/testsuite/gcc.target/arm/neon/vdup_nu8.c
index 4d6ab331a96..4d675130799 100644
--- a/gcc/testsuite/gcc.target/arm/neon/vdup_nu8.c
+++ b/gcc/testsuite/gcc.target/arm/neon/vdup_nu8.c
@@ -15,5 +15,5 @@ void test_vdup_nu8 (void)
out_uint8x8_t = vdup_n_u8 (arg0_uint8_t);
}
-/* { dg-final { scan-assembler "vdup\.8\[ \]+\[dD\]\[0-9\]+, \[rR\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
+/* { dg-final { scan-assembler "vdup\.8\[ \]+\[dD\]\[0-9\]+, (\[rR\]\[0-9\]+|\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
/* { dg-final { cleanup-saved-temps } } */
diff --git a/gcc/testsuite/gcc.target/arm/neon/vmovQ_nf32.c b/gcc/testsuite/gcc.target/arm/neon/vmovQ_nf32.c
index 7776b34d4ff..9e469f1bbc4 100644
--- a/gcc/testsuite/gcc.target/arm/neon/vmovQ_nf32.c
+++ b/gcc/testsuite/gcc.target/arm/neon/vmovQ_nf32.c
@@ -15,5 +15,5 @@ void test_vmovQ_nf32 (void)
out_float32x4_t = vmovq_n_f32 (arg0_float32_t);
}
-/* { dg-final { scan-assembler "vdup\.32\[ \]+\[qQ\]\[0-9\]+, \[rR\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
+/* { dg-final { scan-assembler "vdup\.32\[ \]+\[qQ\]\[0-9\]+, (\[rR\]\[0-9\]+|\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
/* { dg-final { cleanup-saved-temps } } */
diff --git a/gcc/testsuite/gcc.target/arm/neon/vmovQ_np16.c b/gcc/testsuite/gcc.target/arm/neon/vmovQ_np16.c
index 72fbeda4ceb..3109d81f52d 100644
--- a/gcc/testsuite/gcc.target/arm/neon/vmovQ_np16.c
+++ b/gcc/testsuite/gcc.target/arm/neon/vmovQ_np16.c
@@ -15,5 +15,5 @@ void test_vmovQ_np16 (void)
out_poly16x8_t = vmovq_n_p16 (arg0_poly16_t);
}
-/* { dg-final { scan-assembler "vdup\.16\[ \]+\[qQ\]\[0-9\]+, \[rR\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
+/* { dg-final { scan-assembler "vdup\.16\[ \]+\[qQ\]\[0-9\]+, (\[rR\]\[0-9\]+|\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
/* { dg-final { cleanup-saved-temps } } */
diff --git a/gcc/testsuite/gcc.target/arm/neon/vmovQ_np8.c b/gcc/testsuite/gcc.target/arm/neon/vmovQ_np8.c
index d908658d79f..99502f96c9e 100644
--- a/gcc/testsuite/gcc.target/arm/neon/vmovQ_np8.c
+++ b/gcc/testsuite/gcc.target/arm/neon/vmovQ_np8.c
@@ -15,5 +15,5 @@ void test_vmovQ_np8 (void)
out_poly8x16_t = vmovq_n_p8 (arg0_poly8_t);
}
-/* { dg-final { scan-assembler "vdup\.8\[ \]+\[qQ\]\[0-9\]+, \[rR\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
+/* { dg-final { scan-assembler "vdup\.8\[ \]+\[qQ\]\[0-9\]+, (\[rR\]\[0-9\]+|\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
/* { dg-final { cleanup-saved-temps } } */
diff --git a/gcc/testsuite/gcc.target/arm/neon/vmovQ_ns16.c b/gcc/testsuite/gcc.target/arm/neon/vmovQ_ns16.c
index 77a2a41a74d..eea4e1e9ad1 100644
--- a/gcc/testsuite/gcc.target/arm/neon/vmovQ_ns16.c
+++ b/gcc/testsuite/gcc.target/arm/neon/vmovQ_ns16.c
@@ -15,5 +15,5 @@ void test_vmovQ_ns16 (void)
out_int16x8_t = vmovq_n_s16 (arg0_int16_t);
}
-/* { dg-final { scan-assembler "vdup\.16\[ \]+\[qQ\]\[0-9\]+, \[rR\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
+/* { dg-final { scan-assembler "vdup\.16\[ \]+\[qQ\]\[0-9\]+, (\[rR\]\[0-9\]+|\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
/* { dg-final { cleanup-saved-temps } } */
diff --git a/gcc/testsuite/gcc.target/arm/neon/vmovQ_ns32.c b/gcc/testsuite/gcc.target/arm/neon/vmovQ_ns32.c
index 13ba030f74d..4c980060110 100644
--- a/gcc/testsuite/gcc.target/arm/neon/vmovQ_ns32.c
+++ b/gcc/testsuite/gcc.target/arm/neon/vmovQ_ns32.c
@@ -15,5 +15,5 @@ void test_vmovQ_ns32 (void)
out_int32x4_t = vmovq_n_s32 (arg0_int32_t);
}
-/* { dg-final { scan-assembler "vdup\.32\[ \]+\[qQ\]\[0-9\]+, \[rR\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
+/* { dg-final { scan-assembler "vdup\.32\[ \]+\[qQ\]\[0-9\]+, (\[rR\]\[0-9\]+|\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
/* { dg-final { cleanup-saved-temps } } */
diff --git a/gcc/testsuite/gcc.target/arm/neon/vmovQ_ns8.c b/gcc/testsuite/gcc.target/arm/neon/vmovQ_ns8.c
index 999d709f165..b557356eae0 100644
--- a/gcc/testsuite/gcc.target/arm/neon/vmovQ_ns8.c
+++ b/gcc/testsuite/gcc.target/arm/neon/vmovQ_ns8.c
@@ -15,5 +15,5 @@ void test_vmovQ_ns8 (void)
out_int8x16_t = vmovq_n_s8 (arg0_int8_t);
}
-/* { dg-final { scan-assembler "vdup\.8\[ \]+\[qQ\]\[0-9\]+, \[rR\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
+/* { dg-final { scan-assembler "vdup\.8\[ \]+\[qQ\]\[0-9\]+, (\[rR\]\[0-9\]+|\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
/* { dg-final { cleanup-saved-temps } } */
diff --git a/gcc/testsuite/gcc.target/arm/neon/vmovQ_nu16.c b/gcc/testsuite/gcc.target/arm/neon/vmovQ_nu16.c
index f02aca6ea16..748bf6b3911 100644
--- a/gcc/testsuite/gcc.target/arm/neon/vmovQ_nu16.c
+++ b/gcc/testsuite/gcc.target/arm/neon/vmovQ_nu16.c
@@ -15,5 +15,5 @@ void test_vmovQ_nu16 (void)
out_uint16x8_t = vmovq_n_u16 (arg0_uint16_t);
}
-/* { dg-final { scan-assembler "vdup\.16\[ \]+\[qQ\]\[0-9\]+, \[rR\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
+/* { dg-final { scan-assembler "vdup\.16\[ \]+\[qQ\]\[0-9\]+, (\[rR\]\[0-9\]+|\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
/* { dg-final { cleanup-saved-temps } } */
diff --git a/gcc/testsuite/gcc.target/arm/neon/vmovQ_nu32.c b/gcc/testsuite/gcc.target/arm/neon/vmovQ_nu32.c
index 3c01d39c986..1b7f83c0587 100644
--- a/gcc/testsuite/gcc.target/arm/neon/vmovQ_nu32.c
+++ b/gcc/testsuite/gcc.target/arm/neon/vmovQ_nu32.c
@@ -15,5 +15,5 @@ void test_vmovQ_nu32 (void)
out_uint32x4_t = vmovq_n_u32 (arg0_uint32_t);
}
-/* { dg-final { scan-assembler "vdup\.32\[ \]+\[qQ\]\[0-9\]+, \[rR\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
+/* { dg-final { scan-assembler "vdup\.32\[ \]+\[qQ\]\[0-9\]+, (\[rR\]\[0-9\]+|\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
/* { dg-final { cleanup-saved-temps } } */
diff --git a/gcc/testsuite/gcc.target/arm/neon/vmovQ_nu8.c b/gcc/testsuite/gcc.target/arm/neon/vmovQ_nu8.c
index 30136192a7a..f67f3653596 100644
--- a/gcc/testsuite/gcc.target/arm/neon/vmovQ_nu8.c
+++ b/gcc/testsuite/gcc.target/arm/neon/vmovQ_nu8.c
@@ -15,5 +15,5 @@ void test_vmovQ_nu8 (void)
out_uint8x16_t = vmovq_n_u8 (arg0_uint8_t);
}
-/* { dg-final { scan-assembler "vdup\.8\[ \]+\[qQ\]\[0-9\]+, \[rR\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
+/* { dg-final { scan-assembler "vdup\.8\[ \]+\[qQ\]\[0-9\]+, (\[rR\]\[0-9\]+|\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
/* { dg-final { cleanup-saved-temps } } */
diff --git a/gcc/testsuite/gcc.target/arm/neon/vmov_nf32.c b/gcc/testsuite/gcc.target/arm/neon/vmov_nf32.c
index 88fa47b8582..255f565d79e 100644
--- a/gcc/testsuite/gcc.target/arm/neon/vmov_nf32.c
+++ b/gcc/testsuite/gcc.target/arm/neon/vmov_nf32.c
@@ -15,5 +15,5 @@ void test_vmov_nf32 (void)
out_float32x2_t = vmov_n_f32 (arg0_float32_t);
}
-/* { dg-final { scan-assembler "vdup\.32\[ \]+\[dD\]\[0-9\]+, \[rR\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
+/* { dg-final { scan-assembler "vdup\.32\[ \]+\[dD\]\[0-9\]+, (\[rR\]\[0-9\]+|\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
/* { dg-final { cleanup-saved-temps } } */
diff --git a/gcc/testsuite/gcc.target/arm/neon/vmov_np16.c b/gcc/testsuite/gcc.target/arm/neon/vmov_np16.c
index 5a726bf8be8..6b37dcf82da 100644
--- a/gcc/testsuite/gcc.target/arm/neon/vmov_np16.c
+++ b/gcc/testsuite/gcc.target/arm/neon/vmov_np16.c
@@ -15,5 +15,5 @@ void test_vmov_np16 (void)
out_poly16x4_t = vmov_n_p16 (arg0_poly16_t);
}
-/* { dg-final { scan-assembler "vdup\.16\[ \]+\[dD\]\[0-9\]+, \[rR\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
+/* { dg-final { scan-assembler "vdup\.16\[ \]+\[dD\]\[0-9\]+, (\[rR\]\[0-9\]+|\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
/* { dg-final { cleanup-saved-temps } } */
diff --git a/gcc/testsuite/gcc.target/arm/neon/vmov_np8.c b/gcc/testsuite/gcc.target/arm/neon/vmov_np8.c
index d49655c3165..1905582c45d 100644
--- a/gcc/testsuite/gcc.target/arm/neon/vmov_np8.c
+++ b/gcc/testsuite/gcc.target/arm/neon/vmov_np8.c
@@ -15,5 +15,5 @@ void test_vmov_np8 (void)
out_poly8x8_t = vmov_n_p8 (arg0_poly8_t);
}
-/* { dg-final { scan-assembler "vdup\.8\[ \]+\[dD\]\[0-9\]+, \[rR\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
+/* { dg-final { scan-assembler "vdup\.8\[ \]+\[dD\]\[0-9\]+, (\[rR\]\[0-9\]+|\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
/* { dg-final { cleanup-saved-temps } } */
diff --git a/gcc/testsuite/gcc.target/arm/neon/vmov_ns16.c b/gcc/testsuite/gcc.target/arm/neon/vmov_ns16.c
index faa4d547ec5..5c56d02e558 100644
--- a/gcc/testsuite/gcc.target/arm/neon/vmov_ns16.c
+++ b/gcc/testsuite/gcc.target/arm/neon/vmov_ns16.c
@@ -15,5 +15,5 @@ void test_vmov_ns16 (void)
out_int16x4_t = vmov_n_s16 (arg0_int16_t);
}
-/* { dg-final { scan-assembler "vdup\.16\[ \]+\[dD\]\[0-9\]+, \[rR\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
+/* { dg-final { scan-assembler "vdup\.16\[ \]+\[dD\]\[0-9\]+, (\[rR\]\[0-9\]+|\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
/* { dg-final { cleanup-saved-temps } } */
diff --git a/gcc/testsuite/gcc.target/arm/neon/vmov_ns32.c b/gcc/testsuite/gcc.target/arm/neon/vmov_ns32.c
index 9f31a5c562e..b4603585668 100644
--- a/gcc/testsuite/gcc.target/arm/neon/vmov_ns32.c
+++ b/gcc/testsuite/gcc.target/arm/neon/vmov_ns32.c
@@ -15,5 +15,5 @@ void test_vmov_ns32 (void)
out_int32x2_t = vmov_n_s32 (arg0_int32_t);
}
-/* { dg-final { scan-assembler "vdup\.32\[ \]+\[dD\]\[0-9\]+, \[rR\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
+/* { dg-final { scan-assembler "vdup\.32\[ \]+\[dD\]\[0-9\]+, (\[rR\]\[0-9\]+|\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
/* { dg-final { cleanup-saved-temps } } */
diff --git a/gcc/testsuite/gcc.target/arm/neon/vmov_ns8.c b/gcc/testsuite/gcc.target/arm/neon/vmov_ns8.c
index f68b01bd702..dbd70ee3fa9 100644
--- a/gcc/testsuite/gcc.target/arm/neon/vmov_ns8.c
+++ b/gcc/testsuite/gcc.target/arm/neon/vmov_ns8.c
@@ -15,5 +15,5 @@ void test_vmov_ns8 (void)
out_int8x8_t = vmov_n_s8 (arg0_int8_t);
}
-/* { dg-final { scan-assembler "vdup\.8\[ \]+\[dD\]\[0-9\]+, \[rR\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
+/* { dg-final { scan-assembler "vdup\.8\[ \]+\[dD\]\[0-9\]+, (\[rR\]\[0-9\]+|\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
/* { dg-final { cleanup-saved-temps } } */
diff --git a/gcc/testsuite/gcc.target/arm/neon/vmov_nu16.c b/gcc/testsuite/gcc.target/arm/neon/vmov_nu16.c
index a6053ebbe1b..e035c579a88 100644
--- a/gcc/testsuite/gcc.target/arm/neon/vmov_nu16.c
+++ b/gcc/testsuite/gcc.target/arm/neon/vmov_nu16.c
@@ -15,5 +15,5 @@ void test_vmov_nu16 (void)
out_uint16x4_t = vmov_n_u16 (arg0_uint16_t);
}
-/* { dg-final { scan-assembler "vdup\.16\[ \]+\[dD\]\[0-9\]+, \[rR\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
+/* { dg-final { scan-assembler "vdup\.16\[ \]+\[dD\]\[0-9\]+, (\[rR\]\[0-9\]+|\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
/* { dg-final { cleanup-saved-temps } } */
diff --git a/gcc/testsuite/gcc.target/arm/neon/vmov_nu32.c b/gcc/testsuite/gcc.target/arm/neon/vmov_nu32.c
index 9f0634eaf1b..3ceee794a1a 100644
--- a/gcc/testsuite/gcc.target/arm/neon/vmov_nu32.c
+++ b/gcc/testsuite/gcc.target/arm/neon/vmov_nu32.c
@@ -15,5 +15,5 @@ void test_vmov_nu32 (void)
out_uint32x2_t = vmov_n_u32 (arg0_uint32_t);
}
-/* { dg-final { scan-assembler "vdup\.32\[ \]+\[dD\]\[0-9\]+, \[rR\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
+/* { dg-final { scan-assembler "vdup\.32\[ \]+\[dD\]\[0-9\]+, (\[rR\]\[0-9\]+|\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
/* { dg-final { cleanup-saved-temps } } */
diff --git a/gcc/testsuite/gcc.target/arm/neon/vmov_nu8.c b/gcc/testsuite/gcc.target/arm/neon/vmov_nu8.c
index 62f9d4ad2b9..c5328d2236b 100644
--- a/gcc/testsuite/gcc.target/arm/neon/vmov_nu8.c
+++ b/gcc/testsuite/gcc.target/arm/neon/vmov_nu8.c
@@ -15,5 +15,5 @@ void test_vmov_nu8 (void)
out_uint8x8_t = vmov_n_u8 (arg0_uint8_t);
}
-/* { dg-final { scan-assembler "vdup\.8\[ \]+\[dD\]\[0-9\]+, \[rR\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
+/* { dg-final { scan-assembler "vdup\.8\[ \]+\[dD\]\[0-9\]+, (\[rR\]\[0-9\]+|\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
/* { dg-final { cleanup-saved-temps } } */
diff --git a/gcc/testsuite/gfortran.dg/lto/lto.exp b/gcc/testsuite/gfortran.dg/lto/lto.exp
index a3707ddbd6b..e211426db2d 100644
--- a/gcc/testsuite/gfortran.dg/lto/lto.exp
+++ b/gcc/testsuite/gfortran.dg/lto/lto.exp
@@ -34,8 +34,7 @@ load_lib gfortran-dg.exp
# Load the language-independent compabibility support procedures.
load_lib lto.exp
-lto_init
-
+lto_init no-mathlib
# Define an identifier for use with this suite to avoid name conflicts
# with other lto tests running at the same time.
@@ -55,3 +54,5 @@ foreach src [lsort [glob -nocomplain $srcdir/$subdir/*_0.\[fF\]{,90,95,03,08} ]]
lto-execute $src $sid
}
+
+lto_finish
diff --git a/gcc/testsuite/lib/lto.exp b/gcc/testsuite/lib/lto.exp
index cccd64220bc..c3ff61aa2ce 100644
--- a/gcc/testsuite/lib/lto.exp
+++ b/gcc/testsuite/lib/lto.exp
@@ -17,11 +17,22 @@
# Contributed by Diego Novillo <dnovillo@google.com>
-# lto_init -- called at the start of eac subdir of tests
+# lto_init -- called at the start of each subdir of tests
proc lto_init { args } {
global LTO_OPTIONS
+ if {[info exists args] && $args == "no-mathlib"} {
+ global board_info
+ global saved_mathlib
+
+ set dest [target_info name]
+ if [board_info $dest exists mathlib] {
+ set saved_mathlib [board_info $dest mathlib]
+ }
+ set board_info($dest,mathlib) " "
+ }
+
# Each test is run with the compiler options from this list.
# The default option lists can be overridden by LTO_OPTIONS="[list
# {opts_1} {opts_2}... {opts_n}]" where opts_i are lists of options.
@@ -37,6 +48,22 @@ proc lto_init { args } {
}
}
+#
+# lto_finish -- called at the end of each subdir of tests if mathlib is
+# changed.
+#
+
+proc lto_finish { } {
+ global board_info
+ global saved_mathlib
+
+ set dest [target_info name]
+ if [info exists saved_mathlib] {
+ set board_info($dest,mathlib) $saved_mathlib
+ } elseif [board_info $dest exists mathlib] {
+ unset board_info($dest,mathlib)
+ }
+}
# Subsets of tests can be selectively disabled by members of this list:
# - ATTRIBUTE: disable all tests using the __attribute__ extension,
diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp
index 8d89ed830fd..4b8d6f312ff 100644
--- a/gcc/testsuite/lib/target-supports.exp
+++ b/gcc/testsuite/lib/target-supports.exp
@@ -496,7 +496,8 @@ proc check_profiling_available { test_what } {
|| [istarget crisv32-*-*]
|| [istarget fido-*-elf]
|| [istarget h8300-*-*]
- || [istarget m32c-*-elf]
+ || [istarget lm32-*-*]
+ || [istarget m32c-*-elf]
|| [istarget m68k-*-elf]
|| [istarget m68k-*-uclinux*]
|| [istarget mep-*-elf]