summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKoen Kooi <koen@dominion.thruhere.net>2010-11-02 22:03:58 +0100
committerKoen Kooi <koen@dominion.thruhere.net>2010-11-02 22:12:02 +0100
commitbe10a6b1321f250b1034c7d9d0a8ef18b296eef1 (patch)
tree9249025cbfbfbee4cc430d62b27f75301dd4dfde
parent93b28937ac67ba46d65f55637e42552e224aa7e2 (diff)
downloadmeta-openembedded-be10a6b1321f250b1034c7d9d0a8ef18b296eef1.tar.gz
angstrom-layers: meta-openembedded: replace poky gcc 4.5 sources with OE ones
This needs further investigation, but for now we can get the tested sources into the poky gcc harness Signed-off-by: Koen Kooi <k-kooi@ti.com>
-rw-r--r--recipes-devtools/gcc/files/canadian-build-modules-configure.patch22
-rw-r--r--recipes-devtools/gcc/files/gcc-4.3.3-fix-EXTRA_BUILD.patch12
-rw-r--r--recipes-devtools/gcc/files/gcc-4.3.x-fix-EXTRA_BUILD.patch13
-rw-r--r--recipes-devtools/gcc/files/gcc-posix-open-fix.patch11
-rw-r--r--recipes-devtools/gcc/files/gcc4-mtune-compat.patch14
-rw-r--r--recipes-devtools/gcc/files/gfortran-4.3.x.patch40
-rw-r--r--recipes-devtools/gcc/files/gfortran.patch40
-rw-r--r--recipes-devtools/gcc/files/pr22133-mingw-path-fixup.patch29
-rw-r--r--recipes-devtools/gcc/files/pr33281-mingw-host-fragment.patch38
-rw-r--r--recipes-devtools/gcc/files/pr35916-mingw-__USE_MINGW_ACCESS-everywhere.patch13
-rw-r--r--recipes-devtools/gcc/gcc-4.5.inc167
-rw-r--r--recipes-devtools/gcc/gcc-4.5/100-uclibc-conf.patch37
-rw-r--r--recipes-devtools/gcc/gcc-4.5/103-uclibc-conf-noupstream.patch15
-rw-r--r--recipes-devtools/gcc/gcc-4.5/200-uclibc-locale.patch2840
-rw-r--r--recipes-devtools/gcc/gcc-4.5/203-uclibc-locale-no__x.patch233
-rw-r--r--recipes-devtools/gcc/gcc-4.5/204-uclibc-locale-wchar_fix.patch48
-rw-r--r--recipes-devtools/gcc/gcc-4.5/205-uclibc-locale-update.patch519
-rw-r--r--recipes-devtools/gcc/gcc-4.5/301-missing-execinfo_h.patch13
-rw-r--r--recipes-devtools/gcc/gcc-4.5/302-c99-snprintf.patch13
-rw-r--r--recipes-devtools/gcc/gcc-4.5/303-c99-complex-ugly-hack.patch14
-rw-r--r--recipes-devtools/gcc/gcc-4.5/304-index_macro.patch28
-rw-r--r--recipes-devtools/gcc/gcc-4.5/305-libmudflap-susv3-legacy.patch49
-rw-r--r--recipes-devtools/gcc/gcc-4.5/306-libstdc++-namespace.patch38
-rw-r--r--recipes-devtools/gcc/gcc-4.5/307-locale_facets.patch19
-rw-r--r--recipes-devtools/gcc/gcc-4.5/602-sdk-libstdc++-includes.patch20
-rw-r--r--recipes-devtools/gcc/gcc-4.5/64bithack.patch33
-rw-r--r--recipes-devtools/gcc/gcc-4.5/740-sh-pr24836.patch29
-rw-r--r--recipes-devtools/gcc/gcc-4.5/800-arm-bigendian.patch34
-rw-r--r--recipes-devtools/gcc/gcc-4.5/904-flatten-switch-stmt-00.patch74
-rw-r--r--recipes-devtools/gcc/gcc-4.5/Makefile.in.patch30
-rw-r--r--recipes-devtools/gcc/gcc-4.5/arm-bswapsi2.patch13
-rw-r--r--recipes-devtools/gcc/gcc-4.5/arm-nolibfloat.patch24
-rw-r--r--recipes-devtools/gcc/gcc-4.5/arm-softfloat.patch16
-rw-r--r--recipes-devtools/gcc/gcc-4.5/arm-unbreak-eabi-armv4t.dpatch36
-rw-r--r--recipes-devtools/gcc/gcc-4.5/cache-amnesia.patch31
-rw-r--r--recipes-devtools/gcc/gcc-4.5/disable_relax_pic_calls_flag.patch44
-rw-r--r--recipes-devtools/gcc/gcc-4.5/fedora/gcc43-c++-builtin-redecl.patch114
-rw-r--r--recipes-devtools/gcc/gcc-4.5/fedora/gcc43-cpp-pragma.patch284
-rw-r--r--recipes-devtools/gcc/gcc-4.5/fedora/gcc43-i386-libgomp.patch65
-rw-r--r--recipes-devtools/gcc/gcc-4.5/fedora/gcc43-ia64-libunwind.patch550
-rw-r--r--recipes-devtools/gcc/gcc-4.5/fedora/gcc43-java-debug-iface-type.patch19
-rw-r--r--recipes-devtools/gcc/gcc-4.5/fedora/gcc43-java-nomulti.patch48
-rw-r--r--recipes-devtools/gcc/gcc-4.5/fedora/gcc43-libgomp-speedup.patch2797
-rw-r--r--recipes-devtools/gcc/gcc-4.5/fedora/gcc43-ppc32-retaddr.patch90
-rw-r--r--recipes-devtools/gcc/gcc-4.5/fedora/gcc43-pr27898.patch16
-rw-r--r--recipes-devtools/gcc/gcc-4.5/fedora/gcc43-pr32139.patch19
-rw-r--r--recipes-devtools/gcc/gcc-4.5/fedora/gcc43-pr33763.patch159
-rw-r--r--recipes-devtools/gcc/gcc-4.5/fedora/gcc43-rh251682.patch89
-rw-r--r--recipes-devtools/gcc/gcc-4.5/fedora/gcc43-rh330771.patch31
-rw-r--r--recipes-devtools/gcc/gcc-4.5/fedora/gcc43-rh341221.patch32
-rw-r--r--recipes-devtools/gcc/gcc-4.5/fortran-cross-compile-hack.patch30
-rw-r--r--recipes-devtools/gcc/gcc-4.5/gcc-4.0.2-e300c2c3.patch319
-rw-r--r--recipes-devtools/gcc/gcc-4.5/gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch31
-rw-r--r--recipes-devtools/gcc/gcc-4.5/gcc-4.3.3-SYSROOT_CFLAGS_FOR_TARGET.patch114
-rw-r--r--recipes-devtools/gcc/gcc-4.5/gcc-4.5.0_to_svn_162697.patch.bz2bin0 -> 6957305 bytes
-rw-r--r--recipes-devtools/gcc/gcc-4.5/gcc-arm-frename-registers.patch25
-rw-r--r--recipes-devtools/gcc/gcc-4.5/gcc-flags-for-build.patch178
-rw-r--r--recipes-devtools/gcc/gcc-4.5/gcc-ice-hack.dpatch331
-rw-r--r--recipes-devtools/gcc/gcc-4.5/gcc-linaro-fix-lp-653316.patch130
-rw-r--r--recipes-devtools/gcc/gcc-4.5/gcc-poison-dir-extend.patch24
-rw-r--r--recipes-devtools/gcc/gcc-4.5/gcc-poison-parameters.patch83
-rw-r--r--recipes-devtools/gcc/gcc-4.5/gcc-poison-system-directories.patch201
-rw-r--r--recipes-devtools/gcc/gcc-4.5/gcc-pr43698-arm-rev-instr.patch117
-rw-r--r--recipes-devtools/gcc/gcc-4.5/gcc-scalar-widening-pr45847.patch63
-rw-r--r--recipes-devtools/gcc/gcc-4.5/gcc-uclibc-locale-ctype_touplow_t.patch67
-rw-r--r--recipes-devtools/gcc/gcc-4.5/gcc-vmovl-PR45805.patch27
-rw-r--r--recipes-devtools/gcc/gcc-4.5/gcc_revert_base_version_to_4.5.0.patch9
-rw-r--r--recipes-devtools/gcc/gcc-4.5/libstdc++-emit-__cxa_end_cleanup-in-text.patch40
-rw-r--r--recipes-devtools/gcc/gcc-4.5/libstdc++-pic.dpatch71
-rw-r--r--recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99297.patch207
-rw-r--r--recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99298.patch26644
-rw-r--r--recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99299.patch62
-rw-r--r--recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99300.patch3094
-rw-r--r--recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99301.patch675
-rw-r--r--recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99302.patch244
-rw-r--r--recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99303.patch131
-rw-r--r--recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99304.patch81
-rw-r--r--recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99305.patch52
-rw-r--r--recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99306.patch1401
-rw-r--r--recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99307.patch138
-rw-r--r--recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99308.patch112
-rw-r--r--recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99310.patch36
-rw-r--r--recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99312.patch714
-rw-r--r--recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99313.patch37
-rw-r--r--recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99314.patch433
-rw-r--r--recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99315.patch57
-rw-r--r--recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99316.patch76
-rw-r--r--recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99318.patch118
-rw-r--r--recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99319.patch197
-rw-r--r--recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99320.patch138
-rw-r--r--recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99321.patch28
-rw-r--r--recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99322.patch53
-rw-r--r--recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99323.patch688
-rw-r--r--recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99324.patch109
-rw-r--r--recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99325.patch174
-rw-r--r--recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99326.patch86
-rw-r--r--recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99327.patch132
-rw-r--r--recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99332.patch68
-rw-r--r--recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99335.patch138
-rw-r--r--recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99336.patch95
-rw-r--r--recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99337.patch36
-rw-r--r--recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99338.patch111
-rw-r--r--recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99339.patch236
-rw-r--r--recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99340.patch43
-rw-r--r--recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99341.patch28
-rw-r--r--recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99342.patch76
-rw-r--r--recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99343.patch132
-rw-r--r--recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99344.patch30
-rw-r--r--recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99345.patch30
-rw-r--r--recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99346.patch170
-rw-r--r--recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99347.patch83
-rw-r--r--recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99348.patch37
-rw-r--r--recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99349.patch401
-rw-r--r--recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99350.patch184
-rw-r--r--recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99351.patch552
-rw-r--r--recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99352.patch121
-rw-r--r--recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99353.patch298
-rw-r--r--recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99354.patch384
-rw-r--r--recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99355.patch181
-rw-r--r--recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99356.patch376
-rw-r--r--recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99357.patch27
-rw-r--r--recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99358.patch38
-rw-r--r--recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99359.patch27
-rw-r--r--recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99360.patch1759
-rw-r--r--recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99361.patch17586
-rw-r--r--recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99363.patch95
-rw-r--r--recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99364.patch511
-rw-r--r--recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99365.patch38
-rw-r--r--recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99366.patch26
-rw-r--r--recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99367.patch49
-rw-r--r--recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99368.patch342
-rw-r--r--recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99369.patch53
-rw-r--r--recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99371.patch663
-rw-r--r--recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99372.patch380
-rw-r--r--recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99373.patch360
-rw-r--r--recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99374.patch72
-rw-r--r--recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99375.patch146
-rw-r--r--recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99376.patch35
-rw-r--r--recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99377.patch28
-rw-r--r--recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99378.patch159
-rw-r--r--recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99379.patch2011
-rw-r--r--recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99380.patch2997
-rw-r--r--recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99381.patch512
-rw-r--r--recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99383.patch369
-rw-r--r--recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99384.patch1202
-rw-r--r--recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99385.patch151
-rw-r--r--recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99388.patch191
-rw-r--r--recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99391.patch43
-rw-r--r--recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99392.patch33
-rw-r--r--recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99393.patch45
-rw-r--r--recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99395.patch26
-rw-r--r--recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99396.patch1760
-rw-r--r--recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99397.patch3565
-rw-r--r--recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99398.patch76
-rw-r--r--recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99402.patch1268
-rw-r--r--recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99403.patch176
-rw-r--r--recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99404.patch386
-rw-r--r--recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99405.patch36
-rw-r--r--recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99406.patch20
-rw-r--r--recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99407.patch33
-rw-r--r--recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99408.patch603
-rw-r--r--recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99409.patch18
-rw-r--r--recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99410.patch32
-rw-r--r--recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99411.patch21
-rw-r--r--recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99412.patch316
-rw-r--r--recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99413.patch26
-rw-r--r--recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99414.patch36
-rw-r--r--recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99415.patch46
-rw-r--r--recipes-devtools/gcc/gcc-4.5/mips64-nomultilib.patch52
-rw-r--r--recipes-devtools/gcc/gcc-4.5/optional_libstdc.patch23
-rw-r--r--recipes-devtools/gcc/gcc-4.5/pr30961.dpatch179
-rw-r--r--recipes-devtools/gcc/gcc-4.5/pr35942.patch38
-rw-r--r--recipes-devtools/gcc/gcc-4.5/zecke-no-host-includes.patch31
-rw-r--r--recipes-devtools/gcc/gcc-4.5/zecke-xgcc-cpp.patch28
-rw-r--r--recipes-devtools/gcc/gcc-common.inc46
-rw-r--r--recipes-devtools/gcc/gcc-configure-common.inc112
-rw-r--r--recipes-devtools/gcc/gcc-configure-cross.inc24
-rw-r--r--recipes-devtools/gcc/gcc-configure-runtime.inc59
-rw-r--r--recipes-devtools/gcc/gcc-configure-sdk.inc48
-rw-r--r--recipes-devtools/gcc/gcc-configure-target.inc5
-rw-r--r--recipes-devtools/gcc/gcc-cross-canadian.inc4
-rw-r--r--recipes-devtools/gcc/gcc-cross-canadian_4.5.bb25
-rw-r--r--recipes-devtools/gcc/gcc-cross-initial.inc24
-rw-r--r--recipes-devtools/gcc/gcc-cross-initial_4.5.bb5
-rw-r--r--recipes-devtools/gcc/gcc-cross-intermediate.inc28
-rw-r--r--recipes-devtools/gcc/gcc-cross-intermediate_4.5.bb4
-rw-r--r--recipes-devtools/gcc/gcc-cross-kernel.inc10
-rw-r--r--recipes-devtools/gcc/gcc-cross.inc12
-rw-r--r--recipes-devtools/gcc/gcc-cross4.inc1
-rw-r--r--recipes-devtools/gcc/gcc-cross_4.5.bb10
-rw-r--r--recipes-devtools/gcc/gcc-crosssdk-initial.inc8
-rw-r--r--recipes-devtools/gcc/gcc-crosssdk-initial_4.5.bb4
-rw-r--r--recipes-devtools/gcc/gcc-crosssdk-intermediate.inc9
-rw-r--r--recipes-devtools/gcc/gcc-crosssdk-intermediate_4.5.bb4
-rw-r--r--recipes-devtools/gcc/gcc-crosssdk.inc16
-rw-r--r--recipes-devtools/gcc/gcc-crosssdk_4.5.bb4
-rw-r--r--recipes-devtools/gcc/gcc-package-cross.inc47
-rw-r--r--recipes-devtools/gcc/gcc-package-runtime.inc58
-rw-r--r--recipes-devtools/gcc/gcc-package-sdk.inc52
-rw-r--r--recipes-devtools/gcc/gcc-package-target.inc99
-rw-r--r--recipes-devtools/gcc/gcc-runtime_4.5.bb11
-rw-r--r--recipes-devtools/gcc/gcc_4.5.bb10
202 files changed, 90031 insertions, 0 deletions
diff --git a/recipes-devtools/gcc/files/canadian-build-modules-configure.patch b/recipes-devtools/gcc/files/canadian-build-modules-configure.patch
new file mode 100644
index 0000000000..8aede105c5
--- /dev/null
+++ b/recipes-devtools/gcc/files/canadian-build-modules-configure.patch
@@ -0,0 +1,22 @@
1diff -urN gcc-4.2.2-orig/gcc/configure gcc-4.2.2/gcc/configure
2--- gcc-4.2.2-orig/gcc/configure 2008-08-31 23:10:56.000000000 +0200
3+++ gcc-4.2.2/gcc/configure 2008-08-31 23:03:02.000000000 +0200
4@@ -12716,6 +12716,7 @@
5 esac
6 saved_CFLAGS="${CFLAGS}"
7 CC="${CC_FOR_BUILD}" CFLAGS="${CFLAGS_FOR_BUILD}" \
8+ CPP="${CPP_FOR_BUILD}" CPPFLAGS="${CPPFLAGS_FOR_BUILD}" \
9 CONFIG_SITE= ${realsrcdir}/configure --cache-file=./other.cache \
10 --enable-languages=${enable_languages-all} \
11 --target=$target_alias --host=$build_alias --build=$build_alias
12diff -urN gcc-4.2.2-orig/gcc/configure.ac gcc-4.2.2/gcc/configure.ac
13--- gcc-4.2.2-orig/gcc/configure.ac 2008-08-31 23:10:53.000000000 +0200
14+++ gcc-4.2.2/gcc/configure.ac 2008-08-31 23:03:29.000000000 +0200
15@@ -1490,6 +1490,7 @@
16 esac
17 saved_CFLAGS="${CFLAGS}"
18 CC="${CC_FOR_BUILD}" CFLAGS="${CFLAGS_FOR_BUILD}" \
19+ CPP="${CPP_FOR_BUILD}" CPPFLAGS="${CPPFLAGS_FOR_BUILD}" \
20 ${realsrcdir}/configure \
21 --enable-languages=${enable_languages-all} \
22 --target=$target_alias --host=$build_alias --build=$build_alias
diff --git a/recipes-devtools/gcc/files/gcc-4.3.3-fix-EXTRA_BUILD.patch b/recipes-devtools/gcc/files/gcc-4.3.3-fix-EXTRA_BUILD.patch
new file mode 100644
index 0000000000..8a2a4c4040
--- /dev/null
+++ b/recipes-devtools/gcc/files/gcc-4.3.3-fix-EXTRA_BUILD.patch
@@ -0,0 +1,12 @@
1Index: gcc-4.3.3/Makefile.in
2===================================================================
3--- gcc-4.3.3.orig/Makefile.in 2010-06-16 18:04:38.379008150 +0400
4+++ gcc-4.3.3/Makefile.in 2010-06-16 18:05:29.115006261 +0400
5@@ -148,6 +148,7 @@
6 # built for the build system to override those in BASE_FLAGS_TO_PASSS.
7 EXTRA_BUILD_FLAGS = \
8 CFLAGS="$(CFLAGS_FOR_BUILD)" \
9+ LIBCFLAGS="$(CFLAGS_FOR_BUILD)" \
10 LDFLAGS="$(LDFLAGS_FOR_BUILD)"
11
12 # This is the list of directories to built for the host system.
diff --git a/recipes-devtools/gcc/files/gcc-4.3.x-fix-EXTRA_BUILD.patch b/recipes-devtools/gcc/files/gcc-4.3.x-fix-EXTRA_BUILD.patch
new file mode 100644
index 0000000000..b3753364f8
--- /dev/null
+++ b/recipes-devtools/gcc/files/gcc-4.3.x-fix-EXTRA_BUILD.patch
@@ -0,0 +1,13 @@
1Index: gcc-4.3.1/Makefile.in
2===================================================================
3--- gcc-4.3.1.orig/Makefile.in 2010-07-07 13:08:44.000000000 +0200
4+++ gcc-4.3.1/Makefile.in 2010-07-07 13:11:59.246625709 +0200
5@@ -149,7 +149,7 @@
6 EXTRA_BUILD_FLAGS = \
7 CFLAGS="$(CFLAGS_FOR_BUILD)" \
8 LDFLAGS="$(LDFLAGS_FOR_BUILD)" \
9- LIBCFLAGS=""
10+ LIBCFLAGS="$(CFLAGS_FOR_BUILD)"
11
12 # This is the list of directories to built for the host system.
13 SUBDIRS = @configdirs@
diff --git a/recipes-devtools/gcc/files/gcc-posix-open-fix.patch b/recipes-devtools/gcc/files/gcc-posix-open-fix.patch
new file mode 100644
index 0000000000..99f813e866
--- /dev/null
+++ b/recipes-devtools/gcc/files/gcc-posix-open-fix.patch
@@ -0,0 +1,11 @@
1--- gcc-3.4.6/gcc/collect2.c 2008-10-04 18:17:17.796750393 +0400
2+++ gcc-3.4.6/gcc/collect2.new 2008-10-04 18:24:10.120748711 +0400
3@@ -1534,7 +1534,7 @@ collect_execute (const char *prog, char
4 if (redir)
5 {
6 /* Open response file. */
7- redir_handle = open (redir, O_WRONLY | O_TRUNC | O_CREAT);
8+ redir_handle = open (redir, O_WRONLY | O_TRUNC | O_CREAT, S_IWUSR);
9
10 /* Duplicate the stdout and stderr file handles
11 so they can be restored later. */
diff --git a/recipes-devtools/gcc/files/gcc4-mtune-compat.patch b/recipes-devtools/gcc/files/gcc4-mtune-compat.patch
new file mode 100644
index 0000000000..0da2811d37
--- /dev/null
+++ b/recipes-devtools/gcc/files/gcc4-mtune-compat.patch
@@ -0,0 +1,14 @@
1Patch for gcc3 to support gcc4-compatible (and consistent) values for -mtune= option.
2
3--- gcc-3.4.4/gcc/config/arm/arm.c.org 2007-12-15 23:58:35.000000000 +0200
4+++ gcc-3.4.4/gcc/config/arm/arm.c 2007-12-16 00:20:39.000000000 +0200
5@@ -432,7 +432,9 @@
6 {"arm10tdmi", FL_MODE32 | FL_FAST_MULT | FL_ARCH4 | FL_THUMB | FL_LDSCHED | FL_ARCH5 },
7 {"arm1020t", FL_MODE32 | FL_FAST_MULT | FL_ARCH4 | FL_THUMB | FL_LDSCHED | FL_ARCH5 },
8 {"arm926ejs", FL_MODE32 | FL_FAST_MULT | FL_ARCH4 | FL_THUMB | FL_ARCH5 | FL_ARCH5E },
9+ {"arm926ej-s", FL_MODE32 | FL_FAST_MULT | FL_ARCH4 | FL_THUMB | FL_ARCH5 | FL_ARCH5E },
10 {"arm1026ejs", FL_MODE32 | FL_FAST_MULT | FL_ARCH4 | FL_THUMB | FL_ARCH5 | FL_ARCH5E },
11+ {"arm1026ej-s", FL_MODE32 | FL_FAST_MULT | FL_ARCH4 | FL_THUMB | FL_ARCH5 | FL_ARCH5E },
12 {"xscale", FL_MODE32 | FL_FAST_MULT | FL_ARCH4 | FL_THUMB | FL_LDSCHED | FL_STRONG | FL_ARCH5 | FL_ARCH5E | FL_XSCALE },
13 {"iwmmxt", FL_MODE32 | FL_FAST_MULT | FL_ARCH4 | FL_THUMB | FL_LDSCHED | FL_STRONG | FL_ARCH5 | FL_ARCH5E | FL_XSCALE | FL_IWMMXT },
14 /* V6 Architecture Processors */
diff --git a/recipes-devtools/gcc/files/gfortran-4.3.x.patch b/recipes-devtools/gcc/files/gfortran-4.3.x.patch
new file mode 100644
index 0000000000..0c42851ce1
--- /dev/null
+++ b/recipes-devtools/gcc/files/gfortran-4.3.x.patch
@@ -0,0 +1,40 @@
1The patch below fixes a crash building libgfortran on arm-linux-gnueabi.
2
3This target doesn't really have a 128-bit integer type, however it does use
4TImode to represent the return value of certain special ABI defined library
5functions. This results in type_for_size(TImode) being called.
6
7Because TImode deosn't correspond to any gfortran integer kind
8gfc_type_for_size returns NULL and we segfault shortly after.
9
10The patch below fixes this by making gfc_type_for_size handle TImode in the
11same way as the C frontend.
12
13Tested on x86_64-linux and arm-linux-gnueabi.
14Applied to trunk.
15
16Paul
17
182007-05-15 Paul Brook <paul@codesourcery.com>
19
20 gcc/fortran/
21 * trans-types.c (gfc_type_for_size): Handle signed TImode.
22
23Index: gcc-4.2.1/gcc/fortran/trans-types.c
24===================================================================
25--- gcc-4.2.1/gcc/fortran/trans-types.c (revision 170435)
26+++ gcc-4.2.1/gcc/fortran/trans-types.c (working copy)
27@@ -1800,6 +1800,13 @@ gfc_type_for_size (unsigned bits, int un
28 if (type && bits == TYPE_PRECISION (type))
29 return type;
30 }
31+
32+ /* Handle TImode as a special case because it is used by some backends
33+ (eg. ARM) even though it is not available for normal use. */
34+#if HOST_BITS_PER_WIDE_INT >= 65
35+ if (bits == TYPE_PRECISION (intTI_type_node))
36+ return intTI_type_node;
37+#endif
38 }
39 else
40 {
diff --git a/recipes-devtools/gcc/files/gfortran.patch b/recipes-devtools/gcc/files/gfortran.patch
new file mode 100644
index 0000000000..96905e5d7d
--- /dev/null
+++ b/recipes-devtools/gcc/files/gfortran.patch
@@ -0,0 +1,40 @@
1The patch below fixes a crash building libgfortran on arm-linux-gnueabi.
2
3This target doesn't really have a 128-bit integer type, however it does use
4TImode to represent the return value of certain special ABI defined library
5functions. This results in type_for_size(TImode) being called.
6
7Because TImode deosn't correspond to any gfortran integer kind
8gfc_type_for_size returns NULL and we segfault shortly after.
9
10The patch below fixes this by making gfc_type_for_size handle TImode in the
11same way as the C frontend.
12
13Tested on x86_64-linux and arm-linux-gnueabi.
14Applied to trunk.
15
16Paul
17
182007-05-15 Paul Brook <paul@codesourcery.com>
19
20 gcc/fortran/
21 * trans-types.c (gfc_type_for_size): Handle signed TImode.
22
23Index: gcc-4.2.1/gcc/fortran/trans-types.c
24===================================================================
25--- gcc-4.2.1/gcc/fortran/trans-types.c (revision 170435)
26+++ gcc-4.2.1/gcc/fortran/trans-types.c (working copy)
27@@ -1800,6 +1800,13 @@ gfc_type_for_size (unsigned bits, int un
28 if (type && bits == TYPE_PRECISION (type))
29 return type;
30 }
31+
32+ /* Handle TImode as a special case because it is used by some backends
33+ (eg. ARM) even though it is not available for normal use. */
34+#if HOST_BITS_PER_WIDE_INT >= 64
35+ if (bits == TYPE_PRECISION (intTI_type_node))
36+ return intTI_type_node;
37+#endif
38 }
39 else
40 {
diff --git a/recipes-devtools/gcc/files/pr22133-mingw-path-fixup.patch b/recipes-devtools/gcc/files/pr22133-mingw-path-fixup.patch
new file mode 100644
index 0000000000..429e9ffd0c
--- /dev/null
+++ b/recipes-devtools/gcc/files/pr22133-mingw-path-fixup.patch
@@ -0,0 +1,29 @@
1diff -rupN gcc-4.2.orig/gcc/c-incpath.c gcc-4.2/gcc/c-incpath.c
2--- gcc-4.2.orig/gcc/c-incpath.c 2007-09-01 11:28:30.000000000 -0400
3+++ gcc-4.2/gcc/c-incpath.c 2008-08-17 16:56:01.000000000 -0400
4@@ -340,13 +340,18 @@ add_path (char *path, int chain, int cxx
5 cpp_dir *p;
6
7 #if defined (HAVE_DOS_BASED_FILE_SYSTEM)
8- /* Convert all backslashes to slashes. The native CRT stat()
9- function does not recognize a directory that ends in a backslash
10- (unless it is a drive root dir, such "c:\"). Forward slashes,
11- trailing or otherwise, cause no problems for stat(). */
12- char* c;
13- for (c = path; *c; c++)
14- if (*c == '\\') *c = '/';
15+ /* Remove unnecessary trailing slashes. On some versions of MS
16+ Windows, trailing _forward_ slashes cause no problems for stat().
17+ On newer versions, stat() does not recognise a directory that ends
18+ in a '\\' or '/', unless it is a drive root dir, such as "c:/",
19+ where it is obligatory. */
20+ int pathlen = strlen (path);
21+ char* end = path + pathlen - 1;
22+ /* Preserve the lead '/' or lead "c:/". */
23+ char* start = path + (pathlen > 2 && path[1] == ':' ? 3 : 1);
24+
25+ for (; end > start && IS_DIR_SEPARATOR (*end); end--)
26+ *end = 0;
27 #endif
28
29 p = XNEW (cpp_dir);
diff --git a/recipes-devtools/gcc/files/pr33281-mingw-host-fragment.patch b/recipes-devtools/gcc/files/pr33281-mingw-host-fragment.patch
new file mode 100644
index 0000000000..e16fb4464a
--- /dev/null
+++ b/recipes-devtools/gcc/files/pr33281-mingw-host-fragment.patch
@@ -0,0 +1,38 @@
1---
2 config/mh-mingw | 3 +++
3 configure | 1 +
4 configure.in | 1 +
5 3 files changed, 5 insertions(+)
6
7Index: gcc-4.2.3/config/mh-mingw
8===================================================================
9--- /dev/null
10+++ gcc-4.2.3/config/mh-mingw
11@@ -0,0 +1,3 @@
12+# Add -D__USE_MINGW_ACCESS to enable the built compiler to work on Windows
13+# Vista (see PR33281 for details).
14+BOOT_CFLAGS += -D__USE_MINGW_ACCESS
15Index: gcc-4.2.3/configure.in
16===================================================================
17--- gcc-4.2.3.orig/configure.in
18+++ gcc-4.2.3/configure.in
19@@ -929,6 +929,7 @@ case "${host}" in
20 host_makefile_frag="config/mh-cygwin"
21 ;;
22 *-mingw32*)
23+ host_makefile_frag="config/mh-mingw"
24 ;;
25 *-interix*)
26 host_makefile_frag="config/mh-interix"
27Index: gcc-4.2.3/configure
28===================================================================
29--- gcc-4.2.3.orig/configure
30+++ gcc-4.2.3/configure
31@@ -1769,6 +1769,7 @@ case "${host}" in
32 host_makefile_frag="config/mh-cygwin"
33 ;;
34 *-mingw32*)
35+ host_makefile_frag="config/mh-mingw"
36 ;;
37 *-interix*)
38 host_makefile_frag="config/mh-interix"
diff --git a/recipes-devtools/gcc/files/pr35916-mingw-__USE_MINGW_ACCESS-everywhere.patch b/recipes-devtools/gcc/files/pr35916-mingw-__USE_MINGW_ACCESS-everywhere.patch
new file mode 100644
index 0000000000..faf44c27f9
--- /dev/null
+++ b/recipes-devtools/gcc/files/pr35916-mingw-__USE_MINGW_ACCESS-everywhere.patch
@@ -0,0 +1,13 @@
1---
2 config/mh-mingw | 1 +
3 1 file changed, 1 insertion(+)
4
5Index: gcc-4.2.3/config/mh-mingw
6===================================================================
7--- gcc-4.2.3.orig/config/mh-mingw
8+++ gcc-4.2.3/config/mh-mingw
9@@ -1,3 +1,4 @@
10 # Add -D__USE_MINGW_ACCESS to enable the built compiler to work on Windows
11 # Vista (see PR33281 for details).
12 BOOT_CFLAGS += -D__USE_MINGW_ACCESS
13+CFLAGS += -D__USE_MINGW_ACCESS
diff --git a/recipes-devtools/gcc/gcc-4.5.inc b/recipes-devtools/gcc/gcc-4.5.inc
new file mode 100644
index 0000000000..dc45cdaddd
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5.inc
@@ -0,0 +1,167 @@
1require gcc-common.inc
2LICENSE = "GPLv3"
3
4DEPENDS =+ "mpfr gmp libmpc elfutils"
5NATIVEDEPS = "mpfr-native gmp-native gettext-native libmpc-native elfutils-native"
6
7SRCREV = "165931"
8PV = "4.5"
9# BINV should be incremented after updating to a revision
10# after a minor gcc release (e.g. 4.5.1 or 4.5.2) has been made
11# the value will be minor-release+1 e.g. if minor release was
12# 4.5.1 then the value below will be 2 which will mean 4.5.2
13# which will be next minor release and so on.
14
15BINV = "${PV}.2"
16BRANCH = "gcc-4_5-branch"
17PR_append = "+svnr${SRCPV}"
18
19SRC_URI = "svn://gcc.gnu.org/svn/gcc/branches;module=${BRANCH} \
20 file://gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch \
21 file://100-uclibc-conf.patch \
22 file://gcc-uclibc-locale-ctype_touplow_t.patch \
23 file://cache-amnesia.patch \
24 file://gcc-flags-for-build.patch \
25 file://libstdc++-emit-__cxa_end_cleanup-in-text.patch \
26 file://arm-bswapsi2.patch \
27 file://Makefile.in.patch \
28 file://linaro/gcc-4.5-linaro-r99297.patch \
29 file://linaro/gcc-4.5-linaro-r99298.patch \
30 file://linaro/gcc-4.5-linaro-r99299.patch \
31 file://linaro/gcc-4.5-linaro-r99300.patch \
32 file://linaro/gcc-4.5-linaro-r99301.patch \
33 file://linaro/gcc-4.5-linaro-r99302.patch \
34 file://linaro/gcc-4.5-linaro-r99303.patch \
35 file://linaro/gcc-4.5-linaro-r99304.patch \
36 file://linaro/gcc-4.5-linaro-r99305.patch \
37 file://linaro/gcc-4.5-linaro-r99306.patch \
38 file://linaro/gcc-4.5-linaro-r99307.patch \
39 file://linaro/gcc-4.5-linaro-r99308.patch \
40 file://linaro/gcc-4.5-linaro-r99310.patch \
41 file://linaro/gcc-4.5-linaro-r99312.patch \
42 file://linaro/gcc-4.5-linaro-r99313.patch \
43 file://linaro/gcc-4.5-linaro-r99314.patch \
44 file://linaro/gcc-4.5-linaro-r99315.patch \
45 file://linaro/gcc-4.5-linaro-r99316.patch \
46 file://linaro/gcc-4.5-linaro-r99318.patch \
47 file://linaro/gcc-4.5-linaro-r99319.patch \
48 file://linaro/gcc-4.5-linaro-r99320.patch \
49 file://linaro/gcc-4.5-linaro-r99321.patch \
50 file://linaro/gcc-4.5-linaro-r99322.patch \
51 file://linaro/gcc-4.5-linaro-r99323.patch \
52 file://linaro/gcc-4.5-linaro-r99324.patch \
53 file://linaro/gcc-4.5-linaro-r99325.patch \
54 file://linaro/gcc-4.5-linaro-r99326.patch \
55 file://linaro/gcc-4.5-linaro-r99327.patch \
56 file://linaro/gcc-4.5-linaro-r99332.patch \
57 file://linaro/gcc-4.5-linaro-r99335.patch \
58 file://linaro/gcc-4.5-linaro-r99336.patch \
59 file://linaro/gcc-4.5-linaro-r99337.patch \
60 file://linaro/gcc-4.5-linaro-r99338.patch \
61 file://linaro/gcc-4.5-linaro-r99339.patch \
62 file://linaro/gcc-4.5-linaro-r99340.patch \
63 file://linaro/gcc-4.5-linaro-r99341.patch \
64 file://linaro/gcc-4.5-linaro-r99342.patch \
65 file://linaro/gcc-4.5-linaro-r99343.patch \
66 file://linaro/gcc-4.5-linaro-r99344.patch \
67 file://linaro/gcc-4.5-linaro-r99345.patch \
68 file://linaro/gcc-4.5-linaro-r99346.patch \
69 file://linaro/gcc-4.5-linaro-r99347.patch \
70 file://linaro/gcc-4.5-linaro-r99348.patch \
71 file://linaro/gcc-4.5-linaro-r99349.patch \
72# file://linaro/gcc-4.5-linaro-r99350.patch \
73 file://linaro/gcc-4.5-linaro-r99351.patch \
74 file://linaro/gcc-4.5-linaro-r99352.patch \
75 file://linaro/gcc-4.5-linaro-r99353.patch \
76 file://linaro/gcc-4.5-linaro-r99354.patch \
77 file://linaro/gcc-4.5-linaro-r99355.patch \
78 file://linaro/gcc-4.5-linaro-r99356.patch \
79 file://linaro/gcc-4.5-linaro-r99357.patch \
80 file://linaro/gcc-4.5-linaro-r99358.patch \
81 file://linaro/gcc-4.5-linaro-r99359.patch \
82 file://linaro/gcc-4.5-linaro-r99360.patch \
83 file://linaro/gcc-4.5-linaro-r99361.patch \
84 file://linaro/gcc-4.5-linaro-r99363.patch \
85 file://linaro/gcc-4.5-linaro-r99364.patch \
86 file://linaro/gcc-4.5-linaro-r99365.patch \
87 file://linaro/gcc-4.5-linaro-r99366.patch \
88 file://linaro/gcc-4.5-linaro-r99367.patch \
89 file://linaro/gcc-4.5-linaro-r99368.patch \
90 file://linaro/gcc-4.5-linaro-r99369.patch \
91 file://linaro/gcc-4.5-linaro-r99371.patch \
92 file://linaro/gcc-4.5-linaro-r99372.patch \
93 file://linaro/gcc-4.5-linaro-r99373.patch \
94 file://linaro/gcc-4.5-linaro-r99374.patch \
95 file://linaro/gcc-4.5-linaro-r99375.patch \
96 file://linaro/gcc-4.5-linaro-r99376.patch \
97 file://linaro/gcc-4.5-linaro-r99377.patch \
98 file://linaro/gcc-4.5-linaro-r99378.patch \
99 file://linaro/gcc-4.5-linaro-r99379.patch \
100 file://linaro/gcc-4.5-linaro-r99380.patch \
101 file://linaro/gcc-4.5-linaro-r99381.patch \
102 file://linaro/gcc-4.5-linaro-r99383.patch \
103 file://linaro/gcc-4.5-linaro-r99384.patch \
104 file://linaro/gcc-4.5-linaro-r99385.patch \
105 file://linaro/gcc-4.5-linaro-r99388.patch \
106 file://linaro/gcc-4.5-linaro-r99391.patch \
107 file://linaro/gcc-4.5-linaro-r99392.patch \
108 file://linaro/gcc-4.5-linaro-r99393.patch \
109 file://linaro/gcc-4.5-linaro-r99395.patch \
110 file://linaro/gcc-4.5-linaro-r99396.patch \
111 file://linaro/gcc-4.5-linaro-r99397.patch \
112 file://linaro/gcc-4.5-linaro-r99398.patch \
113 file://linaro/gcc-4.5-linaro-r99402.patch \
114 file://linaro/gcc-4.5-linaro-r99403.patch \
115 file://linaro/gcc-4.5-linaro-r99404.patch \
116 file://linaro/gcc-4.5-linaro-r99405.patch \
117 file://linaro/gcc-4.5-linaro-r99406.patch \
118 file://linaro/gcc-4.5-linaro-r99407.patch \
119 file://linaro/gcc-4.5-linaro-r99408.patch \
120 file://linaro/gcc-4.5-linaro-r99409.patch \
121 file://linaro/gcc-4.5-linaro-r99410.patch \
122 file://linaro/gcc-4.5-linaro-r99411.patch \
123 file://linaro/gcc-4.5-linaro-r99412.patch \
124 file://linaro/gcc-4.5-linaro-r99413.patch \
125 file://linaro/gcc-4.5-linaro-r99414.patch \
126 file://linaro/gcc-4.5-linaro-r99415.patch \
127 file://gcc-vmovl-PR45805.patch \
128 file://gcc-scalar-widening-pr45847.patch \
129 file://gcc-linaro-fix-lp-653316.patch \
130 "
131
132SRC_URI_append_sh3 = " file://sh3-installfix-fixheaders.patch;patch=1 "
133
134# Language Overrides
135FORTRAN = ""
136JAVA = ""
137
138rename_srcdir (){
139 mv ${WORKDIR}/${BRANCH} ${WORKDIR}/gcc-${PV}
140}
141
142do_unpack_append() {
143 bb.build.exec_func('rename_srcdir', d)
144}
145
146#EXTRA_OECONF_BASE = " --enable-cheaders=c_std \
147# --enable-libssp \
148# --disable-bootstrap \
149# --disable-libgomp \
150# --disable-libmudflap"
151EXTRA_OECONF_BASE = " --enable-lto \
152 --enable-libssp \
153 --disable-bootstrap \
154 --disable-libgomp \
155 --disable-libmudflap \
156 --enable-cheaders=c_global "
157
158EXTRA_OECONF_INITIAL = "--disable-libmudflap \
159 --disable-libgomp \
160 --disable-libssp \
161 --enable-decimal-float=no"
162
163EXTRA_OECONF_INTERMEDIATE = "--disable-libmudflap \
164 --disable-libgomp \
165 --disable-libssp"
166
167EXTRA_OECONF_append_libc-uclibc = " --disable-decimal-float "
diff --git a/recipes-devtools/gcc/gcc-4.5/100-uclibc-conf.patch b/recipes-devtools/gcc/gcc-4.5/100-uclibc-conf.patch
new file mode 100644
index 0000000000..0b799607e8
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/100-uclibc-conf.patch
@@ -0,0 +1,37 @@
1Index: gcc-4.3.1/contrib/regression/objs-gcc.sh
2===================================================================
3--- gcc-4.3.1.orig/contrib/regression/objs-gcc.sh 2007-12-24 15:18:57.000000000 -0800
4+++ gcc-4.3.1/contrib/regression/objs-gcc.sh 2008-08-16 01:15:12.000000000 -0700
5@@ -105,6 +105,10 @@
6 then
7 make all-gdb all-dejagnu all-ld || exit 1
8 make install-gdb install-dejagnu install-ld || exit 1
9+elif [ $H_REAL_TARGET = $H_REAL_HOST -a $H_REAL_TARGET = i686-pc-linux-uclibc ]
10+ then
11+ make all-gdb all-dejagnu all-ld || exit 1
12+ make install-gdb install-dejagnu install-ld || exit 1
13 elif [ $H_REAL_TARGET = $H_REAL_HOST ] ; then
14 make bootstrap || exit 1
15 make install || exit 1
16Index: gcc-4.3.1/libjava/classpath/ltconfig
17===================================================================
18--- gcc-4.3.1.orig/libjava/classpath/ltconfig 2007-06-03 16:18:43.000000000 -0700
19+++ gcc-4.3.1/libjava/classpath/ltconfig 2008-08-16 01:15:12.000000000 -0700
20@@ -603,7 +603,7 @@
21
22 # Transform linux* to *-*-linux-gnu*, to support old configure scripts.
23 case $host_os in
24-linux-gnu*) ;;
25+linux-gnu*|linux-uclibc*) ;;
26 linux*) host=`echo $host | sed 's/^\(.*-.*-linux\)\(.*\)$/\1-gnu\2/'`
27 esac
28
29@@ -1251,7 +1251,7 @@
30 ;;
31
32 # This must be Linux ELF.
33-linux-gnu*)
34+linux*)
35 version_type=linux
36 need_lib_prefix=no
37 need_version=no
diff --git a/recipes-devtools/gcc/gcc-4.5/103-uclibc-conf-noupstream.patch b/recipes-devtools/gcc/gcc-4.5/103-uclibc-conf-noupstream.patch
new file mode 100644
index 0000000000..f9d8ad9252
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/103-uclibc-conf-noupstream.patch
@@ -0,0 +1,15 @@
1Corrects sub machine arch corectly
2
3Index: gcc-4.5.0/gcc/config.gcc
4===================================================================
5--- gcc-4.5.0.orig/gcc/config.gcc 2010-06-25 10:17:43.809880847 -0700
6+++ gcc-4.5.0/gcc/config.gcc 2010-06-25 10:38:09.689882136 -0700
7@@ -2171,7 +2171,7 @@
8 ;;
9 sh-*-elf* | sh[12346l]*-*-elf* | \
10 sh-*-symbianelf* | sh[12346l]*-*-symbianelf* | \
11- sh-*-linux* | sh[2346lbe]*-*-linux* | \
12+ sh*-*-linux* | sh[2346lbe]*-*-linux* | \
13 sh-*-netbsdelf* | shl*-*-netbsdelf* | sh5-*-netbsd* | sh5l*-*-netbsd* | \
14 sh64-*-netbsd* | sh64l*-*-netbsd*)
15 tmake_file="${tmake_file} sh/t-sh sh/t-elf"
diff --git a/recipes-devtools/gcc/gcc-4.5/200-uclibc-locale.patch b/recipes-devtools/gcc/gcc-4.5/200-uclibc-locale.patch
new file mode 100644
index 0000000000..32de11fc74
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/200-uclibc-locale.patch
@@ -0,0 +1,2840 @@
1Index: gcc-4.5.0/libstdc++-v3/acinclude.m4
2===================================================================
3--- gcc-4.5.0.orig/libstdc++-v3/acinclude.m4 2010-04-05 18:27:44.000000000 -0700
4+++ gcc-4.5.0/libstdc++-v3/acinclude.m4 2010-06-25 10:42:34.913881064 -0700
5@@ -1703,7 +1703,7 @@
6 AC_DEFUN([GLIBCXX_ENABLE_CLOCALE], [
7 GLIBCXX_ENABLE(clocale,auto,[@<:@=MODEL@:>@],
8 [use MODEL for target locale package],
9- [permit generic|gnu|ieee_1003.1-2001|yes|no|auto])
10+ [permit generic|gnu|ieee_1003.1-2001|uclibc|yes|no|auto])
11
12 # Deal with gettext issues. Default to not using it (=no) until we detect
13 # support for it later. Let the user turn it off via --e/d, but let that
14@@ -1724,6 +1724,9 @@
15 # Default to "generic".
16 if test $enable_clocale_flag = auto; then
17 case ${target_os} in
18+ *-uclibc*)
19+ enable_clocale_flag=uclibc
20+ ;;
21 linux* | gnu* | kfreebsd*-gnu | knetbsd*-gnu)
22 enable_clocale_flag=gnu
23 ;;
24@@ -1895,6 +1898,40 @@
25 CTIME_CC=config/locale/generic/time_members.cc
26 CLOCALE_INTERNAL_H=config/locale/generic/c++locale_internal.h
27 ;;
28+ uclibc)
29+ AC_MSG_RESULT(uclibc)
30+
31+ # Declare intention to use gettext, and add support for specific
32+ # languages.
33+ # For some reason, ALL_LINGUAS has to be before AM-GNU-GETTEXT
34+ ALL_LINGUAS="de fr"
35+
36+ # Don't call AM-GNU-GETTEXT here. Instead, assume glibc.
37+ AC_CHECK_PROG(check_msgfmt, msgfmt, yes, no)
38+ if test x"$check_msgfmt" = x"yes" && test x"$enable_nls" = x"yes"; then
39+ USE_NLS=yes
40+ fi
41+ # Export the build objects.
42+ for ling in $ALL_LINGUAS; do \
43+ glibcxx_MOFILES="$glibcxx_MOFILES $ling.mo"; \
44+ glibcxx_POFILES="$glibcxx_POFILES $ling.po"; \
45+ done
46+ AC_SUBST(glibcxx_MOFILES)
47+ AC_SUBST(glibcxx_POFILES)
48+
49+ CLOCALE_H=config/locale/uclibc/c_locale.h
50+ CLOCALE_CC=config/locale/uclibc/c_locale.cc
51+ CCODECVT_CC=config/locale/uclibc/codecvt_members.cc
52+ CCOLLATE_CC=config/locale/uclibc/collate_members.cc
53+ CCTYPE_CC=config/locale/uclibc/ctype_members.cc
54+ CMESSAGES_H=config/locale/uclibc/messages_members.h
55+ CMESSAGES_CC=config/locale/uclibc/messages_members.cc
56+ CMONEY_CC=config/locale/uclibc/monetary_members.cc
57+ CNUMERIC_CC=config/locale/uclibc/numeric_members.cc
58+ CTIME_H=config/locale/uclibc/time_members.h
59+ CTIME_CC=config/locale/uclibc/time_members.cc
60+ CLOCALE_INTERNAL_H=config/locale/uclibc/c++locale_internal.h
61+ ;;
62 esac
63
64 # This is where the testsuite looks for locale catalogs, using the
65Index: gcc-4.5.0/libstdc++-v3/config/locale/uclibc/c++locale_internal.h
66===================================================================
67--- /dev/null 1970-01-01 00:00:00.000000000 +0000
68+++ gcc-4.5.0/libstdc++-v3/config/locale/uclibc/c++locale_internal.h 2010-06-25 10:42:34.913881064 -0700
69@@ -0,0 +1,63 @@
70+// Prototypes for GLIBC thread locale __-prefixed functions -*- C++ -*-
71+
72+// Copyright (C) 2002, 2004, 2005 Free Software Foundation, Inc.
73+//
74+// This file is part of the GNU ISO C++ Library. This library is free
75+// software; you can redistribute it and/or modify it under the
76+// terms of the GNU General Public License as published by the
77+// Free Software Foundation; either version 2, or (at your option)
78+// any later version.
79+
80+// This library is distributed in the hope that it will be useful,
81+// but WITHOUT ANY WARRANTY; without even the implied warranty of
82+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
83+// GNU General Public License for more details.
84+
85+// You should have received a copy of the GNU General Public License along
86+// with this library; see the file COPYING. If not, write to the Free
87+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
88+// USA.
89+
90+// As a special exception, you may use this file as part of a free software
91+// library without restriction. Specifically, if other files instantiate
92+// templates or use macros or inline functions from this file, or you compile
93+// this file and link it with other files to produce an executable, this
94+// file does not by itself cause the resulting executable to be covered by
95+// the GNU General Public License. This exception does not however
96+// invalidate any other reasons why the executable file might be covered by
97+// the GNU General Public License.
98+
99+// Written by Jakub Jelinek <jakub@redhat.com>
100+
101+#include <bits/c++config.h>
102+#include <clocale>
103+
104+#ifdef __UCLIBC_MJN3_ONLY__
105+#warning clean this up
106+#endif
107+
108+#ifdef __UCLIBC_HAS_XLOCALE__
109+
110+extern "C" __typeof(nl_langinfo_l) __nl_langinfo_l;
111+extern "C" __typeof(strcoll_l) __strcoll_l;
112+extern "C" __typeof(strftime_l) __strftime_l;
113+extern "C" __typeof(strtod_l) __strtod_l;
114+extern "C" __typeof(strtof_l) __strtof_l;
115+extern "C" __typeof(strtold_l) __strtold_l;
116+extern "C" __typeof(strxfrm_l) __strxfrm_l;
117+extern "C" __typeof(newlocale) __newlocale;
118+extern "C" __typeof(freelocale) __freelocale;
119+extern "C" __typeof(duplocale) __duplocale;
120+extern "C" __typeof(uselocale) __uselocale;
121+
122+#ifdef _GLIBCXX_USE_WCHAR_T
123+extern "C" __typeof(iswctype_l) __iswctype_l;
124+extern "C" __typeof(towlower_l) __towlower_l;
125+extern "C" __typeof(towupper_l) __towupper_l;
126+extern "C" __typeof(wcscoll_l) __wcscoll_l;
127+extern "C" __typeof(wcsftime_l) __wcsftime_l;
128+extern "C" __typeof(wcsxfrm_l) __wcsxfrm_l;
129+extern "C" __typeof(wctype_l) __wctype_l;
130+#endif
131+
132+#endif // GLIBC 2.3 and later
133Index: gcc-4.5.0/libstdc++-v3/config/locale/uclibc/c_locale.cc
134===================================================================
135--- /dev/null 1970-01-01 00:00:00.000000000 +0000
136+++ gcc-4.5.0/libstdc++-v3/config/locale/uclibc/c_locale.cc 2010-06-25 10:42:34.913881064 -0700
137@@ -0,0 +1,160 @@
138+// Wrapper for underlying C-language localization -*- C++ -*-
139+
140+// Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc.
141+//
142+// This file is part of the GNU ISO C++ Library. This library is free
143+// software; you can redistribute it and/or modify it under the
144+// terms of the GNU General Public License as published by the
145+// Free Software Foundation; either version 2, or (at your option)
146+// any later version.
147+
148+// This library is distributed in the hope that it will be useful,
149+// but WITHOUT ANY WARRANTY; without even the implied warranty of
150+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
151+// GNU General Public License for more details.
152+
153+// You should have received a copy of the GNU General Public License along
154+// with this library; see the file COPYING. If not, write to the Free
155+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
156+// USA.
157+
158+// As a special exception, you may use this file as part of a free software
159+// library without restriction. Specifically, if other files instantiate
160+// templates or use macros or inline functions from this file, or you compile
161+// this file and link it with other files to produce an executable, this
162+// file does not by itself cause the resulting executable to be covered by
163+// the GNU General Public License. This exception does not however
164+// invalidate any other reasons why the executable file might be covered by
165+// the GNU General Public License.
166+
167+//
168+// ISO C++ 14882: 22.8 Standard locale categories.
169+//
170+
171+// Written by Benjamin Kosnik <bkoz@redhat.com>
172+
173+#include <cerrno> // For errno
174+#include <locale>
175+#include <stdexcept>
176+#include <langinfo.h>
177+#include <bits/c++locale_internal.h>
178+
179+#ifndef __UCLIBC_HAS_XLOCALE__
180+#define __strtol_l(S, E, B, L) strtol((S), (E), (B))
181+#define __strtoul_l(S, E, B, L) strtoul((S), (E), (B))
182+#define __strtoll_l(S, E, B, L) strtoll((S), (E), (B))
183+#define __strtoull_l(S, E, B, L) strtoull((S), (E), (B))
184+#define __strtof_l(S, E, L) strtof((S), (E))
185+#define __strtod_l(S, E, L) strtod((S), (E))
186+#define __strtold_l(S, E, L) strtold((S), (E))
187+#warning should dummy __newlocale check for C|POSIX ?
188+#define __newlocale(a, b, c) NULL
189+#define __freelocale(a) ((void)0)
190+#define __duplocale(a) __c_locale()
191+#endif
192+
193+namespace std
194+{
195+ template<>
196+ void
197+ __convert_to_v(const char* __s, float& __v, ios_base::iostate& __err,
198+ const __c_locale& __cloc)
199+ {
200+ if (!(__err & ios_base::failbit))
201+ {
202+ char* __sanity;
203+ errno = 0;
204+ float __f = __strtof_l(__s, &__sanity, __cloc);
205+ if (__sanity != __s && errno != ERANGE)
206+ __v = __f;
207+ else
208+ __err |= ios_base::failbit;
209+ }
210+ }
211+
212+ template<>
213+ void
214+ __convert_to_v(const char* __s, double& __v, ios_base::iostate& __err,
215+ const __c_locale& __cloc)
216+ {
217+ if (!(__err & ios_base::failbit))
218+ {
219+ char* __sanity;
220+ errno = 0;
221+ double __d = __strtod_l(__s, &__sanity, __cloc);
222+ if (__sanity != __s && errno != ERANGE)
223+ __v = __d;
224+ else
225+ __err |= ios_base::failbit;
226+ }
227+ }
228+
229+ template<>
230+ void
231+ __convert_to_v(const char* __s, long double& __v, ios_base::iostate& __err,
232+ const __c_locale& __cloc)
233+ {
234+ if (!(__err & ios_base::failbit))
235+ {
236+ char* __sanity;
237+ errno = 0;
238+ long double __ld = __strtold_l(__s, &__sanity, __cloc);
239+ if (__sanity != __s && errno != ERANGE)
240+ __v = __ld;
241+ else
242+ __err |= ios_base::failbit;
243+ }
244+ }
245+
246+ void
247+ locale::facet::_S_create_c_locale(__c_locale& __cloc, const char* __s,
248+ __c_locale __old)
249+ {
250+ __cloc = __newlocale(1 << LC_ALL, __s, __old);
251+#ifdef __UCLIBC_HAS_XLOCALE__
252+ if (!__cloc)
253+ {
254+ // This named locale is not supported by the underlying OS.
255+ __throw_runtime_error(__N("locale::facet::_S_create_c_locale "
256+ "name not valid"));
257+ }
258+#endif
259+ }
260+
261+ void
262+ locale::facet::_S_destroy_c_locale(__c_locale& __cloc)
263+ {
264+ if (_S_get_c_locale() != __cloc)
265+ __freelocale(__cloc);
266+ }
267+
268+ __c_locale
269+ locale::facet::_S_clone_c_locale(__c_locale& __cloc)
270+ { return __duplocale(__cloc); }
271+} // namespace std
272+
273+namespace __gnu_cxx
274+{
275+ const char* const category_names[6 + _GLIBCXX_NUM_CATEGORIES] =
276+ {
277+ "LC_CTYPE",
278+ "LC_NUMERIC",
279+ "LC_TIME",
280+ "LC_COLLATE",
281+ "LC_MONETARY",
282+ "LC_MESSAGES",
283+#if _GLIBCXX_NUM_CATEGORIES != 0
284+ "LC_PAPER",
285+ "LC_NAME",
286+ "LC_ADDRESS",
287+ "LC_TELEPHONE",
288+ "LC_MEASUREMENT",
289+ "LC_IDENTIFICATION"
290+#endif
291+ };
292+}
293+
294+namespace std
295+{
296+ const char* const* const locale::_S_categories = __gnu_cxx::category_names;
297+} // namespace std
298Index: gcc-4.5.0/libstdc++-v3/config/locale/uclibc/c_locale.h
299===================================================================
300--- /dev/null 1970-01-01 00:00:00.000000000 +0000
301+++ gcc-4.5.0/libstdc++-v3/config/locale/uclibc/c_locale.h 2010-06-25 10:42:34.913881064 -0700
302@@ -0,0 +1,117 @@
303+// Wrapper for underlying C-language localization -*- C++ -*-
304+
305+// Copyright (C) 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
306+//
307+// This file is part of the GNU ISO C++ Library. This library is free
308+// software; you can redistribute it and/or modify it under the
309+// terms of the GNU General Public License as published by the
310+// Free Software Foundation; either version 2, or (at your option)
311+// any later version.
312+
313+// This library is distributed in the hope that it will be useful,
314+// but WITHOUT ANY WARRANTY; without even the implied warranty of
315+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
316+// GNU General Public License for more details.
317+
318+// You should have received a copy of the GNU General Public License along
319+// with this library; see the file COPYING. If not, write to the Free
320+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
321+// USA.
322+
323+// As a special exception, you may use this file as part of a free software
324+// library without restriction. Specifically, if other files instantiate
325+// templates or use macros or inline functions from this file, or you compile
326+// this file and link it with other files to produce an executable, this
327+// file does not by itself cause the resulting executable to be covered by
328+// the GNU General Public License. This exception does not however
329+// invalidate any other reasons why the executable file might be covered by
330+// the GNU General Public License.
331+
332+//
333+// ISO C++ 14882: 22.8 Standard locale categories.
334+//
335+
336+// Written by Benjamin Kosnik <bkoz@redhat.com>
337+
338+#ifndef _C_LOCALE_H
339+#define _C_LOCALE_H 1
340+
341+#pragma GCC system_header
342+
343+#include <cstring> // get std::strlen
344+#include <cstdio> // get std::snprintf or std::sprintf
345+#include <clocale>
346+#include <langinfo.h> // For codecvt
347+#ifdef __UCLIBC_MJN3_ONLY__
348+#warning fix this
349+#endif
350+#ifdef __UCLIBC_HAS_LOCALE__
351+#include <iconv.h> // For codecvt using iconv, iconv_t
352+#endif
353+#ifdef __UCLIBC_HAS_GETTEXT_AWARENESS__
354+#include <libintl.h> // For messages
355+#endif
356+
357+#ifdef __UCLIBC_MJN3_ONLY__
358+#warning what is _GLIBCXX_C_LOCALE_GNU for
359+#endif
360+#define _GLIBCXX_C_LOCALE_GNU 1
361+
362+#ifdef __UCLIBC_MJN3_ONLY__
363+#warning fix categories
364+#endif
365+// #define _GLIBCXX_NUM_CATEGORIES 6
366+#define _GLIBCXX_NUM_CATEGORIES 0
367+
368+#ifdef __UCLIBC_HAS_XLOCALE__
369+namespace __gnu_cxx
370+{
371+ extern "C" __typeof(uselocale) __uselocale;
372+}
373+#endif
374+
375+namespace std
376+{
377+#ifdef __UCLIBC_HAS_XLOCALE__
378+ typedef __locale_t __c_locale;
379+#else
380+ typedef int* __c_locale;
381+#endif
382+
383+ // Convert numeric value of type _Tv to string and return length of
384+ // string. If snprintf is available use it, otherwise fall back to
385+ // the unsafe sprintf which, in general, can be dangerous and should
386+ // be avoided.
387+ template<typename _Tv>
388+ int
389+ __convert_from_v(char* __out,
390+ const int __size __attribute__ ((__unused__)),
391+ const char* __fmt,
392+#ifdef __UCLIBC_HAS_XCLOCALE__
393+ _Tv __v, const __c_locale& __cloc, int __prec)
394+ {
395+ __c_locale __old = __gnu_cxx::__uselocale(__cloc);
396+#else
397+ _Tv __v, const __c_locale&, int __prec)
398+ {
399+# ifdef __UCLIBC_HAS_LOCALE__
400+ char* __old = std::setlocale(LC_ALL, NULL);
401+ char* __sav = new char[std::strlen(__old) + 1];
402+ std::strcpy(__sav, __old);
403+ std::setlocale(LC_ALL, "C");
404+# endif
405+#endif
406+
407+ const int __ret = std::snprintf(__out, __size, __fmt, __prec, __v);
408+
409+#ifdef __UCLIBC_HAS_XCLOCALE__
410+ __gnu_cxx::__uselocale(__old);
411+#elif defined __UCLIBC_HAS_LOCALE__
412+ std::setlocale(LC_ALL, __sav);
413+ delete [] __sav;
414+#endif
415+ return __ret;
416+ }
417+}
418+
419+#endif
420Index: gcc-4.5.0/libstdc++-v3/config/locale/uclibc/codecvt_members.cc
421===================================================================
422--- /dev/null 1970-01-01 00:00:00.000000000 +0000
423+++ gcc-4.5.0/libstdc++-v3/config/locale/uclibc/codecvt_members.cc 2010-06-25 10:42:34.913881064 -0700
424@@ -0,0 +1,308 @@
425+// std::codecvt implementation details, GNU version -*- C++ -*-
426+
427+// Copyright (C) 2002, 2003 Free Software Foundation, Inc.
428+//
429+// This file is part of the GNU ISO C++ Library. This library is free
430+// software; you can redistribute it and/or modify it under the
431+// terms of the GNU General Public License as published by the
432+// Free Software Foundation; either version 2, or (at your option)
433+// any later version.
434+
435+// This library is distributed in the hope that it will be useful,
436+// but WITHOUT ANY WARRANTY; without even the implied warranty of
437+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
438+// GNU General Public License for more details.
439+
440+// You should have received a copy of the GNU General Public License along
441+// with this library; see the file COPYING. If not, write to the Free
442+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
443+// USA.
444+
445+// As a special exception, you may use this file as part of a free software
446+// library without restriction. Specifically, if other files instantiate
447+// templates or use macros or inline functions from this file, or you compile
448+// this file and link it with other files to produce an executable, this
449+// file does not by itself cause the resulting executable to be covered by
450+// the GNU General Public License. This exception does not however
451+// invalidate any other reasons why the executable file might be covered by
452+// the GNU General Public License.
453+
454+//
455+// ISO C++ 14882: 22.2.1.5 - Template class codecvt
456+//
457+
458+// Written by Benjamin Kosnik <bkoz@redhat.com>
459+
460+#include <locale>
461+#include <cstdlib> // For MB_CUR_MAX
462+#include <climits> // For MB_LEN_MAX
463+#include <bits/c++locale_internal.h>
464+
465+namespace std
466+{
467+ // Specializations.
468+#ifdef _GLIBCXX_USE_WCHAR_T
469+ codecvt_base::result
470+ codecvt<wchar_t, char, mbstate_t>::
471+ do_out(state_type& __state, const intern_type* __from,
472+ const intern_type* __from_end, const intern_type*& __from_next,
473+ extern_type* __to, extern_type* __to_end,
474+ extern_type*& __to_next) const
475+ {
476+ result __ret = ok;
477+ state_type __tmp_state(__state);
478+
479+#ifdef __UCLIBC_HAS_XLOCALE__
480+ __c_locale __old = __uselocale(_M_c_locale_codecvt);
481+#endif
482+
483+ // wcsnrtombs is *very* fast but stops if encounters NUL characters:
484+ // in case we fall back to wcrtomb and then continue, in a loop.
485+ // NB: wcsnrtombs is a GNU extension
486+ for (__from_next = __from, __to_next = __to;
487+ __from_next < __from_end && __to_next < __to_end
488+ && __ret == ok;)
489+ {
490+ const intern_type* __from_chunk_end = wmemchr(__from_next, L'\0',
491+ __from_end - __from_next);
492+ if (!__from_chunk_end)
493+ __from_chunk_end = __from_end;
494+
495+ __from = __from_next;
496+ const size_t __conv = wcsnrtombs(__to_next, &__from_next,
497+ __from_chunk_end - __from_next,
498+ __to_end - __to_next, &__state);
499+ if (__conv == static_cast<size_t>(-1))
500+ {
501+ // In case of error, in order to stop at the exact place we
502+ // have to start again from the beginning with a series of
503+ // wcrtomb.
504+ for (; __from < __from_next; ++__from)
505+ __to_next += wcrtomb(__to_next, *__from, &__tmp_state);
506+ __state = __tmp_state;
507+ __ret = error;
508+ }
509+ else if (__from_next && __from_next < __from_chunk_end)
510+ {
511+ __to_next += __conv;
512+ __ret = partial;
513+ }
514+ else
515+ {
516+ __from_next = __from_chunk_end;
517+ __to_next += __conv;
518+ }
519+
520+ if (__from_next < __from_end && __ret == ok)
521+ {
522+ extern_type __buf[MB_LEN_MAX];
523+ __tmp_state = __state;
524+ const size_t __conv = wcrtomb(__buf, *__from_next, &__tmp_state);
525+ if (__conv > static_cast<size_t>(__to_end - __to_next))
526+ __ret = partial;
527+ else
528+ {
529+ memcpy(__to_next, __buf, __conv);
530+ __state = __tmp_state;
531+ __to_next += __conv;
532+ ++__from_next;
533+ }
534+ }
535+ }
536+
537+#ifdef __UCLIBC_HAS_XLOCALE__
538+ __uselocale(__old);
539+#endif
540+
541+ return __ret;
542+ }
543+
544+ codecvt_base::result
545+ codecvt<wchar_t, char, mbstate_t>::
546+ do_in(state_type& __state, const extern_type* __from,
547+ const extern_type* __from_end, const extern_type*& __from_next,
548+ intern_type* __to, intern_type* __to_end,
549+ intern_type*& __to_next) const
550+ {
551+ result __ret = ok;
552+ state_type __tmp_state(__state);
553+
554+#ifdef __UCLIBC_HAS_XLOCALE__
555+ __c_locale __old = __uselocale(_M_c_locale_codecvt);
556+#endif
557+
558+ // mbsnrtowcs is *very* fast but stops if encounters NUL characters:
559+ // in case we store a L'\0' and then continue, in a loop.
560+ // NB: mbsnrtowcs is a GNU extension
561+ for (__from_next = __from, __to_next = __to;
562+ __from_next < __from_end && __to_next < __to_end
563+ && __ret == ok;)
564+ {
565+ const extern_type* __from_chunk_end;
566+ __from_chunk_end = static_cast<const extern_type*>(memchr(__from_next, '\0',
567+ __from_end
568+ - __from_next));
569+ if (!__from_chunk_end)
570+ __from_chunk_end = __from_end;
571+
572+ __from = __from_next;
573+ size_t __conv = mbsnrtowcs(__to_next, &__from_next,
574+ __from_chunk_end - __from_next,
575+ __to_end - __to_next, &__state);
576+ if (__conv == static_cast<size_t>(-1))
577+ {
578+ // In case of error, in order to stop at the exact place we
579+ // have to start again from the beginning with a series of
580+ // mbrtowc.
581+ for (;; ++__to_next, __from += __conv)
582+ {
583+ __conv = mbrtowc(__to_next, __from, __from_end - __from,
584+ &__tmp_state);
585+ if (__conv == static_cast<size_t>(-1)
586+ || __conv == static_cast<size_t>(-2))
587+ break;
588+ }
589+ __from_next = __from;
590+ __state = __tmp_state;
591+ __ret = error;
592+ }
593+ else if (__from_next && __from_next < __from_chunk_end)
594+ {
595+ // It is unclear what to return in this case (see DR 382).
596+ __to_next += __conv;
597+ __ret = partial;
598+ }
599+ else
600+ {
601+ __from_next = __from_chunk_end;
602+ __to_next += __conv;
603+ }
604+
605+ if (__from_next < __from_end && __ret == ok)
606+ {
607+ if (__to_next < __to_end)
608+ {
609+ // XXX Probably wrong for stateful encodings
610+ __tmp_state = __state;
611+ ++__from_next;
612+ *__to_next++ = L'\0';
613+ }
614+ else
615+ __ret = partial;
616+ }
617+ }
618+
619+#ifdef __UCLIBC_HAS_XLOCALE__
620+ __uselocale(__old);
621+#endif
622+
623+ return __ret;
624+ }
625+
626+ int
627+ codecvt<wchar_t, char, mbstate_t>::
628+ do_encoding() const throw()
629+ {
630+ // XXX This implementation assumes that the encoding is
631+ // stateless and is either single-byte or variable-width.
632+ int __ret = 0;
633+#ifdef __UCLIBC_HAS_XLOCALE__
634+ __c_locale __old = __uselocale(_M_c_locale_codecvt);
635+#endif
636+ if (MB_CUR_MAX == 1)
637+ __ret = 1;
638+#ifdef __UCLIBC_HAS_XLOCALE__
639+ __uselocale(__old);
640+#endif
641+ return __ret;
642+ }
643+
644+ int
645+ codecvt<wchar_t, char, mbstate_t>::
646+ do_max_length() const throw()
647+ {
648+#ifdef __UCLIBC_HAS_XLOCALE__
649+ __c_locale __old = __uselocale(_M_c_locale_codecvt);
650+#endif
651+ // XXX Probably wrong for stateful encodings.
652+ int __ret = MB_CUR_MAX;
653+#ifdef __UCLIBC_HAS_XLOCALE__
654+ __uselocale(__old);
655+#endif
656+ return __ret;
657+ }
658+
659+ int
660+ codecvt<wchar_t, char, mbstate_t>::
661+ do_length(state_type& __state, const extern_type* __from,
662+ const extern_type* __end, size_t __max) const
663+ {
664+ int __ret = 0;
665+ state_type __tmp_state(__state);
666+
667+#ifdef __UCLIBC_HAS_XLOCALE__
668+ __c_locale __old = __uselocale(_M_c_locale_codecvt);
669+#endif
670+
671+ // mbsnrtowcs is *very* fast but stops if encounters NUL characters:
672+ // in case we advance past it and then continue, in a loop.
673+ // NB: mbsnrtowcs is a GNU extension
674+
675+ // A dummy internal buffer is needed in order for mbsnrtocws to consider
676+ // its fourth parameter (it wouldn't with NULL as first parameter).
677+ wchar_t* __to = static_cast<wchar_t*>(__builtin_alloca(sizeof(wchar_t)
678+ * __max));
679+ while (__from < __end && __max)
680+ {
681+ const extern_type* __from_chunk_end;
682+ __from_chunk_end = static_cast<const extern_type*>(memchr(__from, '\0',
683+ __end
684+ - __from));
685+ if (!__from_chunk_end)
686+ __from_chunk_end = __end;
687+
688+ const extern_type* __tmp_from = __from;
689+ size_t __conv = mbsnrtowcs(__to, &__from,
690+ __from_chunk_end - __from,
691+ __max, &__state);
692+ if (__conv == static_cast<size_t>(-1))
693+ {
694+ // In case of error, in order to stop at the exact place we
695+ // have to start again from the beginning with a series of
696+ // mbrtowc.
697+ for (__from = __tmp_from;; __from += __conv)
698+ {
699+ __conv = mbrtowc(NULL, __from, __end - __from,
700+ &__tmp_state);
701+ if (__conv == static_cast<size_t>(-1)
702+ || __conv == static_cast<size_t>(-2))
703+ break;
704+ }
705+ __state = __tmp_state;
706+ __ret += __from - __tmp_from;
707+ break;
708+ }
709+ if (!__from)
710+ __from = __from_chunk_end;
711+
712+ __ret += __from - __tmp_from;
713+ __max -= __conv;
714+
715+ if (__from < __end && __max)
716+ {
717+ // XXX Probably wrong for stateful encodings
718+ __tmp_state = __state;
719+ ++__from;
720+ ++__ret;
721+ --__max;
722+ }
723+ }
724+
725+#ifdef __UCLIBC_HAS_XLOCALE__
726+ __uselocale(__old);
727+#endif
728+
729+ return __ret;
730+ }
731+#endif
732+}
733Index: gcc-4.5.0/libstdc++-v3/config/locale/uclibc/collate_members.cc
734===================================================================
735--- /dev/null 1970-01-01 00:00:00.000000000 +0000
736+++ gcc-4.5.0/libstdc++-v3/config/locale/uclibc/collate_members.cc 2010-06-25 10:42:34.913881064 -0700
737@@ -0,0 +1,80 @@
738+// std::collate implementation details, GNU version -*- C++ -*-
739+
740+// Copyright (C) 2001, 2002 Free Software Foundation, Inc.
741+//
742+// This file is part of the GNU ISO C++ Library. This library is free
743+// software; you can redistribute it and/or modify it under the
744+// terms of the GNU General Public License as published by the
745+// Free Software Foundation; either version 2, or (at your option)
746+// any later version.
747+
748+// This library is distributed in the hope that it will be useful,
749+// but WITHOUT ANY WARRANTY; without even the implied warranty of
750+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
751+// GNU General Public License for more details.
752+
753+// You should have received a copy of the GNU General Public License along
754+// with this library; see the file COPYING. If not, write to the Free
755+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
756+// USA.
757+
758+// As a special exception, you may use this file as part of a free software
759+// library without restriction. Specifically, if other files instantiate
760+// templates or use macros or inline functions from this file, or you compile
761+// this file and link it with other files to produce an executable, this
762+// file does not by itself cause the resulting executable to be covered by
763+// the GNU General Public License. This exception does not however
764+// invalidate any other reasons why the executable file might be covered by
765+// the GNU General Public License.
766+
767+//
768+// ISO C++ 14882: 22.2.4.1.2 collate virtual functions
769+//
770+
771+// Written by Benjamin Kosnik <bkoz@redhat.com>
772+
773+#include <locale>
774+#include <bits/c++locale_internal.h>
775+
776+#ifndef __UCLIBC_HAS_XLOCALE__
777+#define __strcoll_l(S1, S2, L) strcoll((S1), (S2))
778+#define __strxfrm_l(S1, S2, N, L) strxfrm((S1), (S2), (N))
779+#define __wcscoll_l(S1, S2, L) wcscoll((S1), (S2))
780+#define __wcsxfrm_l(S1, S2, N, L) wcsxfrm((S1), (S2), (N))
781+#endif
782+
783+namespace std
784+{
785+ // These are basically extensions to char_traits, and perhaps should
786+ // be put there instead of here.
787+ template<>
788+ int
789+ collate<char>::_M_compare(const char* __one, const char* __two) const
790+ {
791+ int __cmp = __strcoll_l(__one, __two, _M_c_locale_collate);
792+ return (__cmp >> (8 * sizeof (int) - 2)) | (__cmp != 0);
793+ }
794+
795+ template<>
796+ size_t
797+ collate<char>::_M_transform(char* __to, const char* __from,
798+ size_t __n) const
799+ { return __strxfrm_l(__to, __from, __n, _M_c_locale_collate); }
800+
801+#ifdef _GLIBCXX_USE_WCHAR_T
802+ template<>
803+ int
804+ collate<wchar_t>::_M_compare(const wchar_t* __one,
805+ const wchar_t* __two) const
806+ {
807+ int __cmp = __wcscoll_l(__one, __two, _M_c_locale_collate);
808+ return (__cmp >> (8 * sizeof (int) - 2)) | (__cmp != 0);
809+ }
810+
811+ template<>
812+ size_t
813+ collate<wchar_t>::_M_transform(wchar_t* __to, const wchar_t* __from,
814+ size_t __n) const
815+ { return __wcsxfrm_l(__to, __from, __n, _M_c_locale_collate); }
816+#endif
817+}
818Index: gcc-4.5.0/libstdc++-v3/config/locale/uclibc/ctype_members.cc
819===================================================================
820--- /dev/null 1970-01-01 00:00:00.000000000 +0000
821+++ gcc-4.5.0/libstdc++-v3/config/locale/uclibc/ctype_members.cc 2010-06-25 10:42:34.913881064 -0700
822@@ -0,0 +1,300 @@
823+// std::ctype implementation details, GNU version -*- C++ -*-
824+
825+// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
826+//
827+// This file is part of the GNU ISO C++ Library. This library is free
828+// software; you can redistribute it and/or modify it under the
829+// terms of the GNU General Public License as published by the
830+// Free Software Foundation; either version 2, or (at your option)
831+// any later version.
832+
833+// This library is distributed in the hope that it will be useful,
834+// but WITHOUT ANY WARRANTY; without even the implied warranty of
835+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
836+// GNU General Public License for more details.
837+
838+// You should have received a copy of the GNU General Public License along
839+// with this library; see the file COPYING. If not, write to the Free
840+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
841+// USA.
842+
843+// As a special exception, you may use this file as part of a free software
844+// library without restriction. Specifically, if other files instantiate
845+// templates or use macros or inline functions from this file, or you compile
846+// this file and link it with other files to produce an executable, this
847+// file does not by itself cause the resulting executable to be covered by
848+// the GNU General Public License. This exception does not however
849+// invalidate any other reasons why the executable file might be covered by
850+// the GNU General Public License.
851+
852+//
853+// ISO C++ 14882: 22.2.1.1.2 ctype virtual functions.
854+//
855+
856+// Written by Benjamin Kosnik <bkoz@redhat.com>
857+
858+#define _LIBC
859+#include <locale>
860+#undef _LIBC
861+#include <bits/c++locale_internal.h>
862+
863+#ifndef __UCLIBC_HAS_XLOCALE__
864+#define __wctype_l(S, L) wctype((S))
865+#define __towupper_l(C, L) towupper((C))
866+#define __towlower_l(C, L) towlower((C))
867+#define __iswctype_l(C, M, L) iswctype((C), (M))
868+#endif
869+
870+namespace std
871+{
872+ // NB: The other ctype<char> specializations are in src/locale.cc and
873+ // various /config/os/* files.
874+ template<>
875+ ctype_byname<char>::ctype_byname(const char* __s, size_t __refs)
876+ : ctype<char>(0, false, __refs)
877+ {
878+ if (std::strcmp(__s, "C") != 0 && std::strcmp(__s, "POSIX") != 0)
879+ {
880+ this->_S_destroy_c_locale(this->_M_c_locale_ctype);
881+ this->_S_create_c_locale(this->_M_c_locale_ctype, __s);
882+#ifdef __UCLIBC_HAS_XLOCALE__
883+ this->_M_toupper = this->_M_c_locale_ctype->__ctype_toupper;
884+ this->_M_tolower = this->_M_c_locale_ctype->__ctype_tolower;
885+ this->_M_table = this->_M_c_locale_ctype->__ctype_b;
886+#endif
887+ }
888+ }
889+
890+#ifdef _GLIBCXX_USE_WCHAR_T
891+ ctype<wchar_t>::__wmask_type
892+ ctype<wchar_t>::_M_convert_to_wmask(const mask __m) const
893+ {
894+ __wmask_type __ret;
895+ switch (__m)
896+ {
897+ case space:
898+ __ret = __wctype_l("space", _M_c_locale_ctype);
899+ break;
900+ case print:
901+ __ret = __wctype_l("print", _M_c_locale_ctype);
902+ break;
903+ case cntrl:
904+ __ret = __wctype_l("cntrl", _M_c_locale_ctype);
905+ break;
906+ case upper:
907+ __ret = __wctype_l("upper", _M_c_locale_ctype);
908+ break;
909+ case lower:
910+ __ret = __wctype_l("lower", _M_c_locale_ctype);
911+ break;
912+ case alpha:
913+ __ret = __wctype_l("alpha", _M_c_locale_ctype);
914+ break;
915+ case digit:
916+ __ret = __wctype_l("digit", _M_c_locale_ctype);
917+ break;
918+ case punct:
919+ __ret = __wctype_l("punct", _M_c_locale_ctype);
920+ break;
921+ case xdigit:
922+ __ret = __wctype_l("xdigit", _M_c_locale_ctype);
923+ break;
924+ case alnum:
925+ __ret = __wctype_l("alnum", _M_c_locale_ctype);
926+ break;
927+ case graph:
928+ __ret = __wctype_l("graph", _M_c_locale_ctype);
929+ break;
930+ default:
931+ __ret = __wmask_type();
932+ }
933+ return __ret;
934+ }
935+
936+ wchar_t
937+ ctype<wchar_t>::do_toupper(wchar_t __c) const
938+ { return __towupper_l(__c, _M_c_locale_ctype); }
939+
940+ const wchar_t*
941+ ctype<wchar_t>::do_toupper(wchar_t* __lo, const wchar_t* __hi) const
942+ {
943+ while (__lo < __hi)
944+ {
945+ *__lo = __towupper_l(*__lo, _M_c_locale_ctype);
946+ ++__lo;
947+ }
948+ return __hi;
949+ }
950+
951+ wchar_t
952+ ctype<wchar_t>::do_tolower(wchar_t __c) const
953+ { return __towlower_l(__c, _M_c_locale_ctype); }
954+
955+ const wchar_t*
956+ ctype<wchar_t>::do_tolower(wchar_t* __lo, const wchar_t* __hi) const
957+ {
958+ while (__lo < __hi)
959+ {
960+ *__lo = __towlower_l(*__lo, _M_c_locale_ctype);
961+ ++__lo;
962+ }
963+ return __hi;
964+ }
965+
966+ bool
967+ ctype<wchar_t>::
968+ do_is(mask __m, wchar_t __c) const
969+ {
970+ // Highest bitmask in ctype_base == 10, but extra in "C"
971+ // library for blank.
972+ bool __ret = false;
973+ const size_t __bitmasksize = 11;
974+ for (size_t __bitcur = 0; __bitcur <= __bitmasksize; ++__bitcur)
975+ if (__m & _M_bit[__bitcur]
976+ && __iswctype_l(__c, _M_wmask[__bitcur], _M_c_locale_ctype))
977+ {
978+ __ret = true;
979+ break;
980+ }
981+ return __ret;
982+ }
983+
984+ const wchar_t*
985+ ctype<wchar_t>::
986+ do_is(const wchar_t* __lo, const wchar_t* __hi, mask* __vec) const
987+ {
988+ for (; __lo < __hi; ++__vec, ++__lo)
989+ {
990+ // Highest bitmask in ctype_base == 10, but extra in "C"
991+ // library for blank.
992+ const size_t __bitmasksize = 11;
993+ mask __m = 0;
994+ for (size_t __bitcur = 0; __bitcur <= __bitmasksize; ++__bitcur)
995+ if (__iswctype_l(*__lo, _M_wmask[__bitcur], _M_c_locale_ctype))
996+ __m |= _M_bit[__bitcur];
997+ *__vec = __m;
998+ }
999+ return __hi;
1000+ }
1001+
1002+ const wchar_t*
1003+ ctype<wchar_t>::
1004+ do_scan_is(mask __m, const wchar_t* __lo, const wchar_t* __hi) const
1005+ {
1006+ while (__lo < __hi && !this->do_is(__m, *__lo))
1007+ ++__lo;
1008+ return __lo;
1009+ }
1010+
1011+ const wchar_t*
1012+ ctype<wchar_t>::
1013+ do_scan_not(mask __m, const char_type* __lo, const char_type* __hi) const
1014+ {
1015+ while (__lo < __hi && this->do_is(__m, *__lo) != 0)
1016+ ++__lo;
1017+ return __lo;
1018+ }
1019+
1020+ wchar_t
1021+ ctype<wchar_t>::
1022+ do_widen(char __c) const
1023+ { return _M_widen[static_cast<unsigned char>(__c)]; }
1024+
1025+ const char*
1026+ ctype<wchar_t>::
1027+ do_widen(const char* __lo, const char* __hi, wchar_t* __dest) const
1028+ {
1029+ while (__lo < __hi)
1030+ {
1031+ *__dest = _M_widen[static_cast<unsigned char>(*__lo)];
1032+ ++__lo;
1033+ ++__dest;
1034+ }
1035+ return __hi;
1036+ }
1037+
1038+ char
1039+ ctype<wchar_t>::
1040+ do_narrow(wchar_t __wc, char __dfault) const
1041+ {
1042+ if (__wc >= 0 && __wc < 128 && _M_narrow_ok)
1043+ return _M_narrow[__wc];
1044+#ifdef __UCLIBC_HAS_XLOCALE__
1045+ __c_locale __old = __uselocale(_M_c_locale_ctype);
1046+#endif
1047+ const int __c = wctob(__wc);
1048+#ifdef __UCLIBC_HAS_XLOCALE__
1049+ __uselocale(__old);
1050+#endif
1051+ return (__c == EOF ? __dfault : static_cast<char>(__c));
1052+ }
1053+
1054+ const wchar_t*
1055+ ctype<wchar_t>::
1056+ do_narrow(const wchar_t* __lo, const wchar_t* __hi, char __dfault,
1057+ char* __dest) const
1058+ {
1059+#ifdef __UCLIBC_HAS_XLOCALE__
1060+ __c_locale __old = __uselocale(_M_c_locale_ctype);
1061+#endif
1062+ if (_M_narrow_ok)
1063+ while (__lo < __hi)
1064+ {
1065+ if (*__lo >= 0 && *__lo < 128)
1066+ *__dest = _M_narrow[*__lo];
1067+ else
1068+ {
1069+ const int __c = wctob(*__lo);
1070+ *__dest = (__c == EOF ? __dfault : static_cast<char>(__c));
1071+ }
1072+ ++__lo;
1073+ ++__dest;
1074+ }
1075+ else
1076+ while (__lo < __hi)
1077+ {
1078+ const int __c = wctob(*__lo);
1079+ *__dest = (__c == EOF ? __dfault : static_cast<char>(__c));
1080+ ++__lo;
1081+ ++__dest;
1082+ }
1083+#ifdef __UCLIBC_HAS_XLOCALE__
1084+ __uselocale(__old);
1085+#endif
1086+ return __hi;
1087+ }
1088+
1089+ void
1090+ ctype<wchar_t>::_M_initialize_ctype()
1091+ {
1092+#ifdef __UCLIBC_HAS_XLOCALE__
1093+ __c_locale __old = __uselocale(_M_c_locale_ctype);
1094+#endif
1095+ wint_t __i;
1096+ for (__i = 0; __i < 128; ++__i)
1097+ {
1098+ const int __c = wctob(__i);
1099+ if (__c == EOF)
1100+ break;
1101+ else
1102+ _M_narrow[__i] = static_cast<char>(__c);
1103+ }
1104+ if (__i == 128)
1105+ _M_narrow_ok = true;
1106+ else
1107+ _M_narrow_ok = false;
1108+ for (size_t __j = 0;
1109+ __j < sizeof(_M_widen) / sizeof(wint_t); ++__j)
1110+ _M_widen[__j] = btowc(__j);
1111+
1112+ for (size_t __k = 0; __k <= 11; ++__k)
1113+ {
1114+ _M_bit[__k] = static_cast<mask>(_ISbit(__k));
1115+ _M_wmask[__k] = _M_convert_to_wmask(_M_bit[__k]);
1116+ }
1117+#ifdef __UCLIBC_HAS_XLOCALE__
1118+ __uselocale(__old);
1119+#endif
1120+ }
1121+#endif // _GLIBCXX_USE_WCHAR_T
1122+}
1123Index: gcc-4.5.0/libstdc++-v3/config/locale/uclibc/messages_members.cc
1124===================================================================
1125--- /dev/null 1970-01-01 00:00:00.000000000 +0000
1126+++ gcc-4.5.0/libstdc++-v3/config/locale/uclibc/messages_members.cc 2010-06-25 10:42:34.913881064 -0700
1127@@ -0,0 +1,100 @@
1128+// std::messages implementation details, GNU version -*- C++ -*-
1129+
1130+// Copyright (C) 2001, 2002 Free Software Foundation, Inc.
1131+//
1132+// This file is part of the GNU ISO C++ Library. This library is free
1133+// software; you can redistribute it and/or modify it under the
1134+// terms of the GNU General Public License as published by the
1135+// Free Software Foundation; either version 2, or (at your option)
1136+// any later version.
1137+
1138+// This library is distributed in the hope that it will be useful,
1139+// but WITHOUT ANY WARRANTY; without even the implied warranty of
1140+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
1141+// GNU General Public License for more details.
1142+
1143+// You should have received a copy of the GNU General Public License along
1144+// with this library; see the file COPYING. If not, write to the Free
1145+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
1146+// USA.
1147+
1148+// As a special exception, you may use this file as part of a free software
1149+// library without restriction. Specifically, if other files instantiate
1150+// templates or use macros or inline functions from this file, or you compile
1151+// this file and link it with other files to produce an executable, this
1152+// file does not by itself cause the resulting executable to be covered by
1153+// the GNU General Public License. This exception does not however
1154+// invalidate any other reasons why the executable file might be covered by
1155+// the GNU General Public License.
1156+
1157+//
1158+// ISO C++ 14882: 22.2.7.1.2 messages virtual functions
1159+//
1160+
1161+// Written by Benjamin Kosnik <bkoz@redhat.com>
1162+
1163+#include <locale>
1164+#include <bits/c++locale_internal.h>
1165+
1166+#ifdef __UCLIBC_MJN3_ONLY__
1167+#warning fix gettext stuff
1168+#endif
1169+#ifdef __UCLIBC_HAS_GETTEXT_AWARENESS__
1170+extern "C" char *__dcgettext(const char *domainname,
1171+ const char *msgid, int category);
1172+#undef gettext
1173+#define gettext(msgid) __dcgettext(NULL, msgid, LC_MESSAGES)
1174+#else
1175+#undef gettext
1176+#define gettext(msgid) (msgid)
1177+#endif
1178+
1179+namespace std
1180+{
1181+ // Specializations.
1182+ template<>
1183+ string
1184+ messages<char>::do_get(catalog, int, int, const string& __dfault) const
1185+ {
1186+#ifdef __UCLIBC_HAS_XLOCALE__
1187+ __c_locale __old = __uselocale(_M_c_locale_messages);
1188+ const char* __msg = const_cast<const char*>(gettext(__dfault.c_str()));
1189+ __uselocale(__old);
1190+ return string(__msg);
1191+#elif defined __UCLIBC_HAS_LOCALE__
1192+ char* __old = strdup(setlocale(LC_ALL, NULL));
1193+ setlocale(LC_ALL, _M_name_messages);
1194+ const char* __msg = gettext(__dfault.c_str());
1195+ setlocale(LC_ALL, __old);
1196+ free(__old);
1197+ return string(__msg);
1198+#else
1199+ const char* __msg = gettext(__dfault.c_str());
1200+ return string(__msg);
1201+#endif
1202+ }
1203+
1204+#ifdef _GLIBCXX_USE_WCHAR_T
1205+ template<>
1206+ wstring
1207+ messages<wchar_t>::do_get(catalog, int, int, const wstring& __dfault) const
1208+ {
1209+# ifdef __UCLIBC_HAS_XLOCALE__
1210+ __c_locale __old = __uselocale(_M_c_locale_messages);
1211+ char* __msg = gettext(_M_convert_to_char(__dfault));
1212+ __uselocale(__old);
1213+ return _M_convert_from_char(__msg);
1214+# elif defined __UCLIBC_HAS_LOCALE__
1215+ char* __old = strdup(setlocale(LC_ALL, NULL));
1216+ setlocale(LC_ALL, _M_name_messages);
1217+ char* __msg = gettext(_M_convert_to_char(__dfault));
1218+ setlocale(LC_ALL, __old);
1219+ free(__old);
1220+ return _M_convert_from_char(__msg);
1221+# else
1222+ char* __msg = gettext(_M_convert_to_char(__dfault));
1223+ return _M_convert_from_char(__msg);
1224+# endif
1225+ }
1226+#endif
1227+}
1228Index: gcc-4.5.0/libstdc++-v3/config/locale/uclibc/messages_members.h
1229===================================================================
1230--- /dev/null 1970-01-01 00:00:00.000000000 +0000
1231+++ gcc-4.5.0/libstdc++-v3/config/locale/uclibc/messages_members.h 2010-06-25 10:42:34.913881064 -0700
1232@@ -0,0 +1,118 @@
1233+// std::messages implementation details, GNU version -*- C++ -*-
1234+
1235+// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
1236+//
1237+// This file is part of the GNU ISO C++ Library. This library is free
1238+// software; you can redistribute it and/or modify it under the
1239+// terms of the GNU General Public License as published by the
1240+// Free Software Foundation; either version 2, or (at your option)
1241+// any later version.
1242+
1243+// This library is distributed in the hope that it will be useful,
1244+// but WITHOUT ANY WARRANTY; without even the implied warranty of
1245+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
1246+// GNU General Public License for more details.
1247+
1248+// You should have received a copy of the GNU General Public License along
1249+// with this library; see the file COPYING. If not, write to the Free
1250+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
1251+// USA.
1252+
1253+// As a special exception, you may use this file as part of a free software
1254+// library without restriction. Specifically, if other files instantiate
1255+// templates or use macros or inline functions from this file, or you compile
1256+// this file and link it with other files to produce an executable, this
1257+// file does not by itself cause the resulting executable to be covered by
1258+// the GNU General Public License. This exception does not however
1259+// invalidate any other reasons why the executable file might be covered by
1260+// the GNU General Public License.
1261+
1262+//
1263+// ISO C++ 14882: 22.2.7.1.2 messages functions
1264+//
1265+
1266+// Written by Benjamin Kosnik <bkoz@redhat.com>
1267+
1268+#ifdef __UCLIBC_MJN3_ONLY__
1269+#warning fix prototypes for *textdomain funcs
1270+#endif
1271+#ifdef __UCLIBC_HAS_GETTEXT_AWARENESS__
1272+extern "C" char *__textdomain(const char *domainname);
1273+extern "C" char *__bindtextdomain(const char *domainname,
1274+ const char *dirname);
1275+#else
1276+#undef __textdomain
1277+#undef __bindtextdomain
1278+#define __textdomain(D) ((void)0)
1279+#define __bindtextdomain(D,P) ((void)0)
1280+#endif
1281+
1282+ // Non-virtual member functions.
1283+ template<typename _CharT>
1284+ messages<_CharT>::messages(size_t __refs)
1285+ : facet(__refs), _M_c_locale_messages(_S_get_c_locale()),
1286+ _M_name_messages(_S_get_c_name())
1287+ { }
1288+
1289+ template<typename _CharT>
1290+ messages<_CharT>::messages(__c_locale __cloc, const char* __s,
1291+ size_t __refs)
1292+ : facet(__refs), _M_c_locale_messages(_S_clone_c_locale(__cloc)),
1293+ _M_name_messages(__s)
1294+ {
1295+ char* __tmp = new char[std::strlen(__s) + 1];
1296+ std::strcpy(__tmp, __s);
1297+ _M_name_messages = __tmp;
1298+ }
1299+
1300+ template<typename _CharT>
1301+ typename messages<_CharT>::catalog
1302+ messages<_CharT>::open(const basic_string<char>& __s, const locale& __loc,
1303+ const char* __dir) const
1304+ {
1305+ __bindtextdomain(__s.c_str(), __dir);
1306+ return this->do_open(__s, __loc);
1307+ }
1308+
1309+ // Virtual member functions.
1310+ template<typename _CharT>
1311+ messages<_CharT>::~messages()
1312+ {
1313+ if (_M_name_messages != _S_get_c_name())
1314+ delete [] _M_name_messages;
1315+ _S_destroy_c_locale(_M_c_locale_messages);
1316+ }
1317+
1318+ template<typename _CharT>
1319+ typename messages<_CharT>::catalog
1320+ messages<_CharT>::do_open(const basic_string<char>& __s,
1321+ const locale&) const
1322+ {
1323+ // No error checking is done, assume the catalog exists and can
1324+ // be used.
1325+ __textdomain(__s.c_str());
1326+ return 0;
1327+ }
1328+
1329+ template<typename _CharT>
1330+ void
1331+ messages<_CharT>::do_close(catalog) const
1332+ { }
1333+
1334+ // messages_byname
1335+ template<typename _CharT>
1336+ messages_byname<_CharT>::messages_byname(const char* __s, size_t __refs)
1337+ : messages<_CharT>(__refs)
1338+ {
1339+ if (this->_M_name_messages != locale::facet::_S_get_c_name())
1340+ delete [] this->_M_name_messages;
1341+ char* __tmp = new char[std::strlen(__s) + 1];
1342+ std::strcpy(__tmp, __s);
1343+ this->_M_name_messages = __tmp;
1344+
1345+ if (std::strcmp(__s, "C") != 0 && std::strcmp(__s, "POSIX") != 0)
1346+ {
1347+ this->_S_destroy_c_locale(this->_M_c_locale_messages);
1348+ this->_S_create_c_locale(this->_M_c_locale_messages, __s);
1349+ }
1350+ }
1351Index: gcc-4.5.0/libstdc++-v3/config/locale/uclibc/monetary_members.cc
1352===================================================================
1353--- /dev/null 1970-01-01 00:00:00.000000000 +0000
1354+++ gcc-4.5.0/libstdc++-v3/config/locale/uclibc/monetary_members.cc 2010-06-25 10:42:34.913881064 -0700
1355@@ -0,0 +1,692 @@
1356+// std::moneypunct implementation details, GNU version -*- C++ -*-
1357+
1358+// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
1359+//
1360+// This file is part of the GNU ISO C++ Library. This library is free
1361+// software; you can redistribute it and/or modify it under the
1362+// terms of the GNU General Public License as published by the
1363+// Free Software Foundation; either version 2, or (at your option)
1364+// any later version.
1365+
1366+// This library is distributed in the hope that it will be useful,
1367+// but WITHOUT ANY WARRANTY; without even the implied warranty of
1368+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
1369+// GNU General Public License for more details.
1370+
1371+// You should have received a copy of the GNU General Public License along
1372+// with this library; see the file COPYING. If not, write to the Free
1373+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
1374+// USA.
1375+
1376+// As a special exception, you may use this file as part of a free software
1377+// library without restriction. Specifically, if other files instantiate
1378+// templates or use macros or inline functions from this file, or you compile
1379+// this file and link it with other files to produce an executable, this
1380+// file does not by itself cause the resulting executable to be covered by
1381+// the GNU General Public License. This exception does not however
1382+// invalidate any other reasons why the executable file might be covered by
1383+// the GNU General Public License.
1384+
1385+//
1386+// ISO C++ 14882: 22.2.6.3.2 moneypunct virtual functions
1387+//
1388+
1389+// Written by Benjamin Kosnik <bkoz@redhat.com>
1390+
1391+#define _LIBC
1392+#include <locale>
1393+#undef _LIBC
1394+#include <bits/c++locale_internal.h>
1395+
1396+#ifdef __UCLIBC_MJN3_ONLY__
1397+#warning optimize this for uclibc
1398+#warning tailor for stub locale support
1399+#endif
1400+
1401+#ifndef __UCLIBC_HAS_XLOCALE__
1402+#define __nl_langinfo_l(N, L) nl_langinfo((N))
1403+#endif
1404+
1405+namespace std
1406+{
1407+ // Construct and return valid pattern consisting of some combination of:
1408+ // space none symbol sign value
1409+ money_base::pattern
1410+ money_base::_S_construct_pattern(char __precedes, char __space, char __posn)
1411+ {
1412+ pattern __ret;
1413+
1414+ // This insanely complicated routine attempts to construct a valid
1415+ // pattern for use with monyepunct. A couple of invariants:
1416+
1417+ // if (__precedes) symbol -> value
1418+ // else value -> symbol
1419+
1420+ // if (__space) space
1421+ // else none
1422+
1423+ // none == never first
1424+ // space never first or last
1425+
1426+ // Any elegant implementations of this are welcome.
1427+ switch (__posn)
1428+ {
1429+ case 0:
1430+ case 1:
1431+ // 1 The sign precedes the value and symbol.
1432+ __ret.field[0] = sign;
1433+ if (__space)
1434+ {
1435+ // Pattern starts with sign.
1436+ if (__precedes)
1437+ {
1438+ __ret.field[1] = symbol;
1439+ __ret.field[3] = value;
1440+ }
1441+ else
1442+ {
1443+ __ret.field[1] = value;
1444+ __ret.field[3] = symbol;
1445+ }
1446+ __ret.field[2] = space;
1447+ }
1448+ else
1449+ {
1450+ // Pattern starts with sign and ends with none.
1451+ if (__precedes)
1452+ {
1453+ __ret.field[1] = symbol;
1454+ __ret.field[2] = value;
1455+ }
1456+ else
1457+ {
1458+ __ret.field[1] = value;
1459+ __ret.field[2] = symbol;
1460+ }
1461+ __ret.field[3] = none;
1462+ }
1463+ break;
1464+ case 2:
1465+ // 2 The sign follows the value and symbol.
1466+ if (__space)
1467+ {
1468+ // Pattern either ends with sign.
1469+ if (__precedes)
1470+ {
1471+ __ret.field[0] = symbol;
1472+ __ret.field[2] = value;
1473+ }
1474+ else
1475+ {
1476+ __ret.field[0] = value;
1477+ __ret.field[2] = symbol;
1478+ }
1479+ __ret.field[1] = space;
1480+ __ret.field[3] = sign;
1481+ }
1482+ else
1483+ {
1484+ // Pattern ends with sign then none.
1485+ if (__precedes)
1486+ {
1487+ __ret.field[0] = symbol;
1488+ __ret.field[1] = value;
1489+ }
1490+ else
1491+ {
1492+ __ret.field[0] = value;
1493+ __ret.field[1] = symbol;
1494+ }
1495+ __ret.field[2] = sign;
1496+ __ret.field[3] = none;
1497+ }
1498+ break;
1499+ case 3:
1500+ // 3 The sign immediately precedes the symbol.
1501+ if (__precedes)
1502+ {
1503+ __ret.field[0] = sign;
1504+ __ret.field[1] = symbol;
1505+ if (__space)
1506+ {
1507+ __ret.field[2] = space;
1508+ __ret.field[3] = value;
1509+ }
1510+ else
1511+ {
1512+ __ret.field[2] = value;
1513+ __ret.field[3] = none;
1514+ }
1515+ }
1516+ else
1517+ {
1518+ __ret.field[0] = value;
1519+ if (__space)
1520+ {
1521+ __ret.field[1] = space;
1522+ __ret.field[2] = sign;
1523+ __ret.field[3] = symbol;
1524+ }
1525+ else
1526+ {
1527+ __ret.field[1] = sign;
1528+ __ret.field[2] = symbol;
1529+ __ret.field[3] = none;
1530+ }
1531+ }
1532+ break;
1533+ case 4:
1534+ // 4 The sign immediately follows the symbol.
1535+ if (__precedes)
1536+ {
1537+ __ret.field[0] = symbol;
1538+ __ret.field[1] = sign;
1539+ if (__space)
1540+ {
1541+ __ret.field[2] = space;
1542+ __ret.field[3] = value;
1543+ }
1544+ else
1545+ {
1546+ __ret.field[2] = value;
1547+ __ret.field[3] = none;
1548+ }
1549+ }
1550+ else
1551+ {
1552+ __ret.field[0] = value;
1553+ if (__space)
1554+ {
1555+ __ret.field[1] = space;
1556+ __ret.field[2] = symbol;
1557+ __ret.field[3] = sign;
1558+ }
1559+ else
1560+ {
1561+ __ret.field[1] = symbol;
1562+ __ret.field[2] = sign;
1563+ __ret.field[3] = none;
1564+ }
1565+ }
1566+ break;
1567+ default:
1568+ ;
1569+ }
1570+ return __ret;
1571+ }
1572+
1573+ template<>
1574+ void
1575+ moneypunct<char, true>::_M_initialize_moneypunct(__c_locale __cloc,
1576+ const char*)
1577+ {
1578+ if (!_M_data)
1579+ _M_data = new __moneypunct_cache<char, true>;
1580+
1581+ if (!__cloc)
1582+ {
1583+ // "C" locale
1584+ _M_data->_M_decimal_point = '.';
1585+ _M_data->_M_thousands_sep = ',';
1586+ _M_data->_M_grouping = "";
1587+ _M_data->_M_grouping_size = 0;
1588+ _M_data->_M_curr_symbol = "";
1589+ _M_data->_M_curr_symbol_size = 0;
1590+ _M_data->_M_positive_sign = "";
1591+ _M_data->_M_positive_sign_size = 0;
1592+ _M_data->_M_negative_sign = "";
1593+ _M_data->_M_negative_sign_size = 0;
1594+ _M_data->_M_frac_digits = 0;
1595+ _M_data->_M_pos_format = money_base::_S_default_pattern;
1596+ _M_data->_M_neg_format = money_base::_S_default_pattern;
1597+
1598+ for (size_t __i = 0; __i < money_base::_S_end; ++__i)
1599+ _M_data->_M_atoms[__i] = money_base::_S_atoms[__i];
1600+ }
1601+ else
1602+ {
1603+ // Named locale.
1604+ _M_data->_M_decimal_point = *(__nl_langinfo_l(__MON_DECIMAL_POINT,
1605+ __cloc));
1606+ _M_data->_M_thousands_sep = *(__nl_langinfo_l(__MON_THOUSANDS_SEP,
1607+ __cloc));
1608+ _M_data->_M_grouping = __nl_langinfo_l(__MON_GROUPING, __cloc);
1609+ _M_data->_M_grouping_size = strlen(_M_data->_M_grouping);
1610+ _M_data->_M_positive_sign = __nl_langinfo_l(__POSITIVE_SIGN, __cloc);
1611+ _M_data->_M_positive_sign_size = strlen(_M_data->_M_positive_sign);
1612+
1613+ char __nposn = *(__nl_langinfo_l(__INT_N_SIGN_POSN, __cloc));
1614+ if (!__nposn)
1615+ _M_data->_M_negative_sign = "()";
1616+ else
1617+ _M_data->_M_negative_sign = __nl_langinfo_l(__NEGATIVE_SIGN,
1618+ __cloc);
1619+ _M_data->_M_negative_sign_size = strlen(_M_data->_M_negative_sign);
1620+
1621+ // _Intl == true
1622+ _M_data->_M_curr_symbol = __nl_langinfo_l(__INT_CURR_SYMBOL, __cloc);
1623+ _M_data->_M_curr_symbol_size = strlen(_M_data->_M_curr_symbol);
1624+ _M_data->_M_frac_digits = *(__nl_langinfo_l(__INT_FRAC_DIGITS,
1625+ __cloc));
1626+ char __pprecedes = *(__nl_langinfo_l(__INT_P_CS_PRECEDES, __cloc));
1627+ char __pspace = *(__nl_langinfo_l(__INT_P_SEP_BY_SPACE, __cloc));
1628+ char __pposn = *(__nl_langinfo_l(__INT_P_SIGN_POSN, __cloc));
1629+ _M_data->_M_pos_format = _S_construct_pattern(__pprecedes, __pspace,
1630+ __pposn);
1631+ char __nprecedes = *(__nl_langinfo_l(__INT_N_CS_PRECEDES, __cloc));
1632+ char __nspace = *(__nl_langinfo_l(__INT_N_SEP_BY_SPACE, __cloc));
1633+ _M_data->_M_neg_format = _S_construct_pattern(__nprecedes, __nspace,
1634+ __nposn);
1635+ }
1636+ }
1637+
1638+ template<>
1639+ void
1640+ moneypunct<char, false>::_M_initialize_moneypunct(__c_locale __cloc,
1641+ const char*)
1642+ {
1643+ if (!_M_data)
1644+ _M_data = new __moneypunct_cache<char, false>;
1645+
1646+ if (!__cloc)
1647+ {
1648+ // "C" locale
1649+ _M_data->_M_decimal_point = '.';
1650+ _M_data->_M_thousands_sep = ',';
1651+ _M_data->_M_grouping = "";
1652+ _M_data->_M_grouping_size = 0;
1653+ _M_data->_M_curr_symbol = "";
1654+ _M_data->_M_curr_symbol_size = 0;
1655+ _M_data->_M_positive_sign = "";
1656+ _M_data->_M_positive_sign_size = 0;
1657+ _M_data->_M_negative_sign = "";
1658+ _M_data->_M_negative_sign_size = 0;
1659+ _M_data->_M_frac_digits = 0;
1660+ _M_data->_M_pos_format = money_base::_S_default_pattern;
1661+ _M_data->_M_neg_format = money_base::_S_default_pattern;
1662+
1663+ for (size_t __i = 0; __i < money_base::_S_end; ++__i)
1664+ _M_data->_M_atoms[__i] = money_base::_S_atoms[__i];
1665+ }
1666+ else
1667+ {
1668+ // Named locale.
1669+ _M_data->_M_decimal_point = *(__nl_langinfo_l(__MON_DECIMAL_POINT,
1670+ __cloc));
1671+ _M_data->_M_thousands_sep = *(__nl_langinfo_l(__MON_THOUSANDS_SEP,
1672+ __cloc));
1673+ _M_data->_M_grouping = __nl_langinfo_l(__MON_GROUPING, __cloc);
1674+ _M_data->_M_grouping_size = strlen(_M_data->_M_grouping);
1675+ _M_data->_M_positive_sign = __nl_langinfo_l(__POSITIVE_SIGN, __cloc);
1676+ _M_data->_M_positive_sign_size = strlen(_M_data->_M_positive_sign);
1677+
1678+ char __nposn = *(__nl_langinfo_l(__N_SIGN_POSN, __cloc));
1679+ if (!__nposn)
1680+ _M_data->_M_negative_sign = "()";
1681+ else
1682+ _M_data->_M_negative_sign = __nl_langinfo_l(__NEGATIVE_SIGN,
1683+ __cloc);
1684+ _M_data->_M_negative_sign_size = strlen(_M_data->_M_negative_sign);
1685+
1686+ // _Intl == false
1687+ _M_data->_M_curr_symbol = __nl_langinfo_l(__CURRENCY_SYMBOL, __cloc);
1688+ _M_data->_M_curr_symbol_size = strlen(_M_data->_M_curr_symbol);
1689+ _M_data->_M_frac_digits = *(__nl_langinfo_l(__FRAC_DIGITS, __cloc));
1690+ char __pprecedes = *(__nl_langinfo_l(__P_CS_PRECEDES, __cloc));
1691+ char __pspace = *(__nl_langinfo_l(__P_SEP_BY_SPACE, __cloc));
1692+ char __pposn = *(__nl_langinfo_l(__P_SIGN_POSN, __cloc));
1693+ _M_data->_M_pos_format = _S_construct_pattern(__pprecedes, __pspace,
1694+ __pposn);
1695+ char __nprecedes = *(__nl_langinfo_l(__N_CS_PRECEDES, __cloc));
1696+ char __nspace = *(__nl_langinfo_l(__N_SEP_BY_SPACE, __cloc));
1697+ _M_data->_M_neg_format = _S_construct_pattern(__nprecedes, __nspace,
1698+ __nposn);
1699+ }
1700+ }
1701+
1702+ template<>
1703+ moneypunct<char, true>::~moneypunct()
1704+ { delete _M_data; }
1705+
1706+ template<>
1707+ moneypunct<char, false>::~moneypunct()
1708+ { delete _M_data; }
1709+
1710+#ifdef _GLIBCXX_USE_WCHAR_T
1711+ template<>
1712+ void
1713+ moneypunct<wchar_t, true>::_M_initialize_moneypunct(__c_locale __cloc,
1714+#ifdef __UCLIBC_HAS_XLOCALE__
1715+ const char*)
1716+#else
1717+ const char* __name)
1718+#endif
1719+ {
1720+ if (!_M_data)
1721+ _M_data = new __moneypunct_cache<wchar_t, true>;
1722+
1723+ if (!__cloc)
1724+ {
1725+ // "C" locale
1726+ _M_data->_M_decimal_point = L'.';
1727+ _M_data->_M_thousands_sep = L',';
1728+ _M_data->_M_grouping = "";
1729+ _M_data->_M_grouping_size = 0;
1730+ _M_data->_M_curr_symbol = L"";
1731+ _M_data->_M_curr_symbol_size = 0;
1732+ _M_data->_M_positive_sign = L"";
1733+ _M_data->_M_positive_sign_size = 0;
1734+ _M_data->_M_negative_sign = L"";
1735+ _M_data->_M_negative_sign_size = 0;
1736+ _M_data->_M_frac_digits = 0;
1737+ _M_data->_M_pos_format = money_base::_S_default_pattern;
1738+ _M_data->_M_neg_format = money_base::_S_default_pattern;
1739+
1740+ // Use ctype::widen code without the facet...
1741+ for (size_t __i = 0; __i < money_base::_S_end; ++__i)
1742+ _M_data->_M_atoms[__i] =
1743+ static_cast<wchar_t>(money_base::_S_atoms[__i]);
1744+ }
1745+ else
1746+ {
1747+ // Named locale.
1748+#ifdef __UCLIBC_HAS_XLOCALE__
1749+ __c_locale __old = __uselocale(__cloc);
1750+#else
1751+ // Switch to named locale so that mbsrtowcs will work.
1752+ char* __old = strdup(setlocale(LC_ALL, NULL));
1753+ setlocale(LC_ALL, __name);
1754+#endif
1755+
1756+#ifdef __UCLIBC_MJN3_ONLY__
1757+#warning fix this... should be monetary
1758+#endif
1759+#ifdef __UCLIBC__
1760+# ifdef __UCLIBC_HAS_XLOCALE__
1761+ _M_data->_M_decimal_point = __cloc->decimal_point_wc;
1762+ _M_data->_M_thousands_sep = __cloc->thousands_sep_wc;
1763+# else
1764+ _M_data->_M_decimal_point = __global_locale->decimal_point_wc;
1765+ _M_data->_M_thousands_sep = __global_locale->thousands_sep_wc;
1766+# endif
1767+#else
1768+ union { char *__s; wchar_t __w; } __u;
1769+ __u.__s = __nl_langinfo_l(_NL_MONETARY_DECIMAL_POINT_WC, __cloc);
1770+ _M_data->_M_decimal_point = __u.__w;
1771+
1772+ __u.__s = __nl_langinfo_l(_NL_MONETARY_THOUSANDS_SEP_WC, __cloc);
1773+ _M_data->_M_thousands_sep = __u.__w;
1774+#endif
1775+ _M_data->_M_grouping = __nl_langinfo_l(__MON_GROUPING, __cloc);
1776+ _M_data->_M_grouping_size = strlen(_M_data->_M_grouping);
1777+
1778+ const char* __cpossign = __nl_langinfo_l(__POSITIVE_SIGN, __cloc);
1779+ const char* __cnegsign = __nl_langinfo_l(__NEGATIVE_SIGN, __cloc);
1780+ const char* __ccurr = __nl_langinfo_l(__INT_CURR_SYMBOL, __cloc);
1781+
1782+ wchar_t* __wcs_ps = 0;
1783+ wchar_t* __wcs_ns = 0;
1784+ const char __nposn = *(__nl_langinfo_l(__INT_N_SIGN_POSN, __cloc));
1785+ try
1786+ {
1787+ mbstate_t __state;
1788+ size_t __len = strlen(__cpossign);
1789+ if (__len)
1790+ {
1791+ ++__len;
1792+ memset(&__state, 0, sizeof(mbstate_t));
1793+ __wcs_ps = new wchar_t[__len];
1794+ mbsrtowcs(__wcs_ps, &__cpossign, __len, &__state);
1795+ _M_data->_M_positive_sign = __wcs_ps;
1796+ }
1797+ else
1798+ _M_data->_M_positive_sign = L"";
1799+ _M_data->_M_positive_sign_size = wcslen(_M_data->_M_positive_sign);
1800+
1801+ __len = strlen(__cnegsign);
1802+ if (!__nposn)
1803+ _M_data->_M_negative_sign = L"()";
1804+ else if (__len)
1805+ {
1806+ ++__len;
1807+ memset(&__state, 0, sizeof(mbstate_t));
1808+ __wcs_ns = new wchar_t[__len];
1809+ mbsrtowcs(__wcs_ns, &__cnegsign, __len, &__state);
1810+ _M_data->_M_negative_sign = __wcs_ns;
1811+ }
1812+ else
1813+ _M_data->_M_negative_sign = L"";
1814+ _M_data->_M_negative_sign_size = wcslen(_M_data->_M_negative_sign);
1815+
1816+ // _Intl == true.
1817+ __len = strlen(__ccurr);
1818+ if (__len)
1819+ {
1820+ ++__len;
1821+ memset(&__state, 0, sizeof(mbstate_t));
1822+ wchar_t* __wcs = new wchar_t[__len];
1823+ mbsrtowcs(__wcs, &__ccurr, __len, &__state);
1824+ _M_data->_M_curr_symbol = __wcs;
1825+ }
1826+ else
1827+ _M_data->_M_curr_symbol = L"";
1828+ _M_data->_M_curr_symbol_size = wcslen(_M_data->_M_curr_symbol);
1829+ }
1830+ catch (...)
1831+ {
1832+ delete _M_data;
1833+ _M_data = 0;
1834+ delete __wcs_ps;
1835+ delete __wcs_ns;
1836+#ifdef __UCLIBC_HAS_XLOCALE__
1837+ __uselocale(__old);
1838+#else
1839+ setlocale(LC_ALL, __old);
1840+ free(__old);
1841+#endif
1842+ __throw_exception_again;
1843+ }
1844+
1845+ _M_data->_M_frac_digits = *(__nl_langinfo_l(__INT_FRAC_DIGITS,
1846+ __cloc));
1847+ char __pprecedes = *(__nl_langinfo_l(__INT_P_CS_PRECEDES, __cloc));
1848+ char __pspace = *(__nl_langinfo_l(__INT_P_SEP_BY_SPACE, __cloc));
1849+ char __pposn = *(__nl_langinfo_l(__INT_P_SIGN_POSN, __cloc));
1850+ _M_data->_M_pos_format = _S_construct_pattern(__pprecedes, __pspace,
1851+ __pposn);
1852+ char __nprecedes = *(__nl_langinfo_l(__INT_N_CS_PRECEDES, __cloc));
1853+ char __nspace = *(__nl_langinfo_l(__INT_N_SEP_BY_SPACE, __cloc));
1854+ _M_data->_M_neg_format = _S_construct_pattern(__nprecedes, __nspace,
1855+ __nposn);
1856+
1857+#ifdef __UCLIBC_HAS_XLOCALE__
1858+ __uselocale(__old);
1859+#else
1860+ setlocale(LC_ALL, __old);
1861+ free(__old);
1862+#endif
1863+ }
1864+ }
1865+
1866+ template<>
1867+ void
1868+ moneypunct<wchar_t, false>::_M_initialize_moneypunct(__c_locale __cloc,
1869+#ifdef __UCLIBC_HAS_XLOCALE__
1870+ const char*)
1871+#else
1872+ const char* __name)
1873+#endif
1874+ {
1875+ if (!_M_data)
1876+ _M_data = new __moneypunct_cache<wchar_t, false>;
1877+
1878+ if (!__cloc)
1879+ {
1880+ // "C" locale
1881+ _M_data->_M_decimal_point = L'.';
1882+ _M_data->_M_thousands_sep = L',';
1883+ _M_data->_M_grouping = "";
1884+ _M_data->_M_grouping_size = 0;
1885+ _M_data->_M_curr_symbol = L"";
1886+ _M_data->_M_curr_symbol_size = 0;
1887+ _M_data->_M_positive_sign = L"";
1888+ _M_data->_M_positive_sign_size = 0;
1889+ _M_data->_M_negative_sign = L"";
1890+ _M_data->_M_negative_sign_size = 0;
1891+ _M_data->_M_frac_digits = 0;
1892+ _M_data->_M_pos_format = money_base::_S_default_pattern;
1893+ _M_data->_M_neg_format = money_base::_S_default_pattern;
1894+
1895+ // Use ctype::widen code without the facet...
1896+ for (size_t __i = 0; __i < money_base::_S_end; ++__i)
1897+ _M_data->_M_atoms[__i] =
1898+ static_cast<wchar_t>(money_base::_S_atoms[__i]);
1899+ }
1900+ else
1901+ {
1902+ // Named locale.
1903+#ifdef __UCLIBC_HAS_XLOCALE__
1904+ __c_locale __old = __uselocale(__cloc);
1905+#else
1906+ // Switch to named locale so that mbsrtowcs will work.
1907+ char* __old = strdup(setlocale(LC_ALL, NULL));
1908+ setlocale(LC_ALL, __name);
1909+#endif
1910+
1911+#ifdef __UCLIBC_MJN3_ONLY__
1912+#warning fix this... should be monetary
1913+#endif
1914+#ifdef __UCLIBC__
1915+# ifdef __UCLIBC_HAS_XLOCALE__
1916+ _M_data->_M_decimal_point = __cloc->decimal_point_wc;
1917+ _M_data->_M_thousands_sep = __cloc->thousands_sep_wc;
1918+# else
1919+ _M_data->_M_decimal_point = __global_locale->decimal_point_wc;
1920+ _M_data->_M_thousands_sep = __global_locale->thousands_sep_wc;
1921+# endif
1922+#else
1923+ union { char *__s; wchar_t __w; } __u;
1924+ __u.__s = __nl_langinfo_l(_NL_MONETARY_DECIMAL_POINT_WC, __cloc);
1925+ _M_data->_M_decimal_point = __u.__w;
1926+
1927+ __u.__s = __nl_langinfo_l(_NL_MONETARY_THOUSANDS_SEP_WC, __cloc);
1928+ _M_data->_M_thousands_sep = __u.__w;
1929+#endif
1930+ _M_data->_M_grouping = __nl_langinfo_l(__MON_GROUPING, __cloc);
1931+ _M_data->_M_grouping_size = strlen(_M_data->_M_grouping);
1932+
1933+ const char* __cpossign = __nl_langinfo_l(__POSITIVE_SIGN, __cloc);
1934+ const char* __cnegsign = __nl_langinfo_l(__NEGATIVE_SIGN, __cloc);
1935+ const char* __ccurr = __nl_langinfo_l(__CURRENCY_SYMBOL, __cloc);
1936+
1937+ wchar_t* __wcs_ps = 0;
1938+ wchar_t* __wcs_ns = 0;
1939+ const char __nposn = *(__nl_langinfo_l(__N_SIGN_POSN, __cloc));
1940+ try
1941+ {
1942+ mbstate_t __state;
1943+ size_t __len;
1944+ __len = strlen(__cpossign);
1945+ if (__len)
1946+ {
1947+ ++__len;
1948+ memset(&__state, 0, sizeof(mbstate_t));
1949+ __wcs_ps = new wchar_t[__len];
1950+ mbsrtowcs(__wcs_ps, &__cpossign, __len, &__state);
1951+ _M_data->_M_positive_sign = __wcs_ps;
1952+ }
1953+ else
1954+ _M_data->_M_positive_sign = L"";
1955+ _M_data->_M_positive_sign_size = wcslen(_M_data->_M_positive_sign);
1956+
1957+ __len = strlen(__cnegsign);
1958+ if (!__nposn)
1959+ _M_data->_M_negative_sign = L"()";
1960+ else if (__len)
1961+ {
1962+ ++__len;
1963+ memset(&__state, 0, sizeof(mbstate_t));
1964+ __wcs_ns = new wchar_t[__len];
1965+ mbsrtowcs(__wcs_ns, &__cnegsign, __len, &__state);
1966+ _M_data->_M_negative_sign = __wcs_ns;
1967+ }
1968+ else
1969+ _M_data->_M_negative_sign = L"";
1970+ _M_data->_M_negative_sign_size = wcslen(_M_data->_M_negative_sign);
1971+
1972+ // _Intl == true.
1973+ __len = strlen(__ccurr);
1974+ if (__len)
1975+ {
1976+ ++__len;
1977+ memset(&__state, 0, sizeof(mbstate_t));
1978+ wchar_t* __wcs = new wchar_t[__len];
1979+ mbsrtowcs(__wcs, &__ccurr, __len, &__state);
1980+ _M_data->_M_curr_symbol = __wcs;
1981+ }
1982+ else
1983+ _M_data->_M_curr_symbol = L"";
1984+ _M_data->_M_curr_symbol_size = wcslen(_M_data->_M_curr_symbol);
1985+ }
1986+ catch (...)
1987+ {
1988+ delete _M_data;
1989+ _M_data = 0;
1990+ delete __wcs_ps;
1991+ delete __wcs_ns;
1992+#ifdef __UCLIBC_HAS_XLOCALE__
1993+ __uselocale(__old);
1994+#else
1995+ setlocale(LC_ALL, __old);
1996+ free(__old);
1997+#endif
1998+ __throw_exception_again;
1999+ }
2000+
2001+ _M_data->_M_frac_digits = *(__nl_langinfo_l(__FRAC_DIGITS, __cloc));
2002+ char __pprecedes = *(__nl_langinfo_l(__P_CS_PRECEDES, __cloc));
2003+ char __pspace = *(__nl_langinfo_l(__P_SEP_BY_SPACE, __cloc));
2004+ char __pposn = *(__nl_langinfo_l(__P_SIGN_POSN, __cloc));
2005+ _M_data->_M_pos_format = _S_construct_pattern(__pprecedes, __pspace,
2006+ __pposn);
2007+ char __nprecedes = *(__nl_langinfo_l(__N_CS_PRECEDES, __cloc));
2008+ char __nspace = *(__nl_langinfo_l(__N_SEP_BY_SPACE, __cloc));
2009+ _M_data->_M_neg_format = _S_construct_pattern(__nprecedes, __nspace,
2010+ __nposn);
2011+
2012+#ifdef __UCLIBC_HAS_XLOCALE__
2013+ __uselocale(__old);
2014+#else
2015+ setlocale(LC_ALL, __old);
2016+ free(__old);
2017+#endif
2018+ }
2019+ }
2020+
2021+ template<>
2022+ moneypunct<wchar_t, true>::~moneypunct()
2023+ {
2024+ if (_M_data->_M_positive_sign_size)
2025+ delete [] _M_data->_M_positive_sign;
2026+ if (_M_data->_M_negative_sign_size
2027+ && wcscmp(_M_data->_M_negative_sign, L"()") != 0)
2028+ delete [] _M_data->_M_negative_sign;
2029+ if (_M_data->_M_curr_symbol_size)
2030+ delete [] _M_data->_M_curr_symbol;
2031+ delete _M_data;
2032+ }
2033+
2034+ template<>
2035+ moneypunct<wchar_t, false>::~moneypunct()
2036+ {
2037+ if (_M_data->_M_positive_sign_size)
2038+ delete [] _M_data->_M_positive_sign;
2039+ if (_M_data->_M_negative_sign_size
2040+ && wcscmp(_M_data->_M_negative_sign, L"()") != 0)
2041+ delete [] _M_data->_M_negative_sign;
2042+ if (_M_data->_M_curr_symbol_size)
2043+ delete [] _M_data->_M_curr_symbol;
2044+ delete _M_data;
2045+ }
2046+#endif
2047+}
2048Index: gcc-4.5.0/libstdc++-v3/config/locale/uclibc/numeric_members.cc
2049===================================================================
2050--- /dev/null 1970-01-01 00:00:00.000000000 +0000
2051+++ gcc-4.5.0/libstdc++-v3/config/locale/uclibc/numeric_members.cc 2010-06-25 10:42:34.913881064 -0700
2052@@ -0,0 +1,160 @@
2053+// std::numpunct implementation details, GNU version -*- C++ -*-
2054+
2055+// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
2056+//
2057+// This file is part of the GNU ISO C++ Library. This library is free
2058+// software; you can redistribute it and/or modify it under the
2059+// terms of the GNU General Public License as published by the
2060+// Free Software Foundation; either version 2, or (at your option)
2061+// any later version.
2062+
2063+// This library is distributed in the hope that it will be useful,
2064+// but WITHOUT ANY WARRANTY; without even the implied warranty of
2065+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
2066+// GNU General Public License for more details.
2067+
2068+// You should have received a copy of the GNU General Public License along
2069+// with this library; see the file COPYING. If not, write to the Free
2070+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
2071+// USA.
2072+
2073+// As a special exception, you may use this file as part of a free software
2074+// library without restriction. Specifically, if other files instantiate
2075+// templates or use macros or inline functions from this file, or you compile
2076+// this file and link it with other files to produce an executable, this
2077+// file does not by itself cause the resulting executable to be covered by
2078+// the GNU General Public License. This exception does not however
2079+// invalidate any other reasons why the executable file might be covered by
2080+// the GNU General Public License.
2081+
2082+//
2083+// ISO C++ 14882: 22.2.3.1.2 numpunct virtual functions
2084+//
2085+
2086+// Written by Benjamin Kosnik <bkoz@redhat.com>
2087+
2088+#define _LIBC
2089+#include <locale>
2090+#undef _LIBC
2091+#include <bits/c++locale_internal.h>
2092+
2093+#ifdef __UCLIBC_MJN3_ONLY__
2094+#warning tailor for stub locale support
2095+#endif
2096+#ifndef __UCLIBC_HAS_XLOCALE__
2097+#define __nl_langinfo_l(N, L) nl_langinfo((N))
2098+#endif
2099+
2100+namespace std
2101+{
2102+ template<>
2103+ void
2104+ numpunct<char>::_M_initialize_numpunct(__c_locale __cloc)
2105+ {
2106+ if (!_M_data)
2107+ _M_data = new __numpunct_cache<char>;
2108+
2109+ if (!__cloc)
2110+ {
2111+ // "C" locale
2112+ _M_data->_M_grouping = "";
2113+ _M_data->_M_grouping_size = 0;
2114+ _M_data->_M_use_grouping = false;
2115+
2116+ _M_data->_M_decimal_point = '.';
2117+ _M_data->_M_thousands_sep = ',';
2118+
2119+ for (size_t __i = 0; __i < __num_base::_S_oend; ++__i)
2120+ _M_data->_M_atoms_out[__i] = __num_base::_S_atoms_out[__i];
2121+
2122+ for (size_t __j = 0; __j < __num_base::_S_iend; ++__j)
2123+ _M_data->_M_atoms_in[__j] = __num_base::_S_atoms_in[__j];
2124+ }
2125+ else
2126+ {
2127+ // Named locale.
2128+ _M_data->_M_decimal_point = *(__nl_langinfo_l(DECIMAL_POINT,
2129+ __cloc));
2130+ _M_data->_M_thousands_sep = *(__nl_langinfo_l(THOUSANDS_SEP,
2131+ __cloc));
2132+
2133+ // Check for NULL, which implies no grouping.
2134+ if (_M_data->_M_thousands_sep == '\0')
2135+ _M_data->_M_grouping = "";
2136+ else
2137+ _M_data->_M_grouping = __nl_langinfo_l(GROUPING, __cloc);
2138+ _M_data->_M_grouping_size = strlen(_M_data->_M_grouping);
2139+ }
2140+
2141+ // NB: There is no way to extact this info from posix locales.
2142+ // _M_truename = __nl_langinfo_l(YESSTR, __cloc);
2143+ _M_data->_M_truename = "true";
2144+ _M_data->_M_truename_size = 4;
2145+ // _M_falsename = __nl_langinfo_l(NOSTR, __cloc);
2146+ _M_data->_M_falsename = "false";
2147+ _M_data->_M_falsename_size = 5;
2148+ }
2149+
2150+ template<>
2151+ numpunct<char>::~numpunct()
2152+ { delete _M_data; }
2153+
2154+#ifdef _GLIBCXX_USE_WCHAR_T
2155+ template<>
2156+ void
2157+ numpunct<wchar_t>::_M_initialize_numpunct(__c_locale __cloc)
2158+ {
2159+ if (!_M_data)
2160+ _M_data = new __numpunct_cache<wchar_t>;
2161+
2162+ if (!__cloc)
2163+ {
2164+ // "C" locale
2165+ _M_data->_M_grouping = "";
2166+ _M_data->_M_grouping_size = 0;
2167+ _M_data->_M_use_grouping = false;
2168+
2169+ _M_data->_M_decimal_point = L'.';
2170+ _M_data->_M_thousands_sep = L',';
2171+
2172+ // Use ctype::widen code without the facet...
2173+ for (size_t __i = 0; __i < __num_base::_S_oend; ++__i)
2174+ _M_data->_M_atoms_out[__i] =
2175+ static_cast<wchar_t>(__num_base::_S_atoms_out[__i]);
2176+
2177+ for (size_t __j = 0; __j < __num_base::_S_iend; ++__j)
2178+ _M_data->_M_atoms_in[__j] =
2179+ static_cast<wchar_t>(__num_base::_S_atoms_in[__j]);
2180+ }
2181+ else
2182+ {
2183+ // Named locale.
2184+ // NB: In the GNU model wchar_t is always 32 bit wide.
2185+ union { char *__s; wchar_t __w; } __u;
2186+ __u.__s = __nl_langinfo_l(_NL_NUMERIC_DECIMAL_POINT_WC, __cloc);
2187+ _M_data->_M_decimal_point = __u.__w;
2188+
2189+ __u.__s = __nl_langinfo_l(_NL_NUMERIC_THOUSANDS_SEP_WC, __cloc);
2190+ _M_data->_M_thousands_sep = __u.__w;
2191+
2192+ if (_M_data->_M_thousands_sep == L'\0')
2193+ _M_data->_M_grouping = "";
2194+ else
2195+ _M_data->_M_grouping = __nl_langinfo_l(GROUPING, __cloc);
2196+ _M_data->_M_grouping_size = strlen(_M_data->_M_grouping);
2197+ }
2198+
2199+ // NB: There is no way to extact this info from posix locales.
2200+ // _M_truename = __nl_langinfo_l(YESSTR, __cloc);
2201+ _M_data->_M_truename = L"true";
2202+ _M_data->_M_truename_size = 4;
2203+ // _M_falsename = __nl_langinfo_l(NOSTR, __cloc);
2204+ _M_data->_M_falsename = L"false";
2205+ _M_data->_M_falsename_size = 5;
2206+ }
2207+
2208+ template<>
2209+ numpunct<wchar_t>::~numpunct()
2210+ { delete _M_data; }
2211+ #endif
2212+}
2213Index: gcc-4.5.0/libstdc++-v3/config/locale/uclibc/time_members.cc
2214===================================================================
2215--- /dev/null 1970-01-01 00:00:00.000000000 +0000
2216+++ gcc-4.5.0/libstdc++-v3/config/locale/uclibc/time_members.cc 2010-06-25 10:42:34.913881064 -0700
2217@@ -0,0 +1,406 @@
2218+// std::time_get, std::time_put implementation, GNU version -*- C++ -*-
2219+
2220+// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
2221+//
2222+// This file is part of the GNU ISO C++ Library. This library is free
2223+// software; you can redistribute it and/or modify it under the
2224+// terms of the GNU General Public License as published by the
2225+// Free Software Foundation; either version 2, or (at your option)
2226+// any later version.
2227+
2228+// This library is distributed in the hope that it will be useful,
2229+// but WITHOUT ANY WARRANTY; without even the implied warranty of
2230+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
2231+// GNU General Public License for more details.
2232+
2233+// You should have received a copy of the GNU General Public License along
2234+// with this library; see the file COPYING. If not, write to the Free
2235+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
2236+// USA.
2237+
2238+// As a special exception, you may use this file as part of a free software
2239+// library without restriction. Specifically, if other files instantiate
2240+// templates or use macros or inline functions from this file, or you compile
2241+// this file and link it with other files to produce an executable, this
2242+// file does not by itself cause the resulting executable to be covered by
2243+// the GNU General Public License. This exception does not however
2244+// invalidate any other reasons why the executable file might be covered by
2245+// the GNU General Public License.
2246+
2247+//
2248+// ISO C++ 14882: 22.2.5.1.2 - time_get virtual functions
2249+// ISO C++ 14882: 22.2.5.3.2 - time_put virtual functions
2250+//
2251+
2252+// Written by Benjamin Kosnik <bkoz@redhat.com>
2253+
2254+#include <locale>
2255+#include <bits/c++locale_internal.h>
2256+
2257+#ifdef __UCLIBC_MJN3_ONLY__
2258+#warning tailor for stub locale support
2259+#endif
2260+#ifndef __UCLIBC_HAS_XLOCALE__
2261+#define __nl_langinfo_l(N, L) nl_langinfo((N))
2262+#endif
2263+
2264+namespace std
2265+{
2266+ template<>
2267+ void
2268+ __timepunct<char>::
2269+ _M_put(char* __s, size_t __maxlen, const char* __format,
2270+ const tm* __tm) const
2271+ {
2272+#ifdef __UCLIBC_HAS_XLOCALE__
2273+ const size_t __len = __strftime_l(__s, __maxlen, __format, __tm,
2274+ _M_c_locale_timepunct);
2275+#else
2276+ char* __old = strdup(setlocale(LC_ALL, NULL));
2277+ setlocale(LC_ALL, _M_name_timepunct);
2278+ const size_t __len = strftime(__s, __maxlen, __format, __tm);
2279+ setlocale(LC_ALL, __old);
2280+ free(__old);
2281+#endif
2282+ // Make sure __s is null terminated.
2283+ if (__len == 0)
2284+ __s[0] = '\0';
2285+ }
2286+
2287+ template<>
2288+ void
2289+ __timepunct<char>::_M_initialize_timepunct(__c_locale __cloc)
2290+ {
2291+ if (!_M_data)
2292+ _M_data = new __timepunct_cache<char>;
2293+
2294+ if (!__cloc)
2295+ {
2296+ // "C" locale
2297+ _M_c_locale_timepunct = _S_get_c_locale();
2298+
2299+ _M_data->_M_date_format = "%m/%d/%y";
2300+ _M_data->_M_date_era_format = "%m/%d/%y";
2301+ _M_data->_M_time_format = "%H:%M:%S";
2302+ _M_data->_M_time_era_format = "%H:%M:%S";
2303+ _M_data->_M_date_time_format = "";
2304+ _M_data->_M_date_time_era_format = "";
2305+ _M_data->_M_am = "AM";
2306+ _M_data->_M_pm = "PM";
2307+ _M_data->_M_am_pm_format = "";
2308+
2309+ // Day names, starting with "C"'s Sunday.
2310+ _M_data->_M_day1 = "Sunday";
2311+ _M_data->_M_day2 = "Monday";
2312+ _M_data->_M_day3 = "Tuesday";
2313+ _M_data->_M_day4 = "Wednesday";
2314+ _M_data->_M_day5 = "Thursday";
2315+ _M_data->_M_day6 = "Friday";
2316+ _M_data->_M_day7 = "Saturday";
2317+
2318+ // Abbreviated day names, starting with "C"'s Sun.
2319+ _M_data->_M_aday1 = "Sun";
2320+ _M_data->_M_aday2 = "Mon";
2321+ _M_data->_M_aday3 = "Tue";
2322+ _M_data->_M_aday4 = "Wed";
2323+ _M_data->_M_aday5 = "Thu";
2324+ _M_data->_M_aday6 = "Fri";
2325+ _M_data->_M_aday7 = "Sat";
2326+
2327+ // Month names, starting with "C"'s January.
2328+ _M_data->_M_month01 = "January";
2329+ _M_data->_M_month02 = "February";
2330+ _M_data->_M_month03 = "March";
2331+ _M_data->_M_month04 = "April";
2332+ _M_data->_M_month05 = "May";
2333+ _M_data->_M_month06 = "June";
2334+ _M_data->_M_month07 = "July";
2335+ _M_data->_M_month08 = "August";
2336+ _M_data->_M_month09 = "September";
2337+ _M_data->_M_month10 = "October";
2338+ _M_data->_M_month11 = "November";
2339+ _M_data->_M_month12 = "December";
2340+
2341+ // Abbreviated month names, starting with "C"'s Jan.
2342+ _M_data->_M_amonth01 = "Jan";
2343+ _M_data->_M_amonth02 = "Feb";
2344+ _M_data->_M_amonth03 = "Mar";
2345+ _M_data->_M_amonth04 = "Apr";
2346+ _M_data->_M_amonth05 = "May";
2347+ _M_data->_M_amonth06 = "Jun";
2348+ _M_data->_M_amonth07 = "Jul";
2349+ _M_data->_M_amonth08 = "Aug";
2350+ _M_data->_M_amonth09 = "Sep";
2351+ _M_data->_M_amonth10 = "Oct";
2352+ _M_data->_M_amonth11 = "Nov";
2353+ _M_data->_M_amonth12 = "Dec";
2354+ }
2355+ else
2356+ {
2357+ _M_c_locale_timepunct = _S_clone_c_locale(__cloc);
2358+
2359+ _M_data->_M_date_format = __nl_langinfo_l(D_FMT, __cloc);
2360+ _M_data->_M_date_era_format = __nl_langinfo_l(ERA_D_FMT, __cloc);
2361+ _M_data->_M_time_format = __nl_langinfo_l(T_FMT, __cloc);
2362+ _M_data->_M_time_era_format = __nl_langinfo_l(ERA_T_FMT, __cloc);
2363+ _M_data->_M_date_time_format = __nl_langinfo_l(D_T_FMT, __cloc);
2364+ _M_data->_M_date_time_era_format = __nl_langinfo_l(ERA_D_T_FMT,
2365+ __cloc);
2366+ _M_data->_M_am = __nl_langinfo_l(AM_STR, __cloc);
2367+ _M_data->_M_pm = __nl_langinfo_l(PM_STR, __cloc);
2368+ _M_data->_M_am_pm_format = __nl_langinfo_l(T_FMT_AMPM, __cloc);
2369+
2370+ // Day names, starting with "C"'s Sunday.
2371+ _M_data->_M_day1 = __nl_langinfo_l(DAY_1, __cloc);
2372+ _M_data->_M_day2 = __nl_langinfo_l(DAY_2, __cloc);
2373+ _M_data->_M_day3 = __nl_langinfo_l(DAY_3, __cloc);
2374+ _M_data->_M_day4 = __nl_langinfo_l(DAY_4, __cloc);
2375+ _M_data->_M_day5 = __nl_langinfo_l(DAY_5, __cloc);
2376+ _M_data->_M_day6 = __nl_langinfo_l(DAY_6, __cloc);
2377+ _M_data->_M_day7 = __nl_langinfo_l(DAY_7, __cloc);
2378+
2379+ // Abbreviated day names, starting with "C"'s Sun.
2380+ _M_data->_M_aday1 = __nl_langinfo_l(ABDAY_1, __cloc);
2381+ _M_data->_M_aday2 = __nl_langinfo_l(ABDAY_2, __cloc);
2382+ _M_data->_M_aday3 = __nl_langinfo_l(ABDAY_3, __cloc);
2383+ _M_data->_M_aday4 = __nl_langinfo_l(ABDAY_4, __cloc);
2384+ _M_data->_M_aday5 = __nl_langinfo_l(ABDAY_5, __cloc);
2385+ _M_data->_M_aday6 = __nl_langinfo_l(ABDAY_6, __cloc);
2386+ _M_data->_M_aday7 = __nl_langinfo_l(ABDAY_7, __cloc);
2387+
2388+ // Month names, starting with "C"'s January.
2389+ _M_data->_M_month01 = __nl_langinfo_l(MON_1, __cloc);
2390+ _M_data->_M_month02 = __nl_langinfo_l(MON_2, __cloc);
2391+ _M_data->_M_month03 = __nl_langinfo_l(MON_3, __cloc);
2392+ _M_data->_M_month04 = __nl_langinfo_l(MON_4, __cloc);
2393+ _M_data->_M_month05 = __nl_langinfo_l(MON_5, __cloc);
2394+ _M_data->_M_month06 = __nl_langinfo_l(MON_6, __cloc);
2395+ _M_data->_M_month07 = __nl_langinfo_l(MON_7, __cloc);
2396+ _M_data->_M_month08 = __nl_langinfo_l(MON_8, __cloc);
2397+ _M_data->_M_month09 = __nl_langinfo_l(MON_9, __cloc);
2398+ _M_data->_M_month10 = __nl_langinfo_l(MON_10, __cloc);
2399+ _M_data->_M_month11 = __nl_langinfo_l(MON_11, __cloc);
2400+ _M_data->_M_month12 = __nl_langinfo_l(MON_12, __cloc);
2401+
2402+ // Abbreviated month names, starting with "C"'s Jan.
2403+ _M_data->_M_amonth01 = __nl_langinfo_l(ABMON_1, __cloc);
2404+ _M_data->_M_amonth02 = __nl_langinfo_l(ABMON_2, __cloc);
2405+ _M_data->_M_amonth03 = __nl_langinfo_l(ABMON_3, __cloc);
2406+ _M_data->_M_amonth04 = __nl_langinfo_l(ABMON_4, __cloc);
2407+ _M_data->_M_amonth05 = __nl_langinfo_l(ABMON_5, __cloc);
2408+ _M_data->_M_amonth06 = __nl_langinfo_l(ABMON_6, __cloc);
2409+ _M_data->_M_amonth07 = __nl_langinfo_l(ABMON_7, __cloc);
2410+ _M_data->_M_amonth08 = __nl_langinfo_l(ABMON_8, __cloc);
2411+ _M_data->_M_amonth09 = __nl_langinfo_l(ABMON_9, __cloc);
2412+ _M_data->_M_amonth10 = __nl_langinfo_l(ABMON_10, __cloc);
2413+ _M_data->_M_amonth11 = __nl_langinfo_l(ABMON_11, __cloc);
2414+ _M_data->_M_amonth12 = __nl_langinfo_l(ABMON_12, __cloc);
2415+ }
2416+ }
2417+
2418+#ifdef _GLIBCXX_USE_WCHAR_T
2419+ template<>
2420+ void
2421+ __timepunct<wchar_t>::
2422+ _M_put(wchar_t* __s, size_t __maxlen, const wchar_t* __format,
2423+ const tm* __tm) const
2424+ {
2425+#ifdef __UCLIBC_HAS_XLOCALE__
2426+ __wcsftime_l(__s, __maxlen, __format, __tm, _M_c_locale_timepunct);
2427+ const size_t __len = __wcsftime_l(__s, __maxlen, __format, __tm,
2428+ _M_c_locale_timepunct);
2429+#else
2430+ char* __old = strdup(setlocale(LC_ALL, NULL));
2431+ setlocale(LC_ALL, _M_name_timepunct);
2432+ const size_t __len = wcsftime(__s, __maxlen, __format, __tm);
2433+ setlocale(LC_ALL, __old);
2434+ free(__old);
2435+#endif
2436+ // Make sure __s is null terminated.
2437+ if (__len == 0)
2438+ __s[0] = L'\0';
2439+ }
2440+
2441+ template<>
2442+ void
2443+ __timepunct<wchar_t>::_M_initialize_timepunct(__c_locale __cloc)
2444+ {
2445+ if (!_M_data)
2446+ _M_data = new __timepunct_cache<wchar_t>;
2447+
2448+#warning wide time stuff
2449+// if (!__cloc)
2450+ {
2451+ // "C" locale
2452+ _M_c_locale_timepunct = _S_get_c_locale();
2453+
2454+ _M_data->_M_date_format = L"%m/%d/%y";
2455+ _M_data->_M_date_era_format = L"%m/%d/%y";
2456+ _M_data->_M_time_format = L"%H:%M:%S";
2457+ _M_data->_M_time_era_format = L"%H:%M:%S";
2458+ _M_data->_M_date_time_format = L"";
2459+ _M_data->_M_date_time_era_format = L"";
2460+ _M_data->_M_am = L"AM";
2461+ _M_data->_M_pm = L"PM";
2462+ _M_data->_M_am_pm_format = L"";
2463+
2464+ // Day names, starting with "C"'s Sunday.
2465+ _M_data->_M_day1 = L"Sunday";
2466+ _M_data->_M_day2 = L"Monday";
2467+ _M_data->_M_day3 = L"Tuesday";
2468+ _M_data->_M_day4 = L"Wednesday";
2469+ _M_data->_M_day5 = L"Thursday";
2470+ _M_data->_M_day6 = L"Friday";
2471+ _M_data->_M_day7 = L"Saturday";
2472+
2473+ // Abbreviated day names, starting with "C"'s Sun.
2474+ _M_data->_M_aday1 = L"Sun";
2475+ _M_data->_M_aday2 = L"Mon";
2476+ _M_data->_M_aday3 = L"Tue";
2477+ _M_data->_M_aday4 = L"Wed";
2478+ _M_data->_M_aday5 = L"Thu";
2479+ _M_data->_M_aday6 = L"Fri";
2480+ _M_data->_M_aday7 = L"Sat";
2481+
2482+ // Month names, starting with "C"'s January.
2483+ _M_data->_M_month01 = L"January";
2484+ _M_data->_M_month02 = L"February";
2485+ _M_data->_M_month03 = L"March";
2486+ _M_data->_M_month04 = L"April";
2487+ _M_data->_M_month05 = L"May";
2488+ _M_data->_M_month06 = L"June";
2489+ _M_data->_M_month07 = L"July";
2490+ _M_data->_M_month08 = L"August";
2491+ _M_data->_M_month09 = L"September";
2492+ _M_data->_M_month10 = L"October";
2493+ _M_data->_M_month11 = L"November";
2494+ _M_data->_M_month12 = L"December";
2495+
2496+ // Abbreviated month names, starting with "C"'s Jan.
2497+ _M_data->_M_amonth01 = L"Jan";
2498+ _M_data->_M_amonth02 = L"Feb";
2499+ _M_data->_M_amonth03 = L"Mar";
2500+ _M_data->_M_amonth04 = L"Apr";
2501+ _M_data->_M_amonth05 = L"May";
2502+ _M_data->_M_amonth06 = L"Jun";
2503+ _M_data->_M_amonth07 = L"Jul";
2504+ _M_data->_M_amonth08 = L"Aug";
2505+ _M_data->_M_amonth09 = L"Sep";
2506+ _M_data->_M_amonth10 = L"Oct";
2507+ _M_data->_M_amonth11 = L"Nov";
2508+ _M_data->_M_amonth12 = L"Dec";
2509+ }
2510+#if 0
2511+ else
2512+ {
2513+ _M_c_locale_timepunct = _S_clone_c_locale(__cloc);
2514+
2515+ union { char *__s; wchar_t *__w; } __u;
2516+
2517+ __u.__s = __nl_langinfo_l(_NL_WD_FMT, __cloc);
2518+ _M_data->_M_date_format = __u.__w;
2519+ __u.__s = __nl_langinfo_l(_NL_WERA_D_FMT, __cloc);
2520+ _M_data->_M_date_era_format = __u.__w;
2521+ __u.__s = __nl_langinfo_l(_NL_WT_FMT, __cloc);
2522+ _M_data->_M_time_format = __u.__w;
2523+ __u.__s = __nl_langinfo_l(_NL_WERA_T_FMT, __cloc);
2524+ _M_data->_M_time_era_format = __u.__w;
2525+ __u.__s = __nl_langinfo_l(_NL_WD_T_FMT, __cloc);
2526+ _M_data->_M_date_time_format = __u.__w;
2527+ __u.__s = __nl_langinfo_l(_NL_WERA_D_T_FMT, __cloc);
2528+ _M_data->_M_date_time_era_format = __u.__w;
2529+ __u.__s = __nl_langinfo_l(_NL_WAM_STR, __cloc);
2530+ _M_data->_M_am = __u.__w;
2531+ __u.__s = __nl_langinfo_l(_NL_WPM_STR, __cloc);
2532+ _M_data->_M_pm = __u.__w;
2533+ __u.__s = __nl_langinfo_l(_NL_WT_FMT_AMPM, __cloc);
2534+ _M_data->_M_am_pm_format = __u.__w;
2535+
2536+ // Day names, starting with "C"'s Sunday.
2537+ __u.__s = __nl_langinfo_l(_NL_WDAY_1, __cloc);
2538+ _M_data->_M_day1 = __u.__w;
2539+ __u.__s = __nl_langinfo_l(_NL_WDAY_2, __cloc);
2540+ _M_data->_M_day2 = __u.__w;
2541+ __u.__s = __nl_langinfo_l(_NL_WDAY_3, __cloc);
2542+ _M_data->_M_day3 = __u.__w;
2543+ __u.__s = __nl_langinfo_l(_NL_WDAY_4, __cloc);
2544+ _M_data->_M_day4 = __u.__w;
2545+ __u.__s = __nl_langinfo_l(_NL_WDAY_5, __cloc);
2546+ _M_data->_M_day5 = __u.__w;
2547+ __u.__s = __nl_langinfo_l(_NL_WDAY_6, __cloc);
2548+ _M_data->_M_day6 = __u.__w;
2549+ __u.__s = __nl_langinfo_l(_NL_WDAY_7, __cloc);
2550+ _M_data->_M_day7 = __u.__w;
2551+
2552+ // Abbreviated day names, starting with "C"'s Sun.
2553+ __u.__s = __nl_langinfo_l(_NL_WABDAY_1, __cloc);
2554+ _M_data->_M_aday1 = __u.__w;
2555+ __u.__s = __nl_langinfo_l(_NL_WABDAY_2, __cloc);
2556+ _M_data->_M_aday2 = __u.__w;
2557+ __u.__s = __nl_langinfo_l(_NL_WABDAY_3, __cloc);
2558+ _M_data->_M_aday3 = __u.__w;
2559+ __u.__s = __nl_langinfo_l(_NL_WABDAY_4, __cloc);
2560+ _M_data->_M_aday4 = __u.__w;
2561+ __u.__s = __nl_langinfo_l(_NL_WABDAY_5, __cloc);
2562+ _M_data->_M_aday5 = __u.__w;
2563+ __u.__s = __nl_langinfo_l(_NL_WABDAY_6, __cloc);
2564+ _M_data->_M_aday6 = __u.__w;
2565+ __u.__s = __nl_langinfo_l(_NL_WABDAY_7, __cloc);
2566+ _M_data->_M_aday7 = __u.__w;
2567+
2568+ // Month names, starting with "C"'s January.
2569+ __u.__s = __nl_langinfo_l(_NL_WMON_1, __cloc);
2570+ _M_data->_M_month01 = __u.__w;
2571+ __u.__s = __nl_langinfo_l(_NL_WMON_2, __cloc);
2572+ _M_data->_M_month02 = __u.__w;
2573+ __u.__s = __nl_langinfo_l(_NL_WMON_3, __cloc);
2574+ _M_data->_M_month03 = __u.__w;
2575+ __u.__s = __nl_langinfo_l(_NL_WMON_4, __cloc);
2576+ _M_data->_M_month04 = __u.__w;
2577+ __u.__s = __nl_langinfo_l(_NL_WMON_5, __cloc);
2578+ _M_data->_M_month05 = __u.__w;
2579+ __u.__s = __nl_langinfo_l(_NL_WMON_6, __cloc);
2580+ _M_data->_M_month06 = __u.__w;
2581+ __u.__s = __nl_langinfo_l(_NL_WMON_7, __cloc);
2582+ _M_data->_M_month07 = __u.__w;
2583+ __u.__s = __nl_langinfo_l(_NL_WMON_8, __cloc);
2584+ _M_data->_M_month08 = __u.__w;
2585+ __u.__s = __nl_langinfo_l(_NL_WMON_9, __cloc);
2586+ _M_data->_M_month09 = __u.__w;
2587+ __u.__s = __nl_langinfo_l(_NL_WMON_10, __cloc);
2588+ _M_data->_M_month10 = __u.__w;
2589+ __u.__s = __nl_langinfo_l(_NL_WMON_11, __cloc);
2590+ _M_data->_M_month11 = __u.__w;
2591+ __u.__s = __nl_langinfo_l(_NL_WMON_12, __cloc);
2592+ _M_data->_M_month12 = __u.__w;
2593+
2594+ // Abbreviated month names, starting with "C"'s Jan.
2595+ __u.__s = __nl_langinfo_l(_NL_WABMON_1, __cloc);
2596+ _M_data->_M_amonth01 = __u.__w;
2597+ __u.__s = __nl_langinfo_l(_NL_WABMON_2, __cloc);
2598+ _M_data->_M_amonth02 = __u.__w;
2599+ __u.__s = __nl_langinfo_l(_NL_WABMON_3, __cloc);
2600+ _M_data->_M_amonth03 = __u.__w;
2601+ __u.__s = __nl_langinfo_l(_NL_WABMON_4, __cloc);
2602+ _M_data->_M_amonth04 = __u.__w;
2603+ __u.__s = __nl_langinfo_l(_NL_WABMON_5, __cloc);
2604+ _M_data->_M_amonth05 = __u.__w;
2605+ __u.__s = __nl_langinfo_l(_NL_WABMON_6, __cloc);
2606+ _M_data->_M_amonth06 = __u.__w;
2607+ __u.__s = __nl_langinfo_l(_NL_WABMON_7, __cloc);
2608+ _M_data->_M_amonth07 = __u.__w;
2609+ __u.__s = __nl_langinfo_l(_NL_WABMON_8, __cloc);
2610+ _M_data->_M_amonth08 = __u.__w;
2611+ __u.__s = __nl_langinfo_l(_NL_WABMON_9, __cloc);
2612+ _M_data->_M_amonth09 = __u.__w;
2613+ __u.__s = __nl_langinfo_l(_NL_WABMON_10, __cloc);
2614+ _M_data->_M_amonth10 = __u.__w;
2615+ __u.__s = __nl_langinfo_l(_NL_WABMON_11, __cloc);
2616+ _M_data->_M_amonth11 = __u.__w;
2617+ __u.__s = __nl_langinfo_l(_NL_WABMON_12, __cloc);
2618+ _M_data->_M_amonth12 = __u.__w;
2619+ }
2620+#endif // 0
2621+ }
2622+#endif
2623+}
2624Index: gcc-4.5.0/libstdc++-v3/config/locale/uclibc/time_members.h
2625===================================================================
2626--- /dev/null 1970-01-01 00:00:00.000000000 +0000
2627+++ gcc-4.5.0/libstdc++-v3/config/locale/uclibc/time_members.h 2010-06-25 10:42:34.913881064 -0700
2628@@ -0,0 +1,68 @@
2629+// std::time_get, std::time_put implementation, GNU version -*- C++ -*-
2630+
2631+// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
2632+//
2633+// This file is part of the GNU ISO C++ Library. This library is free
2634+// software; you can redistribute it and/or modify it under the
2635+// terms of the GNU General Public License as published by the
2636+// Free Software Foundation; either version 2, or (at your option)
2637+// any later version.
2638+
2639+// This library is distributed in the hope that it will be useful,
2640+// but WITHOUT ANY WARRANTY; without even the implied warranty of
2641+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
2642+// GNU General Public License for more details.
2643+
2644+// You should have received a copy of the GNU General Public License along
2645+// with this library; see the file COPYING. If not, write to the Free
2646+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
2647+// USA.
2648+
2649+// As a special exception, you may use this file as part of a free software
2650+// library without restriction. Specifically, if other files instantiate
2651+// templates or use macros or inline functions from this file, or you compile
2652+// this file and link it with other files to produce an executable, this
2653+// file does not by itself cause the resulting executable to be covered by
2654+// the GNU General Public License. This exception does not however
2655+// invalidate any other reasons why the executable file might be covered by
2656+// the GNU General Public License.
2657+
2658+//
2659+// ISO C++ 14882: 22.2.5.1.2 - time_get functions
2660+// ISO C++ 14882: 22.2.5.3.2 - time_put functions
2661+//
2662+
2663+// Written by Benjamin Kosnik <bkoz@redhat.com>
2664+
2665+ template<typename _CharT>
2666+ __timepunct<_CharT>::__timepunct(size_t __refs)
2667+ : facet(__refs), _M_data(NULL), _M_c_locale_timepunct(NULL),
2668+ _M_name_timepunct(_S_get_c_name())
2669+ { _M_initialize_timepunct(); }
2670+
2671+ template<typename _CharT>
2672+ __timepunct<_CharT>::__timepunct(__cache_type* __cache, size_t __refs)
2673+ : facet(__refs), _M_data(__cache), _M_c_locale_timepunct(NULL),
2674+ _M_name_timepunct(_S_get_c_name())
2675+ { _M_initialize_timepunct(); }
2676+
2677+ template<typename _CharT>
2678+ __timepunct<_CharT>::__timepunct(__c_locale __cloc, const char* __s,
2679+ size_t __refs)
2680+ : facet(__refs), _M_data(NULL), _M_c_locale_timepunct(NULL),
2681+ _M_name_timepunct(__s)
2682+ {
2683+ char* __tmp = new char[std::strlen(__s) + 1];
2684+ std::strcpy(__tmp, __s);
2685+ _M_name_timepunct = __tmp;
2686+ _M_initialize_timepunct(__cloc);
2687+ }
2688+
2689+ template<typename _CharT>
2690+ __timepunct<_CharT>::~__timepunct()
2691+ {
2692+ if (_M_name_timepunct != _S_get_c_name())
2693+ delete [] _M_name_timepunct;
2694+ delete _M_data;
2695+ _S_destroy_c_locale(_M_c_locale_timepunct);
2696+ }
2697Index: gcc-4.5.0/libstdc++-v3/configure
2698===================================================================
2699--- gcc-4.5.0.orig/libstdc++-v3/configure 2010-04-05 18:27:44.000000000 -0700
2700+++ gcc-4.5.0/libstdc++-v3/configure 2010-06-25 10:48:10.124633072 -0700
2701@@ -15577,7 +15577,7 @@
2702 if test "${enable_clocale+set}" = set; then :
2703 enableval=$enable_clocale;
2704 case "$enableval" in
2705- generic|gnu|ieee_1003.1-2001|yes|no|auto) ;;
2706+ generic|gnu|ieee_1003.1-2001|uclibc|yes|no|auto) ;;
2707 *) as_fn_error "Unknown argument to enable/disable clocale" "$LINENO" 5 ;;
2708 esac
2709
2710@@ -15609,6 +15609,9 @@
2711 # Default to "generic".
2712 if test $enable_clocale_flag = auto; then
2713 case ${target_os} in
2714+ *-uclibc*)
2715+ enable_clocale_flag=uclibc
2716+ ;;
2717 linux* | gnu* | kfreebsd*-gnu | knetbsd*-gnu)
2718 enable_clocale_flag=gnu
2719 ;;
2720@@ -15885,6 +15888,76 @@
2721 CTIME_CC=config/locale/generic/time_members.cc
2722 CLOCALE_INTERNAL_H=config/locale/generic/c++locale_internal.h
2723 ;;
2724+ uclibc)
2725+ echo "$as_me:$LINENO: result: uclibc" >&5
2726+echo "${ECHO_T}uclibc" >&6
2727+
2728+ # Declare intention to use gettext, and add support for specific
2729+ # languages.
2730+ # For some reason, ALL_LINGUAS has to be before AM-GNU-GETTEXT
2731+ ALL_LINGUAS="de fr"
2732+
2733+ # Don't call AM-GNU-GETTEXT here. Instead, assume glibc.
2734+ # Extract the first word of "msgfmt", so it can be a program name with args.
2735+set dummy msgfmt; ac_word=$2
2736+echo "$as_me:$LINENO: checking for $ac_word" >&5
2737+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
2738+if test "${ac_cv_prog_check_msgfmt+set}" = set; then
2739+ echo $ECHO_N "(cached) $ECHO_C" >&6
2740+else
2741+ if test -n "$check_msgfmt"; then
2742+ ac_cv_prog_check_msgfmt="$check_msgfmt" # Let the user override the test.
2743+else
2744+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
2745+for as_dir in $PATH
2746+do
2747+ IFS=$as_save_IFS
2748+ test -z "$as_dir" && as_dir=.
2749+ for ac_exec_ext in '' $ac_executable_extensions; do
2750+ if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
2751+ ac_cv_prog_check_msgfmt="yes"
2752+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
2753+ break 2
2754+ fi
2755+done
2756+done
2757+
2758+ test -z "$ac_cv_prog_check_msgfmt" && ac_cv_prog_check_msgfmt="no"
2759+fi
2760+fi
2761+check_msgfmt=$ac_cv_prog_check_msgfmt
2762+if test -n "$check_msgfmt"; then
2763+ echo "$as_me:$LINENO: result: $check_msgfmt" >&5
2764+echo "${ECHO_T}$check_msgfmt" >&6
2765+else
2766+ echo "$as_me:$LINENO: result: no" >&5
2767+echo "${ECHO_T}no" >&6
2768+fi
2769+
2770+ if test x"$check_msgfmt" = x"yes" && test x"$enable_nls" = x"yes"; then
2771+ USE_NLS=yes
2772+ fi
2773+ # Export the build objects.
2774+ for ling in $ALL_LINGUAS; do \
2775+ glibcxx_MOFILES="$glibcxx_MOFILES $ling.mo"; \
2776+ glibcxx_POFILES="$glibcxx_POFILES $ling.po"; \
2777+ done
2778+
2779+
2780+
2781+ CLOCALE_H=config/locale/uclibc/c_locale.h
2782+ CLOCALE_CC=config/locale/uclibc/c_locale.cc
2783+ CCODECVT_CC=config/locale/uclibc/codecvt_members.cc
2784+ CCOLLATE_CC=config/locale/uclibc/collate_members.cc
2785+ CCTYPE_CC=config/locale/uclibc/ctype_members.cc
2786+ CMESSAGES_H=config/locale/uclibc/messages_members.h
2787+ CMESSAGES_CC=config/locale/uclibc/messages_members.cc
2788+ CMONEY_CC=config/locale/uclibc/monetary_members.cc
2789+ CNUMERIC_CC=config/locale/uclibc/numeric_members.cc
2790+ CTIME_H=config/locale/uclibc/time_members.h
2791+ CTIME_CC=config/locale/uclibc/time_members.cc
2792+ CLOCALE_INTERNAL_H=config/locale/uclibc/c++locale_internal.h
2793+ ;;
2794 esac
2795
2796 # This is where the testsuite looks for locale catalogs, using the
2797@@ -16940,6 +17013,7 @@
2798
2799 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
2800 /* end confdefs.h. */
2801+#line 17016 "configure"
2802 #include <wctype.h>
2803 int
2804 main ()
2805@@ -58165,7 +58239,6 @@
2806 fi
2807 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
2808 /* end confdefs.h. */
2809-
2810 int
2811 main ()
2812 {
2813Index: gcc-4.5.0/libstdc++-v3/include/c_compatibility/wchar.h
2814===================================================================
2815--- gcc-4.5.0.orig/libstdc++-v3/include/c_compatibility/wchar.h 2009-04-09 08:00:19.000000000 -0700
2816+++ gcc-4.5.0/libstdc++-v3/include/c_compatibility/wchar.h 2010-06-25 10:42:34.949880937 -0700
2817@@ -101,7 +101,9 @@
2818 using std::wmemcpy;
2819 using std::wmemmove;
2820 using std::wmemset;
2821+#if _GLIBCXX_HAVE_WCSFTIME
2822 using std::wcsftime;
2823+#endif
2824
2825 #if _GLIBCXX_USE_C99
2826 using std::wcstold;
2827Index: gcc-4.5.0/libstdc++-v3/include/c_std/cwchar
2828===================================================================
2829--- gcc-4.5.0.orig/libstdc++-v3/include/c_std/cwchar 2010-02-04 10:20:34.000000000 -0800
2830+++ gcc-4.5.0/libstdc++-v3/include/c_std/cwchar 2010-06-25 10:42:34.949880937 -0700
2831@@ -177,7 +177,9 @@
2832 using ::wcscoll;
2833 using ::wcscpy;
2834 using ::wcscspn;
2835+#if _GLIBCXX_HAVE_WCSFTIME
2836 using ::wcsftime;
2837+#endif
2838 using ::wcslen;
2839 using ::wcsncat;
2840 using ::wcsncmp;
diff --git a/recipes-devtools/gcc/gcc-4.5/203-uclibc-locale-no__x.patch b/recipes-devtools/gcc/gcc-4.5/203-uclibc-locale-no__x.patch
new file mode 100644
index 0000000000..f39e65220c
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/203-uclibc-locale-no__x.patch
@@ -0,0 +1,233 @@
1Index: gcc-4.3.1/libstdc++-v3/config/locale/uclibc/c++locale_internal.h
2===================================================================
3--- gcc-4.3.1.orig/libstdc++-v3/config/locale/uclibc/c++locale_internal.h 2008-08-16 01:29:20.000000000 -0700
4+++ gcc-4.3.1/libstdc++-v3/config/locale/uclibc/c++locale_internal.h 2008-08-16 01:33:23.000000000 -0700
5@@ -60,4 +60,49 @@
6 extern "C" __typeof(wctype_l) __wctype_l;
7 #endif
8
9+# define __nl_langinfo_l nl_langinfo_l
10+# define __strcoll_l strcoll_l
11+# define __strftime_l strftime_l
12+# define __strtod_l strtod_l
13+# define __strtof_l strtof_l
14+# define __strtold_l strtold_l
15+# define __strxfrm_l strxfrm_l
16+# define __newlocale newlocale
17+# define __freelocale freelocale
18+# define __duplocale duplocale
19+# define __uselocale uselocale
20+
21+# ifdef _GLIBCXX_USE_WCHAR_T
22+# define __iswctype_l iswctype_l
23+# define __towlower_l towlower_l
24+# define __towupper_l towupper_l
25+# define __wcscoll_l wcscoll_l
26+# define __wcsftime_l wcsftime_l
27+# define __wcsxfrm_l wcsxfrm_l
28+# define __wctype_l wctype_l
29+# endif
30+
31+#else
32+# define __nl_langinfo_l(N, L) nl_langinfo((N))
33+# define __strcoll_l(S1, S2, L) strcoll((S1), (S2))
34+# define __strtod_l(S, E, L) strtod((S), (E))
35+# define __strtof_l(S, E, L) strtof((S), (E))
36+# define __strtold_l(S, E, L) strtold((S), (E))
37+# define __strxfrm_l(S1, S2, N, L) strxfrm((S1), (S2), (N))
38+# warning should dummy __newlocale check for C|POSIX ?
39+# define __newlocale(a, b, c) NULL
40+# define __freelocale(a) ((void)0)
41+# define __duplocale(a) __c_locale()
42+//# define __uselocale ?
43+//
44+# ifdef _GLIBCXX_USE_WCHAR_T
45+# define __iswctype_l(C, M, L) iswctype((C), (M))
46+# define __towlower_l(C, L) towlower((C))
47+# define __towupper_l(C, L) towupper((C))
48+# define __wcscoll_l(S1, S2, L) wcscoll((S1), (S2))
49+//# define __wcsftime_l(S, M, F, T, L) wcsftime((S), (M), (F), (T))
50+# define __wcsxfrm_l(S1, S2, N, L) wcsxfrm((S1), (S2), (N))
51+# define __wctype_l(S, L) wctype((S))
52+# endif
53+
54 #endif // GLIBC 2.3 and later
55Index: gcc-4.3.1/libstdc++-v3/config/locale/uclibc/c_locale.cc
56===================================================================
57--- gcc-4.3.1.orig/libstdc++-v3/config/locale/uclibc/c_locale.cc 2008-08-16 01:29:20.000000000 -0700
58+++ gcc-4.3.1/libstdc++-v3/config/locale/uclibc/c_locale.cc 2008-08-16 01:33:00.000000000 -0700
59@@ -39,20 +39,6 @@
60 #include <langinfo.h>
61 #include <bits/c++locale_internal.h>
62
63-#ifndef __UCLIBC_HAS_XLOCALE__
64-#define __strtol_l(S, E, B, L) strtol((S), (E), (B))
65-#define __strtoul_l(S, E, B, L) strtoul((S), (E), (B))
66-#define __strtoll_l(S, E, B, L) strtoll((S), (E), (B))
67-#define __strtoull_l(S, E, B, L) strtoull((S), (E), (B))
68-#define __strtof_l(S, E, L) strtof((S), (E))
69-#define __strtod_l(S, E, L) strtod((S), (E))
70-#define __strtold_l(S, E, L) strtold((S), (E))
71-#warning should dummy __newlocale check for C|POSIX ?
72-#define __newlocale(a, b, c) NULL
73-#define __freelocale(a) ((void)0)
74-#define __duplocale(a) __c_locale()
75-#endif
76-
77 namespace std
78 {
79 template<>
80Index: gcc-4.3.1/libstdc++-v3/config/locale/uclibc/collate_members.cc
81===================================================================
82--- gcc-4.3.1.orig/libstdc++-v3/config/locale/uclibc/collate_members.cc 2008-08-16 01:29:20.000000000 -0700
83+++ gcc-4.3.1/libstdc++-v3/config/locale/uclibc/collate_members.cc 2008-08-16 01:30:31.000000000 -0700
84@@ -36,13 +36,6 @@
85 #include <locale>
86 #include <bits/c++locale_internal.h>
87
88-#ifndef __UCLIBC_HAS_XLOCALE__
89-#define __strcoll_l(S1, S2, L) strcoll((S1), (S2))
90-#define __strxfrm_l(S1, S2, N, L) strxfrm((S1), (S2), (N))
91-#define __wcscoll_l(S1, S2, L) wcscoll((S1), (S2))
92-#define __wcsxfrm_l(S1, S2, N, L) wcsxfrm((S1), (S2), (N))
93-#endif
94-
95 namespace std
96 {
97 // These are basically extensions to char_traits, and perhaps should
98Index: gcc-4.3.1/libstdc++-v3/config/locale/uclibc/monetary_members.cc
99===================================================================
100--- gcc-4.3.1.orig/libstdc++-v3/config/locale/uclibc/monetary_members.cc 2008-08-16 01:29:20.000000000 -0700
101+++ gcc-4.3.1/libstdc++-v3/config/locale/uclibc/monetary_members.cc 2008-08-16 01:30:31.000000000 -0700
102@@ -43,10 +43,6 @@
103 #warning tailor for stub locale support
104 #endif
105
106-#ifndef __UCLIBC_HAS_XLOCALE__
107-#define __nl_langinfo_l(N, L) nl_langinfo((N))
108-#endif
109-
110 namespace std
111 {
112 // Construct and return valid pattern consisting of some combination of:
113Index: gcc-4.3.1/libstdc++-v3/config/locale/uclibc/numeric_members.cc
114===================================================================
115--- gcc-4.3.1.orig/libstdc++-v3/config/locale/uclibc/numeric_members.cc 2008-08-16 01:29:20.000000000 -0700
116+++ gcc-4.3.1/libstdc++-v3/config/locale/uclibc/numeric_members.cc 2008-08-16 01:30:31.000000000 -0700
117@@ -41,9 +41,6 @@
118 #ifdef __UCLIBC_MJN3_ONLY__
119 #warning tailor for stub locale support
120 #endif
121-#ifndef __UCLIBC_HAS_XLOCALE__
122-#define __nl_langinfo_l(N, L) nl_langinfo((N))
123-#endif
124
125 namespace std
126 {
127Index: gcc-4.3.1/libstdc++-v3/config/locale/uclibc/time_members.cc
128===================================================================
129--- gcc-4.3.1.orig/libstdc++-v3/config/locale/uclibc/time_members.cc 2008-08-16 01:29:20.000000000 -0700
130+++ gcc-4.3.1/libstdc++-v3/config/locale/uclibc/time_members.cc 2008-08-16 01:30:31.000000000 -0700
131@@ -40,9 +40,6 @@
132 #ifdef __UCLIBC_MJN3_ONLY__
133 #warning tailor for stub locale support
134 #endif
135-#ifndef __UCLIBC_HAS_XLOCALE__
136-#define __nl_langinfo_l(N, L) nl_langinfo((N))
137-#endif
138
139 namespace std
140 {
141Index: gcc-4.3.1/libstdc++-v3/config/locale/uclibc/ctype_members.cc
142===================================================================
143--- gcc-4.3.1.orig/libstdc++-v3/config/locale/uclibc/ctype_members.cc 2008-08-16 01:29:20.000000000 -0700
144+++ gcc-4.3.1/libstdc++-v3/config/locale/uclibc/ctype_members.cc 2008-08-16 01:30:31.000000000 -0700
145@@ -38,13 +38,6 @@
146 #undef _LIBC
147 #include <bits/c++locale_internal.h>
148
149-#ifndef __UCLIBC_HAS_XLOCALE__
150-#define __wctype_l(S, L) wctype((S))
151-#define __towupper_l(C, L) towupper((C))
152-#define __towlower_l(C, L) towlower((C))
153-#define __iswctype_l(C, M, L) iswctype((C), (M))
154-#endif
155-
156 namespace std
157 {
158 // NB: The other ctype<char> specializations are in src/locale.cc and
159Index: gcc-4.3.1/libstdc++-v3/config/locale/uclibc/messages_members.cc
160===================================================================
161--- gcc-4.3.1.orig/libstdc++-v3/config/locale/uclibc/messages_members.cc 2008-08-16 01:27:18.000000000 -0700
162+++ gcc-4.3.1/libstdc++-v3/config/locale/uclibc/messages_members.cc 2008-08-16 01:30:31.000000000 -0700
163@@ -39,13 +39,10 @@
164 #ifdef __UCLIBC_MJN3_ONLY__
165 #warning fix gettext stuff
166 #endif
167-#ifdef __UCLIBC_HAS_GETTEXT_AWARENESS__
168-extern "C" char *__dcgettext(const char *domainname,
169- const char *msgid, int category);
170 #undef gettext
171-#define gettext(msgid) __dcgettext(NULL, msgid, LC_MESSAGES)
172+#ifdef __UCLIBC_HAS_GETTEXT_AWARENESS__
173+#define gettext(msgid) dcgettext(NULL, msgid, LC_MESSAGES)
174 #else
175-#undef gettext
176 #define gettext(msgid) (msgid)
177 #endif
178
179Index: gcc-4.3.1/libstdc++-v3/config/locale/uclibc/messages_members.h
180===================================================================
181--- gcc-4.3.1.orig/libstdc++-v3/config/locale/uclibc/messages_members.h 2008-08-16 01:29:20.000000000 -0700
182+++ gcc-4.3.1/libstdc++-v3/config/locale/uclibc/messages_members.h 2008-08-16 01:31:43.000000000 -0700
183@@ -36,15 +36,11 @@
184 #ifdef __UCLIBC_MJN3_ONLY__
185 #warning fix prototypes for *textdomain funcs
186 #endif
187-#ifdef __UCLIBC_HAS_GETTEXT_AWARENESS__
188-extern "C" char *__textdomain(const char *domainname);
189-extern "C" char *__bindtextdomain(const char *domainname,
190- const char *dirname);
191-#else
192-#undef __textdomain
193-#undef __bindtextdomain
194-#define __textdomain(D) ((void)0)
195-#define __bindtextdomain(D,P) ((void)0)
196+#ifndef __UCLIBC_HAS_GETTEXT_AWARENESS__
197+#undef textdomain
198+#undef bindtextdomain
199+#define textdomain(D) ((void)0)
200+#define bindtextdomain(D,P) ((void)0)
201 #endif
202
203 // Non-virtual member functions.
204@@ -70,7 +66,7 @@
205 messages<_CharT>::open(const basic_string<char>& __s, const locale& __loc,
206 const char* __dir) const
207 {
208- __bindtextdomain(__s.c_str(), __dir);
209+ bindtextdomain(__s.c_str(), __dir);
210 return this->do_open(__s, __loc);
211 }
212
213@@ -90,7 +86,7 @@
214 {
215 // No error checking is done, assume the catalog exists and can
216 // be used.
217- __textdomain(__s.c_str());
218+ textdomain(__s.c_str());
219 return 0;
220 }
221
222Index: gcc-4.3.1/libstdc++-v3/config/locale/uclibc/c_locale.h
223===================================================================
224--- gcc-4.3.1.orig/libstdc++-v3/config/locale/uclibc/c_locale.h 2008-08-16 01:29:20.000000000 -0700
225+++ gcc-4.3.1/libstdc++-v3/config/locale/uclibc/c_locale.h 2008-08-16 01:30:31.000000000 -0700
226@@ -68,6 +68,7 @@
227 {
228 extern "C" __typeof(uselocale) __uselocale;
229 }
230+#define __uselocale uselocale
231 #endif
232
233 namespace std
diff --git a/recipes-devtools/gcc/gcc-4.5/204-uclibc-locale-wchar_fix.patch b/recipes-devtools/gcc/gcc-4.5/204-uclibc-locale-wchar_fix.patch
new file mode 100644
index 0000000000..160ab35bb3
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/204-uclibc-locale-wchar_fix.patch
@@ -0,0 +1,48 @@
1--- gcc/libstdc++-v3/config/locale/uclibc/monetary_members.cc.uclibc200_wchar~ 2006-03-10 15:32:37 +0100
2+++ gcc/libstdc++-v3/config/locale/uclibc/monetary_members.cc 2006-03-10 15:37:27 +0100
3@@ -401,7 +401,7 @@
4 # ifdef __UCLIBC_HAS_XLOCALE__
5 _M_data->_M_decimal_point = __cloc->decimal_point_wc;
6 _M_data->_M_thousands_sep = __cloc->thousands_sep_wc;
7-# else
8+# elif defined __UCLIBC_HAS_LOCALE__
9 _M_data->_M_decimal_point = __global_locale->decimal_point_wc;
10 _M_data->_M_thousands_sep = __global_locale->thousands_sep_wc;
11 # endif
12@@ -556,7 +556,7 @@
13 # ifdef __UCLIBC_HAS_XLOCALE__
14 _M_data->_M_decimal_point = __cloc->decimal_point_wc;
15 _M_data->_M_thousands_sep = __cloc->thousands_sep_wc;
16-# else
17+# elif defined __UCLIBC_HAS_LOCALE__
18 _M_data->_M_decimal_point = __global_locale->decimal_point_wc;
19 _M_data->_M_thousands_sep = __global_locale->thousands_sep_wc;
20 # endif
21--- gcc/libstdc++-v3/config/locale/uclibc/numeric_members.cc.uclibc200_wchar~ 2006-03-10 15:32:37 +0100
22+++ gcc/libstdc++-v3/config/locale/uclibc/numeric_members.cc 2006-03-10 15:37:27 +0100
23@@ -127,12 +127,25 @@
24 {
25 // Named locale.
26 // NB: In the GNU model wchar_t is always 32 bit wide.
27+#ifdef __UCLIBC_MJN3_ONLY__
28+#warning fix this... should be numeric
29+#endif
30+#ifdef __UCLIBC__
31+# ifdef __UCLIBC_HAS_XLOCALE__
32+ _M_data->_M_decimal_point = __cloc->decimal_point_wc;
33+ _M_data->_M_thousands_sep = __cloc->thousands_sep_wc;
34+# elif defined __UCLIBC_HAS_LOCALE__
35+ _M_data->_M_decimal_point = __global_locale->decimal_point_wc;
36+ _M_data->_M_thousands_sep = __global_locale->thousands_sep_wc;
37+# endif
38+#else
39 union { char *__s; wchar_t __w; } __u;
40 __u.__s = __nl_langinfo_l(_NL_NUMERIC_DECIMAL_POINT_WC, __cloc);
41 _M_data->_M_decimal_point = __u.__w;
42
43 __u.__s = __nl_langinfo_l(_NL_NUMERIC_THOUSANDS_SEP_WC, __cloc);
44 _M_data->_M_thousands_sep = __u.__w;
45+#endif
46
47 if (_M_data->_M_thousands_sep == L'\0')
48 _M_data->_M_grouping = "";
diff --git a/recipes-devtools/gcc/gcc-4.5/205-uclibc-locale-update.patch b/recipes-devtools/gcc/gcc-4.5/205-uclibc-locale-update.patch
new file mode 100644
index 0000000000..48eaa1d442
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/205-uclibc-locale-update.patch
@@ -0,0 +1,519 @@
1Index: gcc-4.3.2/libstdc++-v3/config/locale/uclibc/c_locale.cc
2===================================================================
3--- gcc-4.3.2.orig/libstdc++-v3/config/locale/uclibc/c_locale.cc 2008-09-17 22:35:28.000000000 -0700
4+++ gcc-4.3.2/libstdc++-v3/config/locale/uclibc/c_locale.cc 2008-09-17 22:35:29.000000000 -0700
5@@ -39,23 +39,20 @@
6 #include <langinfo.h>
7 #include <bits/c++locale_internal.h>
8
9-namespace std
10-{
11+_GLIBCXX_BEGIN_NAMESPACE(std)
12+
13 template<>
14 void
15 __convert_to_v(const char* __s, float& __v, ios_base::iostate& __err,
16 const __c_locale& __cloc)
17 {
18- if (!(__err & ios_base::failbit))
19- {
20- char* __sanity;
21- errno = 0;
22- float __f = __strtof_l(__s, &__sanity, __cloc);
23- if (__sanity != __s && errno != ERANGE)
24- __v = __f;
25- else
26- __err |= ios_base::failbit;
27- }
28+ char* __sanity;
29+ errno = 0;
30+ float __f = __strtof_l(__s, &__sanity, __cloc);
31+ if (__sanity != __s && errno != ERANGE)
32+ __v = __f;
33+ else
34+ __err |= ios_base::failbit;
35 }
36
37 template<>
38@@ -63,16 +60,13 @@
39 __convert_to_v(const char* __s, double& __v, ios_base::iostate& __err,
40 const __c_locale& __cloc)
41 {
42- if (!(__err & ios_base::failbit))
43- {
44- char* __sanity;
45- errno = 0;
46- double __d = __strtod_l(__s, &__sanity, __cloc);
47- if (__sanity != __s && errno != ERANGE)
48- __v = __d;
49- else
50- __err |= ios_base::failbit;
51- }
52+ char* __sanity;
53+ errno = 0;
54+ double __d = __strtod_l(__s, &__sanity, __cloc);
55+ if (__sanity != __s && errno != ERANGE)
56+ __v = __d;
57+ else
58+ __err |= ios_base::failbit;
59 }
60
61 template<>
62@@ -80,16 +74,13 @@
63 __convert_to_v(const char* __s, long double& __v, ios_base::iostate& __err,
64 const __c_locale& __cloc)
65 {
66- if (!(__err & ios_base::failbit))
67- {
68- char* __sanity;
69- errno = 0;
70- long double __ld = __strtold_l(__s, &__sanity, __cloc);
71- if (__sanity != __s && errno != ERANGE)
72- __v = __ld;
73- else
74- __err |= ios_base::failbit;
75- }
76+ char* __sanity;
77+ errno = 0;
78+ long double __ld = __strtold_l(__s, &__sanity, __cloc);
79+ if (__sanity != __s && errno != ERANGE)
80+ __v = __ld;
81+ else
82+ __err |= ios_base::failbit;
83 }
84
85 void
86@@ -110,17 +101,18 @@
87 void
88 locale::facet::_S_destroy_c_locale(__c_locale& __cloc)
89 {
90- if (_S_get_c_locale() != __cloc)
91+ if (__cloc && _S_get_c_locale() != __cloc)
92 __freelocale(__cloc);
93 }
94
95 __c_locale
96 locale::facet::_S_clone_c_locale(__c_locale& __cloc)
97 { return __duplocale(__cloc); }
98-} // namespace std
99
100-namespace __gnu_cxx
101-{
102+_GLIBCXX_END_NAMESPACE
103+
104+_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
105+
106 const char* const category_names[6 + _GLIBCXX_NUM_CATEGORIES] =
107 {
108 "LC_CTYPE",
109@@ -138,9 +130,11 @@
110 "LC_IDENTIFICATION"
111 #endif
112 };
113-}
114
115-namespace std
116-{
117+_GLIBCXX_END_NAMESPACE
118+
119+_GLIBCXX_BEGIN_NAMESPACE(std)
120+
121 const char* const* const locale::_S_categories = __gnu_cxx::category_names;
122-} // namespace std
123+
124+_GLIBCXX_END_NAMESPACE
125Index: gcc-4.3.2/libstdc++-v3/config/locale/uclibc/ctype_members.cc
126===================================================================
127--- gcc-4.3.2.orig/libstdc++-v3/config/locale/uclibc/ctype_members.cc 2008-09-17 22:35:28.000000000 -0700
128+++ gcc-4.3.2/libstdc++-v3/config/locale/uclibc/ctype_members.cc 2008-09-17 23:09:49.000000000 -0700
129@@ -33,16 +33,20 @@
130
131 // Written by Benjamin Kosnik <bkoz@redhat.com>
132
133+#include <features.h>
134+#ifdef __UCLIBC_HAS_LOCALE__
135 #define _LIBC
136 #include <locale>
137 #undef _LIBC
138+#else
139+#include <locale>
140+#endif
141 #include <bits/c++locale_internal.h>
142
143-namespace std
144-{
145+_GLIBCXX_BEGIN_NAMESPACE(std)
146+
147 // NB: The other ctype<char> specializations are in src/locale.cc and
148 // various /config/os/* files.
149- template<>
150 ctype_byname<char>::ctype_byname(const char* __s, size_t __refs)
151 : ctype<char>(0, false, __refs)
152 {
153@@ -57,6 +61,8 @@
154 #endif
155 }
156 }
157+ ctype_byname<char>::~ctype_byname()
158+ { }
159
160 #ifdef _GLIBCXX_USE_WCHAR_T
161 ctype<wchar_t>::__wmask_type
162@@ -138,17 +144,33 @@
163 ctype<wchar_t>::
164 do_is(mask __m, wchar_t __c) const
165 {
166- // Highest bitmask in ctype_base == 10, but extra in "C"
167- // library for blank.
168+ // The case of __m == ctype_base::space is particularly important,
169+ // due to its use in many istream functions. Therefore we deal with
170+ // it first, exploiting the knowledge that on GNU systems _M_bit[5]
171+ // is the mask corresponding to ctype_base::space. NB: an encoding
172+ // change would not affect correctness!
173+
174 bool __ret = false;
175- const size_t __bitmasksize = 11;
176- for (size_t __bitcur = 0; __bitcur <= __bitmasksize; ++__bitcur)
177- if (__m & _M_bit[__bitcur]
178- && __iswctype_l(__c, _M_wmask[__bitcur], _M_c_locale_ctype))
179- {
180- __ret = true;
181- break;
182- }
183+ if (__m == _M_bit[5])
184+ __ret = __iswctype_l(__c, _M_wmask[5], _M_c_locale_ctype);
185+ else
186+ {
187+ // Highest bitmask in ctype_base == 10, but extra in "C"
188+ // library for blank.
189+ const size_t __bitmasksize = 11;
190+ for (size_t __bitcur = 0; __bitcur <= __bitmasksize; ++__bitcur)
191+ if (__m & _M_bit[__bitcur])
192+ {
193+ if (__iswctype_l(__c, _M_wmask[__bitcur], _M_c_locale_ctype))
194+ {
195+ __ret = true;
196+ break;
197+ }
198+ else if (__m == _M_bit[__bitcur])
199+ break;
200+ }
201+ }
202+
203 return __ret;
204 }
205
206@@ -290,4 +312,5 @@
207 #endif
208 }
209 #endif // _GLIBCXX_USE_WCHAR_T
210-}
211+
212+_GLIBCXX_END_NAMESPACE
213Index: gcc-4.3.2/libstdc++-v3/config/locale/uclibc/messages_members.h
214===================================================================
215--- gcc-4.3.2.orig/libstdc++-v3/config/locale/uclibc/messages_members.h 2008-09-17 22:35:28.000000000 -0700
216+++ gcc-4.3.2/libstdc++-v3/config/locale/uclibc/messages_members.h 2008-09-17 23:13:34.000000000 -0700
217@@ -53,12 +53,16 @@
218 template<typename _CharT>
219 messages<_CharT>::messages(__c_locale __cloc, const char* __s,
220 size_t __refs)
221- : facet(__refs), _M_c_locale_messages(_S_clone_c_locale(__cloc)),
222- _M_name_messages(__s)
223+ : facet(__refs), _M_c_locale_messages(NULL),
224+ _M_name_messages(NULL)
225 {
226- char* __tmp = new char[std::strlen(__s) + 1];
227- std::strcpy(__tmp, __s);
228+ const size_t __len = std::strlen(__s) + 1;
229+ char* __tmp = new char[__len];
230+ std::memcpy(__tmp, __s, __len);
231 _M_name_messages = __tmp;
232+
233+ // Last to avoid leaking memory if new throws.
234+ _M_c_locale_messages = _S_clone_c_locale(__cloc);
235 }
236
237 template<typename _CharT>
238Index: gcc-4.3.2/libstdc++-v3/config/locale/uclibc/monetary_members.cc
239===================================================================
240--- gcc-4.3.2.orig/libstdc++-v3/config/locale/uclibc/monetary_members.cc 2008-09-17 22:35:28.000000000 -0700
241+++ gcc-4.3.2/libstdc++-v3/config/locale/uclibc/monetary_members.cc 2008-09-17 22:35:29.000000000 -0700
242@@ -33,9 +33,14 @@
243
244 // Written by Benjamin Kosnik <bkoz@redhat.com>
245
246+#include <features.h>
247+#ifdef __UCLIBC_HAS_LOCALE__
248 #define _LIBC
249 #include <locale>
250 #undef _LIBC
251+#else
252+#include <locale>
253+#endif
254 #include <bits/c++locale_internal.h>
255
256 #ifdef __UCLIBC_MJN3_ONLY__
257@@ -206,7 +211,7 @@
258 }
259 break;
260 default:
261- ;
262+ __ret = pattern();
263 }
264 return __ret;
265 }
266@@ -390,7 +395,9 @@
267 __c_locale __old = __uselocale(__cloc);
268 #else
269 // Switch to named locale so that mbsrtowcs will work.
270- char* __old = strdup(setlocale(LC_ALL, NULL));
271+ char* __old = setlocale(LC_ALL, NULL);
272+ const size_t __llen = strlen(__old) + 1;
273+ char* __sav = new char[__llen];
274 setlocale(LC_ALL, __name);
275 #endif
276
277@@ -477,8 +484,8 @@
278 #ifdef __UCLIBC_HAS_XLOCALE__
279 __uselocale(__old);
280 #else
281- setlocale(LC_ALL, __old);
282- free(__old);
283+ setlocale(LC_ALL, __sav);
284+ delete [] __sav;
285 #endif
286 __throw_exception_again;
287 }
288@@ -498,8 +505,8 @@
289 #ifdef __UCLIBC_HAS_XLOCALE__
290 __uselocale(__old);
291 #else
292- setlocale(LC_ALL, __old);
293- free(__old);
294+ setlocale(LC_ALL, __sav);
295+ delete [] __sav;
296 #endif
297 }
298 }
299@@ -545,8 +552,11 @@
300 __c_locale __old = __uselocale(__cloc);
301 #else
302 // Switch to named locale so that mbsrtowcs will work.
303- char* __old = strdup(setlocale(LC_ALL, NULL));
304- setlocale(LC_ALL, __name);
305+ char* __old = setlocale(LC_ALL, NULL);
306+ const size_t __llen = strlen(__old) + 1;
307+ char* __sav = new char[__llen];
308+ memcpy(__sav, __old, __llen);
309+ setlocale(LC_ALL, __name);
310 #endif
311
312 #ifdef __UCLIBC_MJN3_ONLY__
313@@ -633,8 +643,8 @@
314 #ifdef __UCLIBC_HAS_XLOCALE__
315 __uselocale(__old);
316 #else
317- setlocale(LC_ALL, __old);
318- free(__old);
319+ setlocale(LC_ALL, __sav);
320+ delete [] __sav;
321 #endif
322 __throw_exception_again;
323 }
324@@ -653,8 +663,8 @@
325 #ifdef __UCLIBC_HAS_XLOCALE__
326 __uselocale(__old);
327 #else
328- setlocale(LC_ALL, __old);
329- free(__old);
330+ setlocale(LC_ALL, __sav);
331+ delete [] __sav;
332 #endif
333 }
334 }
335Index: gcc-4.3.2/libstdc++-v3/config/locale/uclibc/numeric_members.cc
336===================================================================
337--- gcc-4.3.2.orig/libstdc++-v3/config/locale/uclibc/numeric_members.cc 2008-09-17 22:35:28.000000000 -0700
338+++ gcc-4.3.2/libstdc++-v3/config/locale/uclibc/numeric_members.cc 2008-09-17 22:35:29.000000000 -0700
339@@ -33,9 +33,14 @@
340
341 // Written by Benjamin Kosnik <bkoz@redhat.com>
342
343+#include <features.h>
344+#ifdef __UCLIBC_HAS_LOCALE__
345 #define _LIBC
346 #include <locale>
347 #undef _LIBC
348+#else
349+#include <locale>
350+#endif
351 #include <bits/c++locale_internal.h>
352
353 #ifdef __UCLIBC_MJN3_ONLY__
354Index: gcc-4.3.2/libstdc++-v3/config/locale/uclibc/time_members.h
355===================================================================
356--- gcc-4.3.2.orig/libstdc++-v3/config/locale/uclibc/time_members.h 2008-09-17 22:35:27.000000000 -0700
357+++ gcc-4.3.2/libstdc++-v3/config/locale/uclibc/time_members.h 2008-09-17 23:13:34.000000000 -0700
358@@ -50,12 +50,21 @@
359 __timepunct<_CharT>::__timepunct(__c_locale __cloc, const char* __s,
360 size_t __refs)
361 : facet(__refs), _M_data(NULL), _M_c_locale_timepunct(NULL),
362- _M_name_timepunct(__s)
363+ _M_name_timepunct(NULL)
364 {
365- char* __tmp = new char[std::strlen(__s) + 1];
366- std::strcpy(__tmp, __s);
367+ const size_t __len = std::strlen(__s) + 1;
368+ char* __tmp = new char[__len];
369+ std::memcpy(__tmp, __s, __len);
370 _M_name_timepunct = __tmp;
371- _M_initialize_timepunct(__cloc);
372+
373+ try
374+ { _M_initialize_timepunct(__cloc); }
375+ catch(...)
376+ {
377+ delete [] _M_name_timepunct;
378+ __throw_exception_again;
379+ }
380+
381 }
382
383 template<typename _CharT>
384Index: gcc-4.3.2/libstdc++-v3/config/locale/uclibc/c_locale.h
385===================================================================
386--- gcc-4.3.2.orig/libstdc++-v3/config/locale/uclibc/c_locale.h 2008-09-17 22:35:28.000000000 -0700
387+++ gcc-4.3.2/libstdc++-v3/config/locale/uclibc/c_locale.h 2008-09-17 22:35:29.000000000 -0700
388@@ -39,21 +39,23 @@
389 #pragma GCC system_header
390
391 #include <cstring> // get std::strlen
392-#include <cstdio> // get std::snprintf or std::sprintf
393+#include <cstdio> // get std::vsnprintf or std::vsprintf
394 #include <clocale>
395 #include <langinfo.h> // For codecvt
396 #ifdef __UCLIBC_MJN3_ONLY__
397 #warning fix this
398 #endif
399-#ifdef __UCLIBC_HAS_LOCALE__
400+#ifdef _GLIBCXX_USE_ICONV
401 #include <iconv.h> // For codecvt using iconv, iconv_t
402 #endif
403-#ifdef __UCLIBC_HAS_GETTEXT_AWARENESS__
404-#include <libintl.h> // For messages
405+#ifdef HAVE_LIBINTL_H
406+#include <libintl.h> // For messages
407 #endif
408+#include <cstdarg>
409
410 #ifdef __UCLIBC_MJN3_ONLY__
411 #warning what is _GLIBCXX_C_LOCALE_GNU for
412+// psm: used in os/gnu-linux/ctype_noninline.h
413 #endif
414 #define _GLIBCXX_C_LOCALE_GNU 1
415
416@@ -78,23 +80,25 @@
417 #else
418 typedef int* __c_locale;
419 #endif
420-
421- // Convert numeric value of type _Tv to string and return length of
422- // string. If snprintf is available use it, otherwise fall back to
423- // the unsafe sprintf which, in general, can be dangerous and should
424+ // Convert numeric value of type double to string and return length of
425+ // string. If vsnprintf is available use it, otherwise fall back to
426+ // the unsafe vsprintf which, in general, can be dangerous and should
427 // be avoided.
428- template<typename _Tv>
429- int
430- __convert_from_v(char* __out,
431- const int __size __attribute__ ((__unused__)),
432- const char* __fmt,
433-#ifdef __UCLIBC_HAS_XCLOCALE__
434- _Tv __v, const __c_locale& __cloc, int __prec)
435+ inline int
436+ __convert_from_v(const __c_locale&
437+#ifndef __UCLIBC_HAS_XCLOCALE__
438+ __cloc __attribute__ ((__unused__))
439+#endif
440+ ,
441+ char* __out,
442+ const int __size,
443+ const char* __fmt, ...)
444 {
445+ va_list __args;
446+#ifdef __UCLIBC_HAS_XCLOCALE__
447+
448 __c_locale __old = __gnu_cxx::__uselocale(__cloc);
449 #else
450- _Tv __v, const __c_locale&, int __prec)
451- {
452 # ifdef __UCLIBC_HAS_LOCALE__
453 char* __old = std::setlocale(LC_ALL, NULL);
454 char* __sav = new char[std::strlen(__old) + 1];
455@@ -103,7 +107,9 @@
456 # endif
457 #endif
458
459- const int __ret = std::snprintf(__out, __size, __fmt, __prec, __v);
460+ va_start(__args, __fmt);
461+ const int __ret = std::vsnprintf(__out, __size, __fmt, __args);
462+ va_end(__args);
463
464 #ifdef __UCLIBC_HAS_XCLOCALE__
465 __gnu_cxx::__uselocale(__old);
466Index: gcc-4.3.2/libstdc++-v3/config/locale/uclibc/time_members.cc
467===================================================================
468--- gcc-4.3.2.orig/libstdc++-v3/config/locale/uclibc/time_members.cc 2008-09-17 22:35:28.000000000 -0700
469+++ gcc-4.3.2/libstdc++-v3/config/locale/uclibc/time_members.cc 2008-09-17 22:35:29.000000000 -0700
470@@ -53,11 +53,14 @@
471 const size_t __len = __strftime_l(__s, __maxlen, __format, __tm,
472 _M_c_locale_timepunct);
473 #else
474- char* __old = strdup(setlocale(LC_ALL, NULL));
475+ char* __old = setlocale(LC_ALL, NULL);
476+ const size_t __llen = strlen(__old) + 1;
477+ char* __sav = new char[__llen];
478+ memcpy(__sav, __old, __llen);
479 setlocale(LC_ALL, _M_name_timepunct);
480 const size_t __len = strftime(__s, __maxlen, __format, __tm);
481- setlocale(LC_ALL, __old);
482- free(__old);
483+ setlocale(LC_ALL, __sav);
484+ delete [] __sav;
485 #endif
486 // Make sure __s is null terminated.
487 if (__len == 0)
488@@ -207,11 +210,14 @@
489 const size_t __len = __wcsftime_l(__s, __maxlen, __format, __tm,
490 _M_c_locale_timepunct);
491 #else
492- char* __old = strdup(setlocale(LC_ALL, NULL));
493+ char* __old = setlocale(LC_ALL, NULL);
494+ const size_t __llen = strlen(__old) + 1;
495+ char* __sav = new char[__llen];
496+ memcpy(__sav, __old, __llen);
497 setlocale(LC_ALL, _M_name_timepunct);
498 const size_t __len = wcsftime(__s, __maxlen, __format, __tm);
499- setlocale(LC_ALL, __old);
500- free(__old);
501+ setlocale(LC_ALL, __sav);
502+ delete [] __sav;
503 #endif
504 // Make sure __s is null terminated.
505 if (__len == 0)
506Index: gcc-4.3.2/libstdc++-v3/config/locale/uclibc/c++locale_internal.h
507===================================================================
508--- gcc-4.3.2.orig/libstdc++-v3/config/locale/uclibc/c++locale_internal.h 2008-09-17 22:35:28.000000000 -0700
509+++ gcc-4.3.2/libstdc++-v3/config/locale/uclibc/c++locale_internal.h 2008-09-17 22:35:29.000000000 -0700
510@@ -31,6 +31,9 @@
511
512 #include <bits/c++config.h>
513 #include <clocale>
514+#include <cstdlib>
515+#include <cstring>
516+#include <cstddef>
517
518 #ifdef __UCLIBC_MJN3_ONLY__
519 #warning clean this up
diff --git a/recipes-devtools/gcc/gcc-4.5/301-missing-execinfo_h.patch b/recipes-devtools/gcc/gcc-4.5/301-missing-execinfo_h.patch
new file mode 100644
index 0000000000..aaa5cee8c8
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/301-missing-execinfo_h.patch
@@ -0,0 +1,13 @@
1Index: gcc-4.5.0/boehm-gc/include/gc.h
2===================================================================
3--- gcc-4.5.0.orig/boehm-gc/include/gc.h 2007-04-23 14:10:09.000000000 -0700
4+++ gcc-4.5.0/boehm-gc/include/gc.h 2010-06-25 10:49:12.768883509 -0700
5@@ -503,7 +503,7 @@
6 #if defined(__linux__) || defined(__GLIBC__)
7 # include <features.h>
8 # if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1 || __GLIBC__ > 2) \
9- && !defined(__ia64__)
10+ && !defined(__ia64__) && !defined(__UCLIBC__)
11 # ifndef GC_HAVE_BUILTIN_BACKTRACE
12 # define GC_HAVE_BUILTIN_BACKTRACE
13 # endif
diff --git a/recipes-devtools/gcc/gcc-4.5/302-c99-snprintf.patch b/recipes-devtools/gcc/gcc-4.5/302-c99-snprintf.patch
new file mode 100644
index 0000000000..12be2da79c
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/302-c99-snprintf.patch
@@ -0,0 +1,13 @@
1Index: gcc-4.5.0/libstdc++-v3/include/c_std/cstdio
2===================================================================
3--- gcc-4.5.0.orig/libstdc++-v3/include/c_std/cstdio 2010-02-04 10:20:34.000000000 -0800
4+++ gcc-4.5.0/libstdc++-v3/include/c_std/cstdio 2010-06-25 10:51:12.712631679 -0700
5@@ -139,7 +139,7 @@
6
7 _GLIBCXX_END_NAMESPACE
8
9-#if _GLIBCXX_USE_C99
10+#if _GLIBCXX_USE_C99 || defined(__UCLIBC__)
11
12 #undef snprintf
13 #undef vfscanf
diff --git a/recipes-devtools/gcc/gcc-4.5/303-c99-complex-ugly-hack.patch b/recipes-devtools/gcc/gcc-4.5/303-c99-complex-ugly-hack.patch
new file mode 100644
index 0000000000..56aa78cdd2
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/303-c99-complex-ugly-hack.patch
@@ -0,0 +1,14 @@
1Index: gcc-4.5.0/libstdc++-v3/configure
2===================================================================
3--- gcc-4.5.0.orig/libstdc++-v3/configure 2010-06-25 10:48:37.488384191 -0700
4+++ gcc-4.5.0/libstdc++-v3/configure 2010-06-25 10:51:23.804380413 -0700
5@@ -18262,6 +18262,9 @@
6 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
7 /* end confdefs.h. */
8 #include <complex.h>
9+#ifdef __UCLIBC__
10+#error ugly hack to make sure configure test fails here for cross until uClibc supports the complex funcs
11+#endif
12 int
13 main ()
14 {
diff --git a/recipes-devtools/gcc/gcc-4.5/304-index_macro.patch b/recipes-devtools/gcc/gcc-4.5/304-index_macro.patch
new file mode 100644
index 0000000000..bbb6563513
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/304-index_macro.patch
@@ -0,0 +1,28 @@
1Index: gcc-4.5.0/libstdc++-v3/include/ext/rope
2===================================================================
3--- gcc-4.5.0.orig/libstdc++-v3/include/ext/rope 2009-04-09 08:00:19.000000000 -0700
4+++ gcc-4.5.0/libstdc++-v3/include/ext/rope 2010-06-25 10:51:33.613383077 -0700
5@@ -54,6 +54,9 @@
6 #include <bits/gthr.h>
7 #include <tr1/functional>
8
9+/* cope w/ index defined as macro, SuSv3 proposal */
10+#undef index
11+
12 # ifdef __GC
13 # define __GC_CONST const
14 # else
15Index: gcc-4.5.0/libstdc++-v3/include/ext/ropeimpl.h
16===================================================================
17--- gcc-4.5.0.orig/libstdc++-v3/include/ext/ropeimpl.h 2009-04-09 08:00:19.000000000 -0700
18+++ gcc-4.5.0/libstdc++-v3/include/ext/ropeimpl.h 2010-06-25 10:51:33.621381669 -0700
19@@ -49,6 +49,9 @@
20 #include <ext/memory> // For uninitialized_copy_n
21 #include <ext/numeric> // For power
22
23+/* cope w/ index defined as macro, SuSv3 proposal */
24+#undef index
25+
26 _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
27
28 using std::size_t;
diff --git a/recipes-devtools/gcc/gcc-4.5/305-libmudflap-susv3-legacy.patch b/recipes-devtools/gcc/gcc-4.5/305-libmudflap-susv3-legacy.patch
new file mode 100644
index 0000000000..f890acb813
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/305-libmudflap-susv3-legacy.patch
@@ -0,0 +1,49 @@
1Index: gcc-4.5.0/libmudflap/mf-hooks2.c
2===================================================================
3--- gcc-4.5.0.orig/libmudflap/mf-hooks2.c 2009-04-09 08:00:19.000000000 -0700
4+++ gcc-4.5.0/libmudflap/mf-hooks2.c 2010-06-25 10:52:13.937636901 -0700
5@@ -421,7 +421,7 @@
6 {
7 TRACE ("%s\n", __PRETTY_FUNCTION__);
8 MF_VALIDATE_EXTENT(s, n, __MF_CHECK_WRITE, "bzero region");
9- bzero (s, n);
10+ memset (s, 0, n);
11 }
12
13
14@@ -431,7 +431,7 @@
15 TRACE ("%s\n", __PRETTY_FUNCTION__);
16 MF_VALIDATE_EXTENT(src, n, __MF_CHECK_READ, "bcopy src");
17 MF_VALIDATE_EXTENT(dest, n, __MF_CHECK_WRITE, "bcopy dest");
18- bcopy (src, dest, n);
19+ memmove (dest, src, n);
20 }
21
22
23@@ -441,7 +441,7 @@
24 TRACE ("%s\n", __PRETTY_FUNCTION__);
25 MF_VALIDATE_EXTENT(s1, n, __MF_CHECK_READ, "bcmp 1st arg");
26 MF_VALIDATE_EXTENT(s2, n, __MF_CHECK_READ, "bcmp 2nd arg");
27- return bcmp (s1, s2, n);
28+ return n == 0 ? 0 : memcmp (s1, s2, n);
29 }
30
31
32@@ -450,7 +450,7 @@
33 size_t n = strlen (s);
34 TRACE ("%s\n", __PRETTY_FUNCTION__);
35 MF_VALIDATE_EXTENT(s, CLAMPADD(n, 1), __MF_CHECK_READ, "index region");
36- return index (s, c);
37+ return strchr (s, c);
38 }
39
40
41@@ -459,7 +459,7 @@
42 size_t n = strlen (s);
43 TRACE ("%s\n", __PRETTY_FUNCTION__);
44 MF_VALIDATE_EXTENT(s, CLAMPADD(n, 1), __MF_CHECK_READ, "rindex region");
45- return rindex (s, c);
46+ return strrchr (s, c);
47 }
48
49 /* XXX: stpcpy, memccpy */
diff --git a/recipes-devtools/gcc/gcc-4.5/306-libstdc++-namespace.patch b/recipes-devtools/gcc/gcc-4.5/306-libstdc++-namespace.patch
new file mode 100644
index 0000000000..75c7401373
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/306-libstdc++-namespace.patch
@@ -0,0 +1,38 @@
1Index: gcc-4.5.0/libstdc++-v3/config/locale/uclibc/messages_members.h
2===================================================================
3--- gcc-4.5.0.orig/libstdc++-v3/config/locale/uclibc/messages_members.h 2010-06-25 10:49:07.024632961 -0700
4+++ gcc-4.5.0/libstdc++-v3/config/locale/uclibc/messages_members.h 2010-06-25 10:52:33.980632645 -0700
5@@ -32,7 +32,8 @@
6 //
7
8 // Written by Benjamin Kosnik <bkoz@redhat.com>
9-
10+namespace std
11+{
12 #ifdef __UCLIBC_MJN3_ONLY__
13 #warning fix prototypes for *textdomain funcs
14 #endif
15@@ -116,3 +117,4 @@
16 this->_S_create_c_locale(this->_M_c_locale_messages, __s);
17 }
18 }
19+}
20Index: gcc-4.5.0/libstdc++-v3/config/locale/uclibc/time_members.h
21===================================================================
22--- gcc-4.5.0.orig/libstdc++-v3/config/locale/uclibc/time_members.h 2010-06-25 10:49:07.024632961 -0700
23+++ gcc-4.5.0/libstdc++-v3/config/locale/uclibc/time_members.h 2010-06-25 10:52:33.980632645 -0700
24@@ -33,7 +33,8 @@
25 //
26
27 // Written by Benjamin Kosnik <bkoz@redhat.com>
28-
29+namespace std
30+{
31 template<typename _CharT>
32 __timepunct<_CharT>::__timepunct(size_t __refs)
33 : facet(__refs), _M_data(NULL), _M_c_locale_timepunct(NULL),
34@@ -75,3 +76,4 @@
35 delete _M_data;
36 _S_destroy_c_locale(_M_c_locale_timepunct);
37 }
38+}
diff --git a/recipes-devtools/gcc/gcc-4.5/307-locale_facets.patch b/recipes-devtools/gcc/gcc-4.5/307-locale_facets.patch
new file mode 100644
index 0000000000..774fcfa2ca
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/307-locale_facets.patch
@@ -0,0 +1,19 @@
1This patch fixes a bug into ostream::operator<<(double) due to the wrong size
2passed into the __convert_from_v method. The wrong size is then passed to
3std::snprintf function, that, on uClibc, doens't handle sized 0 buffer.
4
5Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
6
7Index: gcc-4.3.1/libstdc++-v3/include/bits/locale_facets.tcc
8===================================================================
9--- gcc-4.3.1.orig/libstdc++-v3/include/bits/locale_facets.tcc 2007-11-26 17:59:41.000000000 -0800
10+++ gcc-4.3.1/libstdc++-v3/include/bits/locale_facets.tcc 2008-08-16 02:14:48.000000000 -0700
11@@ -1004,7 +1004,7 @@
12 const int __cs_size = __fixed ? __max_exp + __prec + 4
13 : __max_digits * 2 + __prec;
14 char* __cs = static_cast<char*>(__builtin_alloca(__cs_size));
15- __len = std::__convert_from_v(_S_get_c_locale(), __cs, 0, __fbuf,
16+ __len = std::__convert_from_v(_S_get_c_locale(), __cs, __cs_size, __fbuf,
17 __prec, __v);
18 #endif
19
diff --git a/recipes-devtools/gcc/gcc-4.5/602-sdk-libstdc++-includes.patch b/recipes-devtools/gcc/gcc-4.5/602-sdk-libstdc++-includes.patch
new file mode 100644
index 0000000000..23fce7544d
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/602-sdk-libstdc++-includes.patch
@@ -0,0 +1,20 @@
1--- gcc-4.1.0/libstdc++-v3/fragment.am 2005-03-21 11:40:14.000000000 -0600
2+++ gcc-4.1.0-patched/libstdc++-v3/fragment.am 2005-04-25 20:14:39.856251785 -0500
3@@ -21,5 +21,5 @@
4 $(WARN_FLAGS) $(WERROR) -fdiagnostics-show-location=once
5
6 # -I/-D flags to pass when compiling.
7-AM_CPPFLAGS = $(GLIBCXX_INCLUDES)
8+AM_CPPFLAGS = $(GLIBCXX_INCLUDES) -I$(toplevel_srcdir)/include
9
10--- gcc-4.1.0/libstdc++-v3/libmath/Makefile.am 2005-03-21 11:40:18.000000000 -0600
11+++ gcc-4.1.0-patched/libstdc++-v3/libmath/Makefile.am 2005-04-25 20:14:39.682280735 -0500
12@@ -35,7 +35,7 @@
13
14 libmath_la_SOURCES = stubs.c
15
16-AM_CPPFLAGS = $(CANADIAN_INCLUDES)
17+AM_CPPFLAGS = $(CANADIAN_INCLUDES) -I$(toplevel_srcdir)/include
18
19 # Only compiling "C" sources in this directory.
20 LIBTOOL = @LIBTOOL@ --tag CC
diff --git a/recipes-devtools/gcc/gcc-4.5/64bithack.patch b/recipes-devtools/gcc/gcc-4.5/64bithack.patch
new file mode 100644
index 0000000000..067676ab63
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/64bithack.patch
@@ -0,0 +1,33 @@
1By default gcc places 64 bit libs in a lib64 directory. This makes it use
2"lib" instead.
3
4RP 25/7/10
5
6Index: gcc-4.5.0/gcc/config/i386/t-linux64
7===================================================================
8--- gcc-4.5.0.orig/gcc/config/i386/t-linux64 2010-08-10 15:47:42.000000000 +0100
9+++ gcc-4.5.0/gcc/config/i386/t-linux64 2010-08-10 15:47:47.000000000 +0100
10@@ -24,8 +24,8 @@
11 # MULTILIB_OSDIRNAMES according to what is found on the target.
12
13 MULTILIB_OPTIONS = m64/m32
14-MULTILIB_DIRNAMES = 64 32
15-MULTILIB_OSDIRNAMES = ../lib64 $(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)
16+MULTILIB_DIRNAMES = . 32
17+MULTILIB_OSDIRNAMES = . $(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)
18
19 LIBGCC = stmp-multilib
20 INSTALL_LIBGCC = install-multilib
21Index: gcc-4.5.0/gcc/config/i386/linux64.h
22===================================================================
23--- gcc-4.5.0.orig/gcc/config/i386/linux64.h 2010-08-10 15:49:06.000000000 +0100
24+++ gcc-4.5.0/gcc/config/i386/linux64.h 2010-08-10 15:49:16.000000000 +0100
25@@ -59,7 +59,7 @@
26 done. */
27
28 #define GLIBC_DYNAMIC_LINKER32 "/lib/ld-linux.so.2"
29-#define GLIBC_DYNAMIC_LINKER64 "/lib64/ld-linux-x86-64.so.2"
30+#define GLIBC_DYNAMIC_LINKER64 "/lib/ld-linux-x86-64.so.2"
31
32 #if TARGET_64BIT_DEFAULT
33 #define SPEC_32 "m32"
diff --git a/recipes-devtools/gcc/gcc-4.5/740-sh-pr24836.patch b/recipes-devtools/gcc/gcc-4.5/740-sh-pr24836.patch
new file mode 100644
index 0000000000..d84889259d
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/740-sh-pr24836.patch
@@ -0,0 +1,29 @@
1http://sourceforge.net/mailarchive/forum.php?thread_id=8959304&forum_id=5348
2http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24836
3
4Index: gcc-4.5.0/gcc/configure.ac
5===================================================================
6--- gcc-4.5.0.orig/gcc/configure.ac 2010-03-25 22:40:32.000000000 -0700
7+++ gcc-4.5.0/gcc/configure.ac 2010-06-25 11:02:48.489057877 -0700
8@@ -2784,7 +2784,7 @@
9 tls_first_minor=14
10 tls_as_opt="-m64 -Aesame --fatal-warnings"
11 ;;
12- sh-*-* | sh[34]-*-*)
13+ sh-*-* | sh[34]*-*-*)
14 conftest_s='
15 .section ".tdata","awT",@progbits
16 foo: .long 25
17Index: gcc-4.5.0/gcc/configure
18===================================================================
19--- gcc-4.5.0.orig/gcc/configure 2010-03-25 22:40:32.000000000 -0700
20+++ gcc-4.5.0/gcc/configure 2010-06-25 11:02:48.508381845 -0700
21@@ -22156,7 +22156,7 @@
22 tls_first_minor=14
23 tls_as_opt="-m64 -Aesame --fatal-warnings"
24 ;;
25- sh-*-* | sh[34]-*-*)
26+ sh-*-* | sh[34]*-*-*)
27 conftest_s='
28 .section ".tdata","awT",@progbits
29 foo: .long 25
diff --git a/recipes-devtools/gcc/gcc-4.5/800-arm-bigendian.patch b/recipes-devtools/gcc/gcc-4.5/800-arm-bigendian.patch
new file mode 100644
index 0000000000..77d02c3abd
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/800-arm-bigendian.patch
@@ -0,0 +1,34 @@
1By Lennert Buytenhek <buytenh@wantstofly.org>
2Adds support for arm*b-linux* big-endian ARM targets
3
4See http://gcc.gnu.org/PR16350
5
6Index: gcc-4.5.0/gcc/config/arm/linux-elf.h
7===================================================================
8--- gcc-4.5.0.orig/gcc/config/arm/linux-elf.h 2009-11-05 06:47:45.000000000 -0800
9+++ gcc-4.5.0/gcc/config/arm/linux-elf.h 2010-06-25 11:03:06.997132728 -0700
10@@ -51,7 +51,7 @@
11
12 #undef MULTILIB_DEFAULTS
13 #define MULTILIB_DEFAULTS \
14- { "marm", "mlittle-endian", "mhard-float", "mno-thumb-interwork" }
15+ { "marm", TARGET_ENDIAN_OPTION, "mhard-float", "mno-thumb-interwork" }
16
17 /* Now we define the strings used to build the spec file. */
18 #undef LIB_SPEC
19Index: gcc-4.5.0/gcc/config.gcc
20===================================================================
21--- gcc-4.5.0.orig/gcc/config.gcc 2010-06-25 10:40:33.321880880 -0700
22+++ gcc-4.5.0/gcc/config.gcc 2010-06-25 11:03:07.013133525 -0700
23@@ -734,6 +734,11 @@
24 esac
25 tmake_file="${tmake_file} t-linux arm/t-arm"
26 case ${target} in
27+ arm*b-*)
28+ tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1"
29+ ;;
30+ esac
31+ case ${target} in
32 arm*-*-linux-*eabi)
33 tm_file="$tm_file arm/bpabi.h arm/linux-eabi.h"
34 tmake_file="$tmake_file arm/t-arm-elf arm/t-bpabi arm/t-linux-eabi t-slibgcc-libgcc"
diff --git a/recipes-devtools/gcc/gcc-4.5/904-flatten-switch-stmt-00.patch b/recipes-devtools/gcc/gcc-4.5/904-flatten-switch-stmt-00.patch
new file mode 100644
index 0000000000..c4641dc63e
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/904-flatten-switch-stmt-00.patch
@@ -0,0 +1,74 @@
1Hi,
2
3The attached patch makes sure that we create smaller object code for
4simple switch statements. We just make sure to flatten the switch
5statement into an if-else chain, basically.
6
7This fixes a size-regression as compared to gcc-3.4, as can be seen
8below.
9
102007-04-15 Bernhard Fischer <..>
11
12 * stmt.c (expand_case): Do not create a complex binary tree when
13 optimizing for size but rather use the simple ordered list.
14 (emit_case_nodes): do not emit jumps to the default_label when
15 optimizing for size.
16
17Not regtested so far.
18Comments?
19
20Attached is the test switch.c mentioned below.
21
22$ for i in 2.95 3.3 3.4 4.0 4.1 4.2.orig-HEAD 4.3.orig-HEAD 4.3-HEAD;do
23gcc-$i -DCHAIN -Os -o switch-CHAIN-$i.o -c switch.c ;done
24$ for i in 2.95 3.3 3.4 4.0 4.1 4.2.orig-HEAD 4.3.orig-HEAD 4.3-HEAD;do
25gcc-$i -UCHAIN -Os -o switch-$i.o -c switch.c ;done
26
27$ size switch-*.o
28 text data bss dec hex filename
29 169 0 0 169 a9 switch-2.95.o
30 115 0 0 115 73 switch-3.3.o
31 103 0 0 103 67 switch-3.4.o
32 124 0 0 124 7c switch-4.0.o
33 124 0 0 124 7c switch-4.1.o
34 124 0 0 124 7c switch-4.2.orig-HEAD.o
35 95 0 0 95 5f switch-4.3-HEAD.o
36 124 0 0 124 7c switch-4.3.orig-HEAD.o
37 166 0 0 166 a6 switch-CHAIN-2.95.o
38 111 0 0 111 6f switch-CHAIN-3.3.o
39 95 0 0 95 5f switch-CHAIN-3.4.o
40 95 0 0 95 5f switch-CHAIN-4.0.o
41 95 0 0 95 5f switch-CHAIN-4.1.o
42 95 0 0 95 5f switch-CHAIN-4.2.orig-HEAD.o
43 95 0 0 95 5f switch-CHAIN-4.3-HEAD.o
44 95 0 0 95 5f switch-CHAIN-4.3.orig-HEAD.o
45
46
47Content-Type: text/x-diff; charset=us-ascii
48Content-Disposition: attachment; filename="gcc-4.3.gcc-flatten-switch-stmt.00.diff"
49
50Index: gcc-4.5.0/gcc/stmt.c
51===================================================================
52--- gcc-4.5.0.orig/gcc/stmt.c 2010-02-19 01:53:51.000000000 -0800
53+++ gcc-4.5.0/gcc/stmt.c 2010-06-25 11:05:31.816881094 -0700
54@@ -2440,7 +2440,11 @@
55 default code is emitted. */
56
57 use_cost_table = estimate_case_costs (case_list);
58- balance_case_nodes (&case_list, NULL);
59+ /* When optimizing for size, we want a straight list to avoid
60+ jumps as much as possible. This basically creates an if-else
61+ chain. */
62+ if (!optimize_size)
63+ balance_case_nodes (&case_list, NULL);
64 emit_case_nodes (index, case_list, default_label, index_type);
65 if (default_label)
66 emit_jump (default_label);
67@@ -3008,6 +3012,7 @@
68 {
69 if (!node_has_low_bound (node, index_type))
70 {
71+ if (!optimize_size) /* don't jl to the .default_label. */
72 emit_cmp_and_jump_insns (index,
73 convert_modes
74 (mode, imode,
diff --git a/recipes-devtools/gcc/gcc-4.5/Makefile.in.patch b/recipes-devtools/gcc/gcc-4.5/Makefile.in.patch
new file mode 100644
index 0000000000..45df47c5bf
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/Makefile.in.patch
@@ -0,0 +1,30 @@
1Index: gcc-4.5/gcc/Makefile.in
2===================================================================
3--- gcc-4.5.orig/gcc/Makefile.in
4+++ gcc-4.5/gcc/Makefile.in
5@@ -656,7 +656,7 @@ LIBGCC2_INCLUDES =
6 TARGET_LIBGCC2_CFLAGS =
7
8 # Options to use when compiling crtbegin/end.
9-CRTSTUFF_CFLAGS = -O2 $(GCC_CFLAGS) $(INCLUDES) $(MULTILIB_CFLAGS) -g0 \
10+CRTSTUFF_CFLAGS = -O2 $(GCC_CFLAGS) $(TARGET_INCLUDES) $(MULTILIB_CFLAGS) -g0 \
11 -finhibit-size-directive -fno-inline -fno-exceptions \
12 -fno-zero-initialized-in-bss -fno-toplevel-reorder -fno-tree-vectorize \
13 $(INHIBIT_LIBC_CFLAGS)
14@@ -1038,10 +1038,14 @@ BUILD_ERRORS = build/errors.o
15 # -I$(@D) and -I$(srcdir)/$(@D) cause the subdirectory of the file
16 # currently being compiled, in both source trees, to be examined as well.
17 # libintl.h will be found in ../intl if we are using the included libintl.
18-INCLUDES = -I. -I$(@D) -I$(srcdir) -I$(srcdir)/$(@D) \
19+#
20+# TARGET_INCLUDES is added to avoid that GMPINC (which points to the host
21+# include dir) is used for compiling libgcc.a
22+TARGET_INCLUDES = -I. -I$(@D) -I$(srcdir) -I$(srcdir)/$(@D) \
23 -I$(srcdir)/../include @INCINTL@ \
24- $(CPPINC) $(GMPINC) $(DECNUMINC) \
25+ $(CPPINC) $(DECNUMINC) \
26 $(PPLINC) $(CLOOGINC) $(LIBELFINC)
27+INCLUDES = $(TARGET_INCLUDES) $(GMPINC)
28
29 .c.o:
30 $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $< $(OUTPUT_OPTION)
diff --git a/recipes-devtools/gcc/gcc-4.5/arm-bswapsi2.patch b/recipes-devtools/gcc/gcc-4.5/arm-bswapsi2.patch
new file mode 100644
index 0000000000..7ac61a6d63
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/arm-bswapsi2.patch
@@ -0,0 +1,13 @@
1Index: gcc-4.5/gcc/config/arm/arm.md
2===================================================================
3--- gcc-4.5.orig/gcc/config/arm/arm.md 2010-06-17 09:13:07.000000000 -0700
4+++ gcc-4.5/gcc/config/arm/arm.md 2010-06-22 08:08:45.397212002 -0700
5@@ -11267,7 +11267,7 @@
6 (define_expand "bswapsi2"
7 [(set (match_operand:SI 0 "s_register_operand" "=r")
8 (bswap:SI (match_operand:SI 1 "s_register_operand" "r")))]
9-"TARGET_EITHER"
10+"TARGET_EITHER && (arm_arch6 && !optimize_size)"
11 "
12 if (!arm_arch6)
13 {
diff --git a/recipes-devtools/gcc/gcc-4.5/arm-nolibfloat.patch b/recipes-devtools/gcc/gcc-4.5/arm-nolibfloat.patch
new file mode 100644
index 0000000000..99f2b20d50
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/arm-nolibfloat.patch
@@ -0,0 +1,24 @@
1# Dimitry Andric <dimitry@andric.com>, 2004-05-01
2#
3# * Removed the extra -lfloat option from LIBGCC_SPEC, since it isn't needed
4# anymore. (The required functions are now in libgcc.)
5#
6# Fixes errors like
7# arm-softfloat-linux-gnu/3.4.0/../../../../arm-softfloat-linux-gnu/bin/ld: cannot find -lfloat
8# collect2: ld returned 1 exit status
9# make[2]: *** [arm-softfloat-linux-gnu/gcc-3.4.0-glibc-2.3.2/build-glibc/iconvdata/ISO8859-1.so] Error 1
10# when building glibc-2.3.3 with gcc-3.4.0 for arm-softfloat
11
12Index: gcc-4.5.0/gcc/config/arm/linux-elf.h
13===================================================================
14--- gcc-4.5.0.orig/gcc/config/arm/linux-elf.h 2010-06-25 11:04:49.572437901 -0700
15+++ gcc-4.5.0/gcc/config/arm/linux-elf.h 2010-06-25 11:06:12.273162283 -0700
16@@ -60,7 +60,7 @@
17 %{shared:-lc} \
18 %{!shared:%{profile:-lc_p}%{!profile:-lc}}"
19
20-#define LIBGCC_SPEC "%{msoft-float:-lfloat} %{mfloat-abi=soft*:-lfloat} -lgcc"
21+#define LIBGCC_SPEC "-lgcc"
22
23 #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
24
diff --git a/recipes-devtools/gcc/gcc-4.5/arm-softfloat.patch b/recipes-devtools/gcc/gcc-4.5/arm-softfloat.patch
new file mode 100644
index 0000000000..181d4fbf5a
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/arm-softfloat.patch
@@ -0,0 +1,16 @@
1Index: gcc-4.5.0/gcc/config/arm/t-linux
2===================================================================
3--- gcc-4.5.0.orig/gcc/config/arm/t-linux 2009-04-21 12:03:23.000000000 -0700
4+++ gcc-4.5.0/gcc/config/arm/t-linux 2010-06-25 11:11:06.836381365 -0700
5@@ -23,7 +23,10 @@
6
7 LIB1ASMSRC = arm/lib1funcs.asm
8 LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_lnx _clzsi2 _clzdi2 \
9- _arm_addsubdf3 _arm_addsubsf3
10+ _negdf2 _addsubdf3 _muldivdf3 _cmpdf2 _unorddf2 _fixdfsi _fixunsdfsi \
11+ _truncdfsf2 _negsf2 _addsubsf3 _muldivsf3 _cmpsf2 _unordsf2 \
12+ _fixsfsi _fixunssfsi _floatdidf _floatdisf _floatundisf _floatundidf
13+# _arm_addsubdf3 _arm_addsubsf3
14
15 # MULTILIB_OPTIONS = mhard-float/msoft-float
16 # MULTILIB_DIRNAMES = hard-float soft-float
diff --git a/recipes-devtools/gcc/gcc-4.5/arm-unbreak-eabi-armv4t.dpatch b/recipes-devtools/gcc/gcc-4.5/arm-unbreak-eabi-armv4t.dpatch
new file mode 100644
index 0000000000..7bb8887068
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/arm-unbreak-eabi-armv4t.dpatch
@@ -0,0 +1,36 @@
1#! /bin/sh -e
2
3# DP: Fix armv4t build on ARM
4
5dir=
6if [ $# -eq 3 -a "$2" = '-d' ]; then
7 pdir="-d $3"
8 dir="$3/"
9elif [ $# -ne 1 ]; then
10 echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
11 exit 1
12fi
13case "$1" in
14 -patch)
15 patch $pdir -f --no-backup-if-mismatch -p1 < $0
16 ;;
17 -unpatch)
18 patch $pdir -f --no-backup-if-mismatch -R -p1 < $0
19 ;;
20 *)
21 echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
22 exit 1
23esac
24exit 0
25
26--- src/gcc/config/arm/linux-eabi.h.orig 2007-11-24 12:37:38.000000000 +0000
27+++ src/gcc/config/arm/linux-eabi.h 2007-11-24 12:39:41.000000000 +0000
28@@ -44,7 +44,7 @@
29 The ARM10TDMI core is the default for armv5t, so set
30 SUBTARGET_CPU_DEFAULT to achieve this. */
31 #undef SUBTARGET_CPU_DEFAULT
32-#define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm10tdmi
33+#define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm9tdmi
34
35 /* TARGET_BIG_ENDIAN_DEFAULT is set in
36 config.gcc for big endian configurations. */
diff --git a/recipes-devtools/gcc/gcc-4.5/cache-amnesia.patch b/recipes-devtools/gcc/gcc-4.5/cache-amnesia.patch
new file mode 100644
index 0000000000..b889f9b6ca
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/cache-amnesia.patch
@@ -0,0 +1,31 @@
1---
2 gcc/configure | 2 +-
3 gcc/configure.ac | 2 +-
4 2 files changed, 2 insertions(+), 2 deletions(-)
5
6Index: gcc-4.5+svnr155514/gcc/configure
7===================================================================
8--- gcc-4.5+svnr155514.orig/gcc/configure 2009-12-29 22:00:40.000000000 -0800
9+++ gcc-4.5+svnr155514/gcc/configure 2009-12-29 23:52:43.381592113 -0800
10@@ -10467,7 +10467,7 @@ else
11 saved_CFLAGS="${CFLAGS}"
12 CC="${CC_FOR_BUILD}" CFLAGS="${CFLAGS_FOR_BUILD}" \
13 LDFLAGS="${LDFLAGS_FOR_BUILD}" \
14- ${realsrcdir}/configure \
15+ CONFIG_SITE= ${realsrcdir}/configure --cache-file=./other.cache \
16 --enable-languages=${enable_languages-all} \
17 --target=$target_alias --host=$build_alias --build=$build_alias
18 CFLAGS="${saved_CFLAGS}"
19Index: gcc-4.5+svnr155514/gcc/configure.ac
20===================================================================
21--- gcc-4.5+svnr155514.orig/gcc/configure.ac 2009-12-29 22:00:40.000000000 -0800
22+++ gcc-4.5+svnr155514/gcc/configure.ac 2009-12-29 23:51:54.589091778 -0800
23@@ -1458,7 +1458,7 @@ else
24 saved_CFLAGS="${CFLAGS}"
25 CC="${CC_FOR_BUILD}" CFLAGS="${CFLAGS_FOR_BUILD}" \
26 LDFLAGS="${LDFLAGS_FOR_BUILD}" \
27- ${realsrcdir}/configure \
28+ CONFIG_SITE= ${realsrcdir}/configure --cache-file=./other.cache \
29 --enable-languages=${enable_languages-all} \
30 --target=$target_alias --host=$build_alias --build=$build_alias
31 CFLAGS="${saved_CFLAGS}"
diff --git a/recipes-devtools/gcc/gcc-4.5/disable_relax_pic_calls_flag.patch b/recipes-devtools/gcc/gcc-4.5/disable_relax_pic_calls_flag.patch
new file mode 100644
index 0000000000..b1d5a1a3cb
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/disable_relax_pic_calls_flag.patch
@@ -0,0 +1,44 @@
1GCC: disable MASK_RELAX_PIC_CALLS bit
2
3The new feature added after 4.3.3
4"http://www.pubbs.net/200909/gcc/94048-patch-add-support-for-rmipsjalr.html"
5will cause cc1plus eat up all the system memory when build webkit-gtk.
6The function mips_get_pic_call_symbol keeps on recursively calling itself.
7Disable this feature to walk aside the bug.
8
9Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
10
11diff -ruN gcc-4.5.0-orig/gcc/configure gcc-4.5.0/gcc/configure
12--- gcc-4.5.0-orig/gcc/configure 2010-09-17 23:30:21.000000000 +0800
13+++ gcc-4.5.0/gcc/configure 2010-09-19 18:21:28.000000000 +0800
14@@ -23945,13 +23945,6 @@
15 rm -f conftest.*
16 fi
17 fi
18- if test $gcc_cv_as_ld_jalr_reloc = yes; then
19- if test x$target_cpu_default = x; then
20- target_cpu_default=MASK_RELAX_PIC_CALLS
21- else
22- target_cpu_default="($target_cpu_default)|MASK_RELAX_PIC_CALLS"
23- fi
24- fi
25 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gcc_cv_as_ld_jalr_reloc" >&5
26 $as_echo "$gcc_cv_as_ld_jalr_reloc" >&6; }
27
28diff -ruN gcc-4.5.0-orig/gcc/configure.ac gcc-4.5.0/gcc/configure.ac
29--- gcc-4.5.0-orig/gcc/configure.ac 2010-09-17 23:30:21.000000000 +0800
30+++ gcc-4.5.0/gcc/configure.ac 2010-09-19 18:21:11.000000000 +0800
31@@ -3467,13 +3467,6 @@
32 rm -f conftest.*
33 fi
34 fi
35- if test $gcc_cv_as_ld_jalr_reloc = yes; then
36- if test x$target_cpu_default = x; then
37- target_cpu_default=MASK_RELAX_PIC_CALLS
38- else
39- target_cpu_default="($target_cpu_default)|MASK_RELAX_PIC_CALLS"
40- fi
41- fi
42 AC_MSG_RESULT($gcc_cv_as_ld_jalr_reloc)
43
44 AC_CACHE_CHECK([linker for .eh_frame personality relaxation],
diff --git a/recipes-devtools/gcc/gcc-4.5/fedora/gcc43-c++-builtin-redecl.patch b/recipes-devtools/gcc/gcc-4.5/fedora/gcc43-c++-builtin-redecl.patch
new file mode 100644
index 0000000000..a149eae98e
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/fedora/gcc43-c++-builtin-redecl.patch
@@ -0,0 +1,114 @@
12007-10-02 Jakub Jelinek <jakub@redhat.com>
2
3 * decl.c (duplicate_decls): When redeclaring a builtin function,
4 keep the merged decl builtin whenever types match, even if new
5 decl defines a function.
6
7 * gcc.dg/builtins-65.c: New test.
8 * g++.dg/ext/builtin10.C: New test.
9
10Index: gcc/cp/decl.c
11===================================================================
12--- gcc/cp/decl.c.orig 2010-04-01 11:48:46.000000000 -0700
13+++ gcc/cp/decl.c 2010-06-25 10:10:54.749131719 -0700
14@@ -2021,23 +2021,21 @@
15 DECL_ARGUMENTS (olddecl) = DECL_ARGUMENTS (newdecl);
16 DECL_RESULT (olddecl) = DECL_RESULT (newdecl);
17 }
18+ /* If redeclaring a builtin function, it stays built in. */
19+ if (types_match && DECL_BUILT_IN (olddecl))
20+ {
21+ DECL_BUILT_IN_CLASS (newdecl) = DECL_BUILT_IN_CLASS (olddecl);
22+ DECL_FUNCTION_CODE (newdecl) = DECL_FUNCTION_CODE (olddecl);
23+ /* If we're keeping the built-in definition, keep the rtl,
24+ regardless of declaration matches. */
25+ COPY_DECL_RTL (olddecl, newdecl);
26+ }
27 if (new_defines_function)
28 /* If defining a function declared with other language
29 linkage, use the previously declared language linkage. */
30 SET_DECL_LANGUAGE (newdecl, DECL_LANGUAGE (olddecl));
31 else if (types_match)
32 {
33- /* If redeclaring a builtin function, and not a definition,
34- it stays built in. */
35- if (DECL_BUILT_IN (olddecl))
36- {
37- DECL_BUILT_IN_CLASS (newdecl) = DECL_BUILT_IN_CLASS (olddecl);
38- DECL_FUNCTION_CODE (newdecl) = DECL_FUNCTION_CODE (olddecl);
39- /* If we're keeping the built-in definition, keep the rtl,
40- regardless of declaration matches. */
41- COPY_DECL_RTL (olddecl, newdecl);
42- }
43-
44 DECL_RESULT (newdecl) = DECL_RESULT (olddecl);
45 /* Don't clear out the arguments if we're just redeclaring a
46 function. */
47Index: gcc/testsuite/gcc.dg/builtins-65.c
48===================================================================
49--- gcc/testsuite/gcc.dg/builtins-65.c.orig 2009-06-26 02:02:04.000000000 -0700
50+++ gcc/testsuite/gcc.dg/builtins-65.c 2010-06-25 10:10:54.784464429 -0700
51@@ -1,3 +1,28 @@
52+/* { dg-do compile } */
53+/* { dg-options "-O2" } */
54+
55+typedef __SIZE_TYPE__ size_t;
56+extern void __chk_fail (void);
57+extern int snprintf (char *, size_t, const char *, ...);
58+extern inline __attribute__((gnu_inline, always_inline)) int snprintf (char *a, size_t b, const char *fmt, ...)
59+{
60+ if (__builtin_object_size (a, 0) != -1UL && __builtin_object_size (a, 0) < b)
61+ __chk_fail ();
62+ return __builtin_snprintf (a, b, fmt, __builtin_va_arg_pack ());
63+}
64+extern int snprintf (char *, size_t, const char *, ...) __asm ("mysnprintf");
65+
66+char buf[10];
67+
68+int
69+main (void)
70+{
71+ snprintf (buf, 10, "%d%d\n", 10, 10);
72+ return 0;
73+}
74+
75+/* { dg-final { scan-assembler "mysnprintf" } } */
76+/* { dg-final { scan-assembler-not "__chk_fail" } } */
77 /* { dg-do link } */
78 /* { dg-options "-O2 -ffast-math" } */
79 /* { dg-require-effective-target c99_runtime } */
80Index: gcc/testsuite/g++.dg/ext/builtin10.C
81===================================================================
82--- gcc/testsuite/g++.dg/ext/builtin10.C.orig 2009-02-02 03:27:50.000000000 -0800
83+++ gcc/testsuite/g++.dg/ext/builtin10.C 2010-06-25 10:10:54.816467202 -0700
84@@ -1,3 +1,30 @@
85+// { dg-do compile }
86+// { dg-options "-O2" }
87+
88+typedef __SIZE_TYPE__ size_t;
89+extern "C" {
90+extern void __chk_fail (void);
91+extern int snprintf (char *, size_t, const char *, ...);
92+extern inline __attribute__((gnu_inline, always_inline)) int snprintf (char *a, size_t b, const char *fmt, ...)
93+{
94+ if (__builtin_object_size (a, 0) != -1UL && __builtin_object_size (a, 0) < b)
95+ __chk_fail ();
96+ return __builtin_snprintf (a, b, fmt, __builtin_va_arg_pack ());
97+}
98+extern int snprintf (char *, size_t, const char *, ...) __asm ("mysnprintf");
99+}
100+
101+char buf[10];
102+
103+int
104+main (void)
105+{
106+ snprintf (buf, 10, "%d%d\n", 10, 10);
107+ return 0;
108+}
109+
110+// { dg-final { scan-assembler "mysnprintf" } }
111+// { dg-final { scan-assembler-not "__chk_fail" } }
112 // { dg-do compile { target correct_iso_cpp_string_wchar_protos } }
113 // { dg-options "-O2 -fdump-tree-optimized" }
114
diff --git a/recipes-devtools/gcc/gcc-4.5/fedora/gcc43-cpp-pragma.patch b/recipes-devtools/gcc/gcc-4.5/fedora/gcc43-cpp-pragma.patch
new file mode 100644
index 0000000000..00d37bd7ce
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/fedora/gcc43-cpp-pragma.patch
@@ -0,0 +1,284 @@
12008-02-26 Jakub Jelinek <jakub@redhat.com>
2
3 * c-ppoutput.c (scan_translation_unit): Handle CPP_PRAGMA
4 and CPP_PRAGMA_EOL.
5 * c-pragma.c (pragma_ns_name): New typedef.
6 (registered_pp_pragmas): New variable.
7 (c_pp_lookup_pragma): New function.
8 (c_register_pragma_1): If flag_preprocess_only, do nothing
9 for non-expanded pragmas, for expanded ones push pragma's
10 namespace and name into registered_pp_pragmas vector.
11 (c_invoke_pragma_handler): Register OpenMP pragmas even when
12 flag_preprocess_only, don't register GCC pch_preprocess
13 pragma if flag_preprocess_only.
14 * c-opts.c (c_common_init): Call init_pragma even if
15 flag_preprocess_only.
16 * c-pragma.c (c_pp_lookup_pragma): New prototype.
17 * config/darwin.h (DARWIN_REGISTER_TARGET_PRAGMAS): Don't call
18 cpp_register_pragma if flag_preprocess_only.
19
20 * gcc.dg/gomp/preprocess-1.c: New test.
21
22--- gcc/c-ppoutput.c.jj 2008-01-26 18:01:16.000000000 +0100
23+++ gcc/c-ppoutput.c 2008-02-26 22:54:57.000000000 +0100
24@@ -1,6 +1,6 @@
25 /* Preprocess only, using cpplib.
26- Copyright (C) 1995, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2007
27- Free Software Foundation, Inc.
28+ Copyright (C) 1995, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2007,
29+ 2008 Free Software Foundation, Inc.
30 Written by Per Bothner, 1994-95.
31
32 This program is free software; you can redistribute it and/or modify it
33@@ -177,7 +177,24 @@ scan_translation_unit (cpp_reader *pfile
34 avoid_paste = false;
35 print.source = NULL;
36 print.prev = token;
37- cpp_output_token (token, print.outf);
38+ if (token->type == CPP_PRAGMA)
39+ {
40+ const char *space;
41+ const char *name;
42+
43+ maybe_print_line (token->src_loc);
44+ fputs ("#pragma ", print.outf);
45+ c_pp_lookup_pragma (token->val.pragma, &space, &name);
46+ if (space)
47+ fprintf (print.outf, "%s %s", space, name);
48+ else
49+ fprintf (print.outf, "%s", name);
50+ print.printed = 1;
51+ }
52+ else if (token->type == CPP_PRAGMA_EOL)
53+ maybe_print_line (token->src_loc);
54+ else
55+ cpp_output_token (token, print.outf);
56
57 if (token->type == CPP_COMMENT)
58 account_for_newlines (token->val.str.text, token->val.str.len);
59--- gcc/c-pragma.c.jj 2008-02-15 18:43:03.000000000 +0100
60+++ gcc/c-pragma.c 2008-02-26 22:59:44.000000000 +0100
61@@ -1,6 +1,6 @@
62 /* Handle #pragma, system V.4 style. Supports #pragma weak and #pragma pack.
63 Copyright (C) 1992, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
64- 2006, 2007 Free Software Foundation, Inc.
65+ 2006, 2007, 2008 Free Software Foundation, Inc.
66
67 This file is part of GCC.
68
69@@ -872,6 +872,61 @@ DEF_VEC_ALLOC_O (pragma_handler, heap);
70
71 static VEC(pragma_handler, heap) *registered_pragmas;
72
73+typedef struct
74+{
75+ const char *space;
76+ const char *name;
77+} pragma_ns_name;
78+
79+DEF_VEC_O (pragma_ns_name);
80+DEF_VEC_ALLOC_O (pragma_ns_name, heap);
81+
82+static VEC(pragma_ns_name, heap) *registered_pp_pragmas;
83+
84+struct omp_pragma_def { const char *name; unsigned int id; };
85+static const struct omp_pragma_def omp_pragmas[] = {
86+ { "atomic", PRAGMA_OMP_ATOMIC },
87+ { "barrier", PRAGMA_OMP_BARRIER },
88+ { "critical", PRAGMA_OMP_CRITICAL },
89+ { "flush", PRAGMA_OMP_FLUSH },
90+ { "for", PRAGMA_OMP_FOR },
91+ { "master", PRAGMA_OMP_MASTER },
92+ { "ordered", PRAGMA_OMP_ORDERED },
93+ { "parallel", PRAGMA_OMP_PARALLEL },
94+ { "section", PRAGMA_OMP_SECTION },
95+ { "sections", PRAGMA_OMP_SECTIONS },
96+ { "single", PRAGMA_OMP_SINGLE },
97+ { "threadprivate", PRAGMA_OMP_THREADPRIVATE }
98+};
99+
100+void
101+c_pp_lookup_pragma (unsigned int id, const char **space, const char **name)
102+{
103+ const int n_omp_pragmas = sizeof (omp_pragmas) / sizeof (*omp_pragmas);
104+ int i;
105+
106+ for (i = 0; i < n_omp_pragmas; ++i)
107+ if (omp_pragmas[i].id == id)
108+ {
109+ *space = "omp";
110+ *name = omp_pragmas[i].name;
111+ return;
112+ }
113+
114+ if (id >= PRAGMA_FIRST_EXTERNAL
115+ && (id < PRAGMA_FIRST_EXTERNAL
116+ + VEC_length (pragma_ns_name, registered_pp_pragmas)))
117+ {
118+ *space = VEC_index (pragma_ns_name, registered_pp_pragmas,
119+ id - PRAGMA_FIRST_EXTERNAL)->space;
120+ *name = VEC_index (pragma_ns_name, registered_pp_pragmas,
121+ id - PRAGMA_FIRST_EXTERNAL)->name;
122+ return;
123+ }
124+
125+ gcc_unreachable ();
126+}
127+
128 /* Front-end wrappers for pragma registration to avoid dragging
129 cpplib.h in almost everywhere. */
130
131@@ -881,13 +936,29 @@ c_register_pragma_1 (const char *space,
132 {
133 unsigned id;
134
135- VEC_safe_push (pragma_handler, heap, registered_pragmas, &handler);
136- id = VEC_length (pragma_handler, registered_pragmas);
137- id += PRAGMA_FIRST_EXTERNAL - 1;
138-
139- /* The C++ front end allocates 6 bits in cp_token; the C front end
140- allocates 7 bits in c_token. At present this is sufficient. */
141- gcc_assert (id < 64);
142+ if (flag_preprocess_only)
143+ {
144+ pragma_ns_name ns_name;
145+
146+ if (!allow_expansion)
147+ return;
148+
149+ ns_name.space = space;
150+ ns_name.name = name;
151+ VEC_safe_push (pragma_ns_name, heap, registered_pp_pragmas, &ns_name);
152+ id = VEC_length (pragma_ns_name, registered_pp_pragmas);
153+ id += PRAGMA_FIRST_EXTERNAL - 1;
154+ }
155+ else
156+ {
157+ VEC_safe_push (pragma_handler, heap, registered_pragmas, &handler);
158+ id = VEC_length (pragma_handler, registered_pragmas);
159+ id += PRAGMA_FIRST_EXTERNAL - 1;
160+
161+ /* The C++ front end allocates 6 bits in cp_token; the C front end
162+ allocates 7 bits in c_token. At present this is sufficient. */
163+ gcc_assert (id < 64);
164+ }
165
166 cpp_register_deferred_pragma (parse_in, space, name, id,
167 allow_expansion, false);
168@@ -921,24 +992,8 @@ c_invoke_pragma_handler (unsigned int id
169 void
170 init_pragma (void)
171 {
172- if (flag_openmp && !flag_preprocess_only)
173+ if (flag_openmp)
174 {
175- struct omp_pragma_def { const char *name; unsigned int id; };
176- static const struct omp_pragma_def omp_pragmas[] = {
177- { "atomic", PRAGMA_OMP_ATOMIC },
178- { "barrier", PRAGMA_OMP_BARRIER },
179- { "critical", PRAGMA_OMP_CRITICAL },
180- { "flush", PRAGMA_OMP_FLUSH },
181- { "for", PRAGMA_OMP_FOR },
182- { "master", PRAGMA_OMP_MASTER },
183- { "ordered", PRAGMA_OMP_ORDERED },
184- { "parallel", PRAGMA_OMP_PARALLEL },
185- { "section", PRAGMA_OMP_SECTION },
186- { "sections", PRAGMA_OMP_SECTIONS },
187- { "single", PRAGMA_OMP_SINGLE },
188- { "threadprivate", PRAGMA_OMP_THREADPRIVATE }
189- };
190-
191 const int n_omp_pragmas = sizeof (omp_pragmas) / sizeof (*omp_pragmas);
192 int i;
193
194@@ -947,8 +1002,9 @@ init_pragma (void)
195 omp_pragmas[i].id, true, true);
196 }
197
198- cpp_register_deferred_pragma (parse_in, "GCC", "pch_preprocess",
199- PRAGMA_GCC_PCH_PREPROCESS, false, false);
200+ if (!flag_preprocess_only)
201+ cpp_register_deferred_pragma (parse_in, "GCC", "pch_preprocess",
202+ PRAGMA_GCC_PCH_PREPROCESS, false, false);
203
204 #ifdef HANDLE_PRAGMA_PACK
205 #ifdef HANDLE_PRAGMA_PACK_WITH_EXPANSION
206--- gcc/c-opts.c.jj 2008-02-26 22:53:23.000000000 +0100
207+++ gcc/c-opts.c 2008-02-26 22:54:57.000000000 +0100
208@@ -1,5 +1,5 @@
209 /* C/ObjC/C++ command line option handling.
210- Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007
211+ Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008
212 Free Software Foundation, Inc.
213 Contributed by Neil Booth.
214
215@@ -1239,6 +1239,9 @@ c_common_init (void)
216 if (version_flag)
217 c_common_print_pch_checksum (stderr);
218
219+ /* Has to wait until now so that cpplib has its hash table. */
220+ init_pragma ();
221+
222 if (flag_preprocess_only)
223 {
224 finish_options ();
225@@ -1246,9 +1249,6 @@ c_common_init (void)
226 return false;
227 }
228
229- /* Has to wait until now so that cpplib has its hash table. */
230- init_pragma ();
231-
232 return true;
233 }
234
235--- gcc/c-pragma.h.jj 2008-01-26 18:01:16.000000000 +0100
236+++ gcc/c-pragma.h 2008-02-26 22:54:57.000000000 +0100
237@@ -1,6 +1,6 @@
238 /* Pragma related interfaces.
239 Copyright (C) 1995, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
240- 2007 Free Software Foundation, Inc.
241+ 2007, 2008 Free Software Foundation, Inc.
242
243 This file is part of GCC.
244
245@@ -124,4 +124,6 @@ extern enum cpp_ttype pragma_lex (tree *
246 extern enum cpp_ttype c_lex_with_flags (tree *, location_t *, unsigned char *,
247 int);
248
249+extern void c_pp_lookup_pragma (unsigned int, const char **, const char **);
250+
251 #endif /* GCC_C_PRAGMA_H */
252--- gcc/config/darwin.h.jj 2008-02-11 14:48:12.000000000 +0100
253+++ gcc/config/darwin.h 2008-02-26 22:54:57.000000000 +0100
254@@ -892,8 +892,9 @@ enum machopic_addr_class {
255
256 #define DARWIN_REGISTER_TARGET_PRAGMAS() \
257 do { \
258- cpp_register_pragma (parse_in, NULL, "mark", \
259- darwin_pragma_ignore, false); \
260+ if (!flag_preprocess_only) \
261+ cpp_register_pragma (parse_in, NULL, "mark", \
262+ darwin_pragma_ignore, false); \
263 c_register_pragma (0, "options", darwin_pragma_options); \
264 c_register_pragma (0, "segment", darwin_pragma_ignore); \
265 c_register_pragma (0, "unused", darwin_pragma_unused); \
266--- gcc/testsuite/gcc.dg/gomp/preprocess-1.c.jj 2008-02-26 22:54:57.000000000 +0100
267+++ gcc/testsuite/gcc.dg/gomp/preprocess-1.c 2008-02-26 22:54:57.000000000 +0100
268@@ -0,0 +1,16 @@
269+/* { dg-do preprocess } */
270+
271+void foo (void)
272+{
273+ int i1, j1, k1;
274+#define p parallel
275+#define P(x) private (x##1)
276+#define S(x) shared (x##1)
277+#define F(x) firstprivate (x##1)
278+#pragma omp p P(i) \
279+ S(j) \
280+ F(k)
281+ ;
282+}
283+
284+/* { dg-final { scan-file preprocess-1.i "(^|\n)#pragma omp parallel private \\(i1\\) shared \\(j1\\) firstprivate \\(k1\\)($|\n)" } } */
diff --git a/recipes-devtools/gcc/gcc-4.5/fedora/gcc43-i386-libgomp.patch b/recipes-devtools/gcc/gcc-4.5/fedora/gcc43-i386-libgomp.patch
new file mode 100644
index 0000000000..a588db28e8
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/fedora/gcc43-i386-libgomp.patch
@@ -0,0 +1,65 @@
1Build i386.rpm libgomp and libsupc++.a(guard.o) as i486+, pre-i486
2hardware isn't supported because NPTL doesn't support it anyway.
3
4Index: libgomp/configure.tgt
5===================================================================
6--- libgomp/configure.tgt.orig 2010-01-28 13:47:59.000000000 -0800
7+++ libgomp/configure.tgt 2010-06-25 10:32:26.706135558 -0700
8@@ -48,14 +48,14 @@
9 ;;
10
11 # Note that bare i386 is not included here. We need cmpxchg.
12- i[456]86-*-linux*)
13+ i[3456]86-*-linux*)
14 config_path="linux/x86 linux posix"
15 case " ${CC} ${CFLAGS} " in
16 *" -m64 "*)
17 ;;
18 *)
19 if test -z "$with_arch"; then
20- XCFLAGS="${XCFLAGS} -march=i486 -mtune=${target_cpu}"
21+ XCFLAGS="${XCFLAGS} -march=i486 -mtune=generic"
22 fi
23 esac
24 ;;
25@@ -67,7 +67,7 @@
26 config_path="linux/x86 linux posix"
27 case " ${CC} ${CFLAGS} " in
28 *" -m32 "*)
29- XCFLAGS="${XCFLAGS} -march=i486 -mtune=i686"
30+ XCFLAGS="${XCFLAGS} -march=i486 -mtune=generic"
31 ;;
32 esac
33 ;;
34Index: libstdc++-v3/libsupc++/guard.cc
35===================================================================
36--- libstdc++-v3/libsupc++/guard.cc.orig 2009-11-09 14:09:30.000000000 -0800
37+++ libstdc++-v3/libsupc++/guard.cc 2010-06-25 10:32:26.710135964 -0700
38@@ -30,6 +30,27 @@
39 #include <new>
40 #include <ext/atomicity.h>
41 #include <ext/concurrence.h>
42+#if defined __i386__ && !defined _GLIBCXX_ATOMIC_BUILTINS
43+# define _GLIBCXX_ATOMIC_BUILTINS 1
44+# define __sync_val_compare_and_swap(a, b, c) \
45+ ({ \
46+ typedef char sltast[sizeof (*a) == sizeof (int) ? 1 : -1]; \
47+ int sltas; \
48+ __asm __volatile ("lock; cmpxchgl %3, (%1)" \
49+ : "=a" (sltas) \
50+ : "r" (a), "0" (b), "r" (c) : "memory"); \
51+ sltas; \
52+ })
53+# define __sync_lock_test_and_set(a, b) \
54+ ({ \
55+ typedef char sltast[sizeof (*a) == sizeof (int) ? 1 : -1]; \
56+ int sltas; \
57+ __asm __volatile ("xchgl (%1), %0" \
58+ : "=r" (sltas) \
59+ : "r" (a), "0" (b) : "memory"); \
60+ sltas; \
61+ })
62+#endif
63 #if defined(__GTHREADS) && defined(__GTHREAD_HAS_COND) \
64 && defined(_GLIBCXX_ATOMIC_BUILTINS_4) && defined(_GLIBCXX_HAVE_LINUX_FUTEX)
65 # include <climits>
diff --git a/recipes-devtools/gcc/gcc-4.5/fedora/gcc43-ia64-libunwind.patch b/recipes-devtools/gcc/gcc-4.5/fedora/gcc43-ia64-libunwind.patch
new file mode 100644
index 0000000000..cad13d1228
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/fedora/gcc43-ia64-libunwind.patch
@@ -0,0 +1,550 @@
12004-11-27 Jakub Jelinek <jakub@redhat.com>
2
3 * config.gcc (ia64*-*-linux*): If native and libelf is installed,
4 use ia64/t-glibc-no-libunwind instead of the other t-*unwind*
5 fragments.
6 * config/ia64/t-glibc-no-libunwind: New file.
7 * config/ia64/change-symver.c: New file.
8 * config/ia64/unwind-ia64.c: If USE_SYMVER_GLOBAL and SHARED,
9 define _Unwind_* to __symverglobal_Unwind_*.
10 (alias): Undefine.
11 (symverglobal): Define. Use it on _Unwind_*.
12 * config/ia64/mkmap-symver-multi.awk: New file.
13 * config/ia64/libgcc-ia64-no-libunwind.ver: New file.
14
15Index: gcc/config.gcc
16===================================================================
17--- gcc/config.gcc.orig 2010-04-07 03:34:00.000000000 -0700
18+++ gcc/config.gcc 2010-06-25 10:15:25.133131055 -0700
19@@ -1457,9 +1457,16 @@
20 ;;
21 ia64*-*-linux*)
22 tm_file="${tm_file} dbxelf.h elfos.h svr4.h linux.h glibc-stdint.h ia64/sysv4.h ia64/linux.h"
23- tmake_file="${tmake_file} ia64/t-ia64 t-libunwind ia64/t-glibc"
24- if test x$with_system_libunwind != xyes ; then
25- tmake_file="${tmake_file} t-libunwind-elf ia64/t-glibc-libunwind"
26+ tmake_file="${tmake_file} ia64/t-ia64"
27+ if test x${target} = x${host} && test x${target} = x${build} \
28+ && grep gelf_getverdef /usr/include/gelf.h > /dev/null 2>&1 \
29+ && test -f /usr/lib/libelf.so; then
30+ tmake_file="${tmake_file} ia64/t-glibc-no-libunwind"
31+ else
32+ tmake_file="${tmake_file} t-libunwind ia64/t-glibc"
33+ if test x$with_system_libunwind != xyes ; then
34+ tmake_file="${tmake_file} t-libunwind-elf ia64/t-glibc-libunwind"
35+ fi
36 fi
37 target_cpu_default="MASK_GNU_AS|MASK_GNU_LD"
38 extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o crtfastmath.o"
39Index: gcc/config/ia64/t-glibc-no-libunwind
40===================================================================
41--- /dev/null 1970-01-01 00:00:00.000000000 +0000
42+++ gcc/config/ia64/t-glibc-no-libunwind 2010-06-25 10:14:32.521880765 -0700
43@@ -0,0 +1,30 @@
44+# Don't use system libunwind library on IA-64 GLIBC based system,
45+# but make _Unwind_* symbols unversioned, so that created programs
46+# are usable even when libgcc_s uses libunwind.
47+LIB2ADDEH += $(srcdir)/config/ia64/fde-glibc.c
48+SHLIB_MAPFILES += $(srcdir)/config/ia64/libgcc-ia64-no-libunwind.ver
49+SHLIB_MKMAP = $(srcdir)/config/ia64/mkmap-symver-multi.awk
50+
51+SHLIB_LINK = $(GCC_FOR_TARGET) $(LIBGCC2_CFLAGS) -shared -nodefaultlibs \
52+ -Wl,--soname=$(SHLIB_SONAME) \
53+ -Wl,--version-script=$(SHLIB_MAP) \
54+ -o $(SHLIB_DIR)/$(SHLIB_SONAME).tmp @multilib_flags@ $(SHLIB_OBJS) -lc && \
55+ rm -f $(SHLIB_DIR)/$(SHLIB_SOLINK) && \
56+ if [ -f $(SHLIB_DIR)/$(SHLIB_SONAME) ]; then \
57+ mv -f $(SHLIB_DIR)/$(SHLIB_SONAME) \
58+ $(SHLIB_DIR)/$(SHLIB_SONAME).backup; \
59+ else true; fi && \
60+ gcc -O2 -o $(SHLIB_DIR)/$(SHLIB_SONAME).tweak \
61+ $$(gcc_srcdir)/config/ia64/change-symver.c -lelf && \
62+ $(SHLIB_DIR)/$(SHLIB_SONAME).tweak $(SHLIB_DIR)/$(SHLIB_SONAME).tmp \
63+ GCC_3.4.2 _GLOBAL_ \
64+ _Unwind_GetGR _Unwind_RaiseException _Unwind_GetRegionStart _Unwind_SetIP \
65+ _Unwind_GetIP _Unwind_GetLanguageSpecificData _Unwind_Resume \
66+ _Unwind_DeleteException _Unwind_SetGR _Unwind_ForcedUnwind \
67+ _Unwind_Backtrace _Unwind_FindEnclosingFunction _Unwind_GetCFA \
68+ _Unwind_Resume_or_Rethrow _Unwind_GetBSP && \
69+ rm -f $(SHLIB_DIR)/$(SHLIB_SONAME).tweak && \
70+ mv $(SHLIB_DIR)/$(SHLIB_SONAME).tmp $(SHLIB_DIR)/$(SHLIB_SONAME) && \
71+ $(LN_S) $(SHLIB_SONAME) $(SHLIB_DIR)/$(SHLIB_SOLINK)
72+
73+TARGET_LIBGCC2_CFLAGS += -DUSE_SYMVER_GLOBAL
74Index: gcc/config/ia64/change-symver.c
75===================================================================
76--- /dev/null 1970-01-01 00:00:00.000000000 +0000
77+++ gcc/config/ia64/change-symver.c 2010-06-25 10:14:32.521880765 -0700
78@@ -0,0 +1,211 @@
79+#define _GNU_SOURCE 1
80+#define _FILE_OFFSET_BITS 64
81+#include <endian.h>
82+#include <errno.h>
83+#include <error.h>
84+#include <fcntl.h>
85+#include <fnmatch.h>
86+#include <gelf.h>
87+#include <stdlib.h>
88+#include <string.h>
89+#include <unistd.h>
90+
91+int
92+compute_veridx (const char *name, Elf *elf, Elf_Data *verd, GElf_Shdr *verd_shdr)
93+{
94+ if (strcmp (name, "_GLOBAL_") == 0)
95+ return 1;
96+
97+ int cnt;
98+ size_t offset = 0;
99+ for (cnt = verd_shdr->sh_info; --cnt >= 0; )
100+ {
101+ GElf_Verdef defmem;
102+ GElf_Verdef *def;
103+ GElf_Verdaux auxmem;
104+ GElf_Verdaux *aux;
105+ unsigned int auxoffset;
106+
107+ /* Get the data at the next offset. */
108+ def = gelf_getverdef (verd, offset, &defmem);
109+ if (def == NULL)
110+ break;
111+
112+ auxoffset = offset + def->vd_aux;
113+ aux = gelf_getverdaux (verd, auxoffset, &auxmem);
114+ if (aux == NULL)
115+ break;
116+
117+ if (strcmp (name, elf_strptr (elf, verd_shdr->sh_link,
118+ aux->vda_name)) == 0)
119+ return def->vd_ndx;
120+
121+ /* Find the next offset. */
122+ offset += def->vd_next;
123+ }
124+
125+ return -1;
126+}
127+
128+int
129+main (int argc, char **argv)
130+{
131+ if (argc < 4)
132+ error (1, 0, "Usage: change_symver library from_symver to_symver symbol...\nExample: change_symver libfoo.so FOO_1.0 *global* bar baz");
133+
134+ const char *fname = argv[1];
135+
136+ /* Open the file. */
137+ int fd;
138+ fd = open (fname, O_RDWR);
139+ if (fd == -1)
140+ error (1, errno, fname);
141+
142+ elf_version (EV_CURRENT);
143+
144+ /* Now get the ELF descriptor. */
145+ Elf *elf = elf_begin (fd, ELF_C_READ_MMAP, NULL);
146+ if (elf == NULL || elf_kind (elf) != ELF_K_ELF)
147+ error (1, 0, "Couldn't open %s: %s", fname, elf_errmsg (-1));
148+
149+ size_t shstrndx;
150+ /* Get the section header string table index. */
151+ if (elf_getshstrndx (elf, &shstrndx) < 0)
152+ error (1, 0, "cannot get shstrndx from %s", fname);
153+
154+ GElf_Ehdr ehdr_mem;
155+ GElf_Ehdr *ehdr;
156+
157+ /* We need the ELF header in a few places. */
158+ ehdr = gelf_getehdr (elf, &ehdr_mem);
159+ if (ehdr == NULL)
160+ error (1, 0, "couldn't get ELF headers %s: %s", fname, elf_errmsg (-1));
161+
162+ Elf_Scn *scn = NULL;
163+ GElf_Shdr shdr_mem, verd_shdr, ver_shdr, dynsym_shdr;
164+ Elf_Data *ver = NULL, *verd = NULL, *dynsym = NULL;
165+
166+ while ((scn = elf_nextscn (elf, scn)) != NULL)
167+ {
168+ GElf_Shdr *shdr = gelf_getshdr (scn, &shdr_mem);
169+
170+ if (shdr == NULL)
171+ error (1, 0, "couldn't get shdr from %s", fname);
172+
173+ if ((shdr->sh_flags & SHF_ALLOC) != 0)
174+ {
175+ const char *name = elf_strptr (elf, shstrndx, shdr->sh_name);
176+ Elf_Data **p;
177+
178+ if (strcmp (name, ".gnu.version") == 0)
179+ {
180+ p = &ver;
181+ ver_shdr = *shdr;
182+ }
183+ else if (strcmp (name, ".gnu.version_d") == 0)
184+ {
185+ p = &verd;
186+ verd_shdr = *shdr;
187+ }
188+ else if (strcmp (name, ".dynsym") == 0)
189+ {
190+ p = &dynsym;
191+ dynsym_shdr = *shdr;
192+ }
193+ else
194+ continue;
195+
196+ if (*p != NULL)
197+ error (1, 0, "Two %s sections in %s", name, fname);
198+ *p = elf_getdata (scn, NULL);
199+ if (*p == NULL || elf_getdata (scn, *p) != NULL)
200+ error (1, 0, "No data or non-contiguous data in %s section in %s",
201+ name, fname);
202+ }
203+ }
204+
205+ if (ver == NULL || verd == NULL || dynsym == NULL)
206+ error (1, 0, "Couldn't find one of the needed sections in %s", fname);
207+
208+ int from_idx = compute_veridx (argv[2], elf, verd, &verd_shdr);
209+ if (from_idx == -1)
210+ error (1, 0, "Could not find symbol version %s in %s", argv[2], fname);
211+
212+ int to_idx = compute_veridx (argv[3], elf, verd, &verd_shdr);
213+ if (to_idx == -1)
214+ error (1, 0, "Could not find symbol version %s in %s", argv[3], fname);
215+
216+ if (dynsym_shdr.sh_entsize != gelf_fsize (elf, ELF_T_SYM, 1, ehdr->e_version)
217+ || dynsym_shdr.sh_size % dynsym_shdr.sh_entsize
218+ || ver_shdr.sh_entsize != 2
219+ || (ver_shdr.sh_size & 1)
220+ || dynsym_shdr.sh_size / dynsym_shdr.sh_entsize != ver_shdr.sh_size / 2)
221+ error (1, 0, "Unexpected sh_size or sh_entsize in %s", fname);
222+
223+ size_t nentries = ver_shdr.sh_size / 2;
224+ size_t cnt;
225+ GElf_Versym array[nentries];
226+ for (cnt = 0; cnt < nentries; ++cnt)
227+ {
228+ GElf_Versym vsymmem;
229+ GElf_Versym *vsym;
230+
231+ vsym = gelf_getversym (ver, cnt, &vsymmem);
232+ if (vsym == NULL)
233+ error (1, 0, "gelt_getversym failed in %s: %s", fname, elf_errmsg (-1));
234+
235+ array[cnt] = *vsym;
236+ if (*vsym != from_idx)
237+ continue;
238+
239+ GElf_Sym sym_mem;
240+ GElf_Sym *sym;
241+ sym = gelf_getsym (dynsym, cnt, &sym_mem);
242+ if (sym == NULL)
243+ error (1, 0, "gelt_getsym failed in %s: %s", fname, elf_errmsg (-1));
244+
245+ const char *name = elf_strptr (elf, dynsym_shdr.sh_link, sym->st_name);
246+
247+ int argn;
248+ for (argn = 4; argn < argc; ++argn)
249+ if (fnmatch (argv[argn], name, 0) == 0)
250+ {
251+ array[cnt] = to_idx;
252+ break;
253+ }
254+ }
255+
256+ if (sizeof (array[0]) != 2)
257+ abort ();
258+
259+#if __BYTE_ORDER == __LITTLE_ENDIAN
260+ if (ehdr->e_ident[EI_DATA] == ELFDATA2LSB)
261+ ;
262+ else if (ehdr->e_ident[EI_DATA] == ELFDATA2MSB)
263+#elif __BYTE_ORDER == __BIG_ENDIAN
264+ if (ehdr->e_ident[EI_DATA] == ELFDATA2MSB)
265+ ;
266+ else if (ehdr->e_ident[EI_DATA] == ELFDATA2LSB)
267+#else
268+# error Unsupported endianity
269+#endif
270+ {
271+ for (cnt = 0; cnt < nentries; ++cnt)
272+ array[cnt] = ((array[cnt] & 0xff) << 8) | ((array[cnt] & 0xff00) >> 8);
273+ }
274+ else
275+ error (1, 0, "Unknown EI_DATA %d in %s", ehdr->e_ident[EI_DATA], fname);
276+
277+ if (elf_end (elf) != 0)
278+ error (1, 0, "couldn't close %s: %s", fname, elf_errmsg (-1));
279+
280+ if (lseek (fd, ver_shdr.sh_offset, SEEK_SET) != (off_t) ver_shdr.sh_offset)
281+ error (1, 0, "failed to seek to %zd in %s", (size_t) ver_shdr.sh_offset,
282+ fname);
283+
284+ if (write (fd, array, 2 * nentries) != (ssize_t) (2 * nentries))
285+ error (1, 0, "failed to write .gnu.version section into %s", fname);
286+
287+ close (fd);
288+ return 0;
289+}
290Index: gcc/config/ia64/unwind-ia64.c
291===================================================================
292--- gcc/config/ia64/unwind-ia64.c.orig 2009-09-07 08:41:52.000000000 -0700
293+++ gcc/config/ia64/unwind-ia64.c 2010-06-25 10:14:32.521880765 -0700
294@@ -48,6 +48,51 @@
295 #define MD_UNW_COMPATIBLE_PERSONALITY_P(HEADER) 1
296 #endif
297
298+#if defined (USE_SYMVER_GLOBAL) && defined (SHARED)
299+extern _Unwind_Reason_Code __symverglobal_Unwind_Backtrace
300+ (_Unwind_Trace_Fn, void *);
301+extern void __symverglobal_Unwind_DeleteException
302+ (struct _Unwind_Exception *);
303+extern void * __symverglobal_Unwind_FindEnclosingFunction (void *);
304+extern _Unwind_Reason_Code __symverglobal_Unwind_ForcedUnwind
305+ (struct _Unwind_Exception *, _Unwind_Stop_Fn, void *);
306+extern _Unwind_Word __symverglobal_Unwind_GetCFA
307+ (struct _Unwind_Context *);
308+extern _Unwind_Word __symverglobal_Unwind_GetBSP
309+ (struct _Unwind_Context *);
310+extern _Unwind_Word __symverglobal_Unwind_GetGR
311+ (struct _Unwind_Context *, int );
312+extern _Unwind_Ptr __symverglobal_Unwind_GetIP (struct _Unwind_Context *);
313+extern void *__symverglobal_Unwind_GetLanguageSpecificData
314+ (struct _Unwind_Context *);
315+extern _Unwind_Ptr __symverglobal_Unwind_GetRegionStart
316+ (struct _Unwind_Context *);
317+extern _Unwind_Reason_Code __symverglobal_Unwind_RaiseException
318+ (struct _Unwind_Exception *);
319+extern void __symverglobal_Unwind_Resume (struct _Unwind_Exception *);
320+extern _Unwind_Reason_Code __symverglobal_Unwind_Resume_or_Rethrow
321+ (struct _Unwind_Exception *);
322+extern void __symverglobal_Unwind_SetGR
323+ (struct _Unwind_Context *, int, _Unwind_Word);
324+extern void __symverglobal_Unwind_SetIP
325+ (struct _Unwind_Context *, _Unwind_Ptr);
326+#define _Unwind_Backtrace __symverglobal_Unwind_Backtrace
327+#define _Unwind_DeleteException __symverglobal_Unwind_DeleteException
328+#define _Unwind_FindEnclosingFunction __symverglobal_Unwind_FindEnclosingFunction
329+#define _Unwind_ForcedUnwind __symverglobal_Unwind_ForcedUnwind
330+#define _Unwind_GetBSP __symverglobal_Unwind_GetBSP
331+#define _Unwind_GetCFA __symverglobal_Unwind_GetCFA
332+#define _Unwind_GetGR __symverglobal_Unwind_GetGR
333+#define _Unwind_GetIP __symverglobal_Unwind_GetIP
334+#define _Unwind_GetLanguageSpecificData __symverglobal_Unwind_GetLanguageSpecificData
335+#define _Unwind_GetRegionStart __symverglobal_Unwind_GetRegionStart
336+#define _Unwind_RaiseException __symverglobal_Unwind_RaiseException
337+#define _Unwind_Resume __symverglobal_Unwind_Resume
338+#define _Unwind_Resume_or_Rethrow __symverglobal_Unwind_Resume_or_Rethrow
339+#define _Unwind_SetGR __symverglobal_Unwind_SetGR
340+#define _Unwind_SetIP __symverglobal_Unwind_SetIP
341+#endif
342+
343 enum unw_application_register
344 {
345 UNW_AR_BSP,
346@@ -2457,4 +2502,44 @@
347 alias (_Unwind_SetIP);
348 #endif
349
350+#if defined (USE_SYMVER_GLOBAL) && defined (SHARED)
351+#undef alias
352+#define symverglobal(name, version) \
353+__typeof (__symverglobal##name) __symverlocal##name \
354+ __attribute__ ((alias ("__symverglobal" #name))); \
355+__asm__ (".symver __symverglobal" #name"," #name "@@GCC_3.4.2");\
356+__asm__ (".symver __symverlocal" #name"," #name "@" #version)
357+
358+#undef _Unwind_Backtrace
359+#undef _Unwind_DeleteException
360+#undef _Unwind_FindEnclosingFunction
361+#undef _Unwind_ForcedUnwind
362+#undef _Unwind_GetBSP
363+#undef _Unwind_GetCFA
364+#undef _Unwind_GetGR
365+#undef _Unwind_GetIP
366+#undef _Unwind_GetLanguageSpecificData
367+#undef _Unwind_GetRegionStart
368+#undef _Unwind_RaiseException
369+#undef _Unwind_Resume
370+#undef _Unwind_Resume_or_Rethrow
371+#undef _Unwind_SetGR
372+#undef _Unwind_SetIP
373+symverglobal (_Unwind_Backtrace, GCC_3.3);
374+symverglobal (_Unwind_DeleteException, GCC_3.0);
375+symverglobal (_Unwind_FindEnclosingFunction, GCC_3.3);
376+symverglobal (_Unwind_ForcedUnwind, GCC_3.0);
377+symverglobal (_Unwind_GetBSP, GCC_3.3.2);
378+symverglobal (_Unwind_GetCFA, GCC_3.3);
379+symverglobal (_Unwind_GetGR, GCC_3.0);
380+symverglobal (_Unwind_GetIP, GCC_3.0);
381+symverglobal (_Unwind_GetLanguageSpecificData, GCC_3.0);
382+symverglobal (_Unwind_GetRegionStart, GCC_3.0);
383+symverglobal (_Unwind_RaiseException, GCC_3.0);
384+symverglobal (_Unwind_Resume, GCC_3.0);
385+symverglobal (_Unwind_Resume_or_Rethrow, GCC_3.3);
386+symverglobal (_Unwind_SetGR, GCC_3.0);
387+symverglobal (_Unwind_SetIP, GCC_3.0);
388+#endif
389+
390 #endif
391Index: gcc/config/ia64/mkmap-symver-multi.awk
392===================================================================
393--- /dev/null 1970-01-01 00:00:00.000000000 +0000
394+++ gcc/config/ia64/mkmap-symver-multi.awk 2010-06-25 10:14:32.521880765 -0700
395@@ -0,0 +1,133 @@
396+# Generate an ELF symbol version map a-la Solaris and GNU ld.
397+# Contributed by Richard Henderson <rth@cygnus.com>
398+#
399+# This file is part of GCC.
400+#
401+# GCC is free software; you can redistribute it and/or modify it under
402+# the terms of the GNU General Public License as published by the Free
403+# Software Foundation; either version 2, or (at your option) any later
404+# version.
405+#
406+# GCC is distributed in the hope that it will be useful, but WITHOUT
407+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
408+# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
409+# License for more details.
410+#
411+# You should have received a copy of the GNU General Public License
412+# along with GCC; see the file COPYING. If not, write to the Free
413+# Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
414+# 02110-1301, USA.
415+
416+BEGIN {
417+ state = "nm";
418+ sawsymbol = 0;
419+}
420+
421+# Remove comment and blank lines.
422+/^ *#/ || /^ *$/ {
423+ next;
424+}
425+
426+# We begin with nm input. Collect the set of symbols that are present
427+# so that we can not emit them into the final version script -- Solaris
428+# complains at us if we do.
429+
430+state == "nm" && /^%%/ {
431+ state = "ver";
432+ next;
433+}
434+
435+state == "nm" && ($1 == "U" || $2 == "U") {
436+ next;
437+}
438+
439+state == "nm" && NF == 3 {
440+ if ($3 ~ /^[^@]*@GCC_[0-9.]*$/) {
441+ def[$3] = 1
442+ tl=$3
443+ sub(/^.*@/,"",tl)
444+ ver[$3] = tl
445+ } else {
446+ sub(/@@?GCC_[0-9.]*$/,"",$3)
447+ def[$3] = 1;
448+ }
449+ sawsymbol = 1;
450+ next;
451+}
452+
453+state == "nm" {
454+ next;
455+}
456+
457+# Now we process a simplified variant of the Solaris symbol version
458+# script. We have one symbol per line, no semicolons, simple markers
459+# for beginning and ending each section, and %inherit markers for
460+# describing version inheritence. A symbol may appear in more than
461+# one symbol version, and the last seen takes effect.
462+
463+NF == 3 && $1 == "%inherit" {
464+ inherit[$2] = $3;
465+ next;
466+}
467+
468+NF == 2 && $2 == "{" {
469+ libs[$1] = 1;
470+ thislib = $1;
471+ next;
472+}
473+
474+$1 == "}" {
475+ thislib = "";
476+ next;
477+}
478+
479+{
480+ ver[$1] = thislib;
481+ next;
482+}
483+
484+END {
485+ if (!sawsymbol)
486+ {
487+ print "No symbols seen -- broken or mis-installed nm?" | "cat 1>&2";
488+ exit 1;
489+ }
490+ for (l in libs)
491+ output(l);
492+}
493+
494+function output(lib) {
495+ if (done[lib])
496+ return;
497+ done[lib] = 1;
498+ if (inherit[lib])
499+ output(inherit[lib]);
500+
501+ empty=1
502+ for (sym in ver)
503+ if ((ver[sym] == lib) && (sym in def))
504+ {
505+ if (empty)
506+ {
507+ printf("%s {\n", lib);
508+ printf(" global:\n");
509+ empty = 0;
510+ }
511+ symp = sym;
512+ sub(/@GCC_[0-9.]*$/,"",symp);
513+ printf("\t%s;\n", symp);
514+ if (dotsyms)
515+ printf("\t.%s;\n", symp);
516+ }
517+
518+ if (empty)
519+ {
520+ for (l in libs)
521+ if (inherit[l] == lib)
522+ inherit[l] = inherit[lib];
523+ }
524+ else if (inherit[lib])
525+ printf("} %s;\n", inherit[lib]);
526+ else
527+ printf ("\n local:\n\t*;\n};\n");
528+}
529Index: gcc/config/ia64/libgcc-ia64-no-libunwind.ver
530===================================================================
531--- /dev/null 1970-01-01 00:00:00.000000000 +0000
532+++ gcc/config/ia64/libgcc-ia64-no-libunwind.ver 2010-06-25 10:14:32.525880902 -0700
533@@ -0,0 +1,17 @@
534+GCC_3.4.2 {
535+ _Unwind_GetGR
536+ _Unwind_RaiseException
537+ _Unwind_GetRegionStart
538+ _Unwind_SetIP
539+ _Unwind_GetIP
540+ _Unwind_GetLanguageSpecificData
541+ _Unwind_Resume
542+ _Unwind_DeleteException
543+ _Unwind_SetGR
544+ _Unwind_ForcedUnwind
545+ _Unwind_Backtrace
546+ _Unwind_FindEnclosingFunction
547+ _Unwind_GetCFA
548+ _Unwind_Resume_or_Rethrow
549+ _Unwind_GetBSP
550+}
diff --git a/recipes-devtools/gcc/gcc-4.5/fedora/gcc43-java-debug-iface-type.patch b/recipes-devtools/gcc/gcc-4.5/fedora/gcc43-java-debug-iface-type.patch
new file mode 100644
index 0000000000..de14a50018
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/fedora/gcc43-java-debug-iface-type.patch
@@ -0,0 +1,19 @@
12008-01-25 Jakub Jelinek <jakub@redhat.com>
2
3 * lang.c (java_classify_record): Revert 2007-12-20 change.
4
5Index: gcc/java/lang.c
6===================================================================
7--- gcc/java/lang.c.orig 2010-01-20 00:17:00.000000000 -0800
8+++ gcc/java/lang.c 2010-06-25 10:28:46.569383189 -0700
9@@ -881,9 +881,7 @@
10 if (! CLASS_P (type))
11 return RECORD_IS_STRUCT;
12
13- /* ??? GDB does not support DW_TAG_interface_type as of December,
14- 2007. Re-enable this at a later time. */
15- if (0 && CLASS_INTERFACE (TYPE_NAME (type)))
16+ if (CLASS_INTERFACE (TYPE_NAME (type)))
17 return RECORD_IS_INTERFACE;
18
19 return RECORD_IS_CLASS;
diff --git a/recipes-devtools/gcc/gcc-4.5/fedora/gcc43-java-nomulti.patch b/recipes-devtools/gcc/gcc-4.5/fedora/gcc43-java-nomulti.patch
new file mode 100644
index 0000000000..3cb10f3c23
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/fedora/gcc43-java-nomulti.patch
@@ -0,0 +1,48 @@
1Index: libjava/configure.ac
2===================================================================
3--- libjava/configure.ac.orig 2010-03-21 12:41:37.000000000 -0700
4+++ libjava/configure.ac 2010-06-25 10:17:47.489886278 -0700
5@@ -139,6 +139,13 @@
6 [allow rebuilding of .class and .h files]))
7 AM_CONDITIONAL(JAVA_MAINTAINER_MODE, test "$enable_java_maintainer_mode" = yes)
8
9+AC_ARG_ENABLE(libjava-multilib,
10+ AS_HELP_STRING([--enable-libjava-multilib], [build libjava as multilib]))
11+if test "$enable_libjava_multilib" = no; then
12+ multilib=no
13+ ac_configure_args="$ac_configure_args --disable-multilib"
14+fi
15+
16 # It may not be safe to run linking tests in AC_PROG_CC/AC_PROG_CXX.
17 GCC_NO_EXECUTABLES
18
19Index: libjava/configure
20===================================================================
21--- libjava/configure.orig 2010-04-02 11:18:06.000000000 -0700
22+++ libjava/configure 2010-06-25 10:17:47.516381209 -0700
23@@ -1609,6 +1609,8 @@
24 default=yes
25 --enable-java-maintainer-mode
26 allow rebuilding of .class and .h files
27+ --enable-libjava-multilib
28+ build libjava as multilib
29 --disable-dependency-tracking speeds up one-time build
30 --enable-dependency-tracking do not reject slow dependency extractors
31 --enable-maintainer-mode enable make rules and dependencies not useful
32@@ -3346,6 +3348,16 @@
33 fi
34
35
36+# Check whether --enable-libjava-multilib was given.
37+if test "${enable_libjava_multilib+set}" = set; then
38+ enableval=$enable_libjava_multilib;
39+fi
40+
41+if test "$enable_libjava_multilib" = no; then
42+ multilib=no
43+ ac_configure_args="$ac_configure_args --disable-multilib"
44+fi
45+
46 # It may not be safe to run linking tests in AC_PROG_CC/AC_PROG_CXX.
47
48
diff --git a/recipes-devtools/gcc/gcc-4.5/fedora/gcc43-libgomp-speedup.patch b/recipes-devtools/gcc/gcc-4.5/fedora/gcc43-libgomp-speedup.patch
new file mode 100644
index 0000000000..da85e556ec
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/fedora/gcc43-libgomp-speedup.patch
@@ -0,0 +1,2797 @@
12008-03-28 Jakub Jelinek <jakub@redhat.com>
2
3 * config/linux/sparc/futex.h (atomic_write_barrier): Fix membar
4 argument.
5
62008-03-27 Jakub Jelinek <jakub@redhat.com>
7
8 * libgomp.h (struct gomp_team_state): Remove single_count field
9 ifndef HAVE_SYNC_BUILTINS.
10 (struct gomp_team): Likewise. Add work_share_list_free_lock
11 ifndef HAVE_SYNC_BUILTINS.
12 * team.c (gomp_new_team): If HAVE_SYNC_BUILTINS is not defined,
13 don't initialize single_count, but instead initialize
14 work_share_list_free_lock.
15 (free_team): Destroy work_share_list_free_lock ifndef
16 HAVE_SYNC_BUILTINS.
17 (gomp_team_start): Don't initialize ts.single_count ifndef
18 HAVE_SYNC_BUILTINS.
19 * work.c (alloc_work_share, free_work_share): Use
20 work_share_list_free_lock instead of atomic chaining ifndef
21 HAVE_SYNC_BUILTINS.
22
232008-03-26 Jakub Jelinek <jakub@redhat.com>
24
25 * loop.c (gomp_loop_init): Fix GFS_DYNAMIC ws->mode setting.
26 * testsuite/libgomp.c/loop-4.c: New test.
27
28 * libgomp.h (struct gomp_team_state): Add single_count field.
29 (struct gomp_team): Likewise.
30 * team.c (gomp_new_team): Clear single_count.
31 (gomp_team_start): Likewise.
32 * single.c (GOMP_single_start): Rewritten if HAVE_SYNC_BUILTINS.
33
342008-03-25 Jakub Jelinek <jakub@redhat.com>
35
36 * team.c (gomp_thread_start): Don't clear ts.static_trip here.
37 * loop.c (gomp_loop_static_start, gomp_loop_dynamic_start): Clear
38 ts.static_trip here.
39 * work.c (gomp_work_share_start): Don't clear ts.static_trip here.
40
412008-03-21 Jakub Jelinek <jakub@redhat.com>
42
43 * libgomp.h: Include ptrlock.h.
44 (struct gomp_work_share): Reshuffle fields. Add next_alloc,
45 next_ws, next_free and inline_ordered_team_ids fields, change
46 ordered_team_ids into pointer from flexible array member.
47 (struct gomp_team_state): Add last_work_share field, remove
48 work_share_generation.
49 (struct gomp_team): Remove work_share_lock, generation_mask,
50 oldest_live_gen, num_live_gen and init_work_shares fields, add
51 work work_share_list_alloc, work_share_list_free and work_share_chunk
52 fields. Change work_shares from pointer to pointers into an array.
53 (gomp_new_team): New prototype.
54 (gomp_team_start): Change type of last argument.
55 (gomp_new_work_share): Removed.
56 (gomp_init_work_share, gomp_fini_work_share): New prototypes.
57 (gomp_work_share_init_done): New static inline.
58 * team.c (gomp_thread_start): Clear ts.last_work_share, don't clear
59 ts.work_share_generation.
60 (new_team): Removed.
61 (gomp_new_team): New function.
62 (free_team): Free gomp_work_share blocks chained through next_alloc,
63 instead of freeing work_shares and destroying work_share_lock.
64 (gomp_team_start): Change last argument from ws to team, don't create
65 new team, set ts.work_share to &team->work_shares[0] and clear
66 ts.last_work_share. Don't clear ts.work_share_generation.
67 (gomp_team_end): Call gomp_fini_work_share.
68 * work.c (gomp_new_work_share): Removed.
69 (alloc_work_share, gomp_init_work_share, gomp_fini_work_share): New
70 functions.
71 (free_work_share): Add team argument. Call gomp_fini_work_share
72 and then either free ws if orphaned, or put it into
73 work_share_list_free list of the current team.
74 (gomp_work_share_start, gomp_work_share_end,
75 gomp_work_share_end_nowait): Rewritten.
76 * sections.c (GOMP_sections_start): Call gomp_work_share_init_done
77 after gomp_sections_init. If HAVE_SYNC_BUILTINS, call
78 gomp_iter_dynamic_next instead of the _locked variant and don't take
79 lock around it, otherwise acquire it before calling
80 gomp_iter_dynamic_next_locked.
81 (GOMP_sections_next): If HAVE_SYNC_BUILTINS, call
82 gomp_iter_dynamic_next instead of the _locked variant and don't take
83 lock around it.
84 (GOMP_parallel_sections_start): Call gomp_new_team instead of
85 gomp_new_work_share. Call gomp_sections_init on &team->work_shares[0].
86 Adjust gomp_team_start caller.
87 * loop.c (gomp_loop_static_start, gomp_loop_ordered_static_start): Call
88 gomp_work_share_init_done after gomp_loop_init. Don't unlock ws->lock.
89 (gomp_loop_dynamic_start, gomp_loop_guided_start): Call
90 gomp_work_share_init_done after gomp_loop_init. If HAVE_SYNC_BUILTINS,
91 don't unlock ws->lock, otherwise lock it.
92 (gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start): Call
93 gomp_work_share_init_done after gomp_loop_init. Lock ws->lock.
94 (gomp_parallel_loop_start): Call gomp_new_team instead of
95 gomp_new_work_share. Call gomp_loop_init on &team->work_shares[0].
96 Adjust gomp_team_start caller.
97 * single.c (GOMP_single_start, GOMP_single_copy_start): Call
98 gomp_work_share_init_done if gomp_work_share_start returned true.
99 Don't unlock ws->lock.
100 * parallel.c (GOMP_parallel_start): Call gomp_new_team and pass that
101 as last argument to gomp_team_start.
102 * config/linux/ptrlock.c: New file.
103 * config/linux/ptrlock.h: New file.
104 * config/posix/ptrlock.c: New file.
105 * config/posix/ptrlock.h: New file.
106 * Makefile.am (libgomp_la_SOURCES): Add ptrlock.c.
107 * Makefile.in: Regenerated.
108 * testsuite/Makefile.in: Regenerated.
109
1102008-03-19 Jakub Jelinek <jakub@redhat.com>
111
112 * libgomp.h (gomp_active_wait_policy): Remove decl.
113 (gomp_throttled_spin_count_var, gomp_available_cpus,
114 gomp_managed_threads): New extern decls.
115 * team.c (gomp_team_start, gomp_team_end): If number of threads
116 changed, adjust atomically gomp_managed_threads.
117 * env.c (gomp_active_wait_policy, gomp_block_time_var): Remove.
118 (gomp_throttled_spin_count_var, gomp_available_cpus,
119 gomp_managed_threads): New variables.
120 (parse_millis): Removed.
121 (parse_spincount): New function.
122 (parse_wait_policy): Return -1/0/1 instead of setting
123 gomp_active_wait_policy.
124 (initialize_env): Call gomp_init_num_threads unconditionally.
125 Initialize gomp_available_cpus. Call parse_spincount instead
126 of parse_millis, initialize gomp_{,throttled_}spin_count_var
127 depending on presence and value of OMP_WAIT_POLICY and
128 GOMP_SPINCOUNT env vars.
129 * config/linux/wait.h (do_wait): Use gomp_throttled_spin_count_var
130 instead of gomp_spin_count_var if gomp_managed_threads >
131 gomp_available_cpus.
132
133 * config/linux/wait.h: Include errno.h.
134 (FUTEX_WAIT, FUTEX_WAKE, FUTEX_PRIVATE_FLAG): Define.
135 (gomp_futex_wake, gomp_futex_wait): New extern decls.
136 * config/linux/mutex.c (gomp_futex_wake, gomp_futex_wait): New
137 variables.
138 * config/linux/powerpc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
139 (sys_futex0): Return error code.
140 (futex_wake, futex_wait): If ENOSYS was returned, clear
141 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
142 * config/linux/alpha/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
143 (futex_wake, futex_wait): If ENOSYS was returned, clear
144 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
145 * config/linux/x86/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
146 (sys_futex0): Return error code.
147 (futex_wake, futex_wait): If ENOSYS was returned, clear
148 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
149 * config/linux/s390/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
150 (sys_futex0): Return error code.
151 (futex_wake, futex_wait): If ENOSYS was returned, clear
152 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
153 * config/linux/ia64/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
154 (sys_futex0): Return error code.
155 (futex_wake, futex_wait): If ENOSYS was returned, clear
156 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
157 * config/linux/sparc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
158 (sys_futex0): Return error code.
159 (futex_wake, futex_wait): If ENOSYS was returned, clear
160 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
161
1622008-03-18 Jakub Jelinek <jakub@redhat.com>
163
164 * libgomp.h (struct gomp_work_share): Add mode field. Put lock and
165 next into a different cache line from most of the write-once fields.
166 * loop.c: Include limits.h.
167 (gomp_loop_init): For GFS_DYNAMIC, multiply ws->chunk_size by incr.
168 If adding ws->chunk_size nthreads + 1 times after end won't
169 overflow, set ws->mode to 1.
170 * iter.c (gomp_iter_dynamic_next_locked): Don't multiply
171 ws->chunk_size by incr.
172 (gomp_iter_dynamic_next): Likewise. If ws->mode, use more efficient
173 code.
174 * work.c: Include stddef.h.
175 (gomp_new_work_share): Use offsetof rather than sizeof.
176
1772008-03-17 Jakub Jelinek <jakub@redhat.com>
178
179 * libgomp.h (struct gomp_team): Change ordered_release field
180 into gomp_sem_t ** from flexible array member. Add implicit_task
181 and initial_work_shares fields.
182 (gomp_new_task): Removed.
183 (gomp_init_task): New prototype.
184 * team.c (new_team): Allocate implicit_task for each thread
185 and initial work_shares together with gomp_team allocation.
186 (free_team): Only free work_shares if it is not init_work_shares.
187 (gomp_team_start): Use gomp_init_task instead of gomp_new_task,
188 set thr->task to the corresponding implicit_task array entry.
189 * task.c (gomp_new_task): Removed.
190 (gomp_init_task): New function.
191 (gomp_end_task): Don't free the task.
192 (GOMP_task): Allocate struct gomp_task on the stack, call
193 gomp_init_task rather than gomp_new_task.
194 * work.c (gomp_work_share_start): If work_shares ==
195 init_work_shares, gomp_malloc + memcpy rather than gomp_realloc.
196
1972008-03-15 Jakub Jelinek <jakub@redhat.com>
198 Ulrich Drepper <drepper@redhat.com>
199
200 * config/linux/bar.h (gomp_barrier_state_t): Rewritten.
201 (gomp_barrier_state_t): Change to unsigned int.
202 (gomp_barrier_init, gomp_barrier_reinit, gomp_barrier_destroy,
203 gomp_barrier_wait_start, gomp_barrier_last_thread): Rewritten.
204 (gomp_barrier_wait_last): Prototype rather than inline.
205 * config/linux/bar.c (gomp_barrier_wait_end): Rewritten.
206 (gomp_barrier_wait_last): New function.
207
2082008-03-15 Jakub Jelinek <jakub@redhat.com>
209
210 * team.c (gomp_thread_start): Use gomp_barrier_wait_last instead
211 of gomp_barrier_wait.
212 * env.c (gomp_block_time_var, gomp_spin_count_var): New variables.
213 (parse_millis): New function.
214 (initialize_env): Handle GOMP_BLOCKTIME env var.
215 * libgomp.h (struct gomp_team): Move close to the end of the struct.
216 (gomp_spin_count_var): New extern var decl.
217 * work.c (gomp_work_share_end): Use gomp_barrier_state_t bstate
218 var instead of bool last, call gomp_barrier_last_thread to check
219 for last thread, pass bstate to gomp_barrier_wait_end.
220 * config/linux/wait.h: New file.
221 * config/linux/mutex.c: Include wait.h instead of libgomp.h and
222 futex.h.
223 (gomp_mutex_lock_slow): Call do_wait instead of futex_wait.
224 * config/linux/bar.c: Include wait.h instead of libgomp.h and
225 futex.h.
226 (gomp_barrier_wait_end): Change second argument to
227 gomp_barrier_state_t. Call do_wait instead of futex_wait.
228 * config/linux/sem.c: Include wait.h instead of libgomp.h and
229 futex.h.
230 (gomp_sem_wait_slow): Call do_wait instead of futex_wait.
231 * config/linux/lock.c: Include wait.h instead of libgomp.h and
232 futex.h.
233 (gomp_set_nest_lock_25): Call do_wait instead of futex_wait.
234 * config/linux/affinity.c: Assume HAVE_SYNC_BUILTINS.
235 * config/linux/bar.h (gomp_barrier_state_t): New typedef.
236 (gomp_barrier_wait_end): Change second argument to
237 gomp_barrier_state_t.
238 (gomp_barrier_wait_start): Return gomp_barrier_state_t.
239 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
240 inlines.
241 * config/linux/powerpc/futex.h (cpu_relax, atomic_write_barrier): New
242 static inlines.
243 * config/linux/alpha/futex.h (cpu_relax, atomic_write_barrier):
244 Likewise.
245 * config/linux/x86/futex.h (cpu_relax, atomic_write_barrier):
246 Likewise.
247 * config/linux/s390/futex.h (cpu_relax, atomic_write_barrier):
248 Likewise.
249 * config/linux/ia64/futex.h (cpu_relax, atomic_write_barrier):
250 Likewise.
251 * config/linux/sparc/futex.h (cpu_relax, atomic_write_barrier):
252 Likewise.
253 * config/posix/bar.c (gomp_barrier_wait_end): Change second argument
254 to gomp_barrier_state_t.
255 * config/posix/bar.h (gomp_barrier_state_t): New typedef.
256 (gomp_barrier_wait_end): Change second argument to
257 gomp_barrier_state_t.
258 (gomp_barrier_wait_start): Return gomp_barrier_state_t.
259 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
260 inlines.
261
262--- libgomp/parallel.c.jj 2007-12-07 14:41:01.000000000 +0100
263+++ libgomp/parallel.c 2008-03-26 15:32:06.000000000 +0100
264@@ -68,7 +68,7 @@ void
265 GOMP_parallel_start (void (*fn) (void *), void *data, unsigned num_threads)
266 {
267 num_threads = gomp_resolve_num_threads (num_threads);
268- gomp_team_start (fn, data, num_threads, NULL);
269+ gomp_team_start (fn, data, num_threads, gomp_new_team (num_threads));
270 }
271
272 void
273--- libgomp/sections.c.jj 2007-12-07 14:41:01.000000000 +0100
274+++ libgomp/sections.c 2008-03-26 15:33:06.000000000 +0100
275@@ -59,14 +59,24 @@ GOMP_sections_start (unsigned count)
276 long s, e, ret;
277
278 if (gomp_work_share_start (false))
279- gomp_sections_init (thr->ts.work_share, count);
280+ {
281+ gomp_sections_init (thr->ts.work_share, count);
282+ gomp_work_share_init_done ();
283+ }
284
285+#ifdef HAVE_SYNC_BUILTINS
286+ if (gomp_iter_dynamic_next (&s, &e))
287+ ret = s;
288+ else
289+ ret = 0;
290+#else
291+ gomp_mutex_lock (&thr->ts.work_share->lock);
292 if (gomp_iter_dynamic_next_locked (&s, &e))
293 ret = s;
294 else
295 ret = 0;
296-
297 gomp_mutex_unlock (&thr->ts.work_share->lock);
298+#endif
299
300 return ret;
301 }
302@@ -83,15 +93,23 @@ GOMP_sections_start (unsigned count)
303 unsigned
304 GOMP_sections_next (void)
305 {
306- struct gomp_thread *thr = gomp_thread ();
307 long s, e, ret;
308
309+#ifdef HAVE_SYNC_BUILTINS
310+ if (gomp_iter_dynamic_next (&s, &e))
311+ ret = s;
312+ else
313+ ret = 0;
314+#else
315+ struct gomp_thread *thr = gomp_thread ();
316+
317 gomp_mutex_lock (&thr->ts.work_share->lock);
318 if (gomp_iter_dynamic_next_locked (&s, &e))
319 ret = s;
320 else
321 ret = 0;
322 gomp_mutex_unlock (&thr->ts.work_share->lock);
323+#endif
324
325 return ret;
326 }
327@@ -103,15 +121,15 @@ void
328 GOMP_parallel_sections_start (void (*fn) (void *), void *data,
329 unsigned num_threads, unsigned count)
330 {
331- struct gomp_work_share *ws;
332+ struct gomp_team *team;
333
334 num_threads = gomp_resolve_num_threads (num_threads);
335 if (gomp_dyn_var && num_threads > count)
336 num_threads = count;
337
338- ws = gomp_new_work_share (false, num_threads);
339- gomp_sections_init (ws, count);
340- gomp_team_start (fn, data, num_threads, ws);
341+ team = gomp_new_team (num_threads);
342+ gomp_sections_init (&team->work_shares[0], count);
343+ gomp_team_start (fn, data, num_threads, team);
344 }
345
346 /* The GOMP_section_end* routines are called after the thread is told
347--- libgomp/env.c.jj 2007-12-07 14:41:01.000000000 +0100
348+++ libgomp/env.c 2008-03-26 16:40:26.000000000 +0100
349@@ -44,6 +44,11 @@ enum gomp_schedule_type gomp_run_sched_v
350 unsigned long gomp_run_sched_chunk = 1;
351 unsigned short *gomp_cpu_affinity;
352 size_t gomp_cpu_affinity_len;
353+#ifndef HAVE_SYNC_BUILTINS
354+gomp_mutex_t gomp_remaining_threads_lock;
355+#endif
356+unsigned long gomp_available_cpus = 1, gomp_managed_threads = 1;
357+unsigned long long gomp_spin_count_var, gomp_throttled_spin_count_var;
358
359 /* Parse the OMP_SCHEDULE environment variable. */
360
361@@ -147,6 +152,79 @@ parse_unsigned_long (const char *name, u
362 return false;
363 }
364
365+/* Parse the GOMP_SPINCOUNT environment varible. Return true if one was
366+ present and it was successfully parsed. */
367+
368+static bool
369+parse_spincount (const char *name, unsigned long long *pvalue)
370+{
371+ char *env, *end;
372+ unsigned long long value, mult = 1;
373+
374+ env = getenv (name);
375+ if (env == NULL)
376+ return false;
377+
378+ while (isspace ((unsigned char) *env))
379+ ++env;
380+ if (*env == '\0')
381+ goto invalid;
382+
383+ if (strncasecmp (env, "infinite", 8) == 0
384+ || strncasecmp (env, "infinity", 8) == 0)
385+ {
386+ value = ~0ULL;
387+ end = env + 8;
388+ goto check_tail;
389+ }
390+
391+ errno = 0;
392+ value = strtoull (env, &end, 10);
393+ if (errno)
394+ goto invalid;
395+
396+ while (isspace ((unsigned char) *end))
397+ ++end;
398+ if (*end != '\0')
399+ {
400+ switch (tolower (*end))
401+ {
402+ case 'k':
403+ mult = 1000LL;
404+ break;
405+ case 'm':
406+ mult = 1000LL * 1000LL;
407+ break;
408+ case 'g':
409+ mult = 1000LL * 1000LL * 1000LL;
410+ break;
411+ case 't':
412+ mult = 1000LL * 1000LL * 1000LL * 1000LL;
413+ break;
414+ default:
415+ goto invalid;
416+ }
417+ ++end;
418+ check_tail:
419+ while (isspace ((unsigned char) *end))
420+ ++end;
421+ if (*end != '\0')
422+ goto invalid;
423+ }
424+
425+ if (value > ~0ULL / mult)
426+ value = ~0ULL;
427+ else
428+ value *= mult;
429+
430+ *pvalue = value;
431+ return true;
432+
433+ invalid:
434+ gomp_error ("Invalid value for environment variable %s", name);
435+ return false;
436+}
437+
438 /* Parse a boolean value for environment variable NAME and store the
439 result in VALUE. */
440
441@@ -281,10 +359,25 @@ initialize_env (void)
442 parse_schedule ();
443 parse_boolean ("OMP_DYNAMIC", &gomp_dyn_var);
444 parse_boolean ("OMP_NESTED", &gomp_nest_var);
445+ gomp_init_num_threads ();
446+ gomp_available_cpus = gomp_nthreads_var;
447 if (!parse_unsigned_long ("OMP_NUM_THREADS", &gomp_nthreads_var))
448- gomp_init_num_threads ();
449+ gomp_nthreads_var = gomp_available_cpus;
450 if (parse_affinity ())
451 gomp_init_affinity ();
452+ if (!parse_spincount ("GOMP_SPINCOUNT", &gomp_spin_count_var))
453+ {
454+ /* Using a rough estimation of 100000 spins per msec,
455+ use 200 msec blocking.
456+ Depending on the CPU speed, this can be e.g. 5 times longer
457+ or 5 times shorter. */
458+ gomp_spin_count_var = 20000000LL;
459+ }
460+ /* gomp_throttled_spin_count_var is used when there are more libgomp
461+ managed threads than available CPUs. Use very short spinning. */
462+ gomp_throttled_spin_count_var = 100LL;
463+ if (gomp_throttled_spin_count_var > gomp_spin_count_var)
464+ gomp_throttled_spin_count_var = gomp_spin_count_var;
465
466 /* Not strictly environment related, but ordering constructors is tricky. */
467 pthread_attr_init (&gomp_thread_attr);
468--- libgomp/libgomp.h.jj 2007-12-07 14:41:01.000000000 +0100
469+++ libgomp/libgomp.h 2008-03-27 12:21:51.000000000 +0100
470@@ -50,6 +50,7 @@
471 #include "sem.h"
472 #include "mutex.h"
473 #include "bar.h"
474+#include "ptrlock.h"
475
476
477 /* This structure contains the data to control one work-sharing construct,
478@@ -70,6 +71,8 @@ struct gomp_work_share
479 If this is a SECTIONS construct, this value will always be DYNAMIC. */
480 enum gomp_schedule_type sched;
481
482+ int mode;
483+
484 /* This is the chunk_size argument to the SCHEDULE clause. */
485 long chunk_size;
486
487@@ -81,17 +84,38 @@ struct gomp_work_share
488 is always 1. */
489 long incr;
490
491- /* This lock protects the update of the following members. */
492- gomp_mutex_t lock;
493+ /* This is a circular queue that details which threads will be allowed
494+ into the ordered region and in which order. When a thread allocates
495+ iterations on which it is going to work, it also registers itself at
496+ the end of the array. When a thread reaches the ordered region, it
497+ checks to see if it is the one at the head of the queue. If not, it
498+ blocks on its RELEASE semaphore. */
499+ unsigned *ordered_team_ids;
500
501- union {
502- /* This is the next iteration value to be allocated. In the case of
503- GFS_STATIC loops, this the iteration start point and never changes. */
504- long next;
505+ /* This is the number of threads that have registered themselves in
506+ the circular queue ordered_team_ids. */
507+ unsigned ordered_num_used;
508
509- /* This is the returned data structure for SINGLE COPYPRIVATE. */
510- void *copyprivate;
511- };
512+ /* This is the team_id of the currently acknowledged owner of the ordered
513+ section, or -1u if the ordered section has not been acknowledged by
514+ any thread. This is distinguished from the thread that is *allowed*
515+ to take the section next. */
516+ unsigned ordered_owner;
517+
518+ /* This is the index into the circular queue ordered_team_ids of the
519+ current thread that's allowed into the ordered reason. */
520+ unsigned ordered_cur;
521+
522+ /* This is a chain of allocated gomp_work_share blocks, valid only
523+ in the first gomp_work_share struct in the block. */
524+ struct gomp_work_share *next_alloc;
525+
526+ /* The above fields are written once during workshare initialization,
527+ or related to ordered worksharing. Make sure the following fields
528+ are in a different cache line. */
529+
530+ /* This lock protects the update of the following members. */
531+ gomp_mutex_t lock __attribute__((aligned (64)));
532
533 /* This is the count of the number of threads that have exited the work
534 share construct. If the construct was marked nowait, they have moved on
535@@ -99,27 +123,28 @@ struct gomp_work_share
536 of the team to exit the work share construct must deallocate it. */
537 unsigned threads_completed;
538
539- /* This is the index into the circular queue ordered_team_ids of the
540- current thread that's allowed into the ordered reason. */
541- unsigned ordered_cur;
542+ union {
543+ /* This is the next iteration value to be allocated. In the case of
544+ GFS_STATIC loops, this the iteration start point and never changes. */
545+ long next;
546
547- /* This is the number of threads that have registered themselves in
548- the circular queue ordered_team_ids. */
549- unsigned ordered_num_used;
550+ /* This is the returned data structure for SINGLE COPYPRIVATE. */
551+ void *copyprivate;
552+ };
553
554- /* This is the team_id of the currently acknoledged owner of the ordered
555- section, or -1u if the ordered section has not been acknowledged by
556- any thread. This is distinguished from the thread that is *allowed*
557- to take the section next. */
558- unsigned ordered_owner;
559+ union {
560+ /* Link to gomp_work_share struct for next work sharing construct
561+ encountered after this one. */
562+ gomp_ptrlock_t next_ws;
563+
564+ /* gomp_work_share structs are chained in the free work share cache
565+ through this. */
566+ struct gomp_work_share *next_free;
567+ };
568
569- /* This is a circular queue that details which threads will be allowed
570- into the ordered region and in which order. When a thread allocates
571- iterations on which it is going to work, it also registers itself at
572- the end of the array. When a thread reaches the ordered region, it
573- checks to see if it is the one at the head of the queue. If not, it
574- blocks on its RELEASE semaphore. */
575- unsigned ordered_team_ids[];
576+ /* If only few threads are in the team, ordered_team_ids can point
577+ to this array which fills the padding at the end of this struct. */
578+ unsigned inline_ordered_team_ids[0];
579 };
580
581 /* This structure contains all of the thread-local data associated with
582@@ -133,21 +158,24 @@ struct gomp_team_state
583
584 /* This is the work share construct which this thread is currently
585 processing. Recall that with NOWAIT, not all threads may be
586- processing the same construct. This value is NULL when there
587- is no construct being processed. */
588+ processing the same construct. */
589 struct gomp_work_share *work_share;
590
591+ /* This is the previous work share construct or NULL if there wasn't any.
592+ When all threads are done with the current work sharing construct,
593+ the previous one can be freed. The current one can't, as its
594+ next_ws field is used. */
595+ struct gomp_work_share *last_work_share;
596+
597 /* This is the ID of this thread within the team. This value is
598 guaranteed to be between 0 and N-1, where N is the number of
599 threads in the team. */
600 unsigned team_id;
601
602- /* The work share "generation" is a number that increases by one for
603- each work share construct encountered in the dynamic flow of the
604- program. It is used to find the control data for the work share
605- when encountering it for the first time. This particular number
606- reflects the generation of the work_share member of this struct. */
607- unsigned work_share_generation;
608+#ifdef HAVE_SYNC_BUILTINS
609+ /* Number of single stmts encountered. */
610+ unsigned long single_count;
611+#endif
612
613 /* For GFS_RUNTIME loops that resolved to GFS_STATIC, this is the
614 trip number through the loop. So first time a particular loop
615@@ -163,41 +191,53 @@ struct gomp_team_state
616
617 struct gomp_team
618 {
619- /* This lock protects access to the following work shares data structures. */
620- gomp_mutex_t work_share_lock;
621-
622- /* This is a dynamically sized array containing pointers to the control
623- structs for all "live" work share constructs. Here "live" means that
624- the construct has been encountered by at least one thread, and not
625- completed by all threads. */
626- struct gomp_work_share **work_shares;
627-
628- /* The work_shares array is indexed by "generation & generation_mask".
629- The mask will be 2**N - 1, where 2**N is the size of the array. */
630- unsigned generation_mask;
631-
632- /* These two values define the bounds of the elements of the work_shares
633- array that are currently in use. */
634- unsigned oldest_live_gen;
635- unsigned num_live_gen;
636-
637 /* This is the number of threads in the current team. */
638 unsigned nthreads;
639
640+ /* This is number of gomp_work_share structs that have been allocated
641+ as a block last time. */
642+ unsigned work_share_chunk;
643+
644 /* This is the saved team state that applied to a master thread before
645 the current thread was created. */
646 struct gomp_team_state prev_ts;
647
648- /* This barrier is used for most synchronization of the team. */
649- gomp_barrier_t barrier;
650-
651 /* This semaphore should be used by the master thread instead of its
652 "native" semaphore in the thread structure. Required for nested
653 parallels, as the master is a member of two teams. */
654 gomp_sem_t master_release;
655
656- /* This array contains pointers to the release semaphore of the threads
657- in the team. */
658+ /* List of gomp_work_share structs chained through next_free fields.
659+ This is populated and taken off only by the first thread in the
660+ team encountering a new work sharing construct, in a critical
661+ section. */
662+ struct gomp_work_share *work_share_list_alloc;
663+
664+ /* List of gomp_work_share structs freed by free_work_share. New
665+ entries are atomically added to the start of the list, and
666+ alloc_work_share can safely only move all but the first entry
667+ to work_share_list alloc, as free_work_share can happen concurrently
668+ with alloc_work_share. */
669+ struct gomp_work_share *work_share_list_free;
670+
671+#ifdef HAVE_SYNC_BUILTINS
672+ /* Number of simple single regions encountered by threads in this
673+ team. */
674+ unsigned long single_count;
675+#else
676+ /* Mutex protecting addition of workshares to work_share_list_free. */
677+ gomp_mutex_t work_share_list_free_lock;
678+#endif
679+
680+ /* This barrier is used for most synchronization of the team. */
681+ gomp_barrier_t barrier;
682+
683+ /* Initial work shares, to avoid allocating any gomp_work_share
684+ structs in the common case. */
685+ struct gomp_work_share work_shares[8];
686+
687+ /* This is an array with pointers to the release semaphore
688+ of the threads in the team. */
689 gomp_sem_t *ordered_release[];
690 };
691
692@@ -242,6 +282,11 @@ extern bool gomp_dyn_var;
693 extern bool gomp_nest_var;
694 extern enum gomp_schedule_type gomp_run_sched_var;
695 extern unsigned long gomp_run_sched_chunk;
696+#ifndef HAVE_SYNC_BUILTINS
697+extern gomp_mutex_t gomp_remaining_threads_lock;
698+#endif
699+extern unsigned long long gomp_spin_count_var, gomp_throttled_spin_count_var;
700+extern unsigned long gomp_available_cpus, gomp_managed_threads;
701
702 /* The attributes to be used during thread creation. */
703 extern pthread_attr_t gomp_thread_attr;
704@@ -306,17 +351,27 @@ extern unsigned gomp_dynamic_max_threads
705
706 /* team.c */
707
708+extern struct gomp_team *gomp_new_team (unsigned);
709 extern void gomp_team_start (void (*) (void *), void *, unsigned,
710- struct gomp_work_share *);
711+ struct gomp_team *);
712 extern void gomp_team_end (void);
713
714 /* work.c */
715
716-extern struct gomp_work_share * gomp_new_work_share (bool, unsigned);
717+extern void gomp_init_work_share (struct gomp_work_share *, bool, unsigned);
718+extern void gomp_fini_work_share (struct gomp_work_share *);
719 extern bool gomp_work_share_start (bool);
720 extern void gomp_work_share_end (void);
721 extern void gomp_work_share_end_nowait (void);
722
723+static inline void
724+gomp_work_share_init_done (void)
725+{
726+ struct gomp_thread *thr = gomp_thread ();
727+ if (__builtin_expect (thr->ts.last_work_share != NULL, 1))
728+ gomp_ptrlock_set (&thr->ts.last_work_share->next_ws, thr->ts.work_share);
729+}
730+
731 #ifdef HAVE_ATTRIBUTE_VISIBILITY
732 # pragma GCC visibility pop
733 #endif
734--- libgomp/iter.c.jj 2008-03-26 14:48:34.000000000 +0100
735+++ libgomp/iter.c 2008-03-26 15:11:23.000000000 +0100
736@@ -1,4 +1,4 @@
737-/* Copyright (C) 2005 Free Software Foundation, Inc.
738+/* Copyright (C) 2005, 2008 Free Software Foundation, Inc.
739 Contributed by Richard Henderson <rth@redhat.com>.
740
741 This file is part of the GNU OpenMP Library (libgomp).
742@@ -154,7 +154,7 @@ gomp_iter_dynamic_next_locked (long *pst
743 if (start == ws->end)
744 return false;
745
746- chunk = ws->chunk_size * ws->incr;
747+ chunk = ws->chunk_size;
748 left = ws->end - start;
749 if (ws->incr < 0)
750 {
751@@ -186,11 +186,38 @@ gomp_iter_dynamic_next (long *pstart, lo
752 struct gomp_work_share *ws = thr->ts.work_share;
753 long start, end, nend, chunk, incr;
754
755- start = ws->next;
756 end = ws->end;
757 incr = ws->incr;
758- chunk = ws->chunk_size * incr;
759+ chunk = ws->chunk_size;
760+
761+ if (__builtin_expect (ws->mode, 1))
762+ {
763+ long tmp = __sync_fetch_and_add (&ws->next, chunk);
764+ if (incr > 0)
765+ {
766+ if (tmp >= end)
767+ return false;
768+ nend = tmp + chunk;
769+ if (nend > end)
770+ nend = end;
771+ *pstart = tmp;
772+ *pend = nend;
773+ return true;
774+ }
775+ else
776+ {
777+ if (tmp <= end)
778+ return false;
779+ nend = tmp + chunk;
780+ if (nend < end)
781+ nend = end;
782+ *pstart = tmp;
783+ *pend = nend;
784+ return true;
785+ }
786+ }
787
788+ start = ws->next;
789 while (1)
790 {
791 long left = end - start;
792--- libgomp/work.c.jj 2007-12-07 14:41:01.000000000 +0100
793+++ libgomp/work.c 2008-03-27 12:21:51.000000000 +0100
794@@ -1,4 +1,4 @@
795-/* Copyright (C) 2005 Free Software Foundation, Inc.
796+/* Copyright (C) 2005, 2008 Free Software Foundation, Inc.
797 Contributed by Richard Henderson <rth@redhat.com>.
798
799 This file is part of the GNU OpenMP Library (libgomp).
800@@ -29,39 +29,138 @@
801 of threads. */
802
803 #include "libgomp.h"
804+#include <stddef.h>
805 #include <stdlib.h>
806 #include <string.h>
807
808
809-/* Create a new work share structure. */
810+/* Allocate a new work share structure, preferably from current team's
811+ free gomp_work_share cache. */
812
813-struct gomp_work_share *
814-gomp_new_work_share (bool ordered, unsigned nthreads)
815+static struct gomp_work_share *
816+alloc_work_share (struct gomp_team *team)
817 {
818 struct gomp_work_share *ws;
819- size_t size;
820+ unsigned int i;
821
822- size = sizeof (*ws);
823- if (ordered)
824- size += nthreads * sizeof (ws->ordered_team_ids[0]);
825+ /* This is called in a critical section. */
826+ if (team->work_share_list_alloc != NULL)
827+ {
828+ ws = team->work_share_list_alloc;
829+ team->work_share_list_alloc = ws->next_free;
830+ return ws;
831+ }
832
833- ws = gomp_malloc_cleared (size);
834- gomp_mutex_init (&ws->lock);
835- ws->ordered_owner = -1;
836+#ifdef HAVE_SYNC_BUILTINS
837+ ws = team->work_share_list_free;
838+ /* We need atomic read from work_share_list_free,
839+ as free_work_share can be called concurrently. */
840+ __asm ("" : "+r" (ws));
841+
842+ if (ws && ws->next_free)
843+ {
844+ struct gomp_work_share *next = ws->next_free;
845+ ws->next_free = NULL;
846+ team->work_share_list_alloc = next->next_free;
847+ return next;
848+ }
849+#else
850+ gomp_mutex_lock (&team->work_share_list_free_lock);
851+ ws = team->work_share_list_free;
852+ if (ws)
853+ {
854+ team->work_share_list_alloc = ws->next_free;
855+ team->work_share_list_free = NULL;
856+ gomp_mutex_unlock (&team->work_share_list_free_lock);
857+ return ws;
858+ }
859+ gomp_mutex_unlock (&team->work_share_list_free_lock);
860+#endif
861
862+ team->work_share_chunk *= 2;
863+ ws = gomp_malloc (team->work_share_chunk * sizeof (struct gomp_work_share));
864+ ws->next_alloc = team->work_shares[0].next_alloc;
865+ team->work_shares[0].next_alloc = ws;
866+ team->work_share_list_alloc = &ws[1];
867+ for (i = 1; i < team->work_share_chunk - 1; i++)
868+ ws[i].next_free = &ws[i + 1];
869+ ws[i].next_free = NULL;
870 return ws;
871 }
872
873+/* Initialize an already allocated struct gomp_work_share.
874+ This shouldn't touch the next_alloc field. */
875+
876+void
877+gomp_init_work_share (struct gomp_work_share *ws, bool ordered,
878+ unsigned nthreads)
879+{
880+ gomp_mutex_init (&ws->lock);
881+ if (__builtin_expect (ordered, 0))
882+ {
883+#define INLINE_ORDERED_TEAM_IDS_CNT \
884+ ((sizeof (struct gomp_work_share) \
885+ - offsetof (struct gomp_work_share, inline_ordered_team_ids)) \
886+ / sizeof (((struct gomp_work_share *) 0)->inline_ordered_team_ids[0]))
887+
888+ if (nthreads > INLINE_ORDERED_TEAM_IDS_CNT)
889+ ws->ordered_team_ids
890+ = gomp_malloc (nthreads * sizeof (*ws->ordered_team_ids));
891+ else
892+ ws->ordered_team_ids = ws->inline_ordered_team_ids;
893+ memset (ws->ordered_team_ids, '\0',
894+ nthreads * sizeof (*ws->ordered_team_ids));
895+ ws->ordered_num_used = 0;
896+ ws->ordered_owner = -1;
897+ ws->ordered_cur = 0;
898+ }
899+ else
900+ ws->ordered_team_ids = NULL;
901+ gomp_ptrlock_init (&ws->next_ws, NULL);
902+ ws->threads_completed = 0;
903+}
904
905-/* Free a work share structure. */
906+/* Do any needed destruction of gomp_work_share fields before it
907+ is put back into free gomp_work_share cache or freed. */
908
909-static void
910-free_work_share (struct gomp_work_share *ws)
911+void
912+gomp_fini_work_share (struct gomp_work_share *ws)
913 {
914 gomp_mutex_destroy (&ws->lock);
915- free (ws);
916+ if (ws->ordered_team_ids != ws->inline_ordered_team_ids)
917+ free (ws->ordered_team_ids);
918+ gomp_ptrlock_destroy (&ws->next_ws);
919 }
920
921+/* Free a work share struct, if not orphaned, put it into current
922+ team's free gomp_work_share cache. */
923+
924+static inline void
925+free_work_share (struct gomp_team *team, struct gomp_work_share *ws)
926+{
927+ gomp_fini_work_share (ws);
928+ if (__builtin_expect (team == NULL, 0))
929+ free (ws);
930+ else
931+ {
932+ struct gomp_work_share *next_ws;
933+#ifdef HAVE_SYNC_BUILTINS
934+ do
935+ {
936+ next_ws = team->work_share_list_free;
937+ ws->next_free = next_ws;
938+ }
939+ while (!__sync_bool_compare_and_swap (&team->work_share_list_free,
940+ next_ws, ws));
941+#else
942+ gomp_mutex_lock (&team->work_share_list_free_lock);
943+ next_ws = team->work_share_list_free;
944+ ws->next_free = next_ws;
945+ team->work_share_list_free = ws;
946+ gomp_mutex_unlock (&team->work_share_list_free_lock);
947+#endif
948+ }
949+}
950
951 /* The current thread is ready to begin the next work sharing construct.
952 In all cases, thr->ts.work_share is updated to point to the new
953@@ -74,71 +173,34 @@ gomp_work_share_start (bool ordered)
954 struct gomp_thread *thr = gomp_thread ();
955 struct gomp_team *team = thr->ts.team;
956 struct gomp_work_share *ws;
957- unsigned ws_index, ws_gen;
958
959 /* Work sharing constructs can be orphaned. */
960 if (team == NULL)
961 {
962- ws = gomp_new_work_share (ordered, 1);
963+ ws = gomp_malloc (sizeof (*ws));
964+ gomp_init_work_share (ws, ordered, 1);
965 thr->ts.work_share = ws;
966- thr->ts.static_trip = 0;
967- gomp_mutex_lock (&ws->lock);
968- return true;
969+ return ws;
970 }
971
972- gomp_mutex_lock (&team->work_share_lock);
973-
974- /* This thread is beginning its next generation. */
975- ws_gen = ++thr->ts.work_share_generation;
976-
977- /* If this next generation is not newer than any other generation in
978- the team, then simply reference the existing construct. */
979- if (ws_gen - team->oldest_live_gen < team->num_live_gen)
980+ ws = thr->ts.work_share;
981+ thr->ts.last_work_share = ws;
982+ ws = gomp_ptrlock_get (&ws->next_ws);
983+ if (ws == NULL)
984 {
985- ws_index = ws_gen & team->generation_mask;
986- ws = team->work_shares[ws_index];
987+ /* This thread encountered a new ws first. */
988+ struct gomp_work_share *ws = alloc_work_share (team);
989+ gomp_init_work_share (ws, ordered, team->nthreads);
990 thr->ts.work_share = ws;
991- thr->ts.static_trip = 0;
992-
993- gomp_mutex_lock (&ws->lock);
994- gomp_mutex_unlock (&team->work_share_lock);
995-
996- return false;
997+ return true;
998 }
999-
1000- /* Resize the work shares queue if we've run out of space. */
1001- if (team->num_live_gen++ == team->generation_mask)
1002+ else
1003 {
1004- team->work_shares = gomp_realloc (team->work_shares,
1005- 2 * team->num_live_gen
1006- * sizeof (*team->work_shares));
1007-
1008- /* Unless oldest_live_gen is zero, the sequence of live elements
1009- wraps around the end of the array. If we do nothing, we break
1010- lookup of the existing elements. Fix that by unwrapping the
1011- data from the front to the end. */
1012- if (team->oldest_live_gen > 0)
1013- memcpy (team->work_shares + team->num_live_gen,
1014- team->work_shares,
1015- (team->oldest_live_gen & team->generation_mask)
1016- * sizeof (*team->work_shares));
1017-
1018- team->generation_mask = team->generation_mask * 2 + 1;
1019- }
1020-
1021- ws_index = ws_gen & team->generation_mask;
1022- ws = gomp_new_work_share (ordered, team->nthreads);
1023- thr->ts.work_share = ws;
1024- thr->ts.static_trip = 0;
1025- team->work_shares[ws_index] = ws;
1026-
1027- gomp_mutex_lock (&ws->lock);
1028- gomp_mutex_unlock (&team->work_share_lock);
1029-
1030- return true;
1031+ thr->ts.work_share = ws;
1032+ return false;
1033+ }
1034 }
1035
1036-
1037 /* The current thread is done with its current work sharing construct.
1038 This version does imply a barrier at the end of the work-share. */
1039
1040@@ -147,36 +209,28 @@ gomp_work_share_end (void)
1041 {
1042 struct gomp_thread *thr = gomp_thread ();
1043 struct gomp_team *team = thr->ts.team;
1044- struct gomp_work_share *ws = thr->ts.work_share;
1045- bool last;
1046-
1047- thr->ts.work_share = NULL;
1048+ gomp_barrier_state_t bstate;
1049
1050 /* Work sharing constructs can be orphaned. */
1051 if (team == NULL)
1052 {
1053- free_work_share (ws);
1054+ free_work_share (NULL, thr->ts.work_share);
1055+ thr->ts.work_share = NULL;
1056 return;
1057 }
1058
1059- last = gomp_barrier_wait_start (&team->barrier);
1060+ bstate = gomp_barrier_wait_start (&team->barrier);
1061
1062- if (last)
1063+ if (gomp_barrier_last_thread (bstate))
1064 {
1065- unsigned ws_index;
1066-
1067- ws_index = thr->ts.work_share_generation & team->generation_mask;
1068- team->work_shares[ws_index] = NULL;
1069- team->oldest_live_gen++;
1070- team->num_live_gen = 0;
1071-
1072- free_work_share (ws);
1073+ if (__builtin_expect (thr->ts.last_work_share != NULL, 1))
1074+ free_work_share (team, thr->ts.last_work_share);
1075 }
1076
1077- gomp_barrier_wait_end (&team->barrier, last);
1078+ gomp_barrier_wait_end (&team->barrier, bstate);
1079+ thr->ts.last_work_share = NULL;
1080 }
1081
1082-
1083 /* The current thread is done with its current work sharing construct.
1084 This version does NOT imply a barrier at the end of the work-share. */
1085
1086@@ -188,15 +242,17 @@ gomp_work_share_end_nowait (void)
1087 struct gomp_work_share *ws = thr->ts.work_share;
1088 unsigned completed;
1089
1090- thr->ts.work_share = NULL;
1091-
1092 /* Work sharing constructs can be orphaned. */
1093 if (team == NULL)
1094 {
1095- free_work_share (ws);
1096+ free_work_share (NULL, ws);
1097+ thr->ts.work_share = NULL;
1098 return;
1099 }
1100
1101+ if (__builtin_expect (thr->ts.last_work_share == NULL, 0))
1102+ return;
1103+
1104 #ifdef HAVE_SYNC_BUILTINS
1105 completed = __sync_add_and_fetch (&ws->threads_completed, 1);
1106 #else
1107@@ -206,18 +262,6 @@ gomp_work_share_end_nowait (void)
1108 #endif
1109
1110 if (completed == team->nthreads)
1111- {
1112- unsigned ws_index;
1113-
1114- gomp_mutex_lock (&team->work_share_lock);
1115-
1116- ws_index = thr->ts.work_share_generation & team->generation_mask;
1117- team->work_shares[ws_index] = NULL;
1118- team->oldest_live_gen++;
1119- team->num_live_gen--;
1120-
1121- gomp_mutex_unlock (&team->work_share_lock);
1122-
1123- free_work_share (ws);
1124- }
1125+ free_work_share (team, thr->ts.last_work_share);
1126+ thr->ts.last_work_share = NULL;
1127 }
1128--- libgomp/single.c.jj 2007-12-07 14:41:01.000000000 +0100
1129+++ libgomp/single.c 2008-03-26 15:11:32.000000000 +0100
1130@@ -1,4 +1,4 @@
1131-/* Copyright (C) 2005 Free Software Foundation, Inc.
1132+/* Copyright (C) 2005, 2008 Free Software Foundation, Inc.
1133 Contributed by Richard Henderson <rth@redhat.com>.
1134
1135 This file is part of the GNU OpenMP Library (libgomp).
1136@@ -37,10 +37,24 @@
1137 bool
1138 GOMP_single_start (void)
1139 {
1140+#ifdef HAVE_SYNC_BUILTINS
1141+ struct gomp_thread *thr = gomp_thread ();
1142+ struct gomp_team *team = thr->ts.team;
1143+ unsigned long single_count;
1144+
1145+ if (__builtin_expect (team == NULL, 0))
1146+ return true;
1147+
1148+ single_count = thr->ts.single_count++;
1149+ return __sync_bool_compare_and_swap (&team->single_count, single_count,
1150+ single_count + 1L);
1151+#else
1152 bool ret = gomp_work_share_start (false);
1153- gomp_mutex_unlock (&gomp_thread ()->ts.work_share->lock);
1154+ if (ret)
1155+ gomp_work_share_init_done ();
1156 gomp_work_share_end_nowait ();
1157 return ret;
1158+#endif
1159 }
1160
1161 /* This routine is called when first encountering a SINGLE construct that
1162@@ -57,10 +71,12 @@ GOMP_single_copy_start (void)
1163 void *ret;
1164
1165 first = gomp_work_share_start (false);
1166- gomp_mutex_unlock (&thr->ts.work_share->lock);
1167
1168 if (first)
1169- ret = NULL;
1170+ {
1171+ gomp_work_share_init_done ();
1172+ ret = NULL;
1173+ }
1174 else
1175 {
1176 gomp_barrier_wait (&thr->ts.team->barrier);
1177--- libgomp/loop.c.jj 2007-12-07 14:41:01.000000000 +0100
1178+++ libgomp/loop.c 2008-03-26 18:47:04.000000000 +0100
1179@@ -27,8 +27,9 @@
1180
1181 /* This file handles the LOOP (FOR/DO) construct. */
1182
1183-#include "libgomp.h"
1184+#include <limits.h>
1185 #include <stdlib.h>
1186+#include "libgomp.h"
1187
1188
1189 /* Initialize the given work share construct from the given arguments. */
1190@@ -44,6 +45,39 @@ gomp_loop_init (struct gomp_work_share *
1191 ? start : end;
1192 ws->incr = incr;
1193 ws->next = start;
1194+ if (sched == GFS_DYNAMIC)
1195+ {
1196+ ws->chunk_size *= incr;
1197+
1198+#ifdef HAVE_SYNC_BUILTINS
1199+ {
1200+ /* For dynamic scheduling prepare things to make each iteration
1201+ faster. */
1202+ struct gomp_thread *thr = gomp_thread ();
1203+ struct gomp_team *team = thr->ts.team;
1204+ long nthreads = team ? team->nthreads : 1;
1205+
1206+ if (__builtin_expect (incr > 0, 1))
1207+ {
1208+ /* Cheap overflow protection. */
1209+ if (__builtin_expect ((nthreads | ws->chunk_size)
1210+ >= 1UL << (sizeof (long)
1211+ * __CHAR_BIT__ / 2 - 1), 0))
1212+ ws->mode = 0;
1213+ else
1214+ ws->mode = ws->end < (LONG_MAX
1215+ - (nthreads + 1) * ws->chunk_size);
1216+ }
1217+ /* Cheap overflow protection. */
1218+ else if (__builtin_expect ((nthreads | -ws->chunk_size)
1219+ >= 1UL << (sizeof (long)
1220+ * __CHAR_BIT__ / 2 - 1), 0))
1221+ ws->mode = 0;
1222+ else
1223+ ws->mode = ws->end > (nthreads + 1) * -ws->chunk_size - LONG_MAX;
1224+ }
1225+#endif
1226+ }
1227 }
1228
1229 /* The *_start routines are called when first encountering a loop construct
1230@@ -68,10 +102,13 @@ gomp_loop_static_start (long start, long
1231 {
1232 struct gomp_thread *thr = gomp_thread ();
1233
1234+ thr->ts.static_trip = 0;
1235 if (gomp_work_share_start (false))
1236- gomp_loop_init (thr->ts.work_share, start, end, incr,
1237- GFS_STATIC, chunk_size);
1238- gomp_mutex_unlock (&thr->ts.work_share->lock);
1239+ {
1240+ gomp_loop_init (thr->ts.work_share, start, end, incr,
1241+ GFS_STATIC, chunk_size);
1242+ gomp_work_share_init_done ();
1243+ }
1244
1245 return !gomp_iter_static_next (istart, iend);
1246 }
1247@@ -84,13 +121,16 @@ gomp_loop_dynamic_start (long start, lon
1248 bool ret;
1249
1250 if (gomp_work_share_start (false))
1251- gomp_loop_init (thr->ts.work_share, start, end, incr,
1252- GFS_DYNAMIC, chunk_size);
1253+ {
1254+ gomp_loop_init (thr->ts.work_share, start, end, incr,
1255+ GFS_DYNAMIC, chunk_size);
1256+ gomp_work_share_init_done ();
1257+ }
1258
1259 #ifdef HAVE_SYNC_BUILTINS
1260- gomp_mutex_unlock (&thr->ts.work_share->lock);
1261 ret = gomp_iter_dynamic_next (istart, iend);
1262 #else
1263+ gomp_mutex_lock (&thr->ts.work_share->lock);
1264 ret = gomp_iter_dynamic_next_locked (istart, iend);
1265 gomp_mutex_unlock (&thr->ts.work_share->lock);
1266 #endif
1267@@ -106,13 +146,16 @@ gomp_loop_guided_start (long start, long
1268 bool ret;
1269
1270 if (gomp_work_share_start (false))
1271- gomp_loop_init (thr->ts.work_share, start, end, incr,
1272- GFS_GUIDED, chunk_size);
1273+ {
1274+ gomp_loop_init (thr->ts.work_share, start, end, incr,
1275+ GFS_GUIDED, chunk_size);
1276+ gomp_work_share_init_done ();
1277+ }
1278
1279 #ifdef HAVE_SYNC_BUILTINS
1280- gomp_mutex_unlock (&thr->ts.work_share->lock);
1281 ret = gomp_iter_guided_next (istart, iend);
1282 #else
1283+ gomp_mutex_lock (&thr->ts.work_share->lock);
1284 ret = gomp_iter_guided_next_locked (istart, iend);
1285 gomp_mutex_unlock (&thr->ts.work_share->lock);
1286 #endif
1287@@ -149,13 +192,14 @@ gomp_loop_ordered_static_start (long sta
1288 {
1289 struct gomp_thread *thr = gomp_thread ();
1290
1291+ thr->ts.static_trip = 0;
1292 if (gomp_work_share_start (true))
1293 {
1294 gomp_loop_init (thr->ts.work_share, start, end, incr,
1295 GFS_STATIC, chunk_size);
1296 gomp_ordered_static_init ();
1297+ gomp_work_share_init_done ();
1298 }
1299- gomp_mutex_unlock (&thr->ts.work_share->lock);
1300
1301 return !gomp_iter_static_next (istart, iend);
1302 }
1303@@ -168,8 +212,14 @@ gomp_loop_ordered_dynamic_start (long st
1304 bool ret;
1305
1306 if (gomp_work_share_start (true))
1307- gomp_loop_init (thr->ts.work_share, start, end, incr,
1308- GFS_DYNAMIC, chunk_size);
1309+ {
1310+ gomp_loop_init (thr->ts.work_share, start, end, incr,
1311+ GFS_DYNAMIC, chunk_size);
1312+ gomp_mutex_lock (&thr->ts.work_share->lock);
1313+ gomp_work_share_init_done ();
1314+ }
1315+ else
1316+ gomp_mutex_lock (&thr->ts.work_share->lock);
1317
1318 ret = gomp_iter_dynamic_next_locked (istart, iend);
1319 if (ret)
1320@@ -187,8 +237,14 @@ gomp_loop_ordered_guided_start (long sta
1321 bool ret;
1322
1323 if (gomp_work_share_start (true))
1324- gomp_loop_init (thr->ts.work_share, start, end, incr,
1325- GFS_GUIDED, chunk_size);
1326+ {
1327+ gomp_loop_init (thr->ts.work_share, start, end, incr,
1328+ GFS_GUIDED, chunk_size);
1329+ gomp_mutex_lock (&thr->ts.work_share->lock);
1330+ gomp_work_share_init_done ();
1331+ }
1332+ else
1333+ gomp_mutex_lock (&thr->ts.work_share->lock);
1334
1335 ret = gomp_iter_guided_next_locked (istart, iend);
1336 if (ret)
1337@@ -375,12 +431,12 @@ gomp_parallel_loop_start (void (*fn) (vo
1338 long incr, enum gomp_schedule_type sched,
1339 long chunk_size)
1340 {
1341- struct gomp_work_share *ws;
1342+ struct gomp_team *team;
1343
1344 num_threads = gomp_resolve_num_threads (num_threads);
1345- ws = gomp_new_work_share (false, num_threads);
1346- gomp_loop_init (ws, start, end, incr, sched, chunk_size);
1347- gomp_team_start (fn, data, num_threads, ws);
1348+ team = gomp_new_team (num_threads);
1349+ gomp_loop_init (&team->work_shares[0], start, end, incr, sched, chunk_size);
1350+ gomp_team_start (fn, data, num_threads, team);
1351 }
1352
1353 void
1354--- libgomp/Makefile.in.jj 2008-01-10 20:53:47.000000000 +0100
1355+++ libgomp/Makefile.in 2008-03-26 18:51:01.000000000 +0100
1356@@ -83,7 +83,7 @@ libgomp_la_LIBADD =
1357 am_libgomp_la_OBJECTS = alloc.lo barrier.lo critical.lo env.lo \
1358 error.lo iter.lo loop.lo ordered.lo parallel.lo sections.lo \
1359 single.lo team.lo work.lo lock.lo mutex.lo proc.lo sem.lo \
1360- bar.lo time.lo fortran.lo affinity.lo
1361+ bar.lo ptrlock.lo time.lo fortran.lo affinity.lo
1362 libgomp_la_OBJECTS = $(am_libgomp_la_OBJECTS)
1363 DEFAULT_INCLUDES = -I. -I$(srcdir) -I.
1364 depcomp = $(SHELL) $(top_srcdir)/../depcomp
1365@@ -292,7 +292,7 @@ libgomp_version_info = -version-info $(l
1366 libgomp_la_LDFLAGS = $(libgomp_version_info) $(libgomp_version_script)
1367 libgomp_la_SOURCES = alloc.c barrier.c critical.c env.c error.c iter.c \
1368 loop.c ordered.c parallel.c sections.c single.c team.c work.c \
1369- lock.c mutex.c proc.c sem.c bar.c time.c fortran.c affinity.c
1370+ lock.c mutex.c proc.c sem.c bar.c ptrlock.c time.c fortran.c affinity.c
1371
1372 nodist_noinst_HEADERS = libgomp_f.h
1373 nodist_libsubinclude_HEADERS = omp.h
1374@@ -434,6 +434,7 @@ distclean-compile:
1375 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ordered.Plo@am__quote@
1376 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/parallel.Plo@am__quote@
1377 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/proc.Plo@am__quote@
1378+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ptrlock.Plo@am__quote@
1379 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sections.Plo@am__quote@
1380 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sem.Plo@am__quote@
1381 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/single.Plo@am__quote@
1382--- libgomp/testsuite/libgomp.c/loop-4.c.jj 2008-03-26 18:47:04.000000000 +0100
1383+++ libgomp/testsuite/libgomp.c/loop-4.c 2008-03-26 18:47:04.000000000 +0100
1384@@ -0,0 +1,28 @@
1385+/* { dg-do run } */
1386+
1387+extern void abort (void);
1388+
1389+int
1390+main (void)
1391+{
1392+ int e = 0;
1393+#pragma omp parallel num_threads (4) reduction(+:e)
1394+ {
1395+ long i;
1396+ #pragma omp for schedule(dynamic,1)
1397+ for (i = __LONG_MAX__ - 30001; i <= __LONG_MAX__ - 10001; i += 10000)
1398+ if (i != __LONG_MAX__ - 30001
1399+ && i != __LONG_MAX__ - 20001
1400+ && i != __LONG_MAX__ - 10001)
1401+ e = 1;
1402+ #pragma omp for schedule(dynamic,1)
1403+ for (i = -__LONG_MAX__ + 30000; i >= -__LONG_MAX__ + 10000; i -= 10000)
1404+ if (i != -__LONG_MAX__ + 30000
1405+ && i != -__LONG_MAX__ + 20000
1406+ && i != -__LONG_MAX__ + 10000)
1407+ e = 1;
1408+ }
1409+ if (e)
1410+ abort ();
1411+ return 0;
1412+}
1413--- libgomp/Makefile.am.jj 2007-12-07 14:41:01.000000000 +0100
1414+++ libgomp/Makefile.am 2008-03-26 15:15:19.000000000 +0100
1415@@ -31,7 +31,7 @@ libgomp_la_LDFLAGS = $(libgomp_version_i
1416
1417 libgomp_la_SOURCES = alloc.c barrier.c critical.c env.c error.c iter.c \
1418 loop.c ordered.c parallel.c sections.c single.c team.c work.c \
1419- lock.c mutex.c proc.c sem.c bar.c time.c fortran.c affinity.c
1420+ lock.c mutex.c proc.c sem.c bar.c ptrlock.c time.c fortran.c affinity.c
1421
1422 nodist_noinst_HEADERS = libgomp_f.h
1423 nodist_libsubinclude_HEADERS = omp.h
1424--- libgomp/team.c.jj 2007-12-07 14:41:01.000000000 +0100
1425+++ libgomp/team.c 2008-03-27 12:22:26.000000000 +0100
1426@@ -94,7 +94,7 @@ gomp_thread_start (void *xdata)
1427 {
1428 gomp_barrier_wait (&thr->ts.team->barrier);
1429 local_fn (local_data);
1430- gomp_barrier_wait (&thr->ts.team->barrier);
1431+ gomp_barrier_wait_last (&thr->ts.team->barrier);
1432 }
1433 else
1434 {
1435@@ -114,11 +114,10 @@ gomp_thread_start (void *xdata)
1436 thr->data = NULL;
1437 thr->ts.team = NULL;
1438 thr->ts.work_share = NULL;
1439+ thr->ts.last_work_share = NULL;
1440 thr->ts.team_id = 0;
1441- thr->ts.work_share_generation = 0;
1442- thr->ts.static_trip = 0;
1443
1444- gomp_barrier_wait (&team->barrier);
1445+ gomp_barrier_wait_last (&team->barrier);
1446 gomp_barrier_wait (&gomp_threads_dock);
1447
1448 local_fn = thr->fn;
1449@@ -133,21 +132,29 @@ gomp_thread_start (void *xdata)
1450
1451 /* Create a new team data structure. */
1452
1453-static struct gomp_team *
1454-new_team (unsigned nthreads, struct gomp_work_share *work_share)
1455+struct gomp_team *
1456+gomp_new_team (unsigned nthreads)
1457 {
1458 struct gomp_team *team;
1459 size_t size;
1460+ int i;
1461
1462 size = sizeof (*team) + nthreads * sizeof (team->ordered_release[0]);
1463 team = gomp_malloc (size);
1464- gomp_mutex_init (&team->work_share_lock);
1465
1466- team->work_shares = gomp_malloc (4 * sizeof (struct gomp_work_share *));
1467- team->generation_mask = 3;
1468- team->oldest_live_gen = work_share == NULL;
1469- team->num_live_gen = work_share != NULL;
1470- team->work_shares[0] = work_share;
1471+ team->work_share_chunk = 8;
1472+#ifdef HAVE_SYNC_BUILTINS
1473+ team->single_count = 0;
1474+#else
1475+ gomp_mutex_init (&team->work_share_list_free_lock);
1476+#endif
1477+ gomp_init_work_share (&team->work_shares[0], false, nthreads);
1478+ team->work_shares[0].next_alloc = NULL;
1479+ team->work_share_list_free = NULL;
1480+ team->work_share_list_alloc = &team->work_shares[1];
1481+ for (i = 1; i < 7; i++)
1482+ team->work_shares[i].next_free = &team->work_shares[i + 1];
1483+ team->work_shares[i].next_free = NULL;
1484
1485 team->nthreads = nthreads;
1486 gomp_barrier_init (&team->barrier, nthreads);
1487@@ -164,10 +171,22 @@ new_team (unsigned nthreads, struct gomp
1488 static void
1489 free_team (struct gomp_team *team)
1490 {
1491- free (team->work_shares);
1492- gomp_mutex_destroy (&team->work_share_lock);
1493+ if (__builtin_expect (team->work_shares[0].next_alloc != NULL, 0))
1494+ {
1495+ struct gomp_work_share *ws = team->work_shares[0].next_alloc;
1496+ do
1497+ {
1498+ struct gomp_work_share *next_ws = ws->next_alloc;
1499+ free (ws);
1500+ ws = next_ws;
1501+ }
1502+ while (ws != NULL);
1503+ }
1504 gomp_barrier_destroy (&team->barrier);
1505 gomp_sem_destroy (&team->master_release);
1506+#ifndef HAVE_SYNC_BUILTINS
1507+ gomp_mutex_destroy (&team->work_share_list_free_lock);
1508+#endif
1509 free (team);
1510 }
1511
1512@@ -176,11 +195,10 @@ free_team (struct gomp_team *team)
1513
1514 void
1515 gomp_team_start (void (*fn) (void *), void *data, unsigned nthreads,
1516- struct gomp_work_share *work_share)
1517+ struct gomp_team *team)
1518 {
1519 struct gomp_thread_start_data *start_data;
1520 struct gomp_thread *thr, *nthr;
1521- struct gomp_team *team;
1522 bool nested;
1523 unsigned i, n, old_threads_used = 0;
1524 pthread_attr_t thread_attr, *attr;
1525@@ -188,17 +206,18 @@ gomp_team_start (void (*fn) (void *), vo
1526 thr = gomp_thread ();
1527 nested = thr->ts.team != NULL;
1528
1529- team = new_team (nthreads, work_share);
1530-
1531 /* Always save the previous state, even if this isn't a nested team.
1532 In particular, we should save any work share state from an outer
1533 orphaned work share construct. */
1534 team->prev_ts = thr->ts;
1535
1536 thr->ts.team = team;
1537- thr->ts.work_share = work_share;
1538 thr->ts.team_id = 0;
1539- thr->ts.work_share_generation = 0;
1540+ thr->ts.work_share = &team->work_shares[0];
1541+ thr->ts.last_work_share = NULL;
1542+#ifdef HAVE_SYNC_BUILTINS
1543+ thr->ts.single_count = 0;
1544+#endif
1545 thr->ts.static_trip = 0;
1546
1547 if (nthreads == 1)
1548@@ -241,9 +260,12 @@ gomp_team_start (void (*fn) (void *), vo
1549 {
1550 nthr = gomp_threads[i];
1551 nthr->ts.team = team;
1552- nthr->ts.work_share = work_share;
1553+ nthr->ts.work_share = &team->work_shares[0];
1554+ nthr->ts.last_work_share = NULL;
1555 nthr->ts.team_id = i;
1556- nthr->ts.work_share_generation = 0;
1557+#ifdef HAVE_SYNC_BUILTINS
1558+ nthr->ts.single_count = 0;
1559+#endif
1560 nthr->ts.static_trip = 0;
1561 nthr->fn = fn;
1562 nthr->data = data;
1563@@ -266,8 +288,24 @@ gomp_team_start (void (*fn) (void *), vo
1564 }
1565 }
1566
1567+ if (__builtin_expect (nthreads > old_threads_used, 0))
1568+ {
1569+ long diff = (long) nthreads - (long) old_threads_used;
1570+
1571+ if (old_threads_used == 0)
1572+ --diff;
1573+
1574+#ifdef HAVE_SYNC_BUILTINS
1575+ __sync_fetch_and_add (&gomp_managed_threads, diff);
1576+#else
1577+ gomp_mutex_lock (&gomp_remaining_threads_lock);
1578+ gomp_managed_threads += diff;
1579+ gomp_mutex_unlock (&gomp_remaining_threads_lock);
1580+#endif
1581+ }
1582+
1583 attr = &gomp_thread_attr;
1584- if (gomp_cpu_affinity != NULL)
1585+ if (__builtin_expect (gomp_cpu_affinity != NULL, 0))
1586 {
1587 size_t stacksize;
1588 pthread_attr_init (&thread_attr);
1589@@ -287,9 +325,12 @@ gomp_team_start (void (*fn) (void *), vo
1590 int err;
1591
1592 start_data->ts.team = team;
1593- start_data->ts.work_share = work_share;
1594+ start_data->ts.work_share = &team->work_shares[0];
1595+ start_data->ts.last_work_share = NULL;
1596 start_data->ts.team_id = i;
1597- start_data->ts.work_share_generation = 0;
1598+#ifdef HAVE_SYNC_BUILTINS
1599+ start_data->ts.single_count = 0;
1600+#endif
1601 start_data->ts.static_trip = 0;
1602 start_data->fn = fn;
1603 start_data->fn_data = data;
1604@@ -303,7 +344,7 @@ gomp_team_start (void (*fn) (void *), vo
1605 gomp_fatal ("Thread creation failed: %s", strerror (err));
1606 }
1607
1608- if (gomp_cpu_affinity != NULL)
1609+ if (__builtin_expect (gomp_cpu_affinity != NULL, 0))
1610 pthread_attr_destroy (&thread_attr);
1611
1612 do_release:
1613@@ -313,8 +354,20 @@ gomp_team_start (void (*fn) (void *), vo
1614 that should arrive back at the end of this team. The extra
1615 threads should be exiting. Note that we arrange for this test
1616 to never be true for nested teams. */
1617- if (nthreads < old_threads_used)
1618- gomp_barrier_reinit (&gomp_threads_dock, nthreads);
1619+ if (__builtin_expect (nthreads < old_threads_used, 0))
1620+ {
1621+ long diff = (long) nthreads - (long) old_threads_used;
1622+
1623+ gomp_barrier_reinit (&gomp_threads_dock, nthreads);
1624+
1625+#ifdef HAVE_SYNC_BUILTINS
1626+ __sync_fetch_and_add (&gomp_managed_threads, diff);
1627+#else
1628+ gomp_mutex_lock (&gomp_remaining_threads_lock);
1629+ gomp_managed_threads += diff;
1630+ gomp_mutex_unlock (&gomp_remaining_threads_lock);
1631+#endif
1632+ }
1633 }
1634
1635
1636@@ -329,8 +382,21 @@ gomp_team_end (void)
1637
1638 gomp_barrier_wait (&team->barrier);
1639
1640+ gomp_fini_work_share (thr->ts.work_share);
1641+
1642 thr->ts = team->prev_ts;
1643
1644+ if (__builtin_expect (thr->ts.team != NULL, 0))
1645+ {
1646+#ifdef HAVE_SYNC_BUILTINS
1647+ __sync_fetch_and_add (&gomp_managed_threads, 1L - team->nthreads);
1648+#else
1649+ gomp_mutex_lock (&gomp_remaining_threads_lock);
1650+ gomp_managed_threads -= team->nthreads - 1L;
1651+ gomp_mutex_unlock (&gomp_remaining_threads_lock);
1652+#endif
1653+ }
1654+
1655 free_team (team);
1656 }
1657
1658--- libgomp/config/posix/bar.h.jj 2007-12-07 14:41:01.000000000 +0100
1659+++ libgomp/config/posix/bar.h 2008-03-26 15:11:32.000000000 +0100
1660@@ -1,4 +1,4 @@
1661-/* Copyright (C) 2005 Free Software Foundation, Inc.
1662+/* Copyright (C) 2005, 2008 Free Software Foundation, Inc.
1663 Contributed by Richard Henderson <rth@redhat.com>.
1664
1665 This file is part of the GNU OpenMP Library (libgomp).
1666@@ -46,18 +46,32 @@ typedef struct
1667 unsigned total;
1668 unsigned arrived;
1669 } gomp_barrier_t;
1670+typedef bool gomp_barrier_state_t;
1671
1672 extern void gomp_barrier_init (gomp_barrier_t *, unsigned);
1673 extern void gomp_barrier_reinit (gomp_barrier_t *, unsigned);
1674 extern void gomp_barrier_destroy (gomp_barrier_t *);
1675
1676 extern void gomp_barrier_wait (gomp_barrier_t *);
1677-extern void gomp_barrier_wait_end (gomp_barrier_t *, bool);
1678+extern void gomp_barrier_wait_end (gomp_barrier_t *, gomp_barrier_state_t);
1679
1680-static inline bool gomp_barrier_wait_start (gomp_barrier_t *bar)
1681+static inline gomp_barrier_state_t
1682+gomp_barrier_wait_start (gomp_barrier_t *bar)
1683 {
1684 gomp_mutex_lock (&bar->mutex1);
1685 return ++bar->arrived == bar->total;
1686 }
1687
1688+static inline bool
1689+gomp_barrier_last_thread (gomp_barrier_state_t state)
1690+{
1691+ return state;
1692+}
1693+
1694+static inline void
1695+gomp_barrier_wait_last (gomp_barrier_t *bar)
1696+{
1697+ gomp_barrier_wait (bar);
1698+}
1699+
1700 #endif /* GOMP_BARRIER_H */
1701--- libgomp/config/posix/ptrlock.h.jj 2008-03-26 15:11:32.000000000 +0100
1702+++ libgomp/config/posix/ptrlock.h 2008-03-26 15:11:32.000000000 +0100
1703@@ -0,0 +1,69 @@
1704+/* Copyright (C) 2008 Free Software Foundation, Inc.
1705+ Contributed by Jakub Jelinek <jakub@redhat.com>.
1706+
1707+ This file is part of the GNU OpenMP Library (libgomp).
1708+
1709+ Libgomp is free software; you can redistribute it and/or modify it
1710+ under the terms of the GNU Lesser General Public License as published by
1711+ the Free Software Foundation; either version 2.1 of the License, or
1712+ (at your option) any later version.
1713+
1714+ Libgomp is distributed in the hope that it will be useful, but WITHOUT ANY
1715+ WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
1716+ FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for
1717+ more details.
1718+
1719+ You should have received a copy of the GNU Lesser General Public License
1720+ along with libgomp; see the file COPYING.LIB. If not, write to the
1721+ Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
1722+ MA 02110-1301, USA. */
1723+
1724+/* As a special exception, if you link this library with other files, some
1725+ of which are compiled with GCC, to produce an executable, this library
1726+ does not by itself cause the resulting executable to be covered by the
1727+ GNU General Public License. This exception does not however invalidate
1728+ any other reasons why the executable file might be covered by the GNU
1729+ General Public License. */
1730+
1731+/* This is a Linux specific implementation of a mutex synchronization
1732+ mechanism for libgomp. This type is private to the library. This
1733+ implementation uses atomic instructions and the futex syscall. */
1734+
1735+#ifndef GOMP_PTRLOCK_H
1736+#define GOMP_PTRLOCK_H 1
1737+
1738+typedef struct { void *ptr; gomp_mutex_t lock; } gomp_ptrlock_t;
1739+
1740+static inline void gomp_ptrlock_init (gomp_ptrlock_t *ptrlock, void *ptr)
1741+{
1742+ ptrlock->ptr = ptr;
1743+ gomp_mutex_init (&ptrlock->lock);
1744+}
1745+
1746+static inline void *gomp_ptrlock_get (gomp_ptrlock_t *ptrlock)
1747+{
1748+ if (ptrlock->ptr != NULL)
1749+ return ptrlock->ptr;
1750+
1751+ gomp_mutex_lock (&ptrlock->lock);
1752+ if (ptrlock->ptr != NULL)
1753+ {
1754+ gomp_mutex_unlock (&ptrlock->lock);
1755+ return ptrlock->ptr;
1756+ }
1757+
1758+ return NULL;
1759+}
1760+
1761+static inline void gomp_ptrlock_set (gomp_ptrlock_t *ptrlock, void *ptr)
1762+{
1763+ ptrlock->ptr = ptr;
1764+ gomp_mutex_unlock (&ptrlock->lock);
1765+}
1766+
1767+static inline void gomp_ptrlock_destroy (gomp_ptrlock_t *ptrlock)
1768+{
1769+ gomp_mutex_destroy (&ptrlock->lock);
1770+}
1771+
1772+#endif /* GOMP_PTRLOCK_H */
1773--- libgomp/config/posix/ptrlock.c.jj 2008-03-26 15:11:32.000000000 +0100
1774+++ libgomp/config/posix/ptrlock.c 2008-03-26 15:11:32.000000000 +0100
1775@@ -0,0 +1 @@
1776+/* Everything is in the header. */
1777--- libgomp/config/posix/bar.c.jj 2007-12-07 14:41:01.000000000 +0100
1778+++ libgomp/config/posix/bar.c 2008-03-26 15:11:32.000000000 +0100
1779@@ -1,4 +1,4 @@
1780-/* Copyright (C) 2005 Free Software Foundation, Inc.
1781+/* Copyright (C) 2005, 2008 Free Software Foundation, Inc.
1782 Contributed by Richard Henderson <rth@redhat.com>.
1783
1784 This file is part of the GNU OpenMP Library (libgomp).
1785@@ -70,7 +70,7 @@ gomp_barrier_reinit (gomp_barrier_t *bar
1786 }
1787
1788 void
1789-gomp_barrier_wait_end (gomp_barrier_t *bar, bool last)
1790+gomp_barrier_wait_end (gomp_barrier_t *bar, gomp_barrier_state_t last)
1791 {
1792 unsigned int n;
1793
1794--- libgomp/config/linux/alpha/futex.h.jj 2007-12-07 14:41:00.000000000 +0100
1795+++ libgomp/config/linux/alpha/futex.h 2008-03-26 15:11:32.000000000 +0100
1796@@ -1,4 +1,4 @@
1797-/* Copyright (C) 2005 Free Software Foundation, Inc.
1798+/* Copyright (C) 2005, 2008 Free Software Foundation, Inc.
1799 Contributed by Richard Henderson <rth@redhat.com>.
1800
1801 This file is part of the GNU OpenMP Library (libgomp).
1802@@ -30,8 +30,6 @@
1803 #ifndef SYS_futex
1804 #define SYS_futex 394
1805 #endif
1806-#define FUTEX_WAIT 0
1807-#define FUTEX_WAKE 1
1808
1809
1810 static inline void
1811@@ -45,7 +43,7 @@ futex_wait (int *addr, int val)
1812
1813 sc_0 = SYS_futex;
1814 sc_16 = (long) addr;
1815- sc_17 = FUTEX_WAIT;
1816+ sc_17 = gomp_futex_wait;
1817 sc_18 = val;
1818 sc_19 = 0;
1819 __asm volatile ("callsys"
1820@@ -53,6 +51,20 @@ futex_wait (int *addr, int val)
1821 : "0"(sc_0), "r" (sc_16), "r"(sc_17), "r"(sc_18), "1"(sc_19)
1822 : "$1", "$2", "$3", "$4", "$5", "$6", "$7", "$8",
1823 "$22", "$23", "$24", "$25", "$27", "$28", "memory");
1824+ if (__builtin_expect (sc_19, 0) && sc_0 == ENOSYS)
1825+ {
1826+ gomp_futex_wait &= ~FUTEX_PRIVATE_FLAG;
1827+ gomp_futex_wake &= ~FUTEX_PRIVATE_FLAG;
1828+ sc_0 = SYS_futex;
1829+ sc_17 &= ~FUTEX_PRIVATE_FLAG;
1830+ sc_19 = 0;
1831+ __asm volatile ("callsys"
1832+ : "=r" (sc_0), "=r"(sc_19)
1833+ : "0"(sc_0), "r" (sc_16), "r"(sc_17), "r"(sc_18),
1834+ "1"(sc_19)
1835+ : "$1", "$2", "$3", "$4", "$5", "$6", "$7", "$8",
1836+ "$22", "$23", "$24", "$25", "$27", "$28", "memory");
1837+ }
1838 }
1839
1840 static inline void
1841@@ -66,11 +78,35 @@ futex_wake (int *addr, int count)
1842
1843 sc_0 = SYS_futex;
1844 sc_16 = (long) addr;
1845- sc_17 = FUTEX_WAKE;
1846+ sc_17 = gomp_futex_wake;
1847 sc_18 = count;
1848 __asm volatile ("callsys"
1849 : "=r" (sc_0), "=r"(sc_19)
1850 : "0"(sc_0), "r" (sc_16), "r"(sc_17), "r"(sc_18)
1851 : "$1", "$2", "$3", "$4", "$5", "$6", "$7", "$8",
1852 "$22", "$23", "$24", "$25", "$27", "$28", "memory");
1853+ if (__builtin_expect (sc_19, 0) && sc_0 == ENOSYS)
1854+ {
1855+ gomp_futex_wait &= ~FUTEX_PRIVATE_FLAG;
1856+ gomp_futex_wake &= ~FUTEX_PRIVATE_FLAG;
1857+ sc_0 = SYS_futex;
1858+ sc_17 &= ~FUTEX_PRIVATE_FLAG;
1859+ __asm volatile ("callsys"
1860+ : "=r" (sc_0), "=r"(sc_19)
1861+ : "0"(sc_0), "r" (sc_16), "r"(sc_17), "r"(sc_18)
1862+ : "$1", "$2", "$3", "$4", "$5", "$6", "$7", "$8",
1863+ "$22", "$23", "$24", "$25", "$27", "$28", "memory");
1864+ }
1865+}
1866+
1867+static inline void
1868+cpu_relax (void)
1869+{
1870+ __asm volatile ("" : : : "memory");
1871+}
1872+
1873+static inline void
1874+atomic_write_barrier (void)
1875+{
1876+ __asm volatile ("wmb" : : : "memory");
1877 }
1878--- libgomp/config/linux/affinity.c.jj 2007-12-07 14:41:00.000000000 +0100
1879+++ libgomp/config/linux/affinity.c 2008-03-26 15:11:32.000000000 +0100
1880@@ -1,4 +1,4 @@
1881-/* Copyright (C) 2006, 2007 Free Software Foundation, Inc.
1882+/* Copyright (C) 2006, 2007, 2008 Free Software Foundation, Inc.
1883 Contributed by Jakub Jelinek <jakub@redhat.com>.
1884
1885 This file is part of the GNU OpenMP Library (libgomp).
1886@@ -38,9 +38,6 @@
1887 #ifdef HAVE_PTHREAD_AFFINITY_NP
1888
1889 static unsigned int affinity_counter;
1890-#ifndef HAVE_SYNC_BUILTINS
1891-static gomp_mutex_t affinity_lock;
1892-#endif
1893
1894 void
1895 gomp_init_affinity (void)
1896@@ -76,9 +73,6 @@ gomp_init_affinity (void)
1897 CPU_SET (gomp_cpu_affinity[0], &cpuset);
1898 pthread_setaffinity_np (pthread_self (), sizeof (cpuset), &cpuset);
1899 affinity_counter = 1;
1900-#ifndef HAVE_SYNC_BUILTINS
1901- gomp_mutex_init (&affinity_lock);
1902-#endif
1903 }
1904
1905 void
1906@@ -87,13 +81,7 @@ gomp_init_thread_affinity (pthread_attr_
1907 unsigned int cpu;
1908 cpu_set_t cpuset;
1909
1910-#ifdef HAVE_SYNC_BUILTINS
1911 cpu = __sync_fetch_and_add (&affinity_counter, 1);
1912-#else
1913- gomp_mutex_lock (&affinity_lock);
1914- cpu = affinity_counter++;
1915- gomp_mutex_unlock (&affinity_lock);
1916-#endif
1917 cpu %= gomp_cpu_affinity_len;
1918 CPU_ZERO (&cpuset);
1919 CPU_SET (gomp_cpu_affinity[cpu], &cpuset);
1920--- libgomp/config/linux/bar.h.jj 2007-12-07 14:41:00.000000000 +0100
1921+++ libgomp/config/linux/bar.h 2008-03-26 15:11:32.000000000 +0100
1922@@ -1,4 +1,4 @@
1923-/* Copyright (C) 2005 Free Software Foundation, Inc.
1924+/* Copyright (C) 2005, 2008 Free Software Foundation, Inc.
1925 Contributed by Richard Henderson <rth@redhat.com>.
1926
1927 This file is part of the GNU OpenMP Library (libgomp).
1928@@ -36,40 +36,49 @@
1929
1930 typedef struct
1931 {
1932- gomp_mutex_t mutex;
1933- unsigned total;
1934- unsigned arrived;
1935- int generation;
1936+ /* Make sure total/generation is in a mostly read cacheline, while
1937+ awaited in a separate cacheline. */
1938+ unsigned total __attribute__((aligned (64)));
1939+ unsigned generation;
1940+ unsigned awaited __attribute__((aligned (64)));
1941 } gomp_barrier_t;
1942+typedef unsigned int gomp_barrier_state_t;
1943
1944 static inline void gomp_barrier_init (gomp_barrier_t *bar, unsigned count)
1945 {
1946- gomp_mutex_init (&bar->mutex);
1947 bar->total = count;
1948- bar->arrived = 0;
1949+ bar->awaited = count;
1950 bar->generation = 0;
1951 }
1952
1953 static inline void gomp_barrier_reinit (gomp_barrier_t *bar, unsigned count)
1954 {
1955- gomp_mutex_lock (&bar->mutex);
1956+ __sync_fetch_and_add (&bar->awaited, count - bar->total);
1957 bar->total = count;
1958- gomp_mutex_unlock (&bar->mutex);
1959 }
1960
1961 static inline void gomp_barrier_destroy (gomp_barrier_t *bar)
1962 {
1963- /* Before destroying, make sure all threads have left the barrier. */
1964- gomp_mutex_lock (&bar->mutex);
1965 }
1966
1967 extern void gomp_barrier_wait (gomp_barrier_t *);
1968-extern void gomp_barrier_wait_end (gomp_barrier_t *, bool);
1969+extern void gomp_barrier_wait_last (gomp_barrier_t *);
1970+extern void gomp_barrier_wait_end (gomp_barrier_t *, gomp_barrier_state_t);
1971
1972-static inline bool gomp_barrier_wait_start (gomp_barrier_t *bar)
1973+static inline gomp_barrier_state_t
1974+gomp_barrier_wait_start (gomp_barrier_t *bar)
1975 {
1976- gomp_mutex_lock (&bar->mutex);
1977- return ++bar->arrived == bar->total;
1978+ unsigned int ret = bar->generation;
1979+ /* Do we need any barrier here or is __sync_add_and_fetch acting
1980+ as the needed LoadLoad barrier already? */
1981+ ret += __sync_add_and_fetch (&bar->awaited, -1) == 0;
1982+ return ret;
1983+}
1984+
1985+static inline bool
1986+gomp_barrier_last_thread (gomp_barrier_state_t state)
1987+{
1988+ return state & 1;
1989 }
1990
1991 #endif /* GOMP_BARRIER_H */
1992--- libgomp/config/linux/ptrlock.h.jj 2008-03-26 15:11:32.000000000 +0100
1993+++ libgomp/config/linux/ptrlock.h 2008-03-26 15:11:32.000000000 +0100
1994@@ -0,0 +1,65 @@
1995+/* Copyright (C) 2008 Free Software Foundation, Inc.
1996+ Contributed by Jakub Jelinek <jakub@redhat.com>.
1997+
1998+ This file is part of the GNU OpenMP Library (libgomp).
1999+
2000+ Libgomp is free software; you can redistribute it and/or modify it
2001+ under the terms of the GNU Lesser General Public License as published by
2002+ the Free Software Foundation; either version 2.1 of the License, or
2003+ (at your option) any later version.
2004+
2005+ Libgomp is distributed in the hope that it will be useful, but WITHOUT ANY
2006+ WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
2007+ FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for
2008+ more details.
2009+
2010+ You should have received a copy of the GNU Lesser General Public License
2011+ along with libgomp; see the file COPYING.LIB. If not, write to the
2012+ Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
2013+ MA 02110-1301, USA. */
2014+
2015+/* As a special exception, if you link this library with other files, some
2016+ of which are compiled with GCC, to produce an executable, this library
2017+ does not by itself cause the resulting executable to be covered by the
2018+ GNU General Public License. This exception does not however invalidate
2019+ any other reasons why the executable file might be covered by the GNU
2020+ General Public License. */
2021+
2022+/* This is a Linux specific implementation of a mutex synchronization
2023+ mechanism for libgomp. This type is private to the library. This
2024+ implementation uses atomic instructions and the futex syscall. */
2025+
2026+#ifndef GOMP_PTRLOCK_H
2027+#define GOMP_PTRLOCK_H 1
2028+
2029+typedef void *gomp_ptrlock_t;
2030+
2031+static inline void gomp_ptrlock_init (gomp_ptrlock_t *ptrlock, void *ptr)
2032+{
2033+ *ptrlock = ptr;
2034+}
2035+
2036+extern void *gomp_ptrlock_get_slow (gomp_ptrlock_t *ptrlock);
2037+static inline void *gomp_ptrlock_get (gomp_ptrlock_t *ptrlock)
2038+{
2039+ if ((uintptr_t) *ptrlock > 2)
2040+ return *ptrlock;
2041+
2042+ if (__sync_bool_compare_and_swap (ptrlock, NULL, (uintptr_t) 1))
2043+ return NULL;
2044+
2045+ return gomp_ptrlock_get_slow (ptrlock);
2046+}
2047+
2048+extern void gomp_ptrlock_set_slow (gomp_ptrlock_t *ptrlock, void *ptr);
2049+static inline void gomp_ptrlock_set (gomp_ptrlock_t *ptrlock, void *ptr)
2050+{
2051+ if (!__sync_bool_compare_and_swap (ptrlock, (uintptr_t) 1, ptr))
2052+ gomp_ptrlock_set_slow (ptrlock, ptr);
2053+}
2054+
2055+static inline void gomp_ptrlock_destroy (gomp_ptrlock_t *ptrlock)
2056+{
2057+}
2058+
2059+#endif /* GOMP_PTRLOCK_H */
2060--- libgomp/config/linux/lock.c.jj 2007-12-07 14:41:00.000000000 +0100
2061+++ libgomp/config/linux/lock.c 2008-03-26 15:11:32.000000000 +0100
2062@@ -29,11 +29,10 @@
2063 primitives. This implementation uses atomic instructions and the futex
2064 syscall. */
2065
2066-#include "libgomp.h"
2067 #include <string.h>
2068 #include <unistd.h>
2069 #include <sys/syscall.h>
2070-#include "futex.h"
2071+#include "wait.h"
2072
2073
2074 /* The internal gomp_mutex_t and the external non-recursive omp_lock_t
2075@@ -137,7 +136,7 @@ omp_set_nest_lock (omp_nest_lock_t *lock
2076 return;
2077 }
2078
2079- futex_wait (&lock->owner, otid);
2080+ do_wait (&lock->owner, otid);
2081 }
2082 }
2083
2084--- libgomp/config/linux/ptrlock.c.jj 2008-03-26 15:11:32.000000000 +0100
2085+++ libgomp/config/linux/ptrlock.c 2008-03-26 15:11:32.000000000 +0100
2086@@ -0,0 +1,70 @@
2087+/* Copyright (C) 2008 Free Software Foundation, Inc.
2088+ Contributed by Jakub Jelinek <jakub@redhat.com>.
2089+
2090+ This file is part of the GNU OpenMP Library (libgomp).
2091+
2092+ Libgomp is free software; you can redistribute it and/or modify it
2093+ under the terms of the GNU Lesser General Public License as published by
2094+ the Free Software Foundation; either version 2.1 of the License, or
2095+ (at your option) any later version.
2096+
2097+ Libgomp is distributed in the hope that it will be useful, but WITHOUT ANY
2098+ WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
2099+ FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for
2100+ more details.
2101+
2102+ You should have received a copy of the GNU Lesser General Public License
2103+ along with libgomp; see the file COPYING.LIB. If not, write to the
2104+ Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
2105+ MA 02110-1301, USA. */
2106+
2107+/* As a special exception, if you link this library with other files, some
2108+ of which are compiled with GCC, to produce an executable, this library
2109+ does not by itself cause the resulting executable to be covered by the
2110+ GNU General Public License. This exception does not however invalidate
2111+ any other reasons why the executable file might be covered by the GNU
2112+ General Public License. */
2113+
2114+/* This is a Linux specific implementation of a mutex synchronization
2115+ mechanism for libgomp. This type is private to the library. This
2116+ implementation uses atomic instructions and the futex syscall. */
2117+
2118+#include <endian.h>
2119+#include <limits.h>
2120+#include "wait.h"
2121+
2122+void *
2123+gomp_ptrlock_get_slow (gomp_ptrlock_t *ptrlock)
2124+{
2125+ int *intptr;
2126+ __sync_bool_compare_and_swap (ptrlock, 1, 2);
2127+
2128+ /* futex works on ints, not pointers.
2129+ But a valid work share pointer will be at least
2130+ 8 byte aligned, so it is safe to assume the low
2131+ 32-bits of the pointer won't contain values 1 or 2. */
2132+ __asm volatile ("" : "=r" (intptr) : "0" (ptrlock));
2133+#if __BYTE_ORDER == __BIG_ENDIAN
2134+ if (sizeof (*ptrlock) > sizeof (int))
2135+ intptr += (sizeof (*ptrlock) / sizeof (int)) - 1;
2136+#endif
2137+ do
2138+ do_wait (intptr, 2);
2139+ while (*intptr == 2);
2140+ __asm volatile ("" : : : "memory");
2141+ return *ptrlock;
2142+}
2143+
2144+void
2145+gomp_ptrlock_set_slow (gomp_ptrlock_t *ptrlock, void *ptr)
2146+{
2147+ int *intptr;
2148+
2149+ *ptrlock = ptr;
2150+ __asm volatile ("" : "=r" (intptr) : "0" (ptrlock));
2151+#if __BYTE_ORDER == __BIG_ENDIAN
2152+ if (sizeof (*ptrlock) > sizeof (int))
2153+ intptr += (sizeof (*ptrlock) / sizeof (int)) - 1;
2154+#endif
2155+ futex_wake (intptr, INT_MAX);
2156+}
2157--- libgomp/config/linux/x86/futex.h.jj 2007-12-07 14:41:00.000000000 +0100
2158+++ libgomp/config/linux/x86/futex.h 2008-03-26 15:11:32.000000000 +0100
2159@@ -1,4 +1,4 @@
2160-/* Copyright (C) 2005 Free Software Foundation, Inc.
2161+/* Copyright (C) 2005, 2008 Free Software Foundation, Inc.
2162 Contributed by Richard Henderson <rth@redhat.com>.
2163
2164 This file is part of the GNU OpenMP Library (libgomp).
2165@@ -27,9 +27,6 @@
2166
2167 /* Provide target-specific access to the futex system call. */
2168
2169-#define FUTEX_WAIT 0
2170-#define FUTEX_WAKE 1
2171-
2172 #ifdef __LP64__
2173 # ifndef SYS_futex
2174 # define SYS_futex 202
2175@@ -38,14 +35,26 @@
2176 static inline void
2177 futex_wait (int *addr, int val)
2178 {
2179- register long r10 __asm__("%r10") = 0;
2180+ register long r10 __asm__("%r10");
2181 long res;
2182
2183+ r10 = 0;
2184 __asm volatile ("syscall"
2185 : "=a" (res)
2186- : "0"(SYS_futex), "D" (addr), "S"(FUTEX_WAIT),
2187- "d"(val), "r"(r10)
2188+ : "0" (SYS_futex), "D" (addr), "S" (gomp_futex_wait),
2189+ "d" (val), "r" (r10)
2190 : "r11", "rcx", "memory");
2191+ if (__builtin_expect (res == -ENOSYS, 0))
2192+ {
2193+ gomp_futex_wait &= ~FUTEX_PRIVATE_FLAG;
2194+ gomp_futex_wake &= ~FUTEX_PRIVATE_FLAG;
2195+ r10 = 0;
2196+ __asm volatile ("syscall"
2197+ : "=a" (res)
2198+ : "0" (SYS_futex), "D" (addr), "S" (gomp_futex_wait),
2199+ "d" (val), "r" (r10)
2200+ : "r11", "rcx", "memory");
2201+ }
2202 }
2203
2204 static inline void
2205@@ -55,8 +64,19 @@ futex_wake (int *addr, int count)
2206
2207 __asm volatile ("syscall"
2208 : "=a" (res)
2209- : "0"(SYS_futex), "D" (addr), "S"(FUTEX_WAKE), "d"(count)
2210+ : "0" (SYS_futex), "D" (addr), "S" (gomp_futex_wake),
2211+ "d" (count)
2212 : "r11", "rcx", "memory");
2213+ if (__builtin_expect (res == -ENOSYS, 0))
2214+ {
2215+ gomp_futex_wait &= ~FUTEX_PRIVATE_FLAG;
2216+ gomp_futex_wake &= ~FUTEX_PRIVATE_FLAG;
2217+ __asm volatile ("syscall"
2218+ : "=a" (res)
2219+ : "0" (SYS_futex), "D" (addr), "S" (gomp_futex_wake),
2220+ "d" (count)
2221+ : "r11", "rcx", "memory");
2222+ }
2223 }
2224 #else
2225 # ifndef SYS_futex
2226@@ -65,7 +85,7 @@ futex_wake (int *addr, int count)
2227
2228 # ifdef __PIC__
2229
2230-static inline void
2231+static inline long
2232 sys_futex0 (int *addr, int op, int val)
2233 {
2234 long res;
2235@@ -77,11 +97,12 @@ sys_futex0 (int *addr, int op, int val)
2236 : "0"(SYS_futex), "r" (addr), "c"(op),
2237 "d"(val), "S"(0)
2238 : "memory");
2239+ return res;
2240 }
2241
2242 # else
2243
2244-static inline void
2245+static inline long
2246 sys_futex0 (int *addr, int op, int val)
2247 {
2248 long res;
2249@@ -91,6 +112,7 @@ sys_futex0 (int *addr, int op, int val)
2250 : "0"(SYS_futex), "b" (addr), "c"(op),
2251 "d"(val), "S"(0)
2252 : "memory");
2253+ return res;
2254 }
2255
2256 # endif /* __PIC__ */
2257@@ -98,13 +120,37 @@ sys_futex0 (int *addr, int op, int val)
2258 static inline void
2259 futex_wait (int *addr, int val)
2260 {
2261- sys_futex0 (addr, FUTEX_WAIT, val);
2262+ long res = sys_futex0 (addr, gomp_futex_wait, val);
2263+ if (__builtin_expect (res == -ENOSYS, 0))
2264+ {
2265+ gomp_futex_wait &= ~FUTEX_PRIVATE_FLAG;
2266+ gomp_futex_wake &= ~FUTEX_PRIVATE_FLAG;
2267+ sys_futex0 (addr, gomp_futex_wait, val);
2268+ }
2269 }
2270
2271 static inline void
2272 futex_wake (int *addr, int count)
2273 {
2274- sys_futex0 (addr, FUTEX_WAKE, count);
2275+ long res = sys_futex0 (addr, gomp_futex_wake, count);
2276+ if (__builtin_expect (res == -ENOSYS, 0))
2277+ {
2278+ gomp_futex_wait &= ~FUTEX_PRIVATE_FLAG;
2279+ gomp_futex_wake &= ~FUTEX_PRIVATE_FLAG;
2280+ sys_futex0 (addr, gomp_futex_wake, count);
2281+ }
2282 }
2283
2284 #endif /* __LP64__ */
2285+
2286+static inline void
2287+cpu_relax (void)
2288+{
2289+ __asm volatile ("rep; nop" : : : "memory");
2290+}
2291+
2292+static inline void
2293+atomic_write_barrier (void)
2294+{
2295+ __sync_synchronize ();
2296+}
2297--- libgomp/config/linux/wait.h.jj 2008-03-26 15:11:32.000000000 +0100
2298+++ libgomp/config/linux/wait.h 2008-03-26 15:11:32.000000000 +0100
2299@@ -0,0 +1,68 @@
2300+/* Copyright (C) 2008 Free Software Foundation, Inc.
2301+ Contributed by Jakub Jelinek <jakub@redhat.com>.
2302+
2303+ This file is part of the GNU OpenMP Library (libgomp).
2304+
2305+ Libgomp is free software; you can redistribute it and/or modify it
2306+ under the terms of the GNU Lesser General Public License as published by
2307+ the Free Software Foundation; either version 2.1 of the License, or
2308+ (at your option) any later version.
2309+
2310+ Libgomp is distributed in the hope that it will be useful, but WITHOUT ANY
2311+ WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
2312+ FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for
2313+ more details.
2314+
2315+ You should have received a copy of the GNU Lesser General Public License
2316+ along with libgomp; see the file COPYING.LIB. If not, write to the
2317+ Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
2318+ MA 02110-1301, USA. */
2319+
2320+/* As a special exception, if you link this library with other files, some
2321+ of which are compiled with GCC, to produce an executable, this library
2322+ does not by itself cause the resulting executable to be covered by the
2323+ GNU General Public License. This exception does not however invalidate
2324+ any other reasons why the executable file might be covered by the GNU
2325+ General Public License. */
2326+
2327+/* This is a Linux specific implementation of a mutex synchronization
2328+ mechanism for libgomp. This type is private to the library. This
2329+ implementation uses atomic instructions and the futex syscall. */
2330+
2331+#ifndef GOMP_WAIT_H
2332+#define GOMP_WAIT_H 1
2333+
2334+#include "libgomp.h"
2335+#include <errno.h>
2336+
2337+#define FUTEX_WAIT 0
2338+#define FUTEX_WAKE 1
2339+#define FUTEX_PRIVATE_FLAG 128L
2340+
2341+#ifdef HAVE_ATTRIBUTE_VISIBILITY
2342+# pragma GCC visibility push(hidden)
2343+#endif
2344+
2345+extern long int gomp_futex_wait, gomp_futex_wake;
2346+
2347+#include "futex.h"
2348+
2349+static inline void do_wait (int *addr, int val)
2350+{
2351+ unsigned long long i, count = gomp_spin_count_var;
2352+
2353+ if (__builtin_expect (gomp_managed_threads > gomp_available_cpus, 0))
2354+ count = gomp_throttled_spin_count_var;
2355+ for (i = 0; i < count; i++)
2356+ if (__builtin_expect (*addr != val, 0))
2357+ return;
2358+ else
2359+ cpu_relax ();
2360+ futex_wait (addr, val);
2361+}
2362+
2363+#ifdef HAVE_ATTRIBUTE_VISIBILITY
2364+# pragma GCC visibility pop
2365+#endif
2366+
2367+#endif /* GOMP_WAIT_H */
2368--- libgomp/config/linux/sparc/futex.h.jj 2007-12-07 14:41:00.000000000 +0100
2369+++ libgomp/config/linux/sparc/futex.h 2008-03-26 15:11:32.000000000 +0100
2370@@ -1,4 +1,4 @@
2371-/* Copyright (C) 2005 Free Software Foundation, Inc.
2372+/* Copyright (C) 2005, 2008 Free Software Foundation, Inc.
2373 Contributed by Jakub Jelinek <jakub@redhat.com>.
2374
2375 This file is part of the GNU OpenMP Library (libgomp).
2376@@ -28,10 +28,8 @@
2377 /* Provide target-specific access to the futex system call. */
2378
2379 #include <sys/syscall.h>
2380-#define FUTEX_WAIT 0
2381-#define FUTEX_WAKE 1
2382
2383-static inline void
2384+static inline long
2385 sys_futex0 (int *addr, int op, int val)
2386 {
2387 register long int g1 __asm__ ("g1");
2388@@ -47,9 +45,9 @@ sys_futex0 (int *addr, int op, int val)
2389 o3 = 0;
2390
2391 #ifdef __arch64__
2392-# define SYSCALL_STRING "ta\t0x6d"
2393+# define SYSCALL_STRING "ta\t0x6d; bcs,a,pt %%xcc, 1f; sub %%g0, %%o0, %%o0; 1:"
2394 #else
2395-# define SYSCALL_STRING "ta\t0x10"
2396+# define SYSCALL_STRING "ta\t0x10; bcs,a 1f; sub %%g0, %%o0, %%o0; 1:"
2397 #endif
2398
2399 __asm volatile (SYSCALL_STRING
2400@@ -65,16 +63,49 @@ sys_futex0 (int *addr, int op, int val)
2401 "f48", "f50", "f52", "f54", "f56", "f58", "f60", "f62",
2402 #endif
2403 "cc", "memory");
2404+ return o0;
2405 }
2406
2407 static inline void
2408 futex_wait (int *addr, int val)
2409 {
2410- sys_futex0 (addr, FUTEX_WAIT, val);
2411+ long err = sys_futex0 (addr, gomp_futex_wait, val);
2412+ if (__builtin_expect (err == ENOSYS, 0))
2413+ {
2414+ gomp_futex_wait &= ~FUTEX_PRIVATE_FLAG;
2415+ gomp_futex_wake &= ~FUTEX_PRIVATE_FLAG;
2416+ sys_futex0 (addr, gomp_futex_wait, val);
2417+ }
2418 }
2419
2420 static inline void
2421 futex_wake (int *addr, int count)
2422 {
2423- sys_futex0 (addr, FUTEX_WAKE, count);
2424+ long err = sys_futex0 (addr, gomp_futex_wake, count);
2425+ if (__builtin_expect (err == ENOSYS, 0))
2426+ {
2427+ gomp_futex_wait &= ~FUTEX_PRIVATE_FLAG;
2428+ gomp_futex_wake &= ~FUTEX_PRIVATE_FLAG;
2429+ sys_futex0 (addr, gomp_futex_wake, count);
2430+ }
2431+}
2432+
2433+static inline void
2434+cpu_relax (void)
2435+{
2436+#if defined __arch64__ || defined __sparc_v9__
2437+ __asm volatile ("membar #LoadLoad" : : : "memory");
2438+#else
2439+ __asm volatile ("" : : : "memory");
2440+#endif
2441+}
2442+
2443+static inline void
2444+atomic_write_barrier (void)
2445+{
2446+#if defined __arch64__ || defined __sparc_v9__
2447+ __asm volatile ("membar #StoreStore" : : : "memory");
2448+#else
2449+ __sync_synchronize ();
2450+#endif
2451 }
2452--- libgomp/config/linux/ia64/futex.h.jj 2007-12-07 14:41:00.000000000 +0100
2453+++ libgomp/config/linux/ia64/futex.h 2008-03-26 15:11:32.000000000 +0100
2454@@ -1,4 +1,4 @@
2455-/* Copyright (C) 2005 Free Software Foundation, Inc.
2456+/* Copyright (C) 2005, 2008 Free Software Foundation, Inc.
2457 Contributed by Richard Henderson <rth@redhat.com>.
2458
2459 This file is part of the GNU OpenMP Library (libgomp).
2460@@ -29,23 +29,24 @@
2461
2462 #include <sys/syscall.h>
2463
2464-#define FUTEX_WAIT 0
2465-#define FUTEX_WAKE 1
2466
2467
2468-static inline void
2469-sys_futex0(int *addr, int op, int val)
2470+static inline long
2471+sys_futex0(int *addr, long op, int val)
2472 {
2473 register long out0 asm ("out0") = (long) addr;
2474 register long out1 asm ("out1") = op;
2475 register long out2 asm ("out2") = val;
2476 register long out3 asm ("out3") = 0;
2477+ register long r8 asm ("r8");
2478+ register long r10 asm ("r10");
2479 register long r15 asm ("r15") = SYS_futex;
2480
2481 __asm __volatile ("break 0x100000"
2482- : "=r"(r15), "=r"(out0), "=r"(out1), "=r"(out2), "=r"(out3)
2483+ : "=r"(r15), "=r"(out0), "=r"(out1), "=r"(out2), "=r"(out3),
2484+ "=r"(r8), "=r"(r10)
2485 : "r"(r15), "r"(out0), "r"(out1), "r"(out2), "r"(out3)
2486- : "memory", "r8", "r10", "out4", "out5", "out6", "out7",
2487+ : "memory", "out4", "out5", "out6", "out7",
2488 /* Non-stacked integer registers, minus r8, r10, r15. */
2489 "r2", "r3", "r9", "r11", "r12", "r13", "r14", "r16", "r17", "r18",
2490 "r19", "r20", "r21", "r22", "r23", "r24", "r25", "r26", "r27",
2491@@ -56,16 +57,41 @@ sys_futex0(int *addr, int op, int val)
2492 "f6", "f7", "f8", "f9", "f10", "f11", "f12", "f13", "f14", "f15",
2493 /* Branch registers. */
2494 "b6");
2495+ return r8 & r10;
2496 }
2497
2498 static inline void
2499 futex_wait (int *addr, int val)
2500 {
2501- sys_futex0 (addr, FUTEX_WAIT, val);
2502+ long err = sys_futex0 (addr, gomp_futex_wait, val);
2503+ if (__builtin_expect (err == ENOSYS, 0))
2504+ {
2505+ gomp_futex_wait &= ~FUTEX_PRIVATE_FLAG;
2506+ gomp_futex_wake &= ~FUTEX_PRIVATE_FLAG;
2507+ sys_futex0 (addr, gomp_futex_wait, val);
2508+ }
2509 }
2510
2511 static inline void
2512 futex_wake (int *addr, int count)
2513 {
2514- sys_futex0 (addr, FUTEX_WAKE, count);
2515+ long err = sys_futex0 (addr, gomp_futex_wake, count);
2516+ if (__builtin_expect (err == ENOSYS, 0))
2517+ {
2518+ gomp_futex_wait &= ~FUTEX_PRIVATE_FLAG;
2519+ gomp_futex_wake &= ~FUTEX_PRIVATE_FLAG;
2520+ sys_futex0 (addr, gomp_futex_wake, count);
2521+ }
2522+}
2523+
2524+static inline void
2525+cpu_relax (void)
2526+{
2527+ __asm volatile ("hint @pause" : : : "memory");
2528+}
2529+
2530+static inline void
2531+atomic_write_barrier (void)
2532+{
2533+ __sync_synchronize ();
2534 }
2535--- libgomp/config/linux/s390/futex.h.jj 2007-12-07 14:41:00.000000000 +0100
2536+++ libgomp/config/linux/s390/futex.h 2008-03-26 15:11:32.000000000 +0100
2537@@ -1,4 +1,4 @@
2538-/* Copyright (C) 2005 Free Software Foundation, Inc.
2539+/* Copyright (C) 2005, 2008 Free Software Foundation, Inc.
2540 Contributed by Jakub Jelinek <jakub@redhat.com>.
2541
2542 This file is part of the GNU OpenMP Library (libgomp).
2543@@ -28,10 +28,8 @@
2544 /* Provide target-specific access to the futex system call. */
2545
2546 #include <sys/syscall.h>
2547-#define FUTEX_WAIT 0
2548-#define FUTEX_WAKE 1
2549
2550-static inline void
2551+static inline long
2552 sys_futex0 (int *addr, int op, int val)
2553 {
2554 register long int gpr2 __asm__ ("2");
2555@@ -49,16 +47,41 @@ sys_futex0 (int *addr, int op, int val)
2556 : "i" (SYS_futex),
2557 "0" (gpr2), "d" (gpr3), "d" (gpr4), "d" (gpr5)
2558 : "memory");
2559+ return gpr2;
2560 }
2561
2562 static inline void
2563 futex_wait (int *addr, int val)
2564 {
2565- sys_futex0 (addr, FUTEX_WAIT, val);
2566+ long err = sys_futex0 (addr, gomp_futex_wait, val);
2567+ if (__builtin_expect (err == -ENOSYS, 0))
2568+ {
2569+ gomp_futex_wait &= ~FUTEX_PRIVATE_FLAG;
2570+ gomp_futex_wake &= ~FUTEX_PRIVATE_FLAG;
2571+ sys_futex0 (addr, gomp_futex_wait, val);
2572+ }
2573 }
2574
2575 static inline void
2576 futex_wake (int *addr, int count)
2577 {
2578- sys_futex0 (addr, FUTEX_WAKE, count);
2579+ long err = sys_futex0 (addr, gomp_futex_wake, count);
2580+ if (__builtin_expect (err == -ENOSYS, 0))
2581+ {
2582+ gomp_futex_wait &= ~FUTEX_PRIVATE_FLAG;
2583+ gomp_futex_wake &= ~FUTEX_PRIVATE_FLAG;
2584+ sys_futex0 (addr, gomp_futex_wake, count);
2585+ }
2586+}
2587+
2588+static inline void
2589+cpu_relax (void)
2590+{
2591+ __asm volatile ("" : : : "memory");
2592+}
2593+
2594+static inline void
2595+atomic_write_barrier (void)
2596+{
2597+ __sync_synchronize ();
2598 }
2599--- libgomp/config/linux/mutex.c.jj 2007-12-07 14:41:00.000000000 +0100
2600+++ libgomp/config/linux/mutex.c 2008-03-26 15:11:32.000000000 +0100
2601@@ -1,4 +1,4 @@
2602-/* Copyright (C) 2005 Free Software Foundation, Inc.
2603+/* Copyright (C) 2005, 2008 Free Software Foundation, Inc.
2604 Contributed by Richard Henderson <rth@redhat.com>.
2605
2606 This file is part of the GNU OpenMP Library (libgomp).
2607@@ -29,9 +29,10 @@
2608 mechanism for libgomp. This type is private to the library. This
2609 implementation uses atomic instructions and the futex syscall. */
2610
2611-#include "libgomp.h"
2612-#include "futex.h"
2613+#include "wait.h"
2614
2615+long int gomp_futex_wake = FUTEX_WAKE | FUTEX_PRIVATE_FLAG;
2616+long int gomp_futex_wait = FUTEX_WAIT | FUTEX_PRIVATE_FLAG;
2617
2618 void
2619 gomp_mutex_lock_slow (gomp_mutex_t *mutex)
2620@@ -40,7 +41,7 @@ gomp_mutex_lock_slow (gomp_mutex_t *mute
2621 {
2622 int oldval = __sync_val_compare_and_swap (mutex, 1, 2);
2623 if (oldval != 0)
2624- futex_wait (mutex, 2);
2625+ do_wait (mutex, 2);
2626 }
2627 while (!__sync_bool_compare_and_swap (mutex, 0, 2));
2628 }
2629--- libgomp/config/linux/sem.c.jj 2007-12-07 14:41:00.000000000 +0100
2630+++ libgomp/config/linux/sem.c 2008-03-26 15:11:32.000000000 +0100
2631@@ -1,4 +1,4 @@
2632-/* Copyright (C) 2005 Free Software Foundation, Inc.
2633+/* Copyright (C) 2005, 2008 Free Software Foundation, Inc.
2634 Contributed by Richard Henderson <rth@redhat.com>.
2635
2636 This file is part of the GNU OpenMP Library (libgomp).
2637@@ -29,8 +29,7 @@
2638 mechanism for libgomp. This type is private to the library. This
2639 implementation uses atomic instructions and the futex syscall. */
2640
2641-#include "libgomp.h"
2642-#include "futex.h"
2643+#include "wait.h"
2644
2645
2646 void
2647@@ -44,7 +43,7 @@ gomp_sem_wait_slow (gomp_sem_t *sem)
2648 if (__sync_bool_compare_and_swap (sem, val, val - 1))
2649 return;
2650 }
2651- futex_wait (sem, -1);
2652+ do_wait (sem, -1);
2653 }
2654 }
2655
2656--- libgomp/config/linux/powerpc/futex.h.jj 2007-12-07 14:41:00.000000000 +0100
2657+++ libgomp/config/linux/powerpc/futex.h 2008-03-26 15:11:32.000000000 +0100
2658@@ -1,4 +1,4 @@
2659-/* Copyright (C) 2005 Free Software Foundation, Inc.
2660+/* Copyright (C) 2005, 2008 Free Software Foundation, Inc.
2661 Contributed by Richard Henderson <rth@redhat.com>.
2662
2663 This file is part of the GNU OpenMP Library (libgomp).
2664@@ -28,10 +28,8 @@
2665 /* Provide target-specific access to the futex system call. */
2666
2667 #include <sys/syscall.h>
2668-#define FUTEX_WAIT 0
2669-#define FUTEX_WAKE 1
2670
2671-static inline void
2672+static inline long
2673 sys_futex0 (int *addr, int op, int val)
2674 {
2675 register long int r0 __asm__ ("r0");
2676@@ -50,21 +48,48 @@ sys_futex0 (int *addr, int op, int val)
2677 doesn't. It doesn't much matter for us. In the interest of unity,
2678 go ahead and clobber it always. */
2679
2680- __asm volatile ("sc"
2681+ __asm volatile ("sc; mfcr %0"
2682 : "=r"(r0), "=r"(r3), "=r"(r4), "=r"(r5), "=r"(r6)
2683 : "r"(r0), "r"(r3), "r"(r4), "r"(r5), "r"(r6)
2684 : "r7", "r8", "r9", "r10", "r11", "r12",
2685 "cr0", "ctr", "memory");
2686+ if (__builtin_expect (r0 & (1 << 28), 0))
2687+ return r3;
2688+ return 0;
2689 }
2690
2691 static inline void
2692 futex_wait (int *addr, int val)
2693 {
2694- sys_futex0 (addr, FUTEX_WAIT, val);
2695+ long err = sys_futex0 (addr, gomp_futex_wait, val);
2696+ if (__builtin_expect (err == ENOSYS, 0))
2697+ {
2698+ gomp_futex_wait &= ~FUTEX_PRIVATE_FLAG;
2699+ gomp_futex_wake &= ~FUTEX_PRIVATE_FLAG;
2700+ sys_futex0 (addr, gomp_futex_wait, val);
2701+ }
2702 }
2703
2704 static inline void
2705 futex_wake (int *addr, int count)
2706 {
2707- sys_futex0 (addr, FUTEX_WAKE, count);
2708+ long err = sys_futex0 (addr, gomp_futex_wake, count);
2709+ if (__builtin_expect (err == ENOSYS, 0))
2710+ {
2711+ gomp_futex_wait &= ~FUTEX_PRIVATE_FLAG;
2712+ gomp_futex_wake &= ~FUTEX_PRIVATE_FLAG;
2713+ sys_futex0 (addr, gomp_futex_wake, count);
2714+ }
2715+}
2716+
2717+static inline void
2718+cpu_relax (void)
2719+{
2720+ __asm volatile ("" : : : "memory");
2721+}
2722+
2723+static inline void
2724+atomic_write_barrier (void)
2725+{
2726+ __asm volatile ("eieio" : : : "memory");
2727 }
2728--- libgomp/config/linux/bar.c.jj 2007-12-07 14:41:00.000000000 +0100
2729+++ libgomp/config/linux/bar.c 2008-03-26 15:11:32.000000000 +0100
2730@@ -1,4 +1,4 @@
2731-/* Copyright (C) 2005 Free Software Foundation, Inc.
2732+/* Copyright (C) 2005, 2008 Free Software Foundation, Inc.
2733 Contributed by Richard Henderson <rth@redhat.com>.
2734
2735 This file is part of the GNU OpenMP Library (libgomp).
2736@@ -29,32 +29,29 @@
2737 mechanism for libgomp. This type is private to the library. This
2738 implementation uses atomic instructions and the futex syscall. */
2739
2740-#include "libgomp.h"
2741-#include "futex.h"
2742 #include <limits.h>
2743+#include "wait.h"
2744
2745
2746 void
2747-gomp_barrier_wait_end (gomp_barrier_t *bar, bool last)
2748+gomp_barrier_wait_end (gomp_barrier_t *bar, gomp_barrier_state_t state)
2749 {
2750- if (last)
2751+ if (__builtin_expect ((state & 1) != 0, 0))
2752 {
2753- bar->generation++;
2754- futex_wake (&bar->generation, INT_MAX);
2755+ /* Next time we'll be awaiting TOTAL threads again. */
2756+ bar->awaited = bar->total;
2757+ atomic_write_barrier ();
2758+ bar->generation += 2;
2759+ futex_wake ((int *) &bar->generation, INT_MAX);
2760 }
2761 else
2762 {
2763- unsigned int generation = bar->generation;
2764-
2765- gomp_mutex_unlock (&bar->mutex);
2766+ unsigned int generation = state;
2767
2768 do
2769- futex_wait (&bar->generation, generation);
2770+ do_wait ((int *) &bar->generation, generation);
2771 while (bar->generation == generation);
2772 }
2773-
2774- if (__sync_add_and_fetch (&bar->arrived, -1) == 0)
2775- gomp_mutex_unlock (&bar->mutex);
2776 }
2777
2778 void
2779@@ -62,3 +59,18 @@ gomp_barrier_wait (gomp_barrier_t *barri
2780 {
2781 gomp_barrier_wait_end (barrier, gomp_barrier_wait_start (barrier));
2782 }
2783+
2784+/* Like gomp_barrier_wait, except that if the encountering thread
2785+ is not the last one to hit the barrier, it returns immediately.
2786+ The intended usage is that a thread which intends to gomp_barrier_destroy
2787+ this barrier calls gomp_barrier_wait, while all other threads
2788+ call gomp_barrier_wait_last. When gomp_barrier_wait returns,
2789+ the barrier can be safely destroyed. */
2790+
2791+void
2792+gomp_barrier_wait_last (gomp_barrier_t *barrier)
2793+{
2794+ gomp_barrier_state_t state = gomp_barrier_wait_start (barrier);
2795+ if (state & 1)
2796+ gomp_barrier_wait_end (barrier, state);
2797+}
diff --git a/recipes-devtools/gcc/gcc-4.5/fedora/gcc43-ppc32-retaddr.patch b/recipes-devtools/gcc/gcc-4.5/fedora/gcc43-ppc32-retaddr.patch
new file mode 100644
index 0000000000..3de4158eb0
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/fedora/gcc43-ppc32-retaddr.patch
@@ -0,0 +1,90 @@
12005-11-28 Jakub Jelinek <jakub@redhat.com>
2
3 * config/rs6000/rs6000.c (rs6000_return_addr): If COUNT == 0,
4 read word RETURN_ADDRESS_OFFSET bytes above arg_pointer_rtx
5 instead of doing an extran indirection from frame_pointer_rtx.
6
7 * gcc.dg/20051128-1.c: New test.
8
9Index: gcc/config/rs6000/rs6000.c
10===================================================================
11--- gcc/config/rs6000/rs6000.c.orig 2010-03-27 03:27:39.000000000 -0700
12+++ gcc/config/rs6000/rs6000.c 2010-06-25 10:18:04.053381930 -0700
13@@ -17646,17 +17646,22 @@
14 don't try to be too clever here. */
15 if (count != 0 || (DEFAULT_ABI != ABI_AIX && flag_pic))
16 {
17+ rtx x;
18 cfun->machine->ra_needs_full_frame = 1;
19
20- return
21- gen_rtx_MEM
22- (Pmode,
23- memory_address
24- (Pmode,
25- plus_constant (copy_to_reg
26- (gen_rtx_MEM (Pmode,
27- memory_address (Pmode, frame))),
28- RETURN_ADDRESS_OFFSET)));
29+ if (count == 0)
30+ {
31+ gcc_assert (frame == frame_pointer_rtx);
32+ x = arg_pointer_rtx;
33+ }
34+ else
35+ {
36+ x = memory_address (Pmode, frame);
37+ x = copy_to_reg (gen_rtx_MEM (Pmode, x));
38+ }
39+
40+ x = plus_constant (x, RETURN_ADDRESS_OFFSET);
41+ return gen_rtx_MEM (Pmode, memory_address (Pmode, x));
42 }
43
44 cfun->machine->ra_need_lr = 1;
45Index: gcc/testsuite/gcc.dg/20051128-1.c
46===================================================================
47--- /dev/null 1970-01-01 00:00:00.000000000 +0000
48+++ gcc/testsuite/gcc.dg/20051128-1.c 2010-06-25 10:18:04.061382856 -0700
49@@ -0,0 +1,41 @@
50+/* { dg-do run } */
51+/* { dg-options "-O2 -fpic" } */
52+
53+extern void exit (int);
54+extern void abort (void);
55+
56+int b;
57+
58+struct A
59+{
60+ void *pad[147];
61+ void *ra, *h;
62+ long o;
63+};
64+
65+void
66+__attribute__((noinline))
67+foo (struct A *a, void *x)
68+{
69+ __builtin_memset (a, 0, sizeof (a));
70+ if (!b)
71+ exit (0);
72+}
73+
74+void
75+__attribute__((noinline))
76+bar (void)
77+{
78+ struct A a;
79+
80+ __builtin_unwind_init ();
81+ foo (&a, __builtin_return_address (0));
82+}
83+
84+int
85+main (void)
86+{
87+ bar ();
88+ abort ();
89+ return 0;
90+}
diff --git a/recipes-devtools/gcc/gcc-4.5/fedora/gcc43-pr27898.patch b/recipes-devtools/gcc/gcc-4.5/fedora/gcc43-pr27898.patch
new file mode 100644
index 0000000000..172bb81171
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/fedora/gcc43-pr27898.patch
@@ -0,0 +1,16 @@
12006-08-18 Jakub Jelinek <jakub@redhat.com>
2
3 PR c/27898
4 * gcc.dg/pr27898.c: New test.
5
6--- gcc/testsuite/gcc.dg/pr27898.c.jj 2006-08-18 09:19:33.000000000 +0200
7+++ gcc/testsuite/gcc.dg/pr27898.c 2006-08-18 09:19:27.000000000 +0200
8@@ -0,0 +1,8 @@
9+/* PR c/27898 */
10+/* { dg-do compile } */
11+/* { dg-options "--combine" } */
12+/* { dg-additional-sources "pr27898.c" } */
13+
14+union u { struct { int i; }; };
15+
16+extern int foo (union u *);
diff --git a/recipes-devtools/gcc/gcc-4.5/fedora/gcc43-pr32139.patch b/recipes-devtools/gcc/gcc-4.5/fedora/gcc43-pr32139.patch
new file mode 100644
index 0000000000..f35696703d
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/fedora/gcc43-pr32139.patch
@@ -0,0 +1,19 @@
12007-06-01 Jakub Jelinek <jakub@redhat.com>
2
3 PR tree-optimization/32139
4 * gcc.c-torture/compile/20070531-1.c: New test.
5
6--- gcc/testsuite/gcc.c-torture/compile/20070531-1.c.jj 2007-05-31 13:47:22.000000000 +0200
7+++ gcc/testsuite/gcc.c-torture/compile/20070531-1.c 2007-06-01 10:57:15.000000000 +0200
8@@ -0,0 +1,11 @@
9+/* PR tree-optimization/32139 */
10+int foo (void);
11+int bar (void) __attribute__ ((const));
12+
13+int
14+test (int x)
15+{
16+ int a = (x == 10000 ? foo : bar) ();
17+ int b = (x == 10000 ? foo : bar) ();
18+ return a + b;
19+}
diff --git a/recipes-devtools/gcc/gcc-4.5/fedora/gcc43-pr33763.patch b/recipes-devtools/gcc/gcc-4.5/fedora/gcc43-pr33763.patch
new file mode 100644
index 0000000000..68c30650ff
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/fedora/gcc43-pr33763.patch
@@ -0,0 +1,159 @@
12007-11-06 Jakub Jelinek <jakub@redhat.com>
2
3 PR tree-optimization/33763
4 * gcc.dg/pr33763.c: New test.
5 * g++.dg/opt/inline13.C: New test.
6
72007-11-06 Jan Hubicka <jh@suse.cz>
8
9 PR tree-optimization/33763
10 * tree-inline.c (expand_call_inline): Silently ignore always_inline
11 attribute for redefined extern inline functions.
12
13Index: gcc/tree-inline.c
14===================================================================
15--- gcc/tree-inline.c.orig 2010-03-18 13:07:13.000000000 -0700
16+++ gcc/tree-inline.c 2010-06-25 10:18:51.230139825 -0700
17@@ -3545,6 +3545,12 @@
18 goto egress;
19
20 if (lookup_attribute ("always_inline", DECL_ATTRIBUTES (fn))
21+ /* For extern inline functions that get redefined we always
22+ silently ignored alway_inline flag. Better behaviour would
23+ be to be able to keep both bodies and use extern inline body
24+ for inlining, but we can't do that because frontends overwrite
25+ the body. */
26+ && !cg_edge->callee->local.redefined_extern_inline
27 /* Avoid warnings during early inline pass. */
28 && cgraph_global_info_ready)
29 {
30Index: gcc/testsuite/gcc.dg/pr33763.c
31===================================================================
32--- /dev/null 1970-01-01 00:00:00.000000000 +0000
33+++ gcc/testsuite/gcc.dg/pr33763.c 2010-06-25 10:18:51.234141302 -0700
34@@ -0,0 +1,60 @@
35+/* PR tree-optimization/33763 */
36+/* { dg-do compile } */
37+/* { dg-options "-O2" } */
38+
39+typedef struct
40+{
41+ void *a;
42+ void *b;
43+} T;
44+extern void *foo (const char *, const char *);
45+extern void *bar (void *, const char *, T);
46+extern int baz (const char *, int);
47+
48+extern inline __attribute__ ((always_inline, gnu_inline)) int
49+baz (const char *x, int y)
50+{
51+ return 2;
52+}
53+
54+int
55+baz (const char *x, int y)
56+{
57+ return 1;
58+}
59+
60+int xa, xb;
61+
62+static void *
63+inl (const char *x, const char *y)
64+{
65+ T t = { &xa, &xb };
66+ int *f = (int *) __builtin_malloc (sizeof (int));
67+ const char *z;
68+ int o = 0;
69+ void *r = 0;
70+
71+ for (z = y; *z; z++)
72+ {
73+ if (*z == 'r')
74+ o |= 1;
75+ if (*z == 'w')
76+ o |= 2;
77+ }
78+ if (o == 1)
79+ *f = baz (x, 0);
80+ if (o == 2)
81+ *f = baz (x, 1);
82+ if (o == 3)
83+ *f = baz (x, 2);
84+
85+ if (o && *f > 0)
86+ r = bar (f, "w", t);
87+ return r;
88+}
89+
90+void *
91+foo (const char *x, const char *y)
92+{
93+ return inl (x, y);
94+}
95Index: gcc/testsuite/g++.dg/opt/inline13.C
96===================================================================
97--- /dev/null 1970-01-01 00:00:00.000000000 +0000
98+++ gcc/testsuite/g++.dg/opt/inline13.C 2010-06-25 10:18:51.261052137 -0700
99@@ -0,0 +1,60 @@
100+// PR tree-optimization/33763
101+// { dg-do compile }
102+// { dg-options "-O2" }
103+
104+typedef struct
105+{
106+ void *a;
107+ void *b;
108+} T;
109+extern void *foo (const char *, const char *);
110+extern void *bar (void *, const char *, T);
111+extern int baz (const char *, int);
112+
113+extern inline __attribute__ ((always_inline, gnu_inline)) int
114+baz (const char *x, int y)
115+{
116+ return 2;
117+}
118+
119+int
120+baz (const char *x, int y)
121+{
122+ return 1;
123+}
124+
125+int xa, xb;
126+
127+static void *
128+inl (const char *x, const char *y)
129+{
130+ T t = { &xa, &xb };
131+ int *f = (int *) __builtin_malloc (sizeof (int));
132+ const char *z;
133+ int o = 0;
134+ void *r = 0;
135+
136+ for (z = y; *z; z++)
137+ {
138+ if (*z == 'r')
139+ o |= 1;
140+ if (*z == 'w')
141+ o |= 2;
142+ }
143+ if (o == 1)
144+ *f = baz (x, 0);
145+ if (o == 2)
146+ *f = baz (x, 1);
147+ if (o == 3)
148+ *f = baz (x, 2);
149+
150+ if (o && *f > 0)
151+ r = bar (f, "w", t);
152+ return r;
153+}
154+
155+void *
156+foo (const char *x, const char *y)
157+{
158+ return inl (x, y);
159+}
diff --git a/recipes-devtools/gcc/gcc-4.5/fedora/gcc43-rh251682.patch b/recipes-devtools/gcc/gcc-4.5/fedora/gcc43-rh251682.patch
new file mode 100644
index 0000000000..e96ae6f134
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/fedora/gcc43-rh251682.patch
@@ -0,0 +1,89 @@
12008-04-01 Jakub Jelinek <jakub@redhat.com>
2
3 PR pch/13675
4 * files.c (struct _cpp_file): Remove pch field.
5 (pch_open_file): Don't set file->pch, just file->pchname.
6 (should_stack_file): After pfile->cb.read_pch call
7 free pchname and clear pchname, don't close file->fd.
8 Test file->pchname instead of file->pch. Don't close fd after cb.
9 (_cpp_stack_include): Test file->pchname instead of file->pch.
10
11 * c-pch.c (c_common_read_pch): On error close (fd) resp. fclose (f).
12
13--- libcpp/files.c.jj 2008-02-18 23:50:17.000000000 +0100
14+++ libcpp/files.c 2008-03-31 15:59:01.000000000 +0200
15@@ -106,9 +106,6 @@ struct _cpp_file
16
17 /* If BUFFER above contains the true contents of the file. */
18 bool buffer_valid;
19-
20- /* File is a PCH (on return from find_include_file). */
21- bool pch;
22 };
23
24 /* A singly-linked list for all searches for a given file name, with
25@@ -322,9 +319,7 @@ pch_open_file (cpp_reader *pfile, _cpp_f
26 }
27 closedir (pchdir);
28 }
29- if (valid)
30- file->pch = true;
31- else
32+ if (!valid)
33 *invalid_pch = true;
34 }
35
36@@ -703,11 +698,12 @@ should_stack_file (cpp_reader *pfile, _c
37 return false;
38
39 /* Handle PCH files immediately; don't stack them. */
40- if (file->pch)
41+ if (file->pchname)
42 {
43 pfile->cb.read_pch (pfile, file->pchname, file->fd, file->path);
44- close (file->fd);
45 file->fd = -1;
46+ free ((void *) file->pchname);
47+ file->pchname = NULL;
48 return false;
49 }
50
51@@ -916,7 +912,7 @@ _cpp_stack_include (cpp_reader *pfile, c
52 complicates LAST_SOURCE_LINE_LOCATION. This does not apply if we
53 found a PCH file (in which case linemap_add is not called) or we
54 were included from the command-line. */
55- if (! file->pch && file->err_no == 0 && type != IT_CMDLINE)
56+ if (file->pchname == NULL && file->err_no == 0 && type != IT_CMDLINE)
57 pfile->line_table->highest_location--;
58
59 return _cpp_stack_file (pfile, file, type == IT_IMPORT);
60--- gcc/c-pch.c.jj 2008-02-18 23:46:08.000000000 +0100
61+++ gcc/c-pch.c 2008-03-31 15:56:00.000000000 +0200
62@@ -372,6 +372,7 @@ c_common_read_pch (cpp_reader *pfile, co
63 if (f == NULL)
64 {
65 cpp_errno (pfile, CPP_DL_ERROR, "calling fdopen");
66+ close (fd);
67 return;
68 }
69
70@@ -380,6 +381,7 @@ c_common_read_pch (cpp_reader *pfile, co
71 if (fread (&h, sizeof (h), 1, f) != 1)
72 {
73 cpp_errno (pfile, CPP_DL_ERROR, "reading");
74+ fclose (f);
75 return;
76 }
77
78@@ -425,7 +427,10 @@ c_common_read_pch (cpp_reader *pfile, co
79 gt_pch_restore (f);
80
81 if (cpp_read_state (pfile, name, f, smd) != 0)
82- return;
83+ {
84+ fclose (f);
85+ return;
86+ }
87
88 fclose (f);
89
diff --git a/recipes-devtools/gcc/gcc-4.5/fedora/gcc43-rh330771.patch b/recipes-devtools/gcc/gcc-4.5/fedora/gcc43-rh330771.patch
new file mode 100644
index 0000000000..4888ac47dd
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/fedora/gcc43-rh330771.patch
@@ -0,0 +1,31 @@
12007-10-16 Jakub Jelinek <jakub@redhat.com>
2
3 * Makefile.am (libgcj_tools_la_LIBADD): Add.
4 * Makefile.in: Regenerated.
5
6Index: libjava/Makefile.am
7===================================================================
8--- libjava/Makefile.am.orig 2010-03-21 12:41:37.000000000 -0700
9+++ libjava/Makefile.am 2010-06-25 10:22:11.394130458 -0700
10@@ -507,6 +507,8 @@
11 libgcj_tools_la_GCJFLAGS = $(AM_GCJFLAGS) -findirect-dispatch \
12 -fno-bootstrap-classes -fno-indirect-classes \
13 -fsource-filename=$(here)/classpath/tools/all-classes.lst
14+## See jv_convert_LDADD.
15+libgcj_tools_la_LIBADD = -L$(here)/.libs libgcj.la
16 libgcj_tools_la_LDFLAGS = -rpath $(toolexeclibdir) \
17 -version-info `grep -v '^\#' $(srcdir)/libtool-version` \
18 $(LIBGCJ_LD_SYMBOLIC_FUNCTIONS) $(LIBJAVA_LDFLAGS_NOUNDEF)
19Index: libjava/Makefile.in
20===================================================================
21--- libjava/Makefile.in.orig 2010-04-02 11:18:06.000000000 -0700
22+++ libjava/Makefile.in 2010-06-25 10:27:41.841708512 -0700
23@@ -1190,7 +1190,7 @@
24 -version-info `grep -v '^\#' $(srcdir)/libtool-version` \
25 $(LIBGCJ_LD_SYMBOLIC_FUNCTIONS) $(LIBJAVA_LDFLAGS_NOUNDEF)
26
27-libgcj_tools_la_LIBADD = libgcj.la -lm
28+libgcj_tools_la_LIBADD = -L$(here)/.libs libgcj.la -lm
29 libgcj_tools_la_DEPENDENCIES = libgcj.la libgcj.spec $(am__append_22)
30 libgcj_tools_la_LINK = $(LIBLINK) $(libgcj_tools_la_LDFLAGS)
31 libjvm_la_SOURCES = jni-libjvm.cc
diff --git a/recipes-devtools/gcc/gcc-4.5/fedora/gcc43-rh341221.patch b/recipes-devtools/gcc/gcc-4.5/fedora/gcc43-rh341221.patch
new file mode 100644
index 0000000000..7e2801b99b
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/fedora/gcc43-rh341221.patch
@@ -0,0 +1,32 @@
12007-10-21 Jakub Jelinek <jakub@redhat.com>
2
3 * doc/Makefile.am (POD2MAN): Set date from cp-tools.texinfo
4 timestamp rather than from current date.
5 * doc/Makefile.in: Regenerated.
6
7Index: libjava/classpath/doc/Makefile.am
8===================================================================
9--- libjava/classpath/doc/Makefile.am.orig 2008-10-21 10:55:01.000000000 -0700
10+++ libjava/classpath/doc/Makefile.am 2010-06-25 10:28:30.237631599 -0700
11@@ -31,7 +31,7 @@
12 gtnameserv.1 \
13 gjdoc.1
14
15-POD2MAN = pod2man --center="GNU" --release="$(VERSION)"
16+POD2MAN = pod2man --center="GNU" --release="$(VERSION)" --date="$(shell ls --time-style=+%F -l $(srcdir)/cp-tools.texinfo | awk '{print $$6}')"
17 TEXI2POD = perl $(srcdir)/texi2pod.pl
18 STAMP = echo timestamp >
19
20Index: libjava/classpath/doc/Makefile.in
21===================================================================
22--- libjava/classpath/doc/Makefile.in.orig 2010-04-02 11:18:06.000000000 -0700
23+++ libjava/classpath/doc/Makefile.in 2010-06-25 10:28:30.245635728 -0700
24@@ -376,7 +376,7 @@
25 gtnameserv.1 \
26 gjdoc.1
27
28-POD2MAN = pod2man --center="GNU" --release="$(VERSION)"
29+POD2MAN = pod2man --center="GNU" --release="$(VERSION)" --date="$(shell ls --time-style=+%F -l $(srcdir)/cp-tools.texinfo | awk '{print $$6}')"
30 TEXI2POD = perl $(srcdir)/texi2pod.pl
31 STAMP = echo timestamp >
32 @GENINSRC_FALSE@STAMP_GENINSRC =
diff --git a/recipes-devtools/gcc/gcc-4.5/fortran-cross-compile-hack.patch b/recipes-devtools/gcc/gcc-4.5/fortran-cross-compile-hack.patch
new file mode 100644
index 0000000000..348c77006f
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/fortran-cross-compile-hack.patch
@@ -0,0 +1,30 @@
1* Fortran would have searched for arm-angstrom-gnueabi-gfortran but would have used
2 used gfortan. For gcc_4.2.2.bb we want to use the gfortran compiler from our cross
3 directory.
4
5Index: gcc-4.5+svnr155514/libgfortran/configure
6===================================================================
7--- gcc-4.5+svnr155514.orig/libgfortran/configure 2009-12-29 22:02:01.000000000 -0800
8+++ gcc-4.5+svnr155514/libgfortran/configure 2009-12-30 08:12:40.889091657 -0800
9@@ -11655,7 +11655,7 @@ CC="$lt_save_CC"
10
11 # We need gfortran to compile parts of the library
12 #AC_PROG_FC(gfortran)
13-FC="$GFORTRAN"
14+#FC="$GFORTRAN"
15 ac_ext=${ac_fc_srcext-f}
16 ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5'
17 ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5'
18Index: gcc-4.5+svnr155514/libgfortran/configure.ac
19===================================================================
20--- gcc-4.5+svnr155514.orig/libgfortran/configure.ac 2009-12-29 22:02:01.000000000 -0800
21+++ gcc-4.5+svnr155514/libgfortran/configure.ac 2009-12-30 08:12:13.453094218 -0800
22@@ -187,7 +187,7 @@ AC_SUBST(enable_static)
23
24 # We need gfortran to compile parts of the library
25 #AC_PROG_FC(gfortran)
26-FC="$GFORTRAN"
27+#FC="$GFORTRAN"
28 AC_PROG_FC(gfortran)
29
30 # extra LD Flags which are required for targets
diff --git a/recipes-devtools/gcc/gcc-4.5/gcc-4.0.2-e300c2c3.patch b/recipes-devtools/gcc/gcc-4.5/gcc-4.0.2-e300c2c3.patch
new file mode 100644
index 0000000000..d1df8b2716
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/gcc-4.0.2-e300c2c3.patch
@@ -0,0 +1,319 @@
1Adds support for Freescale Power architecture e300c2 and e300c3 cores.
2http://www.bitshrine.org/gpp/tc-fsl-x86lnx-e300c3-nptl-4.0.2-2.src.rpm
3
4Leon Woestenberg <leonw@mailcan.com>
5
6---
7 gcc/config.gcc | 2
8 gcc/config/rs6000/e300c2c3.md | 189 ++++++++++++++++++++++++++++++++++++++++++
9 gcc/config/rs6000/rs6000.c | 24 +++++
10 gcc/config/rs6000/rs6000.h | 4
11 gcc/config/rs6000/rs6000.md | 3
12 5 files changed, 220 insertions(+), 2 deletions(-)
13
14Index: gcc-4.3.1/gcc/config/rs6000/e300c2c3.md
15===================================================================
16--- /dev/null 1970-01-01 00:00:00.000000000 +0000
17+++ gcc-4.3.1/gcc/config/rs6000/e300c2c3.md 2008-08-23 16:51:33.000000000 -0700
18@@ -0,0 +1,189 @@
19+;; Pipeline description for Motorola PowerPC e300c3 core.
20+;; Copyright (C) 2003 Free Software Foundation, Inc.
21+;;
22+;; This file is part of GCC.
23+
24+;; GCC is free software; you can redistribute it and/or modify it
25+;; under the terms of the GNU General Public License as published
26+;; by the Free Software Foundation; either version 2, or (at your
27+;; option) any later version.
28+
29+;; GCC is distributed in the hope that it will be useful, but WITHOUT
30+;; ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
31+;; or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
32+;; License for more details.
33+
34+;; You should have received a copy of the GNU General Public License
35+;; along with GCC; see the file COPYING. If not, write to the
36+;; Free Software Foundation, 59 Temple Place - Suite 330, Boston,
37+;; MA 02111-1307, USA.
38+
39+(define_automaton "ppce300c3_most,ppce300c3_long,ppce300c3_retire")
40+(define_cpu_unit "ppce300c3_decode_0,ppce300c3_decode_1" "ppce300c3_most")
41+
42+;; We don't simulate general issue queue (GIC). If we have SU insn
43+;; and then SU1 insn, they can not be issued on the same cycle
44+;; (although SU1 insn and then SU insn can be issued) because the SU
45+;; insn will go to SU1 from GIC0 entry. Fortunately, the first cycle
46+;; multipass insn scheduling will find the situation and issue the SU1
47+;; insn and then the SU insn.
48+(define_cpu_unit "ppce300c3_issue_0,ppce300c3_issue_1" "ppce300c3_most")
49+
50+;; We could describe completion buffers slots in combination with the
51+;; retirement units and the order of completion but the result
52+;; automaton would behave in the same way because we can not describe
53+;; real latency time with taking in order completion into account.
54+;; Actually we could define the real latency time by querying reserved
55+;; automaton units but the current scheduler uses latency time before
56+;; issuing insns and making any reservations.
57+;;
58+;; So our description is aimed to achieve a insn schedule in which the
59+;; insns would not wait in the completion buffer.
60+(define_cpu_unit "ppce300c3_retire_0,ppce300c3_retire_1" "ppce300c3_retire")
61+
62+;; Branch unit:
63+(define_cpu_unit "ppce300c3_bu" "ppce300c3_most")
64+
65+;; IU:
66+(define_cpu_unit "ppce300c3_iu0_stage0,ppce300c3_iu1_stage0" "ppce300c3_most")
67+
68+;; IU: This used to describe non-pipelined division.
69+(define_cpu_unit "ppce300c3_mu_div" "ppce300c3_long")
70+
71+;; SRU:
72+(define_cpu_unit "ppce300c3_sru_stage0" "ppce300c3_most")
73+
74+;; Here we simplified LSU unit description not describing the stages.
75+(define_cpu_unit "ppce300c3_lsu" "ppce300c3_most")
76+
77+;; FPU:
78+(define_cpu_unit "ppce300c3_fpu" "ppce300c3_most")
79+
80+;; The following units are used to make automata deterministic
81+(define_cpu_unit "present_ppce300c3_decode_0" "ppce300c3_most")
82+(define_cpu_unit "present_ppce300c3_issue_0" "ppce300c3_most")
83+(define_cpu_unit "present_ppce300c3_retire_0" "ppce300c3_retire")
84+(define_cpu_unit "present_ppce300c3_iu0_stage0" "ppce300c3_most")
85+
86+;; The following sets to make automata deterministic when option ndfa is used.
87+(presence_set "present_ppce300c3_decode_0" "ppce300c3_decode_0")
88+(presence_set "present_ppce300c3_issue_0" "ppce300c3_issue_0")
89+(presence_set "present_ppce300c3_retire_0" "ppce300c3_retire_0")
90+(presence_set "present_ppce300c3_iu0_stage0" "ppce300c3_iu0_stage0")
91+
92+;; Some useful abbreviations.
93+(define_reservation "ppce300c3_decode"
94+ "ppce300c3_decode_0|ppce300c3_decode_1+present_ppce300c3_decode_0")
95+(define_reservation "ppce300c3_issue"
96+ "ppce300c3_issue_0|ppce300c3_issue_1+present_ppce300c3_issue_0")
97+(define_reservation "ppce300c3_retire"
98+ "ppce300c3_retire_0|ppce300c3_retire_1+present_ppce300c3_retire_0")
99+(define_reservation "ppce300c3_iu_stage0"
100+ "ppce300c3_iu0_stage0|ppce300c3_iu1_stage0+present_ppce300c3_iu0_stage0")
101+
102+;; Compares can be executed either one of the IU or SRU
103+(define_insn_reservation "ppce300c3_cmp" 1
104+ (and (eq_attr "type" "cmp,compare,delayed_compare,fast_compare")
105+ (ior (eq_attr "cpu" "ppce300c2") (eq_attr "cpu" "ppce300c3")))
106+ "ppce300c3_decode,ppce300c3_issue+(ppce300c3_iu_stage0|ppce300c3_sru_stage0) \
107+ +ppce300c3_retire")
108+
109+;; Other one cycle IU insns
110+(define_insn_reservation "ppce300c3_iu" 1
111+ (and (eq_attr "type" "integer,insert_word")
112+ (ior (eq_attr "cpu" "ppce300c2") (eq_attr "cpu" "ppce300c3")))
113+ "ppce300c3_decode,ppce300c3_issue+ppce300c3_iu_stage0+ppce300c3_retire")
114+
115+;; Branch. Actually this latency time is not used by the scheduler.
116+(define_insn_reservation "ppce300c3_branch" 1
117+ (and (eq_attr "type" "jmpreg,branch")
118+ (ior (eq_attr "cpu" "ppce300c2") (eq_attr "cpu" "ppce300c3")))
119+ "ppce300c3_decode,ppce300c3_bu,ppce300c3_retire")
120+
121+;; Multiply is non-pipelined but can be executed in any IU
122+(define_insn_reservation "ppce300c3_multiply" 2
123+ (and (eq_attr "type" "imul,imul2,imul3,imul_compare")
124+ (ior (eq_attr "cpu" "ppce300c2") (eq_attr "cpu" "ppce300c3")))
125+ "ppce300c3_decode,ppce300c3_issue+ppce300c3_iu_stage0, \
126+ ppce300c3_iu_stage0+ppce300c3_retire")
127+
128+;; Divide. We use the average latency time here. We omit reserving a
129+;; retire unit because of the result automata will be huge.
130+(define_insn_reservation "ppce300c3_divide" 20
131+ (and (eq_attr "type" "idiv")
132+ (ior (eq_attr "cpu" "ppce300c2") (eq_attr "cpu" "ppce300c3")))
133+ "ppce300c3_decode,ppce300c3_issue+ppce300c3_iu_stage0+ppce300c3_mu_div,\
134+ ppce300c3_mu_div*19")
135+
136+;; CR logical
137+(define_insn_reservation "ppce300c3_cr_logical" 1
138+ (and (eq_attr "type" "cr_logical,delayed_cr")
139+ (ior (eq_attr "cpu" "ppce300c2") (eq_attr "cpu" "ppce300c3")))
140+ "ppce300c3_decode,ppce300c3_issue+ppce300c3_sru_stage0+ppce300c3_retire")
141+
142+;; Mfcr
143+(define_insn_reservation "ppce300c3_mfcr" 1
144+ (and (eq_attr "type" "mfcr")
145+ (ior (eq_attr "cpu" "ppce300c2") (eq_attr "cpu" "ppce300c3")))
146+ "ppce300c3_decode,ppce300c3_issue+ppce300c3_sru_stage0+ppce300c3_retire")
147+
148+;; Mtcrf
149+(define_insn_reservation "ppce300c3_mtcrf" 1
150+ (and (eq_attr "type" "mtcr")
151+ (ior (eq_attr "cpu" "ppce300c2") (eq_attr "cpu" "ppce300c3")))
152+ "ppce300c3_decode,ppce300c3_issue+ppce300c3_sru_stage0+ppce300c3_retire")
153+
154+;; Mtjmpr
155+(define_insn_reservation "ppce300c3_mtjmpr" 1
156+ (and (eq_attr "type" "mtjmpr,mfjmpr")
157+ (ior (eq_attr "cpu" "ppce300c2") (eq_attr "cpu" "ppce300c3")))
158+ "ppce300c3_decode,ppce300c3_issue+ppce300c3_sru_stage0+ppce300c3_retire")
159+
160+;; Float point instructions
161+(define_insn_reservation "ppce300c3_fpcompare" 3
162+ (and (eq_attr "type" "fpcompare")
163+ (eq_attr "cpu" "ppce300c3"))
164+ "ppce300c3_decode,ppce300c3_issue+ppce300c3_fpu,nothing,ppce300c3_retire")
165+
166+(define_insn_reservation "ppce300c3_fp" 3
167+ (and (eq_attr "type" "fp")
168+ (eq_attr "cpu" "ppce300c3"))
169+ "ppce300c3_decode,ppce300c3_issue+ppce300c3_fpu,nothing,ppce300c3_retire")
170+
171+(define_insn_reservation "ppce300c3_dmul" 4
172+ (and (eq_attr "type" "dmul")
173+ (eq_attr "cpu" "ppce300c3"))
174+ "ppce300c3_decode,ppce300c3_issue+ppce300c3_fpu,ppce300c3_fpu,nothing,ppce300c3_retire")
175+
176+; Divides are not pipelined
177+(define_insn_reservation "ppce300c3_sdiv" 18
178+ (and (eq_attr "type" "sdiv")
179+ (eq_attr "cpu" "ppce300c3"))
180+ "ppce300c3_decode,ppce300c3_issue+ppce300c3_fpu,ppce300c3_fpu*17")
181+
182+(define_insn_reservation "ppce300c3_ddiv" 33
183+ (and (eq_attr "type" "ddiv")
184+ (eq_attr "cpu" "ppce300c3"))
185+ "ppce300c3_decode,ppce300c3_issue+ppce300c3_fpu,ppce300c3_fpu*32")
186+
187+;; Loads
188+(define_insn_reservation "ppce300c3_load" 2
189+ (and (eq_attr "type" "load,load_ext,load_ext_u,load_ext_ux,load_ux,load_u")
190+ (ior (eq_attr "cpu" "ppce300c2") (eq_attr "cpu" "ppce300c3")))
191+ "ppce300c3_decode,ppce300c3_issue+ppce300c3_lsu,ppce300c3_retire")
192+
193+(define_insn_reservation "ppce300c3_fpload" 2
194+ (and (eq_attr "type" "fpload,fpload_ux,fpload_u")
195+ (eq_attr "cpu" "ppce300c3"))
196+ "ppce300c3_decode,ppce300c3_issue+ppce300c3_lsu,ppce300c3_retire")
197+
198+;; Stores.
199+(define_insn_reservation "ppce300c3_store" 2
200+ (and (eq_attr "type" "store,store_ux,store_u")
201+ (ior (eq_attr "cpu" "ppce300c2") (eq_attr "cpu" "ppce300c3")))
202+ "ppce300c3_decode,ppce300c3_issue+ppce300c3_lsu,ppce300c3_retire")
203+
204+(define_insn_reservation "ppce300c3_fpstore" 2
205+ (and (eq_attr "type" "fpstore,fpstore_ux,fpstore_u")
206+ (eq_attr "cpu" "ppce300c3"))
207+ "ppce300c3_decode,ppce300c3_issue+ppce300c3_lsu,ppce300c3_retire")
208Index: gcc-4.3.1/gcc/config/rs6000/rs6000.c
209===================================================================
210--- gcc-4.3.1.orig/gcc/config/rs6000/rs6000.c 2008-08-23 16:49:39.000000000 -0700
211+++ gcc-4.3.1/gcc/config/rs6000/rs6000.c 2008-08-23 16:54:25.000000000 -0700
212@@ -669,6 +669,21 @@ struct processor_costs ppc8540_cost = {
213 1, /* prefetch streams /*/
214 };
215
216+/* Instruction costs on E300C2 and E300C3 cores. */
217+static const
218+struct processor_costs ppce300c2c3_cost = {
219+ COSTS_N_INSNS (4), /* mulsi */
220+ COSTS_N_INSNS (4), /* mulsi_const */
221+ COSTS_N_INSNS (4), /* mulsi_const9 */
222+ COSTS_N_INSNS (4), /* muldi */
223+ COSTS_N_INSNS (19), /* divsi */
224+ COSTS_N_INSNS (19), /* divdi */
225+ COSTS_N_INSNS (3), /* fp */
226+ COSTS_N_INSNS (4), /* dmul */
227+ COSTS_N_INSNS (18), /* sdiv */
228+ COSTS_N_INSNS (33), /* ddiv */
229+};
230+
231 /* Instruction costs on POWER4 and POWER5 processors. */
232 static const
233 struct processor_costs power4_cost = {
234@@ -1420,6 +1435,8 @@ rs6000_override_options (const char *def
235 {"8540", PROCESSOR_PPC8540, POWERPC_BASE_MASK | MASK_STRICT_ALIGN},
236 /* 8548 has a dummy entry for now. */
237 {"8548", PROCESSOR_PPC8540, POWERPC_BASE_MASK | MASK_STRICT_ALIGN},
238+ {"e300c2", PROCESSOR_PPCE300C2, POWERPC_BASE_MASK | MASK_SOFT_FLOAT},
239+ {"e300c3", PROCESSOR_PPCE300C3, POWERPC_BASE_MASK},
240 {"860", PROCESSOR_MPCCORE, POWERPC_BASE_MASK | MASK_SOFT_FLOAT},
241 {"970", PROCESSOR_POWER4,
242 POWERPC_7400_MASK | MASK_PPC_GPOPT | MASK_MFCRF | MASK_POWERPC64},
243@@ -1845,6 +1862,11 @@ rs6000_override_options (const char *def
244 rs6000_cost = &ppc8540_cost;
245 break;
246
247+ case PROCESSOR_PPCE300C2:
248+ case PROCESSOR_PPCE300C3:
249+ rs6000_cost = &ppce300c2c3_cost;
250+ break;
251+
252 case PROCESSOR_POWER4:
253 case PROCESSOR_POWER5:
254 rs6000_cost = &power4_cost;
255@@ -18606,6 +18628,8 @@ rs6000_issue_rate (void)
256 case CPU_PPC7400:
257 case CPU_PPC8540:
258 case CPU_CELL:
259+ case CPU_PPCE300C2:
260+ case CPU_PPCE300C3:
261 return 2;
262 case CPU_RIOS2:
263 case CPU_PPC604:
264Index: gcc-4.3.1/gcc/config/rs6000/rs6000.h
265===================================================================
266--- gcc-4.3.1.orig/gcc/config/rs6000/rs6000.h 2008-01-26 09:18:35.000000000 -0800
267+++ gcc-4.3.1/gcc/config/rs6000/rs6000.h 2008-08-23 16:55:30.000000000 -0700
268@@ -117,6 +117,8 @@
269 %{mcpu=G5: -mpower4 -maltivec} \
270 %{mcpu=8540: -me500} \
271 %{mcpu=8548: -me500} \
272+%{mcpu=e300c2: -mppc} \
273+%{mcpu=e300c3: -mppc -mpmr} \
274 %{maltivec: -maltivec} \
275 -many"
276
277@@ -262,6 +264,8 @@ enum processor_type
278 PROCESSOR_PPC7400,
279 PROCESSOR_PPC7450,
280 PROCESSOR_PPC8540,
281+ PROCESSOR_PPCE300C2,
282+ PROCESSOR_PPCE300C3,
283 PROCESSOR_POWER4,
284 PROCESSOR_POWER5,
285 PROCESSOR_POWER6,
286Index: gcc-4.3.1/gcc/config/rs6000/rs6000.md
287===================================================================
288--- gcc-4.3.1.orig/gcc/config/rs6000/rs6000.md 2008-02-13 16:14:45.000000000 -0800
289+++ gcc-4.3.1/gcc/config/rs6000/rs6000.md 2008-08-23 16:57:29.000000000 -0700
290@@ -133,7 +133,7 @@
291 ;; Processor type -- this attribute must exactly match the processor_type
292 ;; enumeration in rs6000.h.
293
294-(define_attr "cpu" "rios1,rios2,rs64a,mpccore,ppc403,ppc405,ppc440,ppc601,ppc603,ppc604,ppc604e,ppc620,ppc630,ppc750,ppc7400,ppc7450,ppc8540,power4,power5,power6,cell"
295+(define_attr "cpu" "rios1,rios2,rs64a,mpccore,ppc403,ppc405,ppc440,ppc601,ppc603,ppc604,ppc604e,ppc620,ppc630,ppc750,ppc7400,ppc7450,ppc8540,power4,power5,power6,cell,ppce300c2,ppce300c3"
296 (const (symbol_ref "rs6000_cpu_attr")))
297
298
299@@ -166,6 +166,7 @@
300 (include "7xx.md")
301 (include "7450.md")
302 (include "8540.md")
303+(include "e300c2c3.md")
304 (include "power4.md")
305 (include "power5.md")
306 (include "power6.md")
307Index: gcc-4.3.1/gcc/config.gcc
308===================================================================
309--- gcc-4.3.1.orig/gcc/config.gcc 2008-08-23 16:49:43.000000000 -0700
310+++ gcc-4.3.1/gcc/config.gcc 2008-08-23 17:03:55.000000000 -0700
311@@ -3144,7 +3144,7 @@ case "${target}" in
312 | rios | rios1 | rios2 | rsc | rsc1 | rs64a \
313 | 401 | 403 | 405 | 405fp | 440 | 440fp | 505 \
314 | 601 | 602 | 603 | 603e | ec603e | 604 \
315- | 604e | 620 | 630 | 740 | 750 | 7400 | 7450 \
316+ | 604e | 620 | 630 | 740 | 750 | 7400 | 7450 | e300c[23] \
317 | 854[08] | 801 | 821 | 823 | 860 | 970 | G3 | G4 | G5 | cell)
318 # OK
319 ;;
diff --git a/recipes-devtools/gcc/gcc-4.5/gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch b/recipes-devtools/gcc/gcc-4.5/gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch
new file mode 100644
index 0000000000..f33e6c1ea6
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch
@@ -0,0 +1,31 @@
1---
2 configure | 2 +-
3 configure.ac | 2 +-
4 2 files changed, 2 insertions(+), 2 deletions(-)
5
6Index: gcc-4.3.1/configure.ac
7===================================================================
8--- gcc-4.3.1.orig/configure.ac 2008-07-21 12:29:18.000000000 -0700
9+++ gcc-4.3.1/configure.ac 2008-07-21 12:29:35.000000000 -0700
10@@ -2352,7 +2352,7 @@ fi
11 # for target_alias and gcc doesn't manage it consistently.
12 target_configargs="--cache-file=./config.cache ${target_configargs}"
13
14-FLAGS_FOR_TARGET=
15+FLAGS_FOR_TARGET="$ARCH_FLAGS_FOR_TARGET"
16 case " $target_configdirs " in
17 *" newlib "*)
18 case " $target_configargs " in
19Index: gcc-4.3.1/configure
20===================================================================
21--- gcc-4.3.1.orig/configure 2008-07-21 12:29:48.000000000 -0700
22+++ gcc-4.3.1/configure 2008-07-21 12:29:59.000000000 -0700
23@@ -5841,7 +5841,7 @@ fi
24 # for target_alias and gcc doesn't manage it consistently.
25 target_configargs="--cache-file=./config.cache ${target_configargs}"
26
27-FLAGS_FOR_TARGET=
28+FLAGS_FOR_TARGET="$ARCH_FLAGS_FOR_TARGET"
29 case " $target_configdirs " in
30 *" newlib "*)
31 case " $target_configargs " in
diff --git a/recipes-devtools/gcc/gcc-4.5/gcc-4.3.3-SYSROOT_CFLAGS_FOR_TARGET.patch b/recipes-devtools/gcc/gcc-4.5/gcc-4.3.3-SYSROOT_CFLAGS_FOR_TARGET.patch
new file mode 100644
index 0000000000..af0b81ba4c
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/gcc-4.3.3-SYSROOT_CFLAGS_FOR_TARGET.patch
@@ -0,0 +1,114 @@
1Before committing, I noticed that PR/32161 was marked as a dup of PR/32009, but my previous patch did not fix it.
2
3This alternative patch is better because it lets you just use CFLAGS_FOR_TARGET to set the compilation flags for libgcc. Since bootstrapped target libraries are never compiled with the native compiler, it makes little sense to use different flags for stage1 and later stages. And it also makes little sense to use a different variable than CFLAGS_FOR_TARGET.
4
5Other changes I had to do include:
6
7- moving the creation of default CFLAGS_FOR_TARGET from Makefile.am to configure.ac, because otherwise the BOOT_CFLAGS are substituted into CFLAGS_FOR_TARGET (which is "-O2 -g $(CFLAGS)") via $(CFLAGS). It is also cleaner this way though.
8
9- passing the right CFLAGS to configure scripts as exported environment variables
10
11I also stopped passing LIBCFLAGS to configure scripts since they are unused in the whole src tree. And I updated the documentation as H-P reminded me to do.
12
13Bootstrapped/regtested i686-pc-linux-gnu, will commit to 4.4 shortly. Ok for 4.3?
14
15Paolo
16
172008-02-19 Paolo Bonzini <bonzini@gnu.org>
18
19 PR bootstrap/32009
20 PR bootstrap/32161
21
22 * configure.ac (CFLAGS_FOR_TARGET, CXXFLAGS_FOR_TARGET): Compute here.
23 * configure: Regenerate.
24
25 * Makefile.def: Define stage_libcflags for all bootstrap stages.
26 * Makefile.tpl (BOOT_LIBCFLAGS, STAGE2_LIBCFLAGS, STAGE3_LIBCFLAGS,
27 STAGE4_LIBCFLAGS): New.
28 (CFLAGS_FOR_TARGET, CXXFLAGS_FOR_TARGET): Subst from autoconf, without
29 $(SYSROOT_CFLAGS_FOR_TARGET) and $(DEBUG_PREFIX_CFLAGS_FOR_TARGET).
30 (BASE_TARGET_EXPORTS): Append them here to C{,XX}FLAGS.
31 (EXTRA_TARGET_FLAGS): Append them here to {LIB,}C{,XX}FLAGS.
32 (configure-stage[+id+]-[+prefix+][+module+]): Pass stage_libcflags
33 for target modules. Don't export LIBCFLAGS.
34 (all-stage[+id+]-[+prefix+][+module+]): Pass stage_libcflags; pass
35 $(BASE_FLAGS_TO_PASS) where [+args+] was passed, and [+args+] after
36 the overridden CFLAGS_FOR_TARGET and CXXFLAGS_FOR_TARGET.
37 (invocations of `all'): Replace $(TARGET_FLAGS_TO_PASS) with
38 $(EXTRA_TARGET_FLAGS), $(FLAGS_TO_PASS) with $(EXTRA_HOST_FLAGS).
39 * Makefile.in: Regenerate.
40
41config:
422008-02-19 Paolo Bonzini <bonzini@gnu.org>
43
44 PR bootstrap/32009
45 * mh-ppc-darwin (BOOT_CFLAGS): Reenable.
46
47gcc:
482008-02-19 Paolo Bonzini <bonzini@gnu.org>
49
50 PR bootstrap/32009
51 * doc/install.texi: Correct references to CFLAGS, replacing them
52 with BOOT_CFLAGS. Document flags used during bootstrap for
53 target libraries.
54
55
56---
57 Makefile.def | 25
58 Makefile.in | 1845 ++++++++++++++++++++++++++++++-------------------
59 Makefile.tpl | 91 +-
60 config/mh-ppc-darwin | 3
61 configure | 36
62 configure.ac | 32
63 gcc/Makefile.in | 2
64 gcc/configure | 6
65 gcc/configure.ac | 3
66 gcc/doc/install.texi | 56 -
67 libiberty/Makefile.in | 162 ++--
68 libiberty/configure | 46 -
69 libiberty/configure.ac | 43 -
70 13 files changed, 1454 insertions(+), 896 deletions(-)
71
72Index: gcc-4.5.0/configure
73===================================================================
74--- gcc-4.5.0.orig/configure 2010-06-25 14:51:59.409382073 -0700
75+++ gcc-4.5.0/configure 2010-06-25 14:52:35.157132702 -0700
76@@ -7130,6 +7130,38 @@
77 fi
78
79
80+# During gcc bootstrap, if we use some random cc for stage1 then CFLAGS
81+# might be empty or "-g". We don't require a C++ compiler, so CXXFLAGS
82+# might also be empty (or "-g", if a non-GCC C++ compiler is in the path).
83+# We want to ensure that TARGET libraries (which we know are built with
84+# gcc) are built with "-O2 -g", so include those options when setting
85+# CFLAGS_FOR_TARGET and CXXFLAGS_FOR_TARGET.
86+if test "x$CFLAGS_FOR_TARGET" = x; then
87+ CFLAGS_FOR_TARGET=$CFLAGS
88+ case " $CFLAGS " in
89+ *" -O2 "*) ;;
90+ *) CFLAGS_FOR_TARGET="-O2 $CFLAGS" ;;
91+ esac
92+ case " $CFLAGS " in
93+ *" -g "* | *" -g3 "*) ;;
94+ *) CFLAGS_FOR_TARGET="-g $CFLAGS" ;;
95+ esac
96+fi
97+
98+
99+if test "x$CXXFLAGS_FOR_TARGET" = x; then
100+ CXXFLAGS_FOR_TARGET=$CXXFLAGS
101+ case " $CXXFLAGS " in
102+ *" -O2 "*) ;;
103+ *) CXXFLAGS_FOR_TARGET="-O2 $CXXFLAGS" ;;
104+ esac
105+ case " $CXXFLAGS " in
106+ *" -g "* | *" -g3 "*) ;;
107+ *) CXXFLAGS_FOR_TARGET="-g $CXXFLAGS" ;;
108+ esac
109+fi
110+
111+
112 # Handle --with-headers=XXX. If the value is not "yes", the contents of
113 # the named directory are copied to $(tooldir)/sys-include.
114 if test x"${with_headers}" != x && test x"${with_headers}" != xno ; then
diff --git a/recipes-devtools/gcc/gcc-4.5/gcc-4.5.0_to_svn_162697.patch.bz2 b/recipes-devtools/gcc/gcc-4.5/gcc-4.5.0_to_svn_162697.patch.bz2
new file mode 100644
index 0000000000..d37a2c0329
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/gcc-4.5.0_to_svn_162697.patch.bz2
Binary files differ
diff --git a/recipes-devtools/gcc/gcc-4.5/gcc-arm-frename-registers.patch b/recipes-devtools/gcc/gcc-4.5/gcc-arm-frename-registers.patch
new file mode 100644
index 0000000000..280b90358e
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/gcc-arm-frename-registers.patch
@@ -0,0 +1,25 @@
1http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35964
2Index: gcc-4.3.0/gcc/regrename.c
3===================================================================
4--- gcc-4.3.0.orig/gcc/regrename.c 2008-05-28 08:31:15.000000000 -0700
5+++ gcc-4.3.0/gcc/regrename.c 2008-05-28 08:34:00.000000000 -0700
6@@ -782,6 +782,10 @@
7 || (predicated && recog_data.operand_type[i] == OP_OUT))
8 recog_data.operand_type[i] = OP_INOUT;
9 }
10+ /* Unshare dup_loc RTL */
11+ for (i = 0; i < recog_data.n_dups; i++)
12+ *recog_data.dup_loc[i] = copy_rtx(*recog_data.dup_loc[i]);
13+
14
15 /* Step 1: Close chains for which we have overlapping reads. */
16 for (i = 0; i < n_ops; i++)
17@@ -813,7 +817,7 @@
18 OP_IN, 0);
19
20 for (i = 0; i < recog_data.n_dups; i++)
21- *recog_data.dup_loc[i] = copy_rtx (old_dups[i]);
22+ *recog_data.dup_loc[i] = old_dups[i];
23 for (i = 0; i < n_ops; i++)
24 *recog_data.operand_loc[i] = old_operands[i];
25 if (recog_data.n_dups)
diff --git a/recipes-devtools/gcc/gcc-4.5/gcc-flags-for-build.patch b/recipes-devtools/gcc/gcc-4.5/gcc-flags-for-build.patch
new file mode 100644
index 0000000000..51892855af
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/gcc-flags-for-build.patch
@@ -0,0 +1,178 @@
1Index: gcc-4.5/Makefile.def
2===================================================================
3--- gcc-4.5.orig/Makefile.def
4+++ gcc-4.5/Makefile.def
5@@ -240,6 +240,7 @@ flags_to_pass = { flag= AWK ; };
6 flags_to_pass = { flag= BISON ; };
7 flags_to_pass = { flag= CC_FOR_BUILD ; };
8 flags_to_pass = { flag= CFLAGS_FOR_BUILD ; };
9+flags_to_pass = { flag= CPPFLAGS_FOR_BUILD ; };
10 flags_to_pass = { flag= CXX_FOR_BUILD ; };
11 flags_to_pass = { flag= EXPECT ; };
12 flags_to_pass = { flag= FLEX ; };
13Index: gcc-4.5/gcc/Makefile.in
14===================================================================
15--- gcc-4.5.orig/gcc/Makefile.in
16+++ gcc-4.5/gcc/Makefile.in
17@@ -766,7 +766,7 @@ BUILD_LINKERFLAGS = $(BUILD_CFLAGS)
18
19 # Native linker and preprocessor flags. For x-fragment overrides.
20 BUILD_LDFLAGS=@BUILD_LDFLAGS@
21-BUILD_CPPFLAGS=$(ALL_CPPFLAGS)
22+BUILD_CPPFLAGS=$(INCLUDES) @BUILD_CPPFLAGS@ $(X_CPPFLAGS)
23
24 # Actual name to use when installing a native compiler.
25 GCC_INSTALL_NAME := $(shell echo gcc|sed '$(program_transform_name)')
26Index: gcc-4.5/gcc/configure.ac
27===================================================================
28--- gcc-4.5.orig/gcc/configure.ac
29+++ gcc-4.5/gcc/configure.ac
30@@ -1798,16 +1798,18 @@ AC_SUBST(inhibit_libc)
31 # Also, we cannot run fixincludes.
32
33 # These are the normal (build=host) settings:
34-CC_FOR_BUILD='$(CC)' AC_SUBST(CC_FOR_BUILD)
35-BUILD_CFLAGS='$(ALL_CFLAGS)' AC_SUBST(BUILD_CFLAGS)
36-BUILD_LDFLAGS='$(LDFLAGS)' AC_SUBST(BUILD_LDFLAGS)
37-STMP_FIXINC=stmp-fixinc AC_SUBST(STMP_FIXINC)
38+CC_FOR_BUILD='$(CC)' AC_SUBST(CC_FOR_BUILD)
39+BUILD_CFLAGS='$(ALL_CFLAGS)' AC_SUBST(BUILD_CFLAGS)
40+BUILD_LDFLAGS='$(LDFLAGS)' AC_SUBST(BUILD_LDFLAGS)
41+BUILD_CPPFLAGS='$(ALL_CPPFLAGS)' AC_SUBST(BUILD_CPPFLAGS)
42+STMP_FIXINC=stmp-fixinc AC_SUBST(STMP_FIXINC)
43
44 # And these apply if build != host, or we are generating coverage data
45 if test x$build != x$host || test "x$coverage_flags" != x
46 then
47 BUILD_CFLAGS='$(INTERNAL_CFLAGS) $(T_CFLAGS) $(CFLAGS_FOR_BUILD)'
48 BUILD_LDFLAGS='$(LDFLAGS_FOR_BUILD)'
49+ BUILD_CPPFLAGS='$(CPPFLAGS_FOR_BUILD)'
50 fi
51
52 # Expand extra_headers to include complete path.
53Index: gcc-4.5/Makefile.in
54===================================================================
55--- gcc-4.5.orig/Makefile.in
56+++ gcc-4.5/Makefile.in
57@@ -333,6 +333,7 @@ AR_FOR_BUILD = @AR_FOR_BUILD@
58 AS_FOR_BUILD = @AS_FOR_BUILD@
59 CC_FOR_BUILD = @CC_FOR_BUILD@
60 CFLAGS_FOR_BUILD = @CFLAGS_FOR_BUILD@
61+CPPFLAGS_FOR_BUILD = @CPPFLAGS_FOR_BUILD@
62 CXXFLAGS_FOR_BUILD = @CXXFLAGS_FOR_BUILD@
63 CXX_FOR_BUILD = @CXX_FOR_BUILD@
64 DLLTOOL_FOR_BUILD = @DLLTOOL_FOR_BUILD@
65@@ -662,6 +663,7 @@ BASE_FLAGS_TO_PASS = \
66 "BISON=$(BISON)" \
67 "CC_FOR_BUILD=$(CC_FOR_BUILD)" \
68 "CFLAGS_FOR_BUILD=$(CFLAGS_FOR_BUILD)" \
69+ "CPPFLAGS_FOR_BUILD=$(CPPFLAGS_FOR_BUILD)" \
70 "CXX_FOR_BUILD=$(CXX_FOR_BUILD)" \
71 "EXPECT=$(EXPECT)" \
72 "FLEX=$(FLEX)" \
73Index: gcc-4.5/gcc/configure
74===================================================================
75--- gcc-4.5.orig/gcc/configure
76+++ gcc-4.5/gcc/configure
77@@ -707,6 +707,7 @@ SED
78 LIBTOOL
79 collect2
80 STMP_FIXINC
81+BUILD_CPPFLAGS
82 BUILD_LDFLAGS
83 BUILD_CFLAGS
84 CC_FOR_BUILD
85@@ -10982,6 +10983,7 @@ fi
86 CC_FOR_BUILD='$(CC)'
87 BUILD_CFLAGS='$(ALL_CFLAGS)'
88 BUILD_LDFLAGS='$(LDFLAGS)'
89+BUILD_CPPFLAGS='$(ALL_CPPFLAGS)'
90 STMP_FIXINC=stmp-fixinc
91
92 # And these apply if build != host, or we are generating coverage data
93@@ -10989,6 +10991,7 @@ if test x$build != x$host || test "x$cov
94 then
95 BUILD_CFLAGS='$(INTERNAL_CFLAGS) $(T_CFLAGS) $(CFLAGS_FOR_BUILD)'
96 BUILD_LDFLAGS='$(LDFLAGS_FOR_BUILD)'
97+ BUILD_CPPFLAGS='$(CPPFLAGS_FOR_BUILD)'
98 fi
99
100 # Expand extra_headers to include complete path.
101@@ -17108,7 +17111,7 @@ else
102 lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
103 lt_status=$lt_dlunknown
104 cat > conftest.$ac_ext <<_LT_EOF
105-#line 17111 "configure"
106+#line 17114 "configure"
107 #include "confdefs.h"
108
109 #if HAVE_DLFCN_H
110@@ -17214,7 +17217,7 @@ else
111 lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
112 lt_status=$lt_dlunknown
113 cat > conftest.$ac_ext <<_LT_EOF
114-#line 17217 "configure"
115+#line 17220 "configure"
116 #include "confdefs.h"
117
118 #if HAVE_DLFCN_H
119Index: gcc-4.5/Makefile.tpl
120===================================================================
121--- gcc-4.5.orig/Makefile.tpl
122+++ gcc-4.5/Makefile.tpl
123@@ -336,6 +336,7 @@ AR_FOR_BUILD = @AR_FOR_BUILD@
124 AS_FOR_BUILD = @AS_FOR_BUILD@
125 CC_FOR_BUILD = @CC_FOR_BUILD@
126 CFLAGS_FOR_BUILD = @CFLAGS_FOR_BUILD@
127+CPPFLAGS_FOR_BUILD = @CPPFLAGS_FOR_BUILD@
128 CXXFLAGS_FOR_BUILD = @CXXFLAGS_FOR_BUILD@
129 CXX_FOR_BUILD = @CXX_FOR_BUILD@
130 DLLTOOL_FOR_BUILD = @DLLTOOL_FOR_BUILD@
131Index: gcc-4.5/configure
132===================================================================
133--- gcc-4.5.orig/configure
134+++ gcc-4.5/configure
135@@ -651,6 +651,7 @@ GCJ_FOR_BUILD
136 DLLTOOL_FOR_BUILD
137 CXX_FOR_BUILD
138 CXXFLAGS_FOR_BUILD
139+CPPFLAGS_FOR_BUILD
140 CFLAGS_FOR_BUILD
141 CC_FOR_BUILD
142 AS_FOR_BUILD
143@@ -8036,6 +8037,7 @@ esac
144 # our build compiler if desired.
145 if test x"${build}" = x"${host}" ; then
146 CFLAGS_FOR_BUILD=${CFLAGS_FOR_BUILD-${CFLAGS}}
147+ CPPFLAGS_FOR_BUILD=${CPPFLAGS_FOR_BUILD-${CPPFLAGS}}
148 CXXFLAGS_FOR_BUILD=${CXXFLAGS_FOR_BUILD-${CXXFLAGS}}
149 LDFLAGS_FOR_BUILD=${LDFLAGS_FOR_BUILD-${LDFLAGS}}
150 fi
151@@ -8101,6 +8103,7 @@ done
152
153
154
155+
156
157
158
159Index: gcc-4.5/configure.ac
160===================================================================
161--- gcc-4.5.orig/configure.ac
162+++ gcc-4.5/configure.ac
163@@ -3089,6 +3089,7 @@ esac
164 # our build compiler if desired.
165 if test x"${build}" = x"${host}" ; then
166 CFLAGS_FOR_BUILD=${CFLAGS_FOR_BUILD-${CFLAGS}}
167+ CPPFLAGS_FOR_BUILD=${CPPFLAGS_FOR_BUILD-${CPPFLAGS}}
168 CXXFLAGS_FOR_BUILD=${CXXFLAGS_FOR_BUILD-${CXXFLAGS}}
169 LDFLAGS_FOR_BUILD=${LDFLAGS_FOR_BUILD-${LDFLAGS}}
170 fi
171@@ -3155,6 +3156,7 @@ AC_SUBST(AR_FOR_BUILD)
172 AC_SUBST(AS_FOR_BUILD)
173 AC_SUBST(CC_FOR_BUILD)
174 AC_SUBST(CFLAGS_FOR_BUILD)
175+AC_SUBST(CPPFLAGS_FOR_BUILD)
176 AC_SUBST(CXXFLAGS_FOR_BUILD)
177 AC_SUBST(CXX_FOR_BUILD)
178 AC_SUBST(DLLTOOL_FOR_BUILD)
diff --git a/recipes-devtools/gcc/gcc-4.5/gcc-ice-hack.dpatch b/recipes-devtools/gcc/gcc-4.5/gcc-ice-hack.dpatch
new file mode 100644
index 0000000000..84c5ef2ebd
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/gcc-ice-hack.dpatch
@@ -0,0 +1,331 @@
1#! /bin/sh -e
2
3# DP: Retry the build on an ice, save the calling options and preprocessed
4# DP: source when the ice is reproducible.
5
6dir=
7if [ $# -eq 3 -a "$2" = '-d' ]; then
8 pdir="-d $3"
9 dir="$3/"
10elif [ $# -ne 1 ]; then
11 echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
12 exit 1
13fi
14case "$1" in
15 -patch)
16 patch $pdir -f --no-backup-if-mismatch -p0 < $0
17 ;;
18 -unpatch)
19 patch $pdir -f --no-backup-if-mismatch -R -p0 < $0
20 ;;
21 *)
22 echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
23 exit 1
24esac
25exit 0
26
272004-01-23 Jakub Jelinek <jakub@redhat.com>
28
29 * system.h (ICE_EXIT_CODE): Define.
30 * gcc.c (execute): Don't free first string early, but at the end
31 of the function. Call retry_ice if compiler exited with
32 ICE_EXIT_CODE.
33 (retry_ice): New function.
34 * diagnostic.c (diagnostic_count_diagnostic,
35 diagnostic_action_after_output, error_recursion): Exit with
36 ICE_EXIT_CODE instead of FATAL_EXIT_CODE.
37
38--- gcc/diagnostic.c.orig 2007-09-30 10:48:13.000000000 +0000
39+++ gcc/diagnostic.c 2007-09-30 10:49:57.000000000 +0000
40@@ -244,7 +244,7 @@
41 fnotice (stderr, "Please submit a full bug report,\n"
42 "with preprocessed source if appropriate.\n"
43 "See %s for instructions.\n", bug_report_url);
44- exit (ICE_EXIT_CODE);
45+ exit (FATAL_EXIT_CODE);
46
47 case DK_FATAL:
48 if (context->abort_on_error)
49--- gcc/gcc.c.orig 2007-09-30 10:48:13.000000000 +0000
50+++ gcc/gcc.c 2007-09-30 10:48:39.000000000 +0000
51@@ -357,6 +357,9 @@
52 #if defined(HAVE_TARGET_OBJECT_SUFFIX) || defined(HAVE_TARGET_EXECUTABLE_SUFFIX)
53 static const char *convert_filename (const char *, int, int);
54 #endif
55+#if !(defined (__MSDOS__) || defined (OS2) || defined (VMS))
56+static void retry_ice (const char *prog, const char **argv);
57+#endif
58
59 static const char *getenv_spec_function (int, const char **);
60 static const char *if_exists_spec_function (int, const char **);
61@@ -2999,7 +3002,7 @@
62 }
63 }
64
65- if (string != commands[i].prog)
66+ if (i && string != commands[i].prog)
67 free (CONST_CAST (char *, string));
68 }
69
70@@ -3056,6 +3059,16 @@
71 else if (WIFEXITED (status)
72 && WEXITSTATUS (status) >= MIN_FATAL_STATUS)
73 {
74+#if !(defined (__MSDOS__) || defined (OS2) || defined (VMS))
75+ /* For ICEs in cc1, cc1obj, cc1plus see if it is
76+ reproducible or not. */
77+ char *p;
78+ if (WEXITSTATUS (status) == ICE_EXIT_CODE
79+ && i == 0
80+ && (p = strrchr (commands[0].argv[0], DIR_SEPARATOR))
81+ && ! strncmp (p + 1, "cc1", 3))
82+ retry_ice (commands[0].prog, commands[0].argv);
83+#endif
84 if (WEXITSTATUS (status) > greatest_status)
85 greatest_status = WEXITSTATUS (status);
86 ret_code = -1;
87@@ -3076,6 +3089,9 @@
88 }
89 }
90
91+ if (commands[0].argv[0] != commands[0].prog)
92+ free ((PTR) commands[0].argv[0]);
93+
94 return ret_code;
95 }
96 }
97@@ -6016,6 +6032,224 @@
98 switches[switchnum].validated = 1;
99 }
100
101+#if !(defined (__MSDOS__) || defined (OS2) || defined (VMS))
102+#define RETRY_ICE_ATTEMPTS 2
103+
104+static void
105+retry_ice (const char *prog, const char **argv)
106+{
107+ int nargs, out_arg = -1, quiet = 0, attempt;
108+ int pid, retries, sleep_interval;
109+ const char **new_argv;
110+ char *temp_filenames[RETRY_ICE_ATTEMPTS * 2 + 2];
111+
112+ if (input_filename == NULL || ! strcmp (input_filename, "-"))
113+ return;
114+
115+ for (nargs = 0; argv[nargs] != NULL; ++nargs)
116+ /* Only retry compiler ICEs, not preprocessor ones. */
117+ if (! strcmp (argv[nargs], "-E"))
118+ return;
119+ else if (argv[nargs][0] == '-' && argv[nargs][1] == 'o')
120+ {
121+ if (out_arg == -1)
122+ out_arg = nargs;
123+ else
124+ return;
125+ }
126+ /* If the compiler is going to output any time information,
127+ it might vary between invocations. */
128+ else if (! strcmp (argv[nargs], "-quiet"))
129+ quiet = 1;
130+ else if (! strcmp (argv[nargs], "-ftime-report"))
131+ return;
132+
133+ if (out_arg == -1 || !quiet)
134+ return;
135+
136+ memset (temp_filenames, '\0', sizeof (temp_filenames));
137+ new_argv = alloca ((nargs + 3) * sizeof (const char *));
138+ memcpy (new_argv, argv, (nargs + 1) * sizeof (const char *));
139+ new_argv[nargs++] = "-frandom-seed=0";
140+ new_argv[nargs] = NULL;
141+ if (new_argv[out_arg][2] == '\0')
142+ new_argv[out_arg + 1] = "-";
143+ else
144+ new_argv[out_arg] = "-o-";
145+
146+ for (attempt = 0; attempt < RETRY_ICE_ATTEMPTS + 1; ++attempt)
147+ {
148+ int fd = -1;
149+ int status;
150+
151+ temp_filenames[attempt * 2] = make_temp_file (".out");
152+ temp_filenames[attempt * 2 + 1] = make_temp_file (".err");
153+
154+ if (attempt == RETRY_ICE_ATTEMPTS)
155+ {
156+ int i;
157+ int fd1, fd2;
158+ struct stat st1, st2;
159+ size_t n, len;
160+ char *buf;
161+
162+ buf = xmalloc (8192);
163+
164+ for (i = 0; i < 2; ++i)
165+ {
166+ fd1 = open (temp_filenames[i], O_RDONLY);
167+ fd2 = open (temp_filenames[2 + i], O_RDONLY);
168+
169+ if (fd1 < 0 || fd2 < 0)
170+ {
171+ i = -1;
172+ close (fd1);
173+ close (fd2);
174+ break;
175+ }
176+
177+ if (fstat (fd1, &st1) < 0 || fstat (fd2, &st2) < 0)
178+ {
179+ i = -1;
180+ close (fd1);
181+ close (fd2);
182+ break;
183+ }
184+
185+ if (st1.st_size != st2.st_size)
186+ {
187+ close (fd1);
188+ close (fd2);
189+ break;
190+ }
191+
192+ len = 0;
193+ for (n = st1.st_size; n; n -= len)
194+ {
195+ len = n;
196+ if (len > 4096)
197+ len = 4096;
198+
199+ if (read (fd1, buf, len) != (int) len
200+ || read (fd2, buf + 4096, len) != (int) len)
201+ {
202+ i = -1;
203+ break;
204+ }
205+
206+ if (memcmp (buf, buf + 4096, len) != 0)
207+ break;
208+ }
209+
210+ close (fd1);
211+ close (fd2);
212+
213+ if (n)
214+ break;
215+ }
216+
217+ free (buf);
218+ if (i == -1)
219+ break;
220+
221+ if (i != 2)
222+ {
223+ notice ("The bug is not reproducible, so it is likely a hardware or OS problem.\n");
224+ break;
225+ }
226+
227+ fd = open (temp_filenames[attempt * 2], O_RDWR);
228+ if (fd < 0)
229+ break;
230+ write (fd, "//", 2);
231+ for (i = 0; i < nargs; i++)
232+ {
233+ write (fd, " ", 1);
234+ write (fd, new_argv[i], strlen (new_argv[i]));
235+ }
236+ write (fd, "\n", 1);
237+ new_argv[nargs] = "-E";
238+ new_argv[nargs + 1] = NULL;
239+ }
240+
241+ /* Fork a subprocess; wait and retry if it fails. */
242+ sleep_interval = 1;
243+ pid = -1;
244+ for (retries = 0; retries < 4; retries++)
245+ {
246+ pid = fork ();
247+ if (pid >= 0)
248+ break;
249+ sleep (sleep_interval);
250+ sleep_interval *= 2;
251+ }
252+
253+ if (pid < 0)
254+ break;
255+ else if (pid == 0)
256+ {
257+ if (attempt != RETRY_ICE_ATTEMPTS)
258+ fd = open (temp_filenames[attempt * 2], O_RDWR);
259+ if (fd < 0)
260+ exit (-1);
261+ if (fd != 1)
262+ {
263+ close (1);
264+ dup (fd);
265+ close (fd);
266+ }
267+
268+ fd = open (temp_filenames[attempt * 2 + 1], O_RDWR);
269+ if (fd < 0)
270+ exit (-1);
271+ if (fd != 2)
272+ {
273+ close (2);
274+ dup (fd);
275+ close (fd);
276+ }
277+
278+ if (prog == new_argv[0])
279+ execvp (prog, (char *const *) new_argv);
280+ else
281+ execv (new_argv[0], (char *const *) new_argv);
282+ exit (-1);
283+ }
284+
285+ if (waitpid (pid, &status, 0) < 0)
286+ break;
287+
288+ if (attempt < RETRY_ICE_ATTEMPTS
289+ && (! WIFEXITED (status) || WEXITSTATUS (status) != ICE_EXIT_CODE))
290+ {
291+ notice ("The bug is not reproducible, so it is likely a hardware or OS problem.\n");
292+ break;
293+ }
294+ else if (attempt == RETRY_ICE_ATTEMPTS)
295+ {
296+ close (fd);
297+ if (WIFEXITED (status)
298+ && WEXITSTATUS (status) == SUCCESS_EXIT_CODE)
299+ {
300+ notice ("Preprocessed source stored into %s file, please attach this to your bugreport.\n",
301+ temp_filenames[attempt * 2]);
302+ /* Make sure it is not deleted. */
303+ free (temp_filenames[attempt * 2]);
304+ temp_filenames[attempt * 2] = NULL;
305+ break;
306+ }
307+ }
308+ }
309+
310+ for (attempt = 0; attempt < RETRY_ICE_ATTEMPTS * 2 + 2; attempt++)
311+ if (temp_filenames[attempt])
312+ {
313+ unlink (temp_filenames[attempt]);
314+ free (temp_filenames[attempt]);
315+ }
316+}
317+#endif
318+
319 /* Search for a file named NAME trying various prefixes including the
320 user's -B prefix and some standard ones.
321 Return the absolute file name found. If nothing is found, return NAME. */
322--- gcc/Makefile.in.orig 2007-09-30 10:48:13.000000000 +0000
323+++ gcc/Makefile.in 2007-09-30 10:48:39.000000000 +0000
324@@ -192,6 +192,7 @@
325 build/gengtype-lex.o-warn = -Wno-error
326 # SYSCALLS.c misses prototypes
327 SYSCALLS.c.X-warn = -Wno-strict-prototypes -Wno-error
328+build/gcc.o-warn = -Wno-error
329
330 # All warnings have to be shut off in stage1 if the compiler used then
331 # isn't gcc; configure determines that. WARN_CFLAGS will be either
diff --git a/recipes-devtools/gcc/gcc-4.5/gcc-linaro-fix-lp-653316.patch b/recipes-devtools/gcc/gcc-4.5/gcc-linaro-fix-lp-653316.patch
new file mode 100644
index 0000000000..72a221b1d2
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/gcc-linaro-fix-lp-653316.patch
@@ -0,0 +1,130 @@
12010-10-15 Chung-Lin Tang <cltang@codesourcery.com>
2
3 Backport from mainline:
4
5 2010-10-15 Chung-Lin Tang <cltang@codesourcery.com>
6
7 gcc/
8 * ifcvt.c (find_active_insn_before): New function.
9 (find_active_insn_after): New function.
10 (cond_exec_process_if_block): Use new functions to replace
11 prev_active_insn() and next_active_insn().
12
13 gcc/testsuite/
14 * gcc.dg/20101010-1.c: New testcase.
15
16=== modified file 'gcc/ifcvt.c'
17Index: gcc-4.5/gcc/ifcvt.c
18===================================================================
19--- gcc-4.5.orig/gcc/ifcvt.c
20+++ gcc-4.5/gcc/ifcvt.c
21@@ -88,6 +88,8 @@ static int count_bb_insns (const_basic_b
22 static bool cheap_bb_rtx_cost_p (const_basic_block, int);
23 static rtx first_active_insn (basic_block);
24 static rtx last_active_insn (basic_block, int);
25+static rtx find_active_insn_before (basic_block, rtx);
26+static rtx find_active_insn_after (basic_block, rtx);
27 static basic_block block_fallthru (basic_block);
28 static int cond_exec_process_insns (ce_if_block_t *, rtx, rtx, rtx, rtx, int);
29 static rtx cond_exec_get_condition (rtx);
30@@ -230,6 +232,48 @@ last_active_insn (basic_block bb, int sk
31 return insn;
32 }
33
34+/* Return the active insn before INSN inside basic block CURR_BB. */
35+
36+static rtx
37+find_active_insn_before (basic_block curr_bb, rtx insn)
38+{
39+ if (!insn || insn == BB_HEAD (curr_bb))
40+ return NULL_RTX;
41+
42+ while ((insn = PREV_INSN (insn)) != NULL_RTX)
43+ {
44+ if (NONJUMP_INSN_P (insn) || JUMP_P (insn) || CALL_P (insn))
45+ break;
46+
47+ /* No other active insn all the way to the start of the basic block. */
48+ if (insn == BB_HEAD (curr_bb))
49+ return NULL_RTX;
50+ }
51+
52+ return insn;
53+}
54+
55+/* Return the active insn after INSN inside basic block CURR_BB. */
56+
57+static rtx
58+find_active_insn_after (basic_block curr_bb, rtx insn)
59+{
60+ if (!insn || insn == BB_END (curr_bb))
61+ return NULL_RTX;
62+
63+ while ((insn = NEXT_INSN (insn)) != NULL_RTX)
64+ {
65+ if (NONJUMP_INSN_P (insn) || JUMP_P (insn) || CALL_P (insn))
66+ break;
67+
68+ /* No other active insn all the way to the end of the basic block. */
69+ if (insn == BB_END (curr_bb))
70+ return NULL_RTX;
71+ }
72+
73+ return insn;
74+}
75+
76 /* Return the basic block reached by falling though the basic block BB. */
77
78 static basic_block
79@@ -448,9 +492,9 @@ cond_exec_process_if_block (ce_if_block_
80 if (n_matching > 0)
81 {
82 if (then_end)
83- then_end = prev_active_insn (then_first_tail);
84+ then_end = find_active_insn_before (then_bb, then_first_tail);
85 if (else_end)
86- else_end = prev_active_insn (else_first_tail);
87+ else_end = find_active_insn_before (else_bb, else_first_tail);
88 n_insns -= 2 * n_matching;
89 }
90
91@@ -488,9 +532,9 @@ cond_exec_process_if_block (ce_if_block_
92 if (n_matching > 0)
93 {
94 if (then_start)
95- then_start = next_active_insn (then_last_head);
96+ then_start = find_active_insn_after (then_bb, then_last_head);
97 if (else_start)
98- else_start = next_active_insn (else_last_head);
99+ else_start = find_active_insn_after (else_bb, else_last_head);
100 n_insns -= 2 * n_matching;
101 }
102 }
103@@ -646,7 +690,7 @@ cond_exec_process_if_block (ce_if_block_
104 {
105 rtx from = then_first_tail;
106 if (!INSN_P (from))
107- from = next_active_insn (from);
108+ from = find_active_insn_after (then_bb, from);
109 delete_insn_chain (from, BB_END (then_bb), false);
110 }
111 if (else_last_head)
112Index: gcc-4.5/gcc/testsuite/gcc.dg/20101010-1.c
113===================================================================
114--- /dev/null
115+++ gcc-4.5/gcc/testsuite/gcc.dg/20101010-1.c
116@@ -0,0 +1,14 @@
117+/* { dg-do compile } */
118+/* { dg-options "-O2 -fno-crossjumping" } */
119+
120+int foo (void)
121+{
122+ int len;
123+ if (bar1 (&len))
124+ {
125+ char devpath [len];
126+ if (bar2 (devpath) == len)
127+ return len;
128+ }
129+ return -1;
130+}
diff --git a/recipes-devtools/gcc/gcc-4.5/gcc-poison-dir-extend.patch b/recipes-devtools/gcc/gcc-4.5/gcc-poison-dir-extend.patch
new file mode 100644
index 0000000000..d1712071a9
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/gcc-poison-dir-extend.patch
@@ -0,0 +1,24 @@
1Add /sw/include and /opt/include based on the original
2zecke-no-host-includes.patch patch. The original patch checked for
3/usr/include, /sw/include and /opt/include and then triggered a failure and
4aborted.
5
6Instead, we add the two missing items to the current scan. If the user
7wants this to be a failure, they can add "-Werror=poison-system-directories".
8
9Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
10
11diff -ur gcc-4.5.0.orig/gcc/incpath.c gcc-4.5.0/gcc/incpath.c
12--- gcc-4.5.0.orig/gcc/incpath.c 2010-09-29 14:58:31.358975524 -0500
13+++ gcc-4.5.0/gcc/incpath.c 2010-09-29 15:08:02.065975516 -0500
14@@ -363,7 +363,9 @@
15 {
16 if ((!strncmp (p->name, "/usr/include", 12))
17 || (!strncmp (p->name, "/usr/local/include", 18))
18- || (!strncmp (p->name, "/usr/X11R6/include", 18)))
19+ || (!strncmp (p->name, "/usr/X11R6/include", 18))
20+ || (!strncmp (p->name, "/sw/include", 11))
21+ || (!strncmp (p->name, "/opt/include", 12)))
22 warning (OPT_Wpoison_system_directories,
23 "include location \"%s\" is unsafe for "
24 "cross-compilation",
diff --git a/recipes-devtools/gcc/gcc-4.5/gcc-poison-parameters.patch b/recipes-devtools/gcc/gcc-4.5/gcc-poison-parameters.patch
new file mode 100644
index 0000000000..3cc7cbad4b
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/gcc-poison-parameters.patch
@@ -0,0 +1,83 @@
1gcc: add poison parameters detection
2
3Add the logic that, if not configured with "--enable-target-optspace",
4gcc will meet error when build target app with "-Os" option.
5This could avoid potential binary crash.
6
7Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
8
9diff --git a/gcc/config.in b/gcc/config.in
10index a9e208f..3004321 100644
11--- a/gcc/config.in
12+++ b/gcc/config.in
13@@ -132,6 +132,12 @@
14 #endif
15
16
17+/* Define to enable target optspace support. */
18+#ifndef USED_FOR_TARGET
19+#undef ENABLE_TARGET_OPTSPACE
20+#endif
21+
22+
23 /* Define if you want all operations on RTL (the basic data structure of the
24 optimizer and back end) to be checked for dynamic type safety at runtime.
25 This is quite expensive. */
26diff --git a/gcc/configure b/gcc/configure
27index 2e022ed..004ec0b 100755
28--- a/gcc/configure
29+++ b/gcc/configure
30@@ -909,6 +909,7 @@ enable_maintainer_mode
31 enable_version_specific_runtime_libs
32 with_slibdir
33 enable_plugin
34+enable_target_optspace
35 '
36 ac_precious_vars='build_alias
37 host_alias
38@@ -25289,6 +25290,13 @@ $as_echo "#define ENABLE_PLUGIN 1" >>confdefs.h
39
40 fi
41
42+if test x"$enable_target_optspace" != x; then :
43+
44+$as_echo "#define ENABLE_TARGET_OPTSPACE 1" >>confdefs.h
45+
46+fi
47+
48+
49 # Configure the subdirectories
50 # AC_CONFIG_SUBDIRS($subdirs)
51
52diff --git a/gcc/configure.ac b/gcc/configure.ac
53index ac4ca70..18ec0aa 100644
54--- a/gcc/configure.ac
55+++ b/gcc/configure.ac
56@@ -4434,6 +4434,11 @@ if test x"$enable_plugin" = x"yes"; then
57 AC_DEFINE(ENABLE_PLUGIN, 1, [Define to enable plugin support.])
58 fi
59
60+AC_SUBST(enable_target_optspace)
61+if test x"$enable_target_optspace" != x; then
62+ AC_DEFINE(ENABLE_TARGET_OPTSPACE, 1, [Define to enable target optspace support.])
63+fi
64+
65 # Configure the subdirectories
66 # AC_CONFIG_SUBDIRS($subdirs)
67
68diff --git a/gcc/opts.c b/gcc/opts.c
69index 139cd26..2fdd96a 100644
70--- a/gcc/opts.c
71+++ b/gcc/opts.c
72@@ -945,6 +945,11 @@ decode_options (unsigned int argc, const char **argv)
73 else
74 set_param_value ("min-crossjump-insns", initial_min_crossjump_insns);
75
76+#ifndef ENABLE_TARGET_OPTSPACE
77+ if (optimize_size == 1)
78+ error ("Do not use -Os option if --enable-target-optspace is not set.");
79+#endif
80+
81 if (first_time_p)
82 {
83 /* Initialize whether `char' is signed. */
diff --git a/recipes-devtools/gcc/gcc-4.5/gcc-poison-system-directories.patch b/recipes-devtools/gcc/gcc-4.5/gcc-poison-system-directories.patch
new file mode 100644
index 0000000000..04043ff0b7
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/gcc-poison-system-directories.patch
@@ -0,0 +1,201 @@
1 gcc/
2 2008-07-02 Joseph Myers <joseph@codesourcery.com>
3 * c-incpath.c: Include toplev.h.
4 (merge_include_chains): Use warning instead of cpp_error for
5 system directory poisoning diagnostic.
6 * Makefile.in (c-incpath.o): Depend on toplev.h.
7 * gcc.c (LINK_COMMAND_SPEC): Pass
8 --error-poison-system-directories if
9 -Werror=poison-system-directories.
10
11 2007-06-13 Joseph Myers <joseph@codesourcery.com>
12 * common.opt (--Wno-poison-system-directories): New.
13 * doc/invoke.texi (-Wno-poison-system-directories): Document.
14 * c-incpath.c: Include flags.h.
15 (merge_include_chains): Check flag_poison_system_directories.
16 * gcc.c (LINK_COMMAND_SPEC): Pass --no-poison-system-directories
17 to linker if -Wno-poison-system-directories.
18 * Makefile.in (c-incpath.o): Depend on $(FLAGS_H).
19
20 2007-03-20 Daniel Jacobowitz <dan@codesourcery.com>
21 Joseph Myers <joseph@codesourcery.com>
22 * configure.ac (--enable-poison-system-directories): New option.
23 * configure, config.in: Regenerate.
24 * c-incpath.c (merge_include_chains): If
25 ENABLE_POISON_SYSTEM_DIRECTORIES defined, warn for use of
26 /usr/include, /usr/local/include or /usr/X11R6/include.
27
28Index: gcc-4.5.0/gcc/common.opt
29===================================================================
30--- gcc-4.5.0.orig/gcc/common.opt 2010-03-17 20:01:09.000000000 -0700
31+++ gcc-4.5.0/gcc/common.opt 2010-06-25 11:35:39.965383734 -0700
32@@ -152,6 +152,10 @@
33 Common Var(warn_padded) Warning
34 Warn when padding is required to align structure members
35
36+Wpoison-system-directories
37+Common Var(flag_poison_system_directories) Init(1) Warning
38+Warn for -I and -L options using system directories if cross compiling
39+
40 Wshadow
41 Common Var(warn_shadow) Warning
42 Warn when one local variable shadows another
43Index: gcc-4.5.0/gcc/config.in
44===================================================================
45--- gcc-4.5.0.orig/gcc/config.in 2010-04-14 02:30:07.000000000 -0700
46+++ gcc-4.5.0/gcc/config.in 2010-06-25 11:35:39.969383588 -0700
47@@ -132,6 +132,12 @@
48 #endif
49
50
51+/* Define to warn for use of native system header directories */
52+#ifndef USED_FOR_TARGET
53+#undef ENABLE_POISON_SYSTEM_DIRECTORIES
54+#endif
55+
56+
57 /* Define if you want all operations on RTL (the basic data structure of the
58 optimizer and back end) to be checked for dynamic type safety at runtime.
59 This is quite expensive. */
60Index: gcc-4.5.0/gcc/configure.ac
61===================================================================
62--- gcc-4.5.0.orig/gcc/configure.ac 2010-06-25 11:34:01.433382161 -0700
63+++ gcc-4.5.0/gcc/configure.ac 2010-06-25 11:35:39.969383588 -0700
64@@ -4276,6 +4276,16 @@
65 fi)
66 AC_SUBST(slibdir)
67
68+AC_ARG_ENABLE([poison-system-directories],
69+ AS_HELP_STRING([--enable-poison-system-directories],
70+ [warn for use of native system header directories]),,
71+ [enable_poison_system_directories=no])
72+if test "x${enable_poison_system_directories}" = "xyes"; then
73+ AC_DEFINE([ENABLE_POISON_SYSTEM_DIRECTORIES],
74+ [1],
75+ [Define to warn for use of native system header directories])
76+fi
77+
78 # Substitute configuration variables
79 AC_SUBST(subdirs)
80 AC_SUBST(srcdir)
81Index: gcc-4.5.0/gcc/doc/invoke.texi
82===================================================================
83--- gcc-4.5.0.orig/gcc/doc/invoke.texi 2010-04-06 07:02:22.000000000 -0700
84+++ gcc-4.5.0/gcc/doc/invoke.texi 2010-06-25 11:35:39.992666345 -0700
85@@ -252,6 +252,7 @@
86 -Woverlength-strings -Wpacked -Wpacked-bitfield-compat -Wpadded @gol
87 -Wparentheses -Wpedantic-ms-format -Wno-pedantic-ms-format @gol
88 -Wpointer-arith -Wno-pointer-to-int-cast @gol
89+-Wno-poison-system-directories @gol
90 -Wredundant-decls @gol
91 -Wreturn-type -Wsequence-point -Wshadow @gol
92 -Wsign-compare -Wsign-conversion -Wstack-protector @gol
93@@ -3603,6 +3604,14 @@
94 option will @emph{not} warn about unknown pragmas in system
95 headers---for that, @option{-Wunknown-pragmas} must also be used.
96
97+@item -Wno-poison-system-directories
98+@opindex Wno-poison-system-directories
99+Do not warn for @option{-I} or @option{-L} options using system
100+directories such as @file{/usr/include} when cross compiling. This
101+option is intended for use in chroot environments when such
102+directories contain the correct headers and libraries for the target
103+system rather than the host.
104+
105 @item -Wfloat-equal
106 @opindex Wfloat-equal
107 @opindex Wno-float-equal
108Index: gcc-4.5.0/gcc/gcc.c
109===================================================================
110--- gcc-4.5.0.orig/gcc/gcc.c 2010-02-11 04:23:08.000000000 -0800
111+++ gcc-4.5.0/gcc/gcc.c 2010-06-25 11:35:40.009381858 -0700
112@@ -792,6 +792,8 @@
113 %{flto} %{fwhopr} %l " LINK_PIE_SPEC \
114 "%X %{o*} %{A} %{d} %{e*} %{m} %{N} %{n} %{r}\
115 %{s} %{t} %{u*} %{x} %{z} %{Z} %{!A:%{!nostdlib:%{!nostartfiles:%S}}}\
116+ %{Wno-poison-system-directories:--no-poison-system-directories}\
117+ %{Werror=poison-system-directories:--error-poison-system-directories}\
118 %{static:} %{L*} %(mfwrap) %(link_libgcc) %o\
119 %{fopenmp|ftree-parallelize-loops=*:%:include(libgomp.spec)%(link_gomp)} %(mflib)\
120 %{fprofile-arcs|fprofile-generate*|coverage:-lgcov}\
121Index: gcc-4.5.0/gcc/incpath.c
122===================================================================
123--- gcc-4.5.0.orig/gcc/incpath.c 2009-11-25 02:55:54.000000000 -0800
124+++ gcc-4.5.0/gcc/incpath.c 2010-06-25 11:35:40.017209818 -0700
125@@ -353,6 +353,24 @@
126 }
127 fprintf (stderr, _("End of search list.\n"));
128 }
129+
130+#ifdef ENABLE_POISON_SYSTEM_DIRECTORIES
131+ if (flag_poison_system_directories)
132+ {
133+ struct cpp_dir *p;
134+
135+ for (p = heads[QUOTE]; p; p = p->next)
136+ {
137+ if ((!strncmp (p->name, "/usr/include", 12))
138+ || (!strncmp (p->name, "/usr/local/include", 18))
139+ || (!strncmp (p->name, "/usr/X11R6/include", 18)))
140+ warning (OPT_Wpoison_system_directories,
141+ "include location \"%s\" is unsafe for "
142+ "cross-compilation",
143+ p->name);
144+ }
145+ }
146+#endif
147 }
148
149 /* Use given -I paths for #include "..." but not #include <...>, and
150diff -ur gcc-4.5.0.orig/gcc/Makefile.in gcc-4.5.0/gcc/Makefile.in
151--- gcc-4.5.0.orig/gcc/Makefile.in 2010-09-29 17:13:49.164088845 -0500
152+++ gcc-4.5.0/gcc/Makefile.in 2010-09-29 18:48:19.300178501 -0500
153@@ -1965,7 +1965,7 @@
154
155 incpath.o: incpath.c incpath.h $(CONFIG_H) $(SYSTEM_H) $(CPPLIB_H) \
156 intl.h prefix.h coretypes.h $(TM_H) cppdefault.h $(TARGET_H) \
157- $(MACHMODE_H)
158+ $(MACHMODE_H) $(FLAGS_H) toplev.h
159
160 c-decl.o : c-decl.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) \
161 $(RTL_H) $(C_TREE_H) $(GGC_H) $(TARGET_H) $(FLAGS_H) $(FUNCTION_H) output.h \
162diff -ur gcc-4.5.0.orig/gcc/configure gcc-4.5.0/gcc/configure
163--- gcc-4.5.0.orig/gcc/configure 2010-09-29 14:58:31.702054881 -0500
164+++ gcc-4.5.0/gcc/configure 2010-09-29 18:46:31.486068500 -0500
165@@ -913,6 +913,7 @@
166 enable_maintainer_mode
167 enable_version_specific_runtime_libs
168 with_slibdir
169+enable_poison_system_directories
170 enable_plugin
171 enable_target_optspace
172 '
173@@ -1621,6 +1622,8 @@
174 --enable-version-specific-runtime-libs
175 specify that runtime libraries should be
176 installed in a compiler-specific directory
177+ --enable-poison-system-directories
178+ warn for use of native system header directories
179 --enable-plugin enable plugin support
180
181 Optional Packages:
182@@ -25339,6 +25377,19 @@
183
184
185
186+# Check whether --enable-poison-system-directories was given.
187+if test "${enable_poison_system_directories+set}" = set; then :
188+ enableval=$enable_poison_system_directories;
189+else
190+ enable_poison_system_directories=no
191+fi
192+
193+if test "x${enable_poison_system_directories}" = "xyes"; then
194+
195+$as_echo "#define ENABLE_POISON_SYSTEM_DIRECTORIES 1" >>confdefs.h
196+
197+fi
198+
199 # Substitute configuration variables
200
201
diff --git a/recipes-devtools/gcc/gcc-4.5/gcc-pr43698-arm-rev-instr.patch b/recipes-devtools/gcc/gcc-4.5/gcc-pr43698-arm-rev-instr.patch
new file mode 100644
index 0000000000..61c883e1ff
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/gcc-pr43698-arm-rev-instr.patch
@@ -0,0 +1,117 @@
1backport http://gcc.gnu.org/viewcvs?view=revision&revision=162404
2from trunk
3
4Which fixes http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43698
5
62010-07-22 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
7
8 PR target/43698
9 * config/arm/arm.md: Split arm_rev into *arm_rev
10 and *thumb1_rev. Set *arm_rev to be predicable.
11
122010-07-22 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
13
14 PR target/43698
15 * gcc.target/arm/pr43698.c: New test.
16
17
18/scratch/oe/sysroots/i686-linux/usr/share/quilt/compat/date
19Usage: date [OPTION]... [+FORMAT]
20Display the current time in the given FORMAT.
21
22 -d, --date=STRING display time described by STRING, not `now'
23 -f, --file=DATEFILE like --date once for each line of DATEFILE
24 -R, --rfc-822 output RFC-822 compliant date string
25 -u, --utc, --universal print or set Coordinated Universal Time
26 --help display this help and exit
27date is /scratch/oe/sysroots/i686-linux/usr/share/quilt/compat/date
28date is /scratch/oe/sysroots/i686-linux/usr/share/quilt/compat/date
29date is /bin/date
30date is /scratch/oe/sysroots/i686-linux/usr/share/quilt/compat/date
31date is /scratch/oe/sysroots/i686-linux/usr/share/quilt/compat/date
32date is /bin/date
33date is /scratch/oe/sysroots/i686-linux/usr/share/quilt/compat/date
34date is /scratch/oe/sysroots/i686-linux/usr/share/quilt/compat/date
35date is /bin/date
36date is /scratch/oe/sysroots/i686-linux/usr/share/quilt/compat/date
37date is /scratch/oe/sysroots/i686-linux/usr/share/quilt/compat/date
38date is /bin/date
39date
40Khem
41Index: gcc-4.5/gcc/config/arm/arm.md
42===================================================================
43--- gcc-4.5.orig/gcc/config/arm/arm.md 2010-07-20 20:31:25.000000000 -0700
44+++ gcc-4.5/gcc/config/arm/arm.md 2010-07-22 14:55:54.303169081 -0700
45@@ -11197,15 +11197,21 @@
46 (set_attr "length" "4")]
47 )
48
49-(define_insn "arm_rev"
50+(define_insn "*arm_rev"
51 [(set (match_operand:SI 0 "s_register_operand" "=r")
52 (bswap:SI (match_operand:SI 1 "s_register_operand" "r")))]
53- "TARGET_EITHER && arm_arch6"
54- "rev\t%0, %1"
55- [(set (attr "length")
56- (if_then_else (eq_attr "is_thumb" "yes")
57- (const_int 2)
58- (const_int 4)))]
59+ "TARGET_32BIT && arm_arch6"
60+ "rev%?\t%0, %1"
61+ [(set_attr "predicable" "yes")
62+ (set_attr "length" "4")]
63+)
64+
65+(define_insn "*thumb1_rev"
66+ [(set (match_operand:SI 0 "s_register_operand" "=l")
67+ (bswap:SI (match_operand:SI 1 "s_register_operand" "l")))]
68+ "TARGET_THUMB1 && arm_arch6"
69+ "rev\t%0, %1"
70+ [(set_attr "length" "2")]
71 )
72
73 (define_expand "arm_legacy_rev"
74Index: gcc-4.5/gcc/testsuite/gcc.target/arm/pr43698.c
75===================================================================
76--- /dev/null 1970-01-01 00:00:00.000000000 +0000
77+++ gcc-4.5/gcc/testsuite/gcc.target/arm/pr43698.c 2010-07-22 14:56:35.406670213 -0700
78@@ -0,0 +1,39 @@
79+/* { dg-do run } */
80+/* { dg-options "-Os -march=armv7-a" } */
81+#include <stdint.h>
82+#include <stdlib.h>
83+
84+
85+char do_reverse_endian = 0;
86+
87+# define bswap_32(x) \
88+ ((((x) & 0xff000000) >> 24) | \
89+ (((x) & 0x00ff0000) >> 8) | \
90+ (((x) & 0x0000ff00) << 8) | \
91+ (((x) & 0x000000ff) << 24))
92+
93+#define EGET(X) \
94+ (__extension__ ({ \
95+ uint64_t __res; \
96+ if (!do_reverse_endian) { __res = (X); \
97+ } else if (sizeof(X) == 4) { __res = bswap_32((X)); \
98+ } \
99+ __res; \
100+ }))
101+
102+void __attribute__((noinline)) X(char **phdr, char **data, int *phoff)
103+{
104+ *phdr = *data + EGET(*phoff);
105+}
106+
107+int main()
108+{
109+ char *phdr;
110+ char *data = (char *)0x40164000;
111+ int phoff = 0x34;
112+ X(&phdr, &data, &phoff);
113+ if (phdr != (char *)0x40164034)
114+ abort ();
115+ exit (0);
116+}
117+
diff --git a/recipes-devtools/gcc/gcc-4.5/gcc-scalar-widening-pr45847.patch b/recipes-devtools/gcc/gcc-4.5/gcc-scalar-widening-pr45847.patch
new file mode 100644
index 0000000000..cbe12303e8
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/gcc-scalar-widening-pr45847.patch
@@ -0,0 +1,63 @@
1Hi,
2
3The attached patch fixes Bugzilla 45847
4(http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45847). When compiling
5without -mvectorize-with-neon-quad and vectorizing scalar widening
6operations that widen words to double words, there are no corresponding
7vector types for DI scalar types. For this scenario, a call to
8get_vect_type_for_scalar_type() returns NULL and an absent NULL-check
9caused this segfault. The attached patch adds this NULL-check. Also,
10this is consistent with all the other places where a NULL-check follows
11a call to get_vect_type_for_scalar_type() in tree-vect-patterns.c.
12
13Regression tested with arm-linux-gnueabi. OK?
14
15--
16Tejas Belagod
17ARM.
18
19gcc/
20
212010-10-05 Tejas Belagod <tejas.belagod@arm.com>
22
23 * tree-vect-patterns.c (vect_recog_widen_mult_pattern): Add NULL
24 check for vectype_out returned by get_vectype_for_scalar_type().
25
26testsuite/
27
282010-10-05 Tejas Belagod <tejas.belagod@arm.com>
29
30 * gcc.dg/vect/pr45847.c: New test.
31
32Index: gcc-4.5/gcc/testsuite/gcc.dg/vect/pr45847.c
33===================================================================
34--- /dev/null
35+++ gcc-4.5/gcc/testsuite/gcc.dg/vect/pr45847.c
36@@ -0,0 +1,15 @@
37+/* { dg-do compile } */
38+
39+
40+long long foo (long long *__restrict a, int *__restrict b, int *__restrict c )
41+{
42+ int i;
43+ long long sum=0;
44+ for (i=0;i<256;i++)
45+ sum += (long long)b[i] * c[i];
46+
47+ return sum;
48+}
49+
50+/* { dg-final { cleanup-tree-dump "vect" } } */
51+
52Index: gcc-4.5/gcc/tree-vect-patterns.c
53===================================================================
54--- gcc-4.5.orig/gcc/tree-vect-patterns.c
55+++ gcc-4.5/gcc/tree-vect-patterns.c
56@@ -411,6 +411,7 @@ vect_recog_widen_mult_pattern (gimple la
57 /* Check target support */
58 vectype = get_vectype_for_scalar_type (half_type0);
59 if (!vectype
60+ || !get_vectype_for_scalar_type (type)
61 || !supportable_widening_operation (WIDEN_MULT_EXPR, last_stmt, vectype,
62 &dummy, &dummy, &dummy_code,
63 &dummy_code, &dummy_int, &dummy_vec))
diff --git a/recipes-devtools/gcc/gcc-4.5/gcc-uclibc-locale-ctype_touplow_t.patch b/recipes-devtools/gcc/gcc-4.5/gcc-uclibc-locale-ctype_touplow_t.patch
new file mode 100644
index 0000000000..4f94fc9d66
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/gcc-uclibc-locale-ctype_touplow_t.patch
@@ -0,0 +1,67 @@
1Index: gcc-4.5/libstdc++-v3/config/locale/generic/c_locale.h
2===================================================================
3--- gcc-4.5.orig/libstdc++-v3/config/locale/generic/c_locale.h 2010-06-30 22:30:53.993316002 -0700
4+++ gcc-4.5/libstdc++-v3/config/locale/generic/c_locale.h 2010-06-30 22:31:26.043316001 -0700
5@@ -41,12 +41,17 @@
6
7 #include <clocale>
8 #include <cstddef>
9+#include <features.h>
10+#include <ctype.h>
11
12 #define _GLIBCXX_NUM_CATEGORIES 0
13
14 _GLIBCXX_BEGIN_NAMESPACE(std)
15-
16- typedef int* __c_locale;
17+#ifdef __UCLIBC__
18+ typedef __ctype_touplow_t* __c_locale;
19+#else
20+ typedef int* __c_locale;
21+#endif
22
23 // Convert numeric value of type double and long double to string and
24 // return length of string. If vsnprintf is available use it, otherwise
25Index: gcc-4.5/libstdc++-v3/config/os/gnu-linux/ctype_base.h
26===================================================================
27--- gcc-4.5.orig/libstdc++-v3/config/os/gnu-linux/ctype_base.h 2010-06-30 22:30:54.013316002 -0700
28+++ gcc-4.5/libstdc++-v3/config/os/gnu-linux/ctype_base.h 2010-06-30 22:31:26.053316001 -0700
29@@ -33,14 +33,21 @@
30 */
31
32 // Information as gleaned from /usr/include/ctype.h
33-
34+
35+#include <features.h>
36+#include <ctype.h>
37+
38 _GLIBCXX_BEGIN_NAMESPACE(std)
39
40 /// @brief Base class for ctype.
41 struct ctype_base
42 {
43 // Non-standard typedefs.
44- typedef const int* __to_type;
45+#ifdef __UCLIBC__
46+ typedef const __ctype_touplow_t* __to_type;
47+#else
48+ typedef const int* __to_type;
49+#endif
50
51 // NB: Offsets into ctype<char>::_M_table force a particular size
52 // on the mask type. Because of this, we don't use an enum.
53Index: gcc-4.5/libstdc++-v3/config/locale/generic/c_locale.cc
54===================================================================
55--- gcc-4.5.orig/libstdc++-v3/config/locale/generic/c_locale.cc 2010-06-28 12:12:42.000000000 -0700
56+++ gcc-4.5/libstdc++-v3/config/locale/generic/c_locale.cc 2010-06-30 22:31:26.063316001 -0700
57@@ -256,5 +256,10 @@ _GLIBCXX_END_NAMESPACE
58 #ifdef _GLIBCXX_LONG_DOUBLE_COMPAT
59 #define _GLIBCXX_LDBL_COMPAT(dbl, ldbl) \
60 extern "C" void ldbl (void) __attribute__ ((alias (#dbl)))
61+#ifdef __UCLIBC__
62+// This is because __c_locale is of type __ctype_touplow_t* which is short on uclibc. for glibc its int*
63+_GLIBCXX_LDBL_COMPAT(_ZSt14__convert_to_vIdEvPKcRT_RSt12_Ios_IostateRKPs, _ZSt14__convert_to_vIeEvPKcRT_RSt12_Ios_IostateRKPs);
64+#else
65 _GLIBCXX_LDBL_COMPAT(_ZSt14__convert_to_vIdEvPKcRT_RSt12_Ios_IostateRKPi, _ZSt14__convert_to_vIeEvPKcRT_RSt12_Ios_IostateRKPi);
66+#endif
67 #endif // _GLIBCXX_LONG_DOUBLE_COMPAT
diff --git a/recipes-devtools/gcc/gcc-4.5/gcc-vmovl-PR45805.patch b/recipes-devtools/gcc/gcc-4.5/gcc-vmovl-PR45805.patch
new file mode 100644
index 0000000000..e228cb754c
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/gcc-vmovl-PR45805.patch
@@ -0,0 +1,27 @@
1Source: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45805
2
3Index: gcc-4.5/gcc/config/arm/neon.md
4===================================================================
5--- gcc-4.5.orig/gcc/config/arm/neon.md 2010-09-28 12:04:38.000000000 -0700
6+++ gcc-4.5/gcc/config/arm/neon.md 2010-09-28 12:07:28.026227000 -0700
7@@ -5682,9 +5682,9 @@
8 ;; Vectorize for non-neon-quad case
9 (define_insn "neon_unpack<US>_<mode>"
10 [(set (match_operand:<V_widen> 0 "register_operand" "=w")
11- (SE:<V_widen> (match_operand:VDI 1 "register_operand" "")))]
12+ (SE:<V_widen> (match_operand:VDI 1 "register_operand" "w")))]
13 "TARGET_NEON"
14- "vmovl.<US><V_sz_elem> %q0, %1"
15+ "vmovl.<US><V_sz_elem> %q0, %P1"
16 [(set_attr "neon_type" "neon_shift_1")]
17 )
18
19@@ -5721,7 +5721,7 @@
20 (SE:<V_widen>
21 (match_operand:VDI 2 "register_operand" "w"))))]
22 "TARGET_NEON"
23- "vmull.<US><V_sz_elem> %q0, %1, %2"
24+ "vmull.<US><V_sz_elem> %q0, %P1, %P2"
25 [(set_attr "neon_type" "neon_shift_1")]
26 )
27
diff --git a/recipes-devtools/gcc/gcc-4.5/gcc_revert_base_version_to_4.5.0.patch b/recipes-devtools/gcc/gcc-4.5/gcc_revert_base_version_to_4.5.0.patch
new file mode 100644
index 0000000000..5f134ef338
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/gcc_revert_base_version_to_4.5.0.patch
@@ -0,0 +1,9 @@
1the svn patch changed the BASE-VER to 4.5.1, bring it back to 4.5.0
2- Nitin A Kamble nitin.a.kamble@intel.com
3- 2010/07/20
4
5--- gcc-4.5.0/gcc/BASE-VER 2010-07-20 00:57:37.000000000 -0700
6+++ gcc-4.5.0.new/gcc/BASE-VER 2010-07-20 01:06:17.000000000 -0700
7@@ -1 +1 @@
8-4.5.1
9+4.5.0
diff --git a/recipes-devtools/gcc/gcc-4.5/libstdc++-emit-__cxa_end_cleanup-in-text.patch b/recipes-devtools/gcc/gcc-4.5/libstdc++-emit-__cxa_end_cleanup-in-text.patch
new file mode 100644
index 0000000000..ada36a5914
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/libstdc++-emit-__cxa_end_cleanup-in-text.patch
@@ -0,0 +1,40 @@
12010-06-07 Khem Raj <raj.khem@gmail.com>
2
3 * libsupc++/eh_arm.cc (__cxa_end_cleanup): Use .pushsection/.popsection
4 to emit inline assembly into .text section.
5
6Index: gcc-4.5/libstdc++-v3/libsupc++/eh_arm.cc
7===================================================================
8--- gcc-4.5.orig/libstdc++-v3/libsupc++/eh_arm.cc 2010-06-04 23:20:18.000000000 -0700
9+++ gcc-4.5/libstdc++-v3/libsupc++/eh_arm.cc 2010-06-08 11:27:34.247541722 -0700
10@@ -157,22 +157,26 @@ __gnu_end_cleanup(void)
11 // Assembly wrapper to call __gnu_end_cleanup without clobbering r1-r3.
12 // Also push r4 to preserve stack alignment.
13 #ifdef __thumb__
14-asm (".global __cxa_end_cleanup\n"
15+asm (" .pushsection .text.__cxa_end_cleanup\n"
16+" .global __cxa_end_cleanup\n"
17 " .type __cxa_end_cleanup, \"function\"\n"
18 " .thumb_func\n"
19 "__cxa_end_cleanup:\n"
20 " push\t{r1, r2, r3, r4}\n"
21 " bl\t__gnu_end_cleanup\n"
22 " pop\t{r1, r2, r3, r4}\n"
23-" bl\t_Unwind_Resume @ Never returns\n");
24+" bl\t_Unwind_Resume @ Never returns\n"
25+" .popsection\n");
26 #else
27-asm (".global __cxa_end_cleanup\n"
28+asm (" .pushsection .text.__cxa_end_cleanup\n"
29+" .global __cxa_end_cleanup\n"
30 " .type __cxa_end_cleanup, \"function\"\n"
31 "__cxa_end_cleanup:\n"
32 " stmfd\tsp!, {r1, r2, r3, r4}\n"
33 " bl\t__gnu_end_cleanup\n"
34 " ldmfd\tsp!, {r1, r2, r3, r4}\n"
35-" bl\t_Unwind_Resume @ Never returns\n");
36+" bl\t_Unwind_Resume @ Never returns\n"
37+" .popsection\n");
38 #endif
39
40 #endif
diff --git a/recipes-devtools/gcc/gcc-4.5/libstdc++-pic.dpatch b/recipes-devtools/gcc/gcc-4.5/libstdc++-pic.dpatch
new file mode 100644
index 0000000000..70c9e81542
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/libstdc++-pic.dpatch
@@ -0,0 +1,71 @@
1#! /bin/sh -e
2
3# DP: Build and install libstdc++_pic.a library.
4
5dir=
6if [ $# -eq 3 -a "$2" = '-d' ]; then
7 pdir="-d $3"
8 dir="$3/"
9elif [ $# -ne 1 ]; then
10 echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
11 exit 1
12fi
13case "$1" in
14 -patch)
15 patch $pdir -f --no-backup-if-mismatch -p0 < $0
16 ;;
17 -unpatch)
18 patch $pdir -f --no-backup-if-mismatch -R -p0 < $0
19 ;;
20 *)
21 echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
22 exit 1
23esac
24exit 0
25
26diff -ur libstdc++-v3/src/Makefile.am libstdc++-v3/src/Makefile.am
27--- libstdc++-v3/src/Makefile.am~ 2004-04-16 21:04:05.000000000 +0200
28+++ libstdc++-v3/src/Makefile.am 2004-07-03 20:22:43.000000000 +0200
29@@ -210,6 +210,10 @@
30 $(OPT_LDFLAGS) $(SECTION_LDFLAGS) $(AM_CXXFLAGS) $(LDFLAGS) -o $@
31
32
33+install-exec-local:
34+ $(AR) cru libstdc++_pic.a .libs/*.o $(top_builddir)/libsupc++/*.o || touch libstdc++_pic.a
35+ $(INSTALL_DATA) libstdc++_pic.a $(DESTDIR)$(toolexeclibdir)
36+
37 # Added bits to build debug library.
38 if GLIBCXX_BUILD_DEBUG
39 all-local: build_debug
40diff -ur libstdc++-v3/src/Makefile.in libstdc++-v3/src/Makefile.in
41--- libstdc++-v3/src/Makefile.in 2004-07-03 06:41:13.000000000 +0200
42+++ libstdc++-v3/src/Makefile.in 2004-07-03 20:25:05.000000000 +0200
43@@ -611,7 +611,7 @@
44
45 install-data-am: install-data-local
46
47-install-exec-am: install-toolexeclibLTLIBRARIES
48+install-exec-am: install-toolexeclibLTLIBRARIES install-exec-local
49
50 install-info: install-info-am
51
52@@ -644,6 +644,7 @@
53 distclean-libtool distclean-tags distdir dvi dvi-am html \
54 html-am info info-am install install-am install-data \
55 install-data-am install-data-local install-exec \
56+ install-exec-local \
57 install-exec-am install-info install-info-am install-man \
58 install-strip install-toolexeclibLTLIBRARIES installcheck \
59 installcheck-am installdirs maintainer-clean \
60@@ -729,6 +730,11 @@
61 install_debug:
62 (cd ${debugdir} && $(MAKE) \
63 toolexeclibdir=$(glibcxx_toolexeclibdir)/debug install)
64+
65+install-exec-local:
66+ $(AR) cru libstdc++_pic.a .libs/*.o $(top_builddir)/libsupc++/*.o || touch libstdc++_pic.a
67+ $(INSTALL_DATA) libstdc++_pic.a $(DESTDIR)$(toolexeclibdir)
68+
69 # Tell versions [3.59,3.63) of GNU make to not export all variables.
70 # Otherwise a system limit (for SysV at least) may be exceeded.
71 .NOEXPORT:
diff --git a/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99297.patch b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99297.patch
new file mode 100644
index 0000000000..bff745dae0
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99297.patch
@@ -0,0 +1,207 @@
12010-06-28 Julian Brown <julian@codesourcery.com>
2
3 Merge from Sourcery G++ 4.4:
4
5 Daniel Jacobowitz <dan@codesourcery.com>
6 Joseph Myers <joseph@codesourcery.com>
7
8 gcc/
9 * doc/invoke.texi (-Wno-poison-system-directories): Document.
10 * gcc.c (LINK_COMMAND_SPEC): Pass --no-poison-system-directories
11 if -Wno-poison-system-directories and --error-poison-system-directories
12 if -Werror=poison-system-directories to linker.
13 * incpath.c: Include flags.h. Include toplev.h.
14 (merge_include_chains): If ENABLE_POISON_SYSTEM_DIRECTORIES defined
15 and flag_poison_system_directories is true, warn for use of
16 /usr/include, /usr/local/include or /usr/X11R6/include.
17 * Makefile.in (incpath.o): Depend on $(FLAGS_H) and toplev.h.
18 * common.opt (--Wno-poison-system-directories): New.
19 * configure.ac (--enable-poison-system-directories): New option.
20 * configure: Regenerate.
21 * config.in: Regenerate.
22
23Index: gcc-4.5/gcc/Makefile.in
24===================================================================
25--- gcc-4.5.orig/gcc/Makefile.in 2010-09-23 16:44:12.000000000 -0700
26+++ gcc-4.5/gcc/Makefile.in 2010-09-23 16:46:33.552416860 -0700
27@@ -1969,7 +1969,7 @@ gcc.srcextra: gengtype-lex.c
28
29 incpath.o: incpath.c incpath.h $(CONFIG_H) $(SYSTEM_H) $(CPPLIB_H) \
30 intl.h prefix.h coretypes.h $(TM_H) cppdefault.h $(TARGET_H) \
31- $(MACHMODE_H)
32+ $(MACHMODE_H) $(FLAGS_H) toplev.h
33
34 c-decl.o : c-decl.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) \
35 $(RTL_H) $(C_TREE_H) $(GGC_H) $(TARGET_H) $(FLAGS_H) $(FUNCTION_H) output.h \
36Index: gcc-4.5/gcc/common.opt
37===================================================================
38--- gcc-4.5.orig/gcc/common.opt 2010-07-11 16:14:47.000000000 -0700
39+++ gcc-4.5/gcc/common.opt 2010-09-23 16:46:33.556418045 -0700
40@@ -152,6 +152,10 @@ Wpadded
41 Common Var(warn_padded) Warning
42 Warn when padding is required to align structure members
43
44+Wpoison-system-directories
45+Common Var(flag_poison_system_directories) Init(1)
46+Warn for -I and -L options using system directories if cross compiling
47+
48 Wshadow
49 Common Var(warn_shadow) Warning
50 Warn when one local variable shadows another
51Index: gcc-4.5/gcc/config.in
52===================================================================
53--- gcc-4.5.orig/gcc/config.in 2010-07-11 16:14:46.000000000 -0700
54+++ gcc-4.5/gcc/config.in 2010-09-23 16:46:33.556418045 -0700
55@@ -132,6 +132,12 @@
56 #endif
57
58
59+/* Define to warn for use of native system header directories */
60+#ifndef USED_FOR_TARGET
61+#undef ENABLE_POISON_SYSTEM_DIRECTORIES
62+#endif
63+
64+
65 /* Define if you want all operations on RTL (the basic data structure of the
66 optimizer and back end) to be checked for dynamic type safety at runtime.
67 This is quite expensive. */
68Index: gcc-4.5/gcc/configure
69===================================================================
70--- gcc-4.5.orig/gcc/configure 2010-09-23 16:44:11.000000000 -0700
71+++ gcc-4.5/gcc/configure 2010-09-23 16:46:33.572415719 -0700
72@@ -913,6 +913,7 @@ with_system_zlib
73 enable_maintainer_mode
74 enable_version_specific_runtime_libs
75 with_slibdir
76+enable_poison_system_directories
77 enable_plugin
78 '
79 ac_precious_vars='build_alias
80@@ -1620,6 +1621,8 @@ Optional Features:
81 --enable-version-specific-runtime-libs
82 specify that runtime libraries should be
83 installed in a compiler-specific directory
84+ --enable-poison-system-directories
85+ warn for use of native system header directories
86 --enable-plugin enable plugin support
87
88 Optional Packages:
89@@ -25345,6 +25348,19 @@ fi
90
91
92
93+# Check whether --enable-poison-system-directories was given.
94+if test "${enable_poison_system_directories+set}" = set; then :
95+ enableval=$enable_poison_system_directories;
96+else
97+ enable_poison_system_directories=no
98+fi
99+
100+if test "x${enable_poison_system_directories}" = "xyes"; then
101+
102+$as_echo "#define ENABLE_POISON_SYSTEM_DIRECTORIES 1" >>confdefs.h
103+
104+fi
105+
106 # Substitute configuration variables
107
108
109Index: gcc-4.5/gcc/configure.ac
110===================================================================
111--- gcc-4.5.orig/gcc/configure.ac 2010-09-23 16:44:11.000000000 -0700
112+++ gcc-4.5/gcc/configure.ac 2010-09-23 16:46:33.576417624 -0700
113@@ -4439,6 +4439,16 @@ else
114 fi)
115 AC_SUBST(slibdir)
116
117+AC_ARG_ENABLE([poison-system-directories],
118+ AS_HELP_STRING([--enable-poison-system-directories],
119+ [warn for use of native system header directories]),,
120+ [enable_poison_system_directories=no])
121+if test "x${enable_poison_system_directories}" = "xyes"; then
122+ AC_DEFINE([ENABLE_POISON_SYSTEM_DIRECTORIES],
123+ [1],
124+ [Define to warn for use of native system header directories])
125+fi
126+
127 # Substitute configuration variables
128 AC_SUBST(subdirs)
129 AC_SUBST(srcdir)
130Index: gcc-4.5/gcc/doc/invoke.texi
131===================================================================
132--- gcc-4.5.orig/gcc/doc/invoke.texi 2010-09-23 15:33:28.000000000 -0700
133+++ gcc-4.5/gcc/doc/invoke.texi 2010-09-23 16:46:33.584416934 -0700
134@@ -252,6 +252,7 @@ Objective-C and Objective-C++ Dialects}.
135 -Woverlength-strings -Wpacked -Wpacked-bitfield-compat -Wpadded @gol
136 -Wparentheses -Wpedantic-ms-format -Wno-pedantic-ms-format @gol
137 -Wpointer-arith -Wno-pointer-to-int-cast @gol
138+-Wno-poison-system-directories @gol
139 -Wredundant-decls @gol
140 -Wreturn-type -Wsequence-point -Wshadow @gol
141 -Wsign-compare -Wsign-conversion -Wstack-protector @gol
142@@ -3603,6 +3604,14 @@ code. However, note that using @option{
143 option will @emph{not} warn about unknown pragmas in system
144 headers---for that, @option{-Wunknown-pragmas} must also be used.
145
146+@item -Wno-poison-system-directories
147+@opindex Wno-poison-system-directories
148+Do not warn for @option{-I} or @option{-L} options using system
149+directories such as @file{/usr/include} when cross compiling. This
150+option is intended for use in chroot environments when such
151+directories contain the correct headers and libraries for the target
152+system rather than the host.
153+
154 @item -Wfloat-equal
155 @opindex Wfloat-equal
156 @opindex Wno-float-equal
157Index: gcc-4.5/gcc/gcc.c
158===================================================================
159--- gcc-4.5.orig/gcc/gcc.c 2010-07-11 16:14:46.000000000 -0700
160+++ gcc-4.5/gcc/gcc.c 2010-09-23 16:46:33.588417920 -0700
161@@ -792,6 +792,8 @@ proper position among the other output f
162 %{flto} %{fwhopr} %l " LINK_PIE_SPEC \
163 "%X %{o*} %{A} %{d} %{e*} %{m} %{N} %{n} %{r}\
164 %{s} %{t} %{u*} %{x} %{z} %{Z} %{!A:%{!nostdlib:%{!nostartfiles:%S}}}\
165+ %{Wno-poison-system-directories:--no-poison-system-directories}\
166+ %{Werror=poison-system-directories:--error-poison-system-directories}\
167 %{static:} %{L*} %(mfwrap) %(link_libgcc) %o\
168 %{fopenmp|ftree-parallelize-loops=*:%:include(libgomp.spec)%(link_gomp)} %(mflib)\
169 %{fprofile-arcs|fprofile-generate*|coverage:-lgcov}\
170Index: gcc-4.5/gcc/incpath.c
171===================================================================
172--- gcc-4.5.orig/gcc/incpath.c 2010-07-11 16:14:44.000000000 -0700
173+++ gcc-4.5/gcc/incpath.c 2010-09-23 16:46:33.588417920 -0700
174@@ -30,6 +30,8 @@
175 #include "intl.h"
176 #include "incpath.h"
177 #include "cppdefault.h"
178+#include "flags.h"
179+#include "toplev.h"
180
181 /* Microsoft Windows does not natively support inodes.
182 VMS has non-numeric inodes. */
183@@ -353,6 +355,24 @@ merge_include_chains (const char *sysroo
184 }
185 fprintf (stderr, _("End of search list.\n"));
186 }
187+
188+#ifdef ENABLE_POISON_SYSTEM_DIRECTORIES
189+ if (flag_poison_system_directories)
190+ {
191+ struct cpp_dir *p;
192+
193+ for (p = heads[QUOTE]; p; p = p->next)
194+ {
195+ if ((!strncmp (p->name, "/usr/include", 12))
196+ || (!strncmp (p->name, "/usr/local/include", 18))
197+ || (!strncmp (p->name, "/usr/X11R6/include", 18)))
198+ warning (OPT_Wpoison_system_directories,
199+ "include location \"%s\" is unsafe for "
200+ "cross-compilation",
201+ p->name);
202+ }
203+ }
204+#endif
205 }
206
207 /* Use given -I paths for #include "..." but not #include <...>, and
diff --git a/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99298.patch b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99298.patch
new file mode 100644
index 0000000000..1bab3e67f1
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99298.patch
@@ -0,0 +1,26644 @@
12010-07-07 Sandra Loosemore <sandra@codesourcery.com>
2
3 Backport from mainline (originally from Sourcery G++ 4.4):
4
5 2010-05-24 Daniel Jacobowitz <dan@codesourcery.com>
6 Sandra Loosemore <sandra@codesourcery.com>
7
8 gcc/
9 * config/arm/neon-testgen.ml: Use dg-add-options arm_neon.
10 * doc/sourcebuild.texi (Effective-Target Keywords): Update arm_neon_ok
11 description. Add arm_neon_fp16_ok.
12 (Add Options): Add arm_neon and arm_neon_fp16.
13
14 gcc/testsuite/
15 * gcc.target/arm/neon/: Regenerated test cases.
16
17 * gcc.target/arm/neon/polytypes.c,
18 gcc.target/arm/neon-vmla-1.c, gcc.target/arm/neon-vmls-1.c,
19 gcc.target/arm/neon-cond-1.c, gcc.target/arm/neon/vfp-shift-a2t2.c,
20 gcc.target/arm/neon-thumb2-move.c, gcc.dg/torture/arm-fp16-ops-8.c,
21 gcc.dg/torture/arm-fp16-ops-7.c, g++.dg/ext/arm-fp16/arm-fp16-ops-7.C,
22 g++.dg/ext/arm-fp16/arm-fp16-ops-8.C, g++.dg/abi/mangle-neon.C: Use
23 dg-add-options arm_neon.
24
25 * gcc.target/arm/fp16-compile-vcvt.c, gcc.dg/torture/arm-fp16-ops-5.c,
26 gcc.dg/torture/arm-fp16-ops-6.c, g++.dg/ext/arm-fp16/arm-fp16-ops-5.C,
27 g++.dg/ext/arm-fp16/arm-fp16-ops-6.C: Use dg-add-options arm_neon_fp16
28 and arm_neon_fp16_ok.
29
30 * gcc.dg/vect/vect.exp, g++.dg/vect/vect.exp,
31 gfortran.dg/vect/vect.exp: Use add_options_for_arm_neon.
32
33 * lib/target-supports.exp (add_options_for_arm_neon): New.
34 (check_effective_target_arm_neon_ok_nocache): New, from
35 check_effective_target_arm_neon_ok. Check multiple possibilities.
36 (check_effective_target_arm_neon_ok): Use
37 check_effective_target_arm_neon_ok_nocache.
38 (add_options_for_arm_neon_fp16)
39 (check_effective_target_arm_neon_fp16_ok)
40 check_effective_target_arm_neon_fp16_ok_nocache): New.
41 (check_effective_target_arm_neon_hw): Use add_options_for_arm_neon.
42
43
44=== modified file 'gcc/config/arm/neon-testgen.ml'
45--- old/gcc/config/arm/neon-testgen.ml 2010-01-19 14:21:14 +0000
46+++ new/gcc/config/arm/neon-testgen.ml 2010-07-29 15:38:15 +0000
47@@ -51,8 +51,8 @@
48 Printf.fprintf chan "/* This file was autogenerated by neon-testgen. */\n\n";
49 Printf.fprintf chan "/* { dg-do assemble } */\n";
50 Printf.fprintf chan "/* { dg-require-effective-target arm_neon_ok } */\n";
51- Printf.fprintf chan
52- "/* { dg-options \"-save-temps -O0 -mfpu=neon -mfloat-abi=softfp\" } */\n";
53+ Printf.fprintf chan "/* { dg-options \"-save-temps -O0\" } */\n";
54+ Printf.fprintf chan "/* { dg-add-options arm_neon } */\n";
55 Printf.fprintf chan "\n#include \"arm_neon.h\"\n\n";
56 Printf.fprintf chan "void test_%s (void)\n{\n" test_name
57
58
59=== modified file 'gcc/doc/sourcebuild.texi'
60--- old/gcc/doc/sourcebuild.texi 2010-04-07 19:48:12 +0000
61+++ new/gcc/doc/sourcebuild.texi 2010-07-29 15:38:15 +0000
62@@ -1497,8 +1497,14 @@
63 Test system supports executing NEON instructions.
64
65 @item arm_neon_ok
66-ARM Target supports @code{-mfpu=neon -mfloat-abi=softfp}.
67-Some multilibs may be incompatible with these options.
68+@anchor{arm_neon_ok}
69+ARM Target supports @code{-mfpu=neon -mfloat-abi=softfp} or compatible
70+options. Some multilibs may be incompatible with these options.
71+
72+@item arm_neon_fp16_ok
73+@anchor{arm_neon_fp16_ok}
74+ARM Target supports @code{-mfpu=neon-fp16 -mfloat-abi=softfp} or compatible
75+options. Some multilibs may be incompatible with these options.
76
77 @item arm_thumb1_ok
78 ARM target generates Thumb-1 code for @code{-mthumb}.
79@@ -1863,6 +1869,16 @@
80 @item mips16_attribute
81 @code{mips16} function attributes.
82 Only MIPS targets support this feature, and only then in certain modes.
83+
84+@item arm_neon
85+NEON support. Only ARM targets support this feature, and only then
86+in certain modes; see the @ref{arm_neon_ok,,arm_neon_ok effective target
87+keyword}.
88+
89+@item arm_neon_fp16
90+NEON and half-precision floating point support. Only ARM targets
91+support this feature, and only then in certain modes; see
92+the @ref{arm_neon_ok,,arm_neon_fp16_ok effective target keyword}.
93 @end table
94
95 @node Require Support
96
97=== modified file 'gcc/testsuite/g++.dg/abi/mangle-neon.C'
98--- old/gcc/testsuite/g++.dg/abi/mangle-neon.C 2008-08-29 21:19:24 +0000
99+++ new/gcc/testsuite/g++.dg/abi/mangle-neon.C 2010-07-29 15:38:15 +0000
100@@ -2,7 +2,7 @@
101
102 // { dg-do compile }
103 // { dg-require-effective-target arm_neon_ok }
104-// { dg-options "-mfpu=neon -mfloat-abi=softfp" }
105+// { dg-add-options arm_neon }
106
107 #include <arm_neon.h>
108
109
110=== modified file 'gcc/testsuite/g++.dg/ext/arm-fp16/arm-fp16-ops-5.C'
111--- old/gcc/testsuite/g++.dg/ext/arm-fp16/arm-fp16-ops-5.C 2009-06-18 11:30:19 +0000
112+++ new/gcc/testsuite/g++.dg/ext/arm-fp16/arm-fp16-ops-5.C 2010-07-29 15:38:15 +0000
113@@ -1,7 +1,8 @@
114 /* Test various operators on __fp16 and mixed __fp16/float operands. */
115 /* { dg-do compile { target arm*-*-* } } */
116-/* { dg-require-effective-target arm_neon_ok } */
117-/* { dg-options "-mfp16-format=ieee -mfpu=neon-fp16 -mfloat-abi=softfp" } */
118+/* { dg-require-effective-target arm_neon_fp16_ok } */
119+/* { dg-options "-mfp16-format=ieee" } */
120+/* { dg-add-options arm_neon_fp16 } */
121
122 #include "arm-fp16-ops.h"
123
124
125=== modified file 'gcc/testsuite/g++.dg/ext/arm-fp16/arm-fp16-ops-6.C'
126--- old/gcc/testsuite/g++.dg/ext/arm-fp16/arm-fp16-ops-6.C 2009-06-18 11:30:19 +0000
127+++ new/gcc/testsuite/g++.dg/ext/arm-fp16/arm-fp16-ops-6.C 2010-07-29 15:38:15 +0000
128@@ -1,7 +1,8 @@
129 /* Test various operators on __fp16 and mixed __fp16/float operands. */
130 /* { dg-do compile { target arm*-*-* } } */
131-/* { dg-require-effective-target arm_neon_ok } */
132-/* { dg-options "-mfp16-format=ieee -ffast-math -mfpu=neon-fp16 -mfloat-abi=softfp" } */
133+/* { dg-require-effective-target arm_neon_fp16_ok } */
134+/* { dg-options "-mfp16-format=ieee -ffast-math" } */
135+/* { dg-add-options arm_neon_fp16 } */
136
137 #include "arm-fp16-ops.h"
138
139
140=== modified file 'gcc/testsuite/g++.dg/ext/arm-fp16/arm-fp16-ops-7.C'
141--- old/gcc/testsuite/g++.dg/ext/arm-fp16/arm-fp16-ops-7.C 2009-06-18 11:30:19 +0000
142+++ new/gcc/testsuite/g++.dg/ext/arm-fp16/arm-fp16-ops-7.C 2010-07-29 15:38:15 +0000
143@@ -1,7 +1,8 @@
144 /* Test various operators on __fp16 and mixed __fp16/float operands. */
145 /* { dg-do compile { target arm*-*-* } } */
146 /* { dg-require-effective-target arm_neon_ok } */
147-/* { dg-options "-mfp16-format=ieee -mfpu=neon -mfloat-abi=softfp" } */
148+/* { dg-options "-mfp16-format=ieee" } */
149+/* { dg-add-options arm_neon } */
150
151 #include "arm-fp16-ops.h"
152
153
154=== modified file 'gcc/testsuite/g++.dg/ext/arm-fp16/arm-fp16-ops-8.C'
155--- old/gcc/testsuite/g++.dg/ext/arm-fp16/arm-fp16-ops-8.C 2009-06-18 11:30:19 +0000
156+++ new/gcc/testsuite/g++.dg/ext/arm-fp16/arm-fp16-ops-8.C 2010-07-29 15:38:15 +0000
157@@ -1,7 +1,8 @@
158 /* Test various operators on __fp16 and mixed __fp16/float operands. */
159 /* { dg-do compile { target arm*-*-* } } */
160 /* { dg-require-effective-target arm_neon_ok } */
161-/* { dg-options "-mfp16-format=ieee -ffast-math -mfpu=neon -mfloat-abi=softfp" } */
162+/* { dg-options "-mfp16-format=ieee -ffast-math" } */
163+/* { dg-add-options arm_neon } */
164
165 #include "arm-fp16-ops.h"
166
167
168=== modified file 'gcc/testsuite/g++.dg/vect/vect.exp'
169--- old/gcc/testsuite/g++.dg/vect/vect.exp 2009-09-25 04:52:46 +0000
170+++ new/gcc/testsuite/g++.dg/vect/vect.exp 2010-07-29 15:38:15 +0000
171@@ -109,7 +109,7 @@
172 } elseif [istarget "ia64-*-*"] {
173 set dg-do-what-default run
174 } elseif [is-effective-target arm_neon_ok] {
175- lappend DEFAULT_VECTCFLAGS "-mfpu=neon" "-mfloat-abi=softfp"
176+ eval lappend DEFAULT_VECTCFLAGS [add_options_for_arm_neon ""]
177 if [is-effective-target arm_neon_hw] {
178 set dg-do-what-default run
179 } else {
180
181=== modified file 'gcc/testsuite/gcc.dg/torture/arm-fp16-ops-5.c'
182--- old/gcc/testsuite/gcc.dg/torture/arm-fp16-ops-5.c 2009-06-18 11:30:19 +0000
183+++ new/gcc/testsuite/gcc.dg/torture/arm-fp16-ops-5.c 2010-07-29 15:38:15 +0000
184@@ -1,7 +1,8 @@
185 /* Test various operators on __fp16 and mixed __fp16/float operands. */
186 /* { dg-do compile { target arm*-*-* } } */
187-/* { dg-require-effective-target arm_neon_ok } */
188-/* { dg-options "-mfp16-format=ieee -mfpu=neon-fp16 -mfloat-abi=softfp" } */
189+/* { dg-require-effective-target arm_neon_fp16_ok } */
190+/* { dg-options "-mfp16-format=ieee" } */
191+/* { dg-add-options arm_neon_fp16 } */
192
193 #include "arm-fp16-ops.h"
194
195
196=== modified file 'gcc/testsuite/gcc.dg/torture/arm-fp16-ops-6.c'
197--- old/gcc/testsuite/gcc.dg/torture/arm-fp16-ops-6.c 2009-06-18 11:30:19 +0000
198+++ new/gcc/testsuite/gcc.dg/torture/arm-fp16-ops-6.c 2010-07-29 15:38:15 +0000
199@@ -1,7 +1,8 @@
200 /* Test various operators on __fp16 and mixed __fp16/float operands. */
201 /* { dg-do compile { target arm*-*-* } } */
202-/* { dg-require-effective-target arm_neon_ok } */
203-/* { dg-options "-mfp16-format=ieee -ffast-math -mfpu=neon-fp16 -mfloat-abi=softfp" } */
204+/* { dg-require-effective-target arm_neon_fp16_ok } */
205+/* { dg-options "-mfp16-format=ieee -ffast-math" } */
206+/* { dg-add-options arm_neon_fp16 } */
207
208 #include "arm-fp16-ops.h"
209
210
211=== modified file 'gcc/testsuite/gcc.dg/torture/arm-fp16-ops-7.c'
212--- old/gcc/testsuite/gcc.dg/torture/arm-fp16-ops-7.c 2009-06-18 11:30:19 +0000
213+++ new/gcc/testsuite/gcc.dg/torture/arm-fp16-ops-7.c 2010-07-29 15:38:15 +0000
214@@ -1,7 +1,8 @@
215 /* Test various operators on __fp16 and mixed __fp16/float operands. */
216 /* { dg-do compile { target arm*-*-* } } */
217 /* { dg-require-effective-target arm_neon_ok } */
218-/* { dg-options "-mfp16-format=ieee -mfpu=neon -mfloat-abi=softfp" } */
219+/* { dg-options "-mfp16-format=ieee" } */
220+/* { dg-add-options arm_neon } */
221
222 #include "arm-fp16-ops.h"
223
224
225=== modified file 'gcc/testsuite/gcc.dg/torture/arm-fp16-ops-8.c'
226--- old/gcc/testsuite/gcc.dg/torture/arm-fp16-ops-8.c 2009-06-18 11:30:19 +0000
227+++ new/gcc/testsuite/gcc.dg/torture/arm-fp16-ops-8.c 2010-07-29 15:38:15 +0000
228@@ -1,7 +1,8 @@
229 /* Test various operators on __fp16 and mixed __fp16/float operands. */
230 /* { dg-do compile { target arm*-*-* } } */
231 /* { dg-require-effective-target arm_neon_ok } */
232-/* { dg-options "-mfp16-format=ieee -ffast-math -mfpu=neon -mfloat-abi=softfp" } */
233+/* { dg-options "-mfp16-format=ieee -ffast-math" } */
234+/* { dg-add-options arm_neon } */
235
236 #include "arm-fp16-ops.h"
237
238
239=== modified file 'gcc/testsuite/gcc.dg/vect/vect.exp'
240--- old/gcc/testsuite/gcc.dg/vect/vect.exp 2009-09-25 17:53:06 +0000
241+++ new/gcc/testsuite/gcc.dg/vect/vect.exp 2010-07-29 15:38:15 +0000
242@@ -101,7 +101,7 @@
243 } elseif [istarget "ia64-*-*"] {
244 set dg-do-what-default run
245 } elseif [is-effective-target arm_neon_ok] {
246- lappend DEFAULT_VECTCFLAGS "-mfpu=neon" "-mfloat-abi=softfp"
247+ eval lappend DEFAULT_VECTCFLAGS [add_options_for_arm_neon ""]
248 if [is-effective-target arm_neon_hw] {
249 set dg-do-what-default run
250 } else {
251
252=== modified file 'gcc/testsuite/gcc.target/arm/fp16-compile-vcvt.c'
253--- old/gcc/testsuite/gcc.target/arm/fp16-compile-vcvt.c 2009-06-18 11:30:19 +0000
254+++ new/gcc/testsuite/gcc.target/arm/fp16-compile-vcvt.c 2010-07-29 15:38:15 +0000
255@@ -1,6 +1,7 @@
256 /* { dg-do compile } */
257-/* { dg-require-effective-target arm_neon_ok } */
258-/* { dg-options "-mfp16-format=ieee -mfpu=neon-fp16 -mfloat-abi=softfp" } */
259+/* { dg-require-effective-target arm_neon_fp16_ok } */
260+/* { dg-options "-mfp16-format=ieee" } */
261+/* { dg-add-options arm_neon_fp16 } */
262
263 /* Test generation of VFP __fp16 instructions. */
264
265
266=== modified file 'gcc/testsuite/gcc.target/arm/neon-cond-1.c'
267--- old/gcc/testsuite/gcc.target/arm/neon-cond-1.c 2009-01-27 16:14:13 +0000
268+++ new/gcc/testsuite/gcc.target/arm/neon-cond-1.c 2010-07-29 15:38:15 +0000
269@@ -1,6 +1,7 @@
270 /* { dg-do run } */
271 /* { dg-require-effective-target arm_neon_hw } */
272-/* { dg-options "-O2 -mfpu=neon -mfloat-abi=softfp" } */
273+/* { dg-options "-O2" } */
274+/* { dg-add-options arm_neon } */
275 /* Check that the arm_final_prescan_insn ccfsm code does not try to
276 * conditionally execute NEON instructions. */
277 #include <arm_neon.h>
278
279=== modified file 'gcc/testsuite/gcc.target/arm/neon-thumb2-move.c'
280--- old/gcc/testsuite/gcc.target/arm/neon-thumb2-move.c 2009-10-19 14:22:15 +0000
281+++ new/gcc/testsuite/gcc.target/arm/neon-thumb2-move.c 2010-07-29 15:38:15 +0000
282@@ -1,6 +1,7 @@
283 /* { dg-do compile } */
284 /* { dg-require-effective-target arm_neon_ok } */
285-/* { dg-options "-O2 -mthumb -march=armv7-a -mfloat-abi=softfp -mfpu=neon" } */
286+/* { dg-options "-O2 -mthumb -march=armv7-a" } */
287+/* { dg-add-options arm_neon } */
288
289 #include <arm_neon.h>
290 #include <stddef.h>
291
292=== modified file 'gcc/testsuite/gcc.target/arm/neon-vmla-1.c'
293--- old/gcc/testsuite/gcc.target/arm/neon-vmla-1.c 2009-05-21 15:53:48 +0000
294+++ new/gcc/testsuite/gcc.target/arm/neon-vmla-1.c 2010-07-29 15:38:15 +0000
295@@ -1,5 +1,6 @@
296 /* { dg-require-effective-target arm_neon_hw } */
297-/* { dg-options "-O2 -mfpu=neon -mfloat-abi=softfp -ftree-vectorize" } */
298+/* { dg-options "-O2 -ftree-vectorize" } */
299+/* { dg-add-options arm_neon } */
300 /* { dg-final { scan-assembler "vmla\\.f32" } } */
301
302 /* Verify that VMLA is used. */
303
304=== modified file 'gcc/testsuite/gcc.target/arm/neon-vmls-1.c'
305--- old/gcc/testsuite/gcc.target/arm/neon-vmls-1.c 2009-05-21 15:53:48 +0000
306+++ new/gcc/testsuite/gcc.target/arm/neon-vmls-1.c 2010-07-29 15:38:15 +0000
307@@ -1,5 +1,6 @@
308 /* { dg-require-effective-target arm_neon_hw } */
309-/* { dg-options "-O2 -mfpu=neon -mfloat-abi=softfp -ftree-vectorize" } */
310+/* { dg-options "-O2 -ftree-vectorize" } */
311+/* { dg-add-options arm_neon } */
312 /* { dg-final { scan-assembler "vmls\\.f32" } } */
313
314 /* Verify that VMLS is used. */
315
316=== modified file 'gcc/testsuite/gcc.target/arm/neon/polytypes.c'
317--- old/gcc/testsuite/gcc.target/arm/neon/polytypes.c 2009-07-30 23:17:46 +0000
318+++ new/gcc/testsuite/gcc.target/arm/neon/polytypes.c 2010-07-29 15:38:15 +0000
319@@ -3,7 +3,7 @@
320
321 /* { dg-do compile } */
322 /* { dg-require-effective-target arm_neon_ok } */
323-/* { dg-options "-mfpu=neon -mfloat-abi=softfp" } */
324+/* { dg-add-options arm_neon } */
325
326 #include <arm_neon.h>
327
328
329=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRaddhns16.c'
330--- old/gcc/testsuite/gcc.target/arm/neon/vRaddhns16.c 2007-07-25 11:28:31 +0000
331+++ new/gcc/testsuite/gcc.target/arm/neon/vRaddhns16.c 2010-07-29 15:38:15 +0000
332@@ -3,7 +3,8 @@
333
334 /* { dg-do assemble } */
335 /* { dg-require-effective-target arm_neon_ok } */
336-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
337+/* { dg-options "-save-temps -O0" } */
338+/* { dg-add-options arm_neon } */
339
340 #include "arm_neon.h"
341
342
343=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRaddhns32.c'
344--- old/gcc/testsuite/gcc.target/arm/neon/vRaddhns32.c 2007-07-25 11:28:31 +0000
345+++ new/gcc/testsuite/gcc.target/arm/neon/vRaddhns32.c 2010-07-29 15:38:15 +0000
346@@ -3,7 +3,8 @@
347
348 /* { dg-do assemble } */
349 /* { dg-require-effective-target arm_neon_ok } */
350-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
351+/* { dg-options "-save-temps -O0" } */
352+/* { dg-add-options arm_neon } */
353
354 #include "arm_neon.h"
355
356
357=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRaddhns64.c'
358--- old/gcc/testsuite/gcc.target/arm/neon/vRaddhns64.c 2007-07-25 11:28:31 +0000
359+++ new/gcc/testsuite/gcc.target/arm/neon/vRaddhns64.c 2010-07-29 15:38:15 +0000
360@@ -3,7 +3,8 @@
361
362 /* { dg-do assemble } */
363 /* { dg-require-effective-target arm_neon_ok } */
364-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
365+/* { dg-options "-save-temps -O0" } */
366+/* { dg-add-options arm_neon } */
367
368 #include "arm_neon.h"
369
370
371=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRaddhnu16.c'
372--- old/gcc/testsuite/gcc.target/arm/neon/vRaddhnu16.c 2007-07-25 11:28:31 +0000
373+++ new/gcc/testsuite/gcc.target/arm/neon/vRaddhnu16.c 2010-07-29 15:38:15 +0000
374@@ -3,7 +3,8 @@
375
376 /* { dg-do assemble } */
377 /* { dg-require-effective-target arm_neon_ok } */
378-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
379+/* { dg-options "-save-temps -O0" } */
380+/* { dg-add-options arm_neon } */
381
382 #include "arm_neon.h"
383
384
385=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRaddhnu32.c'
386--- old/gcc/testsuite/gcc.target/arm/neon/vRaddhnu32.c 2007-07-25 11:28:31 +0000
387+++ new/gcc/testsuite/gcc.target/arm/neon/vRaddhnu32.c 2010-07-29 15:38:15 +0000
388@@ -3,7 +3,8 @@
389
390 /* { dg-do assemble } */
391 /* { dg-require-effective-target arm_neon_ok } */
392-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
393+/* { dg-options "-save-temps -O0" } */
394+/* { dg-add-options arm_neon } */
395
396 #include "arm_neon.h"
397
398
399=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRaddhnu64.c'
400--- old/gcc/testsuite/gcc.target/arm/neon/vRaddhnu64.c 2007-07-25 11:28:31 +0000
401+++ new/gcc/testsuite/gcc.target/arm/neon/vRaddhnu64.c 2010-07-29 15:38:15 +0000
402@@ -3,7 +3,8 @@
403
404 /* { dg-do assemble } */
405 /* { dg-require-effective-target arm_neon_ok } */
406-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
407+/* { dg-options "-save-temps -O0" } */
408+/* { dg-add-options arm_neon } */
409
410 #include "arm_neon.h"
411
412
413=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRhaddQs16.c'
414--- old/gcc/testsuite/gcc.target/arm/neon/vRhaddQs16.c 2007-07-25 11:28:31 +0000
415+++ new/gcc/testsuite/gcc.target/arm/neon/vRhaddQs16.c 2010-07-29 15:38:15 +0000
416@@ -3,7 +3,8 @@
417
418 /* { dg-do assemble } */
419 /* { dg-require-effective-target arm_neon_ok } */
420-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
421+/* { dg-options "-save-temps -O0" } */
422+/* { dg-add-options arm_neon } */
423
424 #include "arm_neon.h"
425
426
427=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRhaddQs32.c'
428--- old/gcc/testsuite/gcc.target/arm/neon/vRhaddQs32.c 2007-07-25 11:28:31 +0000
429+++ new/gcc/testsuite/gcc.target/arm/neon/vRhaddQs32.c 2010-07-29 15:38:15 +0000
430@@ -3,7 +3,8 @@
431
432 /* { dg-do assemble } */
433 /* { dg-require-effective-target arm_neon_ok } */
434-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
435+/* { dg-options "-save-temps -O0" } */
436+/* { dg-add-options arm_neon } */
437
438 #include "arm_neon.h"
439
440
441=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRhaddQs8.c'
442--- old/gcc/testsuite/gcc.target/arm/neon/vRhaddQs8.c 2007-07-25 11:28:31 +0000
443+++ new/gcc/testsuite/gcc.target/arm/neon/vRhaddQs8.c 2010-07-29 15:38:15 +0000
444@@ -3,7 +3,8 @@
445
446 /* { dg-do assemble } */
447 /* { dg-require-effective-target arm_neon_ok } */
448-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
449+/* { dg-options "-save-temps -O0" } */
450+/* { dg-add-options arm_neon } */
451
452 #include "arm_neon.h"
453
454
455=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRhaddQu16.c'
456--- old/gcc/testsuite/gcc.target/arm/neon/vRhaddQu16.c 2007-07-25 11:28:31 +0000
457+++ new/gcc/testsuite/gcc.target/arm/neon/vRhaddQu16.c 2010-07-29 15:38:15 +0000
458@@ -3,7 +3,8 @@
459
460 /* { dg-do assemble } */
461 /* { dg-require-effective-target arm_neon_ok } */
462-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
463+/* { dg-options "-save-temps -O0" } */
464+/* { dg-add-options arm_neon } */
465
466 #include "arm_neon.h"
467
468
469=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRhaddQu32.c'
470--- old/gcc/testsuite/gcc.target/arm/neon/vRhaddQu32.c 2007-07-25 11:28:31 +0000
471+++ new/gcc/testsuite/gcc.target/arm/neon/vRhaddQu32.c 2010-07-29 15:38:15 +0000
472@@ -3,7 +3,8 @@
473
474 /* { dg-do assemble } */
475 /* { dg-require-effective-target arm_neon_ok } */
476-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
477+/* { dg-options "-save-temps -O0" } */
478+/* { dg-add-options arm_neon } */
479
480 #include "arm_neon.h"
481
482
483=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRhaddQu8.c'
484--- old/gcc/testsuite/gcc.target/arm/neon/vRhaddQu8.c 2007-07-25 11:28:31 +0000
485+++ new/gcc/testsuite/gcc.target/arm/neon/vRhaddQu8.c 2010-07-29 15:38:15 +0000
486@@ -3,7 +3,8 @@
487
488 /* { dg-do assemble } */
489 /* { dg-require-effective-target arm_neon_ok } */
490-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
491+/* { dg-options "-save-temps -O0" } */
492+/* { dg-add-options arm_neon } */
493
494 #include "arm_neon.h"
495
496
497=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRhadds16.c'
498--- old/gcc/testsuite/gcc.target/arm/neon/vRhadds16.c 2007-07-25 11:28:31 +0000
499+++ new/gcc/testsuite/gcc.target/arm/neon/vRhadds16.c 2010-07-29 15:38:15 +0000
500@@ -3,7 +3,8 @@
501
502 /* { dg-do assemble } */
503 /* { dg-require-effective-target arm_neon_ok } */
504-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
505+/* { dg-options "-save-temps -O0" } */
506+/* { dg-add-options arm_neon } */
507
508 #include "arm_neon.h"
509
510
511=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRhadds32.c'
512--- old/gcc/testsuite/gcc.target/arm/neon/vRhadds32.c 2007-07-25 11:28:31 +0000
513+++ new/gcc/testsuite/gcc.target/arm/neon/vRhadds32.c 2010-07-29 15:38:15 +0000
514@@ -3,7 +3,8 @@
515
516 /* { dg-do assemble } */
517 /* { dg-require-effective-target arm_neon_ok } */
518-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
519+/* { dg-options "-save-temps -O0" } */
520+/* { dg-add-options arm_neon } */
521
522 #include "arm_neon.h"
523
524
525=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRhadds8.c'
526--- old/gcc/testsuite/gcc.target/arm/neon/vRhadds8.c 2007-07-25 11:28:31 +0000
527+++ new/gcc/testsuite/gcc.target/arm/neon/vRhadds8.c 2010-07-29 15:38:15 +0000
528@@ -3,7 +3,8 @@
529
530 /* { dg-do assemble } */
531 /* { dg-require-effective-target arm_neon_ok } */
532-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
533+/* { dg-options "-save-temps -O0" } */
534+/* { dg-add-options arm_neon } */
535
536 #include "arm_neon.h"
537
538
539=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRhaddu16.c'
540--- old/gcc/testsuite/gcc.target/arm/neon/vRhaddu16.c 2007-07-25 11:28:31 +0000
541+++ new/gcc/testsuite/gcc.target/arm/neon/vRhaddu16.c 2010-07-29 15:38:15 +0000
542@@ -3,7 +3,8 @@
543
544 /* { dg-do assemble } */
545 /* { dg-require-effective-target arm_neon_ok } */
546-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
547+/* { dg-options "-save-temps -O0" } */
548+/* { dg-add-options arm_neon } */
549
550 #include "arm_neon.h"
551
552
553=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRhaddu32.c'
554--- old/gcc/testsuite/gcc.target/arm/neon/vRhaddu32.c 2007-07-25 11:28:31 +0000
555+++ new/gcc/testsuite/gcc.target/arm/neon/vRhaddu32.c 2010-07-29 15:38:15 +0000
556@@ -3,7 +3,8 @@
557
558 /* { dg-do assemble } */
559 /* { dg-require-effective-target arm_neon_ok } */
560-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
561+/* { dg-options "-save-temps -O0" } */
562+/* { dg-add-options arm_neon } */
563
564 #include "arm_neon.h"
565
566
567=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRhaddu8.c'
568--- old/gcc/testsuite/gcc.target/arm/neon/vRhaddu8.c 2007-07-25 11:28:31 +0000
569+++ new/gcc/testsuite/gcc.target/arm/neon/vRhaddu8.c 2010-07-29 15:38:15 +0000
570@@ -3,7 +3,8 @@
571
572 /* { dg-do assemble } */
573 /* { dg-require-effective-target arm_neon_ok } */
574-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
575+/* { dg-options "-save-temps -O0" } */
576+/* { dg-add-options arm_neon } */
577
578 #include "arm_neon.h"
579
580
581=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRshlQs16.c'
582--- old/gcc/testsuite/gcc.target/arm/neon/vRshlQs16.c 2007-07-25 11:28:31 +0000
583+++ new/gcc/testsuite/gcc.target/arm/neon/vRshlQs16.c 2010-07-29 15:38:15 +0000
584@@ -3,7 +3,8 @@
585
586 /* { dg-do assemble } */
587 /* { dg-require-effective-target arm_neon_ok } */
588-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
589+/* { dg-options "-save-temps -O0" } */
590+/* { dg-add-options arm_neon } */
591
592 #include "arm_neon.h"
593
594
595=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRshlQs32.c'
596--- old/gcc/testsuite/gcc.target/arm/neon/vRshlQs32.c 2007-07-25 11:28:31 +0000
597+++ new/gcc/testsuite/gcc.target/arm/neon/vRshlQs32.c 2010-07-29 15:38:15 +0000
598@@ -3,7 +3,8 @@
599
600 /* { dg-do assemble } */
601 /* { dg-require-effective-target arm_neon_ok } */
602-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
603+/* { dg-options "-save-temps -O0" } */
604+/* { dg-add-options arm_neon } */
605
606 #include "arm_neon.h"
607
608
609=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRshlQs64.c'
610--- old/gcc/testsuite/gcc.target/arm/neon/vRshlQs64.c 2007-07-25 11:28:31 +0000
611+++ new/gcc/testsuite/gcc.target/arm/neon/vRshlQs64.c 2010-07-29 15:38:15 +0000
612@@ -3,7 +3,8 @@
613
614 /* { dg-do assemble } */
615 /* { dg-require-effective-target arm_neon_ok } */
616-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
617+/* { dg-options "-save-temps -O0" } */
618+/* { dg-add-options arm_neon } */
619
620 #include "arm_neon.h"
621
622
623=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRshlQs8.c'
624--- old/gcc/testsuite/gcc.target/arm/neon/vRshlQs8.c 2007-07-25 11:28:31 +0000
625+++ new/gcc/testsuite/gcc.target/arm/neon/vRshlQs8.c 2010-07-29 15:38:15 +0000
626@@ -3,7 +3,8 @@
627
628 /* { dg-do assemble } */
629 /* { dg-require-effective-target arm_neon_ok } */
630-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
631+/* { dg-options "-save-temps -O0" } */
632+/* { dg-add-options arm_neon } */
633
634 #include "arm_neon.h"
635
636
637=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRshlQu16.c'
638--- old/gcc/testsuite/gcc.target/arm/neon/vRshlQu16.c 2007-07-25 11:28:31 +0000
639+++ new/gcc/testsuite/gcc.target/arm/neon/vRshlQu16.c 2010-07-29 15:38:15 +0000
640@@ -3,7 +3,8 @@
641
642 /* { dg-do assemble } */
643 /* { dg-require-effective-target arm_neon_ok } */
644-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
645+/* { dg-options "-save-temps -O0" } */
646+/* { dg-add-options arm_neon } */
647
648 #include "arm_neon.h"
649
650
651=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRshlQu32.c'
652--- old/gcc/testsuite/gcc.target/arm/neon/vRshlQu32.c 2007-07-25 11:28:31 +0000
653+++ new/gcc/testsuite/gcc.target/arm/neon/vRshlQu32.c 2010-07-29 15:38:15 +0000
654@@ -3,7 +3,8 @@
655
656 /* { dg-do assemble } */
657 /* { dg-require-effective-target arm_neon_ok } */
658-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
659+/* { dg-options "-save-temps -O0" } */
660+/* { dg-add-options arm_neon } */
661
662 #include "arm_neon.h"
663
664
665=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRshlQu64.c'
666--- old/gcc/testsuite/gcc.target/arm/neon/vRshlQu64.c 2007-07-25 11:28:31 +0000
667+++ new/gcc/testsuite/gcc.target/arm/neon/vRshlQu64.c 2010-07-29 15:38:15 +0000
668@@ -3,7 +3,8 @@
669
670 /* { dg-do assemble } */
671 /* { dg-require-effective-target arm_neon_ok } */
672-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
673+/* { dg-options "-save-temps -O0" } */
674+/* { dg-add-options arm_neon } */
675
676 #include "arm_neon.h"
677
678
679=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRshlQu8.c'
680--- old/gcc/testsuite/gcc.target/arm/neon/vRshlQu8.c 2007-07-25 11:28:31 +0000
681+++ new/gcc/testsuite/gcc.target/arm/neon/vRshlQu8.c 2010-07-29 15:38:15 +0000
682@@ -3,7 +3,8 @@
683
684 /* { dg-do assemble } */
685 /* { dg-require-effective-target arm_neon_ok } */
686-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
687+/* { dg-options "-save-temps -O0" } */
688+/* { dg-add-options arm_neon } */
689
690 #include "arm_neon.h"
691
692
693=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRshls16.c'
694--- old/gcc/testsuite/gcc.target/arm/neon/vRshls16.c 2007-07-25 11:28:31 +0000
695+++ new/gcc/testsuite/gcc.target/arm/neon/vRshls16.c 2010-07-29 15:38:15 +0000
696@@ -3,7 +3,8 @@
697
698 /* { dg-do assemble } */
699 /* { dg-require-effective-target arm_neon_ok } */
700-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
701+/* { dg-options "-save-temps -O0" } */
702+/* { dg-add-options arm_neon } */
703
704 #include "arm_neon.h"
705
706
707=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRshls32.c'
708--- old/gcc/testsuite/gcc.target/arm/neon/vRshls32.c 2007-07-25 11:28:31 +0000
709+++ new/gcc/testsuite/gcc.target/arm/neon/vRshls32.c 2010-07-29 15:38:15 +0000
710@@ -3,7 +3,8 @@
711
712 /* { dg-do assemble } */
713 /* { dg-require-effective-target arm_neon_ok } */
714-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
715+/* { dg-options "-save-temps -O0" } */
716+/* { dg-add-options arm_neon } */
717
718 #include "arm_neon.h"
719
720
721=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRshls64.c'
722--- old/gcc/testsuite/gcc.target/arm/neon/vRshls64.c 2007-07-25 11:28:31 +0000
723+++ new/gcc/testsuite/gcc.target/arm/neon/vRshls64.c 2010-07-29 15:38:15 +0000
724@@ -3,7 +3,8 @@
725
726 /* { dg-do assemble } */
727 /* { dg-require-effective-target arm_neon_ok } */
728-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
729+/* { dg-options "-save-temps -O0" } */
730+/* { dg-add-options arm_neon } */
731
732 #include "arm_neon.h"
733
734
735=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRshls8.c'
736--- old/gcc/testsuite/gcc.target/arm/neon/vRshls8.c 2007-07-25 11:28:31 +0000
737+++ new/gcc/testsuite/gcc.target/arm/neon/vRshls8.c 2010-07-29 15:38:15 +0000
738@@ -3,7 +3,8 @@
739
740 /* { dg-do assemble } */
741 /* { dg-require-effective-target arm_neon_ok } */
742-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
743+/* { dg-options "-save-temps -O0" } */
744+/* { dg-add-options arm_neon } */
745
746 #include "arm_neon.h"
747
748
749=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRshlu16.c'
750--- old/gcc/testsuite/gcc.target/arm/neon/vRshlu16.c 2007-07-25 11:28:31 +0000
751+++ new/gcc/testsuite/gcc.target/arm/neon/vRshlu16.c 2010-07-29 15:38:15 +0000
752@@ -3,7 +3,8 @@
753
754 /* { dg-do assemble } */
755 /* { dg-require-effective-target arm_neon_ok } */
756-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
757+/* { dg-options "-save-temps -O0" } */
758+/* { dg-add-options arm_neon } */
759
760 #include "arm_neon.h"
761
762
763=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRshlu32.c'
764--- old/gcc/testsuite/gcc.target/arm/neon/vRshlu32.c 2007-07-25 11:28:31 +0000
765+++ new/gcc/testsuite/gcc.target/arm/neon/vRshlu32.c 2010-07-29 15:38:15 +0000
766@@ -3,7 +3,8 @@
767
768 /* { dg-do assemble } */
769 /* { dg-require-effective-target arm_neon_ok } */
770-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
771+/* { dg-options "-save-temps -O0" } */
772+/* { dg-add-options arm_neon } */
773
774 #include "arm_neon.h"
775
776
777=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRshlu64.c'
778--- old/gcc/testsuite/gcc.target/arm/neon/vRshlu64.c 2007-07-25 11:28:31 +0000
779+++ new/gcc/testsuite/gcc.target/arm/neon/vRshlu64.c 2010-07-29 15:38:15 +0000
780@@ -3,7 +3,8 @@
781
782 /* { dg-do assemble } */
783 /* { dg-require-effective-target arm_neon_ok } */
784-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
785+/* { dg-options "-save-temps -O0" } */
786+/* { dg-add-options arm_neon } */
787
788 #include "arm_neon.h"
789
790
791=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRshlu8.c'
792--- old/gcc/testsuite/gcc.target/arm/neon/vRshlu8.c 2007-07-25 11:28:31 +0000
793+++ new/gcc/testsuite/gcc.target/arm/neon/vRshlu8.c 2010-07-29 15:38:15 +0000
794@@ -3,7 +3,8 @@
795
796 /* { dg-do assemble } */
797 /* { dg-require-effective-target arm_neon_ok } */
798-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
799+/* { dg-options "-save-temps -O0" } */
800+/* { dg-add-options arm_neon } */
801
802 #include "arm_neon.h"
803
804
805=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRshrQ_ns16.c'
806--- old/gcc/testsuite/gcc.target/arm/neon/vRshrQ_ns16.c 2007-07-25 11:28:31 +0000
807+++ new/gcc/testsuite/gcc.target/arm/neon/vRshrQ_ns16.c 2010-07-29 15:38:15 +0000
808@@ -3,7 +3,8 @@
809
810 /* { dg-do assemble } */
811 /* { dg-require-effective-target arm_neon_ok } */
812-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
813+/* { dg-options "-save-temps -O0" } */
814+/* { dg-add-options arm_neon } */
815
816 #include "arm_neon.h"
817
818
819=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRshrQ_ns32.c'
820--- old/gcc/testsuite/gcc.target/arm/neon/vRshrQ_ns32.c 2007-07-25 11:28:31 +0000
821+++ new/gcc/testsuite/gcc.target/arm/neon/vRshrQ_ns32.c 2010-07-29 15:38:15 +0000
822@@ -3,7 +3,8 @@
823
824 /* { dg-do assemble } */
825 /* { dg-require-effective-target arm_neon_ok } */
826-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
827+/* { dg-options "-save-temps -O0" } */
828+/* { dg-add-options arm_neon } */
829
830 #include "arm_neon.h"
831
832
833=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRshrQ_ns64.c'
834--- old/gcc/testsuite/gcc.target/arm/neon/vRshrQ_ns64.c 2007-07-25 11:28:31 +0000
835+++ new/gcc/testsuite/gcc.target/arm/neon/vRshrQ_ns64.c 2010-07-29 15:38:15 +0000
836@@ -3,7 +3,8 @@
837
838 /* { dg-do assemble } */
839 /* { dg-require-effective-target arm_neon_ok } */
840-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
841+/* { dg-options "-save-temps -O0" } */
842+/* { dg-add-options arm_neon } */
843
844 #include "arm_neon.h"
845
846
847=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRshrQ_ns8.c'
848--- old/gcc/testsuite/gcc.target/arm/neon/vRshrQ_ns8.c 2007-07-25 11:28:31 +0000
849+++ new/gcc/testsuite/gcc.target/arm/neon/vRshrQ_ns8.c 2010-07-29 15:38:15 +0000
850@@ -3,7 +3,8 @@
851
852 /* { dg-do assemble } */
853 /* { dg-require-effective-target arm_neon_ok } */
854-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
855+/* { dg-options "-save-temps -O0" } */
856+/* { dg-add-options arm_neon } */
857
858 #include "arm_neon.h"
859
860
861=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRshrQ_nu16.c'
862--- old/gcc/testsuite/gcc.target/arm/neon/vRshrQ_nu16.c 2007-07-25 11:28:31 +0000
863+++ new/gcc/testsuite/gcc.target/arm/neon/vRshrQ_nu16.c 2010-07-29 15:38:15 +0000
864@@ -3,7 +3,8 @@
865
866 /* { dg-do assemble } */
867 /* { dg-require-effective-target arm_neon_ok } */
868-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
869+/* { dg-options "-save-temps -O0" } */
870+/* { dg-add-options arm_neon } */
871
872 #include "arm_neon.h"
873
874
875=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRshrQ_nu32.c'
876--- old/gcc/testsuite/gcc.target/arm/neon/vRshrQ_nu32.c 2007-07-25 11:28:31 +0000
877+++ new/gcc/testsuite/gcc.target/arm/neon/vRshrQ_nu32.c 2010-07-29 15:38:15 +0000
878@@ -3,7 +3,8 @@
879
880 /* { dg-do assemble } */
881 /* { dg-require-effective-target arm_neon_ok } */
882-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
883+/* { dg-options "-save-temps -O0" } */
884+/* { dg-add-options arm_neon } */
885
886 #include "arm_neon.h"
887
888
889=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRshrQ_nu64.c'
890--- old/gcc/testsuite/gcc.target/arm/neon/vRshrQ_nu64.c 2007-07-25 11:28:31 +0000
891+++ new/gcc/testsuite/gcc.target/arm/neon/vRshrQ_nu64.c 2010-07-29 15:38:15 +0000
892@@ -3,7 +3,8 @@
893
894 /* { dg-do assemble } */
895 /* { dg-require-effective-target arm_neon_ok } */
896-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
897+/* { dg-options "-save-temps -O0" } */
898+/* { dg-add-options arm_neon } */
899
900 #include "arm_neon.h"
901
902
903=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRshrQ_nu8.c'
904--- old/gcc/testsuite/gcc.target/arm/neon/vRshrQ_nu8.c 2007-07-25 11:28:31 +0000
905+++ new/gcc/testsuite/gcc.target/arm/neon/vRshrQ_nu8.c 2010-07-29 15:38:15 +0000
906@@ -3,7 +3,8 @@
907
908 /* { dg-do assemble } */
909 /* { dg-require-effective-target arm_neon_ok } */
910-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
911+/* { dg-options "-save-temps -O0" } */
912+/* { dg-add-options arm_neon } */
913
914 #include "arm_neon.h"
915
916
917=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRshr_ns16.c'
918--- old/gcc/testsuite/gcc.target/arm/neon/vRshr_ns16.c 2007-07-25 11:28:31 +0000
919+++ new/gcc/testsuite/gcc.target/arm/neon/vRshr_ns16.c 2010-07-29 15:38:15 +0000
920@@ -3,7 +3,8 @@
921
922 /* { dg-do assemble } */
923 /* { dg-require-effective-target arm_neon_ok } */
924-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
925+/* { dg-options "-save-temps -O0" } */
926+/* { dg-add-options arm_neon } */
927
928 #include "arm_neon.h"
929
930
931=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRshr_ns32.c'
932--- old/gcc/testsuite/gcc.target/arm/neon/vRshr_ns32.c 2007-07-25 11:28:31 +0000
933+++ new/gcc/testsuite/gcc.target/arm/neon/vRshr_ns32.c 2010-07-29 15:38:15 +0000
934@@ -3,7 +3,8 @@
935
936 /* { dg-do assemble } */
937 /* { dg-require-effective-target arm_neon_ok } */
938-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
939+/* { dg-options "-save-temps -O0" } */
940+/* { dg-add-options arm_neon } */
941
942 #include "arm_neon.h"
943
944
945=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRshr_ns64.c'
946--- old/gcc/testsuite/gcc.target/arm/neon/vRshr_ns64.c 2007-07-25 11:28:31 +0000
947+++ new/gcc/testsuite/gcc.target/arm/neon/vRshr_ns64.c 2010-07-29 15:38:15 +0000
948@@ -3,7 +3,8 @@
949
950 /* { dg-do assemble } */
951 /* { dg-require-effective-target arm_neon_ok } */
952-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
953+/* { dg-options "-save-temps -O0" } */
954+/* { dg-add-options arm_neon } */
955
956 #include "arm_neon.h"
957
958
959=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRshr_ns8.c'
960--- old/gcc/testsuite/gcc.target/arm/neon/vRshr_ns8.c 2007-07-25 11:28:31 +0000
961+++ new/gcc/testsuite/gcc.target/arm/neon/vRshr_ns8.c 2010-07-29 15:38:15 +0000
962@@ -3,7 +3,8 @@
963
964 /* { dg-do assemble } */
965 /* { dg-require-effective-target arm_neon_ok } */
966-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
967+/* { dg-options "-save-temps -O0" } */
968+/* { dg-add-options arm_neon } */
969
970 #include "arm_neon.h"
971
972
973=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRshr_nu16.c'
974--- old/gcc/testsuite/gcc.target/arm/neon/vRshr_nu16.c 2007-07-25 11:28:31 +0000
975+++ new/gcc/testsuite/gcc.target/arm/neon/vRshr_nu16.c 2010-07-29 15:38:15 +0000
976@@ -3,7 +3,8 @@
977
978 /* { dg-do assemble } */
979 /* { dg-require-effective-target arm_neon_ok } */
980-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
981+/* { dg-options "-save-temps -O0" } */
982+/* { dg-add-options arm_neon } */
983
984 #include "arm_neon.h"
985
986
987=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRshr_nu32.c'
988--- old/gcc/testsuite/gcc.target/arm/neon/vRshr_nu32.c 2007-07-25 11:28:31 +0000
989+++ new/gcc/testsuite/gcc.target/arm/neon/vRshr_nu32.c 2010-07-29 15:38:15 +0000
990@@ -3,7 +3,8 @@
991
992 /* { dg-do assemble } */
993 /* { dg-require-effective-target arm_neon_ok } */
994-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
995+/* { dg-options "-save-temps -O0" } */
996+/* { dg-add-options arm_neon } */
997
998 #include "arm_neon.h"
999
1000
1001=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRshr_nu64.c'
1002--- old/gcc/testsuite/gcc.target/arm/neon/vRshr_nu64.c 2007-07-25 11:28:31 +0000
1003+++ new/gcc/testsuite/gcc.target/arm/neon/vRshr_nu64.c 2010-07-29 15:38:15 +0000
1004@@ -3,7 +3,8 @@
1005
1006 /* { dg-do assemble } */
1007 /* { dg-require-effective-target arm_neon_ok } */
1008-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
1009+/* { dg-options "-save-temps -O0" } */
1010+/* { dg-add-options arm_neon } */
1011
1012 #include "arm_neon.h"
1013
1014
1015=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRshr_nu8.c'
1016--- old/gcc/testsuite/gcc.target/arm/neon/vRshr_nu8.c 2007-07-25 11:28:31 +0000
1017+++ new/gcc/testsuite/gcc.target/arm/neon/vRshr_nu8.c 2010-07-29 15:38:15 +0000
1018@@ -3,7 +3,8 @@
1019
1020 /* { dg-do assemble } */
1021 /* { dg-require-effective-target arm_neon_ok } */
1022-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
1023+/* { dg-options "-save-temps -O0" } */
1024+/* { dg-add-options arm_neon } */
1025
1026 #include "arm_neon.h"
1027
1028
1029=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRshrn_ns16.c'
1030--- old/gcc/testsuite/gcc.target/arm/neon/vRshrn_ns16.c 2007-07-25 11:28:31 +0000
1031+++ new/gcc/testsuite/gcc.target/arm/neon/vRshrn_ns16.c 2010-07-29 15:38:15 +0000
1032@@ -3,7 +3,8 @@
1033
1034 /* { dg-do assemble } */
1035 /* { dg-require-effective-target arm_neon_ok } */
1036-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
1037+/* { dg-options "-save-temps -O0" } */
1038+/* { dg-add-options arm_neon } */
1039
1040 #include "arm_neon.h"
1041
1042
1043=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRshrn_ns32.c'
1044--- old/gcc/testsuite/gcc.target/arm/neon/vRshrn_ns32.c 2007-07-25 11:28:31 +0000
1045+++ new/gcc/testsuite/gcc.target/arm/neon/vRshrn_ns32.c 2010-07-29 15:38:15 +0000
1046@@ -3,7 +3,8 @@
1047
1048 /* { dg-do assemble } */
1049 /* { dg-require-effective-target arm_neon_ok } */
1050-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
1051+/* { dg-options "-save-temps -O0" } */
1052+/* { dg-add-options arm_neon } */
1053
1054 #include "arm_neon.h"
1055
1056
1057=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRshrn_ns64.c'
1058--- old/gcc/testsuite/gcc.target/arm/neon/vRshrn_ns64.c 2007-07-25 11:28:31 +0000
1059+++ new/gcc/testsuite/gcc.target/arm/neon/vRshrn_ns64.c 2010-07-29 15:38:15 +0000
1060@@ -3,7 +3,8 @@
1061
1062 /* { dg-do assemble } */
1063 /* { dg-require-effective-target arm_neon_ok } */
1064-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
1065+/* { dg-options "-save-temps -O0" } */
1066+/* { dg-add-options arm_neon } */
1067
1068 #include "arm_neon.h"
1069
1070
1071=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRshrn_nu16.c'
1072--- old/gcc/testsuite/gcc.target/arm/neon/vRshrn_nu16.c 2007-07-25 11:28:31 +0000
1073+++ new/gcc/testsuite/gcc.target/arm/neon/vRshrn_nu16.c 2010-07-29 15:38:15 +0000
1074@@ -3,7 +3,8 @@
1075
1076 /* { dg-do assemble } */
1077 /* { dg-require-effective-target arm_neon_ok } */
1078-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
1079+/* { dg-options "-save-temps -O0" } */
1080+/* { dg-add-options arm_neon } */
1081
1082 #include "arm_neon.h"
1083
1084
1085=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRshrn_nu32.c'
1086--- old/gcc/testsuite/gcc.target/arm/neon/vRshrn_nu32.c 2007-07-25 11:28:31 +0000
1087+++ new/gcc/testsuite/gcc.target/arm/neon/vRshrn_nu32.c 2010-07-29 15:38:15 +0000
1088@@ -3,7 +3,8 @@
1089
1090 /* { dg-do assemble } */
1091 /* { dg-require-effective-target arm_neon_ok } */
1092-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
1093+/* { dg-options "-save-temps -O0" } */
1094+/* { dg-add-options arm_neon } */
1095
1096 #include "arm_neon.h"
1097
1098
1099=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRshrn_nu64.c'
1100--- old/gcc/testsuite/gcc.target/arm/neon/vRshrn_nu64.c 2007-07-25 11:28:31 +0000
1101+++ new/gcc/testsuite/gcc.target/arm/neon/vRshrn_nu64.c 2010-07-29 15:38:15 +0000
1102@@ -3,7 +3,8 @@
1103
1104 /* { dg-do assemble } */
1105 /* { dg-require-effective-target arm_neon_ok } */
1106-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
1107+/* { dg-options "-save-temps -O0" } */
1108+/* { dg-add-options arm_neon } */
1109
1110 #include "arm_neon.h"
1111
1112
1113=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRsraQ_ns16.c'
1114--- old/gcc/testsuite/gcc.target/arm/neon/vRsraQ_ns16.c 2007-07-25 11:28:31 +0000
1115+++ new/gcc/testsuite/gcc.target/arm/neon/vRsraQ_ns16.c 2010-07-29 15:38:15 +0000
1116@@ -3,7 +3,8 @@
1117
1118 /* { dg-do assemble } */
1119 /* { dg-require-effective-target arm_neon_ok } */
1120-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
1121+/* { dg-options "-save-temps -O0" } */
1122+/* { dg-add-options arm_neon } */
1123
1124 #include "arm_neon.h"
1125
1126
1127=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRsraQ_ns32.c'
1128--- old/gcc/testsuite/gcc.target/arm/neon/vRsraQ_ns32.c 2007-07-25 11:28:31 +0000
1129+++ new/gcc/testsuite/gcc.target/arm/neon/vRsraQ_ns32.c 2010-07-29 15:38:15 +0000
1130@@ -3,7 +3,8 @@
1131
1132 /* { dg-do assemble } */
1133 /* { dg-require-effective-target arm_neon_ok } */
1134-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
1135+/* { dg-options "-save-temps -O0" } */
1136+/* { dg-add-options arm_neon } */
1137
1138 #include "arm_neon.h"
1139
1140
1141=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRsraQ_ns64.c'
1142--- old/gcc/testsuite/gcc.target/arm/neon/vRsraQ_ns64.c 2007-07-25 11:28:31 +0000
1143+++ new/gcc/testsuite/gcc.target/arm/neon/vRsraQ_ns64.c 2010-07-29 15:38:15 +0000
1144@@ -3,7 +3,8 @@
1145
1146 /* { dg-do assemble } */
1147 /* { dg-require-effective-target arm_neon_ok } */
1148-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
1149+/* { dg-options "-save-temps -O0" } */
1150+/* { dg-add-options arm_neon } */
1151
1152 #include "arm_neon.h"
1153
1154
1155=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRsraQ_ns8.c'
1156--- old/gcc/testsuite/gcc.target/arm/neon/vRsraQ_ns8.c 2007-07-25 11:28:31 +0000
1157+++ new/gcc/testsuite/gcc.target/arm/neon/vRsraQ_ns8.c 2010-07-29 15:38:15 +0000
1158@@ -3,7 +3,8 @@
1159
1160 /* { dg-do assemble } */
1161 /* { dg-require-effective-target arm_neon_ok } */
1162-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
1163+/* { dg-options "-save-temps -O0" } */
1164+/* { dg-add-options arm_neon } */
1165
1166 #include "arm_neon.h"
1167
1168
1169=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRsraQ_nu16.c'
1170--- old/gcc/testsuite/gcc.target/arm/neon/vRsraQ_nu16.c 2007-07-25 11:28:31 +0000
1171+++ new/gcc/testsuite/gcc.target/arm/neon/vRsraQ_nu16.c 2010-07-29 15:38:15 +0000
1172@@ -3,7 +3,8 @@
1173
1174 /* { dg-do assemble } */
1175 /* { dg-require-effective-target arm_neon_ok } */
1176-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
1177+/* { dg-options "-save-temps -O0" } */
1178+/* { dg-add-options arm_neon } */
1179
1180 #include "arm_neon.h"
1181
1182
1183=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRsraQ_nu32.c'
1184--- old/gcc/testsuite/gcc.target/arm/neon/vRsraQ_nu32.c 2007-07-25 11:28:31 +0000
1185+++ new/gcc/testsuite/gcc.target/arm/neon/vRsraQ_nu32.c 2010-07-29 15:38:15 +0000
1186@@ -3,7 +3,8 @@
1187
1188 /* { dg-do assemble } */
1189 /* { dg-require-effective-target arm_neon_ok } */
1190-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
1191+/* { dg-options "-save-temps -O0" } */
1192+/* { dg-add-options arm_neon } */
1193
1194 #include "arm_neon.h"
1195
1196
1197=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRsraQ_nu64.c'
1198--- old/gcc/testsuite/gcc.target/arm/neon/vRsraQ_nu64.c 2007-07-25 11:28:31 +0000
1199+++ new/gcc/testsuite/gcc.target/arm/neon/vRsraQ_nu64.c 2010-07-29 15:38:15 +0000
1200@@ -3,7 +3,8 @@
1201
1202 /* { dg-do assemble } */
1203 /* { dg-require-effective-target arm_neon_ok } */
1204-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
1205+/* { dg-options "-save-temps -O0" } */
1206+/* { dg-add-options arm_neon } */
1207
1208 #include "arm_neon.h"
1209
1210
1211=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRsraQ_nu8.c'
1212--- old/gcc/testsuite/gcc.target/arm/neon/vRsraQ_nu8.c 2007-07-25 11:28:31 +0000
1213+++ new/gcc/testsuite/gcc.target/arm/neon/vRsraQ_nu8.c 2010-07-29 15:38:15 +0000
1214@@ -3,7 +3,8 @@
1215
1216 /* { dg-do assemble } */
1217 /* { dg-require-effective-target arm_neon_ok } */
1218-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
1219+/* { dg-options "-save-temps -O0" } */
1220+/* { dg-add-options arm_neon } */
1221
1222 #include "arm_neon.h"
1223
1224
1225=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRsra_ns16.c'
1226--- old/gcc/testsuite/gcc.target/arm/neon/vRsra_ns16.c 2007-07-25 11:28:31 +0000
1227+++ new/gcc/testsuite/gcc.target/arm/neon/vRsra_ns16.c 2010-07-29 15:38:15 +0000
1228@@ -3,7 +3,8 @@
1229
1230 /* { dg-do assemble } */
1231 /* { dg-require-effective-target arm_neon_ok } */
1232-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
1233+/* { dg-options "-save-temps -O0" } */
1234+/* { dg-add-options arm_neon } */
1235
1236 #include "arm_neon.h"
1237
1238
1239=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRsra_ns32.c'
1240--- old/gcc/testsuite/gcc.target/arm/neon/vRsra_ns32.c 2007-07-25 11:28:31 +0000
1241+++ new/gcc/testsuite/gcc.target/arm/neon/vRsra_ns32.c 2010-07-29 15:38:15 +0000
1242@@ -3,7 +3,8 @@
1243
1244 /* { dg-do assemble } */
1245 /* { dg-require-effective-target arm_neon_ok } */
1246-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
1247+/* { dg-options "-save-temps -O0" } */
1248+/* { dg-add-options arm_neon } */
1249
1250 #include "arm_neon.h"
1251
1252
1253=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRsra_ns64.c'
1254--- old/gcc/testsuite/gcc.target/arm/neon/vRsra_ns64.c 2007-07-25 11:28:31 +0000
1255+++ new/gcc/testsuite/gcc.target/arm/neon/vRsra_ns64.c 2010-07-29 15:38:15 +0000
1256@@ -3,7 +3,8 @@
1257
1258 /* { dg-do assemble } */
1259 /* { dg-require-effective-target arm_neon_ok } */
1260-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
1261+/* { dg-options "-save-temps -O0" } */
1262+/* { dg-add-options arm_neon } */
1263
1264 #include "arm_neon.h"
1265
1266
1267=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRsra_ns8.c'
1268--- old/gcc/testsuite/gcc.target/arm/neon/vRsra_ns8.c 2007-07-25 11:28:31 +0000
1269+++ new/gcc/testsuite/gcc.target/arm/neon/vRsra_ns8.c 2010-07-29 15:38:15 +0000
1270@@ -3,7 +3,8 @@
1271
1272 /* { dg-do assemble } */
1273 /* { dg-require-effective-target arm_neon_ok } */
1274-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
1275+/* { dg-options "-save-temps -O0" } */
1276+/* { dg-add-options arm_neon } */
1277
1278 #include "arm_neon.h"
1279
1280
1281=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRsra_nu16.c'
1282--- old/gcc/testsuite/gcc.target/arm/neon/vRsra_nu16.c 2007-07-25 11:28:31 +0000
1283+++ new/gcc/testsuite/gcc.target/arm/neon/vRsra_nu16.c 2010-07-29 15:38:15 +0000
1284@@ -3,7 +3,8 @@
1285
1286 /* { dg-do assemble } */
1287 /* { dg-require-effective-target arm_neon_ok } */
1288-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
1289+/* { dg-options "-save-temps -O0" } */
1290+/* { dg-add-options arm_neon } */
1291
1292 #include "arm_neon.h"
1293
1294
1295=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRsra_nu32.c'
1296--- old/gcc/testsuite/gcc.target/arm/neon/vRsra_nu32.c 2007-07-25 11:28:31 +0000
1297+++ new/gcc/testsuite/gcc.target/arm/neon/vRsra_nu32.c 2010-07-29 15:38:15 +0000
1298@@ -3,7 +3,8 @@
1299
1300 /* { dg-do assemble } */
1301 /* { dg-require-effective-target arm_neon_ok } */
1302-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
1303+/* { dg-options "-save-temps -O0" } */
1304+/* { dg-add-options arm_neon } */
1305
1306 #include "arm_neon.h"
1307
1308
1309=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRsra_nu64.c'
1310--- old/gcc/testsuite/gcc.target/arm/neon/vRsra_nu64.c 2007-07-25 11:28:31 +0000
1311+++ new/gcc/testsuite/gcc.target/arm/neon/vRsra_nu64.c 2010-07-29 15:38:15 +0000
1312@@ -3,7 +3,8 @@
1313
1314 /* { dg-do assemble } */
1315 /* { dg-require-effective-target arm_neon_ok } */
1316-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
1317+/* { dg-options "-save-temps -O0" } */
1318+/* { dg-add-options arm_neon } */
1319
1320 #include "arm_neon.h"
1321
1322
1323=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRsra_nu8.c'
1324--- old/gcc/testsuite/gcc.target/arm/neon/vRsra_nu8.c 2007-07-25 11:28:31 +0000
1325+++ new/gcc/testsuite/gcc.target/arm/neon/vRsra_nu8.c 2010-07-29 15:38:15 +0000
1326@@ -3,7 +3,8 @@
1327
1328 /* { dg-do assemble } */
1329 /* { dg-require-effective-target arm_neon_ok } */
1330-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
1331+/* { dg-options "-save-temps -O0" } */
1332+/* { dg-add-options arm_neon } */
1333
1334 #include "arm_neon.h"
1335
1336
1337=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRsubhns16.c'
1338--- old/gcc/testsuite/gcc.target/arm/neon/vRsubhns16.c 2007-07-25 11:28:31 +0000
1339+++ new/gcc/testsuite/gcc.target/arm/neon/vRsubhns16.c 2010-07-29 15:38:15 +0000
1340@@ -3,7 +3,8 @@
1341
1342 /* { dg-do assemble } */
1343 /* { dg-require-effective-target arm_neon_ok } */
1344-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
1345+/* { dg-options "-save-temps -O0" } */
1346+/* { dg-add-options arm_neon } */
1347
1348 #include "arm_neon.h"
1349
1350
1351=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRsubhns32.c'
1352--- old/gcc/testsuite/gcc.target/arm/neon/vRsubhns32.c 2007-07-25 11:28:31 +0000
1353+++ new/gcc/testsuite/gcc.target/arm/neon/vRsubhns32.c 2010-07-29 15:38:15 +0000
1354@@ -3,7 +3,8 @@
1355
1356 /* { dg-do assemble } */
1357 /* { dg-require-effective-target arm_neon_ok } */
1358-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
1359+/* { dg-options "-save-temps -O0" } */
1360+/* { dg-add-options arm_neon } */
1361
1362 #include "arm_neon.h"
1363
1364
1365=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRsubhns64.c'
1366--- old/gcc/testsuite/gcc.target/arm/neon/vRsubhns64.c 2007-07-25 11:28:31 +0000
1367+++ new/gcc/testsuite/gcc.target/arm/neon/vRsubhns64.c 2010-07-29 15:38:15 +0000
1368@@ -3,7 +3,8 @@
1369
1370 /* { dg-do assemble } */
1371 /* { dg-require-effective-target arm_neon_ok } */
1372-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
1373+/* { dg-options "-save-temps -O0" } */
1374+/* { dg-add-options arm_neon } */
1375
1376 #include "arm_neon.h"
1377
1378
1379=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRsubhnu16.c'
1380--- old/gcc/testsuite/gcc.target/arm/neon/vRsubhnu16.c 2007-07-25 11:28:31 +0000
1381+++ new/gcc/testsuite/gcc.target/arm/neon/vRsubhnu16.c 2010-07-29 15:38:15 +0000
1382@@ -3,7 +3,8 @@
1383
1384 /* { dg-do assemble } */
1385 /* { dg-require-effective-target arm_neon_ok } */
1386-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
1387+/* { dg-options "-save-temps -O0" } */
1388+/* { dg-add-options arm_neon } */
1389
1390 #include "arm_neon.h"
1391
1392
1393=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRsubhnu32.c'
1394--- old/gcc/testsuite/gcc.target/arm/neon/vRsubhnu32.c 2007-07-25 11:28:31 +0000
1395+++ new/gcc/testsuite/gcc.target/arm/neon/vRsubhnu32.c 2010-07-29 15:38:15 +0000
1396@@ -3,7 +3,8 @@
1397
1398 /* { dg-do assemble } */
1399 /* { dg-require-effective-target arm_neon_ok } */
1400-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
1401+/* { dg-options "-save-temps -O0" } */
1402+/* { dg-add-options arm_neon } */
1403
1404 #include "arm_neon.h"
1405
1406
1407=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRsubhnu64.c'
1408--- old/gcc/testsuite/gcc.target/arm/neon/vRsubhnu64.c 2007-07-25 11:28:31 +0000
1409+++ new/gcc/testsuite/gcc.target/arm/neon/vRsubhnu64.c 2010-07-29 15:38:15 +0000
1410@@ -3,7 +3,8 @@
1411
1412 /* { dg-do assemble } */
1413 /* { dg-require-effective-target arm_neon_ok } */
1414-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
1415+/* { dg-options "-save-temps -O0" } */
1416+/* { dg-add-options arm_neon } */
1417
1418 #include "arm_neon.h"
1419
1420
1421=== modified file 'gcc/testsuite/gcc.target/arm/neon/vabaQs16.c'
1422--- old/gcc/testsuite/gcc.target/arm/neon/vabaQs16.c 2007-07-25 11:28:31 +0000
1423+++ new/gcc/testsuite/gcc.target/arm/neon/vabaQs16.c 2010-07-29 15:38:15 +0000
1424@@ -3,7 +3,8 @@
1425
1426 /* { dg-do assemble } */
1427 /* { dg-require-effective-target arm_neon_ok } */
1428-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
1429+/* { dg-options "-save-temps -O0" } */
1430+/* { dg-add-options arm_neon } */
1431
1432 #include "arm_neon.h"
1433
1434
1435=== modified file 'gcc/testsuite/gcc.target/arm/neon/vabaQs32.c'
1436--- old/gcc/testsuite/gcc.target/arm/neon/vabaQs32.c 2007-07-25 11:28:31 +0000
1437+++ new/gcc/testsuite/gcc.target/arm/neon/vabaQs32.c 2010-07-29 15:38:15 +0000
1438@@ -3,7 +3,8 @@
1439
1440 /* { dg-do assemble } */
1441 /* { dg-require-effective-target arm_neon_ok } */
1442-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
1443+/* { dg-options "-save-temps -O0" } */
1444+/* { dg-add-options arm_neon } */
1445
1446 #include "arm_neon.h"
1447
1448
1449=== modified file 'gcc/testsuite/gcc.target/arm/neon/vabaQs8.c'
1450--- old/gcc/testsuite/gcc.target/arm/neon/vabaQs8.c 2007-07-25 11:28:31 +0000
1451+++ new/gcc/testsuite/gcc.target/arm/neon/vabaQs8.c 2010-07-29 15:38:15 +0000
1452@@ -3,7 +3,8 @@
1453
1454 /* { dg-do assemble } */
1455 /* { dg-require-effective-target arm_neon_ok } */
1456-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
1457+/* { dg-options "-save-temps -O0" } */
1458+/* { dg-add-options arm_neon } */
1459
1460 #include "arm_neon.h"
1461
1462
1463=== modified file 'gcc/testsuite/gcc.target/arm/neon/vabaQu16.c'
1464--- old/gcc/testsuite/gcc.target/arm/neon/vabaQu16.c 2007-07-25 11:28:31 +0000
1465+++ new/gcc/testsuite/gcc.target/arm/neon/vabaQu16.c 2010-07-29 15:38:15 +0000
1466@@ -3,7 +3,8 @@
1467
1468 /* { dg-do assemble } */
1469 /* { dg-require-effective-target arm_neon_ok } */
1470-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
1471+/* { dg-options "-save-temps -O0" } */
1472+/* { dg-add-options arm_neon } */
1473
1474 #include "arm_neon.h"
1475
1476
1477=== modified file 'gcc/testsuite/gcc.target/arm/neon/vabaQu32.c'
1478--- old/gcc/testsuite/gcc.target/arm/neon/vabaQu32.c 2007-07-25 11:28:31 +0000
1479+++ new/gcc/testsuite/gcc.target/arm/neon/vabaQu32.c 2010-07-29 15:38:15 +0000
1480@@ -3,7 +3,8 @@
1481
1482 /* { dg-do assemble } */
1483 /* { dg-require-effective-target arm_neon_ok } */
1484-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
1485+/* { dg-options "-save-temps -O0" } */
1486+/* { dg-add-options arm_neon } */
1487
1488 #include "arm_neon.h"
1489
1490
1491=== modified file 'gcc/testsuite/gcc.target/arm/neon/vabaQu8.c'
1492--- old/gcc/testsuite/gcc.target/arm/neon/vabaQu8.c 2007-07-25 11:28:31 +0000
1493+++ new/gcc/testsuite/gcc.target/arm/neon/vabaQu8.c 2010-07-29 15:38:15 +0000
1494@@ -3,7 +3,8 @@
1495
1496 /* { dg-do assemble } */
1497 /* { dg-require-effective-target arm_neon_ok } */
1498-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
1499+/* { dg-options "-save-temps -O0" } */
1500+/* { dg-add-options arm_neon } */
1501
1502 #include "arm_neon.h"
1503
1504
1505=== modified file 'gcc/testsuite/gcc.target/arm/neon/vabals16.c'
1506--- old/gcc/testsuite/gcc.target/arm/neon/vabals16.c 2007-07-25 11:28:31 +0000
1507+++ new/gcc/testsuite/gcc.target/arm/neon/vabals16.c 2010-07-29 15:38:15 +0000
1508@@ -3,7 +3,8 @@
1509
1510 /* { dg-do assemble } */
1511 /* { dg-require-effective-target arm_neon_ok } */
1512-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
1513+/* { dg-options "-save-temps -O0" } */
1514+/* { dg-add-options arm_neon } */
1515
1516 #include "arm_neon.h"
1517
1518
1519=== modified file 'gcc/testsuite/gcc.target/arm/neon/vabals32.c'
1520--- old/gcc/testsuite/gcc.target/arm/neon/vabals32.c 2007-07-25 11:28:31 +0000
1521+++ new/gcc/testsuite/gcc.target/arm/neon/vabals32.c 2010-07-29 15:38:15 +0000
1522@@ -3,7 +3,8 @@
1523
1524 /* { dg-do assemble } */
1525 /* { dg-require-effective-target arm_neon_ok } */
1526-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
1527+/* { dg-options "-save-temps -O0" } */
1528+/* { dg-add-options arm_neon } */
1529
1530 #include "arm_neon.h"
1531
1532
1533=== modified file 'gcc/testsuite/gcc.target/arm/neon/vabals8.c'
1534--- old/gcc/testsuite/gcc.target/arm/neon/vabals8.c 2007-07-25 11:28:31 +0000
1535+++ new/gcc/testsuite/gcc.target/arm/neon/vabals8.c 2010-07-29 15:38:15 +0000
1536@@ -3,7 +3,8 @@
1537
1538 /* { dg-do assemble } */
1539 /* { dg-require-effective-target arm_neon_ok } */
1540-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
1541+/* { dg-options "-save-temps -O0" } */
1542+/* { dg-add-options arm_neon } */
1543
1544 #include "arm_neon.h"
1545
1546
1547=== modified file 'gcc/testsuite/gcc.target/arm/neon/vabalu16.c'
1548--- old/gcc/testsuite/gcc.target/arm/neon/vabalu16.c 2007-07-25 11:28:31 +0000
1549+++ new/gcc/testsuite/gcc.target/arm/neon/vabalu16.c 2010-07-29 15:38:15 +0000
1550@@ -3,7 +3,8 @@
1551
1552 /* { dg-do assemble } */
1553 /* { dg-require-effective-target arm_neon_ok } */
1554-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
1555+/* { dg-options "-save-temps -O0" } */
1556+/* { dg-add-options arm_neon } */
1557
1558 #include "arm_neon.h"
1559
1560
1561=== modified file 'gcc/testsuite/gcc.target/arm/neon/vabalu32.c'
1562--- old/gcc/testsuite/gcc.target/arm/neon/vabalu32.c 2007-07-25 11:28:31 +0000
1563+++ new/gcc/testsuite/gcc.target/arm/neon/vabalu32.c 2010-07-29 15:38:15 +0000
1564@@ -3,7 +3,8 @@
1565
1566 /* { dg-do assemble } */
1567 /* { dg-require-effective-target arm_neon_ok } */
1568-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
1569+/* { dg-options "-save-temps -O0" } */
1570+/* { dg-add-options arm_neon } */
1571
1572 #include "arm_neon.h"
1573
1574
1575=== modified file 'gcc/testsuite/gcc.target/arm/neon/vabalu8.c'
1576--- old/gcc/testsuite/gcc.target/arm/neon/vabalu8.c 2007-07-25 11:28:31 +0000
1577+++ new/gcc/testsuite/gcc.target/arm/neon/vabalu8.c 2010-07-29 15:38:15 +0000
1578@@ -3,7 +3,8 @@
1579
1580 /* { dg-do assemble } */
1581 /* { dg-require-effective-target arm_neon_ok } */
1582-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
1583+/* { dg-options "-save-temps -O0" } */
1584+/* { dg-add-options arm_neon } */
1585
1586 #include "arm_neon.h"
1587
1588
1589=== modified file 'gcc/testsuite/gcc.target/arm/neon/vabas16.c'
1590--- old/gcc/testsuite/gcc.target/arm/neon/vabas16.c 2007-07-25 11:28:31 +0000
1591+++ new/gcc/testsuite/gcc.target/arm/neon/vabas16.c 2010-07-29 15:38:15 +0000
1592@@ -3,7 +3,8 @@
1593
1594 /* { dg-do assemble } */
1595 /* { dg-require-effective-target arm_neon_ok } */
1596-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
1597+/* { dg-options "-save-temps -O0" } */
1598+/* { dg-add-options arm_neon } */
1599
1600 #include "arm_neon.h"
1601
1602
1603=== modified file 'gcc/testsuite/gcc.target/arm/neon/vabas32.c'
1604--- old/gcc/testsuite/gcc.target/arm/neon/vabas32.c 2007-07-25 11:28:31 +0000
1605+++ new/gcc/testsuite/gcc.target/arm/neon/vabas32.c 2010-07-29 15:38:15 +0000
1606@@ -3,7 +3,8 @@
1607
1608 /* { dg-do assemble } */
1609 /* { dg-require-effective-target arm_neon_ok } */
1610-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
1611+/* { dg-options "-save-temps -O0" } */
1612+/* { dg-add-options arm_neon } */
1613
1614 #include "arm_neon.h"
1615
1616
1617=== modified file 'gcc/testsuite/gcc.target/arm/neon/vabas8.c'
1618--- old/gcc/testsuite/gcc.target/arm/neon/vabas8.c 2007-07-25 11:28:31 +0000
1619+++ new/gcc/testsuite/gcc.target/arm/neon/vabas8.c 2010-07-29 15:38:15 +0000
1620@@ -3,7 +3,8 @@
1621
1622 /* { dg-do assemble } */
1623 /* { dg-require-effective-target arm_neon_ok } */
1624-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
1625+/* { dg-options "-save-temps -O0" } */
1626+/* { dg-add-options arm_neon } */
1627
1628 #include "arm_neon.h"
1629
1630
1631=== modified file 'gcc/testsuite/gcc.target/arm/neon/vabau16.c'
1632--- old/gcc/testsuite/gcc.target/arm/neon/vabau16.c 2007-07-25 11:28:31 +0000
1633+++ new/gcc/testsuite/gcc.target/arm/neon/vabau16.c 2010-07-29 15:38:15 +0000
1634@@ -3,7 +3,8 @@
1635
1636 /* { dg-do assemble } */
1637 /* { dg-require-effective-target arm_neon_ok } */
1638-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
1639+/* { dg-options "-save-temps -O0" } */
1640+/* { dg-add-options arm_neon } */
1641
1642 #include "arm_neon.h"
1643
1644
1645=== modified file 'gcc/testsuite/gcc.target/arm/neon/vabau32.c'
1646--- old/gcc/testsuite/gcc.target/arm/neon/vabau32.c 2007-07-25 11:28:31 +0000
1647+++ new/gcc/testsuite/gcc.target/arm/neon/vabau32.c 2010-07-29 15:38:15 +0000
1648@@ -3,7 +3,8 @@
1649
1650 /* { dg-do assemble } */
1651 /* { dg-require-effective-target arm_neon_ok } */
1652-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
1653+/* { dg-options "-save-temps -O0" } */
1654+/* { dg-add-options arm_neon } */
1655
1656 #include "arm_neon.h"
1657
1658
1659=== modified file 'gcc/testsuite/gcc.target/arm/neon/vabau8.c'
1660--- old/gcc/testsuite/gcc.target/arm/neon/vabau8.c 2007-07-25 11:28:31 +0000
1661+++ new/gcc/testsuite/gcc.target/arm/neon/vabau8.c 2010-07-29 15:38:15 +0000
1662@@ -3,7 +3,8 @@
1663
1664 /* { dg-do assemble } */
1665 /* { dg-require-effective-target arm_neon_ok } */
1666-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
1667+/* { dg-options "-save-temps -O0" } */
1668+/* { dg-add-options arm_neon } */
1669
1670 #include "arm_neon.h"
1671
1672
1673=== modified file 'gcc/testsuite/gcc.target/arm/neon/vabdQf32.c'
1674--- old/gcc/testsuite/gcc.target/arm/neon/vabdQf32.c 2007-07-25 11:28:31 +0000
1675+++ new/gcc/testsuite/gcc.target/arm/neon/vabdQf32.c 2010-07-29 15:38:15 +0000
1676@@ -3,7 +3,8 @@
1677
1678 /* { dg-do assemble } */
1679 /* { dg-require-effective-target arm_neon_ok } */
1680-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
1681+/* { dg-options "-save-temps -O0" } */
1682+/* { dg-add-options arm_neon } */
1683
1684 #include "arm_neon.h"
1685
1686
1687=== modified file 'gcc/testsuite/gcc.target/arm/neon/vabdQs16.c'
1688--- old/gcc/testsuite/gcc.target/arm/neon/vabdQs16.c 2007-07-25 11:28:31 +0000
1689+++ new/gcc/testsuite/gcc.target/arm/neon/vabdQs16.c 2010-07-29 15:38:15 +0000
1690@@ -3,7 +3,8 @@
1691
1692 /* { dg-do assemble } */
1693 /* { dg-require-effective-target arm_neon_ok } */
1694-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
1695+/* { dg-options "-save-temps -O0" } */
1696+/* { dg-add-options arm_neon } */
1697
1698 #include "arm_neon.h"
1699
1700
1701=== modified file 'gcc/testsuite/gcc.target/arm/neon/vabdQs32.c'
1702--- old/gcc/testsuite/gcc.target/arm/neon/vabdQs32.c 2007-07-25 11:28:31 +0000
1703+++ new/gcc/testsuite/gcc.target/arm/neon/vabdQs32.c 2010-07-29 15:38:15 +0000
1704@@ -3,7 +3,8 @@
1705
1706 /* { dg-do assemble } */
1707 /* { dg-require-effective-target arm_neon_ok } */
1708-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
1709+/* { dg-options "-save-temps -O0" } */
1710+/* { dg-add-options arm_neon } */
1711
1712 #include "arm_neon.h"
1713
1714
1715=== modified file 'gcc/testsuite/gcc.target/arm/neon/vabdQs8.c'
1716--- old/gcc/testsuite/gcc.target/arm/neon/vabdQs8.c 2007-07-25 11:28:31 +0000
1717+++ new/gcc/testsuite/gcc.target/arm/neon/vabdQs8.c 2010-07-29 15:38:15 +0000
1718@@ -3,7 +3,8 @@
1719
1720 /* { dg-do assemble } */
1721 /* { dg-require-effective-target arm_neon_ok } */
1722-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
1723+/* { dg-options "-save-temps -O0" } */
1724+/* { dg-add-options arm_neon } */
1725
1726 #include "arm_neon.h"
1727
1728
1729=== modified file 'gcc/testsuite/gcc.target/arm/neon/vabdQu16.c'
1730--- old/gcc/testsuite/gcc.target/arm/neon/vabdQu16.c 2007-07-25 11:28:31 +0000
1731+++ new/gcc/testsuite/gcc.target/arm/neon/vabdQu16.c 2010-07-29 15:38:15 +0000
1732@@ -3,7 +3,8 @@
1733
1734 /* { dg-do assemble } */
1735 /* { dg-require-effective-target arm_neon_ok } */
1736-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
1737+/* { dg-options "-save-temps -O0" } */
1738+/* { dg-add-options arm_neon } */
1739
1740 #include "arm_neon.h"
1741
1742
1743=== modified file 'gcc/testsuite/gcc.target/arm/neon/vabdQu32.c'
1744--- old/gcc/testsuite/gcc.target/arm/neon/vabdQu32.c 2007-07-25 11:28:31 +0000
1745+++ new/gcc/testsuite/gcc.target/arm/neon/vabdQu32.c 2010-07-29 15:38:15 +0000
1746@@ -3,7 +3,8 @@
1747
1748 /* { dg-do assemble } */
1749 /* { dg-require-effective-target arm_neon_ok } */
1750-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
1751+/* { dg-options "-save-temps -O0" } */
1752+/* { dg-add-options arm_neon } */
1753
1754 #include "arm_neon.h"
1755
1756
1757=== modified file 'gcc/testsuite/gcc.target/arm/neon/vabdQu8.c'
1758--- old/gcc/testsuite/gcc.target/arm/neon/vabdQu8.c 2007-07-25 11:28:31 +0000
1759+++ new/gcc/testsuite/gcc.target/arm/neon/vabdQu8.c 2010-07-29 15:38:15 +0000
1760@@ -3,7 +3,8 @@
1761
1762 /* { dg-do assemble } */
1763 /* { dg-require-effective-target arm_neon_ok } */
1764-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
1765+/* { dg-options "-save-temps -O0" } */
1766+/* { dg-add-options arm_neon } */
1767
1768 #include "arm_neon.h"
1769
1770
1771=== modified file 'gcc/testsuite/gcc.target/arm/neon/vabdf32.c'
1772--- old/gcc/testsuite/gcc.target/arm/neon/vabdf32.c 2007-07-25 11:28:31 +0000
1773+++ new/gcc/testsuite/gcc.target/arm/neon/vabdf32.c 2010-07-29 15:38:15 +0000
1774@@ -3,7 +3,8 @@
1775
1776 /* { dg-do assemble } */
1777 /* { dg-require-effective-target arm_neon_ok } */
1778-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
1779+/* { dg-options "-save-temps -O0" } */
1780+/* { dg-add-options arm_neon } */
1781
1782 #include "arm_neon.h"
1783
1784
1785=== modified file 'gcc/testsuite/gcc.target/arm/neon/vabdls16.c'
1786--- old/gcc/testsuite/gcc.target/arm/neon/vabdls16.c 2007-07-25 11:28:31 +0000
1787+++ new/gcc/testsuite/gcc.target/arm/neon/vabdls16.c 2010-07-29 15:38:15 +0000
1788@@ -3,7 +3,8 @@
1789
1790 /* { dg-do assemble } */
1791 /* { dg-require-effective-target arm_neon_ok } */
1792-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
1793+/* { dg-options "-save-temps -O0" } */
1794+/* { dg-add-options arm_neon } */
1795
1796 #include "arm_neon.h"
1797
1798
1799=== modified file 'gcc/testsuite/gcc.target/arm/neon/vabdls32.c'
1800--- old/gcc/testsuite/gcc.target/arm/neon/vabdls32.c 2007-07-25 11:28:31 +0000
1801+++ new/gcc/testsuite/gcc.target/arm/neon/vabdls32.c 2010-07-29 15:38:15 +0000
1802@@ -3,7 +3,8 @@
1803
1804 /* { dg-do assemble } */
1805 /* { dg-require-effective-target arm_neon_ok } */
1806-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
1807+/* { dg-options "-save-temps -O0" } */
1808+/* { dg-add-options arm_neon } */
1809
1810 #include "arm_neon.h"
1811
1812
1813=== modified file 'gcc/testsuite/gcc.target/arm/neon/vabdls8.c'
1814--- old/gcc/testsuite/gcc.target/arm/neon/vabdls8.c 2007-07-25 11:28:31 +0000
1815+++ new/gcc/testsuite/gcc.target/arm/neon/vabdls8.c 2010-07-29 15:38:15 +0000
1816@@ -3,7 +3,8 @@
1817
1818 /* { dg-do assemble } */
1819 /* { dg-require-effective-target arm_neon_ok } */
1820-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
1821+/* { dg-options "-save-temps -O0" } */
1822+/* { dg-add-options arm_neon } */
1823
1824 #include "arm_neon.h"
1825
1826
1827=== modified file 'gcc/testsuite/gcc.target/arm/neon/vabdlu16.c'
1828--- old/gcc/testsuite/gcc.target/arm/neon/vabdlu16.c 2007-07-25 11:28:31 +0000
1829+++ new/gcc/testsuite/gcc.target/arm/neon/vabdlu16.c 2010-07-29 15:38:15 +0000
1830@@ -3,7 +3,8 @@
1831
1832 /* { dg-do assemble } */
1833 /* { dg-require-effective-target arm_neon_ok } */
1834-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
1835+/* { dg-options "-save-temps -O0" } */
1836+/* { dg-add-options arm_neon } */
1837
1838 #include "arm_neon.h"
1839
1840
1841=== modified file 'gcc/testsuite/gcc.target/arm/neon/vabdlu32.c'
1842--- old/gcc/testsuite/gcc.target/arm/neon/vabdlu32.c 2007-07-25 11:28:31 +0000
1843+++ new/gcc/testsuite/gcc.target/arm/neon/vabdlu32.c 2010-07-29 15:38:15 +0000
1844@@ -3,7 +3,8 @@
1845
1846 /* { dg-do assemble } */
1847 /* { dg-require-effective-target arm_neon_ok } */
1848-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
1849+/* { dg-options "-save-temps -O0" } */
1850+/* { dg-add-options arm_neon } */
1851
1852 #include "arm_neon.h"
1853
1854
1855=== modified file 'gcc/testsuite/gcc.target/arm/neon/vabdlu8.c'
1856--- old/gcc/testsuite/gcc.target/arm/neon/vabdlu8.c 2007-07-25 11:28:31 +0000
1857+++ new/gcc/testsuite/gcc.target/arm/neon/vabdlu8.c 2010-07-29 15:38:15 +0000
1858@@ -3,7 +3,8 @@
1859
1860 /* { dg-do assemble } */
1861 /* { dg-require-effective-target arm_neon_ok } */
1862-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
1863+/* { dg-options "-save-temps -O0" } */
1864+/* { dg-add-options arm_neon } */
1865
1866 #include "arm_neon.h"
1867
1868
1869=== modified file 'gcc/testsuite/gcc.target/arm/neon/vabds16.c'
1870--- old/gcc/testsuite/gcc.target/arm/neon/vabds16.c 2007-07-25 11:28:31 +0000
1871+++ new/gcc/testsuite/gcc.target/arm/neon/vabds16.c 2010-07-29 15:38:15 +0000
1872@@ -3,7 +3,8 @@
1873
1874 /* { dg-do assemble } */
1875 /* { dg-require-effective-target arm_neon_ok } */
1876-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
1877+/* { dg-options "-save-temps -O0" } */
1878+/* { dg-add-options arm_neon } */
1879
1880 #include "arm_neon.h"
1881
1882
1883=== modified file 'gcc/testsuite/gcc.target/arm/neon/vabds32.c'
1884--- old/gcc/testsuite/gcc.target/arm/neon/vabds32.c 2007-07-25 11:28:31 +0000
1885+++ new/gcc/testsuite/gcc.target/arm/neon/vabds32.c 2010-07-29 15:38:15 +0000
1886@@ -3,7 +3,8 @@
1887
1888 /* { dg-do assemble } */
1889 /* { dg-require-effective-target arm_neon_ok } */
1890-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
1891+/* { dg-options "-save-temps -O0" } */
1892+/* { dg-add-options arm_neon } */
1893
1894 #include "arm_neon.h"
1895
1896
1897=== modified file 'gcc/testsuite/gcc.target/arm/neon/vabds8.c'
1898--- old/gcc/testsuite/gcc.target/arm/neon/vabds8.c 2007-07-25 11:28:31 +0000
1899+++ new/gcc/testsuite/gcc.target/arm/neon/vabds8.c 2010-07-29 15:38:15 +0000
1900@@ -3,7 +3,8 @@
1901
1902 /* { dg-do assemble } */
1903 /* { dg-require-effective-target arm_neon_ok } */
1904-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
1905+/* { dg-options "-save-temps -O0" } */
1906+/* { dg-add-options arm_neon } */
1907
1908 #include "arm_neon.h"
1909
1910
1911=== modified file 'gcc/testsuite/gcc.target/arm/neon/vabdu16.c'
1912--- old/gcc/testsuite/gcc.target/arm/neon/vabdu16.c 2007-07-25 11:28:31 +0000
1913+++ new/gcc/testsuite/gcc.target/arm/neon/vabdu16.c 2010-07-29 15:38:15 +0000
1914@@ -3,7 +3,8 @@
1915
1916 /* { dg-do assemble } */
1917 /* { dg-require-effective-target arm_neon_ok } */
1918-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
1919+/* { dg-options "-save-temps -O0" } */
1920+/* { dg-add-options arm_neon } */
1921
1922 #include "arm_neon.h"
1923
1924
1925=== modified file 'gcc/testsuite/gcc.target/arm/neon/vabdu32.c'
1926--- old/gcc/testsuite/gcc.target/arm/neon/vabdu32.c 2007-07-25 11:28:31 +0000
1927+++ new/gcc/testsuite/gcc.target/arm/neon/vabdu32.c 2010-07-29 15:38:15 +0000
1928@@ -3,7 +3,8 @@
1929
1930 /* { dg-do assemble } */
1931 /* { dg-require-effective-target arm_neon_ok } */
1932-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
1933+/* { dg-options "-save-temps -O0" } */
1934+/* { dg-add-options arm_neon } */
1935
1936 #include "arm_neon.h"
1937
1938
1939=== modified file 'gcc/testsuite/gcc.target/arm/neon/vabdu8.c'
1940--- old/gcc/testsuite/gcc.target/arm/neon/vabdu8.c 2007-07-25 11:28:31 +0000
1941+++ new/gcc/testsuite/gcc.target/arm/neon/vabdu8.c 2010-07-29 15:38:15 +0000
1942@@ -3,7 +3,8 @@
1943
1944 /* { dg-do assemble } */
1945 /* { dg-require-effective-target arm_neon_ok } */
1946-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
1947+/* { dg-options "-save-temps -O0" } */
1948+/* { dg-add-options arm_neon } */
1949
1950 #include "arm_neon.h"
1951
1952
1953=== modified file 'gcc/testsuite/gcc.target/arm/neon/vabsQf32.c'
1954--- old/gcc/testsuite/gcc.target/arm/neon/vabsQf32.c 2007-07-25 11:28:31 +0000
1955+++ new/gcc/testsuite/gcc.target/arm/neon/vabsQf32.c 2010-07-29 15:38:15 +0000
1956@@ -3,7 +3,8 @@
1957
1958 /* { dg-do assemble } */
1959 /* { dg-require-effective-target arm_neon_ok } */
1960-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
1961+/* { dg-options "-save-temps -O0" } */
1962+/* { dg-add-options arm_neon } */
1963
1964 #include "arm_neon.h"
1965
1966
1967=== modified file 'gcc/testsuite/gcc.target/arm/neon/vabsQs16.c'
1968--- old/gcc/testsuite/gcc.target/arm/neon/vabsQs16.c 2007-07-25 11:28:31 +0000
1969+++ new/gcc/testsuite/gcc.target/arm/neon/vabsQs16.c 2010-07-29 15:38:15 +0000
1970@@ -3,7 +3,8 @@
1971
1972 /* { dg-do assemble } */
1973 /* { dg-require-effective-target arm_neon_ok } */
1974-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
1975+/* { dg-options "-save-temps -O0" } */
1976+/* { dg-add-options arm_neon } */
1977
1978 #include "arm_neon.h"
1979
1980
1981=== modified file 'gcc/testsuite/gcc.target/arm/neon/vabsQs32.c'
1982--- old/gcc/testsuite/gcc.target/arm/neon/vabsQs32.c 2007-07-25 11:28:31 +0000
1983+++ new/gcc/testsuite/gcc.target/arm/neon/vabsQs32.c 2010-07-29 15:38:15 +0000
1984@@ -3,7 +3,8 @@
1985
1986 /* { dg-do assemble } */
1987 /* { dg-require-effective-target arm_neon_ok } */
1988-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
1989+/* { dg-options "-save-temps -O0" } */
1990+/* { dg-add-options arm_neon } */
1991
1992 #include "arm_neon.h"
1993
1994
1995=== modified file 'gcc/testsuite/gcc.target/arm/neon/vabsQs8.c'
1996--- old/gcc/testsuite/gcc.target/arm/neon/vabsQs8.c 2007-07-25 11:28:31 +0000
1997+++ new/gcc/testsuite/gcc.target/arm/neon/vabsQs8.c 2010-07-29 15:38:15 +0000
1998@@ -3,7 +3,8 @@
1999
2000 /* { dg-do assemble } */
2001 /* { dg-require-effective-target arm_neon_ok } */
2002-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
2003+/* { dg-options "-save-temps -O0" } */
2004+/* { dg-add-options arm_neon } */
2005
2006 #include "arm_neon.h"
2007
2008
2009=== modified file 'gcc/testsuite/gcc.target/arm/neon/vabsf32.c'
2010--- old/gcc/testsuite/gcc.target/arm/neon/vabsf32.c 2007-07-25 11:28:31 +0000
2011+++ new/gcc/testsuite/gcc.target/arm/neon/vabsf32.c 2010-07-29 15:38:15 +0000
2012@@ -3,7 +3,8 @@
2013
2014 /* { dg-do assemble } */
2015 /* { dg-require-effective-target arm_neon_ok } */
2016-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
2017+/* { dg-options "-save-temps -O0" } */
2018+/* { dg-add-options arm_neon } */
2019
2020 #include "arm_neon.h"
2021
2022
2023=== modified file 'gcc/testsuite/gcc.target/arm/neon/vabss16.c'
2024--- old/gcc/testsuite/gcc.target/arm/neon/vabss16.c 2007-07-25 11:28:31 +0000
2025+++ new/gcc/testsuite/gcc.target/arm/neon/vabss16.c 2010-07-29 15:38:15 +0000
2026@@ -3,7 +3,8 @@
2027
2028 /* { dg-do assemble } */
2029 /* { dg-require-effective-target arm_neon_ok } */
2030-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
2031+/* { dg-options "-save-temps -O0" } */
2032+/* { dg-add-options arm_neon } */
2033
2034 #include "arm_neon.h"
2035
2036
2037=== modified file 'gcc/testsuite/gcc.target/arm/neon/vabss32.c'
2038--- old/gcc/testsuite/gcc.target/arm/neon/vabss32.c 2007-07-25 11:28:31 +0000
2039+++ new/gcc/testsuite/gcc.target/arm/neon/vabss32.c 2010-07-29 15:38:15 +0000
2040@@ -3,7 +3,8 @@
2041
2042 /* { dg-do assemble } */
2043 /* { dg-require-effective-target arm_neon_ok } */
2044-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
2045+/* { dg-options "-save-temps -O0" } */
2046+/* { dg-add-options arm_neon } */
2047
2048 #include "arm_neon.h"
2049
2050
2051=== modified file 'gcc/testsuite/gcc.target/arm/neon/vabss8.c'
2052--- old/gcc/testsuite/gcc.target/arm/neon/vabss8.c 2007-07-25 11:28:31 +0000
2053+++ new/gcc/testsuite/gcc.target/arm/neon/vabss8.c 2010-07-29 15:38:15 +0000
2054@@ -3,7 +3,8 @@
2055
2056 /* { dg-do assemble } */
2057 /* { dg-require-effective-target arm_neon_ok } */
2058-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
2059+/* { dg-options "-save-temps -O0" } */
2060+/* { dg-add-options arm_neon } */
2061
2062 #include "arm_neon.h"
2063
2064
2065=== modified file 'gcc/testsuite/gcc.target/arm/neon/vaddQf32.c'
2066--- old/gcc/testsuite/gcc.target/arm/neon/vaddQf32.c 2007-07-25 11:28:31 +0000
2067+++ new/gcc/testsuite/gcc.target/arm/neon/vaddQf32.c 2010-07-29 15:38:15 +0000
2068@@ -3,7 +3,8 @@
2069
2070 /* { dg-do assemble } */
2071 /* { dg-require-effective-target arm_neon_ok } */
2072-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
2073+/* { dg-options "-save-temps -O0" } */
2074+/* { dg-add-options arm_neon } */
2075
2076 #include "arm_neon.h"
2077
2078
2079=== modified file 'gcc/testsuite/gcc.target/arm/neon/vaddQs16.c'
2080--- old/gcc/testsuite/gcc.target/arm/neon/vaddQs16.c 2007-07-25 11:28:31 +0000
2081+++ new/gcc/testsuite/gcc.target/arm/neon/vaddQs16.c 2010-07-29 15:38:15 +0000
2082@@ -3,7 +3,8 @@
2083
2084 /* { dg-do assemble } */
2085 /* { dg-require-effective-target arm_neon_ok } */
2086-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
2087+/* { dg-options "-save-temps -O0" } */
2088+/* { dg-add-options arm_neon } */
2089
2090 #include "arm_neon.h"
2091
2092
2093=== modified file 'gcc/testsuite/gcc.target/arm/neon/vaddQs32.c'
2094--- old/gcc/testsuite/gcc.target/arm/neon/vaddQs32.c 2007-07-25 11:28:31 +0000
2095+++ new/gcc/testsuite/gcc.target/arm/neon/vaddQs32.c 2010-07-29 15:38:15 +0000
2096@@ -3,7 +3,8 @@
2097
2098 /* { dg-do assemble } */
2099 /* { dg-require-effective-target arm_neon_ok } */
2100-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
2101+/* { dg-options "-save-temps -O0" } */
2102+/* { dg-add-options arm_neon } */
2103
2104 #include "arm_neon.h"
2105
2106
2107=== modified file 'gcc/testsuite/gcc.target/arm/neon/vaddQs64.c'
2108--- old/gcc/testsuite/gcc.target/arm/neon/vaddQs64.c 2007-07-25 11:28:31 +0000
2109+++ new/gcc/testsuite/gcc.target/arm/neon/vaddQs64.c 2010-07-29 15:38:15 +0000
2110@@ -3,7 +3,8 @@
2111
2112 /* { dg-do assemble } */
2113 /* { dg-require-effective-target arm_neon_ok } */
2114-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
2115+/* { dg-options "-save-temps -O0" } */
2116+/* { dg-add-options arm_neon } */
2117
2118 #include "arm_neon.h"
2119
2120
2121=== modified file 'gcc/testsuite/gcc.target/arm/neon/vaddQs8.c'
2122--- old/gcc/testsuite/gcc.target/arm/neon/vaddQs8.c 2007-07-25 11:28:31 +0000
2123+++ new/gcc/testsuite/gcc.target/arm/neon/vaddQs8.c 2010-07-29 15:38:15 +0000
2124@@ -3,7 +3,8 @@
2125
2126 /* { dg-do assemble } */
2127 /* { dg-require-effective-target arm_neon_ok } */
2128-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
2129+/* { dg-options "-save-temps -O0" } */
2130+/* { dg-add-options arm_neon } */
2131
2132 #include "arm_neon.h"
2133
2134
2135=== modified file 'gcc/testsuite/gcc.target/arm/neon/vaddQu16.c'
2136--- old/gcc/testsuite/gcc.target/arm/neon/vaddQu16.c 2007-07-25 11:28:31 +0000
2137+++ new/gcc/testsuite/gcc.target/arm/neon/vaddQu16.c 2010-07-29 15:38:15 +0000
2138@@ -3,7 +3,8 @@
2139
2140 /* { dg-do assemble } */
2141 /* { dg-require-effective-target arm_neon_ok } */
2142-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
2143+/* { dg-options "-save-temps -O0" } */
2144+/* { dg-add-options arm_neon } */
2145
2146 #include "arm_neon.h"
2147
2148
2149=== modified file 'gcc/testsuite/gcc.target/arm/neon/vaddQu32.c'
2150--- old/gcc/testsuite/gcc.target/arm/neon/vaddQu32.c 2007-07-25 11:28:31 +0000
2151+++ new/gcc/testsuite/gcc.target/arm/neon/vaddQu32.c 2010-07-29 15:38:15 +0000
2152@@ -3,7 +3,8 @@
2153
2154 /* { dg-do assemble } */
2155 /* { dg-require-effective-target arm_neon_ok } */
2156-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
2157+/* { dg-options "-save-temps -O0" } */
2158+/* { dg-add-options arm_neon } */
2159
2160 #include "arm_neon.h"
2161
2162
2163=== modified file 'gcc/testsuite/gcc.target/arm/neon/vaddQu64.c'
2164--- old/gcc/testsuite/gcc.target/arm/neon/vaddQu64.c 2007-07-25 11:28:31 +0000
2165+++ new/gcc/testsuite/gcc.target/arm/neon/vaddQu64.c 2010-07-29 15:38:15 +0000
2166@@ -3,7 +3,8 @@
2167
2168 /* { dg-do assemble } */
2169 /* { dg-require-effective-target arm_neon_ok } */
2170-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
2171+/* { dg-options "-save-temps -O0" } */
2172+/* { dg-add-options arm_neon } */
2173
2174 #include "arm_neon.h"
2175
2176
2177=== modified file 'gcc/testsuite/gcc.target/arm/neon/vaddQu8.c'
2178--- old/gcc/testsuite/gcc.target/arm/neon/vaddQu8.c 2007-07-25 11:28:31 +0000
2179+++ new/gcc/testsuite/gcc.target/arm/neon/vaddQu8.c 2010-07-29 15:38:15 +0000
2180@@ -3,7 +3,8 @@
2181
2182 /* { dg-do assemble } */
2183 /* { dg-require-effective-target arm_neon_ok } */
2184-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
2185+/* { dg-options "-save-temps -O0" } */
2186+/* { dg-add-options arm_neon } */
2187
2188 #include "arm_neon.h"
2189
2190
2191=== modified file 'gcc/testsuite/gcc.target/arm/neon/vaddf32.c'
2192--- old/gcc/testsuite/gcc.target/arm/neon/vaddf32.c 2007-07-25 11:28:31 +0000
2193+++ new/gcc/testsuite/gcc.target/arm/neon/vaddf32.c 2010-07-29 15:38:15 +0000
2194@@ -3,7 +3,8 @@
2195
2196 /* { dg-do assemble } */
2197 /* { dg-require-effective-target arm_neon_ok } */
2198-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
2199+/* { dg-options "-save-temps -O0" } */
2200+/* { dg-add-options arm_neon } */
2201
2202 #include "arm_neon.h"
2203
2204
2205=== modified file 'gcc/testsuite/gcc.target/arm/neon/vaddhns16.c'
2206--- old/gcc/testsuite/gcc.target/arm/neon/vaddhns16.c 2007-07-25 11:28:31 +0000
2207+++ new/gcc/testsuite/gcc.target/arm/neon/vaddhns16.c 2010-07-29 15:38:15 +0000
2208@@ -3,7 +3,8 @@
2209
2210 /* { dg-do assemble } */
2211 /* { dg-require-effective-target arm_neon_ok } */
2212-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
2213+/* { dg-options "-save-temps -O0" } */
2214+/* { dg-add-options arm_neon } */
2215
2216 #include "arm_neon.h"
2217
2218
2219=== modified file 'gcc/testsuite/gcc.target/arm/neon/vaddhns32.c'
2220--- old/gcc/testsuite/gcc.target/arm/neon/vaddhns32.c 2007-07-25 11:28:31 +0000
2221+++ new/gcc/testsuite/gcc.target/arm/neon/vaddhns32.c 2010-07-29 15:38:15 +0000
2222@@ -3,7 +3,8 @@
2223
2224 /* { dg-do assemble } */
2225 /* { dg-require-effective-target arm_neon_ok } */
2226-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
2227+/* { dg-options "-save-temps -O0" } */
2228+/* { dg-add-options arm_neon } */
2229
2230 #include "arm_neon.h"
2231
2232
2233=== modified file 'gcc/testsuite/gcc.target/arm/neon/vaddhns64.c'
2234--- old/gcc/testsuite/gcc.target/arm/neon/vaddhns64.c 2007-07-25 11:28:31 +0000
2235+++ new/gcc/testsuite/gcc.target/arm/neon/vaddhns64.c 2010-07-29 15:38:15 +0000
2236@@ -3,7 +3,8 @@
2237
2238 /* { dg-do assemble } */
2239 /* { dg-require-effective-target arm_neon_ok } */
2240-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
2241+/* { dg-options "-save-temps -O0" } */
2242+/* { dg-add-options arm_neon } */
2243
2244 #include "arm_neon.h"
2245
2246
2247=== modified file 'gcc/testsuite/gcc.target/arm/neon/vaddhnu16.c'
2248--- old/gcc/testsuite/gcc.target/arm/neon/vaddhnu16.c 2007-07-25 11:28:31 +0000
2249+++ new/gcc/testsuite/gcc.target/arm/neon/vaddhnu16.c 2010-07-29 15:38:15 +0000
2250@@ -3,7 +3,8 @@
2251
2252 /* { dg-do assemble } */
2253 /* { dg-require-effective-target arm_neon_ok } */
2254-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
2255+/* { dg-options "-save-temps -O0" } */
2256+/* { dg-add-options arm_neon } */
2257
2258 #include "arm_neon.h"
2259
2260
2261=== modified file 'gcc/testsuite/gcc.target/arm/neon/vaddhnu32.c'
2262--- old/gcc/testsuite/gcc.target/arm/neon/vaddhnu32.c 2007-07-25 11:28:31 +0000
2263+++ new/gcc/testsuite/gcc.target/arm/neon/vaddhnu32.c 2010-07-29 15:38:15 +0000
2264@@ -3,7 +3,8 @@
2265
2266 /* { dg-do assemble } */
2267 /* { dg-require-effective-target arm_neon_ok } */
2268-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
2269+/* { dg-options "-save-temps -O0" } */
2270+/* { dg-add-options arm_neon } */
2271
2272 #include "arm_neon.h"
2273
2274
2275=== modified file 'gcc/testsuite/gcc.target/arm/neon/vaddhnu64.c'
2276--- old/gcc/testsuite/gcc.target/arm/neon/vaddhnu64.c 2007-07-25 11:28:31 +0000
2277+++ new/gcc/testsuite/gcc.target/arm/neon/vaddhnu64.c 2010-07-29 15:38:15 +0000
2278@@ -3,7 +3,8 @@
2279
2280 /* { dg-do assemble } */
2281 /* { dg-require-effective-target arm_neon_ok } */
2282-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
2283+/* { dg-options "-save-temps -O0" } */
2284+/* { dg-add-options arm_neon } */
2285
2286 #include "arm_neon.h"
2287
2288
2289=== modified file 'gcc/testsuite/gcc.target/arm/neon/vaddls16.c'
2290--- old/gcc/testsuite/gcc.target/arm/neon/vaddls16.c 2007-07-25 11:28:31 +0000
2291+++ new/gcc/testsuite/gcc.target/arm/neon/vaddls16.c 2010-07-29 15:38:15 +0000
2292@@ -3,7 +3,8 @@
2293
2294 /* { dg-do assemble } */
2295 /* { dg-require-effective-target arm_neon_ok } */
2296-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
2297+/* { dg-options "-save-temps -O0" } */
2298+/* { dg-add-options arm_neon } */
2299
2300 #include "arm_neon.h"
2301
2302
2303=== modified file 'gcc/testsuite/gcc.target/arm/neon/vaddls32.c'
2304--- old/gcc/testsuite/gcc.target/arm/neon/vaddls32.c 2007-07-25 11:28:31 +0000
2305+++ new/gcc/testsuite/gcc.target/arm/neon/vaddls32.c 2010-07-29 15:38:15 +0000
2306@@ -3,7 +3,8 @@
2307
2308 /* { dg-do assemble } */
2309 /* { dg-require-effective-target arm_neon_ok } */
2310-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
2311+/* { dg-options "-save-temps -O0" } */
2312+/* { dg-add-options arm_neon } */
2313
2314 #include "arm_neon.h"
2315
2316
2317=== modified file 'gcc/testsuite/gcc.target/arm/neon/vaddls8.c'
2318--- old/gcc/testsuite/gcc.target/arm/neon/vaddls8.c 2007-07-25 11:28:31 +0000
2319+++ new/gcc/testsuite/gcc.target/arm/neon/vaddls8.c 2010-07-29 15:38:15 +0000
2320@@ -3,7 +3,8 @@
2321
2322 /* { dg-do assemble } */
2323 /* { dg-require-effective-target arm_neon_ok } */
2324-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
2325+/* { dg-options "-save-temps -O0" } */
2326+/* { dg-add-options arm_neon } */
2327
2328 #include "arm_neon.h"
2329
2330
2331=== modified file 'gcc/testsuite/gcc.target/arm/neon/vaddlu16.c'
2332--- old/gcc/testsuite/gcc.target/arm/neon/vaddlu16.c 2007-07-25 11:28:31 +0000
2333+++ new/gcc/testsuite/gcc.target/arm/neon/vaddlu16.c 2010-07-29 15:38:15 +0000
2334@@ -3,7 +3,8 @@
2335
2336 /* { dg-do assemble } */
2337 /* { dg-require-effective-target arm_neon_ok } */
2338-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
2339+/* { dg-options "-save-temps -O0" } */
2340+/* { dg-add-options arm_neon } */
2341
2342 #include "arm_neon.h"
2343
2344
2345=== modified file 'gcc/testsuite/gcc.target/arm/neon/vaddlu32.c'
2346--- old/gcc/testsuite/gcc.target/arm/neon/vaddlu32.c 2007-07-25 11:28:31 +0000
2347+++ new/gcc/testsuite/gcc.target/arm/neon/vaddlu32.c 2010-07-29 15:38:15 +0000
2348@@ -3,7 +3,8 @@
2349
2350 /* { dg-do assemble } */
2351 /* { dg-require-effective-target arm_neon_ok } */
2352-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
2353+/* { dg-options "-save-temps -O0" } */
2354+/* { dg-add-options arm_neon } */
2355
2356 #include "arm_neon.h"
2357
2358
2359=== modified file 'gcc/testsuite/gcc.target/arm/neon/vaddlu8.c'
2360--- old/gcc/testsuite/gcc.target/arm/neon/vaddlu8.c 2007-07-25 11:28:31 +0000
2361+++ new/gcc/testsuite/gcc.target/arm/neon/vaddlu8.c 2010-07-29 15:38:15 +0000
2362@@ -3,7 +3,8 @@
2363
2364 /* { dg-do assemble } */
2365 /* { dg-require-effective-target arm_neon_ok } */
2366-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
2367+/* { dg-options "-save-temps -O0" } */
2368+/* { dg-add-options arm_neon } */
2369
2370 #include "arm_neon.h"
2371
2372
2373=== modified file 'gcc/testsuite/gcc.target/arm/neon/vadds16.c'
2374--- old/gcc/testsuite/gcc.target/arm/neon/vadds16.c 2007-07-25 11:28:31 +0000
2375+++ new/gcc/testsuite/gcc.target/arm/neon/vadds16.c 2010-07-29 15:38:15 +0000
2376@@ -3,7 +3,8 @@
2377
2378 /* { dg-do assemble } */
2379 /* { dg-require-effective-target arm_neon_ok } */
2380-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
2381+/* { dg-options "-save-temps -O0" } */
2382+/* { dg-add-options arm_neon } */
2383
2384 #include "arm_neon.h"
2385
2386
2387=== modified file 'gcc/testsuite/gcc.target/arm/neon/vadds32.c'
2388--- old/gcc/testsuite/gcc.target/arm/neon/vadds32.c 2007-07-25 11:28:31 +0000
2389+++ new/gcc/testsuite/gcc.target/arm/neon/vadds32.c 2010-07-29 15:38:15 +0000
2390@@ -3,7 +3,8 @@
2391
2392 /* { dg-do assemble } */
2393 /* { dg-require-effective-target arm_neon_ok } */
2394-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
2395+/* { dg-options "-save-temps -O0" } */
2396+/* { dg-add-options arm_neon } */
2397
2398 #include "arm_neon.h"
2399
2400
2401=== modified file 'gcc/testsuite/gcc.target/arm/neon/vadds64.c'
2402--- old/gcc/testsuite/gcc.target/arm/neon/vadds64.c 2007-07-25 11:28:31 +0000
2403+++ new/gcc/testsuite/gcc.target/arm/neon/vadds64.c 2010-07-29 15:38:15 +0000
2404@@ -3,7 +3,8 @@
2405
2406 /* { dg-do assemble } */
2407 /* { dg-require-effective-target arm_neon_ok } */
2408-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
2409+/* { dg-options "-save-temps -O0" } */
2410+/* { dg-add-options arm_neon } */
2411
2412 #include "arm_neon.h"
2413
2414
2415=== modified file 'gcc/testsuite/gcc.target/arm/neon/vadds8.c'
2416--- old/gcc/testsuite/gcc.target/arm/neon/vadds8.c 2007-07-25 11:28:31 +0000
2417+++ new/gcc/testsuite/gcc.target/arm/neon/vadds8.c 2010-07-29 15:38:15 +0000
2418@@ -3,7 +3,8 @@
2419
2420 /* { dg-do assemble } */
2421 /* { dg-require-effective-target arm_neon_ok } */
2422-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
2423+/* { dg-options "-save-temps -O0" } */
2424+/* { dg-add-options arm_neon } */
2425
2426 #include "arm_neon.h"
2427
2428
2429=== modified file 'gcc/testsuite/gcc.target/arm/neon/vaddu16.c'
2430--- old/gcc/testsuite/gcc.target/arm/neon/vaddu16.c 2007-07-25 11:28:31 +0000
2431+++ new/gcc/testsuite/gcc.target/arm/neon/vaddu16.c 2010-07-29 15:38:15 +0000
2432@@ -3,7 +3,8 @@
2433
2434 /* { dg-do assemble } */
2435 /* { dg-require-effective-target arm_neon_ok } */
2436-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
2437+/* { dg-options "-save-temps -O0" } */
2438+/* { dg-add-options arm_neon } */
2439
2440 #include "arm_neon.h"
2441
2442
2443=== modified file 'gcc/testsuite/gcc.target/arm/neon/vaddu32.c'
2444--- old/gcc/testsuite/gcc.target/arm/neon/vaddu32.c 2007-07-25 11:28:31 +0000
2445+++ new/gcc/testsuite/gcc.target/arm/neon/vaddu32.c 2010-07-29 15:38:15 +0000
2446@@ -3,7 +3,8 @@
2447
2448 /* { dg-do assemble } */
2449 /* { dg-require-effective-target arm_neon_ok } */
2450-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
2451+/* { dg-options "-save-temps -O0" } */
2452+/* { dg-add-options arm_neon } */
2453
2454 #include "arm_neon.h"
2455
2456
2457=== modified file 'gcc/testsuite/gcc.target/arm/neon/vaddu64.c'
2458--- old/gcc/testsuite/gcc.target/arm/neon/vaddu64.c 2007-07-25 11:28:31 +0000
2459+++ new/gcc/testsuite/gcc.target/arm/neon/vaddu64.c 2010-07-29 15:38:15 +0000
2460@@ -3,7 +3,8 @@
2461
2462 /* { dg-do assemble } */
2463 /* { dg-require-effective-target arm_neon_ok } */
2464-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
2465+/* { dg-options "-save-temps -O0" } */
2466+/* { dg-add-options arm_neon } */
2467
2468 #include "arm_neon.h"
2469
2470
2471=== modified file 'gcc/testsuite/gcc.target/arm/neon/vaddu8.c'
2472--- old/gcc/testsuite/gcc.target/arm/neon/vaddu8.c 2007-07-25 11:28:31 +0000
2473+++ new/gcc/testsuite/gcc.target/arm/neon/vaddu8.c 2010-07-29 15:38:15 +0000
2474@@ -3,7 +3,8 @@
2475
2476 /* { dg-do assemble } */
2477 /* { dg-require-effective-target arm_neon_ok } */
2478-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
2479+/* { dg-options "-save-temps -O0" } */
2480+/* { dg-add-options arm_neon } */
2481
2482 #include "arm_neon.h"
2483
2484
2485=== modified file 'gcc/testsuite/gcc.target/arm/neon/vaddws16.c'
2486--- old/gcc/testsuite/gcc.target/arm/neon/vaddws16.c 2007-07-25 11:28:31 +0000
2487+++ new/gcc/testsuite/gcc.target/arm/neon/vaddws16.c 2010-07-29 15:38:15 +0000
2488@@ -3,7 +3,8 @@
2489
2490 /* { dg-do assemble } */
2491 /* { dg-require-effective-target arm_neon_ok } */
2492-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
2493+/* { dg-options "-save-temps -O0" } */
2494+/* { dg-add-options arm_neon } */
2495
2496 #include "arm_neon.h"
2497
2498
2499=== modified file 'gcc/testsuite/gcc.target/arm/neon/vaddws32.c'
2500--- old/gcc/testsuite/gcc.target/arm/neon/vaddws32.c 2007-07-25 11:28:31 +0000
2501+++ new/gcc/testsuite/gcc.target/arm/neon/vaddws32.c 2010-07-29 15:38:15 +0000
2502@@ -3,7 +3,8 @@
2503
2504 /* { dg-do assemble } */
2505 /* { dg-require-effective-target arm_neon_ok } */
2506-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
2507+/* { dg-options "-save-temps -O0" } */
2508+/* { dg-add-options arm_neon } */
2509
2510 #include "arm_neon.h"
2511
2512
2513=== modified file 'gcc/testsuite/gcc.target/arm/neon/vaddws8.c'
2514--- old/gcc/testsuite/gcc.target/arm/neon/vaddws8.c 2007-07-25 11:28:31 +0000
2515+++ new/gcc/testsuite/gcc.target/arm/neon/vaddws8.c 2010-07-29 15:38:15 +0000
2516@@ -3,7 +3,8 @@
2517
2518 /* { dg-do assemble } */
2519 /* { dg-require-effective-target arm_neon_ok } */
2520-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
2521+/* { dg-options "-save-temps -O0" } */
2522+/* { dg-add-options arm_neon } */
2523
2524 #include "arm_neon.h"
2525
2526
2527=== modified file 'gcc/testsuite/gcc.target/arm/neon/vaddwu16.c'
2528--- old/gcc/testsuite/gcc.target/arm/neon/vaddwu16.c 2007-07-25 11:28:31 +0000
2529+++ new/gcc/testsuite/gcc.target/arm/neon/vaddwu16.c 2010-07-29 15:38:15 +0000
2530@@ -3,7 +3,8 @@
2531
2532 /* { dg-do assemble } */
2533 /* { dg-require-effective-target arm_neon_ok } */
2534-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
2535+/* { dg-options "-save-temps -O0" } */
2536+/* { dg-add-options arm_neon } */
2537
2538 #include "arm_neon.h"
2539
2540
2541=== modified file 'gcc/testsuite/gcc.target/arm/neon/vaddwu32.c'
2542--- old/gcc/testsuite/gcc.target/arm/neon/vaddwu32.c 2007-07-25 11:28:31 +0000
2543+++ new/gcc/testsuite/gcc.target/arm/neon/vaddwu32.c 2010-07-29 15:38:15 +0000
2544@@ -3,7 +3,8 @@
2545
2546 /* { dg-do assemble } */
2547 /* { dg-require-effective-target arm_neon_ok } */
2548-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
2549+/* { dg-options "-save-temps -O0" } */
2550+/* { dg-add-options arm_neon } */
2551
2552 #include "arm_neon.h"
2553
2554
2555=== modified file 'gcc/testsuite/gcc.target/arm/neon/vaddwu8.c'
2556--- old/gcc/testsuite/gcc.target/arm/neon/vaddwu8.c 2007-07-25 11:28:31 +0000
2557+++ new/gcc/testsuite/gcc.target/arm/neon/vaddwu8.c 2010-07-29 15:38:15 +0000
2558@@ -3,7 +3,8 @@
2559
2560 /* { dg-do assemble } */
2561 /* { dg-require-effective-target arm_neon_ok } */
2562-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
2563+/* { dg-options "-save-temps -O0" } */
2564+/* { dg-add-options arm_neon } */
2565
2566 #include "arm_neon.h"
2567
2568
2569=== modified file 'gcc/testsuite/gcc.target/arm/neon/vandQs16.c'
2570--- old/gcc/testsuite/gcc.target/arm/neon/vandQs16.c 2007-07-25 11:28:31 +0000
2571+++ new/gcc/testsuite/gcc.target/arm/neon/vandQs16.c 2010-07-29 15:38:15 +0000
2572@@ -3,7 +3,8 @@
2573
2574 /* { dg-do assemble } */
2575 /* { dg-require-effective-target arm_neon_ok } */
2576-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
2577+/* { dg-options "-save-temps -O0" } */
2578+/* { dg-add-options arm_neon } */
2579
2580 #include "arm_neon.h"
2581
2582
2583=== modified file 'gcc/testsuite/gcc.target/arm/neon/vandQs32.c'
2584--- old/gcc/testsuite/gcc.target/arm/neon/vandQs32.c 2007-07-25 11:28:31 +0000
2585+++ new/gcc/testsuite/gcc.target/arm/neon/vandQs32.c 2010-07-29 15:38:15 +0000
2586@@ -3,7 +3,8 @@
2587
2588 /* { dg-do assemble } */
2589 /* { dg-require-effective-target arm_neon_ok } */
2590-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
2591+/* { dg-options "-save-temps -O0" } */
2592+/* { dg-add-options arm_neon } */
2593
2594 #include "arm_neon.h"
2595
2596
2597=== modified file 'gcc/testsuite/gcc.target/arm/neon/vandQs64.c'
2598--- old/gcc/testsuite/gcc.target/arm/neon/vandQs64.c 2007-07-25 11:28:31 +0000
2599+++ new/gcc/testsuite/gcc.target/arm/neon/vandQs64.c 2010-07-29 15:38:15 +0000
2600@@ -3,7 +3,8 @@
2601
2602 /* { dg-do assemble } */
2603 /* { dg-require-effective-target arm_neon_ok } */
2604-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
2605+/* { dg-options "-save-temps -O0" } */
2606+/* { dg-add-options arm_neon } */
2607
2608 #include "arm_neon.h"
2609
2610
2611=== modified file 'gcc/testsuite/gcc.target/arm/neon/vandQs8.c'
2612--- old/gcc/testsuite/gcc.target/arm/neon/vandQs8.c 2007-07-25 11:28:31 +0000
2613+++ new/gcc/testsuite/gcc.target/arm/neon/vandQs8.c 2010-07-29 15:38:15 +0000
2614@@ -3,7 +3,8 @@
2615
2616 /* { dg-do assemble } */
2617 /* { dg-require-effective-target arm_neon_ok } */
2618-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
2619+/* { dg-options "-save-temps -O0" } */
2620+/* { dg-add-options arm_neon } */
2621
2622 #include "arm_neon.h"
2623
2624
2625=== modified file 'gcc/testsuite/gcc.target/arm/neon/vandQu16.c'
2626--- old/gcc/testsuite/gcc.target/arm/neon/vandQu16.c 2007-07-25 11:28:31 +0000
2627+++ new/gcc/testsuite/gcc.target/arm/neon/vandQu16.c 2010-07-29 15:38:15 +0000
2628@@ -3,7 +3,8 @@
2629
2630 /* { dg-do assemble } */
2631 /* { dg-require-effective-target arm_neon_ok } */
2632-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
2633+/* { dg-options "-save-temps -O0" } */
2634+/* { dg-add-options arm_neon } */
2635
2636 #include "arm_neon.h"
2637
2638
2639=== modified file 'gcc/testsuite/gcc.target/arm/neon/vandQu32.c'
2640--- old/gcc/testsuite/gcc.target/arm/neon/vandQu32.c 2007-07-25 11:28:31 +0000
2641+++ new/gcc/testsuite/gcc.target/arm/neon/vandQu32.c 2010-07-29 15:38:15 +0000
2642@@ -3,7 +3,8 @@
2643
2644 /* { dg-do assemble } */
2645 /* { dg-require-effective-target arm_neon_ok } */
2646-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
2647+/* { dg-options "-save-temps -O0" } */
2648+/* { dg-add-options arm_neon } */
2649
2650 #include "arm_neon.h"
2651
2652
2653=== modified file 'gcc/testsuite/gcc.target/arm/neon/vandQu64.c'
2654--- old/gcc/testsuite/gcc.target/arm/neon/vandQu64.c 2007-07-25 11:28:31 +0000
2655+++ new/gcc/testsuite/gcc.target/arm/neon/vandQu64.c 2010-07-29 15:38:15 +0000
2656@@ -3,7 +3,8 @@
2657
2658 /* { dg-do assemble } */
2659 /* { dg-require-effective-target arm_neon_ok } */
2660-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
2661+/* { dg-options "-save-temps -O0" } */
2662+/* { dg-add-options arm_neon } */
2663
2664 #include "arm_neon.h"
2665
2666
2667=== modified file 'gcc/testsuite/gcc.target/arm/neon/vandQu8.c'
2668--- old/gcc/testsuite/gcc.target/arm/neon/vandQu8.c 2007-07-25 11:28:31 +0000
2669+++ new/gcc/testsuite/gcc.target/arm/neon/vandQu8.c 2010-07-29 15:38:15 +0000
2670@@ -3,7 +3,8 @@
2671
2672 /* { dg-do assemble } */
2673 /* { dg-require-effective-target arm_neon_ok } */
2674-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
2675+/* { dg-options "-save-temps -O0" } */
2676+/* { dg-add-options arm_neon } */
2677
2678 #include "arm_neon.h"
2679
2680
2681=== modified file 'gcc/testsuite/gcc.target/arm/neon/vands16.c'
2682--- old/gcc/testsuite/gcc.target/arm/neon/vands16.c 2007-07-25 11:28:31 +0000
2683+++ new/gcc/testsuite/gcc.target/arm/neon/vands16.c 2010-07-29 15:38:15 +0000
2684@@ -3,7 +3,8 @@
2685
2686 /* { dg-do assemble } */
2687 /* { dg-require-effective-target arm_neon_ok } */
2688-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
2689+/* { dg-options "-save-temps -O0" } */
2690+/* { dg-add-options arm_neon } */
2691
2692 #include "arm_neon.h"
2693
2694
2695=== modified file 'gcc/testsuite/gcc.target/arm/neon/vands32.c'
2696--- old/gcc/testsuite/gcc.target/arm/neon/vands32.c 2007-07-25 11:28:31 +0000
2697+++ new/gcc/testsuite/gcc.target/arm/neon/vands32.c 2010-07-29 15:38:15 +0000
2698@@ -3,7 +3,8 @@
2699
2700 /* { dg-do assemble } */
2701 /* { dg-require-effective-target arm_neon_ok } */
2702-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
2703+/* { dg-options "-save-temps -O0" } */
2704+/* { dg-add-options arm_neon } */
2705
2706 #include "arm_neon.h"
2707
2708
2709=== modified file 'gcc/testsuite/gcc.target/arm/neon/vands64.c'
2710--- old/gcc/testsuite/gcc.target/arm/neon/vands64.c 2007-07-25 11:28:31 +0000
2711+++ new/gcc/testsuite/gcc.target/arm/neon/vands64.c 2010-07-29 15:38:15 +0000
2712@@ -3,7 +3,8 @@
2713
2714 /* { dg-do assemble } */
2715 /* { dg-require-effective-target arm_neon_ok } */
2716-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
2717+/* { dg-options "-save-temps -O0" } */
2718+/* { dg-add-options arm_neon } */
2719
2720 #include "arm_neon.h"
2721
2722
2723=== modified file 'gcc/testsuite/gcc.target/arm/neon/vands8.c'
2724--- old/gcc/testsuite/gcc.target/arm/neon/vands8.c 2007-07-25 11:28:31 +0000
2725+++ new/gcc/testsuite/gcc.target/arm/neon/vands8.c 2010-07-29 15:38:15 +0000
2726@@ -3,7 +3,8 @@
2727
2728 /* { dg-do assemble } */
2729 /* { dg-require-effective-target arm_neon_ok } */
2730-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
2731+/* { dg-options "-save-temps -O0" } */
2732+/* { dg-add-options arm_neon } */
2733
2734 #include "arm_neon.h"
2735
2736
2737=== modified file 'gcc/testsuite/gcc.target/arm/neon/vandu16.c'
2738--- old/gcc/testsuite/gcc.target/arm/neon/vandu16.c 2007-07-25 11:28:31 +0000
2739+++ new/gcc/testsuite/gcc.target/arm/neon/vandu16.c 2010-07-29 15:38:15 +0000
2740@@ -3,7 +3,8 @@
2741
2742 /* { dg-do assemble } */
2743 /* { dg-require-effective-target arm_neon_ok } */
2744-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
2745+/* { dg-options "-save-temps -O0" } */
2746+/* { dg-add-options arm_neon } */
2747
2748 #include "arm_neon.h"
2749
2750
2751=== modified file 'gcc/testsuite/gcc.target/arm/neon/vandu32.c'
2752--- old/gcc/testsuite/gcc.target/arm/neon/vandu32.c 2007-07-25 11:28:31 +0000
2753+++ new/gcc/testsuite/gcc.target/arm/neon/vandu32.c 2010-07-29 15:38:15 +0000
2754@@ -3,7 +3,8 @@
2755
2756 /* { dg-do assemble } */
2757 /* { dg-require-effective-target arm_neon_ok } */
2758-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
2759+/* { dg-options "-save-temps -O0" } */
2760+/* { dg-add-options arm_neon } */
2761
2762 #include "arm_neon.h"
2763
2764
2765=== modified file 'gcc/testsuite/gcc.target/arm/neon/vandu64.c'
2766--- old/gcc/testsuite/gcc.target/arm/neon/vandu64.c 2007-07-25 11:28:31 +0000
2767+++ new/gcc/testsuite/gcc.target/arm/neon/vandu64.c 2010-07-29 15:38:15 +0000
2768@@ -3,7 +3,8 @@
2769
2770 /* { dg-do assemble } */
2771 /* { dg-require-effective-target arm_neon_ok } */
2772-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
2773+/* { dg-options "-save-temps -O0" } */
2774+/* { dg-add-options arm_neon } */
2775
2776 #include "arm_neon.h"
2777
2778
2779=== modified file 'gcc/testsuite/gcc.target/arm/neon/vandu8.c'
2780--- old/gcc/testsuite/gcc.target/arm/neon/vandu8.c 2007-07-25 11:28:31 +0000
2781+++ new/gcc/testsuite/gcc.target/arm/neon/vandu8.c 2010-07-29 15:38:15 +0000
2782@@ -3,7 +3,8 @@
2783
2784 /* { dg-do assemble } */
2785 /* { dg-require-effective-target arm_neon_ok } */
2786-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
2787+/* { dg-options "-save-temps -O0" } */
2788+/* { dg-add-options arm_neon } */
2789
2790 #include "arm_neon.h"
2791
2792
2793=== modified file 'gcc/testsuite/gcc.target/arm/neon/vbicQs16.c'
2794--- old/gcc/testsuite/gcc.target/arm/neon/vbicQs16.c 2007-07-25 11:28:31 +0000
2795+++ new/gcc/testsuite/gcc.target/arm/neon/vbicQs16.c 2010-07-29 15:38:15 +0000
2796@@ -3,7 +3,8 @@
2797
2798 /* { dg-do assemble } */
2799 /* { dg-require-effective-target arm_neon_ok } */
2800-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
2801+/* { dg-options "-save-temps -O0" } */
2802+/* { dg-add-options arm_neon } */
2803
2804 #include "arm_neon.h"
2805
2806
2807=== modified file 'gcc/testsuite/gcc.target/arm/neon/vbicQs32.c'
2808--- old/gcc/testsuite/gcc.target/arm/neon/vbicQs32.c 2007-07-25 11:28:31 +0000
2809+++ new/gcc/testsuite/gcc.target/arm/neon/vbicQs32.c 2010-07-29 15:38:15 +0000
2810@@ -3,7 +3,8 @@
2811
2812 /* { dg-do assemble } */
2813 /* { dg-require-effective-target arm_neon_ok } */
2814-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
2815+/* { dg-options "-save-temps -O0" } */
2816+/* { dg-add-options arm_neon } */
2817
2818 #include "arm_neon.h"
2819
2820
2821=== modified file 'gcc/testsuite/gcc.target/arm/neon/vbicQs64.c'
2822--- old/gcc/testsuite/gcc.target/arm/neon/vbicQs64.c 2007-07-25 11:28:31 +0000
2823+++ new/gcc/testsuite/gcc.target/arm/neon/vbicQs64.c 2010-07-29 15:38:15 +0000
2824@@ -3,7 +3,8 @@
2825
2826 /* { dg-do assemble } */
2827 /* { dg-require-effective-target arm_neon_ok } */
2828-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
2829+/* { dg-options "-save-temps -O0" } */
2830+/* { dg-add-options arm_neon } */
2831
2832 #include "arm_neon.h"
2833
2834
2835=== modified file 'gcc/testsuite/gcc.target/arm/neon/vbicQs8.c'
2836--- old/gcc/testsuite/gcc.target/arm/neon/vbicQs8.c 2007-07-25 11:28:31 +0000
2837+++ new/gcc/testsuite/gcc.target/arm/neon/vbicQs8.c 2010-07-29 15:38:15 +0000
2838@@ -3,7 +3,8 @@
2839
2840 /* { dg-do assemble } */
2841 /* { dg-require-effective-target arm_neon_ok } */
2842-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
2843+/* { dg-options "-save-temps -O0" } */
2844+/* { dg-add-options arm_neon } */
2845
2846 #include "arm_neon.h"
2847
2848
2849=== modified file 'gcc/testsuite/gcc.target/arm/neon/vbicQu16.c'
2850--- old/gcc/testsuite/gcc.target/arm/neon/vbicQu16.c 2007-07-25 11:28:31 +0000
2851+++ new/gcc/testsuite/gcc.target/arm/neon/vbicQu16.c 2010-07-29 15:38:15 +0000
2852@@ -3,7 +3,8 @@
2853
2854 /* { dg-do assemble } */
2855 /* { dg-require-effective-target arm_neon_ok } */
2856-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
2857+/* { dg-options "-save-temps -O0" } */
2858+/* { dg-add-options arm_neon } */
2859
2860 #include "arm_neon.h"
2861
2862
2863=== modified file 'gcc/testsuite/gcc.target/arm/neon/vbicQu32.c'
2864--- old/gcc/testsuite/gcc.target/arm/neon/vbicQu32.c 2007-07-25 11:28:31 +0000
2865+++ new/gcc/testsuite/gcc.target/arm/neon/vbicQu32.c 2010-07-29 15:38:15 +0000
2866@@ -3,7 +3,8 @@
2867
2868 /* { dg-do assemble } */
2869 /* { dg-require-effective-target arm_neon_ok } */
2870-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
2871+/* { dg-options "-save-temps -O0" } */
2872+/* { dg-add-options arm_neon } */
2873
2874 #include "arm_neon.h"
2875
2876
2877=== modified file 'gcc/testsuite/gcc.target/arm/neon/vbicQu64.c'
2878--- old/gcc/testsuite/gcc.target/arm/neon/vbicQu64.c 2007-07-25 11:28:31 +0000
2879+++ new/gcc/testsuite/gcc.target/arm/neon/vbicQu64.c 2010-07-29 15:38:15 +0000
2880@@ -3,7 +3,8 @@
2881
2882 /* { dg-do assemble } */
2883 /* { dg-require-effective-target arm_neon_ok } */
2884-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
2885+/* { dg-options "-save-temps -O0" } */
2886+/* { dg-add-options arm_neon } */
2887
2888 #include "arm_neon.h"
2889
2890
2891=== modified file 'gcc/testsuite/gcc.target/arm/neon/vbicQu8.c'
2892--- old/gcc/testsuite/gcc.target/arm/neon/vbicQu8.c 2007-07-25 11:28:31 +0000
2893+++ new/gcc/testsuite/gcc.target/arm/neon/vbicQu8.c 2010-07-29 15:38:15 +0000
2894@@ -3,7 +3,8 @@
2895
2896 /* { dg-do assemble } */
2897 /* { dg-require-effective-target arm_neon_ok } */
2898-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
2899+/* { dg-options "-save-temps -O0" } */
2900+/* { dg-add-options arm_neon } */
2901
2902 #include "arm_neon.h"
2903
2904
2905=== modified file 'gcc/testsuite/gcc.target/arm/neon/vbics16.c'
2906--- old/gcc/testsuite/gcc.target/arm/neon/vbics16.c 2007-07-25 11:28:31 +0000
2907+++ new/gcc/testsuite/gcc.target/arm/neon/vbics16.c 2010-07-29 15:38:15 +0000
2908@@ -3,7 +3,8 @@
2909
2910 /* { dg-do assemble } */
2911 /* { dg-require-effective-target arm_neon_ok } */
2912-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
2913+/* { dg-options "-save-temps -O0" } */
2914+/* { dg-add-options arm_neon } */
2915
2916 #include "arm_neon.h"
2917
2918
2919=== modified file 'gcc/testsuite/gcc.target/arm/neon/vbics32.c'
2920--- old/gcc/testsuite/gcc.target/arm/neon/vbics32.c 2007-07-25 11:28:31 +0000
2921+++ new/gcc/testsuite/gcc.target/arm/neon/vbics32.c 2010-07-29 15:38:15 +0000
2922@@ -3,7 +3,8 @@
2923
2924 /* { dg-do assemble } */
2925 /* { dg-require-effective-target arm_neon_ok } */
2926-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
2927+/* { dg-options "-save-temps -O0" } */
2928+/* { dg-add-options arm_neon } */
2929
2930 #include "arm_neon.h"
2931
2932
2933=== modified file 'gcc/testsuite/gcc.target/arm/neon/vbics64.c'
2934--- old/gcc/testsuite/gcc.target/arm/neon/vbics64.c 2007-07-25 11:28:31 +0000
2935+++ new/gcc/testsuite/gcc.target/arm/neon/vbics64.c 2010-07-29 15:38:15 +0000
2936@@ -3,7 +3,8 @@
2937
2938 /* { dg-do assemble } */
2939 /* { dg-require-effective-target arm_neon_ok } */
2940-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
2941+/* { dg-options "-save-temps -O0" } */
2942+/* { dg-add-options arm_neon } */
2943
2944 #include "arm_neon.h"
2945
2946
2947=== modified file 'gcc/testsuite/gcc.target/arm/neon/vbics8.c'
2948--- old/gcc/testsuite/gcc.target/arm/neon/vbics8.c 2007-07-25 11:28:31 +0000
2949+++ new/gcc/testsuite/gcc.target/arm/neon/vbics8.c 2010-07-29 15:38:15 +0000
2950@@ -3,7 +3,8 @@
2951
2952 /* { dg-do assemble } */
2953 /* { dg-require-effective-target arm_neon_ok } */
2954-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
2955+/* { dg-options "-save-temps -O0" } */
2956+/* { dg-add-options arm_neon } */
2957
2958 #include "arm_neon.h"
2959
2960
2961=== modified file 'gcc/testsuite/gcc.target/arm/neon/vbicu16.c'
2962--- old/gcc/testsuite/gcc.target/arm/neon/vbicu16.c 2007-07-25 11:28:31 +0000
2963+++ new/gcc/testsuite/gcc.target/arm/neon/vbicu16.c 2010-07-29 15:38:15 +0000
2964@@ -3,7 +3,8 @@
2965
2966 /* { dg-do assemble } */
2967 /* { dg-require-effective-target arm_neon_ok } */
2968-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
2969+/* { dg-options "-save-temps -O0" } */
2970+/* { dg-add-options arm_neon } */
2971
2972 #include "arm_neon.h"
2973
2974
2975=== modified file 'gcc/testsuite/gcc.target/arm/neon/vbicu32.c'
2976--- old/gcc/testsuite/gcc.target/arm/neon/vbicu32.c 2007-07-25 11:28:31 +0000
2977+++ new/gcc/testsuite/gcc.target/arm/neon/vbicu32.c 2010-07-29 15:38:15 +0000
2978@@ -3,7 +3,8 @@
2979
2980 /* { dg-do assemble } */
2981 /* { dg-require-effective-target arm_neon_ok } */
2982-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
2983+/* { dg-options "-save-temps -O0" } */
2984+/* { dg-add-options arm_neon } */
2985
2986 #include "arm_neon.h"
2987
2988
2989=== modified file 'gcc/testsuite/gcc.target/arm/neon/vbicu64.c'
2990--- old/gcc/testsuite/gcc.target/arm/neon/vbicu64.c 2007-07-25 11:28:31 +0000
2991+++ new/gcc/testsuite/gcc.target/arm/neon/vbicu64.c 2010-07-29 15:38:15 +0000
2992@@ -3,7 +3,8 @@
2993
2994 /* { dg-do assemble } */
2995 /* { dg-require-effective-target arm_neon_ok } */
2996-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
2997+/* { dg-options "-save-temps -O0" } */
2998+/* { dg-add-options arm_neon } */
2999
3000 #include "arm_neon.h"
3001
3002
3003=== modified file 'gcc/testsuite/gcc.target/arm/neon/vbicu8.c'
3004--- old/gcc/testsuite/gcc.target/arm/neon/vbicu8.c 2007-07-25 11:28:31 +0000
3005+++ new/gcc/testsuite/gcc.target/arm/neon/vbicu8.c 2010-07-29 15:38:15 +0000
3006@@ -3,7 +3,8 @@
3007
3008 /* { dg-do assemble } */
3009 /* { dg-require-effective-target arm_neon_ok } */
3010-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
3011+/* { dg-options "-save-temps -O0" } */
3012+/* { dg-add-options arm_neon } */
3013
3014 #include "arm_neon.h"
3015
3016
3017=== modified file 'gcc/testsuite/gcc.target/arm/neon/vbslQf32.c'
3018--- old/gcc/testsuite/gcc.target/arm/neon/vbslQf32.c 2007-07-25 11:28:31 +0000
3019+++ new/gcc/testsuite/gcc.target/arm/neon/vbslQf32.c 2010-07-29 15:38:15 +0000
3020@@ -3,7 +3,8 @@
3021
3022 /* { dg-do assemble } */
3023 /* { dg-require-effective-target arm_neon_ok } */
3024-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
3025+/* { dg-options "-save-temps -O0" } */
3026+/* { dg-add-options arm_neon } */
3027
3028 #include "arm_neon.h"
3029
3030
3031=== modified file 'gcc/testsuite/gcc.target/arm/neon/vbslQp16.c'
3032--- old/gcc/testsuite/gcc.target/arm/neon/vbslQp16.c 2007-07-25 11:28:31 +0000
3033+++ new/gcc/testsuite/gcc.target/arm/neon/vbslQp16.c 2010-07-29 15:38:15 +0000
3034@@ -3,7 +3,8 @@
3035
3036 /* { dg-do assemble } */
3037 /* { dg-require-effective-target arm_neon_ok } */
3038-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
3039+/* { dg-options "-save-temps -O0" } */
3040+/* { dg-add-options arm_neon } */
3041
3042 #include "arm_neon.h"
3043
3044
3045=== modified file 'gcc/testsuite/gcc.target/arm/neon/vbslQp8.c'
3046--- old/gcc/testsuite/gcc.target/arm/neon/vbslQp8.c 2007-07-25 11:28:31 +0000
3047+++ new/gcc/testsuite/gcc.target/arm/neon/vbslQp8.c 2010-07-29 15:38:15 +0000
3048@@ -3,7 +3,8 @@
3049
3050 /* { dg-do assemble } */
3051 /* { dg-require-effective-target arm_neon_ok } */
3052-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
3053+/* { dg-options "-save-temps -O0" } */
3054+/* { dg-add-options arm_neon } */
3055
3056 #include "arm_neon.h"
3057
3058
3059=== modified file 'gcc/testsuite/gcc.target/arm/neon/vbslQs16.c'
3060--- old/gcc/testsuite/gcc.target/arm/neon/vbslQs16.c 2007-07-25 11:28:31 +0000
3061+++ new/gcc/testsuite/gcc.target/arm/neon/vbslQs16.c 2010-07-29 15:38:15 +0000
3062@@ -3,7 +3,8 @@
3063
3064 /* { dg-do assemble } */
3065 /* { dg-require-effective-target arm_neon_ok } */
3066-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
3067+/* { dg-options "-save-temps -O0" } */
3068+/* { dg-add-options arm_neon } */
3069
3070 #include "arm_neon.h"
3071
3072
3073=== modified file 'gcc/testsuite/gcc.target/arm/neon/vbslQs32.c'
3074--- old/gcc/testsuite/gcc.target/arm/neon/vbslQs32.c 2007-07-25 11:28:31 +0000
3075+++ new/gcc/testsuite/gcc.target/arm/neon/vbslQs32.c 2010-07-29 15:38:15 +0000
3076@@ -3,7 +3,8 @@
3077
3078 /* { dg-do assemble } */
3079 /* { dg-require-effective-target arm_neon_ok } */
3080-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
3081+/* { dg-options "-save-temps -O0" } */
3082+/* { dg-add-options arm_neon } */
3083
3084 #include "arm_neon.h"
3085
3086
3087=== modified file 'gcc/testsuite/gcc.target/arm/neon/vbslQs64.c'
3088--- old/gcc/testsuite/gcc.target/arm/neon/vbslQs64.c 2007-07-25 11:28:31 +0000
3089+++ new/gcc/testsuite/gcc.target/arm/neon/vbslQs64.c 2010-07-29 15:38:15 +0000
3090@@ -3,7 +3,8 @@
3091
3092 /* { dg-do assemble } */
3093 /* { dg-require-effective-target arm_neon_ok } */
3094-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
3095+/* { dg-options "-save-temps -O0" } */
3096+/* { dg-add-options arm_neon } */
3097
3098 #include "arm_neon.h"
3099
3100
3101=== modified file 'gcc/testsuite/gcc.target/arm/neon/vbslQs8.c'
3102--- old/gcc/testsuite/gcc.target/arm/neon/vbslQs8.c 2007-07-25 11:28:31 +0000
3103+++ new/gcc/testsuite/gcc.target/arm/neon/vbslQs8.c 2010-07-29 15:38:15 +0000
3104@@ -3,7 +3,8 @@
3105
3106 /* { dg-do assemble } */
3107 /* { dg-require-effective-target arm_neon_ok } */
3108-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
3109+/* { dg-options "-save-temps -O0" } */
3110+/* { dg-add-options arm_neon } */
3111
3112 #include "arm_neon.h"
3113
3114
3115=== modified file 'gcc/testsuite/gcc.target/arm/neon/vbslQu16.c'
3116--- old/gcc/testsuite/gcc.target/arm/neon/vbslQu16.c 2007-07-25 11:28:31 +0000
3117+++ new/gcc/testsuite/gcc.target/arm/neon/vbslQu16.c 2010-07-29 15:38:15 +0000
3118@@ -3,7 +3,8 @@
3119
3120 /* { dg-do assemble } */
3121 /* { dg-require-effective-target arm_neon_ok } */
3122-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
3123+/* { dg-options "-save-temps -O0" } */
3124+/* { dg-add-options arm_neon } */
3125
3126 #include "arm_neon.h"
3127
3128
3129=== modified file 'gcc/testsuite/gcc.target/arm/neon/vbslQu32.c'
3130--- old/gcc/testsuite/gcc.target/arm/neon/vbslQu32.c 2007-07-25 11:28:31 +0000
3131+++ new/gcc/testsuite/gcc.target/arm/neon/vbslQu32.c 2010-07-29 15:38:15 +0000
3132@@ -3,7 +3,8 @@
3133
3134 /* { dg-do assemble } */
3135 /* { dg-require-effective-target arm_neon_ok } */
3136-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
3137+/* { dg-options "-save-temps -O0" } */
3138+/* { dg-add-options arm_neon } */
3139
3140 #include "arm_neon.h"
3141
3142
3143=== modified file 'gcc/testsuite/gcc.target/arm/neon/vbslQu64.c'
3144--- old/gcc/testsuite/gcc.target/arm/neon/vbslQu64.c 2007-07-25 11:28:31 +0000
3145+++ new/gcc/testsuite/gcc.target/arm/neon/vbslQu64.c 2010-07-29 15:38:15 +0000
3146@@ -3,7 +3,8 @@
3147
3148 /* { dg-do assemble } */
3149 /* { dg-require-effective-target arm_neon_ok } */
3150-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
3151+/* { dg-options "-save-temps -O0" } */
3152+/* { dg-add-options arm_neon } */
3153
3154 #include "arm_neon.h"
3155
3156
3157=== modified file 'gcc/testsuite/gcc.target/arm/neon/vbslQu8.c'
3158--- old/gcc/testsuite/gcc.target/arm/neon/vbslQu8.c 2007-07-25 11:28:31 +0000
3159+++ new/gcc/testsuite/gcc.target/arm/neon/vbslQu8.c 2010-07-29 15:38:15 +0000
3160@@ -3,7 +3,8 @@
3161
3162 /* { dg-do assemble } */
3163 /* { dg-require-effective-target arm_neon_ok } */
3164-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
3165+/* { dg-options "-save-temps -O0" } */
3166+/* { dg-add-options arm_neon } */
3167
3168 #include "arm_neon.h"
3169
3170
3171=== modified file 'gcc/testsuite/gcc.target/arm/neon/vbslf32.c'
3172--- old/gcc/testsuite/gcc.target/arm/neon/vbslf32.c 2007-07-25 11:28:31 +0000
3173+++ new/gcc/testsuite/gcc.target/arm/neon/vbslf32.c 2010-07-29 15:38:15 +0000
3174@@ -3,7 +3,8 @@
3175
3176 /* { dg-do assemble } */
3177 /* { dg-require-effective-target arm_neon_ok } */
3178-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
3179+/* { dg-options "-save-temps -O0" } */
3180+/* { dg-add-options arm_neon } */
3181
3182 #include "arm_neon.h"
3183
3184
3185=== modified file 'gcc/testsuite/gcc.target/arm/neon/vbslp16.c'
3186--- old/gcc/testsuite/gcc.target/arm/neon/vbslp16.c 2007-07-25 11:28:31 +0000
3187+++ new/gcc/testsuite/gcc.target/arm/neon/vbslp16.c 2010-07-29 15:38:15 +0000
3188@@ -3,7 +3,8 @@
3189
3190 /* { dg-do assemble } */
3191 /* { dg-require-effective-target arm_neon_ok } */
3192-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
3193+/* { dg-options "-save-temps -O0" } */
3194+/* { dg-add-options arm_neon } */
3195
3196 #include "arm_neon.h"
3197
3198
3199=== modified file 'gcc/testsuite/gcc.target/arm/neon/vbslp8.c'
3200--- old/gcc/testsuite/gcc.target/arm/neon/vbslp8.c 2007-07-25 11:28:31 +0000
3201+++ new/gcc/testsuite/gcc.target/arm/neon/vbslp8.c 2010-07-29 15:38:15 +0000
3202@@ -3,7 +3,8 @@
3203
3204 /* { dg-do assemble } */
3205 /* { dg-require-effective-target arm_neon_ok } */
3206-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
3207+/* { dg-options "-save-temps -O0" } */
3208+/* { dg-add-options arm_neon } */
3209
3210 #include "arm_neon.h"
3211
3212
3213=== modified file 'gcc/testsuite/gcc.target/arm/neon/vbsls16.c'
3214--- old/gcc/testsuite/gcc.target/arm/neon/vbsls16.c 2007-07-25 11:28:31 +0000
3215+++ new/gcc/testsuite/gcc.target/arm/neon/vbsls16.c 2010-07-29 15:38:15 +0000
3216@@ -3,7 +3,8 @@
3217
3218 /* { dg-do assemble } */
3219 /* { dg-require-effective-target arm_neon_ok } */
3220-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
3221+/* { dg-options "-save-temps -O0" } */
3222+/* { dg-add-options arm_neon } */
3223
3224 #include "arm_neon.h"
3225
3226
3227=== modified file 'gcc/testsuite/gcc.target/arm/neon/vbsls32.c'
3228--- old/gcc/testsuite/gcc.target/arm/neon/vbsls32.c 2007-07-25 11:28:31 +0000
3229+++ new/gcc/testsuite/gcc.target/arm/neon/vbsls32.c 2010-07-29 15:38:15 +0000
3230@@ -3,7 +3,8 @@
3231
3232 /* { dg-do assemble } */
3233 /* { dg-require-effective-target arm_neon_ok } */
3234-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
3235+/* { dg-options "-save-temps -O0" } */
3236+/* { dg-add-options arm_neon } */
3237
3238 #include "arm_neon.h"
3239
3240
3241=== modified file 'gcc/testsuite/gcc.target/arm/neon/vbsls64.c'
3242--- old/gcc/testsuite/gcc.target/arm/neon/vbsls64.c 2007-07-25 11:28:31 +0000
3243+++ new/gcc/testsuite/gcc.target/arm/neon/vbsls64.c 2010-07-29 15:38:15 +0000
3244@@ -3,7 +3,8 @@
3245
3246 /* { dg-do assemble } */
3247 /* { dg-require-effective-target arm_neon_ok } */
3248-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
3249+/* { dg-options "-save-temps -O0" } */
3250+/* { dg-add-options arm_neon } */
3251
3252 #include "arm_neon.h"
3253
3254
3255=== modified file 'gcc/testsuite/gcc.target/arm/neon/vbsls8.c'
3256--- old/gcc/testsuite/gcc.target/arm/neon/vbsls8.c 2007-07-25 11:28:31 +0000
3257+++ new/gcc/testsuite/gcc.target/arm/neon/vbsls8.c 2010-07-29 15:38:15 +0000
3258@@ -3,7 +3,8 @@
3259
3260 /* { dg-do assemble } */
3261 /* { dg-require-effective-target arm_neon_ok } */
3262-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
3263+/* { dg-options "-save-temps -O0" } */
3264+/* { dg-add-options arm_neon } */
3265
3266 #include "arm_neon.h"
3267
3268
3269=== modified file 'gcc/testsuite/gcc.target/arm/neon/vbslu16.c'
3270--- old/gcc/testsuite/gcc.target/arm/neon/vbslu16.c 2007-07-25 11:28:31 +0000
3271+++ new/gcc/testsuite/gcc.target/arm/neon/vbslu16.c 2010-07-29 15:38:15 +0000
3272@@ -3,7 +3,8 @@
3273
3274 /* { dg-do assemble } */
3275 /* { dg-require-effective-target arm_neon_ok } */
3276-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
3277+/* { dg-options "-save-temps -O0" } */
3278+/* { dg-add-options arm_neon } */
3279
3280 #include "arm_neon.h"
3281
3282
3283=== modified file 'gcc/testsuite/gcc.target/arm/neon/vbslu32.c'
3284--- old/gcc/testsuite/gcc.target/arm/neon/vbslu32.c 2007-07-25 11:28:31 +0000
3285+++ new/gcc/testsuite/gcc.target/arm/neon/vbslu32.c 2010-07-29 15:38:15 +0000
3286@@ -3,7 +3,8 @@
3287
3288 /* { dg-do assemble } */
3289 /* { dg-require-effective-target arm_neon_ok } */
3290-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
3291+/* { dg-options "-save-temps -O0" } */
3292+/* { dg-add-options arm_neon } */
3293
3294 #include "arm_neon.h"
3295
3296
3297=== modified file 'gcc/testsuite/gcc.target/arm/neon/vbslu64.c'
3298--- old/gcc/testsuite/gcc.target/arm/neon/vbslu64.c 2007-07-25 11:28:31 +0000
3299+++ new/gcc/testsuite/gcc.target/arm/neon/vbslu64.c 2010-07-29 15:38:15 +0000
3300@@ -3,7 +3,8 @@
3301
3302 /* { dg-do assemble } */
3303 /* { dg-require-effective-target arm_neon_ok } */
3304-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
3305+/* { dg-options "-save-temps -O0" } */
3306+/* { dg-add-options arm_neon } */
3307
3308 #include "arm_neon.h"
3309
3310
3311=== modified file 'gcc/testsuite/gcc.target/arm/neon/vbslu8.c'
3312--- old/gcc/testsuite/gcc.target/arm/neon/vbslu8.c 2007-07-25 11:28:31 +0000
3313+++ new/gcc/testsuite/gcc.target/arm/neon/vbslu8.c 2010-07-29 15:38:15 +0000
3314@@ -3,7 +3,8 @@
3315
3316 /* { dg-do assemble } */
3317 /* { dg-require-effective-target arm_neon_ok } */
3318-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
3319+/* { dg-options "-save-temps -O0" } */
3320+/* { dg-add-options arm_neon } */
3321
3322 #include "arm_neon.h"
3323
3324
3325=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcageQf32.c'
3326--- old/gcc/testsuite/gcc.target/arm/neon/vcageQf32.c 2007-07-25 11:28:31 +0000
3327+++ new/gcc/testsuite/gcc.target/arm/neon/vcageQf32.c 2010-07-29 15:38:15 +0000
3328@@ -3,7 +3,8 @@
3329
3330 /* { dg-do assemble } */
3331 /* { dg-require-effective-target arm_neon_ok } */
3332-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
3333+/* { dg-options "-save-temps -O0" } */
3334+/* { dg-add-options arm_neon } */
3335
3336 #include "arm_neon.h"
3337
3338
3339=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcagef32.c'
3340--- old/gcc/testsuite/gcc.target/arm/neon/vcagef32.c 2007-07-25 11:28:31 +0000
3341+++ new/gcc/testsuite/gcc.target/arm/neon/vcagef32.c 2010-07-29 15:38:15 +0000
3342@@ -3,7 +3,8 @@
3343
3344 /* { dg-do assemble } */
3345 /* { dg-require-effective-target arm_neon_ok } */
3346-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
3347+/* { dg-options "-save-temps -O0" } */
3348+/* { dg-add-options arm_neon } */
3349
3350 #include "arm_neon.h"
3351
3352
3353=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcagtQf32.c'
3354--- old/gcc/testsuite/gcc.target/arm/neon/vcagtQf32.c 2007-07-25 11:28:31 +0000
3355+++ new/gcc/testsuite/gcc.target/arm/neon/vcagtQf32.c 2010-07-29 15:38:15 +0000
3356@@ -3,7 +3,8 @@
3357
3358 /* { dg-do assemble } */
3359 /* { dg-require-effective-target arm_neon_ok } */
3360-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
3361+/* { dg-options "-save-temps -O0" } */
3362+/* { dg-add-options arm_neon } */
3363
3364 #include "arm_neon.h"
3365
3366
3367=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcagtf32.c'
3368--- old/gcc/testsuite/gcc.target/arm/neon/vcagtf32.c 2007-07-25 11:28:31 +0000
3369+++ new/gcc/testsuite/gcc.target/arm/neon/vcagtf32.c 2010-07-29 15:38:15 +0000
3370@@ -3,7 +3,8 @@
3371
3372 /* { dg-do assemble } */
3373 /* { dg-require-effective-target arm_neon_ok } */
3374-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
3375+/* { dg-options "-save-temps -O0" } */
3376+/* { dg-add-options arm_neon } */
3377
3378 #include "arm_neon.h"
3379
3380
3381=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcaleQf32.c'
3382--- old/gcc/testsuite/gcc.target/arm/neon/vcaleQf32.c 2007-07-25 11:28:31 +0000
3383+++ new/gcc/testsuite/gcc.target/arm/neon/vcaleQf32.c 2010-07-29 15:38:15 +0000
3384@@ -3,7 +3,8 @@
3385
3386 /* { dg-do assemble } */
3387 /* { dg-require-effective-target arm_neon_ok } */
3388-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
3389+/* { dg-options "-save-temps -O0" } */
3390+/* { dg-add-options arm_neon } */
3391
3392 #include "arm_neon.h"
3393
3394
3395=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcalef32.c'
3396--- old/gcc/testsuite/gcc.target/arm/neon/vcalef32.c 2007-07-25 11:28:31 +0000
3397+++ new/gcc/testsuite/gcc.target/arm/neon/vcalef32.c 2010-07-29 15:38:15 +0000
3398@@ -3,7 +3,8 @@
3399
3400 /* { dg-do assemble } */
3401 /* { dg-require-effective-target arm_neon_ok } */
3402-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
3403+/* { dg-options "-save-temps -O0" } */
3404+/* { dg-add-options arm_neon } */
3405
3406 #include "arm_neon.h"
3407
3408
3409=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcaltQf32.c'
3410--- old/gcc/testsuite/gcc.target/arm/neon/vcaltQf32.c 2007-07-25 11:28:31 +0000
3411+++ new/gcc/testsuite/gcc.target/arm/neon/vcaltQf32.c 2010-07-29 15:38:15 +0000
3412@@ -3,7 +3,8 @@
3413
3414 /* { dg-do assemble } */
3415 /* { dg-require-effective-target arm_neon_ok } */
3416-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
3417+/* { dg-options "-save-temps -O0" } */
3418+/* { dg-add-options arm_neon } */
3419
3420 #include "arm_neon.h"
3421
3422
3423=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcaltf32.c'
3424--- old/gcc/testsuite/gcc.target/arm/neon/vcaltf32.c 2007-07-25 11:28:31 +0000
3425+++ new/gcc/testsuite/gcc.target/arm/neon/vcaltf32.c 2010-07-29 15:38:15 +0000
3426@@ -3,7 +3,8 @@
3427
3428 /* { dg-do assemble } */
3429 /* { dg-require-effective-target arm_neon_ok } */
3430-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
3431+/* { dg-options "-save-temps -O0" } */
3432+/* { dg-add-options arm_neon } */
3433
3434 #include "arm_neon.h"
3435
3436
3437=== modified file 'gcc/testsuite/gcc.target/arm/neon/vceqQf32.c'
3438--- old/gcc/testsuite/gcc.target/arm/neon/vceqQf32.c 2007-07-25 11:28:31 +0000
3439+++ new/gcc/testsuite/gcc.target/arm/neon/vceqQf32.c 2010-07-29 15:38:15 +0000
3440@@ -3,7 +3,8 @@
3441
3442 /* { dg-do assemble } */
3443 /* { dg-require-effective-target arm_neon_ok } */
3444-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
3445+/* { dg-options "-save-temps -O0" } */
3446+/* { dg-add-options arm_neon } */
3447
3448 #include "arm_neon.h"
3449
3450
3451=== modified file 'gcc/testsuite/gcc.target/arm/neon/vceqQp8.c'
3452--- old/gcc/testsuite/gcc.target/arm/neon/vceqQp8.c 2007-07-25 11:28:31 +0000
3453+++ new/gcc/testsuite/gcc.target/arm/neon/vceqQp8.c 2010-07-29 15:38:15 +0000
3454@@ -3,7 +3,8 @@
3455
3456 /* { dg-do assemble } */
3457 /* { dg-require-effective-target arm_neon_ok } */
3458-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
3459+/* { dg-options "-save-temps -O0" } */
3460+/* { dg-add-options arm_neon } */
3461
3462 #include "arm_neon.h"
3463
3464
3465=== modified file 'gcc/testsuite/gcc.target/arm/neon/vceqQs16.c'
3466--- old/gcc/testsuite/gcc.target/arm/neon/vceqQs16.c 2007-07-25 11:28:31 +0000
3467+++ new/gcc/testsuite/gcc.target/arm/neon/vceqQs16.c 2010-07-29 15:38:15 +0000
3468@@ -3,7 +3,8 @@
3469
3470 /* { dg-do assemble } */
3471 /* { dg-require-effective-target arm_neon_ok } */
3472-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
3473+/* { dg-options "-save-temps -O0" } */
3474+/* { dg-add-options arm_neon } */
3475
3476 #include "arm_neon.h"
3477
3478
3479=== modified file 'gcc/testsuite/gcc.target/arm/neon/vceqQs32.c'
3480--- old/gcc/testsuite/gcc.target/arm/neon/vceqQs32.c 2007-07-25 11:28:31 +0000
3481+++ new/gcc/testsuite/gcc.target/arm/neon/vceqQs32.c 2010-07-29 15:38:15 +0000
3482@@ -3,7 +3,8 @@
3483
3484 /* { dg-do assemble } */
3485 /* { dg-require-effective-target arm_neon_ok } */
3486-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
3487+/* { dg-options "-save-temps -O0" } */
3488+/* { dg-add-options arm_neon } */
3489
3490 #include "arm_neon.h"
3491
3492
3493=== modified file 'gcc/testsuite/gcc.target/arm/neon/vceqQs8.c'
3494--- old/gcc/testsuite/gcc.target/arm/neon/vceqQs8.c 2007-07-25 11:28:31 +0000
3495+++ new/gcc/testsuite/gcc.target/arm/neon/vceqQs8.c 2010-07-29 15:38:15 +0000
3496@@ -3,7 +3,8 @@
3497
3498 /* { dg-do assemble } */
3499 /* { dg-require-effective-target arm_neon_ok } */
3500-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
3501+/* { dg-options "-save-temps -O0" } */
3502+/* { dg-add-options arm_neon } */
3503
3504 #include "arm_neon.h"
3505
3506
3507=== modified file 'gcc/testsuite/gcc.target/arm/neon/vceqQu16.c'
3508--- old/gcc/testsuite/gcc.target/arm/neon/vceqQu16.c 2007-07-25 11:28:31 +0000
3509+++ new/gcc/testsuite/gcc.target/arm/neon/vceqQu16.c 2010-07-29 15:38:15 +0000
3510@@ -3,7 +3,8 @@
3511
3512 /* { dg-do assemble } */
3513 /* { dg-require-effective-target arm_neon_ok } */
3514-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
3515+/* { dg-options "-save-temps -O0" } */
3516+/* { dg-add-options arm_neon } */
3517
3518 #include "arm_neon.h"
3519
3520
3521=== modified file 'gcc/testsuite/gcc.target/arm/neon/vceqQu32.c'
3522--- old/gcc/testsuite/gcc.target/arm/neon/vceqQu32.c 2007-07-25 11:28:31 +0000
3523+++ new/gcc/testsuite/gcc.target/arm/neon/vceqQu32.c 2010-07-29 15:38:15 +0000
3524@@ -3,7 +3,8 @@
3525
3526 /* { dg-do assemble } */
3527 /* { dg-require-effective-target arm_neon_ok } */
3528-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
3529+/* { dg-options "-save-temps -O0" } */
3530+/* { dg-add-options arm_neon } */
3531
3532 #include "arm_neon.h"
3533
3534
3535=== modified file 'gcc/testsuite/gcc.target/arm/neon/vceqQu8.c'
3536--- old/gcc/testsuite/gcc.target/arm/neon/vceqQu8.c 2007-07-25 11:28:31 +0000
3537+++ new/gcc/testsuite/gcc.target/arm/neon/vceqQu8.c 2010-07-29 15:38:15 +0000
3538@@ -3,7 +3,8 @@
3539
3540 /* { dg-do assemble } */
3541 /* { dg-require-effective-target arm_neon_ok } */
3542-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
3543+/* { dg-options "-save-temps -O0" } */
3544+/* { dg-add-options arm_neon } */
3545
3546 #include "arm_neon.h"
3547
3548
3549=== modified file 'gcc/testsuite/gcc.target/arm/neon/vceqf32.c'
3550--- old/gcc/testsuite/gcc.target/arm/neon/vceqf32.c 2007-07-25 11:28:31 +0000
3551+++ new/gcc/testsuite/gcc.target/arm/neon/vceqf32.c 2010-07-29 15:38:15 +0000
3552@@ -3,7 +3,8 @@
3553
3554 /* { dg-do assemble } */
3555 /* { dg-require-effective-target arm_neon_ok } */
3556-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
3557+/* { dg-options "-save-temps -O0" } */
3558+/* { dg-add-options arm_neon } */
3559
3560 #include "arm_neon.h"
3561
3562
3563=== modified file 'gcc/testsuite/gcc.target/arm/neon/vceqp8.c'
3564--- old/gcc/testsuite/gcc.target/arm/neon/vceqp8.c 2007-07-25 11:28:31 +0000
3565+++ new/gcc/testsuite/gcc.target/arm/neon/vceqp8.c 2010-07-29 15:38:15 +0000
3566@@ -3,7 +3,8 @@
3567
3568 /* { dg-do assemble } */
3569 /* { dg-require-effective-target arm_neon_ok } */
3570-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
3571+/* { dg-options "-save-temps -O0" } */
3572+/* { dg-add-options arm_neon } */
3573
3574 #include "arm_neon.h"
3575
3576
3577=== modified file 'gcc/testsuite/gcc.target/arm/neon/vceqs16.c'
3578--- old/gcc/testsuite/gcc.target/arm/neon/vceqs16.c 2007-07-25 11:28:31 +0000
3579+++ new/gcc/testsuite/gcc.target/arm/neon/vceqs16.c 2010-07-29 15:38:15 +0000
3580@@ -3,7 +3,8 @@
3581
3582 /* { dg-do assemble } */
3583 /* { dg-require-effective-target arm_neon_ok } */
3584-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
3585+/* { dg-options "-save-temps -O0" } */
3586+/* { dg-add-options arm_neon } */
3587
3588 #include "arm_neon.h"
3589
3590
3591=== modified file 'gcc/testsuite/gcc.target/arm/neon/vceqs32.c'
3592--- old/gcc/testsuite/gcc.target/arm/neon/vceqs32.c 2007-07-25 11:28:31 +0000
3593+++ new/gcc/testsuite/gcc.target/arm/neon/vceqs32.c 2010-07-29 15:38:15 +0000
3594@@ -3,7 +3,8 @@
3595
3596 /* { dg-do assemble } */
3597 /* { dg-require-effective-target arm_neon_ok } */
3598-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
3599+/* { dg-options "-save-temps -O0" } */
3600+/* { dg-add-options arm_neon } */
3601
3602 #include "arm_neon.h"
3603
3604
3605=== modified file 'gcc/testsuite/gcc.target/arm/neon/vceqs8.c'
3606--- old/gcc/testsuite/gcc.target/arm/neon/vceqs8.c 2007-07-25 11:28:31 +0000
3607+++ new/gcc/testsuite/gcc.target/arm/neon/vceqs8.c 2010-07-29 15:38:15 +0000
3608@@ -3,7 +3,8 @@
3609
3610 /* { dg-do assemble } */
3611 /* { dg-require-effective-target arm_neon_ok } */
3612-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
3613+/* { dg-options "-save-temps -O0" } */
3614+/* { dg-add-options arm_neon } */
3615
3616 #include "arm_neon.h"
3617
3618
3619=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcequ16.c'
3620--- old/gcc/testsuite/gcc.target/arm/neon/vcequ16.c 2007-07-25 11:28:31 +0000
3621+++ new/gcc/testsuite/gcc.target/arm/neon/vcequ16.c 2010-07-29 15:38:15 +0000
3622@@ -3,7 +3,8 @@
3623
3624 /* { dg-do assemble } */
3625 /* { dg-require-effective-target arm_neon_ok } */
3626-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
3627+/* { dg-options "-save-temps -O0" } */
3628+/* { dg-add-options arm_neon } */
3629
3630 #include "arm_neon.h"
3631
3632
3633=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcequ32.c'
3634--- old/gcc/testsuite/gcc.target/arm/neon/vcequ32.c 2007-07-25 11:28:31 +0000
3635+++ new/gcc/testsuite/gcc.target/arm/neon/vcequ32.c 2010-07-29 15:38:15 +0000
3636@@ -3,7 +3,8 @@
3637
3638 /* { dg-do assemble } */
3639 /* { dg-require-effective-target arm_neon_ok } */
3640-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
3641+/* { dg-options "-save-temps -O0" } */
3642+/* { dg-add-options arm_neon } */
3643
3644 #include "arm_neon.h"
3645
3646
3647=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcequ8.c'
3648--- old/gcc/testsuite/gcc.target/arm/neon/vcequ8.c 2007-07-25 11:28:31 +0000
3649+++ new/gcc/testsuite/gcc.target/arm/neon/vcequ8.c 2010-07-29 15:38:15 +0000
3650@@ -3,7 +3,8 @@
3651
3652 /* { dg-do assemble } */
3653 /* { dg-require-effective-target arm_neon_ok } */
3654-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
3655+/* { dg-options "-save-temps -O0" } */
3656+/* { dg-add-options arm_neon } */
3657
3658 #include "arm_neon.h"
3659
3660
3661=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcgeQf32.c'
3662--- old/gcc/testsuite/gcc.target/arm/neon/vcgeQf32.c 2007-07-25 11:28:31 +0000
3663+++ new/gcc/testsuite/gcc.target/arm/neon/vcgeQf32.c 2010-07-29 15:38:15 +0000
3664@@ -3,7 +3,8 @@
3665
3666 /* { dg-do assemble } */
3667 /* { dg-require-effective-target arm_neon_ok } */
3668-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
3669+/* { dg-options "-save-temps -O0" } */
3670+/* { dg-add-options arm_neon } */
3671
3672 #include "arm_neon.h"
3673
3674
3675=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcgeQs16.c'
3676--- old/gcc/testsuite/gcc.target/arm/neon/vcgeQs16.c 2007-07-25 11:28:31 +0000
3677+++ new/gcc/testsuite/gcc.target/arm/neon/vcgeQs16.c 2010-07-29 15:38:15 +0000
3678@@ -3,7 +3,8 @@
3679
3680 /* { dg-do assemble } */
3681 /* { dg-require-effective-target arm_neon_ok } */
3682-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
3683+/* { dg-options "-save-temps -O0" } */
3684+/* { dg-add-options arm_neon } */
3685
3686 #include "arm_neon.h"
3687
3688
3689=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcgeQs32.c'
3690--- old/gcc/testsuite/gcc.target/arm/neon/vcgeQs32.c 2007-07-25 11:28:31 +0000
3691+++ new/gcc/testsuite/gcc.target/arm/neon/vcgeQs32.c 2010-07-29 15:38:15 +0000
3692@@ -3,7 +3,8 @@
3693
3694 /* { dg-do assemble } */
3695 /* { dg-require-effective-target arm_neon_ok } */
3696-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
3697+/* { dg-options "-save-temps -O0" } */
3698+/* { dg-add-options arm_neon } */
3699
3700 #include "arm_neon.h"
3701
3702
3703=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcgeQs8.c'
3704--- old/gcc/testsuite/gcc.target/arm/neon/vcgeQs8.c 2007-07-25 11:28:31 +0000
3705+++ new/gcc/testsuite/gcc.target/arm/neon/vcgeQs8.c 2010-07-29 15:38:15 +0000
3706@@ -3,7 +3,8 @@
3707
3708 /* { dg-do assemble } */
3709 /* { dg-require-effective-target arm_neon_ok } */
3710-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
3711+/* { dg-options "-save-temps -O0" } */
3712+/* { dg-add-options arm_neon } */
3713
3714 #include "arm_neon.h"
3715
3716
3717=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcgeQu16.c'
3718--- old/gcc/testsuite/gcc.target/arm/neon/vcgeQu16.c 2007-07-25 11:28:31 +0000
3719+++ new/gcc/testsuite/gcc.target/arm/neon/vcgeQu16.c 2010-07-29 15:38:15 +0000
3720@@ -3,7 +3,8 @@
3721
3722 /* { dg-do assemble } */
3723 /* { dg-require-effective-target arm_neon_ok } */
3724-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
3725+/* { dg-options "-save-temps -O0" } */
3726+/* { dg-add-options arm_neon } */
3727
3728 #include "arm_neon.h"
3729
3730
3731=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcgeQu32.c'
3732--- old/gcc/testsuite/gcc.target/arm/neon/vcgeQu32.c 2007-07-25 11:28:31 +0000
3733+++ new/gcc/testsuite/gcc.target/arm/neon/vcgeQu32.c 2010-07-29 15:38:15 +0000
3734@@ -3,7 +3,8 @@
3735
3736 /* { dg-do assemble } */
3737 /* { dg-require-effective-target arm_neon_ok } */
3738-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
3739+/* { dg-options "-save-temps -O0" } */
3740+/* { dg-add-options arm_neon } */
3741
3742 #include "arm_neon.h"
3743
3744
3745=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcgeQu8.c'
3746--- old/gcc/testsuite/gcc.target/arm/neon/vcgeQu8.c 2007-07-25 11:28:31 +0000
3747+++ new/gcc/testsuite/gcc.target/arm/neon/vcgeQu8.c 2010-07-29 15:38:15 +0000
3748@@ -3,7 +3,8 @@
3749
3750 /* { dg-do assemble } */
3751 /* { dg-require-effective-target arm_neon_ok } */
3752-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
3753+/* { dg-options "-save-temps -O0" } */
3754+/* { dg-add-options arm_neon } */
3755
3756 #include "arm_neon.h"
3757
3758
3759=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcgef32.c'
3760--- old/gcc/testsuite/gcc.target/arm/neon/vcgef32.c 2007-07-25 11:28:31 +0000
3761+++ new/gcc/testsuite/gcc.target/arm/neon/vcgef32.c 2010-07-29 15:38:15 +0000
3762@@ -3,7 +3,8 @@
3763
3764 /* { dg-do assemble } */
3765 /* { dg-require-effective-target arm_neon_ok } */
3766-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
3767+/* { dg-options "-save-temps -O0" } */
3768+/* { dg-add-options arm_neon } */
3769
3770 #include "arm_neon.h"
3771
3772
3773=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcges16.c'
3774--- old/gcc/testsuite/gcc.target/arm/neon/vcges16.c 2007-07-25 11:28:31 +0000
3775+++ new/gcc/testsuite/gcc.target/arm/neon/vcges16.c 2010-07-29 15:38:15 +0000
3776@@ -3,7 +3,8 @@
3777
3778 /* { dg-do assemble } */
3779 /* { dg-require-effective-target arm_neon_ok } */
3780-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
3781+/* { dg-options "-save-temps -O0" } */
3782+/* { dg-add-options arm_neon } */
3783
3784 #include "arm_neon.h"
3785
3786
3787=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcges32.c'
3788--- old/gcc/testsuite/gcc.target/arm/neon/vcges32.c 2007-07-25 11:28:31 +0000
3789+++ new/gcc/testsuite/gcc.target/arm/neon/vcges32.c 2010-07-29 15:38:15 +0000
3790@@ -3,7 +3,8 @@
3791
3792 /* { dg-do assemble } */
3793 /* { dg-require-effective-target arm_neon_ok } */
3794-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
3795+/* { dg-options "-save-temps -O0" } */
3796+/* { dg-add-options arm_neon } */
3797
3798 #include "arm_neon.h"
3799
3800
3801=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcges8.c'
3802--- old/gcc/testsuite/gcc.target/arm/neon/vcges8.c 2007-07-25 11:28:31 +0000
3803+++ new/gcc/testsuite/gcc.target/arm/neon/vcges8.c 2010-07-29 15:38:15 +0000
3804@@ -3,7 +3,8 @@
3805
3806 /* { dg-do assemble } */
3807 /* { dg-require-effective-target arm_neon_ok } */
3808-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
3809+/* { dg-options "-save-temps -O0" } */
3810+/* { dg-add-options arm_neon } */
3811
3812 #include "arm_neon.h"
3813
3814
3815=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcgeu16.c'
3816--- old/gcc/testsuite/gcc.target/arm/neon/vcgeu16.c 2007-07-25 11:28:31 +0000
3817+++ new/gcc/testsuite/gcc.target/arm/neon/vcgeu16.c 2010-07-29 15:38:15 +0000
3818@@ -3,7 +3,8 @@
3819
3820 /* { dg-do assemble } */
3821 /* { dg-require-effective-target arm_neon_ok } */
3822-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
3823+/* { dg-options "-save-temps -O0" } */
3824+/* { dg-add-options arm_neon } */
3825
3826 #include "arm_neon.h"
3827
3828
3829=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcgeu32.c'
3830--- old/gcc/testsuite/gcc.target/arm/neon/vcgeu32.c 2007-07-25 11:28:31 +0000
3831+++ new/gcc/testsuite/gcc.target/arm/neon/vcgeu32.c 2010-07-29 15:38:15 +0000
3832@@ -3,7 +3,8 @@
3833
3834 /* { dg-do assemble } */
3835 /* { dg-require-effective-target arm_neon_ok } */
3836-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
3837+/* { dg-options "-save-temps -O0" } */
3838+/* { dg-add-options arm_neon } */
3839
3840 #include "arm_neon.h"
3841
3842
3843=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcgeu8.c'
3844--- old/gcc/testsuite/gcc.target/arm/neon/vcgeu8.c 2007-07-25 11:28:31 +0000
3845+++ new/gcc/testsuite/gcc.target/arm/neon/vcgeu8.c 2010-07-29 15:38:15 +0000
3846@@ -3,7 +3,8 @@
3847
3848 /* { dg-do assemble } */
3849 /* { dg-require-effective-target arm_neon_ok } */
3850-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
3851+/* { dg-options "-save-temps -O0" } */
3852+/* { dg-add-options arm_neon } */
3853
3854 #include "arm_neon.h"
3855
3856
3857=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcgtQf32.c'
3858--- old/gcc/testsuite/gcc.target/arm/neon/vcgtQf32.c 2007-07-25 11:28:31 +0000
3859+++ new/gcc/testsuite/gcc.target/arm/neon/vcgtQf32.c 2010-07-29 15:38:15 +0000
3860@@ -3,7 +3,8 @@
3861
3862 /* { dg-do assemble } */
3863 /* { dg-require-effective-target arm_neon_ok } */
3864-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
3865+/* { dg-options "-save-temps -O0" } */
3866+/* { dg-add-options arm_neon } */
3867
3868 #include "arm_neon.h"
3869
3870
3871=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcgtQs16.c'
3872--- old/gcc/testsuite/gcc.target/arm/neon/vcgtQs16.c 2007-07-25 11:28:31 +0000
3873+++ new/gcc/testsuite/gcc.target/arm/neon/vcgtQs16.c 2010-07-29 15:38:15 +0000
3874@@ -3,7 +3,8 @@
3875
3876 /* { dg-do assemble } */
3877 /* { dg-require-effective-target arm_neon_ok } */
3878-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
3879+/* { dg-options "-save-temps -O0" } */
3880+/* { dg-add-options arm_neon } */
3881
3882 #include "arm_neon.h"
3883
3884
3885=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcgtQs32.c'
3886--- old/gcc/testsuite/gcc.target/arm/neon/vcgtQs32.c 2007-07-25 11:28:31 +0000
3887+++ new/gcc/testsuite/gcc.target/arm/neon/vcgtQs32.c 2010-07-29 15:38:15 +0000
3888@@ -3,7 +3,8 @@
3889
3890 /* { dg-do assemble } */
3891 /* { dg-require-effective-target arm_neon_ok } */
3892-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
3893+/* { dg-options "-save-temps -O0" } */
3894+/* { dg-add-options arm_neon } */
3895
3896 #include "arm_neon.h"
3897
3898
3899=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcgtQs8.c'
3900--- old/gcc/testsuite/gcc.target/arm/neon/vcgtQs8.c 2007-07-25 11:28:31 +0000
3901+++ new/gcc/testsuite/gcc.target/arm/neon/vcgtQs8.c 2010-07-29 15:38:15 +0000
3902@@ -3,7 +3,8 @@
3903
3904 /* { dg-do assemble } */
3905 /* { dg-require-effective-target arm_neon_ok } */
3906-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
3907+/* { dg-options "-save-temps -O0" } */
3908+/* { dg-add-options arm_neon } */
3909
3910 #include "arm_neon.h"
3911
3912
3913=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcgtQu16.c'
3914--- old/gcc/testsuite/gcc.target/arm/neon/vcgtQu16.c 2007-07-25 11:28:31 +0000
3915+++ new/gcc/testsuite/gcc.target/arm/neon/vcgtQu16.c 2010-07-29 15:38:15 +0000
3916@@ -3,7 +3,8 @@
3917
3918 /* { dg-do assemble } */
3919 /* { dg-require-effective-target arm_neon_ok } */
3920-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
3921+/* { dg-options "-save-temps -O0" } */
3922+/* { dg-add-options arm_neon } */
3923
3924 #include "arm_neon.h"
3925
3926
3927=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcgtQu32.c'
3928--- old/gcc/testsuite/gcc.target/arm/neon/vcgtQu32.c 2007-07-25 11:28:31 +0000
3929+++ new/gcc/testsuite/gcc.target/arm/neon/vcgtQu32.c 2010-07-29 15:38:15 +0000
3930@@ -3,7 +3,8 @@
3931
3932 /* { dg-do assemble } */
3933 /* { dg-require-effective-target arm_neon_ok } */
3934-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
3935+/* { dg-options "-save-temps -O0" } */
3936+/* { dg-add-options arm_neon } */
3937
3938 #include "arm_neon.h"
3939
3940
3941=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcgtQu8.c'
3942--- old/gcc/testsuite/gcc.target/arm/neon/vcgtQu8.c 2007-07-25 11:28:31 +0000
3943+++ new/gcc/testsuite/gcc.target/arm/neon/vcgtQu8.c 2010-07-29 15:38:15 +0000
3944@@ -3,7 +3,8 @@
3945
3946 /* { dg-do assemble } */
3947 /* { dg-require-effective-target arm_neon_ok } */
3948-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
3949+/* { dg-options "-save-temps -O0" } */
3950+/* { dg-add-options arm_neon } */
3951
3952 #include "arm_neon.h"
3953
3954
3955=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcgtf32.c'
3956--- old/gcc/testsuite/gcc.target/arm/neon/vcgtf32.c 2007-07-25 11:28:31 +0000
3957+++ new/gcc/testsuite/gcc.target/arm/neon/vcgtf32.c 2010-07-29 15:38:15 +0000
3958@@ -3,7 +3,8 @@
3959
3960 /* { dg-do assemble } */
3961 /* { dg-require-effective-target arm_neon_ok } */
3962-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
3963+/* { dg-options "-save-temps -O0" } */
3964+/* { dg-add-options arm_neon } */
3965
3966 #include "arm_neon.h"
3967
3968
3969=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcgts16.c'
3970--- old/gcc/testsuite/gcc.target/arm/neon/vcgts16.c 2007-07-25 11:28:31 +0000
3971+++ new/gcc/testsuite/gcc.target/arm/neon/vcgts16.c 2010-07-29 15:38:15 +0000
3972@@ -3,7 +3,8 @@
3973
3974 /* { dg-do assemble } */
3975 /* { dg-require-effective-target arm_neon_ok } */
3976-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
3977+/* { dg-options "-save-temps -O0" } */
3978+/* { dg-add-options arm_neon } */
3979
3980 #include "arm_neon.h"
3981
3982
3983=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcgts32.c'
3984--- old/gcc/testsuite/gcc.target/arm/neon/vcgts32.c 2007-07-25 11:28:31 +0000
3985+++ new/gcc/testsuite/gcc.target/arm/neon/vcgts32.c 2010-07-29 15:38:15 +0000
3986@@ -3,7 +3,8 @@
3987
3988 /* { dg-do assemble } */
3989 /* { dg-require-effective-target arm_neon_ok } */
3990-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
3991+/* { dg-options "-save-temps -O0" } */
3992+/* { dg-add-options arm_neon } */
3993
3994 #include "arm_neon.h"
3995
3996
3997=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcgts8.c'
3998--- old/gcc/testsuite/gcc.target/arm/neon/vcgts8.c 2007-07-25 11:28:31 +0000
3999+++ new/gcc/testsuite/gcc.target/arm/neon/vcgts8.c 2010-07-29 15:38:15 +0000
4000@@ -3,7 +3,8 @@
4001
4002 /* { dg-do assemble } */
4003 /* { dg-require-effective-target arm_neon_ok } */
4004-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
4005+/* { dg-options "-save-temps -O0" } */
4006+/* { dg-add-options arm_neon } */
4007
4008 #include "arm_neon.h"
4009
4010
4011=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcgtu16.c'
4012--- old/gcc/testsuite/gcc.target/arm/neon/vcgtu16.c 2007-07-25 11:28:31 +0000
4013+++ new/gcc/testsuite/gcc.target/arm/neon/vcgtu16.c 2010-07-29 15:38:15 +0000
4014@@ -3,7 +3,8 @@
4015
4016 /* { dg-do assemble } */
4017 /* { dg-require-effective-target arm_neon_ok } */
4018-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
4019+/* { dg-options "-save-temps -O0" } */
4020+/* { dg-add-options arm_neon } */
4021
4022 #include "arm_neon.h"
4023
4024
4025=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcgtu32.c'
4026--- old/gcc/testsuite/gcc.target/arm/neon/vcgtu32.c 2007-07-25 11:28:31 +0000
4027+++ new/gcc/testsuite/gcc.target/arm/neon/vcgtu32.c 2010-07-29 15:38:15 +0000
4028@@ -3,7 +3,8 @@
4029
4030 /* { dg-do assemble } */
4031 /* { dg-require-effective-target arm_neon_ok } */
4032-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
4033+/* { dg-options "-save-temps -O0" } */
4034+/* { dg-add-options arm_neon } */
4035
4036 #include "arm_neon.h"
4037
4038
4039=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcgtu8.c'
4040--- old/gcc/testsuite/gcc.target/arm/neon/vcgtu8.c 2007-07-25 11:28:31 +0000
4041+++ new/gcc/testsuite/gcc.target/arm/neon/vcgtu8.c 2010-07-29 15:38:15 +0000
4042@@ -3,7 +3,8 @@
4043
4044 /* { dg-do assemble } */
4045 /* { dg-require-effective-target arm_neon_ok } */
4046-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
4047+/* { dg-options "-save-temps -O0" } */
4048+/* { dg-add-options arm_neon } */
4049
4050 #include "arm_neon.h"
4051
4052
4053=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcleQf32.c'
4054--- old/gcc/testsuite/gcc.target/arm/neon/vcleQf32.c 2007-07-25 11:28:31 +0000
4055+++ new/gcc/testsuite/gcc.target/arm/neon/vcleQf32.c 2010-07-29 15:38:15 +0000
4056@@ -3,7 +3,8 @@
4057
4058 /* { dg-do assemble } */
4059 /* { dg-require-effective-target arm_neon_ok } */
4060-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
4061+/* { dg-options "-save-temps -O0" } */
4062+/* { dg-add-options arm_neon } */
4063
4064 #include "arm_neon.h"
4065
4066
4067=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcleQs16.c'
4068--- old/gcc/testsuite/gcc.target/arm/neon/vcleQs16.c 2007-07-25 11:28:31 +0000
4069+++ new/gcc/testsuite/gcc.target/arm/neon/vcleQs16.c 2010-07-29 15:38:15 +0000
4070@@ -3,7 +3,8 @@
4071
4072 /* { dg-do assemble } */
4073 /* { dg-require-effective-target arm_neon_ok } */
4074-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
4075+/* { dg-options "-save-temps -O0" } */
4076+/* { dg-add-options arm_neon } */
4077
4078 #include "arm_neon.h"
4079
4080
4081=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcleQs32.c'
4082--- old/gcc/testsuite/gcc.target/arm/neon/vcleQs32.c 2007-07-25 11:28:31 +0000
4083+++ new/gcc/testsuite/gcc.target/arm/neon/vcleQs32.c 2010-07-29 15:38:15 +0000
4084@@ -3,7 +3,8 @@
4085
4086 /* { dg-do assemble } */
4087 /* { dg-require-effective-target arm_neon_ok } */
4088-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
4089+/* { dg-options "-save-temps -O0" } */
4090+/* { dg-add-options arm_neon } */
4091
4092 #include "arm_neon.h"
4093
4094
4095=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcleQs8.c'
4096--- old/gcc/testsuite/gcc.target/arm/neon/vcleQs8.c 2007-07-25 11:28:31 +0000
4097+++ new/gcc/testsuite/gcc.target/arm/neon/vcleQs8.c 2010-07-29 15:38:15 +0000
4098@@ -3,7 +3,8 @@
4099
4100 /* { dg-do assemble } */
4101 /* { dg-require-effective-target arm_neon_ok } */
4102-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
4103+/* { dg-options "-save-temps -O0" } */
4104+/* { dg-add-options arm_neon } */
4105
4106 #include "arm_neon.h"
4107
4108
4109=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcleQu16.c'
4110--- old/gcc/testsuite/gcc.target/arm/neon/vcleQu16.c 2007-07-25 11:28:31 +0000
4111+++ new/gcc/testsuite/gcc.target/arm/neon/vcleQu16.c 2010-07-29 15:38:15 +0000
4112@@ -3,7 +3,8 @@
4113
4114 /* { dg-do assemble } */
4115 /* { dg-require-effective-target arm_neon_ok } */
4116-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
4117+/* { dg-options "-save-temps -O0" } */
4118+/* { dg-add-options arm_neon } */
4119
4120 #include "arm_neon.h"
4121
4122
4123=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcleQu32.c'
4124--- old/gcc/testsuite/gcc.target/arm/neon/vcleQu32.c 2007-07-25 11:28:31 +0000
4125+++ new/gcc/testsuite/gcc.target/arm/neon/vcleQu32.c 2010-07-29 15:38:15 +0000
4126@@ -3,7 +3,8 @@
4127
4128 /* { dg-do assemble } */
4129 /* { dg-require-effective-target arm_neon_ok } */
4130-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
4131+/* { dg-options "-save-temps -O0" } */
4132+/* { dg-add-options arm_neon } */
4133
4134 #include "arm_neon.h"
4135
4136
4137=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcleQu8.c'
4138--- old/gcc/testsuite/gcc.target/arm/neon/vcleQu8.c 2007-07-25 11:28:31 +0000
4139+++ new/gcc/testsuite/gcc.target/arm/neon/vcleQu8.c 2010-07-29 15:38:15 +0000
4140@@ -3,7 +3,8 @@
4141
4142 /* { dg-do assemble } */
4143 /* { dg-require-effective-target arm_neon_ok } */
4144-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
4145+/* { dg-options "-save-temps -O0" } */
4146+/* { dg-add-options arm_neon } */
4147
4148 #include "arm_neon.h"
4149
4150
4151=== modified file 'gcc/testsuite/gcc.target/arm/neon/vclef32.c'
4152--- old/gcc/testsuite/gcc.target/arm/neon/vclef32.c 2007-07-25 11:28:31 +0000
4153+++ new/gcc/testsuite/gcc.target/arm/neon/vclef32.c 2010-07-29 15:38:15 +0000
4154@@ -3,7 +3,8 @@
4155
4156 /* { dg-do assemble } */
4157 /* { dg-require-effective-target arm_neon_ok } */
4158-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
4159+/* { dg-options "-save-temps -O0" } */
4160+/* { dg-add-options arm_neon } */
4161
4162 #include "arm_neon.h"
4163
4164
4165=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcles16.c'
4166--- old/gcc/testsuite/gcc.target/arm/neon/vcles16.c 2007-07-25 11:28:31 +0000
4167+++ new/gcc/testsuite/gcc.target/arm/neon/vcles16.c 2010-07-29 15:38:15 +0000
4168@@ -3,7 +3,8 @@
4169
4170 /* { dg-do assemble } */
4171 /* { dg-require-effective-target arm_neon_ok } */
4172-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
4173+/* { dg-options "-save-temps -O0" } */
4174+/* { dg-add-options arm_neon } */
4175
4176 #include "arm_neon.h"
4177
4178
4179=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcles32.c'
4180--- old/gcc/testsuite/gcc.target/arm/neon/vcles32.c 2007-07-25 11:28:31 +0000
4181+++ new/gcc/testsuite/gcc.target/arm/neon/vcles32.c 2010-07-29 15:38:15 +0000
4182@@ -3,7 +3,8 @@
4183
4184 /* { dg-do assemble } */
4185 /* { dg-require-effective-target arm_neon_ok } */
4186-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
4187+/* { dg-options "-save-temps -O0" } */
4188+/* { dg-add-options arm_neon } */
4189
4190 #include "arm_neon.h"
4191
4192
4193=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcles8.c'
4194--- old/gcc/testsuite/gcc.target/arm/neon/vcles8.c 2007-07-25 11:28:31 +0000
4195+++ new/gcc/testsuite/gcc.target/arm/neon/vcles8.c 2010-07-29 15:38:15 +0000
4196@@ -3,7 +3,8 @@
4197
4198 /* { dg-do assemble } */
4199 /* { dg-require-effective-target arm_neon_ok } */
4200-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
4201+/* { dg-options "-save-temps -O0" } */
4202+/* { dg-add-options arm_neon } */
4203
4204 #include "arm_neon.h"
4205
4206
4207=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcleu16.c'
4208--- old/gcc/testsuite/gcc.target/arm/neon/vcleu16.c 2007-07-25 11:28:31 +0000
4209+++ new/gcc/testsuite/gcc.target/arm/neon/vcleu16.c 2010-07-29 15:38:15 +0000
4210@@ -3,7 +3,8 @@
4211
4212 /* { dg-do assemble } */
4213 /* { dg-require-effective-target arm_neon_ok } */
4214-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
4215+/* { dg-options "-save-temps -O0" } */
4216+/* { dg-add-options arm_neon } */
4217
4218 #include "arm_neon.h"
4219
4220
4221=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcleu32.c'
4222--- old/gcc/testsuite/gcc.target/arm/neon/vcleu32.c 2007-07-25 11:28:31 +0000
4223+++ new/gcc/testsuite/gcc.target/arm/neon/vcleu32.c 2010-07-29 15:38:15 +0000
4224@@ -3,7 +3,8 @@
4225
4226 /* { dg-do assemble } */
4227 /* { dg-require-effective-target arm_neon_ok } */
4228-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
4229+/* { dg-options "-save-temps -O0" } */
4230+/* { dg-add-options arm_neon } */
4231
4232 #include "arm_neon.h"
4233
4234
4235=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcleu8.c'
4236--- old/gcc/testsuite/gcc.target/arm/neon/vcleu8.c 2007-07-25 11:28:31 +0000
4237+++ new/gcc/testsuite/gcc.target/arm/neon/vcleu8.c 2010-07-29 15:38:15 +0000
4238@@ -3,7 +3,8 @@
4239
4240 /* { dg-do assemble } */
4241 /* { dg-require-effective-target arm_neon_ok } */
4242-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
4243+/* { dg-options "-save-temps -O0" } */
4244+/* { dg-add-options arm_neon } */
4245
4246 #include "arm_neon.h"
4247
4248
4249=== modified file 'gcc/testsuite/gcc.target/arm/neon/vclsQs16.c'
4250--- old/gcc/testsuite/gcc.target/arm/neon/vclsQs16.c 2007-07-25 11:28:31 +0000
4251+++ new/gcc/testsuite/gcc.target/arm/neon/vclsQs16.c 2010-07-29 15:38:15 +0000
4252@@ -3,7 +3,8 @@
4253
4254 /* { dg-do assemble } */
4255 /* { dg-require-effective-target arm_neon_ok } */
4256-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
4257+/* { dg-options "-save-temps -O0" } */
4258+/* { dg-add-options arm_neon } */
4259
4260 #include "arm_neon.h"
4261
4262
4263=== modified file 'gcc/testsuite/gcc.target/arm/neon/vclsQs32.c'
4264--- old/gcc/testsuite/gcc.target/arm/neon/vclsQs32.c 2007-07-25 11:28:31 +0000
4265+++ new/gcc/testsuite/gcc.target/arm/neon/vclsQs32.c 2010-07-29 15:38:15 +0000
4266@@ -3,7 +3,8 @@
4267
4268 /* { dg-do assemble } */
4269 /* { dg-require-effective-target arm_neon_ok } */
4270-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
4271+/* { dg-options "-save-temps -O0" } */
4272+/* { dg-add-options arm_neon } */
4273
4274 #include "arm_neon.h"
4275
4276
4277=== modified file 'gcc/testsuite/gcc.target/arm/neon/vclsQs8.c'
4278--- old/gcc/testsuite/gcc.target/arm/neon/vclsQs8.c 2007-07-25 11:28:31 +0000
4279+++ new/gcc/testsuite/gcc.target/arm/neon/vclsQs8.c 2010-07-29 15:38:15 +0000
4280@@ -3,7 +3,8 @@
4281
4282 /* { dg-do assemble } */
4283 /* { dg-require-effective-target arm_neon_ok } */
4284-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
4285+/* { dg-options "-save-temps -O0" } */
4286+/* { dg-add-options arm_neon } */
4287
4288 #include "arm_neon.h"
4289
4290
4291=== modified file 'gcc/testsuite/gcc.target/arm/neon/vclss16.c'
4292--- old/gcc/testsuite/gcc.target/arm/neon/vclss16.c 2007-07-25 11:28:31 +0000
4293+++ new/gcc/testsuite/gcc.target/arm/neon/vclss16.c 2010-07-29 15:38:15 +0000
4294@@ -3,7 +3,8 @@
4295
4296 /* { dg-do assemble } */
4297 /* { dg-require-effective-target arm_neon_ok } */
4298-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
4299+/* { dg-options "-save-temps -O0" } */
4300+/* { dg-add-options arm_neon } */
4301
4302 #include "arm_neon.h"
4303
4304
4305=== modified file 'gcc/testsuite/gcc.target/arm/neon/vclss32.c'
4306--- old/gcc/testsuite/gcc.target/arm/neon/vclss32.c 2007-07-25 11:28:31 +0000
4307+++ new/gcc/testsuite/gcc.target/arm/neon/vclss32.c 2010-07-29 15:38:15 +0000
4308@@ -3,7 +3,8 @@
4309
4310 /* { dg-do assemble } */
4311 /* { dg-require-effective-target arm_neon_ok } */
4312-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
4313+/* { dg-options "-save-temps -O0" } */
4314+/* { dg-add-options arm_neon } */
4315
4316 #include "arm_neon.h"
4317
4318
4319=== modified file 'gcc/testsuite/gcc.target/arm/neon/vclss8.c'
4320--- old/gcc/testsuite/gcc.target/arm/neon/vclss8.c 2007-07-25 11:28:31 +0000
4321+++ new/gcc/testsuite/gcc.target/arm/neon/vclss8.c 2010-07-29 15:38:15 +0000
4322@@ -3,7 +3,8 @@
4323
4324 /* { dg-do assemble } */
4325 /* { dg-require-effective-target arm_neon_ok } */
4326-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
4327+/* { dg-options "-save-temps -O0" } */
4328+/* { dg-add-options arm_neon } */
4329
4330 #include "arm_neon.h"
4331
4332
4333=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcltQf32.c'
4334--- old/gcc/testsuite/gcc.target/arm/neon/vcltQf32.c 2007-07-25 11:28:31 +0000
4335+++ new/gcc/testsuite/gcc.target/arm/neon/vcltQf32.c 2010-07-29 15:38:15 +0000
4336@@ -3,7 +3,8 @@
4337
4338 /* { dg-do assemble } */
4339 /* { dg-require-effective-target arm_neon_ok } */
4340-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
4341+/* { dg-options "-save-temps -O0" } */
4342+/* { dg-add-options arm_neon } */
4343
4344 #include "arm_neon.h"
4345
4346
4347=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcltQs16.c'
4348--- old/gcc/testsuite/gcc.target/arm/neon/vcltQs16.c 2007-07-25 11:28:31 +0000
4349+++ new/gcc/testsuite/gcc.target/arm/neon/vcltQs16.c 2010-07-29 15:38:15 +0000
4350@@ -3,7 +3,8 @@
4351
4352 /* { dg-do assemble } */
4353 /* { dg-require-effective-target arm_neon_ok } */
4354-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
4355+/* { dg-options "-save-temps -O0" } */
4356+/* { dg-add-options arm_neon } */
4357
4358 #include "arm_neon.h"
4359
4360
4361=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcltQs32.c'
4362--- old/gcc/testsuite/gcc.target/arm/neon/vcltQs32.c 2007-07-25 11:28:31 +0000
4363+++ new/gcc/testsuite/gcc.target/arm/neon/vcltQs32.c 2010-07-29 15:38:15 +0000
4364@@ -3,7 +3,8 @@
4365
4366 /* { dg-do assemble } */
4367 /* { dg-require-effective-target arm_neon_ok } */
4368-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
4369+/* { dg-options "-save-temps -O0" } */
4370+/* { dg-add-options arm_neon } */
4371
4372 #include "arm_neon.h"
4373
4374
4375=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcltQs8.c'
4376--- old/gcc/testsuite/gcc.target/arm/neon/vcltQs8.c 2007-07-25 11:28:31 +0000
4377+++ new/gcc/testsuite/gcc.target/arm/neon/vcltQs8.c 2010-07-29 15:38:15 +0000
4378@@ -3,7 +3,8 @@
4379
4380 /* { dg-do assemble } */
4381 /* { dg-require-effective-target arm_neon_ok } */
4382-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
4383+/* { dg-options "-save-temps -O0" } */
4384+/* { dg-add-options arm_neon } */
4385
4386 #include "arm_neon.h"
4387
4388
4389=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcltQu16.c'
4390--- old/gcc/testsuite/gcc.target/arm/neon/vcltQu16.c 2007-07-25 11:28:31 +0000
4391+++ new/gcc/testsuite/gcc.target/arm/neon/vcltQu16.c 2010-07-29 15:38:15 +0000
4392@@ -3,7 +3,8 @@
4393
4394 /* { dg-do assemble } */
4395 /* { dg-require-effective-target arm_neon_ok } */
4396-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
4397+/* { dg-options "-save-temps -O0" } */
4398+/* { dg-add-options arm_neon } */
4399
4400 #include "arm_neon.h"
4401
4402
4403=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcltQu32.c'
4404--- old/gcc/testsuite/gcc.target/arm/neon/vcltQu32.c 2007-07-25 11:28:31 +0000
4405+++ new/gcc/testsuite/gcc.target/arm/neon/vcltQu32.c 2010-07-29 15:38:15 +0000
4406@@ -3,7 +3,8 @@
4407
4408 /* { dg-do assemble } */
4409 /* { dg-require-effective-target arm_neon_ok } */
4410-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
4411+/* { dg-options "-save-temps -O0" } */
4412+/* { dg-add-options arm_neon } */
4413
4414 #include "arm_neon.h"
4415
4416
4417=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcltQu8.c'
4418--- old/gcc/testsuite/gcc.target/arm/neon/vcltQu8.c 2007-07-25 11:28:31 +0000
4419+++ new/gcc/testsuite/gcc.target/arm/neon/vcltQu8.c 2010-07-29 15:38:15 +0000
4420@@ -3,7 +3,8 @@
4421
4422 /* { dg-do assemble } */
4423 /* { dg-require-effective-target arm_neon_ok } */
4424-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
4425+/* { dg-options "-save-temps -O0" } */
4426+/* { dg-add-options arm_neon } */
4427
4428 #include "arm_neon.h"
4429
4430
4431=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcltf32.c'
4432--- old/gcc/testsuite/gcc.target/arm/neon/vcltf32.c 2007-07-25 11:28:31 +0000
4433+++ new/gcc/testsuite/gcc.target/arm/neon/vcltf32.c 2010-07-29 15:38:15 +0000
4434@@ -3,7 +3,8 @@
4435
4436 /* { dg-do assemble } */
4437 /* { dg-require-effective-target arm_neon_ok } */
4438-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
4439+/* { dg-options "-save-temps -O0" } */
4440+/* { dg-add-options arm_neon } */
4441
4442 #include "arm_neon.h"
4443
4444
4445=== modified file 'gcc/testsuite/gcc.target/arm/neon/vclts16.c'
4446--- old/gcc/testsuite/gcc.target/arm/neon/vclts16.c 2007-07-25 11:28:31 +0000
4447+++ new/gcc/testsuite/gcc.target/arm/neon/vclts16.c 2010-07-29 15:38:15 +0000
4448@@ -3,7 +3,8 @@
4449
4450 /* { dg-do assemble } */
4451 /* { dg-require-effective-target arm_neon_ok } */
4452-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
4453+/* { dg-options "-save-temps -O0" } */
4454+/* { dg-add-options arm_neon } */
4455
4456 #include "arm_neon.h"
4457
4458
4459=== modified file 'gcc/testsuite/gcc.target/arm/neon/vclts32.c'
4460--- old/gcc/testsuite/gcc.target/arm/neon/vclts32.c 2007-07-25 11:28:31 +0000
4461+++ new/gcc/testsuite/gcc.target/arm/neon/vclts32.c 2010-07-29 15:38:15 +0000
4462@@ -3,7 +3,8 @@
4463
4464 /* { dg-do assemble } */
4465 /* { dg-require-effective-target arm_neon_ok } */
4466-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
4467+/* { dg-options "-save-temps -O0" } */
4468+/* { dg-add-options arm_neon } */
4469
4470 #include "arm_neon.h"
4471
4472
4473=== modified file 'gcc/testsuite/gcc.target/arm/neon/vclts8.c'
4474--- old/gcc/testsuite/gcc.target/arm/neon/vclts8.c 2007-07-25 11:28:31 +0000
4475+++ new/gcc/testsuite/gcc.target/arm/neon/vclts8.c 2010-07-29 15:38:15 +0000
4476@@ -3,7 +3,8 @@
4477
4478 /* { dg-do assemble } */
4479 /* { dg-require-effective-target arm_neon_ok } */
4480-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
4481+/* { dg-options "-save-temps -O0" } */
4482+/* { dg-add-options arm_neon } */
4483
4484 #include "arm_neon.h"
4485
4486
4487=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcltu16.c'
4488--- old/gcc/testsuite/gcc.target/arm/neon/vcltu16.c 2007-07-25 11:28:31 +0000
4489+++ new/gcc/testsuite/gcc.target/arm/neon/vcltu16.c 2010-07-29 15:38:15 +0000
4490@@ -3,7 +3,8 @@
4491
4492 /* { dg-do assemble } */
4493 /* { dg-require-effective-target arm_neon_ok } */
4494-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
4495+/* { dg-options "-save-temps -O0" } */
4496+/* { dg-add-options arm_neon } */
4497
4498 #include "arm_neon.h"
4499
4500
4501=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcltu32.c'
4502--- old/gcc/testsuite/gcc.target/arm/neon/vcltu32.c 2007-07-25 11:28:31 +0000
4503+++ new/gcc/testsuite/gcc.target/arm/neon/vcltu32.c 2010-07-29 15:38:15 +0000
4504@@ -3,7 +3,8 @@
4505
4506 /* { dg-do assemble } */
4507 /* { dg-require-effective-target arm_neon_ok } */
4508-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
4509+/* { dg-options "-save-temps -O0" } */
4510+/* { dg-add-options arm_neon } */
4511
4512 #include "arm_neon.h"
4513
4514
4515=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcltu8.c'
4516--- old/gcc/testsuite/gcc.target/arm/neon/vcltu8.c 2007-07-25 11:28:31 +0000
4517+++ new/gcc/testsuite/gcc.target/arm/neon/vcltu8.c 2010-07-29 15:38:15 +0000
4518@@ -3,7 +3,8 @@
4519
4520 /* { dg-do assemble } */
4521 /* { dg-require-effective-target arm_neon_ok } */
4522-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
4523+/* { dg-options "-save-temps -O0" } */
4524+/* { dg-add-options arm_neon } */
4525
4526 #include "arm_neon.h"
4527
4528
4529=== modified file 'gcc/testsuite/gcc.target/arm/neon/vclzQs16.c'
4530--- old/gcc/testsuite/gcc.target/arm/neon/vclzQs16.c 2007-07-25 11:28:31 +0000
4531+++ new/gcc/testsuite/gcc.target/arm/neon/vclzQs16.c 2010-07-29 15:38:15 +0000
4532@@ -3,7 +3,8 @@
4533
4534 /* { dg-do assemble } */
4535 /* { dg-require-effective-target arm_neon_ok } */
4536-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
4537+/* { dg-options "-save-temps -O0" } */
4538+/* { dg-add-options arm_neon } */
4539
4540 #include "arm_neon.h"
4541
4542
4543=== modified file 'gcc/testsuite/gcc.target/arm/neon/vclzQs32.c'
4544--- old/gcc/testsuite/gcc.target/arm/neon/vclzQs32.c 2007-07-25 11:28:31 +0000
4545+++ new/gcc/testsuite/gcc.target/arm/neon/vclzQs32.c 2010-07-29 15:38:15 +0000
4546@@ -3,7 +3,8 @@
4547
4548 /* { dg-do assemble } */
4549 /* { dg-require-effective-target arm_neon_ok } */
4550-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
4551+/* { dg-options "-save-temps -O0" } */
4552+/* { dg-add-options arm_neon } */
4553
4554 #include "arm_neon.h"
4555
4556
4557=== modified file 'gcc/testsuite/gcc.target/arm/neon/vclzQs8.c'
4558--- old/gcc/testsuite/gcc.target/arm/neon/vclzQs8.c 2007-07-25 11:28:31 +0000
4559+++ new/gcc/testsuite/gcc.target/arm/neon/vclzQs8.c 2010-07-29 15:38:15 +0000
4560@@ -3,7 +3,8 @@
4561
4562 /* { dg-do assemble } */
4563 /* { dg-require-effective-target arm_neon_ok } */
4564-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
4565+/* { dg-options "-save-temps -O0" } */
4566+/* { dg-add-options arm_neon } */
4567
4568 #include "arm_neon.h"
4569
4570
4571=== modified file 'gcc/testsuite/gcc.target/arm/neon/vclzQu16.c'
4572--- old/gcc/testsuite/gcc.target/arm/neon/vclzQu16.c 2007-07-25 11:28:31 +0000
4573+++ new/gcc/testsuite/gcc.target/arm/neon/vclzQu16.c 2010-07-29 15:38:15 +0000
4574@@ -3,7 +3,8 @@
4575
4576 /* { dg-do assemble } */
4577 /* { dg-require-effective-target arm_neon_ok } */
4578-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
4579+/* { dg-options "-save-temps -O0" } */
4580+/* { dg-add-options arm_neon } */
4581
4582 #include "arm_neon.h"
4583
4584
4585=== modified file 'gcc/testsuite/gcc.target/arm/neon/vclzQu32.c'
4586--- old/gcc/testsuite/gcc.target/arm/neon/vclzQu32.c 2007-07-25 11:28:31 +0000
4587+++ new/gcc/testsuite/gcc.target/arm/neon/vclzQu32.c 2010-07-29 15:38:15 +0000
4588@@ -3,7 +3,8 @@
4589
4590 /* { dg-do assemble } */
4591 /* { dg-require-effective-target arm_neon_ok } */
4592-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
4593+/* { dg-options "-save-temps -O0" } */
4594+/* { dg-add-options arm_neon } */
4595
4596 #include "arm_neon.h"
4597
4598
4599=== modified file 'gcc/testsuite/gcc.target/arm/neon/vclzQu8.c'
4600--- old/gcc/testsuite/gcc.target/arm/neon/vclzQu8.c 2007-07-25 11:28:31 +0000
4601+++ new/gcc/testsuite/gcc.target/arm/neon/vclzQu8.c 2010-07-29 15:38:15 +0000
4602@@ -3,7 +3,8 @@
4603
4604 /* { dg-do assemble } */
4605 /* { dg-require-effective-target arm_neon_ok } */
4606-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
4607+/* { dg-options "-save-temps -O0" } */
4608+/* { dg-add-options arm_neon } */
4609
4610 #include "arm_neon.h"
4611
4612
4613=== modified file 'gcc/testsuite/gcc.target/arm/neon/vclzs16.c'
4614--- old/gcc/testsuite/gcc.target/arm/neon/vclzs16.c 2007-07-25 11:28:31 +0000
4615+++ new/gcc/testsuite/gcc.target/arm/neon/vclzs16.c 2010-07-29 15:38:15 +0000
4616@@ -3,7 +3,8 @@
4617
4618 /* { dg-do assemble } */
4619 /* { dg-require-effective-target arm_neon_ok } */
4620-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
4621+/* { dg-options "-save-temps -O0" } */
4622+/* { dg-add-options arm_neon } */
4623
4624 #include "arm_neon.h"
4625
4626
4627=== modified file 'gcc/testsuite/gcc.target/arm/neon/vclzs32.c'
4628--- old/gcc/testsuite/gcc.target/arm/neon/vclzs32.c 2007-07-25 11:28:31 +0000
4629+++ new/gcc/testsuite/gcc.target/arm/neon/vclzs32.c 2010-07-29 15:38:15 +0000
4630@@ -3,7 +3,8 @@
4631
4632 /* { dg-do assemble } */
4633 /* { dg-require-effective-target arm_neon_ok } */
4634-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
4635+/* { dg-options "-save-temps -O0" } */
4636+/* { dg-add-options arm_neon } */
4637
4638 #include "arm_neon.h"
4639
4640
4641=== modified file 'gcc/testsuite/gcc.target/arm/neon/vclzs8.c'
4642--- old/gcc/testsuite/gcc.target/arm/neon/vclzs8.c 2007-07-25 11:28:31 +0000
4643+++ new/gcc/testsuite/gcc.target/arm/neon/vclzs8.c 2010-07-29 15:38:15 +0000
4644@@ -3,7 +3,8 @@
4645
4646 /* { dg-do assemble } */
4647 /* { dg-require-effective-target arm_neon_ok } */
4648-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
4649+/* { dg-options "-save-temps -O0" } */
4650+/* { dg-add-options arm_neon } */
4651
4652 #include "arm_neon.h"
4653
4654
4655=== modified file 'gcc/testsuite/gcc.target/arm/neon/vclzu16.c'
4656--- old/gcc/testsuite/gcc.target/arm/neon/vclzu16.c 2007-07-25 11:28:31 +0000
4657+++ new/gcc/testsuite/gcc.target/arm/neon/vclzu16.c 2010-07-29 15:38:15 +0000
4658@@ -3,7 +3,8 @@
4659
4660 /* { dg-do assemble } */
4661 /* { dg-require-effective-target arm_neon_ok } */
4662-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
4663+/* { dg-options "-save-temps -O0" } */
4664+/* { dg-add-options arm_neon } */
4665
4666 #include "arm_neon.h"
4667
4668
4669=== modified file 'gcc/testsuite/gcc.target/arm/neon/vclzu32.c'
4670--- old/gcc/testsuite/gcc.target/arm/neon/vclzu32.c 2007-07-25 11:28:31 +0000
4671+++ new/gcc/testsuite/gcc.target/arm/neon/vclzu32.c 2010-07-29 15:38:15 +0000
4672@@ -3,7 +3,8 @@
4673
4674 /* { dg-do assemble } */
4675 /* { dg-require-effective-target arm_neon_ok } */
4676-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
4677+/* { dg-options "-save-temps -O0" } */
4678+/* { dg-add-options arm_neon } */
4679
4680 #include "arm_neon.h"
4681
4682
4683=== modified file 'gcc/testsuite/gcc.target/arm/neon/vclzu8.c'
4684--- old/gcc/testsuite/gcc.target/arm/neon/vclzu8.c 2007-07-25 11:28:31 +0000
4685+++ new/gcc/testsuite/gcc.target/arm/neon/vclzu8.c 2010-07-29 15:38:15 +0000
4686@@ -3,7 +3,8 @@
4687
4688 /* { dg-do assemble } */
4689 /* { dg-require-effective-target arm_neon_ok } */
4690-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
4691+/* { dg-options "-save-temps -O0" } */
4692+/* { dg-add-options arm_neon } */
4693
4694 #include "arm_neon.h"
4695
4696
4697=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcntQp8.c'
4698--- old/gcc/testsuite/gcc.target/arm/neon/vcntQp8.c 2007-07-25 11:28:31 +0000
4699+++ new/gcc/testsuite/gcc.target/arm/neon/vcntQp8.c 2010-07-29 15:38:15 +0000
4700@@ -3,7 +3,8 @@
4701
4702 /* { dg-do assemble } */
4703 /* { dg-require-effective-target arm_neon_ok } */
4704-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
4705+/* { dg-options "-save-temps -O0" } */
4706+/* { dg-add-options arm_neon } */
4707
4708 #include "arm_neon.h"
4709
4710
4711=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcntQs8.c'
4712--- old/gcc/testsuite/gcc.target/arm/neon/vcntQs8.c 2007-07-25 11:28:31 +0000
4713+++ new/gcc/testsuite/gcc.target/arm/neon/vcntQs8.c 2010-07-29 15:38:15 +0000
4714@@ -3,7 +3,8 @@
4715
4716 /* { dg-do assemble } */
4717 /* { dg-require-effective-target arm_neon_ok } */
4718-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
4719+/* { dg-options "-save-temps -O0" } */
4720+/* { dg-add-options arm_neon } */
4721
4722 #include "arm_neon.h"
4723
4724
4725=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcntQu8.c'
4726--- old/gcc/testsuite/gcc.target/arm/neon/vcntQu8.c 2007-07-25 11:28:31 +0000
4727+++ new/gcc/testsuite/gcc.target/arm/neon/vcntQu8.c 2010-07-29 15:38:15 +0000
4728@@ -3,7 +3,8 @@
4729
4730 /* { dg-do assemble } */
4731 /* { dg-require-effective-target arm_neon_ok } */
4732-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
4733+/* { dg-options "-save-temps -O0" } */
4734+/* { dg-add-options arm_neon } */
4735
4736 #include "arm_neon.h"
4737
4738
4739=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcntp8.c'
4740--- old/gcc/testsuite/gcc.target/arm/neon/vcntp8.c 2007-07-25 11:28:31 +0000
4741+++ new/gcc/testsuite/gcc.target/arm/neon/vcntp8.c 2010-07-29 15:38:15 +0000
4742@@ -3,7 +3,8 @@
4743
4744 /* { dg-do assemble } */
4745 /* { dg-require-effective-target arm_neon_ok } */
4746-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
4747+/* { dg-options "-save-temps -O0" } */
4748+/* { dg-add-options arm_neon } */
4749
4750 #include "arm_neon.h"
4751
4752
4753=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcnts8.c'
4754--- old/gcc/testsuite/gcc.target/arm/neon/vcnts8.c 2007-07-25 11:28:31 +0000
4755+++ new/gcc/testsuite/gcc.target/arm/neon/vcnts8.c 2010-07-29 15:38:15 +0000
4756@@ -3,7 +3,8 @@
4757
4758 /* { dg-do assemble } */
4759 /* { dg-require-effective-target arm_neon_ok } */
4760-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
4761+/* { dg-options "-save-temps -O0" } */
4762+/* { dg-add-options arm_neon } */
4763
4764 #include "arm_neon.h"
4765
4766
4767=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcntu8.c'
4768--- old/gcc/testsuite/gcc.target/arm/neon/vcntu8.c 2007-07-25 11:28:31 +0000
4769+++ new/gcc/testsuite/gcc.target/arm/neon/vcntu8.c 2010-07-29 15:38:15 +0000
4770@@ -3,7 +3,8 @@
4771
4772 /* { dg-do assemble } */
4773 /* { dg-require-effective-target arm_neon_ok } */
4774-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
4775+/* { dg-options "-save-temps -O0" } */
4776+/* { dg-add-options arm_neon } */
4777
4778 #include "arm_neon.h"
4779
4780
4781=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcombinef32.c'
4782--- old/gcc/testsuite/gcc.target/arm/neon/vcombinef32.c 2007-07-25 11:28:31 +0000
4783+++ new/gcc/testsuite/gcc.target/arm/neon/vcombinef32.c 2010-07-29 15:38:15 +0000
4784@@ -3,7 +3,8 @@
4785
4786 /* { dg-do assemble } */
4787 /* { dg-require-effective-target arm_neon_ok } */
4788-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
4789+/* { dg-options "-save-temps -O0" } */
4790+/* { dg-add-options arm_neon } */
4791
4792 #include "arm_neon.h"
4793
4794
4795=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcombinep16.c'
4796--- old/gcc/testsuite/gcc.target/arm/neon/vcombinep16.c 2007-07-25 11:28:31 +0000
4797+++ new/gcc/testsuite/gcc.target/arm/neon/vcombinep16.c 2010-07-29 15:38:15 +0000
4798@@ -3,7 +3,8 @@
4799
4800 /* { dg-do assemble } */
4801 /* { dg-require-effective-target arm_neon_ok } */
4802-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
4803+/* { dg-options "-save-temps -O0" } */
4804+/* { dg-add-options arm_neon } */
4805
4806 #include "arm_neon.h"
4807
4808
4809=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcombinep8.c'
4810--- old/gcc/testsuite/gcc.target/arm/neon/vcombinep8.c 2007-07-25 11:28:31 +0000
4811+++ new/gcc/testsuite/gcc.target/arm/neon/vcombinep8.c 2010-07-29 15:38:15 +0000
4812@@ -3,7 +3,8 @@
4813
4814 /* { dg-do assemble } */
4815 /* { dg-require-effective-target arm_neon_ok } */
4816-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
4817+/* { dg-options "-save-temps -O0" } */
4818+/* { dg-add-options arm_neon } */
4819
4820 #include "arm_neon.h"
4821
4822
4823=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcombines16.c'
4824--- old/gcc/testsuite/gcc.target/arm/neon/vcombines16.c 2007-07-25 11:28:31 +0000
4825+++ new/gcc/testsuite/gcc.target/arm/neon/vcombines16.c 2010-07-29 15:38:15 +0000
4826@@ -3,7 +3,8 @@
4827
4828 /* { dg-do assemble } */
4829 /* { dg-require-effective-target arm_neon_ok } */
4830-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
4831+/* { dg-options "-save-temps -O0" } */
4832+/* { dg-add-options arm_neon } */
4833
4834 #include "arm_neon.h"
4835
4836
4837=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcombines32.c'
4838--- old/gcc/testsuite/gcc.target/arm/neon/vcombines32.c 2007-07-25 11:28:31 +0000
4839+++ new/gcc/testsuite/gcc.target/arm/neon/vcombines32.c 2010-07-29 15:38:15 +0000
4840@@ -3,7 +3,8 @@
4841
4842 /* { dg-do assemble } */
4843 /* { dg-require-effective-target arm_neon_ok } */
4844-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
4845+/* { dg-options "-save-temps -O0" } */
4846+/* { dg-add-options arm_neon } */
4847
4848 #include "arm_neon.h"
4849
4850
4851=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcombines64.c'
4852--- old/gcc/testsuite/gcc.target/arm/neon/vcombines64.c 2007-07-25 11:28:31 +0000
4853+++ new/gcc/testsuite/gcc.target/arm/neon/vcombines64.c 2010-07-29 15:38:15 +0000
4854@@ -3,7 +3,8 @@
4855
4856 /* { dg-do assemble } */
4857 /* { dg-require-effective-target arm_neon_ok } */
4858-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
4859+/* { dg-options "-save-temps -O0" } */
4860+/* { dg-add-options arm_neon } */
4861
4862 #include "arm_neon.h"
4863
4864
4865=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcombines8.c'
4866--- old/gcc/testsuite/gcc.target/arm/neon/vcombines8.c 2007-07-25 11:28:31 +0000
4867+++ new/gcc/testsuite/gcc.target/arm/neon/vcombines8.c 2010-07-29 15:38:15 +0000
4868@@ -3,7 +3,8 @@
4869
4870 /* { dg-do assemble } */
4871 /* { dg-require-effective-target arm_neon_ok } */
4872-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
4873+/* { dg-options "-save-temps -O0" } */
4874+/* { dg-add-options arm_neon } */
4875
4876 #include "arm_neon.h"
4877
4878
4879=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcombineu16.c'
4880--- old/gcc/testsuite/gcc.target/arm/neon/vcombineu16.c 2007-07-25 11:28:31 +0000
4881+++ new/gcc/testsuite/gcc.target/arm/neon/vcombineu16.c 2010-07-29 15:38:15 +0000
4882@@ -3,7 +3,8 @@
4883
4884 /* { dg-do assemble } */
4885 /* { dg-require-effective-target arm_neon_ok } */
4886-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
4887+/* { dg-options "-save-temps -O0" } */
4888+/* { dg-add-options arm_neon } */
4889
4890 #include "arm_neon.h"
4891
4892
4893=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcombineu32.c'
4894--- old/gcc/testsuite/gcc.target/arm/neon/vcombineu32.c 2007-07-25 11:28:31 +0000
4895+++ new/gcc/testsuite/gcc.target/arm/neon/vcombineu32.c 2010-07-29 15:38:15 +0000
4896@@ -3,7 +3,8 @@
4897
4898 /* { dg-do assemble } */
4899 /* { dg-require-effective-target arm_neon_ok } */
4900-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
4901+/* { dg-options "-save-temps -O0" } */
4902+/* { dg-add-options arm_neon } */
4903
4904 #include "arm_neon.h"
4905
4906
4907=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcombineu64.c'
4908--- old/gcc/testsuite/gcc.target/arm/neon/vcombineu64.c 2007-07-25 11:28:31 +0000
4909+++ new/gcc/testsuite/gcc.target/arm/neon/vcombineu64.c 2010-07-29 15:38:15 +0000
4910@@ -3,7 +3,8 @@
4911
4912 /* { dg-do assemble } */
4913 /* { dg-require-effective-target arm_neon_ok } */
4914-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
4915+/* { dg-options "-save-temps -O0" } */
4916+/* { dg-add-options arm_neon } */
4917
4918 #include "arm_neon.h"
4919
4920
4921=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcombineu8.c'
4922--- old/gcc/testsuite/gcc.target/arm/neon/vcombineu8.c 2007-07-25 11:28:31 +0000
4923+++ new/gcc/testsuite/gcc.target/arm/neon/vcombineu8.c 2010-07-29 15:38:15 +0000
4924@@ -3,7 +3,8 @@
4925
4926 /* { dg-do assemble } */
4927 /* { dg-require-effective-target arm_neon_ok } */
4928-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
4929+/* { dg-options "-save-temps -O0" } */
4930+/* { dg-add-options arm_neon } */
4931
4932 #include "arm_neon.h"
4933
4934
4935=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcreatef32.c'
4936--- old/gcc/testsuite/gcc.target/arm/neon/vcreatef32.c 2007-07-25 11:28:31 +0000
4937+++ new/gcc/testsuite/gcc.target/arm/neon/vcreatef32.c 2010-07-29 15:38:15 +0000
4938@@ -3,7 +3,8 @@
4939
4940 /* { dg-do assemble } */
4941 /* { dg-require-effective-target arm_neon_ok } */
4942-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
4943+/* { dg-options "-save-temps -O0" } */
4944+/* { dg-add-options arm_neon } */
4945
4946 #include "arm_neon.h"
4947
4948
4949=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcreatep16.c'
4950--- old/gcc/testsuite/gcc.target/arm/neon/vcreatep16.c 2007-07-25 11:28:31 +0000
4951+++ new/gcc/testsuite/gcc.target/arm/neon/vcreatep16.c 2010-07-29 15:38:15 +0000
4952@@ -3,7 +3,8 @@
4953
4954 /* { dg-do assemble } */
4955 /* { dg-require-effective-target arm_neon_ok } */
4956-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
4957+/* { dg-options "-save-temps -O0" } */
4958+/* { dg-add-options arm_neon } */
4959
4960 #include "arm_neon.h"
4961
4962
4963=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcreatep8.c'
4964--- old/gcc/testsuite/gcc.target/arm/neon/vcreatep8.c 2007-07-25 11:28:31 +0000
4965+++ new/gcc/testsuite/gcc.target/arm/neon/vcreatep8.c 2010-07-29 15:38:15 +0000
4966@@ -3,7 +3,8 @@
4967
4968 /* { dg-do assemble } */
4969 /* { dg-require-effective-target arm_neon_ok } */
4970-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
4971+/* { dg-options "-save-temps -O0" } */
4972+/* { dg-add-options arm_neon } */
4973
4974 #include "arm_neon.h"
4975
4976
4977=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcreates16.c'
4978--- old/gcc/testsuite/gcc.target/arm/neon/vcreates16.c 2007-07-25 11:28:31 +0000
4979+++ new/gcc/testsuite/gcc.target/arm/neon/vcreates16.c 2010-07-29 15:38:15 +0000
4980@@ -3,7 +3,8 @@
4981
4982 /* { dg-do assemble } */
4983 /* { dg-require-effective-target arm_neon_ok } */
4984-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
4985+/* { dg-options "-save-temps -O0" } */
4986+/* { dg-add-options arm_neon } */
4987
4988 #include "arm_neon.h"
4989
4990
4991=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcreates32.c'
4992--- old/gcc/testsuite/gcc.target/arm/neon/vcreates32.c 2007-07-25 11:28:31 +0000
4993+++ new/gcc/testsuite/gcc.target/arm/neon/vcreates32.c 2010-07-29 15:38:15 +0000
4994@@ -3,7 +3,8 @@
4995
4996 /* { dg-do assemble } */
4997 /* { dg-require-effective-target arm_neon_ok } */
4998-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
4999+/* { dg-options "-save-temps -O0" } */
5000+/* { dg-add-options arm_neon } */
5001
5002 #include "arm_neon.h"
5003
5004
5005=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcreates64.c'
5006--- old/gcc/testsuite/gcc.target/arm/neon/vcreates64.c 2007-07-25 11:28:31 +0000
5007+++ new/gcc/testsuite/gcc.target/arm/neon/vcreates64.c 2010-07-29 15:38:15 +0000
5008@@ -3,7 +3,8 @@
5009
5010 /* { dg-do assemble } */
5011 /* { dg-require-effective-target arm_neon_ok } */
5012-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
5013+/* { dg-options "-save-temps -O0" } */
5014+/* { dg-add-options arm_neon } */
5015
5016 #include "arm_neon.h"
5017
5018
5019=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcreates8.c'
5020--- old/gcc/testsuite/gcc.target/arm/neon/vcreates8.c 2007-07-25 11:28:31 +0000
5021+++ new/gcc/testsuite/gcc.target/arm/neon/vcreates8.c 2010-07-29 15:38:15 +0000
5022@@ -3,7 +3,8 @@
5023
5024 /* { dg-do assemble } */
5025 /* { dg-require-effective-target arm_neon_ok } */
5026-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
5027+/* { dg-options "-save-temps -O0" } */
5028+/* { dg-add-options arm_neon } */
5029
5030 #include "arm_neon.h"
5031
5032
5033=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcreateu16.c'
5034--- old/gcc/testsuite/gcc.target/arm/neon/vcreateu16.c 2007-07-25 11:28:31 +0000
5035+++ new/gcc/testsuite/gcc.target/arm/neon/vcreateu16.c 2010-07-29 15:38:15 +0000
5036@@ -3,7 +3,8 @@
5037
5038 /* { dg-do assemble } */
5039 /* { dg-require-effective-target arm_neon_ok } */
5040-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
5041+/* { dg-options "-save-temps -O0" } */
5042+/* { dg-add-options arm_neon } */
5043
5044 #include "arm_neon.h"
5045
5046
5047=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcreateu32.c'
5048--- old/gcc/testsuite/gcc.target/arm/neon/vcreateu32.c 2007-07-25 11:28:31 +0000
5049+++ new/gcc/testsuite/gcc.target/arm/neon/vcreateu32.c 2010-07-29 15:38:15 +0000
5050@@ -3,7 +3,8 @@
5051
5052 /* { dg-do assemble } */
5053 /* { dg-require-effective-target arm_neon_ok } */
5054-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
5055+/* { dg-options "-save-temps -O0" } */
5056+/* { dg-add-options arm_neon } */
5057
5058 #include "arm_neon.h"
5059
5060
5061=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcreateu64.c'
5062--- old/gcc/testsuite/gcc.target/arm/neon/vcreateu64.c 2007-07-25 11:28:31 +0000
5063+++ new/gcc/testsuite/gcc.target/arm/neon/vcreateu64.c 2010-07-29 15:38:15 +0000
5064@@ -3,7 +3,8 @@
5065
5066 /* { dg-do assemble } */
5067 /* { dg-require-effective-target arm_neon_ok } */
5068-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
5069+/* { dg-options "-save-temps -O0" } */
5070+/* { dg-add-options arm_neon } */
5071
5072 #include "arm_neon.h"
5073
5074
5075=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcreateu8.c'
5076--- old/gcc/testsuite/gcc.target/arm/neon/vcreateu8.c 2007-07-25 11:28:31 +0000
5077+++ new/gcc/testsuite/gcc.target/arm/neon/vcreateu8.c 2010-07-29 15:38:15 +0000
5078@@ -3,7 +3,8 @@
5079
5080 /* { dg-do assemble } */
5081 /* { dg-require-effective-target arm_neon_ok } */
5082-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
5083+/* { dg-options "-save-temps -O0" } */
5084+/* { dg-add-options arm_neon } */
5085
5086 #include "arm_neon.h"
5087
5088
5089=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcvtQ_nf32_s32.c'
5090--- old/gcc/testsuite/gcc.target/arm/neon/vcvtQ_nf32_s32.c 2007-07-25 11:28:31 +0000
5091+++ new/gcc/testsuite/gcc.target/arm/neon/vcvtQ_nf32_s32.c 2010-07-29 15:38:15 +0000
5092@@ -3,7 +3,8 @@
5093
5094 /* { dg-do assemble } */
5095 /* { dg-require-effective-target arm_neon_ok } */
5096-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
5097+/* { dg-options "-save-temps -O0" } */
5098+/* { dg-add-options arm_neon } */
5099
5100 #include "arm_neon.h"
5101
5102
5103=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcvtQ_nf32_u32.c'
5104--- old/gcc/testsuite/gcc.target/arm/neon/vcvtQ_nf32_u32.c 2007-07-25 11:28:31 +0000
5105+++ new/gcc/testsuite/gcc.target/arm/neon/vcvtQ_nf32_u32.c 2010-07-29 15:38:15 +0000
5106@@ -3,7 +3,8 @@
5107
5108 /* { dg-do assemble } */
5109 /* { dg-require-effective-target arm_neon_ok } */
5110-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
5111+/* { dg-options "-save-temps -O0" } */
5112+/* { dg-add-options arm_neon } */
5113
5114 #include "arm_neon.h"
5115
5116
5117=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcvtQ_ns32_f32.c'
5118--- old/gcc/testsuite/gcc.target/arm/neon/vcvtQ_ns32_f32.c 2007-07-25 11:28:31 +0000
5119+++ new/gcc/testsuite/gcc.target/arm/neon/vcvtQ_ns32_f32.c 2010-07-29 15:38:15 +0000
5120@@ -3,7 +3,8 @@
5121
5122 /* { dg-do assemble } */
5123 /* { dg-require-effective-target arm_neon_ok } */
5124-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
5125+/* { dg-options "-save-temps -O0" } */
5126+/* { dg-add-options arm_neon } */
5127
5128 #include "arm_neon.h"
5129
5130
5131=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcvtQ_nu32_f32.c'
5132--- old/gcc/testsuite/gcc.target/arm/neon/vcvtQ_nu32_f32.c 2007-07-25 11:28:31 +0000
5133+++ new/gcc/testsuite/gcc.target/arm/neon/vcvtQ_nu32_f32.c 2010-07-29 15:38:15 +0000
5134@@ -3,7 +3,8 @@
5135
5136 /* { dg-do assemble } */
5137 /* { dg-require-effective-target arm_neon_ok } */
5138-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
5139+/* { dg-options "-save-temps -O0" } */
5140+/* { dg-add-options arm_neon } */
5141
5142 #include "arm_neon.h"
5143
5144
5145=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcvtQf32_s32.c'
5146--- old/gcc/testsuite/gcc.target/arm/neon/vcvtQf32_s32.c 2007-07-25 11:28:31 +0000
5147+++ new/gcc/testsuite/gcc.target/arm/neon/vcvtQf32_s32.c 2010-07-29 15:38:15 +0000
5148@@ -3,7 +3,8 @@
5149
5150 /* { dg-do assemble } */
5151 /* { dg-require-effective-target arm_neon_ok } */
5152-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
5153+/* { dg-options "-save-temps -O0" } */
5154+/* { dg-add-options arm_neon } */
5155
5156 #include "arm_neon.h"
5157
5158
5159=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcvtQf32_u32.c'
5160--- old/gcc/testsuite/gcc.target/arm/neon/vcvtQf32_u32.c 2007-07-25 11:28:31 +0000
5161+++ new/gcc/testsuite/gcc.target/arm/neon/vcvtQf32_u32.c 2010-07-29 15:38:15 +0000
5162@@ -3,7 +3,8 @@
5163
5164 /* { dg-do assemble } */
5165 /* { dg-require-effective-target arm_neon_ok } */
5166-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
5167+/* { dg-options "-save-temps -O0" } */
5168+/* { dg-add-options arm_neon } */
5169
5170 #include "arm_neon.h"
5171
5172
5173=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcvtQs32_f32.c'
5174--- old/gcc/testsuite/gcc.target/arm/neon/vcvtQs32_f32.c 2007-07-25 11:28:31 +0000
5175+++ new/gcc/testsuite/gcc.target/arm/neon/vcvtQs32_f32.c 2010-07-29 15:38:15 +0000
5176@@ -3,7 +3,8 @@
5177
5178 /* { dg-do assemble } */
5179 /* { dg-require-effective-target arm_neon_ok } */
5180-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
5181+/* { dg-options "-save-temps -O0" } */
5182+/* { dg-add-options arm_neon } */
5183
5184 #include "arm_neon.h"
5185
5186
5187=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcvtQu32_f32.c'
5188--- old/gcc/testsuite/gcc.target/arm/neon/vcvtQu32_f32.c 2007-07-25 11:28:31 +0000
5189+++ new/gcc/testsuite/gcc.target/arm/neon/vcvtQu32_f32.c 2010-07-29 15:38:15 +0000
5190@@ -3,7 +3,8 @@
5191
5192 /* { dg-do assemble } */
5193 /* { dg-require-effective-target arm_neon_ok } */
5194-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
5195+/* { dg-options "-save-temps -O0" } */
5196+/* { dg-add-options arm_neon } */
5197
5198 #include "arm_neon.h"
5199
5200
5201=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcvt_nf32_s32.c'
5202--- old/gcc/testsuite/gcc.target/arm/neon/vcvt_nf32_s32.c 2007-07-25 11:28:31 +0000
5203+++ new/gcc/testsuite/gcc.target/arm/neon/vcvt_nf32_s32.c 2010-07-29 15:38:15 +0000
5204@@ -3,7 +3,8 @@
5205
5206 /* { dg-do assemble } */
5207 /* { dg-require-effective-target arm_neon_ok } */
5208-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
5209+/* { dg-options "-save-temps -O0" } */
5210+/* { dg-add-options arm_neon } */
5211
5212 #include "arm_neon.h"
5213
5214
5215=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcvt_nf32_u32.c'
5216--- old/gcc/testsuite/gcc.target/arm/neon/vcvt_nf32_u32.c 2007-07-25 11:28:31 +0000
5217+++ new/gcc/testsuite/gcc.target/arm/neon/vcvt_nf32_u32.c 2010-07-29 15:38:15 +0000
5218@@ -3,7 +3,8 @@
5219
5220 /* { dg-do assemble } */
5221 /* { dg-require-effective-target arm_neon_ok } */
5222-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
5223+/* { dg-options "-save-temps -O0" } */
5224+/* { dg-add-options arm_neon } */
5225
5226 #include "arm_neon.h"
5227
5228
5229=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcvt_ns32_f32.c'
5230--- old/gcc/testsuite/gcc.target/arm/neon/vcvt_ns32_f32.c 2007-07-25 11:28:31 +0000
5231+++ new/gcc/testsuite/gcc.target/arm/neon/vcvt_ns32_f32.c 2010-07-29 15:38:15 +0000
5232@@ -3,7 +3,8 @@
5233
5234 /* { dg-do assemble } */
5235 /* { dg-require-effective-target arm_neon_ok } */
5236-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
5237+/* { dg-options "-save-temps -O0" } */
5238+/* { dg-add-options arm_neon } */
5239
5240 #include "arm_neon.h"
5241
5242
5243=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcvt_nu32_f32.c'
5244--- old/gcc/testsuite/gcc.target/arm/neon/vcvt_nu32_f32.c 2007-07-25 11:28:31 +0000
5245+++ new/gcc/testsuite/gcc.target/arm/neon/vcvt_nu32_f32.c 2010-07-29 15:38:15 +0000
5246@@ -3,7 +3,8 @@
5247
5248 /* { dg-do assemble } */
5249 /* { dg-require-effective-target arm_neon_ok } */
5250-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
5251+/* { dg-options "-save-temps -O0" } */
5252+/* { dg-add-options arm_neon } */
5253
5254 #include "arm_neon.h"
5255
5256
5257=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcvtf32_s32.c'
5258--- old/gcc/testsuite/gcc.target/arm/neon/vcvtf32_s32.c 2007-07-25 11:28:31 +0000
5259+++ new/gcc/testsuite/gcc.target/arm/neon/vcvtf32_s32.c 2010-07-29 15:38:15 +0000
5260@@ -3,7 +3,8 @@
5261
5262 /* { dg-do assemble } */
5263 /* { dg-require-effective-target arm_neon_ok } */
5264-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
5265+/* { dg-options "-save-temps -O0" } */
5266+/* { dg-add-options arm_neon } */
5267
5268 #include "arm_neon.h"
5269
5270
5271=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcvtf32_u32.c'
5272--- old/gcc/testsuite/gcc.target/arm/neon/vcvtf32_u32.c 2007-07-25 11:28:31 +0000
5273+++ new/gcc/testsuite/gcc.target/arm/neon/vcvtf32_u32.c 2010-07-29 15:38:15 +0000
5274@@ -3,7 +3,8 @@
5275
5276 /* { dg-do assemble } */
5277 /* { dg-require-effective-target arm_neon_ok } */
5278-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
5279+/* { dg-options "-save-temps -O0" } */
5280+/* { dg-add-options arm_neon } */
5281
5282 #include "arm_neon.h"
5283
5284
5285=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcvts32_f32.c'
5286--- old/gcc/testsuite/gcc.target/arm/neon/vcvts32_f32.c 2007-07-25 11:28:31 +0000
5287+++ new/gcc/testsuite/gcc.target/arm/neon/vcvts32_f32.c 2010-07-29 15:38:15 +0000
5288@@ -3,7 +3,8 @@
5289
5290 /* { dg-do assemble } */
5291 /* { dg-require-effective-target arm_neon_ok } */
5292-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
5293+/* { dg-options "-save-temps -O0" } */
5294+/* { dg-add-options arm_neon } */
5295
5296 #include "arm_neon.h"
5297
5298
5299=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcvtu32_f32.c'
5300--- old/gcc/testsuite/gcc.target/arm/neon/vcvtu32_f32.c 2007-07-25 11:28:31 +0000
5301+++ new/gcc/testsuite/gcc.target/arm/neon/vcvtu32_f32.c 2010-07-29 15:38:15 +0000
5302@@ -3,7 +3,8 @@
5303
5304 /* { dg-do assemble } */
5305 /* { dg-require-effective-target arm_neon_ok } */
5306-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
5307+/* { dg-options "-save-temps -O0" } */
5308+/* { dg-add-options arm_neon } */
5309
5310 #include "arm_neon.h"
5311
5312
5313=== modified file 'gcc/testsuite/gcc.target/arm/neon/vdupQ_lanef32.c'
5314--- old/gcc/testsuite/gcc.target/arm/neon/vdupQ_lanef32.c 2007-07-25 11:28:31 +0000
5315+++ new/gcc/testsuite/gcc.target/arm/neon/vdupQ_lanef32.c 2010-07-29 15:38:15 +0000
5316@@ -3,7 +3,8 @@
5317
5318 /* { dg-do assemble } */
5319 /* { dg-require-effective-target arm_neon_ok } */
5320-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
5321+/* { dg-options "-save-temps -O0" } */
5322+/* { dg-add-options arm_neon } */
5323
5324 #include "arm_neon.h"
5325
5326
5327=== modified file 'gcc/testsuite/gcc.target/arm/neon/vdupQ_lanep16.c'
5328--- old/gcc/testsuite/gcc.target/arm/neon/vdupQ_lanep16.c 2007-07-25 11:28:31 +0000
5329+++ new/gcc/testsuite/gcc.target/arm/neon/vdupQ_lanep16.c 2010-07-29 15:38:15 +0000
5330@@ -3,7 +3,8 @@
5331
5332 /* { dg-do assemble } */
5333 /* { dg-require-effective-target arm_neon_ok } */
5334-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
5335+/* { dg-options "-save-temps -O0" } */
5336+/* { dg-add-options arm_neon } */
5337
5338 #include "arm_neon.h"
5339
5340
5341=== modified file 'gcc/testsuite/gcc.target/arm/neon/vdupQ_lanep8.c'
5342--- old/gcc/testsuite/gcc.target/arm/neon/vdupQ_lanep8.c 2007-07-25 11:28:31 +0000
5343+++ new/gcc/testsuite/gcc.target/arm/neon/vdupQ_lanep8.c 2010-07-29 15:38:15 +0000
5344@@ -3,7 +3,8 @@
5345
5346 /* { dg-do assemble } */
5347 /* { dg-require-effective-target arm_neon_ok } */
5348-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
5349+/* { dg-options "-save-temps -O0" } */
5350+/* { dg-add-options arm_neon } */
5351
5352 #include "arm_neon.h"
5353
5354
5355=== modified file 'gcc/testsuite/gcc.target/arm/neon/vdupQ_lanes16.c'
5356--- old/gcc/testsuite/gcc.target/arm/neon/vdupQ_lanes16.c 2007-07-25 11:28:31 +0000
5357+++ new/gcc/testsuite/gcc.target/arm/neon/vdupQ_lanes16.c 2010-07-29 15:38:15 +0000
5358@@ -3,7 +3,8 @@
5359
5360 /* { dg-do assemble } */
5361 /* { dg-require-effective-target arm_neon_ok } */
5362-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
5363+/* { dg-options "-save-temps -O0" } */
5364+/* { dg-add-options arm_neon } */
5365
5366 #include "arm_neon.h"
5367
5368
5369=== modified file 'gcc/testsuite/gcc.target/arm/neon/vdupQ_lanes32.c'
5370--- old/gcc/testsuite/gcc.target/arm/neon/vdupQ_lanes32.c 2007-07-25 11:28:31 +0000
5371+++ new/gcc/testsuite/gcc.target/arm/neon/vdupQ_lanes32.c 2010-07-29 15:38:15 +0000
5372@@ -3,7 +3,8 @@
5373
5374 /* { dg-do assemble } */
5375 /* { dg-require-effective-target arm_neon_ok } */
5376-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
5377+/* { dg-options "-save-temps -O0" } */
5378+/* { dg-add-options arm_neon } */
5379
5380 #include "arm_neon.h"
5381
5382
5383=== modified file 'gcc/testsuite/gcc.target/arm/neon/vdupQ_lanes64.c'
5384--- old/gcc/testsuite/gcc.target/arm/neon/vdupQ_lanes64.c 2007-07-25 11:28:31 +0000
5385+++ new/gcc/testsuite/gcc.target/arm/neon/vdupQ_lanes64.c 2010-07-29 15:38:15 +0000
5386@@ -3,7 +3,8 @@
5387
5388 /* { dg-do assemble } */
5389 /* { dg-require-effective-target arm_neon_ok } */
5390-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
5391+/* { dg-options "-save-temps -O0" } */
5392+/* { dg-add-options arm_neon } */
5393
5394 #include "arm_neon.h"
5395
5396
5397=== modified file 'gcc/testsuite/gcc.target/arm/neon/vdupQ_lanes8.c'
5398--- old/gcc/testsuite/gcc.target/arm/neon/vdupQ_lanes8.c 2007-07-25 11:28:31 +0000
5399+++ new/gcc/testsuite/gcc.target/arm/neon/vdupQ_lanes8.c 2010-07-29 15:38:15 +0000
5400@@ -3,7 +3,8 @@
5401
5402 /* { dg-do assemble } */
5403 /* { dg-require-effective-target arm_neon_ok } */
5404-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
5405+/* { dg-options "-save-temps -O0" } */
5406+/* { dg-add-options arm_neon } */
5407
5408 #include "arm_neon.h"
5409
5410
5411=== modified file 'gcc/testsuite/gcc.target/arm/neon/vdupQ_laneu16.c'
5412--- old/gcc/testsuite/gcc.target/arm/neon/vdupQ_laneu16.c 2007-07-25 11:28:31 +0000
5413+++ new/gcc/testsuite/gcc.target/arm/neon/vdupQ_laneu16.c 2010-07-29 15:38:15 +0000
5414@@ -3,7 +3,8 @@
5415
5416 /* { dg-do assemble } */
5417 /* { dg-require-effective-target arm_neon_ok } */
5418-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
5419+/* { dg-options "-save-temps -O0" } */
5420+/* { dg-add-options arm_neon } */
5421
5422 #include "arm_neon.h"
5423
5424
5425=== modified file 'gcc/testsuite/gcc.target/arm/neon/vdupQ_laneu32.c'
5426--- old/gcc/testsuite/gcc.target/arm/neon/vdupQ_laneu32.c 2007-07-25 11:28:31 +0000
5427+++ new/gcc/testsuite/gcc.target/arm/neon/vdupQ_laneu32.c 2010-07-29 15:38:15 +0000
5428@@ -3,7 +3,8 @@
5429
5430 /* { dg-do assemble } */
5431 /* { dg-require-effective-target arm_neon_ok } */
5432-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
5433+/* { dg-options "-save-temps -O0" } */
5434+/* { dg-add-options arm_neon } */
5435
5436 #include "arm_neon.h"
5437
5438
5439=== modified file 'gcc/testsuite/gcc.target/arm/neon/vdupQ_laneu64.c'
5440--- old/gcc/testsuite/gcc.target/arm/neon/vdupQ_laneu64.c 2007-07-25 11:28:31 +0000
5441+++ new/gcc/testsuite/gcc.target/arm/neon/vdupQ_laneu64.c 2010-07-29 15:38:15 +0000
5442@@ -3,7 +3,8 @@
5443
5444 /* { dg-do assemble } */
5445 /* { dg-require-effective-target arm_neon_ok } */
5446-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
5447+/* { dg-options "-save-temps -O0" } */
5448+/* { dg-add-options arm_neon } */
5449
5450 #include "arm_neon.h"
5451
5452
5453=== modified file 'gcc/testsuite/gcc.target/arm/neon/vdupQ_laneu8.c'
5454--- old/gcc/testsuite/gcc.target/arm/neon/vdupQ_laneu8.c 2007-07-25 11:28:31 +0000
5455+++ new/gcc/testsuite/gcc.target/arm/neon/vdupQ_laneu8.c 2010-07-29 15:38:15 +0000
5456@@ -3,7 +3,8 @@
5457
5458 /* { dg-do assemble } */
5459 /* { dg-require-effective-target arm_neon_ok } */
5460-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
5461+/* { dg-options "-save-temps -O0" } */
5462+/* { dg-add-options arm_neon } */
5463
5464 #include "arm_neon.h"
5465
5466
5467=== modified file 'gcc/testsuite/gcc.target/arm/neon/vdupQ_nf32.c'
5468--- old/gcc/testsuite/gcc.target/arm/neon/vdupQ_nf32.c 2009-11-11 14:23:03 +0000
5469+++ new/gcc/testsuite/gcc.target/arm/neon/vdupQ_nf32.c 2010-07-29 15:38:15 +0000
5470@@ -3,7 +3,8 @@
5471
5472 /* { dg-do assemble } */
5473 /* { dg-require-effective-target arm_neon_ok } */
5474-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
5475+/* { dg-options "-save-temps -O0" } */
5476+/* { dg-add-options arm_neon } */
5477
5478 #include "arm_neon.h"
5479
5480
5481=== modified file 'gcc/testsuite/gcc.target/arm/neon/vdupQ_np16.c'
5482--- old/gcc/testsuite/gcc.target/arm/neon/vdupQ_np16.c 2009-11-11 14:23:03 +0000
5483+++ new/gcc/testsuite/gcc.target/arm/neon/vdupQ_np16.c 2010-07-29 15:38:15 +0000
5484@@ -3,7 +3,8 @@
5485
5486 /* { dg-do assemble } */
5487 /* { dg-require-effective-target arm_neon_ok } */
5488-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
5489+/* { dg-options "-save-temps -O0" } */
5490+/* { dg-add-options arm_neon } */
5491
5492 #include "arm_neon.h"
5493
5494
5495=== modified file 'gcc/testsuite/gcc.target/arm/neon/vdupQ_np8.c'
5496--- old/gcc/testsuite/gcc.target/arm/neon/vdupQ_np8.c 2009-11-11 14:23:03 +0000
5497+++ new/gcc/testsuite/gcc.target/arm/neon/vdupQ_np8.c 2010-07-29 15:38:15 +0000
5498@@ -3,7 +3,8 @@
5499
5500 /* { dg-do assemble } */
5501 /* { dg-require-effective-target arm_neon_ok } */
5502-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
5503+/* { dg-options "-save-temps -O0" } */
5504+/* { dg-add-options arm_neon } */
5505
5506 #include "arm_neon.h"
5507
5508
5509=== modified file 'gcc/testsuite/gcc.target/arm/neon/vdupQ_ns16.c'
5510--- old/gcc/testsuite/gcc.target/arm/neon/vdupQ_ns16.c 2009-11-11 14:23:03 +0000
5511+++ new/gcc/testsuite/gcc.target/arm/neon/vdupQ_ns16.c 2010-07-29 15:38:15 +0000
5512@@ -3,7 +3,8 @@
5513
5514 /* { dg-do assemble } */
5515 /* { dg-require-effective-target arm_neon_ok } */
5516-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
5517+/* { dg-options "-save-temps -O0" } */
5518+/* { dg-add-options arm_neon } */
5519
5520 #include "arm_neon.h"
5521
5522
5523=== modified file 'gcc/testsuite/gcc.target/arm/neon/vdupQ_ns32.c'
5524--- old/gcc/testsuite/gcc.target/arm/neon/vdupQ_ns32.c 2009-11-11 14:23:03 +0000
5525+++ new/gcc/testsuite/gcc.target/arm/neon/vdupQ_ns32.c 2010-07-29 15:38:15 +0000
5526@@ -3,7 +3,8 @@
5527
5528 /* { dg-do assemble } */
5529 /* { dg-require-effective-target arm_neon_ok } */
5530-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
5531+/* { dg-options "-save-temps -O0" } */
5532+/* { dg-add-options arm_neon } */
5533
5534 #include "arm_neon.h"
5535
5536
5537=== modified file 'gcc/testsuite/gcc.target/arm/neon/vdupQ_ns64.c'
5538--- old/gcc/testsuite/gcc.target/arm/neon/vdupQ_ns64.c 2007-07-25 11:28:31 +0000
5539+++ new/gcc/testsuite/gcc.target/arm/neon/vdupQ_ns64.c 2010-07-29 15:38:15 +0000
5540@@ -3,7 +3,8 @@
5541
5542 /* { dg-do assemble } */
5543 /* { dg-require-effective-target arm_neon_ok } */
5544-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
5545+/* { dg-options "-save-temps -O0" } */
5546+/* { dg-add-options arm_neon } */
5547
5548 #include "arm_neon.h"
5549
5550
5551=== modified file 'gcc/testsuite/gcc.target/arm/neon/vdupQ_ns8.c'
5552--- old/gcc/testsuite/gcc.target/arm/neon/vdupQ_ns8.c 2009-11-11 14:23:03 +0000
5553+++ new/gcc/testsuite/gcc.target/arm/neon/vdupQ_ns8.c 2010-07-29 15:38:15 +0000
5554@@ -3,7 +3,8 @@
5555
5556 /* { dg-do assemble } */
5557 /* { dg-require-effective-target arm_neon_ok } */
5558-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
5559+/* { dg-options "-save-temps -O0" } */
5560+/* { dg-add-options arm_neon } */
5561
5562 #include "arm_neon.h"
5563
5564
5565=== modified file 'gcc/testsuite/gcc.target/arm/neon/vdupQ_nu16.c'
5566--- old/gcc/testsuite/gcc.target/arm/neon/vdupQ_nu16.c 2009-11-11 14:23:03 +0000
5567+++ new/gcc/testsuite/gcc.target/arm/neon/vdupQ_nu16.c 2010-07-29 15:38:15 +0000
5568@@ -3,7 +3,8 @@
5569
5570 /* { dg-do assemble } */
5571 /* { dg-require-effective-target arm_neon_ok } */
5572-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
5573+/* { dg-options "-save-temps -O0" } */
5574+/* { dg-add-options arm_neon } */
5575
5576 #include "arm_neon.h"
5577
5578
5579=== modified file 'gcc/testsuite/gcc.target/arm/neon/vdupQ_nu32.c'
5580--- old/gcc/testsuite/gcc.target/arm/neon/vdupQ_nu32.c 2009-11-11 14:23:03 +0000
5581+++ new/gcc/testsuite/gcc.target/arm/neon/vdupQ_nu32.c 2010-07-29 15:38:15 +0000
5582@@ -3,7 +3,8 @@
5583
5584 /* { dg-do assemble } */
5585 /* { dg-require-effective-target arm_neon_ok } */
5586-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
5587+/* { dg-options "-save-temps -O0" } */
5588+/* { dg-add-options arm_neon } */
5589
5590 #include "arm_neon.h"
5591
5592
5593=== modified file 'gcc/testsuite/gcc.target/arm/neon/vdupQ_nu64.c'
5594--- old/gcc/testsuite/gcc.target/arm/neon/vdupQ_nu64.c 2007-07-25 11:28:31 +0000
5595+++ new/gcc/testsuite/gcc.target/arm/neon/vdupQ_nu64.c 2010-07-29 15:38:15 +0000
5596@@ -3,7 +3,8 @@
5597
5598 /* { dg-do assemble } */
5599 /* { dg-require-effective-target arm_neon_ok } */
5600-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
5601+/* { dg-options "-save-temps -O0" } */
5602+/* { dg-add-options arm_neon } */
5603
5604 #include "arm_neon.h"
5605
5606
5607=== modified file 'gcc/testsuite/gcc.target/arm/neon/vdupQ_nu8.c'
5608--- old/gcc/testsuite/gcc.target/arm/neon/vdupQ_nu8.c 2009-11-11 14:23:03 +0000
5609+++ new/gcc/testsuite/gcc.target/arm/neon/vdupQ_nu8.c 2010-07-29 15:38:15 +0000
5610@@ -3,7 +3,8 @@
5611
5612 /* { dg-do assemble } */
5613 /* { dg-require-effective-target arm_neon_ok } */
5614-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
5615+/* { dg-options "-save-temps -O0" } */
5616+/* { dg-add-options arm_neon } */
5617
5618 #include "arm_neon.h"
5619
5620
5621=== modified file 'gcc/testsuite/gcc.target/arm/neon/vdup_lanef32.c'
5622--- old/gcc/testsuite/gcc.target/arm/neon/vdup_lanef32.c 2007-07-25 11:28:31 +0000
5623+++ new/gcc/testsuite/gcc.target/arm/neon/vdup_lanef32.c 2010-07-29 15:38:15 +0000
5624@@ -3,7 +3,8 @@
5625
5626 /* { dg-do assemble } */
5627 /* { dg-require-effective-target arm_neon_ok } */
5628-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
5629+/* { dg-options "-save-temps -O0" } */
5630+/* { dg-add-options arm_neon } */
5631
5632 #include "arm_neon.h"
5633
5634
5635=== modified file 'gcc/testsuite/gcc.target/arm/neon/vdup_lanep16.c'
5636--- old/gcc/testsuite/gcc.target/arm/neon/vdup_lanep16.c 2007-07-25 11:28:31 +0000
5637+++ new/gcc/testsuite/gcc.target/arm/neon/vdup_lanep16.c 2010-07-29 15:38:15 +0000
5638@@ -3,7 +3,8 @@
5639
5640 /* { dg-do assemble } */
5641 /* { dg-require-effective-target arm_neon_ok } */
5642-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
5643+/* { dg-options "-save-temps -O0" } */
5644+/* { dg-add-options arm_neon } */
5645
5646 #include "arm_neon.h"
5647
5648
5649=== modified file 'gcc/testsuite/gcc.target/arm/neon/vdup_lanep8.c'
5650--- old/gcc/testsuite/gcc.target/arm/neon/vdup_lanep8.c 2007-07-25 11:28:31 +0000
5651+++ new/gcc/testsuite/gcc.target/arm/neon/vdup_lanep8.c 2010-07-29 15:38:15 +0000
5652@@ -3,7 +3,8 @@
5653
5654 /* { dg-do assemble } */
5655 /* { dg-require-effective-target arm_neon_ok } */
5656-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
5657+/* { dg-options "-save-temps -O0" } */
5658+/* { dg-add-options arm_neon } */
5659
5660 #include "arm_neon.h"
5661
5662
5663=== modified file 'gcc/testsuite/gcc.target/arm/neon/vdup_lanes16.c'
5664--- old/gcc/testsuite/gcc.target/arm/neon/vdup_lanes16.c 2007-07-25 11:28:31 +0000
5665+++ new/gcc/testsuite/gcc.target/arm/neon/vdup_lanes16.c 2010-07-29 15:38:15 +0000
5666@@ -3,7 +3,8 @@
5667
5668 /* { dg-do assemble } */
5669 /* { dg-require-effective-target arm_neon_ok } */
5670-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
5671+/* { dg-options "-save-temps -O0" } */
5672+/* { dg-add-options arm_neon } */
5673
5674 #include "arm_neon.h"
5675
5676
5677=== modified file 'gcc/testsuite/gcc.target/arm/neon/vdup_lanes32.c'
5678--- old/gcc/testsuite/gcc.target/arm/neon/vdup_lanes32.c 2007-07-25 11:28:31 +0000
5679+++ new/gcc/testsuite/gcc.target/arm/neon/vdup_lanes32.c 2010-07-29 15:38:15 +0000
5680@@ -3,7 +3,8 @@
5681
5682 /* { dg-do assemble } */
5683 /* { dg-require-effective-target arm_neon_ok } */
5684-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
5685+/* { dg-options "-save-temps -O0" } */
5686+/* { dg-add-options arm_neon } */
5687
5688 #include "arm_neon.h"
5689
5690
5691=== modified file 'gcc/testsuite/gcc.target/arm/neon/vdup_lanes64.c'
5692--- old/gcc/testsuite/gcc.target/arm/neon/vdup_lanes64.c 2007-07-25 11:28:31 +0000
5693+++ new/gcc/testsuite/gcc.target/arm/neon/vdup_lanes64.c 2010-07-29 15:38:15 +0000
5694@@ -3,7 +3,8 @@
5695
5696 /* { dg-do assemble } */
5697 /* { dg-require-effective-target arm_neon_ok } */
5698-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
5699+/* { dg-options "-save-temps -O0" } */
5700+/* { dg-add-options arm_neon } */
5701
5702 #include "arm_neon.h"
5703
5704
5705=== modified file 'gcc/testsuite/gcc.target/arm/neon/vdup_lanes8.c'
5706--- old/gcc/testsuite/gcc.target/arm/neon/vdup_lanes8.c 2007-07-25 11:28:31 +0000
5707+++ new/gcc/testsuite/gcc.target/arm/neon/vdup_lanes8.c 2010-07-29 15:38:15 +0000
5708@@ -3,7 +3,8 @@
5709
5710 /* { dg-do assemble } */
5711 /* { dg-require-effective-target arm_neon_ok } */
5712-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
5713+/* { dg-options "-save-temps -O0" } */
5714+/* { dg-add-options arm_neon } */
5715
5716 #include "arm_neon.h"
5717
5718
5719=== modified file 'gcc/testsuite/gcc.target/arm/neon/vdup_laneu16.c'
5720--- old/gcc/testsuite/gcc.target/arm/neon/vdup_laneu16.c 2007-07-25 11:28:31 +0000
5721+++ new/gcc/testsuite/gcc.target/arm/neon/vdup_laneu16.c 2010-07-29 15:38:15 +0000
5722@@ -3,7 +3,8 @@
5723
5724 /* { dg-do assemble } */
5725 /* { dg-require-effective-target arm_neon_ok } */
5726-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
5727+/* { dg-options "-save-temps -O0" } */
5728+/* { dg-add-options arm_neon } */
5729
5730 #include "arm_neon.h"
5731
5732
5733=== modified file 'gcc/testsuite/gcc.target/arm/neon/vdup_laneu32.c'
5734--- old/gcc/testsuite/gcc.target/arm/neon/vdup_laneu32.c 2007-07-25 11:28:31 +0000
5735+++ new/gcc/testsuite/gcc.target/arm/neon/vdup_laneu32.c 2010-07-29 15:38:15 +0000
5736@@ -3,7 +3,8 @@
5737
5738 /* { dg-do assemble } */
5739 /* { dg-require-effective-target arm_neon_ok } */
5740-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
5741+/* { dg-options "-save-temps -O0" } */
5742+/* { dg-add-options arm_neon } */
5743
5744 #include "arm_neon.h"
5745
5746
5747=== modified file 'gcc/testsuite/gcc.target/arm/neon/vdup_laneu64.c'
5748--- old/gcc/testsuite/gcc.target/arm/neon/vdup_laneu64.c 2007-07-25 11:28:31 +0000
5749+++ new/gcc/testsuite/gcc.target/arm/neon/vdup_laneu64.c 2010-07-29 15:38:15 +0000
5750@@ -3,7 +3,8 @@
5751
5752 /* { dg-do assemble } */
5753 /* { dg-require-effective-target arm_neon_ok } */
5754-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
5755+/* { dg-options "-save-temps -O0" } */
5756+/* { dg-add-options arm_neon } */
5757
5758 #include "arm_neon.h"
5759
5760
5761=== modified file 'gcc/testsuite/gcc.target/arm/neon/vdup_laneu8.c'
5762--- old/gcc/testsuite/gcc.target/arm/neon/vdup_laneu8.c 2007-07-25 11:28:31 +0000
5763+++ new/gcc/testsuite/gcc.target/arm/neon/vdup_laneu8.c 2010-07-29 15:38:15 +0000
5764@@ -3,7 +3,8 @@
5765
5766 /* { dg-do assemble } */
5767 /* { dg-require-effective-target arm_neon_ok } */
5768-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
5769+/* { dg-options "-save-temps -O0" } */
5770+/* { dg-add-options arm_neon } */
5771
5772 #include "arm_neon.h"
5773
5774
5775=== modified file 'gcc/testsuite/gcc.target/arm/neon/vdup_nf32.c'
5776--- old/gcc/testsuite/gcc.target/arm/neon/vdup_nf32.c 2009-11-11 14:23:03 +0000
5777+++ new/gcc/testsuite/gcc.target/arm/neon/vdup_nf32.c 2010-07-29 15:38:15 +0000
5778@@ -3,7 +3,8 @@
5779
5780 /* { dg-do assemble } */
5781 /* { dg-require-effective-target arm_neon_ok } */
5782-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
5783+/* { dg-options "-save-temps -O0" } */
5784+/* { dg-add-options arm_neon } */
5785
5786 #include "arm_neon.h"
5787
5788
5789=== modified file 'gcc/testsuite/gcc.target/arm/neon/vdup_np16.c'
5790--- old/gcc/testsuite/gcc.target/arm/neon/vdup_np16.c 2009-11-11 14:23:03 +0000
5791+++ new/gcc/testsuite/gcc.target/arm/neon/vdup_np16.c 2010-07-29 15:38:15 +0000
5792@@ -3,7 +3,8 @@
5793
5794 /* { dg-do assemble } */
5795 /* { dg-require-effective-target arm_neon_ok } */
5796-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
5797+/* { dg-options "-save-temps -O0" } */
5798+/* { dg-add-options arm_neon } */
5799
5800 #include "arm_neon.h"
5801
5802
5803=== modified file 'gcc/testsuite/gcc.target/arm/neon/vdup_np8.c'
5804--- old/gcc/testsuite/gcc.target/arm/neon/vdup_np8.c 2009-11-11 14:23:03 +0000
5805+++ new/gcc/testsuite/gcc.target/arm/neon/vdup_np8.c 2010-07-29 15:38:15 +0000
5806@@ -3,7 +3,8 @@
5807
5808 /* { dg-do assemble } */
5809 /* { dg-require-effective-target arm_neon_ok } */
5810-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
5811+/* { dg-options "-save-temps -O0" } */
5812+/* { dg-add-options arm_neon } */
5813
5814 #include "arm_neon.h"
5815
5816
5817=== modified file 'gcc/testsuite/gcc.target/arm/neon/vdup_ns16.c'
5818--- old/gcc/testsuite/gcc.target/arm/neon/vdup_ns16.c 2009-11-11 14:23:03 +0000
5819+++ new/gcc/testsuite/gcc.target/arm/neon/vdup_ns16.c 2010-07-29 15:38:15 +0000
5820@@ -3,7 +3,8 @@
5821
5822 /* { dg-do assemble } */
5823 /* { dg-require-effective-target arm_neon_ok } */
5824-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
5825+/* { dg-options "-save-temps -O0" } */
5826+/* { dg-add-options arm_neon } */
5827
5828 #include "arm_neon.h"
5829
5830
5831=== modified file 'gcc/testsuite/gcc.target/arm/neon/vdup_ns32.c'
5832--- old/gcc/testsuite/gcc.target/arm/neon/vdup_ns32.c 2009-11-11 14:23:03 +0000
5833+++ new/gcc/testsuite/gcc.target/arm/neon/vdup_ns32.c 2010-07-29 15:38:15 +0000
5834@@ -3,7 +3,8 @@
5835
5836 /* { dg-do assemble } */
5837 /* { dg-require-effective-target arm_neon_ok } */
5838-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
5839+/* { dg-options "-save-temps -O0" } */
5840+/* { dg-add-options arm_neon } */
5841
5842 #include "arm_neon.h"
5843
5844
5845=== modified file 'gcc/testsuite/gcc.target/arm/neon/vdup_ns64.c'
5846--- old/gcc/testsuite/gcc.target/arm/neon/vdup_ns64.c 2007-07-25 11:28:31 +0000
5847+++ new/gcc/testsuite/gcc.target/arm/neon/vdup_ns64.c 2010-07-29 15:38:15 +0000
5848@@ -3,7 +3,8 @@
5849
5850 /* { dg-do assemble } */
5851 /* { dg-require-effective-target arm_neon_ok } */
5852-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
5853+/* { dg-options "-save-temps -O0" } */
5854+/* { dg-add-options arm_neon } */
5855
5856 #include "arm_neon.h"
5857
5858
5859=== modified file 'gcc/testsuite/gcc.target/arm/neon/vdup_ns8.c'
5860--- old/gcc/testsuite/gcc.target/arm/neon/vdup_ns8.c 2009-11-11 14:23:03 +0000
5861+++ new/gcc/testsuite/gcc.target/arm/neon/vdup_ns8.c 2010-07-29 15:38:15 +0000
5862@@ -3,7 +3,8 @@
5863
5864 /* { dg-do assemble } */
5865 /* { dg-require-effective-target arm_neon_ok } */
5866-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
5867+/* { dg-options "-save-temps -O0" } */
5868+/* { dg-add-options arm_neon } */
5869
5870 #include "arm_neon.h"
5871
5872
5873=== modified file 'gcc/testsuite/gcc.target/arm/neon/vdup_nu16.c'
5874--- old/gcc/testsuite/gcc.target/arm/neon/vdup_nu16.c 2009-11-11 14:23:03 +0000
5875+++ new/gcc/testsuite/gcc.target/arm/neon/vdup_nu16.c 2010-07-29 15:38:15 +0000
5876@@ -3,7 +3,8 @@
5877
5878 /* { dg-do assemble } */
5879 /* { dg-require-effective-target arm_neon_ok } */
5880-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
5881+/* { dg-options "-save-temps -O0" } */
5882+/* { dg-add-options arm_neon } */
5883
5884 #include "arm_neon.h"
5885
5886
5887=== modified file 'gcc/testsuite/gcc.target/arm/neon/vdup_nu32.c'
5888--- old/gcc/testsuite/gcc.target/arm/neon/vdup_nu32.c 2009-11-11 14:23:03 +0000
5889+++ new/gcc/testsuite/gcc.target/arm/neon/vdup_nu32.c 2010-07-29 15:38:15 +0000
5890@@ -3,7 +3,8 @@
5891
5892 /* { dg-do assemble } */
5893 /* { dg-require-effective-target arm_neon_ok } */
5894-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
5895+/* { dg-options "-save-temps -O0" } */
5896+/* { dg-add-options arm_neon } */
5897
5898 #include "arm_neon.h"
5899
5900
5901=== modified file 'gcc/testsuite/gcc.target/arm/neon/vdup_nu64.c'
5902--- old/gcc/testsuite/gcc.target/arm/neon/vdup_nu64.c 2007-07-25 11:28:31 +0000
5903+++ new/gcc/testsuite/gcc.target/arm/neon/vdup_nu64.c 2010-07-29 15:38:15 +0000
5904@@ -3,7 +3,8 @@
5905
5906 /* { dg-do assemble } */
5907 /* { dg-require-effective-target arm_neon_ok } */
5908-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
5909+/* { dg-options "-save-temps -O0" } */
5910+/* { dg-add-options arm_neon } */
5911
5912 #include "arm_neon.h"
5913
5914
5915=== modified file 'gcc/testsuite/gcc.target/arm/neon/vdup_nu8.c'
5916--- old/gcc/testsuite/gcc.target/arm/neon/vdup_nu8.c 2009-11-11 14:23:03 +0000
5917+++ new/gcc/testsuite/gcc.target/arm/neon/vdup_nu8.c 2010-07-29 15:38:15 +0000
5918@@ -3,7 +3,8 @@
5919
5920 /* { dg-do assemble } */
5921 /* { dg-require-effective-target arm_neon_ok } */
5922-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
5923+/* { dg-options "-save-temps -O0" } */
5924+/* { dg-add-options arm_neon } */
5925
5926 #include "arm_neon.h"
5927
5928
5929=== modified file 'gcc/testsuite/gcc.target/arm/neon/veorQs16.c'
5930--- old/gcc/testsuite/gcc.target/arm/neon/veorQs16.c 2007-07-25 11:28:31 +0000
5931+++ new/gcc/testsuite/gcc.target/arm/neon/veorQs16.c 2010-07-29 15:38:15 +0000
5932@@ -3,7 +3,8 @@
5933
5934 /* { dg-do assemble } */
5935 /* { dg-require-effective-target arm_neon_ok } */
5936-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
5937+/* { dg-options "-save-temps -O0" } */
5938+/* { dg-add-options arm_neon } */
5939
5940 #include "arm_neon.h"
5941
5942
5943=== modified file 'gcc/testsuite/gcc.target/arm/neon/veorQs32.c'
5944--- old/gcc/testsuite/gcc.target/arm/neon/veorQs32.c 2007-07-25 11:28:31 +0000
5945+++ new/gcc/testsuite/gcc.target/arm/neon/veorQs32.c 2010-07-29 15:38:15 +0000
5946@@ -3,7 +3,8 @@
5947
5948 /* { dg-do assemble } */
5949 /* { dg-require-effective-target arm_neon_ok } */
5950-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
5951+/* { dg-options "-save-temps -O0" } */
5952+/* { dg-add-options arm_neon } */
5953
5954 #include "arm_neon.h"
5955
5956
5957=== modified file 'gcc/testsuite/gcc.target/arm/neon/veorQs64.c'
5958--- old/gcc/testsuite/gcc.target/arm/neon/veorQs64.c 2007-07-25 11:28:31 +0000
5959+++ new/gcc/testsuite/gcc.target/arm/neon/veorQs64.c 2010-07-29 15:38:15 +0000
5960@@ -3,7 +3,8 @@
5961
5962 /* { dg-do assemble } */
5963 /* { dg-require-effective-target arm_neon_ok } */
5964-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
5965+/* { dg-options "-save-temps -O0" } */
5966+/* { dg-add-options arm_neon } */
5967
5968 #include "arm_neon.h"
5969
5970
5971=== modified file 'gcc/testsuite/gcc.target/arm/neon/veorQs8.c'
5972--- old/gcc/testsuite/gcc.target/arm/neon/veorQs8.c 2007-07-25 11:28:31 +0000
5973+++ new/gcc/testsuite/gcc.target/arm/neon/veorQs8.c 2010-07-29 15:38:15 +0000
5974@@ -3,7 +3,8 @@
5975
5976 /* { dg-do assemble } */
5977 /* { dg-require-effective-target arm_neon_ok } */
5978-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
5979+/* { dg-options "-save-temps -O0" } */
5980+/* { dg-add-options arm_neon } */
5981
5982 #include "arm_neon.h"
5983
5984
5985=== modified file 'gcc/testsuite/gcc.target/arm/neon/veorQu16.c'
5986--- old/gcc/testsuite/gcc.target/arm/neon/veorQu16.c 2007-07-25 11:28:31 +0000
5987+++ new/gcc/testsuite/gcc.target/arm/neon/veorQu16.c 2010-07-29 15:38:15 +0000
5988@@ -3,7 +3,8 @@
5989
5990 /* { dg-do assemble } */
5991 /* { dg-require-effective-target arm_neon_ok } */
5992-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
5993+/* { dg-options "-save-temps -O0" } */
5994+/* { dg-add-options arm_neon } */
5995
5996 #include "arm_neon.h"
5997
5998
5999=== modified file 'gcc/testsuite/gcc.target/arm/neon/veorQu32.c'
6000--- old/gcc/testsuite/gcc.target/arm/neon/veorQu32.c 2007-07-25 11:28:31 +0000
6001+++ new/gcc/testsuite/gcc.target/arm/neon/veorQu32.c 2010-07-29 15:38:15 +0000
6002@@ -3,7 +3,8 @@
6003
6004 /* { dg-do assemble } */
6005 /* { dg-require-effective-target arm_neon_ok } */
6006-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
6007+/* { dg-options "-save-temps -O0" } */
6008+/* { dg-add-options arm_neon } */
6009
6010 #include "arm_neon.h"
6011
6012
6013=== modified file 'gcc/testsuite/gcc.target/arm/neon/veorQu64.c'
6014--- old/gcc/testsuite/gcc.target/arm/neon/veorQu64.c 2007-07-25 11:28:31 +0000
6015+++ new/gcc/testsuite/gcc.target/arm/neon/veorQu64.c 2010-07-29 15:38:15 +0000
6016@@ -3,7 +3,8 @@
6017
6018 /* { dg-do assemble } */
6019 /* { dg-require-effective-target arm_neon_ok } */
6020-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
6021+/* { dg-options "-save-temps -O0" } */
6022+/* { dg-add-options arm_neon } */
6023
6024 #include "arm_neon.h"
6025
6026
6027=== modified file 'gcc/testsuite/gcc.target/arm/neon/veorQu8.c'
6028--- old/gcc/testsuite/gcc.target/arm/neon/veorQu8.c 2007-07-25 11:28:31 +0000
6029+++ new/gcc/testsuite/gcc.target/arm/neon/veorQu8.c 2010-07-29 15:38:15 +0000
6030@@ -3,7 +3,8 @@
6031
6032 /* { dg-do assemble } */
6033 /* { dg-require-effective-target arm_neon_ok } */
6034-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
6035+/* { dg-options "-save-temps -O0" } */
6036+/* { dg-add-options arm_neon } */
6037
6038 #include "arm_neon.h"
6039
6040
6041=== modified file 'gcc/testsuite/gcc.target/arm/neon/veors16.c'
6042--- old/gcc/testsuite/gcc.target/arm/neon/veors16.c 2007-07-25 11:28:31 +0000
6043+++ new/gcc/testsuite/gcc.target/arm/neon/veors16.c 2010-07-29 15:38:15 +0000
6044@@ -3,7 +3,8 @@
6045
6046 /* { dg-do assemble } */
6047 /* { dg-require-effective-target arm_neon_ok } */
6048-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
6049+/* { dg-options "-save-temps -O0" } */
6050+/* { dg-add-options arm_neon } */
6051
6052 #include "arm_neon.h"
6053
6054
6055=== modified file 'gcc/testsuite/gcc.target/arm/neon/veors32.c'
6056--- old/gcc/testsuite/gcc.target/arm/neon/veors32.c 2007-07-25 11:28:31 +0000
6057+++ new/gcc/testsuite/gcc.target/arm/neon/veors32.c 2010-07-29 15:38:15 +0000
6058@@ -3,7 +3,8 @@
6059
6060 /* { dg-do assemble } */
6061 /* { dg-require-effective-target arm_neon_ok } */
6062-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
6063+/* { dg-options "-save-temps -O0" } */
6064+/* { dg-add-options arm_neon } */
6065
6066 #include "arm_neon.h"
6067
6068
6069=== modified file 'gcc/testsuite/gcc.target/arm/neon/veors64.c'
6070--- old/gcc/testsuite/gcc.target/arm/neon/veors64.c 2007-07-25 11:28:31 +0000
6071+++ new/gcc/testsuite/gcc.target/arm/neon/veors64.c 2010-07-29 15:38:15 +0000
6072@@ -3,7 +3,8 @@
6073
6074 /* { dg-do assemble } */
6075 /* { dg-require-effective-target arm_neon_ok } */
6076-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
6077+/* { dg-options "-save-temps -O0" } */
6078+/* { dg-add-options arm_neon } */
6079
6080 #include "arm_neon.h"
6081
6082
6083=== modified file 'gcc/testsuite/gcc.target/arm/neon/veors8.c'
6084--- old/gcc/testsuite/gcc.target/arm/neon/veors8.c 2007-07-25 11:28:31 +0000
6085+++ new/gcc/testsuite/gcc.target/arm/neon/veors8.c 2010-07-29 15:38:15 +0000
6086@@ -3,7 +3,8 @@
6087
6088 /* { dg-do assemble } */
6089 /* { dg-require-effective-target arm_neon_ok } */
6090-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
6091+/* { dg-options "-save-temps -O0" } */
6092+/* { dg-add-options arm_neon } */
6093
6094 #include "arm_neon.h"
6095
6096
6097=== modified file 'gcc/testsuite/gcc.target/arm/neon/veoru16.c'
6098--- old/gcc/testsuite/gcc.target/arm/neon/veoru16.c 2007-07-25 11:28:31 +0000
6099+++ new/gcc/testsuite/gcc.target/arm/neon/veoru16.c 2010-07-29 15:38:15 +0000
6100@@ -3,7 +3,8 @@
6101
6102 /* { dg-do assemble } */
6103 /* { dg-require-effective-target arm_neon_ok } */
6104-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
6105+/* { dg-options "-save-temps -O0" } */
6106+/* { dg-add-options arm_neon } */
6107
6108 #include "arm_neon.h"
6109
6110
6111=== modified file 'gcc/testsuite/gcc.target/arm/neon/veoru32.c'
6112--- old/gcc/testsuite/gcc.target/arm/neon/veoru32.c 2007-07-25 11:28:31 +0000
6113+++ new/gcc/testsuite/gcc.target/arm/neon/veoru32.c 2010-07-29 15:38:15 +0000
6114@@ -3,7 +3,8 @@
6115
6116 /* { dg-do assemble } */
6117 /* { dg-require-effective-target arm_neon_ok } */
6118-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
6119+/* { dg-options "-save-temps -O0" } */
6120+/* { dg-add-options arm_neon } */
6121
6122 #include "arm_neon.h"
6123
6124
6125=== modified file 'gcc/testsuite/gcc.target/arm/neon/veoru64.c'
6126--- old/gcc/testsuite/gcc.target/arm/neon/veoru64.c 2007-07-25 11:28:31 +0000
6127+++ new/gcc/testsuite/gcc.target/arm/neon/veoru64.c 2010-07-29 15:38:15 +0000
6128@@ -3,7 +3,8 @@
6129
6130 /* { dg-do assemble } */
6131 /* { dg-require-effective-target arm_neon_ok } */
6132-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
6133+/* { dg-options "-save-temps -O0" } */
6134+/* { dg-add-options arm_neon } */
6135
6136 #include "arm_neon.h"
6137
6138
6139=== modified file 'gcc/testsuite/gcc.target/arm/neon/veoru8.c'
6140--- old/gcc/testsuite/gcc.target/arm/neon/veoru8.c 2007-07-25 11:28:31 +0000
6141+++ new/gcc/testsuite/gcc.target/arm/neon/veoru8.c 2010-07-29 15:38:15 +0000
6142@@ -3,7 +3,8 @@
6143
6144 /* { dg-do assemble } */
6145 /* { dg-require-effective-target arm_neon_ok } */
6146-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
6147+/* { dg-options "-save-temps -O0" } */
6148+/* { dg-add-options arm_neon } */
6149
6150 #include "arm_neon.h"
6151
6152
6153=== modified file 'gcc/testsuite/gcc.target/arm/neon/vextQf32.c'
6154--- old/gcc/testsuite/gcc.target/arm/neon/vextQf32.c 2007-07-25 11:28:31 +0000
6155+++ new/gcc/testsuite/gcc.target/arm/neon/vextQf32.c 2010-07-29 15:38:15 +0000
6156@@ -3,7 +3,8 @@
6157
6158 /* { dg-do assemble } */
6159 /* { dg-require-effective-target arm_neon_ok } */
6160-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
6161+/* { dg-options "-save-temps -O0" } */
6162+/* { dg-add-options arm_neon } */
6163
6164 #include "arm_neon.h"
6165
6166
6167=== modified file 'gcc/testsuite/gcc.target/arm/neon/vextQp16.c'
6168--- old/gcc/testsuite/gcc.target/arm/neon/vextQp16.c 2007-07-25 11:28:31 +0000
6169+++ new/gcc/testsuite/gcc.target/arm/neon/vextQp16.c 2010-07-29 15:38:15 +0000
6170@@ -3,7 +3,8 @@
6171
6172 /* { dg-do assemble } */
6173 /* { dg-require-effective-target arm_neon_ok } */
6174-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
6175+/* { dg-options "-save-temps -O0" } */
6176+/* { dg-add-options arm_neon } */
6177
6178 #include "arm_neon.h"
6179
6180
6181=== modified file 'gcc/testsuite/gcc.target/arm/neon/vextQp8.c'
6182--- old/gcc/testsuite/gcc.target/arm/neon/vextQp8.c 2007-07-25 11:28:31 +0000
6183+++ new/gcc/testsuite/gcc.target/arm/neon/vextQp8.c 2010-07-29 15:38:15 +0000
6184@@ -3,7 +3,8 @@
6185
6186 /* { dg-do assemble } */
6187 /* { dg-require-effective-target arm_neon_ok } */
6188-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
6189+/* { dg-options "-save-temps -O0" } */
6190+/* { dg-add-options arm_neon } */
6191
6192 #include "arm_neon.h"
6193
6194
6195=== modified file 'gcc/testsuite/gcc.target/arm/neon/vextQs16.c'
6196--- old/gcc/testsuite/gcc.target/arm/neon/vextQs16.c 2007-07-25 11:28:31 +0000
6197+++ new/gcc/testsuite/gcc.target/arm/neon/vextQs16.c 2010-07-29 15:38:15 +0000
6198@@ -3,7 +3,8 @@
6199
6200 /* { dg-do assemble } */
6201 /* { dg-require-effective-target arm_neon_ok } */
6202-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
6203+/* { dg-options "-save-temps -O0" } */
6204+/* { dg-add-options arm_neon } */
6205
6206 #include "arm_neon.h"
6207
6208
6209=== modified file 'gcc/testsuite/gcc.target/arm/neon/vextQs32.c'
6210--- old/gcc/testsuite/gcc.target/arm/neon/vextQs32.c 2007-07-25 11:28:31 +0000
6211+++ new/gcc/testsuite/gcc.target/arm/neon/vextQs32.c 2010-07-29 15:38:15 +0000
6212@@ -3,7 +3,8 @@
6213
6214 /* { dg-do assemble } */
6215 /* { dg-require-effective-target arm_neon_ok } */
6216-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
6217+/* { dg-options "-save-temps -O0" } */
6218+/* { dg-add-options arm_neon } */
6219
6220 #include "arm_neon.h"
6221
6222
6223=== modified file 'gcc/testsuite/gcc.target/arm/neon/vextQs64.c'
6224--- old/gcc/testsuite/gcc.target/arm/neon/vextQs64.c 2007-07-25 11:28:31 +0000
6225+++ new/gcc/testsuite/gcc.target/arm/neon/vextQs64.c 2010-07-29 15:38:15 +0000
6226@@ -3,7 +3,8 @@
6227
6228 /* { dg-do assemble } */
6229 /* { dg-require-effective-target arm_neon_ok } */
6230-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
6231+/* { dg-options "-save-temps -O0" } */
6232+/* { dg-add-options arm_neon } */
6233
6234 #include "arm_neon.h"
6235
6236
6237=== modified file 'gcc/testsuite/gcc.target/arm/neon/vextQs8.c'
6238--- old/gcc/testsuite/gcc.target/arm/neon/vextQs8.c 2007-07-25 11:28:31 +0000
6239+++ new/gcc/testsuite/gcc.target/arm/neon/vextQs8.c 2010-07-29 15:38:15 +0000
6240@@ -3,7 +3,8 @@
6241
6242 /* { dg-do assemble } */
6243 /* { dg-require-effective-target arm_neon_ok } */
6244-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
6245+/* { dg-options "-save-temps -O0" } */
6246+/* { dg-add-options arm_neon } */
6247
6248 #include "arm_neon.h"
6249
6250
6251=== modified file 'gcc/testsuite/gcc.target/arm/neon/vextQu16.c'
6252--- old/gcc/testsuite/gcc.target/arm/neon/vextQu16.c 2007-07-25 11:28:31 +0000
6253+++ new/gcc/testsuite/gcc.target/arm/neon/vextQu16.c 2010-07-29 15:38:15 +0000
6254@@ -3,7 +3,8 @@
6255
6256 /* { dg-do assemble } */
6257 /* { dg-require-effective-target arm_neon_ok } */
6258-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
6259+/* { dg-options "-save-temps -O0" } */
6260+/* { dg-add-options arm_neon } */
6261
6262 #include "arm_neon.h"
6263
6264
6265=== modified file 'gcc/testsuite/gcc.target/arm/neon/vextQu32.c'
6266--- old/gcc/testsuite/gcc.target/arm/neon/vextQu32.c 2007-07-25 11:28:31 +0000
6267+++ new/gcc/testsuite/gcc.target/arm/neon/vextQu32.c 2010-07-29 15:38:15 +0000
6268@@ -3,7 +3,8 @@
6269
6270 /* { dg-do assemble } */
6271 /* { dg-require-effective-target arm_neon_ok } */
6272-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
6273+/* { dg-options "-save-temps -O0" } */
6274+/* { dg-add-options arm_neon } */
6275
6276 #include "arm_neon.h"
6277
6278
6279=== modified file 'gcc/testsuite/gcc.target/arm/neon/vextQu64.c'
6280--- old/gcc/testsuite/gcc.target/arm/neon/vextQu64.c 2007-07-25 11:28:31 +0000
6281+++ new/gcc/testsuite/gcc.target/arm/neon/vextQu64.c 2010-07-29 15:38:15 +0000
6282@@ -3,7 +3,8 @@
6283
6284 /* { dg-do assemble } */
6285 /* { dg-require-effective-target arm_neon_ok } */
6286-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
6287+/* { dg-options "-save-temps -O0" } */
6288+/* { dg-add-options arm_neon } */
6289
6290 #include "arm_neon.h"
6291
6292
6293=== modified file 'gcc/testsuite/gcc.target/arm/neon/vextQu8.c'
6294--- old/gcc/testsuite/gcc.target/arm/neon/vextQu8.c 2007-07-25 11:28:31 +0000
6295+++ new/gcc/testsuite/gcc.target/arm/neon/vextQu8.c 2010-07-29 15:38:15 +0000
6296@@ -3,7 +3,8 @@
6297
6298 /* { dg-do assemble } */
6299 /* { dg-require-effective-target arm_neon_ok } */
6300-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
6301+/* { dg-options "-save-temps -O0" } */
6302+/* { dg-add-options arm_neon } */
6303
6304 #include "arm_neon.h"
6305
6306
6307=== modified file 'gcc/testsuite/gcc.target/arm/neon/vextf32.c'
6308--- old/gcc/testsuite/gcc.target/arm/neon/vextf32.c 2007-07-25 11:28:31 +0000
6309+++ new/gcc/testsuite/gcc.target/arm/neon/vextf32.c 2010-07-29 15:38:15 +0000
6310@@ -3,7 +3,8 @@
6311
6312 /* { dg-do assemble } */
6313 /* { dg-require-effective-target arm_neon_ok } */
6314-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
6315+/* { dg-options "-save-temps -O0" } */
6316+/* { dg-add-options arm_neon } */
6317
6318 #include "arm_neon.h"
6319
6320
6321=== modified file 'gcc/testsuite/gcc.target/arm/neon/vextp16.c'
6322--- old/gcc/testsuite/gcc.target/arm/neon/vextp16.c 2007-07-25 11:28:31 +0000
6323+++ new/gcc/testsuite/gcc.target/arm/neon/vextp16.c 2010-07-29 15:38:15 +0000
6324@@ -3,7 +3,8 @@
6325
6326 /* { dg-do assemble } */
6327 /* { dg-require-effective-target arm_neon_ok } */
6328-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
6329+/* { dg-options "-save-temps -O0" } */
6330+/* { dg-add-options arm_neon } */
6331
6332 #include "arm_neon.h"
6333
6334
6335=== modified file 'gcc/testsuite/gcc.target/arm/neon/vextp8.c'
6336--- old/gcc/testsuite/gcc.target/arm/neon/vextp8.c 2007-07-25 11:28:31 +0000
6337+++ new/gcc/testsuite/gcc.target/arm/neon/vextp8.c 2010-07-29 15:38:15 +0000
6338@@ -3,7 +3,8 @@
6339
6340 /* { dg-do assemble } */
6341 /* { dg-require-effective-target arm_neon_ok } */
6342-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
6343+/* { dg-options "-save-temps -O0" } */
6344+/* { dg-add-options arm_neon } */
6345
6346 #include "arm_neon.h"
6347
6348
6349=== modified file 'gcc/testsuite/gcc.target/arm/neon/vexts16.c'
6350--- old/gcc/testsuite/gcc.target/arm/neon/vexts16.c 2007-07-25 11:28:31 +0000
6351+++ new/gcc/testsuite/gcc.target/arm/neon/vexts16.c 2010-07-29 15:38:15 +0000
6352@@ -3,7 +3,8 @@
6353
6354 /* { dg-do assemble } */
6355 /* { dg-require-effective-target arm_neon_ok } */
6356-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
6357+/* { dg-options "-save-temps -O0" } */
6358+/* { dg-add-options arm_neon } */
6359
6360 #include "arm_neon.h"
6361
6362
6363=== modified file 'gcc/testsuite/gcc.target/arm/neon/vexts32.c'
6364--- old/gcc/testsuite/gcc.target/arm/neon/vexts32.c 2007-07-25 11:28:31 +0000
6365+++ new/gcc/testsuite/gcc.target/arm/neon/vexts32.c 2010-07-29 15:38:15 +0000
6366@@ -3,7 +3,8 @@
6367
6368 /* { dg-do assemble } */
6369 /* { dg-require-effective-target arm_neon_ok } */
6370-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
6371+/* { dg-options "-save-temps -O0" } */
6372+/* { dg-add-options arm_neon } */
6373
6374 #include "arm_neon.h"
6375
6376
6377=== modified file 'gcc/testsuite/gcc.target/arm/neon/vexts64.c'
6378--- old/gcc/testsuite/gcc.target/arm/neon/vexts64.c 2007-07-25 11:28:31 +0000
6379+++ new/gcc/testsuite/gcc.target/arm/neon/vexts64.c 2010-07-29 15:38:15 +0000
6380@@ -3,7 +3,8 @@
6381
6382 /* { dg-do assemble } */
6383 /* { dg-require-effective-target arm_neon_ok } */
6384-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
6385+/* { dg-options "-save-temps -O0" } */
6386+/* { dg-add-options arm_neon } */
6387
6388 #include "arm_neon.h"
6389
6390
6391=== modified file 'gcc/testsuite/gcc.target/arm/neon/vexts8.c'
6392--- old/gcc/testsuite/gcc.target/arm/neon/vexts8.c 2007-07-25 11:28:31 +0000
6393+++ new/gcc/testsuite/gcc.target/arm/neon/vexts8.c 2010-07-29 15:38:15 +0000
6394@@ -3,7 +3,8 @@
6395
6396 /* { dg-do assemble } */
6397 /* { dg-require-effective-target arm_neon_ok } */
6398-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
6399+/* { dg-options "-save-temps -O0" } */
6400+/* { dg-add-options arm_neon } */
6401
6402 #include "arm_neon.h"
6403
6404
6405=== modified file 'gcc/testsuite/gcc.target/arm/neon/vextu16.c'
6406--- old/gcc/testsuite/gcc.target/arm/neon/vextu16.c 2007-07-25 11:28:31 +0000
6407+++ new/gcc/testsuite/gcc.target/arm/neon/vextu16.c 2010-07-29 15:38:15 +0000
6408@@ -3,7 +3,8 @@
6409
6410 /* { dg-do assemble } */
6411 /* { dg-require-effective-target arm_neon_ok } */
6412-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
6413+/* { dg-options "-save-temps -O0" } */
6414+/* { dg-add-options arm_neon } */
6415
6416 #include "arm_neon.h"
6417
6418
6419=== modified file 'gcc/testsuite/gcc.target/arm/neon/vextu32.c'
6420--- old/gcc/testsuite/gcc.target/arm/neon/vextu32.c 2007-07-25 11:28:31 +0000
6421+++ new/gcc/testsuite/gcc.target/arm/neon/vextu32.c 2010-07-29 15:38:15 +0000
6422@@ -3,7 +3,8 @@
6423
6424 /* { dg-do assemble } */
6425 /* { dg-require-effective-target arm_neon_ok } */
6426-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
6427+/* { dg-options "-save-temps -O0" } */
6428+/* { dg-add-options arm_neon } */
6429
6430 #include "arm_neon.h"
6431
6432
6433=== modified file 'gcc/testsuite/gcc.target/arm/neon/vextu64.c'
6434--- old/gcc/testsuite/gcc.target/arm/neon/vextu64.c 2007-07-25 11:28:31 +0000
6435+++ new/gcc/testsuite/gcc.target/arm/neon/vextu64.c 2010-07-29 15:38:15 +0000
6436@@ -3,7 +3,8 @@
6437
6438 /* { dg-do assemble } */
6439 /* { dg-require-effective-target arm_neon_ok } */
6440-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
6441+/* { dg-options "-save-temps -O0" } */
6442+/* { dg-add-options arm_neon } */
6443
6444 #include "arm_neon.h"
6445
6446
6447=== modified file 'gcc/testsuite/gcc.target/arm/neon/vextu8.c'
6448--- old/gcc/testsuite/gcc.target/arm/neon/vextu8.c 2007-07-25 11:28:31 +0000
6449+++ new/gcc/testsuite/gcc.target/arm/neon/vextu8.c 2010-07-29 15:38:15 +0000
6450@@ -3,7 +3,8 @@
6451
6452 /* { dg-do assemble } */
6453 /* { dg-require-effective-target arm_neon_ok } */
6454-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
6455+/* { dg-options "-save-temps -O0" } */
6456+/* { dg-add-options arm_neon } */
6457
6458 #include "arm_neon.h"
6459
6460
6461=== modified file 'gcc/testsuite/gcc.target/arm/neon/vfp-shift-a2t2.c'
6462--- old/gcc/testsuite/gcc.target/arm/neon/vfp-shift-a2t2.c 2009-10-14 18:18:20 +0000
6463+++ new/gcc/testsuite/gcc.target/arm/neon/vfp-shift-a2t2.c 2010-07-29 15:38:15 +0000
6464@@ -2,7 +2,8 @@
6465
6466 /* { dg-do compile } */
6467 /* { dg-require-effective-target arm_neon_ok } */
6468-/* { dg-options "-save-temps -mfpu=neon -mfloat-abi=softfp" } */
6469+/* { dg-options "-save-temps" } */
6470+/* { dg-add-options arm_neon } */
6471
6472 #include <arm_neon.h>
6473
6474
6475=== modified file 'gcc/testsuite/gcc.target/arm/neon/vgetQ_lanef32.c'
6476--- old/gcc/testsuite/gcc.target/arm/neon/vgetQ_lanef32.c 2007-07-30 12:48:43 +0000
6477+++ new/gcc/testsuite/gcc.target/arm/neon/vgetQ_lanef32.c 2010-07-29 15:38:15 +0000
6478@@ -3,7 +3,8 @@
6479
6480 /* { dg-do assemble } */
6481 /* { dg-require-effective-target arm_neon_ok } */
6482-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
6483+/* { dg-options "-save-temps -O0" } */
6484+/* { dg-add-options arm_neon } */
6485
6486 #include "arm_neon.h"
6487
6488
6489=== modified file 'gcc/testsuite/gcc.target/arm/neon/vgetQ_lanep16.c'
6490--- old/gcc/testsuite/gcc.target/arm/neon/vgetQ_lanep16.c 2007-07-25 11:28:31 +0000
6491+++ new/gcc/testsuite/gcc.target/arm/neon/vgetQ_lanep16.c 2010-07-29 15:38:15 +0000
6492@@ -3,7 +3,8 @@
6493
6494 /* { dg-do assemble } */
6495 /* { dg-require-effective-target arm_neon_ok } */
6496-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
6497+/* { dg-options "-save-temps -O0" } */
6498+/* { dg-add-options arm_neon } */
6499
6500 #include "arm_neon.h"
6501
6502
6503=== modified file 'gcc/testsuite/gcc.target/arm/neon/vgetQ_lanep8.c'
6504--- old/gcc/testsuite/gcc.target/arm/neon/vgetQ_lanep8.c 2007-07-25 11:28:31 +0000
6505+++ new/gcc/testsuite/gcc.target/arm/neon/vgetQ_lanep8.c 2010-07-29 15:38:15 +0000
6506@@ -3,7 +3,8 @@
6507
6508 /* { dg-do assemble } */
6509 /* { dg-require-effective-target arm_neon_ok } */
6510-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
6511+/* { dg-options "-save-temps -O0" } */
6512+/* { dg-add-options arm_neon } */
6513
6514 #include "arm_neon.h"
6515
6516
6517=== modified file 'gcc/testsuite/gcc.target/arm/neon/vgetQ_lanes16.c'
6518--- old/gcc/testsuite/gcc.target/arm/neon/vgetQ_lanes16.c 2007-07-25 11:28:31 +0000
6519+++ new/gcc/testsuite/gcc.target/arm/neon/vgetQ_lanes16.c 2010-07-29 15:38:15 +0000
6520@@ -3,7 +3,8 @@
6521
6522 /* { dg-do assemble } */
6523 /* { dg-require-effective-target arm_neon_ok } */
6524-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
6525+/* { dg-options "-save-temps -O0" } */
6526+/* { dg-add-options arm_neon } */
6527
6528 #include "arm_neon.h"
6529
6530
6531=== modified file 'gcc/testsuite/gcc.target/arm/neon/vgetQ_lanes32.c'
6532--- old/gcc/testsuite/gcc.target/arm/neon/vgetQ_lanes32.c 2007-07-30 12:48:43 +0000
6533+++ new/gcc/testsuite/gcc.target/arm/neon/vgetQ_lanes32.c 2010-07-29 15:38:15 +0000
6534@@ -3,7 +3,8 @@
6535
6536 /* { dg-do assemble } */
6537 /* { dg-require-effective-target arm_neon_ok } */
6538-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
6539+/* { dg-options "-save-temps -O0" } */
6540+/* { dg-add-options arm_neon } */
6541
6542 #include "arm_neon.h"
6543
6544
6545=== modified file 'gcc/testsuite/gcc.target/arm/neon/vgetQ_lanes64.c'
6546--- old/gcc/testsuite/gcc.target/arm/neon/vgetQ_lanes64.c 2007-07-25 11:28:31 +0000
6547+++ new/gcc/testsuite/gcc.target/arm/neon/vgetQ_lanes64.c 2010-07-29 15:38:15 +0000
6548@@ -3,7 +3,8 @@
6549
6550 /* { dg-do assemble } */
6551 /* { dg-require-effective-target arm_neon_ok } */
6552-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
6553+/* { dg-options "-save-temps -O0" } */
6554+/* { dg-add-options arm_neon } */
6555
6556 #include "arm_neon.h"
6557
6558
6559=== modified file 'gcc/testsuite/gcc.target/arm/neon/vgetQ_lanes8.c'
6560--- old/gcc/testsuite/gcc.target/arm/neon/vgetQ_lanes8.c 2007-07-25 11:28:31 +0000
6561+++ new/gcc/testsuite/gcc.target/arm/neon/vgetQ_lanes8.c 2010-07-29 15:38:15 +0000
6562@@ -3,7 +3,8 @@
6563
6564 /* { dg-do assemble } */
6565 /* { dg-require-effective-target arm_neon_ok } */
6566-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
6567+/* { dg-options "-save-temps -O0" } */
6568+/* { dg-add-options arm_neon } */
6569
6570 #include "arm_neon.h"
6571
6572
6573=== modified file 'gcc/testsuite/gcc.target/arm/neon/vgetQ_laneu16.c'
6574--- old/gcc/testsuite/gcc.target/arm/neon/vgetQ_laneu16.c 2007-07-25 11:28:31 +0000
6575+++ new/gcc/testsuite/gcc.target/arm/neon/vgetQ_laneu16.c 2010-07-29 15:38:15 +0000
6576@@ -3,7 +3,8 @@
6577
6578 /* { dg-do assemble } */
6579 /* { dg-require-effective-target arm_neon_ok } */
6580-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
6581+/* { dg-options "-save-temps -O0" } */
6582+/* { dg-add-options arm_neon } */
6583
6584 #include "arm_neon.h"
6585
6586
6587=== modified file 'gcc/testsuite/gcc.target/arm/neon/vgetQ_laneu32.c'
6588--- old/gcc/testsuite/gcc.target/arm/neon/vgetQ_laneu32.c 2007-07-30 12:48:43 +0000
6589+++ new/gcc/testsuite/gcc.target/arm/neon/vgetQ_laneu32.c 2010-07-29 15:38:15 +0000
6590@@ -3,7 +3,8 @@
6591
6592 /* { dg-do assemble } */
6593 /* { dg-require-effective-target arm_neon_ok } */
6594-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
6595+/* { dg-options "-save-temps -O0" } */
6596+/* { dg-add-options arm_neon } */
6597
6598 #include "arm_neon.h"
6599
6600
6601=== modified file 'gcc/testsuite/gcc.target/arm/neon/vgetQ_laneu64.c'
6602--- old/gcc/testsuite/gcc.target/arm/neon/vgetQ_laneu64.c 2007-07-25 11:28:31 +0000
6603+++ new/gcc/testsuite/gcc.target/arm/neon/vgetQ_laneu64.c 2010-07-29 15:38:15 +0000
6604@@ -3,7 +3,8 @@
6605
6606 /* { dg-do assemble } */
6607 /* { dg-require-effective-target arm_neon_ok } */
6608-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
6609+/* { dg-options "-save-temps -O0" } */
6610+/* { dg-add-options arm_neon } */
6611
6612 #include "arm_neon.h"
6613
6614
6615=== modified file 'gcc/testsuite/gcc.target/arm/neon/vgetQ_laneu8.c'
6616--- old/gcc/testsuite/gcc.target/arm/neon/vgetQ_laneu8.c 2007-07-25 11:28:31 +0000
6617+++ new/gcc/testsuite/gcc.target/arm/neon/vgetQ_laneu8.c 2010-07-29 15:38:15 +0000
6618@@ -3,7 +3,8 @@
6619
6620 /* { dg-do assemble } */
6621 /* { dg-require-effective-target arm_neon_ok } */
6622-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
6623+/* { dg-options "-save-temps -O0" } */
6624+/* { dg-add-options arm_neon } */
6625
6626 #include "arm_neon.h"
6627
6628
6629=== modified file 'gcc/testsuite/gcc.target/arm/neon/vget_highf32.c'
6630--- old/gcc/testsuite/gcc.target/arm/neon/vget_highf32.c 2007-07-25 11:28:31 +0000
6631+++ new/gcc/testsuite/gcc.target/arm/neon/vget_highf32.c 2010-07-29 15:38:15 +0000
6632@@ -3,7 +3,8 @@
6633
6634 /* { dg-do assemble } */
6635 /* { dg-require-effective-target arm_neon_ok } */
6636-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
6637+/* { dg-options "-save-temps -O0" } */
6638+/* { dg-add-options arm_neon } */
6639
6640 #include "arm_neon.h"
6641
6642
6643=== modified file 'gcc/testsuite/gcc.target/arm/neon/vget_highp16.c'
6644--- old/gcc/testsuite/gcc.target/arm/neon/vget_highp16.c 2007-07-25 11:28:31 +0000
6645+++ new/gcc/testsuite/gcc.target/arm/neon/vget_highp16.c 2010-07-29 15:38:15 +0000
6646@@ -3,7 +3,8 @@
6647
6648 /* { dg-do assemble } */
6649 /* { dg-require-effective-target arm_neon_ok } */
6650-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
6651+/* { dg-options "-save-temps -O0" } */
6652+/* { dg-add-options arm_neon } */
6653
6654 #include "arm_neon.h"
6655
6656
6657=== modified file 'gcc/testsuite/gcc.target/arm/neon/vget_highp8.c'
6658--- old/gcc/testsuite/gcc.target/arm/neon/vget_highp8.c 2007-07-25 11:28:31 +0000
6659+++ new/gcc/testsuite/gcc.target/arm/neon/vget_highp8.c 2010-07-29 15:38:15 +0000
6660@@ -3,7 +3,8 @@
6661
6662 /* { dg-do assemble } */
6663 /* { dg-require-effective-target arm_neon_ok } */
6664-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
6665+/* { dg-options "-save-temps -O0" } */
6666+/* { dg-add-options arm_neon } */
6667
6668 #include "arm_neon.h"
6669
6670
6671=== modified file 'gcc/testsuite/gcc.target/arm/neon/vget_highs16.c'
6672--- old/gcc/testsuite/gcc.target/arm/neon/vget_highs16.c 2007-07-25 11:28:31 +0000
6673+++ new/gcc/testsuite/gcc.target/arm/neon/vget_highs16.c 2010-07-29 15:38:15 +0000
6674@@ -3,7 +3,8 @@
6675
6676 /* { dg-do assemble } */
6677 /* { dg-require-effective-target arm_neon_ok } */
6678-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
6679+/* { dg-options "-save-temps -O0" } */
6680+/* { dg-add-options arm_neon } */
6681
6682 #include "arm_neon.h"
6683
6684
6685=== modified file 'gcc/testsuite/gcc.target/arm/neon/vget_highs32.c'
6686--- old/gcc/testsuite/gcc.target/arm/neon/vget_highs32.c 2007-07-25 11:28:31 +0000
6687+++ new/gcc/testsuite/gcc.target/arm/neon/vget_highs32.c 2010-07-29 15:38:15 +0000
6688@@ -3,7 +3,8 @@
6689
6690 /* { dg-do assemble } */
6691 /* { dg-require-effective-target arm_neon_ok } */
6692-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
6693+/* { dg-options "-save-temps -O0" } */
6694+/* { dg-add-options arm_neon } */
6695
6696 #include "arm_neon.h"
6697
6698
6699=== modified file 'gcc/testsuite/gcc.target/arm/neon/vget_highs64.c'
6700--- old/gcc/testsuite/gcc.target/arm/neon/vget_highs64.c 2007-07-25 11:28:31 +0000
6701+++ new/gcc/testsuite/gcc.target/arm/neon/vget_highs64.c 2010-07-29 15:38:15 +0000
6702@@ -3,7 +3,8 @@
6703
6704 /* { dg-do assemble } */
6705 /* { dg-require-effective-target arm_neon_ok } */
6706-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
6707+/* { dg-options "-save-temps -O0" } */
6708+/* { dg-add-options arm_neon } */
6709
6710 #include "arm_neon.h"
6711
6712
6713=== modified file 'gcc/testsuite/gcc.target/arm/neon/vget_highs8.c'
6714--- old/gcc/testsuite/gcc.target/arm/neon/vget_highs8.c 2007-07-25 11:28:31 +0000
6715+++ new/gcc/testsuite/gcc.target/arm/neon/vget_highs8.c 2010-07-29 15:38:15 +0000
6716@@ -3,7 +3,8 @@
6717
6718 /* { dg-do assemble } */
6719 /* { dg-require-effective-target arm_neon_ok } */
6720-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
6721+/* { dg-options "-save-temps -O0" } */
6722+/* { dg-add-options arm_neon } */
6723
6724 #include "arm_neon.h"
6725
6726
6727=== modified file 'gcc/testsuite/gcc.target/arm/neon/vget_highu16.c'
6728--- old/gcc/testsuite/gcc.target/arm/neon/vget_highu16.c 2007-07-25 11:28:31 +0000
6729+++ new/gcc/testsuite/gcc.target/arm/neon/vget_highu16.c 2010-07-29 15:38:15 +0000
6730@@ -3,7 +3,8 @@
6731
6732 /* { dg-do assemble } */
6733 /* { dg-require-effective-target arm_neon_ok } */
6734-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
6735+/* { dg-options "-save-temps -O0" } */
6736+/* { dg-add-options arm_neon } */
6737
6738 #include "arm_neon.h"
6739
6740
6741=== modified file 'gcc/testsuite/gcc.target/arm/neon/vget_highu32.c'
6742--- old/gcc/testsuite/gcc.target/arm/neon/vget_highu32.c 2007-07-25 11:28:31 +0000
6743+++ new/gcc/testsuite/gcc.target/arm/neon/vget_highu32.c 2010-07-29 15:38:15 +0000
6744@@ -3,7 +3,8 @@
6745
6746 /* { dg-do assemble } */
6747 /* { dg-require-effective-target arm_neon_ok } */
6748-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
6749+/* { dg-options "-save-temps -O0" } */
6750+/* { dg-add-options arm_neon } */
6751
6752 #include "arm_neon.h"
6753
6754
6755=== modified file 'gcc/testsuite/gcc.target/arm/neon/vget_highu64.c'
6756--- old/gcc/testsuite/gcc.target/arm/neon/vget_highu64.c 2007-07-25 11:28:31 +0000
6757+++ new/gcc/testsuite/gcc.target/arm/neon/vget_highu64.c 2010-07-29 15:38:15 +0000
6758@@ -3,7 +3,8 @@
6759
6760 /* { dg-do assemble } */
6761 /* { dg-require-effective-target arm_neon_ok } */
6762-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
6763+/* { dg-options "-save-temps -O0" } */
6764+/* { dg-add-options arm_neon } */
6765
6766 #include "arm_neon.h"
6767
6768
6769=== modified file 'gcc/testsuite/gcc.target/arm/neon/vget_highu8.c'
6770--- old/gcc/testsuite/gcc.target/arm/neon/vget_highu8.c 2007-07-25 11:28:31 +0000
6771+++ new/gcc/testsuite/gcc.target/arm/neon/vget_highu8.c 2010-07-29 15:38:15 +0000
6772@@ -3,7 +3,8 @@
6773
6774 /* { dg-do assemble } */
6775 /* { dg-require-effective-target arm_neon_ok } */
6776-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
6777+/* { dg-options "-save-temps -O0" } */
6778+/* { dg-add-options arm_neon } */
6779
6780 #include "arm_neon.h"
6781
6782
6783=== modified file 'gcc/testsuite/gcc.target/arm/neon/vget_lanef32.c'
6784--- old/gcc/testsuite/gcc.target/arm/neon/vget_lanef32.c 2007-07-30 12:48:43 +0000
6785+++ new/gcc/testsuite/gcc.target/arm/neon/vget_lanef32.c 2010-07-29 15:38:15 +0000
6786@@ -3,7 +3,8 @@
6787
6788 /* { dg-do assemble } */
6789 /* { dg-require-effective-target arm_neon_ok } */
6790-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
6791+/* { dg-options "-save-temps -O0" } */
6792+/* { dg-add-options arm_neon } */
6793
6794 #include "arm_neon.h"
6795
6796
6797=== modified file 'gcc/testsuite/gcc.target/arm/neon/vget_lanep16.c'
6798--- old/gcc/testsuite/gcc.target/arm/neon/vget_lanep16.c 2007-07-25 11:28:31 +0000
6799+++ new/gcc/testsuite/gcc.target/arm/neon/vget_lanep16.c 2010-07-29 15:38:15 +0000
6800@@ -3,7 +3,8 @@
6801
6802 /* { dg-do assemble } */
6803 /* { dg-require-effective-target arm_neon_ok } */
6804-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
6805+/* { dg-options "-save-temps -O0" } */
6806+/* { dg-add-options arm_neon } */
6807
6808 #include "arm_neon.h"
6809
6810
6811=== modified file 'gcc/testsuite/gcc.target/arm/neon/vget_lanep8.c'
6812--- old/gcc/testsuite/gcc.target/arm/neon/vget_lanep8.c 2007-07-25 11:28:31 +0000
6813+++ new/gcc/testsuite/gcc.target/arm/neon/vget_lanep8.c 2010-07-29 15:38:15 +0000
6814@@ -3,7 +3,8 @@
6815
6816 /* { dg-do assemble } */
6817 /* { dg-require-effective-target arm_neon_ok } */
6818-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
6819+/* { dg-options "-save-temps -O0" } */
6820+/* { dg-add-options arm_neon } */
6821
6822 #include "arm_neon.h"
6823
6824
6825=== modified file 'gcc/testsuite/gcc.target/arm/neon/vget_lanes16.c'
6826--- old/gcc/testsuite/gcc.target/arm/neon/vget_lanes16.c 2007-07-25 11:28:31 +0000
6827+++ new/gcc/testsuite/gcc.target/arm/neon/vget_lanes16.c 2010-07-29 15:38:15 +0000
6828@@ -3,7 +3,8 @@
6829
6830 /* { dg-do assemble } */
6831 /* { dg-require-effective-target arm_neon_ok } */
6832-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
6833+/* { dg-options "-save-temps -O0" } */
6834+/* { dg-add-options arm_neon } */
6835
6836 #include "arm_neon.h"
6837
6838
6839=== modified file 'gcc/testsuite/gcc.target/arm/neon/vget_lanes32.c'
6840--- old/gcc/testsuite/gcc.target/arm/neon/vget_lanes32.c 2007-07-30 12:48:43 +0000
6841+++ new/gcc/testsuite/gcc.target/arm/neon/vget_lanes32.c 2010-07-29 15:38:15 +0000
6842@@ -3,7 +3,8 @@
6843
6844 /* { dg-do assemble } */
6845 /* { dg-require-effective-target arm_neon_ok } */
6846-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
6847+/* { dg-options "-save-temps -O0" } */
6848+/* { dg-add-options arm_neon } */
6849
6850 #include "arm_neon.h"
6851
6852
6853=== modified file 'gcc/testsuite/gcc.target/arm/neon/vget_lanes64.c'
6854--- old/gcc/testsuite/gcc.target/arm/neon/vget_lanes64.c 2007-07-25 11:28:31 +0000
6855+++ new/gcc/testsuite/gcc.target/arm/neon/vget_lanes64.c 2010-07-29 15:38:15 +0000
6856@@ -3,7 +3,8 @@
6857
6858 /* { dg-do assemble } */
6859 /* { dg-require-effective-target arm_neon_ok } */
6860-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
6861+/* { dg-options "-save-temps -O0" } */
6862+/* { dg-add-options arm_neon } */
6863
6864 #include "arm_neon.h"
6865
6866
6867=== modified file 'gcc/testsuite/gcc.target/arm/neon/vget_lanes8.c'
6868--- old/gcc/testsuite/gcc.target/arm/neon/vget_lanes8.c 2007-07-25 11:28:31 +0000
6869+++ new/gcc/testsuite/gcc.target/arm/neon/vget_lanes8.c 2010-07-29 15:38:15 +0000
6870@@ -3,7 +3,8 @@
6871
6872 /* { dg-do assemble } */
6873 /* { dg-require-effective-target arm_neon_ok } */
6874-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
6875+/* { dg-options "-save-temps -O0" } */
6876+/* { dg-add-options arm_neon } */
6877
6878 #include "arm_neon.h"
6879
6880
6881=== modified file 'gcc/testsuite/gcc.target/arm/neon/vget_laneu16.c'
6882--- old/gcc/testsuite/gcc.target/arm/neon/vget_laneu16.c 2007-07-25 11:28:31 +0000
6883+++ new/gcc/testsuite/gcc.target/arm/neon/vget_laneu16.c 2010-07-29 15:38:15 +0000
6884@@ -3,7 +3,8 @@
6885
6886 /* { dg-do assemble } */
6887 /* { dg-require-effective-target arm_neon_ok } */
6888-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
6889+/* { dg-options "-save-temps -O0" } */
6890+/* { dg-add-options arm_neon } */
6891
6892 #include "arm_neon.h"
6893
6894
6895=== modified file 'gcc/testsuite/gcc.target/arm/neon/vget_laneu32.c'
6896--- old/gcc/testsuite/gcc.target/arm/neon/vget_laneu32.c 2007-07-30 12:48:43 +0000
6897+++ new/gcc/testsuite/gcc.target/arm/neon/vget_laneu32.c 2010-07-29 15:38:15 +0000
6898@@ -3,7 +3,8 @@
6899
6900 /* { dg-do assemble } */
6901 /* { dg-require-effective-target arm_neon_ok } */
6902-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
6903+/* { dg-options "-save-temps -O0" } */
6904+/* { dg-add-options arm_neon } */
6905
6906 #include "arm_neon.h"
6907
6908
6909=== modified file 'gcc/testsuite/gcc.target/arm/neon/vget_laneu64.c'
6910--- old/gcc/testsuite/gcc.target/arm/neon/vget_laneu64.c 2007-07-25 11:28:31 +0000
6911+++ new/gcc/testsuite/gcc.target/arm/neon/vget_laneu64.c 2010-07-29 15:38:15 +0000
6912@@ -3,7 +3,8 @@
6913
6914 /* { dg-do assemble } */
6915 /* { dg-require-effective-target arm_neon_ok } */
6916-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
6917+/* { dg-options "-save-temps -O0" } */
6918+/* { dg-add-options arm_neon } */
6919
6920 #include "arm_neon.h"
6921
6922
6923=== modified file 'gcc/testsuite/gcc.target/arm/neon/vget_laneu8.c'
6924--- old/gcc/testsuite/gcc.target/arm/neon/vget_laneu8.c 2007-07-25 11:28:31 +0000
6925+++ new/gcc/testsuite/gcc.target/arm/neon/vget_laneu8.c 2010-07-29 15:38:15 +0000
6926@@ -3,7 +3,8 @@
6927
6928 /* { dg-do assemble } */
6929 /* { dg-require-effective-target arm_neon_ok } */
6930-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
6931+/* { dg-options "-save-temps -O0" } */
6932+/* { dg-add-options arm_neon } */
6933
6934 #include "arm_neon.h"
6935
6936
6937=== modified file 'gcc/testsuite/gcc.target/arm/neon/vget_lowf32.c'
6938--- old/gcc/testsuite/gcc.target/arm/neon/vget_lowf32.c 2010-01-19 14:21:14 +0000
6939+++ new/gcc/testsuite/gcc.target/arm/neon/vget_lowf32.c 2010-07-29 15:38:15 +0000
6940@@ -3,7 +3,8 @@
6941
6942 /* { dg-do assemble } */
6943 /* { dg-require-effective-target arm_neon_ok } */
6944-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
6945+/* { dg-options "-save-temps -O0" } */
6946+/* { dg-add-options arm_neon } */
6947
6948 #include "arm_neon.h"
6949
6950
6951=== modified file 'gcc/testsuite/gcc.target/arm/neon/vget_lowp16.c'
6952--- old/gcc/testsuite/gcc.target/arm/neon/vget_lowp16.c 2010-01-19 14:21:14 +0000
6953+++ new/gcc/testsuite/gcc.target/arm/neon/vget_lowp16.c 2010-07-29 15:38:15 +0000
6954@@ -3,7 +3,8 @@
6955
6956 /* { dg-do assemble } */
6957 /* { dg-require-effective-target arm_neon_ok } */
6958-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
6959+/* { dg-options "-save-temps -O0" } */
6960+/* { dg-add-options arm_neon } */
6961
6962 #include "arm_neon.h"
6963
6964
6965=== modified file 'gcc/testsuite/gcc.target/arm/neon/vget_lowp8.c'
6966--- old/gcc/testsuite/gcc.target/arm/neon/vget_lowp8.c 2010-01-19 14:21:14 +0000
6967+++ new/gcc/testsuite/gcc.target/arm/neon/vget_lowp8.c 2010-07-29 15:38:15 +0000
6968@@ -3,7 +3,8 @@
6969
6970 /* { dg-do assemble } */
6971 /* { dg-require-effective-target arm_neon_ok } */
6972-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
6973+/* { dg-options "-save-temps -O0" } */
6974+/* { dg-add-options arm_neon } */
6975
6976 #include "arm_neon.h"
6977
6978
6979=== modified file 'gcc/testsuite/gcc.target/arm/neon/vget_lows16.c'
6980--- old/gcc/testsuite/gcc.target/arm/neon/vget_lows16.c 2010-01-19 14:21:14 +0000
6981+++ new/gcc/testsuite/gcc.target/arm/neon/vget_lows16.c 2010-07-29 15:38:15 +0000
6982@@ -3,7 +3,8 @@
6983
6984 /* { dg-do assemble } */
6985 /* { dg-require-effective-target arm_neon_ok } */
6986-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
6987+/* { dg-options "-save-temps -O0" } */
6988+/* { dg-add-options arm_neon } */
6989
6990 #include "arm_neon.h"
6991
6992
6993=== modified file 'gcc/testsuite/gcc.target/arm/neon/vget_lows32.c'
6994--- old/gcc/testsuite/gcc.target/arm/neon/vget_lows32.c 2010-01-19 14:21:14 +0000
6995+++ new/gcc/testsuite/gcc.target/arm/neon/vget_lows32.c 2010-07-29 15:38:15 +0000
6996@@ -3,7 +3,8 @@
6997
6998 /* { dg-do assemble } */
6999 /* { dg-require-effective-target arm_neon_ok } */
7000-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
7001+/* { dg-options "-save-temps -O0" } */
7002+/* { dg-add-options arm_neon } */
7003
7004 #include "arm_neon.h"
7005
7006
7007=== modified file 'gcc/testsuite/gcc.target/arm/neon/vget_lows64.c'
7008--- old/gcc/testsuite/gcc.target/arm/neon/vget_lows64.c 2010-01-19 14:21:14 +0000
7009+++ new/gcc/testsuite/gcc.target/arm/neon/vget_lows64.c 2010-07-29 15:38:15 +0000
7010@@ -3,7 +3,8 @@
7011
7012 /* { dg-do assemble } */
7013 /* { dg-require-effective-target arm_neon_ok } */
7014-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
7015+/* { dg-options "-save-temps -O0" } */
7016+/* { dg-add-options arm_neon } */
7017
7018 #include "arm_neon.h"
7019
7020
7021=== modified file 'gcc/testsuite/gcc.target/arm/neon/vget_lows8.c'
7022--- old/gcc/testsuite/gcc.target/arm/neon/vget_lows8.c 2010-01-19 14:21:14 +0000
7023+++ new/gcc/testsuite/gcc.target/arm/neon/vget_lows8.c 2010-07-29 15:38:15 +0000
7024@@ -3,7 +3,8 @@
7025
7026 /* { dg-do assemble } */
7027 /* { dg-require-effective-target arm_neon_ok } */
7028-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
7029+/* { dg-options "-save-temps -O0" } */
7030+/* { dg-add-options arm_neon } */
7031
7032 #include "arm_neon.h"
7033
7034
7035=== modified file 'gcc/testsuite/gcc.target/arm/neon/vget_lowu16.c'
7036--- old/gcc/testsuite/gcc.target/arm/neon/vget_lowu16.c 2010-01-19 14:21:14 +0000
7037+++ new/gcc/testsuite/gcc.target/arm/neon/vget_lowu16.c 2010-07-29 15:38:15 +0000
7038@@ -3,7 +3,8 @@
7039
7040 /* { dg-do assemble } */
7041 /* { dg-require-effective-target arm_neon_ok } */
7042-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
7043+/* { dg-options "-save-temps -O0" } */
7044+/* { dg-add-options arm_neon } */
7045
7046 #include "arm_neon.h"
7047
7048
7049=== modified file 'gcc/testsuite/gcc.target/arm/neon/vget_lowu32.c'
7050--- old/gcc/testsuite/gcc.target/arm/neon/vget_lowu32.c 2010-01-19 14:21:14 +0000
7051+++ new/gcc/testsuite/gcc.target/arm/neon/vget_lowu32.c 2010-07-29 15:38:15 +0000
7052@@ -3,7 +3,8 @@
7053
7054 /* { dg-do assemble } */
7055 /* { dg-require-effective-target arm_neon_ok } */
7056-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
7057+/* { dg-options "-save-temps -O0" } */
7058+/* { dg-add-options arm_neon } */
7059
7060 #include "arm_neon.h"
7061
7062
7063=== modified file 'gcc/testsuite/gcc.target/arm/neon/vget_lowu64.c'
7064--- old/gcc/testsuite/gcc.target/arm/neon/vget_lowu64.c 2010-01-19 14:21:14 +0000
7065+++ new/gcc/testsuite/gcc.target/arm/neon/vget_lowu64.c 2010-07-29 15:38:15 +0000
7066@@ -3,7 +3,8 @@
7067
7068 /* { dg-do assemble } */
7069 /* { dg-require-effective-target arm_neon_ok } */
7070-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
7071+/* { dg-options "-save-temps -O0" } */
7072+/* { dg-add-options arm_neon } */
7073
7074 #include "arm_neon.h"
7075
7076
7077=== modified file 'gcc/testsuite/gcc.target/arm/neon/vget_lowu8.c'
7078--- old/gcc/testsuite/gcc.target/arm/neon/vget_lowu8.c 2010-01-19 14:21:14 +0000
7079+++ new/gcc/testsuite/gcc.target/arm/neon/vget_lowu8.c 2010-07-29 15:38:15 +0000
7080@@ -3,7 +3,8 @@
7081
7082 /* { dg-do assemble } */
7083 /* { dg-require-effective-target arm_neon_ok } */
7084-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
7085+/* { dg-options "-save-temps -O0" } */
7086+/* { dg-add-options arm_neon } */
7087
7088 #include "arm_neon.h"
7089
7090
7091=== modified file 'gcc/testsuite/gcc.target/arm/neon/vhaddQs16.c'
7092--- old/gcc/testsuite/gcc.target/arm/neon/vhaddQs16.c 2007-07-25 11:28:31 +0000
7093+++ new/gcc/testsuite/gcc.target/arm/neon/vhaddQs16.c 2010-07-29 15:38:15 +0000
7094@@ -3,7 +3,8 @@
7095
7096 /* { dg-do assemble } */
7097 /* { dg-require-effective-target arm_neon_ok } */
7098-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
7099+/* { dg-options "-save-temps -O0" } */
7100+/* { dg-add-options arm_neon } */
7101
7102 #include "arm_neon.h"
7103
7104
7105=== modified file 'gcc/testsuite/gcc.target/arm/neon/vhaddQs32.c'
7106--- old/gcc/testsuite/gcc.target/arm/neon/vhaddQs32.c 2007-07-25 11:28:31 +0000
7107+++ new/gcc/testsuite/gcc.target/arm/neon/vhaddQs32.c 2010-07-29 15:38:15 +0000
7108@@ -3,7 +3,8 @@
7109
7110 /* { dg-do assemble } */
7111 /* { dg-require-effective-target arm_neon_ok } */
7112-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
7113+/* { dg-options "-save-temps -O0" } */
7114+/* { dg-add-options arm_neon } */
7115
7116 #include "arm_neon.h"
7117
7118
7119=== modified file 'gcc/testsuite/gcc.target/arm/neon/vhaddQs8.c'
7120--- old/gcc/testsuite/gcc.target/arm/neon/vhaddQs8.c 2007-07-25 11:28:31 +0000
7121+++ new/gcc/testsuite/gcc.target/arm/neon/vhaddQs8.c 2010-07-29 15:38:15 +0000
7122@@ -3,7 +3,8 @@
7123
7124 /* { dg-do assemble } */
7125 /* { dg-require-effective-target arm_neon_ok } */
7126-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
7127+/* { dg-options "-save-temps -O0" } */
7128+/* { dg-add-options arm_neon } */
7129
7130 #include "arm_neon.h"
7131
7132
7133=== modified file 'gcc/testsuite/gcc.target/arm/neon/vhaddQu16.c'
7134--- old/gcc/testsuite/gcc.target/arm/neon/vhaddQu16.c 2007-07-25 11:28:31 +0000
7135+++ new/gcc/testsuite/gcc.target/arm/neon/vhaddQu16.c 2010-07-29 15:38:15 +0000
7136@@ -3,7 +3,8 @@
7137
7138 /* { dg-do assemble } */
7139 /* { dg-require-effective-target arm_neon_ok } */
7140-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
7141+/* { dg-options "-save-temps -O0" } */
7142+/* { dg-add-options arm_neon } */
7143
7144 #include "arm_neon.h"
7145
7146
7147=== modified file 'gcc/testsuite/gcc.target/arm/neon/vhaddQu32.c'
7148--- old/gcc/testsuite/gcc.target/arm/neon/vhaddQu32.c 2007-07-25 11:28:31 +0000
7149+++ new/gcc/testsuite/gcc.target/arm/neon/vhaddQu32.c 2010-07-29 15:38:15 +0000
7150@@ -3,7 +3,8 @@
7151
7152 /* { dg-do assemble } */
7153 /* { dg-require-effective-target arm_neon_ok } */
7154-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
7155+/* { dg-options "-save-temps -O0" } */
7156+/* { dg-add-options arm_neon } */
7157
7158 #include "arm_neon.h"
7159
7160
7161=== modified file 'gcc/testsuite/gcc.target/arm/neon/vhaddQu8.c'
7162--- old/gcc/testsuite/gcc.target/arm/neon/vhaddQu8.c 2007-07-25 11:28:31 +0000
7163+++ new/gcc/testsuite/gcc.target/arm/neon/vhaddQu8.c 2010-07-29 15:38:15 +0000
7164@@ -3,7 +3,8 @@
7165
7166 /* { dg-do assemble } */
7167 /* { dg-require-effective-target arm_neon_ok } */
7168-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
7169+/* { dg-options "-save-temps -O0" } */
7170+/* { dg-add-options arm_neon } */
7171
7172 #include "arm_neon.h"
7173
7174
7175=== modified file 'gcc/testsuite/gcc.target/arm/neon/vhadds16.c'
7176--- old/gcc/testsuite/gcc.target/arm/neon/vhadds16.c 2007-07-25 11:28:31 +0000
7177+++ new/gcc/testsuite/gcc.target/arm/neon/vhadds16.c 2010-07-29 15:38:15 +0000
7178@@ -3,7 +3,8 @@
7179
7180 /* { dg-do assemble } */
7181 /* { dg-require-effective-target arm_neon_ok } */
7182-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
7183+/* { dg-options "-save-temps -O0" } */
7184+/* { dg-add-options arm_neon } */
7185
7186 #include "arm_neon.h"
7187
7188
7189=== modified file 'gcc/testsuite/gcc.target/arm/neon/vhadds32.c'
7190--- old/gcc/testsuite/gcc.target/arm/neon/vhadds32.c 2007-07-25 11:28:31 +0000
7191+++ new/gcc/testsuite/gcc.target/arm/neon/vhadds32.c 2010-07-29 15:38:15 +0000
7192@@ -3,7 +3,8 @@
7193
7194 /* { dg-do assemble } */
7195 /* { dg-require-effective-target arm_neon_ok } */
7196-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
7197+/* { dg-options "-save-temps -O0" } */
7198+/* { dg-add-options arm_neon } */
7199
7200 #include "arm_neon.h"
7201
7202
7203=== modified file 'gcc/testsuite/gcc.target/arm/neon/vhadds8.c'
7204--- old/gcc/testsuite/gcc.target/arm/neon/vhadds8.c 2007-07-25 11:28:31 +0000
7205+++ new/gcc/testsuite/gcc.target/arm/neon/vhadds8.c 2010-07-29 15:38:15 +0000
7206@@ -3,7 +3,8 @@
7207
7208 /* { dg-do assemble } */
7209 /* { dg-require-effective-target arm_neon_ok } */
7210-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
7211+/* { dg-options "-save-temps -O0" } */
7212+/* { dg-add-options arm_neon } */
7213
7214 #include "arm_neon.h"
7215
7216
7217=== modified file 'gcc/testsuite/gcc.target/arm/neon/vhaddu16.c'
7218--- old/gcc/testsuite/gcc.target/arm/neon/vhaddu16.c 2007-07-25 11:28:31 +0000
7219+++ new/gcc/testsuite/gcc.target/arm/neon/vhaddu16.c 2010-07-29 15:38:15 +0000
7220@@ -3,7 +3,8 @@
7221
7222 /* { dg-do assemble } */
7223 /* { dg-require-effective-target arm_neon_ok } */
7224-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
7225+/* { dg-options "-save-temps -O0" } */
7226+/* { dg-add-options arm_neon } */
7227
7228 #include "arm_neon.h"
7229
7230
7231=== modified file 'gcc/testsuite/gcc.target/arm/neon/vhaddu32.c'
7232--- old/gcc/testsuite/gcc.target/arm/neon/vhaddu32.c 2007-07-25 11:28:31 +0000
7233+++ new/gcc/testsuite/gcc.target/arm/neon/vhaddu32.c 2010-07-29 15:38:15 +0000
7234@@ -3,7 +3,8 @@
7235
7236 /* { dg-do assemble } */
7237 /* { dg-require-effective-target arm_neon_ok } */
7238-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
7239+/* { dg-options "-save-temps -O0" } */
7240+/* { dg-add-options arm_neon } */
7241
7242 #include "arm_neon.h"
7243
7244
7245=== modified file 'gcc/testsuite/gcc.target/arm/neon/vhaddu8.c'
7246--- old/gcc/testsuite/gcc.target/arm/neon/vhaddu8.c 2007-07-25 11:28:31 +0000
7247+++ new/gcc/testsuite/gcc.target/arm/neon/vhaddu8.c 2010-07-29 15:38:15 +0000
7248@@ -3,7 +3,8 @@
7249
7250 /* { dg-do assemble } */
7251 /* { dg-require-effective-target arm_neon_ok } */
7252-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
7253+/* { dg-options "-save-temps -O0" } */
7254+/* { dg-add-options arm_neon } */
7255
7256 #include "arm_neon.h"
7257
7258
7259=== modified file 'gcc/testsuite/gcc.target/arm/neon/vhsubQs16.c'
7260--- old/gcc/testsuite/gcc.target/arm/neon/vhsubQs16.c 2007-07-25 11:28:31 +0000
7261+++ new/gcc/testsuite/gcc.target/arm/neon/vhsubQs16.c 2010-07-29 15:38:15 +0000
7262@@ -3,7 +3,8 @@
7263
7264 /* { dg-do assemble } */
7265 /* { dg-require-effective-target arm_neon_ok } */
7266-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
7267+/* { dg-options "-save-temps -O0" } */
7268+/* { dg-add-options arm_neon } */
7269
7270 #include "arm_neon.h"
7271
7272
7273=== modified file 'gcc/testsuite/gcc.target/arm/neon/vhsubQs32.c'
7274--- old/gcc/testsuite/gcc.target/arm/neon/vhsubQs32.c 2007-07-25 11:28:31 +0000
7275+++ new/gcc/testsuite/gcc.target/arm/neon/vhsubQs32.c 2010-07-29 15:38:15 +0000
7276@@ -3,7 +3,8 @@
7277
7278 /* { dg-do assemble } */
7279 /* { dg-require-effective-target arm_neon_ok } */
7280-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
7281+/* { dg-options "-save-temps -O0" } */
7282+/* { dg-add-options arm_neon } */
7283
7284 #include "arm_neon.h"
7285
7286
7287=== modified file 'gcc/testsuite/gcc.target/arm/neon/vhsubQs8.c'
7288--- old/gcc/testsuite/gcc.target/arm/neon/vhsubQs8.c 2007-07-25 11:28:31 +0000
7289+++ new/gcc/testsuite/gcc.target/arm/neon/vhsubQs8.c 2010-07-29 15:38:15 +0000
7290@@ -3,7 +3,8 @@
7291
7292 /* { dg-do assemble } */
7293 /* { dg-require-effective-target arm_neon_ok } */
7294-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
7295+/* { dg-options "-save-temps -O0" } */
7296+/* { dg-add-options arm_neon } */
7297
7298 #include "arm_neon.h"
7299
7300
7301=== modified file 'gcc/testsuite/gcc.target/arm/neon/vhsubQu16.c'
7302--- old/gcc/testsuite/gcc.target/arm/neon/vhsubQu16.c 2007-07-25 11:28:31 +0000
7303+++ new/gcc/testsuite/gcc.target/arm/neon/vhsubQu16.c 2010-07-29 15:38:15 +0000
7304@@ -3,7 +3,8 @@
7305
7306 /* { dg-do assemble } */
7307 /* { dg-require-effective-target arm_neon_ok } */
7308-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
7309+/* { dg-options "-save-temps -O0" } */
7310+/* { dg-add-options arm_neon } */
7311
7312 #include "arm_neon.h"
7313
7314
7315=== modified file 'gcc/testsuite/gcc.target/arm/neon/vhsubQu32.c'
7316--- old/gcc/testsuite/gcc.target/arm/neon/vhsubQu32.c 2007-07-25 11:28:31 +0000
7317+++ new/gcc/testsuite/gcc.target/arm/neon/vhsubQu32.c 2010-07-29 15:38:15 +0000
7318@@ -3,7 +3,8 @@
7319
7320 /* { dg-do assemble } */
7321 /* { dg-require-effective-target arm_neon_ok } */
7322-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
7323+/* { dg-options "-save-temps -O0" } */
7324+/* { dg-add-options arm_neon } */
7325
7326 #include "arm_neon.h"
7327
7328
7329=== modified file 'gcc/testsuite/gcc.target/arm/neon/vhsubQu8.c'
7330--- old/gcc/testsuite/gcc.target/arm/neon/vhsubQu8.c 2007-07-25 11:28:31 +0000
7331+++ new/gcc/testsuite/gcc.target/arm/neon/vhsubQu8.c 2010-07-29 15:38:15 +0000
7332@@ -3,7 +3,8 @@
7333
7334 /* { dg-do assemble } */
7335 /* { dg-require-effective-target arm_neon_ok } */
7336-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
7337+/* { dg-options "-save-temps -O0" } */
7338+/* { dg-add-options arm_neon } */
7339
7340 #include "arm_neon.h"
7341
7342
7343=== modified file 'gcc/testsuite/gcc.target/arm/neon/vhsubs16.c'
7344--- old/gcc/testsuite/gcc.target/arm/neon/vhsubs16.c 2007-07-25 11:28:31 +0000
7345+++ new/gcc/testsuite/gcc.target/arm/neon/vhsubs16.c 2010-07-29 15:38:15 +0000
7346@@ -3,7 +3,8 @@
7347
7348 /* { dg-do assemble } */
7349 /* { dg-require-effective-target arm_neon_ok } */
7350-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
7351+/* { dg-options "-save-temps -O0" } */
7352+/* { dg-add-options arm_neon } */
7353
7354 #include "arm_neon.h"
7355
7356
7357=== modified file 'gcc/testsuite/gcc.target/arm/neon/vhsubs32.c'
7358--- old/gcc/testsuite/gcc.target/arm/neon/vhsubs32.c 2007-07-25 11:28:31 +0000
7359+++ new/gcc/testsuite/gcc.target/arm/neon/vhsubs32.c 2010-07-29 15:38:15 +0000
7360@@ -3,7 +3,8 @@
7361
7362 /* { dg-do assemble } */
7363 /* { dg-require-effective-target arm_neon_ok } */
7364-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
7365+/* { dg-options "-save-temps -O0" } */
7366+/* { dg-add-options arm_neon } */
7367
7368 #include "arm_neon.h"
7369
7370
7371=== modified file 'gcc/testsuite/gcc.target/arm/neon/vhsubs8.c'
7372--- old/gcc/testsuite/gcc.target/arm/neon/vhsubs8.c 2007-07-25 11:28:31 +0000
7373+++ new/gcc/testsuite/gcc.target/arm/neon/vhsubs8.c 2010-07-29 15:38:15 +0000
7374@@ -3,7 +3,8 @@
7375
7376 /* { dg-do assemble } */
7377 /* { dg-require-effective-target arm_neon_ok } */
7378-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
7379+/* { dg-options "-save-temps -O0" } */
7380+/* { dg-add-options arm_neon } */
7381
7382 #include "arm_neon.h"
7383
7384
7385=== modified file 'gcc/testsuite/gcc.target/arm/neon/vhsubu16.c'
7386--- old/gcc/testsuite/gcc.target/arm/neon/vhsubu16.c 2007-07-25 11:28:31 +0000
7387+++ new/gcc/testsuite/gcc.target/arm/neon/vhsubu16.c 2010-07-29 15:38:15 +0000
7388@@ -3,7 +3,8 @@
7389
7390 /* { dg-do assemble } */
7391 /* { dg-require-effective-target arm_neon_ok } */
7392-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
7393+/* { dg-options "-save-temps -O0" } */
7394+/* { dg-add-options arm_neon } */
7395
7396 #include "arm_neon.h"
7397
7398
7399=== modified file 'gcc/testsuite/gcc.target/arm/neon/vhsubu32.c'
7400--- old/gcc/testsuite/gcc.target/arm/neon/vhsubu32.c 2007-07-25 11:28:31 +0000
7401+++ new/gcc/testsuite/gcc.target/arm/neon/vhsubu32.c 2010-07-29 15:38:15 +0000
7402@@ -3,7 +3,8 @@
7403
7404 /* { dg-do assemble } */
7405 /* { dg-require-effective-target arm_neon_ok } */
7406-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
7407+/* { dg-options "-save-temps -O0" } */
7408+/* { dg-add-options arm_neon } */
7409
7410 #include "arm_neon.h"
7411
7412
7413=== modified file 'gcc/testsuite/gcc.target/arm/neon/vhsubu8.c'
7414--- old/gcc/testsuite/gcc.target/arm/neon/vhsubu8.c 2007-07-25 11:28:31 +0000
7415+++ new/gcc/testsuite/gcc.target/arm/neon/vhsubu8.c 2010-07-29 15:38:15 +0000
7416@@ -3,7 +3,8 @@
7417
7418 /* { dg-do assemble } */
7419 /* { dg-require-effective-target arm_neon_ok } */
7420-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
7421+/* { dg-options "-save-temps -O0" } */
7422+/* { dg-add-options arm_neon } */
7423
7424 #include "arm_neon.h"
7425
7426
7427=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld1Q_dupf32.c'
7428--- old/gcc/testsuite/gcc.target/arm/neon/vld1Q_dupf32.c 2007-07-25 11:28:31 +0000
7429+++ new/gcc/testsuite/gcc.target/arm/neon/vld1Q_dupf32.c 2010-07-29 15:38:15 +0000
7430@@ -3,7 +3,8 @@
7431
7432 /* { dg-do assemble } */
7433 /* { dg-require-effective-target arm_neon_ok } */
7434-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
7435+/* { dg-options "-save-temps -O0" } */
7436+/* { dg-add-options arm_neon } */
7437
7438 #include "arm_neon.h"
7439
7440
7441=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld1Q_dupp16.c'
7442--- old/gcc/testsuite/gcc.target/arm/neon/vld1Q_dupp16.c 2007-07-25 11:28:31 +0000
7443+++ new/gcc/testsuite/gcc.target/arm/neon/vld1Q_dupp16.c 2010-07-29 15:38:15 +0000
7444@@ -3,7 +3,8 @@
7445
7446 /* { dg-do assemble } */
7447 /* { dg-require-effective-target arm_neon_ok } */
7448-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
7449+/* { dg-options "-save-temps -O0" } */
7450+/* { dg-add-options arm_neon } */
7451
7452 #include "arm_neon.h"
7453
7454
7455=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld1Q_dupp8.c'
7456--- old/gcc/testsuite/gcc.target/arm/neon/vld1Q_dupp8.c 2007-07-25 11:28:31 +0000
7457+++ new/gcc/testsuite/gcc.target/arm/neon/vld1Q_dupp8.c 2010-07-29 15:38:15 +0000
7458@@ -3,7 +3,8 @@
7459
7460 /* { dg-do assemble } */
7461 /* { dg-require-effective-target arm_neon_ok } */
7462-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
7463+/* { dg-options "-save-temps -O0" } */
7464+/* { dg-add-options arm_neon } */
7465
7466 #include "arm_neon.h"
7467
7468
7469=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld1Q_dups16.c'
7470--- old/gcc/testsuite/gcc.target/arm/neon/vld1Q_dups16.c 2007-07-25 11:28:31 +0000
7471+++ new/gcc/testsuite/gcc.target/arm/neon/vld1Q_dups16.c 2010-07-29 15:38:15 +0000
7472@@ -3,7 +3,8 @@
7473
7474 /* { dg-do assemble } */
7475 /* { dg-require-effective-target arm_neon_ok } */
7476-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
7477+/* { dg-options "-save-temps -O0" } */
7478+/* { dg-add-options arm_neon } */
7479
7480 #include "arm_neon.h"
7481
7482
7483=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld1Q_dups32.c'
7484--- old/gcc/testsuite/gcc.target/arm/neon/vld1Q_dups32.c 2007-07-25 11:28:31 +0000
7485+++ new/gcc/testsuite/gcc.target/arm/neon/vld1Q_dups32.c 2010-07-29 15:38:15 +0000
7486@@ -3,7 +3,8 @@
7487
7488 /* { dg-do assemble } */
7489 /* { dg-require-effective-target arm_neon_ok } */
7490-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
7491+/* { dg-options "-save-temps -O0" } */
7492+/* { dg-add-options arm_neon } */
7493
7494 #include "arm_neon.h"
7495
7496
7497=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld1Q_dups64.c'
7498--- old/gcc/testsuite/gcc.target/arm/neon/vld1Q_dups64.c 2007-07-25 11:28:31 +0000
7499+++ new/gcc/testsuite/gcc.target/arm/neon/vld1Q_dups64.c 2010-07-29 15:38:15 +0000
7500@@ -3,7 +3,8 @@
7501
7502 /* { dg-do assemble } */
7503 /* { dg-require-effective-target arm_neon_ok } */
7504-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
7505+/* { dg-options "-save-temps -O0" } */
7506+/* { dg-add-options arm_neon } */
7507
7508 #include "arm_neon.h"
7509
7510
7511=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld1Q_dups8.c'
7512--- old/gcc/testsuite/gcc.target/arm/neon/vld1Q_dups8.c 2007-07-25 11:28:31 +0000
7513+++ new/gcc/testsuite/gcc.target/arm/neon/vld1Q_dups8.c 2010-07-29 15:38:15 +0000
7514@@ -3,7 +3,8 @@
7515
7516 /* { dg-do assemble } */
7517 /* { dg-require-effective-target arm_neon_ok } */
7518-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
7519+/* { dg-options "-save-temps -O0" } */
7520+/* { dg-add-options arm_neon } */
7521
7522 #include "arm_neon.h"
7523
7524
7525=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld1Q_dupu16.c'
7526--- old/gcc/testsuite/gcc.target/arm/neon/vld1Q_dupu16.c 2007-07-25 11:28:31 +0000
7527+++ new/gcc/testsuite/gcc.target/arm/neon/vld1Q_dupu16.c 2010-07-29 15:38:15 +0000
7528@@ -3,7 +3,8 @@
7529
7530 /* { dg-do assemble } */
7531 /* { dg-require-effective-target arm_neon_ok } */
7532-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
7533+/* { dg-options "-save-temps -O0" } */
7534+/* { dg-add-options arm_neon } */
7535
7536 #include "arm_neon.h"
7537
7538
7539=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld1Q_dupu32.c'
7540--- old/gcc/testsuite/gcc.target/arm/neon/vld1Q_dupu32.c 2007-07-25 11:28:31 +0000
7541+++ new/gcc/testsuite/gcc.target/arm/neon/vld1Q_dupu32.c 2010-07-29 15:38:15 +0000
7542@@ -3,7 +3,8 @@
7543
7544 /* { dg-do assemble } */
7545 /* { dg-require-effective-target arm_neon_ok } */
7546-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
7547+/* { dg-options "-save-temps -O0" } */
7548+/* { dg-add-options arm_neon } */
7549
7550 #include "arm_neon.h"
7551
7552
7553=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld1Q_dupu64.c'
7554--- old/gcc/testsuite/gcc.target/arm/neon/vld1Q_dupu64.c 2007-07-25 11:28:31 +0000
7555+++ new/gcc/testsuite/gcc.target/arm/neon/vld1Q_dupu64.c 2010-07-29 15:38:15 +0000
7556@@ -3,7 +3,8 @@
7557
7558 /* { dg-do assemble } */
7559 /* { dg-require-effective-target arm_neon_ok } */
7560-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
7561+/* { dg-options "-save-temps -O0" } */
7562+/* { dg-add-options arm_neon } */
7563
7564 #include "arm_neon.h"
7565
7566
7567=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld1Q_dupu8.c'
7568--- old/gcc/testsuite/gcc.target/arm/neon/vld1Q_dupu8.c 2007-07-25 11:28:31 +0000
7569+++ new/gcc/testsuite/gcc.target/arm/neon/vld1Q_dupu8.c 2010-07-29 15:38:15 +0000
7570@@ -3,7 +3,8 @@
7571
7572 /* { dg-do assemble } */
7573 /* { dg-require-effective-target arm_neon_ok } */
7574-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
7575+/* { dg-options "-save-temps -O0" } */
7576+/* { dg-add-options arm_neon } */
7577
7578 #include "arm_neon.h"
7579
7580
7581=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld1Q_lanef32.c'
7582--- old/gcc/testsuite/gcc.target/arm/neon/vld1Q_lanef32.c 2007-07-25 11:28:31 +0000
7583+++ new/gcc/testsuite/gcc.target/arm/neon/vld1Q_lanef32.c 2010-07-29 15:38:15 +0000
7584@@ -3,7 +3,8 @@
7585
7586 /* { dg-do assemble } */
7587 /* { dg-require-effective-target arm_neon_ok } */
7588-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
7589+/* { dg-options "-save-temps -O0" } */
7590+/* { dg-add-options arm_neon } */
7591
7592 #include "arm_neon.h"
7593
7594
7595=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld1Q_lanep16.c'
7596--- old/gcc/testsuite/gcc.target/arm/neon/vld1Q_lanep16.c 2007-07-25 11:28:31 +0000
7597+++ new/gcc/testsuite/gcc.target/arm/neon/vld1Q_lanep16.c 2010-07-29 15:38:15 +0000
7598@@ -3,7 +3,8 @@
7599
7600 /* { dg-do assemble } */
7601 /* { dg-require-effective-target arm_neon_ok } */
7602-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
7603+/* { dg-options "-save-temps -O0" } */
7604+/* { dg-add-options arm_neon } */
7605
7606 #include "arm_neon.h"
7607
7608
7609=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld1Q_lanep8.c'
7610--- old/gcc/testsuite/gcc.target/arm/neon/vld1Q_lanep8.c 2007-07-25 11:28:31 +0000
7611+++ new/gcc/testsuite/gcc.target/arm/neon/vld1Q_lanep8.c 2010-07-29 15:38:15 +0000
7612@@ -3,7 +3,8 @@
7613
7614 /* { dg-do assemble } */
7615 /* { dg-require-effective-target arm_neon_ok } */
7616-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
7617+/* { dg-options "-save-temps -O0" } */
7618+/* { dg-add-options arm_neon } */
7619
7620 #include "arm_neon.h"
7621
7622
7623=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld1Q_lanes16.c'
7624--- old/gcc/testsuite/gcc.target/arm/neon/vld1Q_lanes16.c 2007-07-25 11:28:31 +0000
7625+++ new/gcc/testsuite/gcc.target/arm/neon/vld1Q_lanes16.c 2010-07-29 15:38:15 +0000
7626@@ -3,7 +3,8 @@
7627
7628 /* { dg-do assemble } */
7629 /* { dg-require-effective-target arm_neon_ok } */
7630-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
7631+/* { dg-options "-save-temps -O0" } */
7632+/* { dg-add-options arm_neon } */
7633
7634 #include "arm_neon.h"
7635
7636
7637=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld1Q_lanes32.c'
7638--- old/gcc/testsuite/gcc.target/arm/neon/vld1Q_lanes32.c 2007-07-25 11:28:31 +0000
7639+++ new/gcc/testsuite/gcc.target/arm/neon/vld1Q_lanes32.c 2010-07-29 15:38:15 +0000
7640@@ -3,7 +3,8 @@
7641
7642 /* { dg-do assemble } */
7643 /* { dg-require-effective-target arm_neon_ok } */
7644-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
7645+/* { dg-options "-save-temps -O0" } */
7646+/* { dg-add-options arm_neon } */
7647
7648 #include "arm_neon.h"
7649
7650
7651=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld1Q_lanes64.c'
7652--- old/gcc/testsuite/gcc.target/arm/neon/vld1Q_lanes64.c 2007-07-25 11:28:31 +0000
7653+++ new/gcc/testsuite/gcc.target/arm/neon/vld1Q_lanes64.c 2010-07-29 15:38:15 +0000
7654@@ -3,7 +3,8 @@
7655
7656 /* { dg-do assemble } */
7657 /* { dg-require-effective-target arm_neon_ok } */
7658-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
7659+/* { dg-options "-save-temps -O0" } */
7660+/* { dg-add-options arm_neon } */
7661
7662 #include "arm_neon.h"
7663
7664
7665=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld1Q_lanes8.c'
7666--- old/gcc/testsuite/gcc.target/arm/neon/vld1Q_lanes8.c 2007-07-25 11:28:31 +0000
7667+++ new/gcc/testsuite/gcc.target/arm/neon/vld1Q_lanes8.c 2010-07-29 15:38:15 +0000
7668@@ -3,7 +3,8 @@
7669
7670 /* { dg-do assemble } */
7671 /* { dg-require-effective-target arm_neon_ok } */
7672-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
7673+/* { dg-options "-save-temps -O0" } */
7674+/* { dg-add-options arm_neon } */
7675
7676 #include "arm_neon.h"
7677
7678
7679=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld1Q_laneu16.c'
7680--- old/gcc/testsuite/gcc.target/arm/neon/vld1Q_laneu16.c 2007-07-25 11:28:31 +0000
7681+++ new/gcc/testsuite/gcc.target/arm/neon/vld1Q_laneu16.c 2010-07-29 15:38:15 +0000
7682@@ -3,7 +3,8 @@
7683
7684 /* { dg-do assemble } */
7685 /* { dg-require-effective-target arm_neon_ok } */
7686-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
7687+/* { dg-options "-save-temps -O0" } */
7688+/* { dg-add-options arm_neon } */
7689
7690 #include "arm_neon.h"
7691
7692
7693=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld1Q_laneu32.c'
7694--- old/gcc/testsuite/gcc.target/arm/neon/vld1Q_laneu32.c 2007-07-25 11:28:31 +0000
7695+++ new/gcc/testsuite/gcc.target/arm/neon/vld1Q_laneu32.c 2010-07-29 15:38:15 +0000
7696@@ -3,7 +3,8 @@
7697
7698 /* { dg-do assemble } */
7699 /* { dg-require-effective-target arm_neon_ok } */
7700-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
7701+/* { dg-options "-save-temps -O0" } */
7702+/* { dg-add-options arm_neon } */
7703
7704 #include "arm_neon.h"
7705
7706
7707=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld1Q_laneu64.c'
7708--- old/gcc/testsuite/gcc.target/arm/neon/vld1Q_laneu64.c 2007-07-25 11:28:31 +0000
7709+++ new/gcc/testsuite/gcc.target/arm/neon/vld1Q_laneu64.c 2010-07-29 15:38:15 +0000
7710@@ -3,7 +3,8 @@
7711
7712 /* { dg-do assemble } */
7713 /* { dg-require-effective-target arm_neon_ok } */
7714-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
7715+/* { dg-options "-save-temps -O0" } */
7716+/* { dg-add-options arm_neon } */
7717
7718 #include "arm_neon.h"
7719
7720
7721=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld1Q_laneu8.c'
7722--- old/gcc/testsuite/gcc.target/arm/neon/vld1Q_laneu8.c 2007-07-25 11:28:31 +0000
7723+++ new/gcc/testsuite/gcc.target/arm/neon/vld1Q_laneu8.c 2010-07-29 15:38:15 +0000
7724@@ -3,7 +3,8 @@
7725
7726 /* { dg-do assemble } */
7727 /* { dg-require-effective-target arm_neon_ok } */
7728-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
7729+/* { dg-options "-save-temps -O0" } */
7730+/* { dg-add-options arm_neon } */
7731
7732 #include "arm_neon.h"
7733
7734
7735=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld1Qf32.c'
7736--- old/gcc/testsuite/gcc.target/arm/neon/vld1Qf32.c 2007-07-25 11:28:31 +0000
7737+++ new/gcc/testsuite/gcc.target/arm/neon/vld1Qf32.c 2010-07-29 15:38:15 +0000
7738@@ -3,7 +3,8 @@
7739
7740 /* { dg-do assemble } */
7741 /* { dg-require-effective-target arm_neon_ok } */
7742-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
7743+/* { dg-options "-save-temps -O0" } */
7744+/* { dg-add-options arm_neon } */
7745
7746 #include "arm_neon.h"
7747
7748
7749=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld1Qp16.c'
7750--- old/gcc/testsuite/gcc.target/arm/neon/vld1Qp16.c 2007-07-25 11:28:31 +0000
7751+++ new/gcc/testsuite/gcc.target/arm/neon/vld1Qp16.c 2010-07-29 15:38:15 +0000
7752@@ -3,7 +3,8 @@
7753
7754 /* { dg-do assemble } */
7755 /* { dg-require-effective-target arm_neon_ok } */
7756-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
7757+/* { dg-options "-save-temps -O0" } */
7758+/* { dg-add-options arm_neon } */
7759
7760 #include "arm_neon.h"
7761
7762
7763=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld1Qp8.c'
7764--- old/gcc/testsuite/gcc.target/arm/neon/vld1Qp8.c 2007-07-25 11:28:31 +0000
7765+++ new/gcc/testsuite/gcc.target/arm/neon/vld1Qp8.c 2010-07-29 15:38:15 +0000
7766@@ -3,7 +3,8 @@
7767
7768 /* { dg-do assemble } */
7769 /* { dg-require-effective-target arm_neon_ok } */
7770-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
7771+/* { dg-options "-save-temps -O0" } */
7772+/* { dg-add-options arm_neon } */
7773
7774 #include "arm_neon.h"
7775
7776
7777=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld1Qs16.c'
7778--- old/gcc/testsuite/gcc.target/arm/neon/vld1Qs16.c 2007-07-25 11:28:31 +0000
7779+++ new/gcc/testsuite/gcc.target/arm/neon/vld1Qs16.c 2010-07-29 15:38:15 +0000
7780@@ -3,7 +3,8 @@
7781
7782 /* { dg-do assemble } */
7783 /* { dg-require-effective-target arm_neon_ok } */
7784-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
7785+/* { dg-options "-save-temps -O0" } */
7786+/* { dg-add-options arm_neon } */
7787
7788 #include "arm_neon.h"
7789
7790
7791=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld1Qs32.c'
7792--- old/gcc/testsuite/gcc.target/arm/neon/vld1Qs32.c 2007-07-25 11:28:31 +0000
7793+++ new/gcc/testsuite/gcc.target/arm/neon/vld1Qs32.c 2010-07-29 15:38:15 +0000
7794@@ -3,7 +3,8 @@
7795
7796 /* { dg-do assemble } */
7797 /* { dg-require-effective-target arm_neon_ok } */
7798-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
7799+/* { dg-options "-save-temps -O0" } */
7800+/* { dg-add-options arm_neon } */
7801
7802 #include "arm_neon.h"
7803
7804
7805=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld1Qs64.c'
7806--- old/gcc/testsuite/gcc.target/arm/neon/vld1Qs64.c 2007-07-25 11:28:31 +0000
7807+++ new/gcc/testsuite/gcc.target/arm/neon/vld1Qs64.c 2010-07-29 15:38:15 +0000
7808@@ -3,7 +3,8 @@
7809
7810 /* { dg-do assemble } */
7811 /* { dg-require-effective-target arm_neon_ok } */
7812-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
7813+/* { dg-options "-save-temps -O0" } */
7814+/* { dg-add-options arm_neon } */
7815
7816 #include "arm_neon.h"
7817
7818
7819=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld1Qs8.c'
7820--- old/gcc/testsuite/gcc.target/arm/neon/vld1Qs8.c 2007-07-25 11:28:31 +0000
7821+++ new/gcc/testsuite/gcc.target/arm/neon/vld1Qs8.c 2010-07-29 15:38:15 +0000
7822@@ -3,7 +3,8 @@
7823
7824 /* { dg-do assemble } */
7825 /* { dg-require-effective-target arm_neon_ok } */
7826-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
7827+/* { dg-options "-save-temps -O0" } */
7828+/* { dg-add-options arm_neon } */
7829
7830 #include "arm_neon.h"
7831
7832
7833=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld1Qu16.c'
7834--- old/gcc/testsuite/gcc.target/arm/neon/vld1Qu16.c 2007-07-25 11:28:31 +0000
7835+++ new/gcc/testsuite/gcc.target/arm/neon/vld1Qu16.c 2010-07-29 15:38:15 +0000
7836@@ -3,7 +3,8 @@
7837
7838 /* { dg-do assemble } */
7839 /* { dg-require-effective-target arm_neon_ok } */
7840-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
7841+/* { dg-options "-save-temps -O0" } */
7842+/* { dg-add-options arm_neon } */
7843
7844 #include "arm_neon.h"
7845
7846
7847=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld1Qu32.c'
7848--- old/gcc/testsuite/gcc.target/arm/neon/vld1Qu32.c 2007-07-25 11:28:31 +0000
7849+++ new/gcc/testsuite/gcc.target/arm/neon/vld1Qu32.c 2010-07-29 15:38:15 +0000
7850@@ -3,7 +3,8 @@
7851
7852 /* { dg-do assemble } */
7853 /* { dg-require-effective-target arm_neon_ok } */
7854-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
7855+/* { dg-options "-save-temps -O0" } */
7856+/* { dg-add-options arm_neon } */
7857
7858 #include "arm_neon.h"
7859
7860
7861=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld1Qu64.c'
7862--- old/gcc/testsuite/gcc.target/arm/neon/vld1Qu64.c 2007-07-25 11:28:31 +0000
7863+++ new/gcc/testsuite/gcc.target/arm/neon/vld1Qu64.c 2010-07-29 15:38:15 +0000
7864@@ -3,7 +3,8 @@
7865
7866 /* { dg-do assemble } */
7867 /* { dg-require-effective-target arm_neon_ok } */
7868-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
7869+/* { dg-options "-save-temps -O0" } */
7870+/* { dg-add-options arm_neon } */
7871
7872 #include "arm_neon.h"
7873
7874
7875=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld1Qu8.c'
7876--- old/gcc/testsuite/gcc.target/arm/neon/vld1Qu8.c 2007-07-25 11:28:31 +0000
7877+++ new/gcc/testsuite/gcc.target/arm/neon/vld1Qu8.c 2010-07-29 15:38:15 +0000
7878@@ -3,7 +3,8 @@
7879
7880 /* { dg-do assemble } */
7881 /* { dg-require-effective-target arm_neon_ok } */
7882-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
7883+/* { dg-options "-save-temps -O0" } */
7884+/* { dg-add-options arm_neon } */
7885
7886 #include "arm_neon.h"
7887
7888
7889=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld1_dupf32.c'
7890--- old/gcc/testsuite/gcc.target/arm/neon/vld1_dupf32.c 2007-07-25 11:28:31 +0000
7891+++ new/gcc/testsuite/gcc.target/arm/neon/vld1_dupf32.c 2010-07-29 15:38:15 +0000
7892@@ -3,7 +3,8 @@
7893
7894 /* { dg-do assemble } */
7895 /* { dg-require-effective-target arm_neon_ok } */
7896-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
7897+/* { dg-options "-save-temps -O0" } */
7898+/* { dg-add-options arm_neon } */
7899
7900 #include "arm_neon.h"
7901
7902
7903=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld1_dupp16.c'
7904--- old/gcc/testsuite/gcc.target/arm/neon/vld1_dupp16.c 2007-07-25 11:28:31 +0000
7905+++ new/gcc/testsuite/gcc.target/arm/neon/vld1_dupp16.c 2010-07-29 15:38:15 +0000
7906@@ -3,7 +3,8 @@
7907
7908 /* { dg-do assemble } */
7909 /* { dg-require-effective-target arm_neon_ok } */
7910-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
7911+/* { dg-options "-save-temps -O0" } */
7912+/* { dg-add-options arm_neon } */
7913
7914 #include "arm_neon.h"
7915
7916
7917=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld1_dupp8.c'
7918--- old/gcc/testsuite/gcc.target/arm/neon/vld1_dupp8.c 2007-07-25 11:28:31 +0000
7919+++ new/gcc/testsuite/gcc.target/arm/neon/vld1_dupp8.c 2010-07-29 15:38:15 +0000
7920@@ -3,7 +3,8 @@
7921
7922 /* { dg-do assemble } */
7923 /* { dg-require-effective-target arm_neon_ok } */
7924-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
7925+/* { dg-options "-save-temps -O0" } */
7926+/* { dg-add-options arm_neon } */
7927
7928 #include "arm_neon.h"
7929
7930
7931=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld1_dups16.c'
7932--- old/gcc/testsuite/gcc.target/arm/neon/vld1_dups16.c 2007-07-25 11:28:31 +0000
7933+++ new/gcc/testsuite/gcc.target/arm/neon/vld1_dups16.c 2010-07-29 15:38:15 +0000
7934@@ -3,7 +3,8 @@
7935
7936 /* { dg-do assemble } */
7937 /* { dg-require-effective-target arm_neon_ok } */
7938-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
7939+/* { dg-options "-save-temps -O0" } */
7940+/* { dg-add-options arm_neon } */
7941
7942 #include "arm_neon.h"
7943
7944
7945=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld1_dups32.c'
7946--- old/gcc/testsuite/gcc.target/arm/neon/vld1_dups32.c 2007-07-25 11:28:31 +0000
7947+++ new/gcc/testsuite/gcc.target/arm/neon/vld1_dups32.c 2010-07-29 15:38:15 +0000
7948@@ -3,7 +3,8 @@
7949
7950 /* { dg-do assemble } */
7951 /* { dg-require-effective-target arm_neon_ok } */
7952-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
7953+/* { dg-options "-save-temps -O0" } */
7954+/* { dg-add-options arm_neon } */
7955
7956 #include "arm_neon.h"
7957
7958
7959=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld1_dups64.c'
7960--- old/gcc/testsuite/gcc.target/arm/neon/vld1_dups64.c 2007-07-25 11:28:31 +0000
7961+++ new/gcc/testsuite/gcc.target/arm/neon/vld1_dups64.c 2010-07-29 15:38:15 +0000
7962@@ -3,7 +3,8 @@
7963
7964 /* { dg-do assemble } */
7965 /* { dg-require-effective-target arm_neon_ok } */
7966-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
7967+/* { dg-options "-save-temps -O0" } */
7968+/* { dg-add-options arm_neon } */
7969
7970 #include "arm_neon.h"
7971
7972
7973=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld1_dups8.c'
7974--- old/gcc/testsuite/gcc.target/arm/neon/vld1_dups8.c 2007-07-25 11:28:31 +0000
7975+++ new/gcc/testsuite/gcc.target/arm/neon/vld1_dups8.c 2010-07-29 15:38:15 +0000
7976@@ -3,7 +3,8 @@
7977
7978 /* { dg-do assemble } */
7979 /* { dg-require-effective-target arm_neon_ok } */
7980-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
7981+/* { dg-options "-save-temps -O0" } */
7982+/* { dg-add-options arm_neon } */
7983
7984 #include "arm_neon.h"
7985
7986
7987=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld1_dupu16.c'
7988--- old/gcc/testsuite/gcc.target/arm/neon/vld1_dupu16.c 2007-07-25 11:28:31 +0000
7989+++ new/gcc/testsuite/gcc.target/arm/neon/vld1_dupu16.c 2010-07-29 15:38:15 +0000
7990@@ -3,7 +3,8 @@
7991
7992 /* { dg-do assemble } */
7993 /* { dg-require-effective-target arm_neon_ok } */
7994-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
7995+/* { dg-options "-save-temps -O0" } */
7996+/* { dg-add-options arm_neon } */
7997
7998 #include "arm_neon.h"
7999
8000
8001=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld1_dupu32.c'
8002--- old/gcc/testsuite/gcc.target/arm/neon/vld1_dupu32.c 2007-07-25 11:28:31 +0000
8003+++ new/gcc/testsuite/gcc.target/arm/neon/vld1_dupu32.c 2010-07-29 15:38:15 +0000
8004@@ -3,7 +3,8 @@
8005
8006 /* { dg-do assemble } */
8007 /* { dg-require-effective-target arm_neon_ok } */
8008-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
8009+/* { dg-options "-save-temps -O0" } */
8010+/* { dg-add-options arm_neon } */
8011
8012 #include "arm_neon.h"
8013
8014
8015=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld1_dupu64.c'
8016--- old/gcc/testsuite/gcc.target/arm/neon/vld1_dupu64.c 2007-07-25 11:28:31 +0000
8017+++ new/gcc/testsuite/gcc.target/arm/neon/vld1_dupu64.c 2010-07-29 15:38:15 +0000
8018@@ -3,7 +3,8 @@
8019
8020 /* { dg-do assemble } */
8021 /* { dg-require-effective-target arm_neon_ok } */
8022-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
8023+/* { dg-options "-save-temps -O0" } */
8024+/* { dg-add-options arm_neon } */
8025
8026 #include "arm_neon.h"
8027
8028
8029=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld1_dupu8.c'
8030--- old/gcc/testsuite/gcc.target/arm/neon/vld1_dupu8.c 2007-07-25 11:28:31 +0000
8031+++ new/gcc/testsuite/gcc.target/arm/neon/vld1_dupu8.c 2010-07-29 15:38:15 +0000
8032@@ -3,7 +3,8 @@
8033
8034 /* { dg-do assemble } */
8035 /* { dg-require-effective-target arm_neon_ok } */
8036-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
8037+/* { dg-options "-save-temps -O0" } */
8038+/* { dg-add-options arm_neon } */
8039
8040 #include "arm_neon.h"
8041
8042
8043=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld1_lanef32.c'
8044--- old/gcc/testsuite/gcc.target/arm/neon/vld1_lanef32.c 2007-07-25 11:28:31 +0000
8045+++ new/gcc/testsuite/gcc.target/arm/neon/vld1_lanef32.c 2010-07-29 15:38:15 +0000
8046@@ -3,7 +3,8 @@
8047
8048 /* { dg-do assemble } */
8049 /* { dg-require-effective-target arm_neon_ok } */
8050-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
8051+/* { dg-options "-save-temps -O0" } */
8052+/* { dg-add-options arm_neon } */
8053
8054 #include "arm_neon.h"
8055
8056
8057=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld1_lanep16.c'
8058--- old/gcc/testsuite/gcc.target/arm/neon/vld1_lanep16.c 2007-07-25 11:28:31 +0000
8059+++ new/gcc/testsuite/gcc.target/arm/neon/vld1_lanep16.c 2010-07-29 15:38:15 +0000
8060@@ -3,7 +3,8 @@
8061
8062 /* { dg-do assemble } */
8063 /* { dg-require-effective-target arm_neon_ok } */
8064-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
8065+/* { dg-options "-save-temps -O0" } */
8066+/* { dg-add-options arm_neon } */
8067
8068 #include "arm_neon.h"
8069
8070
8071=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld1_lanep8.c'
8072--- old/gcc/testsuite/gcc.target/arm/neon/vld1_lanep8.c 2007-07-25 11:28:31 +0000
8073+++ new/gcc/testsuite/gcc.target/arm/neon/vld1_lanep8.c 2010-07-29 15:38:15 +0000
8074@@ -3,7 +3,8 @@
8075
8076 /* { dg-do assemble } */
8077 /* { dg-require-effective-target arm_neon_ok } */
8078-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
8079+/* { dg-options "-save-temps -O0" } */
8080+/* { dg-add-options arm_neon } */
8081
8082 #include "arm_neon.h"
8083
8084
8085=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld1_lanes16.c'
8086--- old/gcc/testsuite/gcc.target/arm/neon/vld1_lanes16.c 2007-07-25 11:28:31 +0000
8087+++ new/gcc/testsuite/gcc.target/arm/neon/vld1_lanes16.c 2010-07-29 15:38:15 +0000
8088@@ -3,7 +3,8 @@
8089
8090 /* { dg-do assemble } */
8091 /* { dg-require-effective-target arm_neon_ok } */
8092-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
8093+/* { dg-options "-save-temps -O0" } */
8094+/* { dg-add-options arm_neon } */
8095
8096 #include "arm_neon.h"
8097
8098
8099=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld1_lanes32.c'
8100--- old/gcc/testsuite/gcc.target/arm/neon/vld1_lanes32.c 2007-07-25 11:28:31 +0000
8101+++ new/gcc/testsuite/gcc.target/arm/neon/vld1_lanes32.c 2010-07-29 15:38:15 +0000
8102@@ -3,7 +3,8 @@
8103
8104 /* { dg-do assemble } */
8105 /* { dg-require-effective-target arm_neon_ok } */
8106-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
8107+/* { dg-options "-save-temps -O0" } */
8108+/* { dg-add-options arm_neon } */
8109
8110 #include "arm_neon.h"
8111
8112
8113=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld1_lanes64.c'
8114--- old/gcc/testsuite/gcc.target/arm/neon/vld1_lanes64.c 2007-07-25 11:28:31 +0000
8115+++ new/gcc/testsuite/gcc.target/arm/neon/vld1_lanes64.c 2010-07-29 15:38:15 +0000
8116@@ -3,7 +3,8 @@
8117
8118 /* { dg-do assemble } */
8119 /* { dg-require-effective-target arm_neon_ok } */
8120-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
8121+/* { dg-options "-save-temps -O0" } */
8122+/* { dg-add-options arm_neon } */
8123
8124 #include "arm_neon.h"
8125
8126
8127=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld1_lanes8.c'
8128--- old/gcc/testsuite/gcc.target/arm/neon/vld1_lanes8.c 2007-07-25 11:28:31 +0000
8129+++ new/gcc/testsuite/gcc.target/arm/neon/vld1_lanes8.c 2010-07-29 15:38:15 +0000
8130@@ -3,7 +3,8 @@
8131
8132 /* { dg-do assemble } */
8133 /* { dg-require-effective-target arm_neon_ok } */
8134-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
8135+/* { dg-options "-save-temps -O0" } */
8136+/* { dg-add-options arm_neon } */
8137
8138 #include "arm_neon.h"
8139
8140
8141=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld1_laneu16.c'
8142--- old/gcc/testsuite/gcc.target/arm/neon/vld1_laneu16.c 2007-07-25 11:28:31 +0000
8143+++ new/gcc/testsuite/gcc.target/arm/neon/vld1_laneu16.c 2010-07-29 15:38:15 +0000
8144@@ -3,7 +3,8 @@
8145
8146 /* { dg-do assemble } */
8147 /* { dg-require-effective-target arm_neon_ok } */
8148-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
8149+/* { dg-options "-save-temps -O0" } */
8150+/* { dg-add-options arm_neon } */
8151
8152 #include "arm_neon.h"
8153
8154
8155=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld1_laneu32.c'
8156--- old/gcc/testsuite/gcc.target/arm/neon/vld1_laneu32.c 2007-07-25 11:28:31 +0000
8157+++ new/gcc/testsuite/gcc.target/arm/neon/vld1_laneu32.c 2010-07-29 15:38:15 +0000
8158@@ -3,7 +3,8 @@
8159
8160 /* { dg-do assemble } */
8161 /* { dg-require-effective-target arm_neon_ok } */
8162-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
8163+/* { dg-options "-save-temps -O0" } */
8164+/* { dg-add-options arm_neon } */
8165
8166 #include "arm_neon.h"
8167
8168
8169=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld1_laneu64.c'
8170--- old/gcc/testsuite/gcc.target/arm/neon/vld1_laneu64.c 2007-07-25 11:28:31 +0000
8171+++ new/gcc/testsuite/gcc.target/arm/neon/vld1_laneu64.c 2010-07-29 15:38:15 +0000
8172@@ -3,7 +3,8 @@
8173
8174 /* { dg-do assemble } */
8175 /* { dg-require-effective-target arm_neon_ok } */
8176-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
8177+/* { dg-options "-save-temps -O0" } */
8178+/* { dg-add-options arm_neon } */
8179
8180 #include "arm_neon.h"
8181
8182
8183=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld1_laneu8.c'
8184--- old/gcc/testsuite/gcc.target/arm/neon/vld1_laneu8.c 2007-07-25 11:28:31 +0000
8185+++ new/gcc/testsuite/gcc.target/arm/neon/vld1_laneu8.c 2010-07-29 15:38:15 +0000
8186@@ -3,7 +3,8 @@
8187
8188 /* { dg-do assemble } */
8189 /* { dg-require-effective-target arm_neon_ok } */
8190-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
8191+/* { dg-options "-save-temps -O0" } */
8192+/* { dg-add-options arm_neon } */
8193
8194 #include "arm_neon.h"
8195
8196
8197=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld1f32.c'
8198--- old/gcc/testsuite/gcc.target/arm/neon/vld1f32.c 2007-07-25 11:28:31 +0000
8199+++ new/gcc/testsuite/gcc.target/arm/neon/vld1f32.c 2010-07-29 15:38:15 +0000
8200@@ -3,7 +3,8 @@
8201
8202 /* { dg-do assemble } */
8203 /* { dg-require-effective-target arm_neon_ok } */
8204-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
8205+/* { dg-options "-save-temps -O0" } */
8206+/* { dg-add-options arm_neon } */
8207
8208 #include "arm_neon.h"
8209
8210
8211=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld1p16.c'
8212--- old/gcc/testsuite/gcc.target/arm/neon/vld1p16.c 2007-07-25 11:28:31 +0000
8213+++ new/gcc/testsuite/gcc.target/arm/neon/vld1p16.c 2010-07-29 15:38:15 +0000
8214@@ -3,7 +3,8 @@
8215
8216 /* { dg-do assemble } */
8217 /* { dg-require-effective-target arm_neon_ok } */
8218-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
8219+/* { dg-options "-save-temps -O0" } */
8220+/* { dg-add-options arm_neon } */
8221
8222 #include "arm_neon.h"
8223
8224
8225=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld1p8.c'
8226--- old/gcc/testsuite/gcc.target/arm/neon/vld1p8.c 2007-07-25 11:28:31 +0000
8227+++ new/gcc/testsuite/gcc.target/arm/neon/vld1p8.c 2010-07-29 15:38:15 +0000
8228@@ -3,7 +3,8 @@
8229
8230 /* { dg-do assemble } */
8231 /* { dg-require-effective-target arm_neon_ok } */
8232-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
8233+/* { dg-options "-save-temps -O0" } */
8234+/* { dg-add-options arm_neon } */
8235
8236 #include "arm_neon.h"
8237
8238
8239=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld1s16.c'
8240--- old/gcc/testsuite/gcc.target/arm/neon/vld1s16.c 2007-07-25 11:28:31 +0000
8241+++ new/gcc/testsuite/gcc.target/arm/neon/vld1s16.c 2010-07-29 15:38:15 +0000
8242@@ -3,7 +3,8 @@
8243
8244 /* { dg-do assemble } */
8245 /* { dg-require-effective-target arm_neon_ok } */
8246-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
8247+/* { dg-options "-save-temps -O0" } */
8248+/* { dg-add-options arm_neon } */
8249
8250 #include "arm_neon.h"
8251
8252
8253=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld1s32.c'
8254--- old/gcc/testsuite/gcc.target/arm/neon/vld1s32.c 2007-07-25 11:28:31 +0000
8255+++ new/gcc/testsuite/gcc.target/arm/neon/vld1s32.c 2010-07-29 15:38:15 +0000
8256@@ -3,7 +3,8 @@
8257
8258 /* { dg-do assemble } */
8259 /* { dg-require-effective-target arm_neon_ok } */
8260-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
8261+/* { dg-options "-save-temps -O0" } */
8262+/* { dg-add-options arm_neon } */
8263
8264 #include "arm_neon.h"
8265
8266
8267=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld1s64.c'
8268--- old/gcc/testsuite/gcc.target/arm/neon/vld1s64.c 2007-07-25 11:28:31 +0000
8269+++ new/gcc/testsuite/gcc.target/arm/neon/vld1s64.c 2010-07-29 15:38:15 +0000
8270@@ -3,7 +3,8 @@
8271
8272 /* { dg-do assemble } */
8273 /* { dg-require-effective-target arm_neon_ok } */
8274-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
8275+/* { dg-options "-save-temps -O0" } */
8276+/* { dg-add-options arm_neon } */
8277
8278 #include "arm_neon.h"
8279
8280
8281=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld1s8.c'
8282--- old/gcc/testsuite/gcc.target/arm/neon/vld1s8.c 2007-07-25 11:28:31 +0000
8283+++ new/gcc/testsuite/gcc.target/arm/neon/vld1s8.c 2010-07-29 15:38:15 +0000
8284@@ -3,7 +3,8 @@
8285
8286 /* { dg-do assemble } */
8287 /* { dg-require-effective-target arm_neon_ok } */
8288-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
8289+/* { dg-options "-save-temps -O0" } */
8290+/* { dg-add-options arm_neon } */
8291
8292 #include "arm_neon.h"
8293
8294
8295=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld1u16.c'
8296--- old/gcc/testsuite/gcc.target/arm/neon/vld1u16.c 2007-07-25 11:28:31 +0000
8297+++ new/gcc/testsuite/gcc.target/arm/neon/vld1u16.c 2010-07-29 15:38:15 +0000
8298@@ -3,7 +3,8 @@
8299
8300 /* { dg-do assemble } */
8301 /* { dg-require-effective-target arm_neon_ok } */
8302-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
8303+/* { dg-options "-save-temps -O0" } */
8304+/* { dg-add-options arm_neon } */
8305
8306 #include "arm_neon.h"
8307
8308
8309=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld1u32.c'
8310--- old/gcc/testsuite/gcc.target/arm/neon/vld1u32.c 2007-07-25 11:28:31 +0000
8311+++ new/gcc/testsuite/gcc.target/arm/neon/vld1u32.c 2010-07-29 15:38:15 +0000
8312@@ -3,7 +3,8 @@
8313
8314 /* { dg-do assemble } */
8315 /* { dg-require-effective-target arm_neon_ok } */
8316-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
8317+/* { dg-options "-save-temps -O0" } */
8318+/* { dg-add-options arm_neon } */
8319
8320 #include "arm_neon.h"
8321
8322
8323=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld1u64.c'
8324--- old/gcc/testsuite/gcc.target/arm/neon/vld1u64.c 2007-07-25 11:28:31 +0000
8325+++ new/gcc/testsuite/gcc.target/arm/neon/vld1u64.c 2010-07-29 15:38:15 +0000
8326@@ -3,7 +3,8 @@
8327
8328 /* { dg-do assemble } */
8329 /* { dg-require-effective-target arm_neon_ok } */
8330-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
8331+/* { dg-options "-save-temps -O0" } */
8332+/* { dg-add-options arm_neon } */
8333
8334 #include "arm_neon.h"
8335
8336
8337=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld1u8.c'
8338--- old/gcc/testsuite/gcc.target/arm/neon/vld1u8.c 2007-07-25 11:28:31 +0000
8339+++ new/gcc/testsuite/gcc.target/arm/neon/vld1u8.c 2010-07-29 15:38:15 +0000
8340@@ -3,7 +3,8 @@
8341
8342 /* { dg-do assemble } */
8343 /* { dg-require-effective-target arm_neon_ok } */
8344-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
8345+/* { dg-options "-save-temps -O0" } */
8346+/* { dg-add-options arm_neon } */
8347
8348 #include "arm_neon.h"
8349
8350
8351=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld2Q_lanef32.c'
8352--- old/gcc/testsuite/gcc.target/arm/neon/vld2Q_lanef32.c 2007-07-25 11:28:31 +0000
8353+++ new/gcc/testsuite/gcc.target/arm/neon/vld2Q_lanef32.c 2010-07-29 15:38:15 +0000
8354@@ -3,7 +3,8 @@
8355
8356 /* { dg-do assemble } */
8357 /* { dg-require-effective-target arm_neon_ok } */
8358-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
8359+/* { dg-options "-save-temps -O0" } */
8360+/* { dg-add-options arm_neon } */
8361
8362 #include "arm_neon.h"
8363
8364
8365=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld2Q_lanep16.c'
8366--- old/gcc/testsuite/gcc.target/arm/neon/vld2Q_lanep16.c 2007-07-25 11:28:31 +0000
8367+++ new/gcc/testsuite/gcc.target/arm/neon/vld2Q_lanep16.c 2010-07-29 15:38:15 +0000
8368@@ -3,7 +3,8 @@
8369
8370 /* { dg-do assemble } */
8371 /* { dg-require-effective-target arm_neon_ok } */
8372-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
8373+/* { dg-options "-save-temps -O0" } */
8374+/* { dg-add-options arm_neon } */
8375
8376 #include "arm_neon.h"
8377
8378
8379=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld2Q_lanes16.c'
8380--- old/gcc/testsuite/gcc.target/arm/neon/vld2Q_lanes16.c 2007-07-25 11:28:31 +0000
8381+++ new/gcc/testsuite/gcc.target/arm/neon/vld2Q_lanes16.c 2010-07-29 15:38:15 +0000
8382@@ -3,7 +3,8 @@
8383
8384 /* { dg-do assemble } */
8385 /* { dg-require-effective-target arm_neon_ok } */
8386-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
8387+/* { dg-options "-save-temps -O0" } */
8388+/* { dg-add-options arm_neon } */
8389
8390 #include "arm_neon.h"
8391
8392
8393=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld2Q_lanes32.c'
8394--- old/gcc/testsuite/gcc.target/arm/neon/vld2Q_lanes32.c 2007-07-25 11:28:31 +0000
8395+++ new/gcc/testsuite/gcc.target/arm/neon/vld2Q_lanes32.c 2010-07-29 15:38:15 +0000
8396@@ -3,7 +3,8 @@
8397
8398 /* { dg-do assemble } */
8399 /* { dg-require-effective-target arm_neon_ok } */
8400-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
8401+/* { dg-options "-save-temps -O0" } */
8402+/* { dg-add-options arm_neon } */
8403
8404 #include "arm_neon.h"
8405
8406
8407=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld2Q_laneu16.c'
8408--- old/gcc/testsuite/gcc.target/arm/neon/vld2Q_laneu16.c 2007-07-25 11:28:31 +0000
8409+++ new/gcc/testsuite/gcc.target/arm/neon/vld2Q_laneu16.c 2010-07-29 15:38:15 +0000
8410@@ -3,7 +3,8 @@
8411
8412 /* { dg-do assemble } */
8413 /* { dg-require-effective-target arm_neon_ok } */
8414-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
8415+/* { dg-options "-save-temps -O0" } */
8416+/* { dg-add-options arm_neon } */
8417
8418 #include "arm_neon.h"
8419
8420
8421=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld2Q_laneu32.c'
8422--- old/gcc/testsuite/gcc.target/arm/neon/vld2Q_laneu32.c 2007-07-25 11:28:31 +0000
8423+++ new/gcc/testsuite/gcc.target/arm/neon/vld2Q_laneu32.c 2010-07-29 15:38:15 +0000
8424@@ -3,7 +3,8 @@
8425
8426 /* { dg-do assemble } */
8427 /* { dg-require-effective-target arm_neon_ok } */
8428-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
8429+/* { dg-options "-save-temps -O0" } */
8430+/* { dg-add-options arm_neon } */
8431
8432 #include "arm_neon.h"
8433
8434
8435=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld2Qf32.c'
8436--- old/gcc/testsuite/gcc.target/arm/neon/vld2Qf32.c 2007-07-25 11:28:31 +0000
8437+++ new/gcc/testsuite/gcc.target/arm/neon/vld2Qf32.c 2010-07-29 15:38:15 +0000
8438@@ -3,7 +3,8 @@
8439
8440 /* { dg-do assemble } */
8441 /* { dg-require-effective-target arm_neon_ok } */
8442-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
8443+/* { dg-options "-save-temps -O0" } */
8444+/* { dg-add-options arm_neon } */
8445
8446 #include "arm_neon.h"
8447
8448
8449=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld2Qp16.c'
8450--- old/gcc/testsuite/gcc.target/arm/neon/vld2Qp16.c 2007-07-25 11:28:31 +0000
8451+++ new/gcc/testsuite/gcc.target/arm/neon/vld2Qp16.c 2010-07-29 15:38:15 +0000
8452@@ -3,7 +3,8 @@
8453
8454 /* { dg-do assemble } */
8455 /* { dg-require-effective-target arm_neon_ok } */
8456-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
8457+/* { dg-options "-save-temps -O0" } */
8458+/* { dg-add-options arm_neon } */
8459
8460 #include "arm_neon.h"
8461
8462
8463=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld2Qp8.c'
8464--- old/gcc/testsuite/gcc.target/arm/neon/vld2Qp8.c 2007-07-25 11:28:31 +0000
8465+++ new/gcc/testsuite/gcc.target/arm/neon/vld2Qp8.c 2010-07-29 15:38:15 +0000
8466@@ -3,7 +3,8 @@
8467
8468 /* { dg-do assemble } */
8469 /* { dg-require-effective-target arm_neon_ok } */
8470-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
8471+/* { dg-options "-save-temps -O0" } */
8472+/* { dg-add-options arm_neon } */
8473
8474 #include "arm_neon.h"
8475
8476
8477=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld2Qs16.c'
8478--- old/gcc/testsuite/gcc.target/arm/neon/vld2Qs16.c 2007-07-25 11:28:31 +0000
8479+++ new/gcc/testsuite/gcc.target/arm/neon/vld2Qs16.c 2010-07-29 15:38:15 +0000
8480@@ -3,7 +3,8 @@
8481
8482 /* { dg-do assemble } */
8483 /* { dg-require-effective-target arm_neon_ok } */
8484-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
8485+/* { dg-options "-save-temps -O0" } */
8486+/* { dg-add-options arm_neon } */
8487
8488 #include "arm_neon.h"
8489
8490
8491=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld2Qs32.c'
8492--- old/gcc/testsuite/gcc.target/arm/neon/vld2Qs32.c 2007-07-25 11:28:31 +0000
8493+++ new/gcc/testsuite/gcc.target/arm/neon/vld2Qs32.c 2010-07-29 15:38:15 +0000
8494@@ -3,7 +3,8 @@
8495
8496 /* { dg-do assemble } */
8497 /* { dg-require-effective-target arm_neon_ok } */
8498-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
8499+/* { dg-options "-save-temps -O0" } */
8500+/* { dg-add-options arm_neon } */
8501
8502 #include "arm_neon.h"
8503
8504
8505=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld2Qs8.c'
8506--- old/gcc/testsuite/gcc.target/arm/neon/vld2Qs8.c 2007-07-25 11:28:31 +0000
8507+++ new/gcc/testsuite/gcc.target/arm/neon/vld2Qs8.c 2010-07-29 15:38:15 +0000
8508@@ -3,7 +3,8 @@
8509
8510 /* { dg-do assemble } */
8511 /* { dg-require-effective-target arm_neon_ok } */
8512-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
8513+/* { dg-options "-save-temps -O0" } */
8514+/* { dg-add-options arm_neon } */
8515
8516 #include "arm_neon.h"
8517
8518
8519=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld2Qu16.c'
8520--- old/gcc/testsuite/gcc.target/arm/neon/vld2Qu16.c 2007-07-25 11:28:31 +0000
8521+++ new/gcc/testsuite/gcc.target/arm/neon/vld2Qu16.c 2010-07-29 15:38:15 +0000
8522@@ -3,7 +3,8 @@
8523
8524 /* { dg-do assemble } */
8525 /* { dg-require-effective-target arm_neon_ok } */
8526-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
8527+/* { dg-options "-save-temps -O0" } */
8528+/* { dg-add-options arm_neon } */
8529
8530 #include "arm_neon.h"
8531
8532
8533=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld2Qu32.c'
8534--- old/gcc/testsuite/gcc.target/arm/neon/vld2Qu32.c 2007-07-25 11:28:31 +0000
8535+++ new/gcc/testsuite/gcc.target/arm/neon/vld2Qu32.c 2010-07-29 15:38:15 +0000
8536@@ -3,7 +3,8 @@
8537
8538 /* { dg-do assemble } */
8539 /* { dg-require-effective-target arm_neon_ok } */
8540-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
8541+/* { dg-options "-save-temps -O0" } */
8542+/* { dg-add-options arm_neon } */
8543
8544 #include "arm_neon.h"
8545
8546
8547=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld2Qu8.c'
8548--- old/gcc/testsuite/gcc.target/arm/neon/vld2Qu8.c 2007-07-25 11:28:31 +0000
8549+++ new/gcc/testsuite/gcc.target/arm/neon/vld2Qu8.c 2010-07-29 15:38:15 +0000
8550@@ -3,7 +3,8 @@
8551
8552 /* { dg-do assemble } */
8553 /* { dg-require-effective-target arm_neon_ok } */
8554-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
8555+/* { dg-options "-save-temps -O0" } */
8556+/* { dg-add-options arm_neon } */
8557
8558 #include "arm_neon.h"
8559
8560
8561=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld2_dupf32.c'
8562--- old/gcc/testsuite/gcc.target/arm/neon/vld2_dupf32.c 2007-07-25 11:28:31 +0000
8563+++ new/gcc/testsuite/gcc.target/arm/neon/vld2_dupf32.c 2010-07-29 15:38:15 +0000
8564@@ -3,7 +3,8 @@
8565
8566 /* { dg-do assemble } */
8567 /* { dg-require-effective-target arm_neon_ok } */
8568-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
8569+/* { dg-options "-save-temps -O0" } */
8570+/* { dg-add-options arm_neon } */
8571
8572 #include "arm_neon.h"
8573
8574
8575=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld2_dupp16.c'
8576--- old/gcc/testsuite/gcc.target/arm/neon/vld2_dupp16.c 2007-07-25 11:28:31 +0000
8577+++ new/gcc/testsuite/gcc.target/arm/neon/vld2_dupp16.c 2010-07-29 15:38:15 +0000
8578@@ -3,7 +3,8 @@
8579
8580 /* { dg-do assemble } */
8581 /* { dg-require-effective-target arm_neon_ok } */
8582-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
8583+/* { dg-options "-save-temps -O0" } */
8584+/* { dg-add-options arm_neon } */
8585
8586 #include "arm_neon.h"
8587
8588
8589=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld2_dupp8.c'
8590--- old/gcc/testsuite/gcc.target/arm/neon/vld2_dupp8.c 2007-07-25 11:28:31 +0000
8591+++ new/gcc/testsuite/gcc.target/arm/neon/vld2_dupp8.c 2010-07-29 15:38:15 +0000
8592@@ -3,7 +3,8 @@
8593
8594 /* { dg-do assemble } */
8595 /* { dg-require-effective-target arm_neon_ok } */
8596-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
8597+/* { dg-options "-save-temps -O0" } */
8598+/* { dg-add-options arm_neon } */
8599
8600 #include "arm_neon.h"
8601
8602
8603=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld2_dups16.c'
8604--- old/gcc/testsuite/gcc.target/arm/neon/vld2_dups16.c 2007-07-25 11:28:31 +0000
8605+++ new/gcc/testsuite/gcc.target/arm/neon/vld2_dups16.c 2010-07-29 15:38:15 +0000
8606@@ -3,7 +3,8 @@
8607
8608 /* { dg-do assemble } */
8609 /* { dg-require-effective-target arm_neon_ok } */
8610-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
8611+/* { dg-options "-save-temps -O0" } */
8612+/* { dg-add-options arm_neon } */
8613
8614 #include "arm_neon.h"
8615
8616
8617=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld2_dups32.c'
8618--- old/gcc/testsuite/gcc.target/arm/neon/vld2_dups32.c 2007-07-25 11:28:31 +0000
8619+++ new/gcc/testsuite/gcc.target/arm/neon/vld2_dups32.c 2010-07-29 15:38:15 +0000
8620@@ -3,7 +3,8 @@
8621
8622 /* { dg-do assemble } */
8623 /* { dg-require-effective-target arm_neon_ok } */
8624-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
8625+/* { dg-options "-save-temps -O0" } */
8626+/* { dg-add-options arm_neon } */
8627
8628 #include "arm_neon.h"
8629
8630
8631=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld2_dups64.c'
8632--- old/gcc/testsuite/gcc.target/arm/neon/vld2_dups64.c 2007-07-25 11:28:31 +0000
8633+++ new/gcc/testsuite/gcc.target/arm/neon/vld2_dups64.c 2010-07-29 15:38:15 +0000
8634@@ -3,7 +3,8 @@
8635
8636 /* { dg-do assemble } */
8637 /* { dg-require-effective-target arm_neon_ok } */
8638-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
8639+/* { dg-options "-save-temps -O0" } */
8640+/* { dg-add-options arm_neon } */
8641
8642 #include "arm_neon.h"
8643
8644
8645=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld2_dups8.c'
8646--- old/gcc/testsuite/gcc.target/arm/neon/vld2_dups8.c 2007-07-25 11:28:31 +0000
8647+++ new/gcc/testsuite/gcc.target/arm/neon/vld2_dups8.c 2010-07-29 15:38:15 +0000
8648@@ -3,7 +3,8 @@
8649
8650 /* { dg-do assemble } */
8651 /* { dg-require-effective-target arm_neon_ok } */
8652-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
8653+/* { dg-options "-save-temps -O0" } */
8654+/* { dg-add-options arm_neon } */
8655
8656 #include "arm_neon.h"
8657
8658
8659=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld2_dupu16.c'
8660--- old/gcc/testsuite/gcc.target/arm/neon/vld2_dupu16.c 2007-07-25 11:28:31 +0000
8661+++ new/gcc/testsuite/gcc.target/arm/neon/vld2_dupu16.c 2010-07-29 15:38:15 +0000
8662@@ -3,7 +3,8 @@
8663
8664 /* { dg-do assemble } */
8665 /* { dg-require-effective-target arm_neon_ok } */
8666-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
8667+/* { dg-options "-save-temps -O0" } */
8668+/* { dg-add-options arm_neon } */
8669
8670 #include "arm_neon.h"
8671
8672
8673=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld2_dupu32.c'
8674--- old/gcc/testsuite/gcc.target/arm/neon/vld2_dupu32.c 2007-07-25 11:28:31 +0000
8675+++ new/gcc/testsuite/gcc.target/arm/neon/vld2_dupu32.c 2010-07-29 15:38:15 +0000
8676@@ -3,7 +3,8 @@
8677
8678 /* { dg-do assemble } */
8679 /* { dg-require-effective-target arm_neon_ok } */
8680-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
8681+/* { dg-options "-save-temps -O0" } */
8682+/* { dg-add-options arm_neon } */
8683
8684 #include "arm_neon.h"
8685
8686
8687=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld2_dupu64.c'
8688--- old/gcc/testsuite/gcc.target/arm/neon/vld2_dupu64.c 2007-07-25 11:28:31 +0000
8689+++ new/gcc/testsuite/gcc.target/arm/neon/vld2_dupu64.c 2010-07-29 15:38:15 +0000
8690@@ -3,7 +3,8 @@
8691
8692 /* { dg-do assemble } */
8693 /* { dg-require-effective-target arm_neon_ok } */
8694-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
8695+/* { dg-options "-save-temps -O0" } */
8696+/* { dg-add-options arm_neon } */
8697
8698 #include "arm_neon.h"
8699
8700
8701=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld2_dupu8.c'
8702--- old/gcc/testsuite/gcc.target/arm/neon/vld2_dupu8.c 2007-07-25 11:28:31 +0000
8703+++ new/gcc/testsuite/gcc.target/arm/neon/vld2_dupu8.c 2010-07-29 15:38:15 +0000
8704@@ -3,7 +3,8 @@
8705
8706 /* { dg-do assemble } */
8707 /* { dg-require-effective-target arm_neon_ok } */
8708-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
8709+/* { dg-options "-save-temps -O0" } */
8710+/* { dg-add-options arm_neon } */
8711
8712 #include "arm_neon.h"
8713
8714
8715=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld2_lanef32.c'
8716--- old/gcc/testsuite/gcc.target/arm/neon/vld2_lanef32.c 2007-07-25 11:28:31 +0000
8717+++ new/gcc/testsuite/gcc.target/arm/neon/vld2_lanef32.c 2010-07-29 15:38:15 +0000
8718@@ -3,7 +3,8 @@
8719
8720 /* { dg-do assemble } */
8721 /* { dg-require-effective-target arm_neon_ok } */
8722-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
8723+/* { dg-options "-save-temps -O0" } */
8724+/* { dg-add-options arm_neon } */
8725
8726 #include "arm_neon.h"
8727
8728
8729=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld2_lanep16.c'
8730--- old/gcc/testsuite/gcc.target/arm/neon/vld2_lanep16.c 2007-07-25 11:28:31 +0000
8731+++ new/gcc/testsuite/gcc.target/arm/neon/vld2_lanep16.c 2010-07-29 15:38:15 +0000
8732@@ -3,7 +3,8 @@
8733
8734 /* { dg-do assemble } */
8735 /* { dg-require-effective-target arm_neon_ok } */
8736-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
8737+/* { dg-options "-save-temps -O0" } */
8738+/* { dg-add-options arm_neon } */
8739
8740 #include "arm_neon.h"
8741
8742
8743=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld2_lanep8.c'
8744--- old/gcc/testsuite/gcc.target/arm/neon/vld2_lanep8.c 2007-07-25 11:28:31 +0000
8745+++ new/gcc/testsuite/gcc.target/arm/neon/vld2_lanep8.c 2010-07-29 15:38:15 +0000
8746@@ -3,7 +3,8 @@
8747
8748 /* { dg-do assemble } */
8749 /* { dg-require-effective-target arm_neon_ok } */
8750-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
8751+/* { dg-options "-save-temps -O0" } */
8752+/* { dg-add-options arm_neon } */
8753
8754 #include "arm_neon.h"
8755
8756
8757=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld2_lanes16.c'
8758--- old/gcc/testsuite/gcc.target/arm/neon/vld2_lanes16.c 2007-07-25 11:28:31 +0000
8759+++ new/gcc/testsuite/gcc.target/arm/neon/vld2_lanes16.c 2010-07-29 15:38:15 +0000
8760@@ -3,7 +3,8 @@
8761
8762 /* { dg-do assemble } */
8763 /* { dg-require-effective-target arm_neon_ok } */
8764-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
8765+/* { dg-options "-save-temps -O0" } */
8766+/* { dg-add-options arm_neon } */
8767
8768 #include "arm_neon.h"
8769
8770
8771=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld2_lanes32.c'
8772--- old/gcc/testsuite/gcc.target/arm/neon/vld2_lanes32.c 2007-07-25 11:28:31 +0000
8773+++ new/gcc/testsuite/gcc.target/arm/neon/vld2_lanes32.c 2010-07-29 15:38:15 +0000
8774@@ -3,7 +3,8 @@
8775
8776 /* { dg-do assemble } */
8777 /* { dg-require-effective-target arm_neon_ok } */
8778-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
8779+/* { dg-options "-save-temps -O0" } */
8780+/* { dg-add-options arm_neon } */
8781
8782 #include "arm_neon.h"
8783
8784
8785=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld2_lanes8.c'
8786--- old/gcc/testsuite/gcc.target/arm/neon/vld2_lanes8.c 2007-07-25 11:28:31 +0000
8787+++ new/gcc/testsuite/gcc.target/arm/neon/vld2_lanes8.c 2010-07-29 15:38:15 +0000
8788@@ -3,7 +3,8 @@
8789
8790 /* { dg-do assemble } */
8791 /* { dg-require-effective-target arm_neon_ok } */
8792-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
8793+/* { dg-options "-save-temps -O0" } */
8794+/* { dg-add-options arm_neon } */
8795
8796 #include "arm_neon.h"
8797
8798
8799=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld2_laneu16.c'
8800--- old/gcc/testsuite/gcc.target/arm/neon/vld2_laneu16.c 2007-07-25 11:28:31 +0000
8801+++ new/gcc/testsuite/gcc.target/arm/neon/vld2_laneu16.c 2010-07-29 15:38:15 +0000
8802@@ -3,7 +3,8 @@
8803
8804 /* { dg-do assemble } */
8805 /* { dg-require-effective-target arm_neon_ok } */
8806-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
8807+/* { dg-options "-save-temps -O0" } */
8808+/* { dg-add-options arm_neon } */
8809
8810 #include "arm_neon.h"
8811
8812
8813=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld2_laneu32.c'
8814--- old/gcc/testsuite/gcc.target/arm/neon/vld2_laneu32.c 2007-07-25 11:28:31 +0000
8815+++ new/gcc/testsuite/gcc.target/arm/neon/vld2_laneu32.c 2010-07-29 15:38:15 +0000
8816@@ -3,7 +3,8 @@
8817
8818 /* { dg-do assemble } */
8819 /* { dg-require-effective-target arm_neon_ok } */
8820-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
8821+/* { dg-options "-save-temps -O0" } */
8822+/* { dg-add-options arm_neon } */
8823
8824 #include "arm_neon.h"
8825
8826
8827=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld2_laneu8.c'
8828--- old/gcc/testsuite/gcc.target/arm/neon/vld2_laneu8.c 2007-07-25 11:28:31 +0000
8829+++ new/gcc/testsuite/gcc.target/arm/neon/vld2_laneu8.c 2010-07-29 15:38:15 +0000
8830@@ -3,7 +3,8 @@
8831
8832 /* { dg-do assemble } */
8833 /* { dg-require-effective-target arm_neon_ok } */
8834-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
8835+/* { dg-options "-save-temps -O0" } */
8836+/* { dg-add-options arm_neon } */
8837
8838 #include "arm_neon.h"
8839
8840
8841=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld2f32.c'
8842--- old/gcc/testsuite/gcc.target/arm/neon/vld2f32.c 2007-07-25 11:28:31 +0000
8843+++ new/gcc/testsuite/gcc.target/arm/neon/vld2f32.c 2010-07-29 15:38:15 +0000
8844@@ -3,7 +3,8 @@
8845
8846 /* { dg-do assemble } */
8847 /* { dg-require-effective-target arm_neon_ok } */
8848-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
8849+/* { dg-options "-save-temps -O0" } */
8850+/* { dg-add-options arm_neon } */
8851
8852 #include "arm_neon.h"
8853
8854
8855=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld2p16.c'
8856--- old/gcc/testsuite/gcc.target/arm/neon/vld2p16.c 2007-07-25 11:28:31 +0000
8857+++ new/gcc/testsuite/gcc.target/arm/neon/vld2p16.c 2010-07-29 15:38:15 +0000
8858@@ -3,7 +3,8 @@
8859
8860 /* { dg-do assemble } */
8861 /* { dg-require-effective-target arm_neon_ok } */
8862-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
8863+/* { dg-options "-save-temps -O0" } */
8864+/* { dg-add-options arm_neon } */
8865
8866 #include "arm_neon.h"
8867
8868
8869=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld2p8.c'
8870--- old/gcc/testsuite/gcc.target/arm/neon/vld2p8.c 2007-07-25 11:28:31 +0000
8871+++ new/gcc/testsuite/gcc.target/arm/neon/vld2p8.c 2010-07-29 15:38:15 +0000
8872@@ -3,7 +3,8 @@
8873
8874 /* { dg-do assemble } */
8875 /* { dg-require-effective-target arm_neon_ok } */
8876-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
8877+/* { dg-options "-save-temps -O0" } */
8878+/* { dg-add-options arm_neon } */
8879
8880 #include "arm_neon.h"
8881
8882
8883=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld2s16.c'
8884--- old/gcc/testsuite/gcc.target/arm/neon/vld2s16.c 2007-07-25 11:28:31 +0000
8885+++ new/gcc/testsuite/gcc.target/arm/neon/vld2s16.c 2010-07-29 15:38:15 +0000
8886@@ -3,7 +3,8 @@
8887
8888 /* { dg-do assemble } */
8889 /* { dg-require-effective-target arm_neon_ok } */
8890-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
8891+/* { dg-options "-save-temps -O0" } */
8892+/* { dg-add-options arm_neon } */
8893
8894 #include "arm_neon.h"
8895
8896
8897=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld2s32.c'
8898--- old/gcc/testsuite/gcc.target/arm/neon/vld2s32.c 2007-07-25 11:28:31 +0000
8899+++ new/gcc/testsuite/gcc.target/arm/neon/vld2s32.c 2010-07-29 15:38:15 +0000
8900@@ -3,7 +3,8 @@
8901
8902 /* { dg-do assemble } */
8903 /* { dg-require-effective-target arm_neon_ok } */
8904-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
8905+/* { dg-options "-save-temps -O0" } */
8906+/* { dg-add-options arm_neon } */
8907
8908 #include "arm_neon.h"
8909
8910
8911=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld2s64.c'
8912--- old/gcc/testsuite/gcc.target/arm/neon/vld2s64.c 2007-07-25 11:28:31 +0000
8913+++ new/gcc/testsuite/gcc.target/arm/neon/vld2s64.c 2010-07-29 15:38:15 +0000
8914@@ -3,7 +3,8 @@
8915
8916 /* { dg-do assemble } */
8917 /* { dg-require-effective-target arm_neon_ok } */
8918-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
8919+/* { dg-options "-save-temps -O0" } */
8920+/* { dg-add-options arm_neon } */
8921
8922 #include "arm_neon.h"
8923
8924
8925=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld2s8.c'
8926--- old/gcc/testsuite/gcc.target/arm/neon/vld2s8.c 2007-07-25 11:28:31 +0000
8927+++ new/gcc/testsuite/gcc.target/arm/neon/vld2s8.c 2010-07-29 15:38:15 +0000
8928@@ -3,7 +3,8 @@
8929
8930 /* { dg-do assemble } */
8931 /* { dg-require-effective-target arm_neon_ok } */
8932-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
8933+/* { dg-options "-save-temps -O0" } */
8934+/* { dg-add-options arm_neon } */
8935
8936 #include "arm_neon.h"
8937
8938
8939=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld2u16.c'
8940--- old/gcc/testsuite/gcc.target/arm/neon/vld2u16.c 2007-07-25 11:28:31 +0000
8941+++ new/gcc/testsuite/gcc.target/arm/neon/vld2u16.c 2010-07-29 15:38:15 +0000
8942@@ -3,7 +3,8 @@
8943
8944 /* { dg-do assemble } */
8945 /* { dg-require-effective-target arm_neon_ok } */
8946-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
8947+/* { dg-options "-save-temps -O0" } */
8948+/* { dg-add-options arm_neon } */
8949
8950 #include "arm_neon.h"
8951
8952
8953=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld2u32.c'
8954--- old/gcc/testsuite/gcc.target/arm/neon/vld2u32.c 2007-07-25 11:28:31 +0000
8955+++ new/gcc/testsuite/gcc.target/arm/neon/vld2u32.c 2010-07-29 15:38:15 +0000
8956@@ -3,7 +3,8 @@
8957
8958 /* { dg-do assemble } */
8959 /* { dg-require-effective-target arm_neon_ok } */
8960-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
8961+/* { dg-options "-save-temps -O0" } */
8962+/* { dg-add-options arm_neon } */
8963
8964 #include "arm_neon.h"
8965
8966
8967=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld2u64.c'
8968--- old/gcc/testsuite/gcc.target/arm/neon/vld2u64.c 2007-07-25 11:28:31 +0000
8969+++ new/gcc/testsuite/gcc.target/arm/neon/vld2u64.c 2010-07-29 15:38:15 +0000
8970@@ -3,7 +3,8 @@
8971
8972 /* { dg-do assemble } */
8973 /* { dg-require-effective-target arm_neon_ok } */
8974-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
8975+/* { dg-options "-save-temps -O0" } */
8976+/* { dg-add-options arm_neon } */
8977
8978 #include "arm_neon.h"
8979
8980
8981=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld2u8.c'
8982--- old/gcc/testsuite/gcc.target/arm/neon/vld2u8.c 2007-07-25 11:28:31 +0000
8983+++ new/gcc/testsuite/gcc.target/arm/neon/vld2u8.c 2010-07-29 15:38:15 +0000
8984@@ -3,7 +3,8 @@
8985
8986 /* { dg-do assemble } */
8987 /* { dg-require-effective-target arm_neon_ok } */
8988-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
8989+/* { dg-options "-save-temps -O0" } */
8990+/* { dg-add-options arm_neon } */
8991
8992 #include "arm_neon.h"
8993
8994
8995=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld3Q_lanef32.c'
8996--- old/gcc/testsuite/gcc.target/arm/neon/vld3Q_lanef32.c 2007-07-25 11:28:31 +0000
8997+++ new/gcc/testsuite/gcc.target/arm/neon/vld3Q_lanef32.c 2010-07-29 15:38:15 +0000
8998@@ -3,7 +3,8 @@
8999
9000 /* { dg-do assemble } */
9001 /* { dg-require-effective-target arm_neon_ok } */
9002-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
9003+/* { dg-options "-save-temps -O0" } */
9004+/* { dg-add-options arm_neon } */
9005
9006 #include "arm_neon.h"
9007
9008
9009=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld3Q_lanep16.c'
9010--- old/gcc/testsuite/gcc.target/arm/neon/vld3Q_lanep16.c 2007-07-25 11:28:31 +0000
9011+++ new/gcc/testsuite/gcc.target/arm/neon/vld3Q_lanep16.c 2010-07-29 15:38:15 +0000
9012@@ -3,7 +3,8 @@
9013
9014 /* { dg-do assemble } */
9015 /* { dg-require-effective-target arm_neon_ok } */
9016-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
9017+/* { dg-options "-save-temps -O0" } */
9018+/* { dg-add-options arm_neon } */
9019
9020 #include "arm_neon.h"
9021
9022
9023=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld3Q_lanes16.c'
9024--- old/gcc/testsuite/gcc.target/arm/neon/vld3Q_lanes16.c 2007-07-25 11:28:31 +0000
9025+++ new/gcc/testsuite/gcc.target/arm/neon/vld3Q_lanes16.c 2010-07-29 15:38:15 +0000
9026@@ -3,7 +3,8 @@
9027
9028 /* { dg-do assemble } */
9029 /* { dg-require-effective-target arm_neon_ok } */
9030-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
9031+/* { dg-options "-save-temps -O0" } */
9032+/* { dg-add-options arm_neon } */
9033
9034 #include "arm_neon.h"
9035
9036
9037=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld3Q_lanes32.c'
9038--- old/gcc/testsuite/gcc.target/arm/neon/vld3Q_lanes32.c 2007-07-25 11:28:31 +0000
9039+++ new/gcc/testsuite/gcc.target/arm/neon/vld3Q_lanes32.c 2010-07-29 15:38:15 +0000
9040@@ -3,7 +3,8 @@
9041
9042 /* { dg-do assemble } */
9043 /* { dg-require-effective-target arm_neon_ok } */
9044-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
9045+/* { dg-options "-save-temps -O0" } */
9046+/* { dg-add-options arm_neon } */
9047
9048 #include "arm_neon.h"
9049
9050
9051=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld3Q_laneu16.c'
9052--- old/gcc/testsuite/gcc.target/arm/neon/vld3Q_laneu16.c 2007-07-25 11:28:31 +0000
9053+++ new/gcc/testsuite/gcc.target/arm/neon/vld3Q_laneu16.c 2010-07-29 15:38:15 +0000
9054@@ -3,7 +3,8 @@
9055
9056 /* { dg-do assemble } */
9057 /* { dg-require-effective-target arm_neon_ok } */
9058-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
9059+/* { dg-options "-save-temps -O0" } */
9060+/* { dg-add-options arm_neon } */
9061
9062 #include "arm_neon.h"
9063
9064
9065=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld3Q_laneu32.c'
9066--- old/gcc/testsuite/gcc.target/arm/neon/vld3Q_laneu32.c 2007-07-25 11:28:31 +0000
9067+++ new/gcc/testsuite/gcc.target/arm/neon/vld3Q_laneu32.c 2010-07-29 15:38:15 +0000
9068@@ -3,7 +3,8 @@
9069
9070 /* { dg-do assemble } */
9071 /* { dg-require-effective-target arm_neon_ok } */
9072-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
9073+/* { dg-options "-save-temps -O0" } */
9074+/* { dg-add-options arm_neon } */
9075
9076 #include "arm_neon.h"
9077
9078
9079=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld3Qf32.c'
9080--- old/gcc/testsuite/gcc.target/arm/neon/vld3Qf32.c 2007-07-25 11:28:31 +0000
9081+++ new/gcc/testsuite/gcc.target/arm/neon/vld3Qf32.c 2010-07-29 15:38:15 +0000
9082@@ -3,7 +3,8 @@
9083
9084 /* { dg-do assemble } */
9085 /* { dg-require-effective-target arm_neon_ok } */
9086-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
9087+/* { dg-options "-save-temps -O0" } */
9088+/* { dg-add-options arm_neon } */
9089
9090 #include "arm_neon.h"
9091
9092
9093=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld3Qp16.c'
9094--- old/gcc/testsuite/gcc.target/arm/neon/vld3Qp16.c 2007-07-25 11:28:31 +0000
9095+++ new/gcc/testsuite/gcc.target/arm/neon/vld3Qp16.c 2010-07-29 15:38:15 +0000
9096@@ -3,7 +3,8 @@
9097
9098 /* { dg-do assemble } */
9099 /* { dg-require-effective-target arm_neon_ok } */
9100-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
9101+/* { dg-options "-save-temps -O0" } */
9102+/* { dg-add-options arm_neon } */
9103
9104 #include "arm_neon.h"
9105
9106
9107=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld3Qp8.c'
9108--- old/gcc/testsuite/gcc.target/arm/neon/vld3Qp8.c 2007-07-25 11:28:31 +0000
9109+++ new/gcc/testsuite/gcc.target/arm/neon/vld3Qp8.c 2010-07-29 15:38:15 +0000
9110@@ -3,7 +3,8 @@
9111
9112 /* { dg-do assemble } */
9113 /* { dg-require-effective-target arm_neon_ok } */
9114-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
9115+/* { dg-options "-save-temps -O0" } */
9116+/* { dg-add-options arm_neon } */
9117
9118 #include "arm_neon.h"
9119
9120
9121=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld3Qs16.c'
9122--- old/gcc/testsuite/gcc.target/arm/neon/vld3Qs16.c 2007-07-25 11:28:31 +0000
9123+++ new/gcc/testsuite/gcc.target/arm/neon/vld3Qs16.c 2010-07-29 15:38:15 +0000
9124@@ -3,7 +3,8 @@
9125
9126 /* { dg-do assemble } */
9127 /* { dg-require-effective-target arm_neon_ok } */
9128-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
9129+/* { dg-options "-save-temps -O0" } */
9130+/* { dg-add-options arm_neon } */
9131
9132 #include "arm_neon.h"
9133
9134
9135=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld3Qs32.c'
9136--- old/gcc/testsuite/gcc.target/arm/neon/vld3Qs32.c 2007-07-25 11:28:31 +0000
9137+++ new/gcc/testsuite/gcc.target/arm/neon/vld3Qs32.c 2010-07-29 15:38:15 +0000
9138@@ -3,7 +3,8 @@
9139
9140 /* { dg-do assemble } */
9141 /* { dg-require-effective-target arm_neon_ok } */
9142-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
9143+/* { dg-options "-save-temps -O0" } */
9144+/* { dg-add-options arm_neon } */
9145
9146 #include "arm_neon.h"
9147
9148
9149=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld3Qs8.c'
9150--- old/gcc/testsuite/gcc.target/arm/neon/vld3Qs8.c 2007-07-25 11:28:31 +0000
9151+++ new/gcc/testsuite/gcc.target/arm/neon/vld3Qs8.c 2010-07-29 15:38:15 +0000
9152@@ -3,7 +3,8 @@
9153
9154 /* { dg-do assemble } */
9155 /* { dg-require-effective-target arm_neon_ok } */
9156-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
9157+/* { dg-options "-save-temps -O0" } */
9158+/* { dg-add-options arm_neon } */
9159
9160 #include "arm_neon.h"
9161
9162
9163=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld3Qu16.c'
9164--- old/gcc/testsuite/gcc.target/arm/neon/vld3Qu16.c 2007-07-25 11:28:31 +0000
9165+++ new/gcc/testsuite/gcc.target/arm/neon/vld3Qu16.c 2010-07-29 15:38:15 +0000
9166@@ -3,7 +3,8 @@
9167
9168 /* { dg-do assemble } */
9169 /* { dg-require-effective-target arm_neon_ok } */
9170-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
9171+/* { dg-options "-save-temps -O0" } */
9172+/* { dg-add-options arm_neon } */
9173
9174 #include "arm_neon.h"
9175
9176
9177=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld3Qu32.c'
9178--- old/gcc/testsuite/gcc.target/arm/neon/vld3Qu32.c 2007-07-25 11:28:31 +0000
9179+++ new/gcc/testsuite/gcc.target/arm/neon/vld3Qu32.c 2010-07-29 15:38:15 +0000
9180@@ -3,7 +3,8 @@
9181
9182 /* { dg-do assemble } */
9183 /* { dg-require-effective-target arm_neon_ok } */
9184-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
9185+/* { dg-options "-save-temps -O0" } */
9186+/* { dg-add-options arm_neon } */
9187
9188 #include "arm_neon.h"
9189
9190
9191=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld3Qu8.c'
9192--- old/gcc/testsuite/gcc.target/arm/neon/vld3Qu8.c 2007-07-25 11:28:31 +0000
9193+++ new/gcc/testsuite/gcc.target/arm/neon/vld3Qu8.c 2010-07-29 15:38:15 +0000
9194@@ -3,7 +3,8 @@
9195
9196 /* { dg-do assemble } */
9197 /* { dg-require-effective-target arm_neon_ok } */
9198-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
9199+/* { dg-options "-save-temps -O0" } */
9200+/* { dg-add-options arm_neon } */
9201
9202 #include "arm_neon.h"
9203
9204
9205=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld3_dupf32.c'
9206--- old/gcc/testsuite/gcc.target/arm/neon/vld3_dupf32.c 2007-07-25 11:28:31 +0000
9207+++ new/gcc/testsuite/gcc.target/arm/neon/vld3_dupf32.c 2010-07-29 15:38:15 +0000
9208@@ -3,7 +3,8 @@
9209
9210 /* { dg-do assemble } */
9211 /* { dg-require-effective-target arm_neon_ok } */
9212-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
9213+/* { dg-options "-save-temps -O0" } */
9214+/* { dg-add-options arm_neon } */
9215
9216 #include "arm_neon.h"
9217
9218
9219=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld3_dupp16.c'
9220--- old/gcc/testsuite/gcc.target/arm/neon/vld3_dupp16.c 2007-07-25 11:28:31 +0000
9221+++ new/gcc/testsuite/gcc.target/arm/neon/vld3_dupp16.c 2010-07-29 15:38:15 +0000
9222@@ -3,7 +3,8 @@
9223
9224 /* { dg-do assemble } */
9225 /* { dg-require-effective-target arm_neon_ok } */
9226-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
9227+/* { dg-options "-save-temps -O0" } */
9228+/* { dg-add-options arm_neon } */
9229
9230 #include "arm_neon.h"
9231
9232
9233=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld3_dupp8.c'
9234--- old/gcc/testsuite/gcc.target/arm/neon/vld3_dupp8.c 2007-07-25 11:28:31 +0000
9235+++ new/gcc/testsuite/gcc.target/arm/neon/vld3_dupp8.c 2010-07-29 15:38:15 +0000
9236@@ -3,7 +3,8 @@
9237
9238 /* { dg-do assemble } */
9239 /* { dg-require-effective-target arm_neon_ok } */
9240-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
9241+/* { dg-options "-save-temps -O0" } */
9242+/* { dg-add-options arm_neon } */
9243
9244 #include "arm_neon.h"
9245
9246
9247=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld3_dups16.c'
9248--- old/gcc/testsuite/gcc.target/arm/neon/vld3_dups16.c 2007-07-25 11:28:31 +0000
9249+++ new/gcc/testsuite/gcc.target/arm/neon/vld3_dups16.c 2010-07-29 15:38:15 +0000
9250@@ -3,7 +3,8 @@
9251
9252 /* { dg-do assemble } */
9253 /* { dg-require-effective-target arm_neon_ok } */
9254-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
9255+/* { dg-options "-save-temps -O0" } */
9256+/* { dg-add-options arm_neon } */
9257
9258 #include "arm_neon.h"
9259
9260
9261=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld3_dups32.c'
9262--- old/gcc/testsuite/gcc.target/arm/neon/vld3_dups32.c 2007-07-25 11:28:31 +0000
9263+++ new/gcc/testsuite/gcc.target/arm/neon/vld3_dups32.c 2010-07-29 15:38:15 +0000
9264@@ -3,7 +3,8 @@
9265
9266 /* { dg-do assemble } */
9267 /* { dg-require-effective-target arm_neon_ok } */
9268-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
9269+/* { dg-options "-save-temps -O0" } */
9270+/* { dg-add-options arm_neon } */
9271
9272 #include "arm_neon.h"
9273
9274
9275=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld3_dups64.c'
9276--- old/gcc/testsuite/gcc.target/arm/neon/vld3_dups64.c 2007-07-25 11:28:31 +0000
9277+++ new/gcc/testsuite/gcc.target/arm/neon/vld3_dups64.c 2010-07-29 15:38:15 +0000
9278@@ -3,7 +3,8 @@
9279
9280 /* { dg-do assemble } */
9281 /* { dg-require-effective-target arm_neon_ok } */
9282-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
9283+/* { dg-options "-save-temps -O0" } */
9284+/* { dg-add-options arm_neon } */
9285
9286 #include "arm_neon.h"
9287
9288
9289=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld3_dups8.c'
9290--- old/gcc/testsuite/gcc.target/arm/neon/vld3_dups8.c 2007-07-25 11:28:31 +0000
9291+++ new/gcc/testsuite/gcc.target/arm/neon/vld3_dups8.c 2010-07-29 15:38:15 +0000
9292@@ -3,7 +3,8 @@
9293
9294 /* { dg-do assemble } */
9295 /* { dg-require-effective-target arm_neon_ok } */
9296-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
9297+/* { dg-options "-save-temps -O0" } */
9298+/* { dg-add-options arm_neon } */
9299
9300 #include "arm_neon.h"
9301
9302
9303=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld3_dupu16.c'
9304--- old/gcc/testsuite/gcc.target/arm/neon/vld3_dupu16.c 2007-07-25 11:28:31 +0000
9305+++ new/gcc/testsuite/gcc.target/arm/neon/vld3_dupu16.c 2010-07-29 15:38:15 +0000
9306@@ -3,7 +3,8 @@
9307
9308 /* { dg-do assemble } */
9309 /* { dg-require-effective-target arm_neon_ok } */
9310-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
9311+/* { dg-options "-save-temps -O0" } */
9312+/* { dg-add-options arm_neon } */
9313
9314 #include "arm_neon.h"
9315
9316
9317=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld3_dupu32.c'
9318--- old/gcc/testsuite/gcc.target/arm/neon/vld3_dupu32.c 2007-07-25 11:28:31 +0000
9319+++ new/gcc/testsuite/gcc.target/arm/neon/vld3_dupu32.c 2010-07-29 15:38:15 +0000
9320@@ -3,7 +3,8 @@
9321
9322 /* { dg-do assemble } */
9323 /* { dg-require-effective-target arm_neon_ok } */
9324-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
9325+/* { dg-options "-save-temps -O0" } */
9326+/* { dg-add-options arm_neon } */
9327
9328 #include "arm_neon.h"
9329
9330
9331=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld3_dupu64.c'
9332--- old/gcc/testsuite/gcc.target/arm/neon/vld3_dupu64.c 2007-07-25 11:28:31 +0000
9333+++ new/gcc/testsuite/gcc.target/arm/neon/vld3_dupu64.c 2010-07-29 15:38:15 +0000
9334@@ -3,7 +3,8 @@
9335
9336 /* { dg-do assemble } */
9337 /* { dg-require-effective-target arm_neon_ok } */
9338-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
9339+/* { dg-options "-save-temps -O0" } */
9340+/* { dg-add-options arm_neon } */
9341
9342 #include "arm_neon.h"
9343
9344
9345=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld3_dupu8.c'
9346--- old/gcc/testsuite/gcc.target/arm/neon/vld3_dupu8.c 2007-07-25 11:28:31 +0000
9347+++ new/gcc/testsuite/gcc.target/arm/neon/vld3_dupu8.c 2010-07-29 15:38:15 +0000
9348@@ -3,7 +3,8 @@
9349
9350 /* { dg-do assemble } */
9351 /* { dg-require-effective-target arm_neon_ok } */
9352-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
9353+/* { dg-options "-save-temps -O0" } */
9354+/* { dg-add-options arm_neon } */
9355
9356 #include "arm_neon.h"
9357
9358
9359=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld3_lanef32.c'
9360--- old/gcc/testsuite/gcc.target/arm/neon/vld3_lanef32.c 2007-07-25 11:28:31 +0000
9361+++ new/gcc/testsuite/gcc.target/arm/neon/vld3_lanef32.c 2010-07-29 15:38:15 +0000
9362@@ -3,7 +3,8 @@
9363
9364 /* { dg-do assemble } */
9365 /* { dg-require-effective-target arm_neon_ok } */
9366-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
9367+/* { dg-options "-save-temps -O0" } */
9368+/* { dg-add-options arm_neon } */
9369
9370 #include "arm_neon.h"
9371
9372
9373=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld3_lanep16.c'
9374--- old/gcc/testsuite/gcc.target/arm/neon/vld3_lanep16.c 2007-07-25 11:28:31 +0000
9375+++ new/gcc/testsuite/gcc.target/arm/neon/vld3_lanep16.c 2010-07-29 15:38:15 +0000
9376@@ -3,7 +3,8 @@
9377
9378 /* { dg-do assemble } */
9379 /* { dg-require-effective-target arm_neon_ok } */
9380-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
9381+/* { dg-options "-save-temps -O0" } */
9382+/* { dg-add-options arm_neon } */
9383
9384 #include "arm_neon.h"
9385
9386
9387=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld3_lanep8.c'
9388--- old/gcc/testsuite/gcc.target/arm/neon/vld3_lanep8.c 2007-07-25 11:28:31 +0000
9389+++ new/gcc/testsuite/gcc.target/arm/neon/vld3_lanep8.c 2010-07-29 15:38:15 +0000
9390@@ -3,7 +3,8 @@
9391
9392 /* { dg-do assemble } */
9393 /* { dg-require-effective-target arm_neon_ok } */
9394-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
9395+/* { dg-options "-save-temps -O0" } */
9396+/* { dg-add-options arm_neon } */
9397
9398 #include "arm_neon.h"
9399
9400
9401=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld3_lanes16.c'
9402--- old/gcc/testsuite/gcc.target/arm/neon/vld3_lanes16.c 2007-07-25 11:28:31 +0000
9403+++ new/gcc/testsuite/gcc.target/arm/neon/vld3_lanes16.c 2010-07-29 15:38:15 +0000
9404@@ -3,7 +3,8 @@
9405
9406 /* { dg-do assemble } */
9407 /* { dg-require-effective-target arm_neon_ok } */
9408-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
9409+/* { dg-options "-save-temps -O0" } */
9410+/* { dg-add-options arm_neon } */
9411
9412 #include "arm_neon.h"
9413
9414
9415=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld3_lanes32.c'
9416--- old/gcc/testsuite/gcc.target/arm/neon/vld3_lanes32.c 2007-07-25 11:28:31 +0000
9417+++ new/gcc/testsuite/gcc.target/arm/neon/vld3_lanes32.c 2010-07-29 15:38:15 +0000
9418@@ -3,7 +3,8 @@
9419
9420 /* { dg-do assemble } */
9421 /* { dg-require-effective-target arm_neon_ok } */
9422-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
9423+/* { dg-options "-save-temps -O0" } */
9424+/* { dg-add-options arm_neon } */
9425
9426 #include "arm_neon.h"
9427
9428
9429=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld3_lanes8.c'
9430--- old/gcc/testsuite/gcc.target/arm/neon/vld3_lanes8.c 2007-07-25 11:28:31 +0000
9431+++ new/gcc/testsuite/gcc.target/arm/neon/vld3_lanes8.c 2010-07-29 15:38:15 +0000
9432@@ -3,7 +3,8 @@
9433
9434 /* { dg-do assemble } */
9435 /* { dg-require-effective-target arm_neon_ok } */
9436-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
9437+/* { dg-options "-save-temps -O0" } */
9438+/* { dg-add-options arm_neon } */
9439
9440 #include "arm_neon.h"
9441
9442
9443=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld3_laneu16.c'
9444--- old/gcc/testsuite/gcc.target/arm/neon/vld3_laneu16.c 2007-07-25 11:28:31 +0000
9445+++ new/gcc/testsuite/gcc.target/arm/neon/vld3_laneu16.c 2010-07-29 15:38:15 +0000
9446@@ -3,7 +3,8 @@
9447
9448 /* { dg-do assemble } */
9449 /* { dg-require-effective-target arm_neon_ok } */
9450-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
9451+/* { dg-options "-save-temps -O0" } */
9452+/* { dg-add-options arm_neon } */
9453
9454 #include "arm_neon.h"
9455
9456
9457=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld3_laneu32.c'
9458--- old/gcc/testsuite/gcc.target/arm/neon/vld3_laneu32.c 2007-07-25 11:28:31 +0000
9459+++ new/gcc/testsuite/gcc.target/arm/neon/vld3_laneu32.c 2010-07-29 15:38:15 +0000
9460@@ -3,7 +3,8 @@
9461
9462 /* { dg-do assemble } */
9463 /* { dg-require-effective-target arm_neon_ok } */
9464-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
9465+/* { dg-options "-save-temps -O0" } */
9466+/* { dg-add-options arm_neon } */
9467
9468 #include "arm_neon.h"
9469
9470
9471=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld3_laneu8.c'
9472--- old/gcc/testsuite/gcc.target/arm/neon/vld3_laneu8.c 2007-07-25 11:28:31 +0000
9473+++ new/gcc/testsuite/gcc.target/arm/neon/vld3_laneu8.c 2010-07-29 15:38:15 +0000
9474@@ -3,7 +3,8 @@
9475
9476 /* { dg-do assemble } */
9477 /* { dg-require-effective-target arm_neon_ok } */
9478-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
9479+/* { dg-options "-save-temps -O0" } */
9480+/* { dg-add-options arm_neon } */
9481
9482 #include "arm_neon.h"
9483
9484
9485=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld3f32.c'
9486--- old/gcc/testsuite/gcc.target/arm/neon/vld3f32.c 2007-07-25 11:28:31 +0000
9487+++ new/gcc/testsuite/gcc.target/arm/neon/vld3f32.c 2010-07-29 15:38:15 +0000
9488@@ -3,7 +3,8 @@
9489
9490 /* { dg-do assemble } */
9491 /* { dg-require-effective-target arm_neon_ok } */
9492-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
9493+/* { dg-options "-save-temps -O0" } */
9494+/* { dg-add-options arm_neon } */
9495
9496 #include "arm_neon.h"
9497
9498
9499=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld3p16.c'
9500--- old/gcc/testsuite/gcc.target/arm/neon/vld3p16.c 2007-07-25 11:28:31 +0000
9501+++ new/gcc/testsuite/gcc.target/arm/neon/vld3p16.c 2010-07-29 15:38:15 +0000
9502@@ -3,7 +3,8 @@
9503
9504 /* { dg-do assemble } */
9505 /* { dg-require-effective-target arm_neon_ok } */
9506-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
9507+/* { dg-options "-save-temps -O0" } */
9508+/* { dg-add-options arm_neon } */
9509
9510 #include "arm_neon.h"
9511
9512
9513=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld3p8.c'
9514--- old/gcc/testsuite/gcc.target/arm/neon/vld3p8.c 2007-07-25 11:28:31 +0000
9515+++ new/gcc/testsuite/gcc.target/arm/neon/vld3p8.c 2010-07-29 15:38:15 +0000
9516@@ -3,7 +3,8 @@
9517
9518 /* { dg-do assemble } */
9519 /* { dg-require-effective-target arm_neon_ok } */
9520-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
9521+/* { dg-options "-save-temps -O0" } */
9522+/* { dg-add-options arm_neon } */
9523
9524 #include "arm_neon.h"
9525
9526
9527=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld3s16.c'
9528--- old/gcc/testsuite/gcc.target/arm/neon/vld3s16.c 2007-07-25 11:28:31 +0000
9529+++ new/gcc/testsuite/gcc.target/arm/neon/vld3s16.c 2010-07-29 15:38:15 +0000
9530@@ -3,7 +3,8 @@
9531
9532 /* { dg-do assemble } */
9533 /* { dg-require-effective-target arm_neon_ok } */
9534-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
9535+/* { dg-options "-save-temps -O0" } */
9536+/* { dg-add-options arm_neon } */
9537
9538 #include "arm_neon.h"
9539
9540
9541=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld3s32.c'
9542--- old/gcc/testsuite/gcc.target/arm/neon/vld3s32.c 2007-07-25 11:28:31 +0000
9543+++ new/gcc/testsuite/gcc.target/arm/neon/vld3s32.c 2010-07-29 15:38:15 +0000
9544@@ -3,7 +3,8 @@
9545
9546 /* { dg-do assemble } */
9547 /* { dg-require-effective-target arm_neon_ok } */
9548-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
9549+/* { dg-options "-save-temps -O0" } */
9550+/* { dg-add-options arm_neon } */
9551
9552 #include "arm_neon.h"
9553
9554
9555=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld3s64.c'
9556--- old/gcc/testsuite/gcc.target/arm/neon/vld3s64.c 2007-07-25 11:28:31 +0000
9557+++ new/gcc/testsuite/gcc.target/arm/neon/vld3s64.c 2010-07-29 15:38:15 +0000
9558@@ -3,7 +3,8 @@
9559
9560 /* { dg-do assemble } */
9561 /* { dg-require-effective-target arm_neon_ok } */
9562-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
9563+/* { dg-options "-save-temps -O0" } */
9564+/* { dg-add-options arm_neon } */
9565
9566 #include "arm_neon.h"
9567
9568
9569=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld3s8.c'
9570--- old/gcc/testsuite/gcc.target/arm/neon/vld3s8.c 2007-07-25 11:28:31 +0000
9571+++ new/gcc/testsuite/gcc.target/arm/neon/vld3s8.c 2010-07-29 15:38:15 +0000
9572@@ -3,7 +3,8 @@
9573
9574 /* { dg-do assemble } */
9575 /* { dg-require-effective-target arm_neon_ok } */
9576-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
9577+/* { dg-options "-save-temps -O0" } */
9578+/* { dg-add-options arm_neon } */
9579
9580 #include "arm_neon.h"
9581
9582
9583=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld3u16.c'
9584--- old/gcc/testsuite/gcc.target/arm/neon/vld3u16.c 2007-07-25 11:28:31 +0000
9585+++ new/gcc/testsuite/gcc.target/arm/neon/vld3u16.c 2010-07-29 15:38:15 +0000
9586@@ -3,7 +3,8 @@
9587
9588 /* { dg-do assemble } */
9589 /* { dg-require-effective-target arm_neon_ok } */
9590-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
9591+/* { dg-options "-save-temps -O0" } */
9592+/* { dg-add-options arm_neon } */
9593
9594 #include "arm_neon.h"
9595
9596
9597=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld3u32.c'
9598--- old/gcc/testsuite/gcc.target/arm/neon/vld3u32.c 2007-07-25 11:28:31 +0000
9599+++ new/gcc/testsuite/gcc.target/arm/neon/vld3u32.c 2010-07-29 15:38:15 +0000
9600@@ -3,7 +3,8 @@
9601
9602 /* { dg-do assemble } */
9603 /* { dg-require-effective-target arm_neon_ok } */
9604-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
9605+/* { dg-options "-save-temps -O0" } */
9606+/* { dg-add-options arm_neon } */
9607
9608 #include "arm_neon.h"
9609
9610
9611=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld3u64.c'
9612--- old/gcc/testsuite/gcc.target/arm/neon/vld3u64.c 2007-07-25 11:28:31 +0000
9613+++ new/gcc/testsuite/gcc.target/arm/neon/vld3u64.c 2010-07-29 15:38:15 +0000
9614@@ -3,7 +3,8 @@
9615
9616 /* { dg-do assemble } */
9617 /* { dg-require-effective-target arm_neon_ok } */
9618-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
9619+/* { dg-options "-save-temps -O0" } */
9620+/* { dg-add-options arm_neon } */
9621
9622 #include "arm_neon.h"
9623
9624
9625=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld3u8.c'
9626--- old/gcc/testsuite/gcc.target/arm/neon/vld3u8.c 2007-07-25 11:28:31 +0000
9627+++ new/gcc/testsuite/gcc.target/arm/neon/vld3u8.c 2010-07-29 15:38:15 +0000
9628@@ -3,7 +3,8 @@
9629
9630 /* { dg-do assemble } */
9631 /* { dg-require-effective-target arm_neon_ok } */
9632-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
9633+/* { dg-options "-save-temps -O0" } */
9634+/* { dg-add-options arm_neon } */
9635
9636 #include "arm_neon.h"
9637
9638
9639=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld4Q_lanef32.c'
9640--- old/gcc/testsuite/gcc.target/arm/neon/vld4Q_lanef32.c 2007-07-25 11:28:31 +0000
9641+++ new/gcc/testsuite/gcc.target/arm/neon/vld4Q_lanef32.c 2010-07-29 15:38:15 +0000
9642@@ -3,7 +3,8 @@
9643
9644 /* { dg-do assemble } */
9645 /* { dg-require-effective-target arm_neon_ok } */
9646-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
9647+/* { dg-options "-save-temps -O0" } */
9648+/* { dg-add-options arm_neon } */
9649
9650 #include "arm_neon.h"
9651
9652
9653=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld4Q_lanep16.c'
9654--- old/gcc/testsuite/gcc.target/arm/neon/vld4Q_lanep16.c 2007-07-25 11:28:31 +0000
9655+++ new/gcc/testsuite/gcc.target/arm/neon/vld4Q_lanep16.c 2010-07-29 15:38:15 +0000
9656@@ -3,7 +3,8 @@
9657
9658 /* { dg-do assemble } */
9659 /* { dg-require-effective-target arm_neon_ok } */
9660-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
9661+/* { dg-options "-save-temps -O0" } */
9662+/* { dg-add-options arm_neon } */
9663
9664 #include "arm_neon.h"
9665
9666
9667=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld4Q_lanes16.c'
9668--- old/gcc/testsuite/gcc.target/arm/neon/vld4Q_lanes16.c 2007-07-25 11:28:31 +0000
9669+++ new/gcc/testsuite/gcc.target/arm/neon/vld4Q_lanes16.c 2010-07-29 15:38:15 +0000
9670@@ -3,7 +3,8 @@
9671
9672 /* { dg-do assemble } */
9673 /* { dg-require-effective-target arm_neon_ok } */
9674-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
9675+/* { dg-options "-save-temps -O0" } */
9676+/* { dg-add-options arm_neon } */
9677
9678 #include "arm_neon.h"
9679
9680
9681=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld4Q_lanes32.c'
9682--- old/gcc/testsuite/gcc.target/arm/neon/vld4Q_lanes32.c 2007-07-25 11:28:31 +0000
9683+++ new/gcc/testsuite/gcc.target/arm/neon/vld4Q_lanes32.c 2010-07-29 15:38:15 +0000
9684@@ -3,7 +3,8 @@
9685
9686 /* { dg-do assemble } */
9687 /* { dg-require-effective-target arm_neon_ok } */
9688-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
9689+/* { dg-options "-save-temps -O0" } */
9690+/* { dg-add-options arm_neon } */
9691
9692 #include "arm_neon.h"
9693
9694
9695=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld4Q_laneu16.c'
9696--- old/gcc/testsuite/gcc.target/arm/neon/vld4Q_laneu16.c 2007-07-25 11:28:31 +0000
9697+++ new/gcc/testsuite/gcc.target/arm/neon/vld4Q_laneu16.c 2010-07-29 15:38:15 +0000
9698@@ -3,7 +3,8 @@
9699
9700 /* { dg-do assemble } */
9701 /* { dg-require-effective-target arm_neon_ok } */
9702-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
9703+/* { dg-options "-save-temps -O0" } */
9704+/* { dg-add-options arm_neon } */
9705
9706 #include "arm_neon.h"
9707
9708
9709=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld4Q_laneu32.c'
9710--- old/gcc/testsuite/gcc.target/arm/neon/vld4Q_laneu32.c 2007-07-25 11:28:31 +0000
9711+++ new/gcc/testsuite/gcc.target/arm/neon/vld4Q_laneu32.c 2010-07-29 15:38:15 +0000
9712@@ -3,7 +3,8 @@
9713
9714 /* { dg-do assemble } */
9715 /* { dg-require-effective-target arm_neon_ok } */
9716-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
9717+/* { dg-options "-save-temps -O0" } */
9718+/* { dg-add-options arm_neon } */
9719
9720 #include "arm_neon.h"
9721
9722
9723=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld4Qf32.c'
9724--- old/gcc/testsuite/gcc.target/arm/neon/vld4Qf32.c 2007-07-25 11:28:31 +0000
9725+++ new/gcc/testsuite/gcc.target/arm/neon/vld4Qf32.c 2010-07-29 15:38:15 +0000
9726@@ -3,7 +3,8 @@
9727
9728 /* { dg-do assemble } */
9729 /* { dg-require-effective-target arm_neon_ok } */
9730-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
9731+/* { dg-options "-save-temps -O0" } */
9732+/* { dg-add-options arm_neon } */
9733
9734 #include "arm_neon.h"
9735
9736
9737=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld4Qp16.c'
9738--- old/gcc/testsuite/gcc.target/arm/neon/vld4Qp16.c 2007-07-25 11:28:31 +0000
9739+++ new/gcc/testsuite/gcc.target/arm/neon/vld4Qp16.c 2010-07-29 15:38:15 +0000
9740@@ -3,7 +3,8 @@
9741
9742 /* { dg-do assemble } */
9743 /* { dg-require-effective-target arm_neon_ok } */
9744-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
9745+/* { dg-options "-save-temps -O0" } */
9746+/* { dg-add-options arm_neon } */
9747
9748 #include "arm_neon.h"
9749
9750
9751=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld4Qp8.c'
9752--- old/gcc/testsuite/gcc.target/arm/neon/vld4Qp8.c 2007-07-25 11:28:31 +0000
9753+++ new/gcc/testsuite/gcc.target/arm/neon/vld4Qp8.c 2010-07-29 15:38:15 +0000
9754@@ -3,7 +3,8 @@
9755
9756 /* { dg-do assemble } */
9757 /* { dg-require-effective-target arm_neon_ok } */
9758-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
9759+/* { dg-options "-save-temps -O0" } */
9760+/* { dg-add-options arm_neon } */
9761
9762 #include "arm_neon.h"
9763
9764
9765=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld4Qs16.c'
9766--- old/gcc/testsuite/gcc.target/arm/neon/vld4Qs16.c 2007-07-25 11:28:31 +0000
9767+++ new/gcc/testsuite/gcc.target/arm/neon/vld4Qs16.c 2010-07-29 15:38:15 +0000
9768@@ -3,7 +3,8 @@
9769
9770 /* { dg-do assemble } */
9771 /* { dg-require-effective-target arm_neon_ok } */
9772-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
9773+/* { dg-options "-save-temps -O0" } */
9774+/* { dg-add-options arm_neon } */
9775
9776 #include "arm_neon.h"
9777
9778
9779=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld4Qs32.c'
9780--- old/gcc/testsuite/gcc.target/arm/neon/vld4Qs32.c 2007-07-25 11:28:31 +0000
9781+++ new/gcc/testsuite/gcc.target/arm/neon/vld4Qs32.c 2010-07-29 15:38:15 +0000
9782@@ -3,7 +3,8 @@
9783
9784 /* { dg-do assemble } */
9785 /* { dg-require-effective-target arm_neon_ok } */
9786-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
9787+/* { dg-options "-save-temps -O0" } */
9788+/* { dg-add-options arm_neon } */
9789
9790 #include "arm_neon.h"
9791
9792
9793=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld4Qs8.c'
9794--- old/gcc/testsuite/gcc.target/arm/neon/vld4Qs8.c 2007-07-25 11:28:31 +0000
9795+++ new/gcc/testsuite/gcc.target/arm/neon/vld4Qs8.c 2010-07-29 15:38:15 +0000
9796@@ -3,7 +3,8 @@
9797
9798 /* { dg-do assemble } */
9799 /* { dg-require-effective-target arm_neon_ok } */
9800-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
9801+/* { dg-options "-save-temps -O0" } */
9802+/* { dg-add-options arm_neon } */
9803
9804 #include "arm_neon.h"
9805
9806
9807=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld4Qu16.c'
9808--- old/gcc/testsuite/gcc.target/arm/neon/vld4Qu16.c 2007-07-25 11:28:31 +0000
9809+++ new/gcc/testsuite/gcc.target/arm/neon/vld4Qu16.c 2010-07-29 15:38:15 +0000
9810@@ -3,7 +3,8 @@
9811
9812 /* { dg-do assemble } */
9813 /* { dg-require-effective-target arm_neon_ok } */
9814-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
9815+/* { dg-options "-save-temps -O0" } */
9816+/* { dg-add-options arm_neon } */
9817
9818 #include "arm_neon.h"
9819
9820
9821=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld4Qu32.c'
9822--- old/gcc/testsuite/gcc.target/arm/neon/vld4Qu32.c 2007-07-25 11:28:31 +0000
9823+++ new/gcc/testsuite/gcc.target/arm/neon/vld4Qu32.c 2010-07-29 15:38:15 +0000
9824@@ -3,7 +3,8 @@
9825
9826 /* { dg-do assemble } */
9827 /* { dg-require-effective-target arm_neon_ok } */
9828-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
9829+/* { dg-options "-save-temps -O0" } */
9830+/* { dg-add-options arm_neon } */
9831
9832 #include "arm_neon.h"
9833
9834
9835=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld4Qu8.c'
9836--- old/gcc/testsuite/gcc.target/arm/neon/vld4Qu8.c 2007-07-25 11:28:31 +0000
9837+++ new/gcc/testsuite/gcc.target/arm/neon/vld4Qu8.c 2010-07-29 15:38:15 +0000
9838@@ -3,7 +3,8 @@
9839
9840 /* { dg-do assemble } */
9841 /* { dg-require-effective-target arm_neon_ok } */
9842-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
9843+/* { dg-options "-save-temps -O0" } */
9844+/* { dg-add-options arm_neon } */
9845
9846 #include "arm_neon.h"
9847
9848
9849=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld4_dupf32.c'
9850--- old/gcc/testsuite/gcc.target/arm/neon/vld4_dupf32.c 2007-07-25 11:28:31 +0000
9851+++ new/gcc/testsuite/gcc.target/arm/neon/vld4_dupf32.c 2010-07-29 15:38:15 +0000
9852@@ -3,7 +3,8 @@
9853
9854 /* { dg-do assemble } */
9855 /* { dg-require-effective-target arm_neon_ok } */
9856-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
9857+/* { dg-options "-save-temps -O0" } */
9858+/* { dg-add-options arm_neon } */
9859
9860 #include "arm_neon.h"
9861
9862
9863=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld4_dupp16.c'
9864--- old/gcc/testsuite/gcc.target/arm/neon/vld4_dupp16.c 2007-07-25 11:28:31 +0000
9865+++ new/gcc/testsuite/gcc.target/arm/neon/vld4_dupp16.c 2010-07-29 15:38:15 +0000
9866@@ -3,7 +3,8 @@
9867
9868 /* { dg-do assemble } */
9869 /* { dg-require-effective-target arm_neon_ok } */
9870-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
9871+/* { dg-options "-save-temps -O0" } */
9872+/* { dg-add-options arm_neon } */
9873
9874 #include "arm_neon.h"
9875
9876
9877=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld4_dupp8.c'
9878--- old/gcc/testsuite/gcc.target/arm/neon/vld4_dupp8.c 2007-07-25 11:28:31 +0000
9879+++ new/gcc/testsuite/gcc.target/arm/neon/vld4_dupp8.c 2010-07-29 15:38:15 +0000
9880@@ -3,7 +3,8 @@
9881
9882 /* { dg-do assemble } */
9883 /* { dg-require-effective-target arm_neon_ok } */
9884-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
9885+/* { dg-options "-save-temps -O0" } */
9886+/* { dg-add-options arm_neon } */
9887
9888 #include "arm_neon.h"
9889
9890
9891=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld4_dups16.c'
9892--- old/gcc/testsuite/gcc.target/arm/neon/vld4_dups16.c 2007-07-25 11:28:31 +0000
9893+++ new/gcc/testsuite/gcc.target/arm/neon/vld4_dups16.c 2010-07-29 15:38:15 +0000
9894@@ -3,7 +3,8 @@
9895
9896 /* { dg-do assemble } */
9897 /* { dg-require-effective-target arm_neon_ok } */
9898-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
9899+/* { dg-options "-save-temps -O0" } */
9900+/* { dg-add-options arm_neon } */
9901
9902 #include "arm_neon.h"
9903
9904
9905=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld4_dups32.c'
9906--- old/gcc/testsuite/gcc.target/arm/neon/vld4_dups32.c 2007-07-25 11:28:31 +0000
9907+++ new/gcc/testsuite/gcc.target/arm/neon/vld4_dups32.c 2010-07-29 15:38:15 +0000
9908@@ -3,7 +3,8 @@
9909
9910 /* { dg-do assemble } */
9911 /* { dg-require-effective-target arm_neon_ok } */
9912-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
9913+/* { dg-options "-save-temps -O0" } */
9914+/* { dg-add-options arm_neon } */
9915
9916 #include "arm_neon.h"
9917
9918
9919=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld4_dups64.c'
9920--- old/gcc/testsuite/gcc.target/arm/neon/vld4_dups64.c 2007-07-25 11:28:31 +0000
9921+++ new/gcc/testsuite/gcc.target/arm/neon/vld4_dups64.c 2010-07-29 15:38:15 +0000
9922@@ -3,7 +3,8 @@
9923
9924 /* { dg-do assemble } */
9925 /* { dg-require-effective-target arm_neon_ok } */
9926-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
9927+/* { dg-options "-save-temps -O0" } */
9928+/* { dg-add-options arm_neon } */
9929
9930 #include "arm_neon.h"
9931
9932
9933=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld4_dups8.c'
9934--- old/gcc/testsuite/gcc.target/arm/neon/vld4_dups8.c 2007-07-25 11:28:31 +0000
9935+++ new/gcc/testsuite/gcc.target/arm/neon/vld4_dups8.c 2010-07-29 15:38:15 +0000
9936@@ -3,7 +3,8 @@
9937
9938 /* { dg-do assemble } */
9939 /* { dg-require-effective-target arm_neon_ok } */
9940-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
9941+/* { dg-options "-save-temps -O0" } */
9942+/* { dg-add-options arm_neon } */
9943
9944 #include "arm_neon.h"
9945
9946
9947=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld4_dupu16.c'
9948--- old/gcc/testsuite/gcc.target/arm/neon/vld4_dupu16.c 2007-07-25 11:28:31 +0000
9949+++ new/gcc/testsuite/gcc.target/arm/neon/vld4_dupu16.c 2010-07-29 15:38:15 +0000
9950@@ -3,7 +3,8 @@
9951
9952 /* { dg-do assemble } */
9953 /* { dg-require-effective-target arm_neon_ok } */
9954-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
9955+/* { dg-options "-save-temps -O0" } */
9956+/* { dg-add-options arm_neon } */
9957
9958 #include "arm_neon.h"
9959
9960
9961=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld4_dupu32.c'
9962--- old/gcc/testsuite/gcc.target/arm/neon/vld4_dupu32.c 2007-07-25 11:28:31 +0000
9963+++ new/gcc/testsuite/gcc.target/arm/neon/vld4_dupu32.c 2010-07-29 15:38:15 +0000
9964@@ -3,7 +3,8 @@
9965
9966 /* { dg-do assemble } */
9967 /* { dg-require-effective-target arm_neon_ok } */
9968-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
9969+/* { dg-options "-save-temps -O0" } */
9970+/* { dg-add-options arm_neon } */
9971
9972 #include "arm_neon.h"
9973
9974
9975=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld4_dupu64.c'
9976--- old/gcc/testsuite/gcc.target/arm/neon/vld4_dupu64.c 2007-07-25 11:28:31 +0000
9977+++ new/gcc/testsuite/gcc.target/arm/neon/vld4_dupu64.c 2010-07-29 15:38:15 +0000
9978@@ -3,7 +3,8 @@
9979
9980 /* { dg-do assemble } */
9981 /* { dg-require-effective-target arm_neon_ok } */
9982-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
9983+/* { dg-options "-save-temps -O0" } */
9984+/* { dg-add-options arm_neon } */
9985
9986 #include "arm_neon.h"
9987
9988
9989=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld4_dupu8.c'
9990--- old/gcc/testsuite/gcc.target/arm/neon/vld4_dupu8.c 2007-07-25 11:28:31 +0000
9991+++ new/gcc/testsuite/gcc.target/arm/neon/vld4_dupu8.c 2010-07-29 15:38:15 +0000
9992@@ -3,7 +3,8 @@
9993
9994 /* { dg-do assemble } */
9995 /* { dg-require-effective-target arm_neon_ok } */
9996-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
9997+/* { dg-options "-save-temps -O0" } */
9998+/* { dg-add-options arm_neon } */
9999
10000 #include "arm_neon.h"
10001
10002
10003=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld4_lanef32.c'
10004--- old/gcc/testsuite/gcc.target/arm/neon/vld4_lanef32.c 2007-07-25 11:28:31 +0000
10005+++ new/gcc/testsuite/gcc.target/arm/neon/vld4_lanef32.c 2010-07-29 15:38:15 +0000
10006@@ -3,7 +3,8 @@
10007
10008 /* { dg-do assemble } */
10009 /* { dg-require-effective-target arm_neon_ok } */
10010-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
10011+/* { dg-options "-save-temps -O0" } */
10012+/* { dg-add-options arm_neon } */
10013
10014 #include "arm_neon.h"
10015
10016
10017=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld4_lanep16.c'
10018--- old/gcc/testsuite/gcc.target/arm/neon/vld4_lanep16.c 2007-07-25 11:28:31 +0000
10019+++ new/gcc/testsuite/gcc.target/arm/neon/vld4_lanep16.c 2010-07-29 15:38:15 +0000
10020@@ -3,7 +3,8 @@
10021
10022 /* { dg-do assemble } */
10023 /* { dg-require-effective-target arm_neon_ok } */
10024-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
10025+/* { dg-options "-save-temps -O0" } */
10026+/* { dg-add-options arm_neon } */
10027
10028 #include "arm_neon.h"
10029
10030
10031=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld4_lanep8.c'
10032--- old/gcc/testsuite/gcc.target/arm/neon/vld4_lanep8.c 2007-07-25 11:28:31 +0000
10033+++ new/gcc/testsuite/gcc.target/arm/neon/vld4_lanep8.c 2010-07-29 15:38:15 +0000
10034@@ -3,7 +3,8 @@
10035
10036 /* { dg-do assemble } */
10037 /* { dg-require-effective-target arm_neon_ok } */
10038-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
10039+/* { dg-options "-save-temps -O0" } */
10040+/* { dg-add-options arm_neon } */
10041
10042 #include "arm_neon.h"
10043
10044
10045=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld4_lanes16.c'
10046--- old/gcc/testsuite/gcc.target/arm/neon/vld4_lanes16.c 2007-07-25 11:28:31 +0000
10047+++ new/gcc/testsuite/gcc.target/arm/neon/vld4_lanes16.c 2010-07-29 15:38:15 +0000
10048@@ -3,7 +3,8 @@
10049
10050 /* { dg-do assemble } */
10051 /* { dg-require-effective-target arm_neon_ok } */
10052-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
10053+/* { dg-options "-save-temps -O0" } */
10054+/* { dg-add-options arm_neon } */
10055
10056 #include "arm_neon.h"
10057
10058
10059=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld4_lanes32.c'
10060--- old/gcc/testsuite/gcc.target/arm/neon/vld4_lanes32.c 2007-07-25 11:28:31 +0000
10061+++ new/gcc/testsuite/gcc.target/arm/neon/vld4_lanes32.c 2010-07-29 15:38:15 +0000
10062@@ -3,7 +3,8 @@
10063
10064 /* { dg-do assemble } */
10065 /* { dg-require-effective-target arm_neon_ok } */
10066-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
10067+/* { dg-options "-save-temps -O0" } */
10068+/* { dg-add-options arm_neon } */
10069
10070 #include "arm_neon.h"
10071
10072
10073=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld4_lanes8.c'
10074--- old/gcc/testsuite/gcc.target/arm/neon/vld4_lanes8.c 2007-07-25 11:28:31 +0000
10075+++ new/gcc/testsuite/gcc.target/arm/neon/vld4_lanes8.c 2010-07-29 15:38:15 +0000
10076@@ -3,7 +3,8 @@
10077
10078 /* { dg-do assemble } */
10079 /* { dg-require-effective-target arm_neon_ok } */
10080-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
10081+/* { dg-options "-save-temps -O0" } */
10082+/* { dg-add-options arm_neon } */
10083
10084 #include "arm_neon.h"
10085
10086
10087=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld4_laneu16.c'
10088--- old/gcc/testsuite/gcc.target/arm/neon/vld4_laneu16.c 2007-07-25 11:28:31 +0000
10089+++ new/gcc/testsuite/gcc.target/arm/neon/vld4_laneu16.c 2010-07-29 15:38:15 +0000
10090@@ -3,7 +3,8 @@
10091
10092 /* { dg-do assemble } */
10093 /* { dg-require-effective-target arm_neon_ok } */
10094-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
10095+/* { dg-options "-save-temps -O0" } */
10096+/* { dg-add-options arm_neon } */
10097
10098 #include "arm_neon.h"
10099
10100
10101=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld4_laneu32.c'
10102--- old/gcc/testsuite/gcc.target/arm/neon/vld4_laneu32.c 2007-07-25 11:28:31 +0000
10103+++ new/gcc/testsuite/gcc.target/arm/neon/vld4_laneu32.c 2010-07-29 15:38:15 +0000
10104@@ -3,7 +3,8 @@
10105
10106 /* { dg-do assemble } */
10107 /* { dg-require-effective-target arm_neon_ok } */
10108-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
10109+/* { dg-options "-save-temps -O0" } */
10110+/* { dg-add-options arm_neon } */
10111
10112 #include "arm_neon.h"
10113
10114
10115=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld4_laneu8.c'
10116--- old/gcc/testsuite/gcc.target/arm/neon/vld4_laneu8.c 2007-07-25 11:28:31 +0000
10117+++ new/gcc/testsuite/gcc.target/arm/neon/vld4_laneu8.c 2010-07-29 15:38:15 +0000
10118@@ -3,7 +3,8 @@
10119
10120 /* { dg-do assemble } */
10121 /* { dg-require-effective-target arm_neon_ok } */
10122-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
10123+/* { dg-options "-save-temps -O0" } */
10124+/* { dg-add-options arm_neon } */
10125
10126 #include "arm_neon.h"
10127
10128
10129=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld4f32.c'
10130--- old/gcc/testsuite/gcc.target/arm/neon/vld4f32.c 2007-07-25 11:28:31 +0000
10131+++ new/gcc/testsuite/gcc.target/arm/neon/vld4f32.c 2010-07-29 15:38:15 +0000
10132@@ -3,7 +3,8 @@
10133
10134 /* { dg-do assemble } */
10135 /* { dg-require-effective-target arm_neon_ok } */
10136-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
10137+/* { dg-options "-save-temps -O0" } */
10138+/* { dg-add-options arm_neon } */
10139
10140 #include "arm_neon.h"
10141
10142
10143=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld4p16.c'
10144--- old/gcc/testsuite/gcc.target/arm/neon/vld4p16.c 2007-07-25 11:28:31 +0000
10145+++ new/gcc/testsuite/gcc.target/arm/neon/vld4p16.c 2010-07-29 15:38:15 +0000
10146@@ -3,7 +3,8 @@
10147
10148 /* { dg-do assemble } */
10149 /* { dg-require-effective-target arm_neon_ok } */
10150-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
10151+/* { dg-options "-save-temps -O0" } */
10152+/* { dg-add-options arm_neon } */
10153
10154 #include "arm_neon.h"
10155
10156
10157=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld4p8.c'
10158--- old/gcc/testsuite/gcc.target/arm/neon/vld4p8.c 2007-07-25 11:28:31 +0000
10159+++ new/gcc/testsuite/gcc.target/arm/neon/vld4p8.c 2010-07-29 15:38:15 +0000
10160@@ -3,7 +3,8 @@
10161
10162 /* { dg-do assemble } */
10163 /* { dg-require-effective-target arm_neon_ok } */
10164-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
10165+/* { dg-options "-save-temps -O0" } */
10166+/* { dg-add-options arm_neon } */
10167
10168 #include "arm_neon.h"
10169
10170
10171=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld4s16.c'
10172--- old/gcc/testsuite/gcc.target/arm/neon/vld4s16.c 2007-07-25 11:28:31 +0000
10173+++ new/gcc/testsuite/gcc.target/arm/neon/vld4s16.c 2010-07-29 15:38:15 +0000
10174@@ -3,7 +3,8 @@
10175
10176 /* { dg-do assemble } */
10177 /* { dg-require-effective-target arm_neon_ok } */
10178-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
10179+/* { dg-options "-save-temps -O0" } */
10180+/* { dg-add-options arm_neon } */
10181
10182 #include "arm_neon.h"
10183
10184
10185=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld4s32.c'
10186--- old/gcc/testsuite/gcc.target/arm/neon/vld4s32.c 2007-07-25 11:28:31 +0000
10187+++ new/gcc/testsuite/gcc.target/arm/neon/vld4s32.c 2010-07-29 15:38:15 +0000
10188@@ -3,7 +3,8 @@
10189
10190 /* { dg-do assemble } */
10191 /* { dg-require-effective-target arm_neon_ok } */
10192-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
10193+/* { dg-options "-save-temps -O0" } */
10194+/* { dg-add-options arm_neon } */
10195
10196 #include "arm_neon.h"
10197
10198
10199=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld4s64.c'
10200--- old/gcc/testsuite/gcc.target/arm/neon/vld4s64.c 2007-07-25 11:28:31 +0000
10201+++ new/gcc/testsuite/gcc.target/arm/neon/vld4s64.c 2010-07-29 15:38:15 +0000
10202@@ -3,7 +3,8 @@
10203
10204 /* { dg-do assemble } */
10205 /* { dg-require-effective-target arm_neon_ok } */
10206-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
10207+/* { dg-options "-save-temps -O0" } */
10208+/* { dg-add-options arm_neon } */
10209
10210 #include "arm_neon.h"
10211
10212
10213=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld4s8.c'
10214--- old/gcc/testsuite/gcc.target/arm/neon/vld4s8.c 2007-07-25 11:28:31 +0000
10215+++ new/gcc/testsuite/gcc.target/arm/neon/vld4s8.c 2010-07-29 15:38:15 +0000
10216@@ -3,7 +3,8 @@
10217
10218 /* { dg-do assemble } */
10219 /* { dg-require-effective-target arm_neon_ok } */
10220-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
10221+/* { dg-options "-save-temps -O0" } */
10222+/* { dg-add-options arm_neon } */
10223
10224 #include "arm_neon.h"
10225
10226
10227=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld4u16.c'
10228--- old/gcc/testsuite/gcc.target/arm/neon/vld4u16.c 2007-07-25 11:28:31 +0000
10229+++ new/gcc/testsuite/gcc.target/arm/neon/vld4u16.c 2010-07-29 15:38:15 +0000
10230@@ -3,7 +3,8 @@
10231
10232 /* { dg-do assemble } */
10233 /* { dg-require-effective-target arm_neon_ok } */
10234-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
10235+/* { dg-options "-save-temps -O0" } */
10236+/* { dg-add-options arm_neon } */
10237
10238 #include "arm_neon.h"
10239
10240
10241=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld4u32.c'
10242--- old/gcc/testsuite/gcc.target/arm/neon/vld4u32.c 2007-07-25 11:28:31 +0000
10243+++ new/gcc/testsuite/gcc.target/arm/neon/vld4u32.c 2010-07-29 15:38:15 +0000
10244@@ -3,7 +3,8 @@
10245
10246 /* { dg-do assemble } */
10247 /* { dg-require-effective-target arm_neon_ok } */
10248-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
10249+/* { dg-options "-save-temps -O0" } */
10250+/* { dg-add-options arm_neon } */
10251
10252 #include "arm_neon.h"
10253
10254
10255=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld4u64.c'
10256--- old/gcc/testsuite/gcc.target/arm/neon/vld4u64.c 2007-07-25 11:28:31 +0000
10257+++ new/gcc/testsuite/gcc.target/arm/neon/vld4u64.c 2010-07-29 15:38:15 +0000
10258@@ -3,7 +3,8 @@
10259
10260 /* { dg-do assemble } */
10261 /* { dg-require-effective-target arm_neon_ok } */
10262-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
10263+/* { dg-options "-save-temps -O0" } */
10264+/* { dg-add-options arm_neon } */
10265
10266 #include "arm_neon.h"
10267
10268
10269=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld4u8.c'
10270--- old/gcc/testsuite/gcc.target/arm/neon/vld4u8.c 2007-07-25 11:28:31 +0000
10271+++ new/gcc/testsuite/gcc.target/arm/neon/vld4u8.c 2010-07-29 15:38:15 +0000
10272@@ -3,7 +3,8 @@
10273
10274 /* { dg-do assemble } */
10275 /* { dg-require-effective-target arm_neon_ok } */
10276-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
10277+/* { dg-options "-save-temps -O0" } */
10278+/* { dg-add-options arm_neon } */
10279
10280 #include "arm_neon.h"
10281
10282
10283=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmaxQf32.c'
10284--- old/gcc/testsuite/gcc.target/arm/neon/vmaxQf32.c 2007-07-25 11:28:31 +0000
10285+++ new/gcc/testsuite/gcc.target/arm/neon/vmaxQf32.c 2010-07-29 15:38:15 +0000
10286@@ -3,7 +3,8 @@
10287
10288 /* { dg-do assemble } */
10289 /* { dg-require-effective-target arm_neon_ok } */
10290-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
10291+/* { dg-options "-save-temps -O0" } */
10292+/* { dg-add-options arm_neon } */
10293
10294 #include "arm_neon.h"
10295
10296
10297=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmaxQs16.c'
10298--- old/gcc/testsuite/gcc.target/arm/neon/vmaxQs16.c 2007-07-25 11:28:31 +0000
10299+++ new/gcc/testsuite/gcc.target/arm/neon/vmaxQs16.c 2010-07-29 15:38:15 +0000
10300@@ -3,7 +3,8 @@
10301
10302 /* { dg-do assemble } */
10303 /* { dg-require-effective-target arm_neon_ok } */
10304-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
10305+/* { dg-options "-save-temps -O0" } */
10306+/* { dg-add-options arm_neon } */
10307
10308 #include "arm_neon.h"
10309
10310
10311=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmaxQs32.c'
10312--- old/gcc/testsuite/gcc.target/arm/neon/vmaxQs32.c 2007-07-25 11:28:31 +0000
10313+++ new/gcc/testsuite/gcc.target/arm/neon/vmaxQs32.c 2010-07-29 15:38:15 +0000
10314@@ -3,7 +3,8 @@
10315
10316 /* { dg-do assemble } */
10317 /* { dg-require-effective-target arm_neon_ok } */
10318-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
10319+/* { dg-options "-save-temps -O0" } */
10320+/* { dg-add-options arm_neon } */
10321
10322 #include "arm_neon.h"
10323
10324
10325=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmaxQs8.c'
10326--- old/gcc/testsuite/gcc.target/arm/neon/vmaxQs8.c 2007-07-25 11:28:31 +0000
10327+++ new/gcc/testsuite/gcc.target/arm/neon/vmaxQs8.c 2010-07-29 15:38:15 +0000
10328@@ -3,7 +3,8 @@
10329
10330 /* { dg-do assemble } */
10331 /* { dg-require-effective-target arm_neon_ok } */
10332-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
10333+/* { dg-options "-save-temps -O0" } */
10334+/* { dg-add-options arm_neon } */
10335
10336 #include "arm_neon.h"
10337
10338
10339=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmaxQu16.c'
10340--- old/gcc/testsuite/gcc.target/arm/neon/vmaxQu16.c 2007-07-25 11:28:31 +0000
10341+++ new/gcc/testsuite/gcc.target/arm/neon/vmaxQu16.c 2010-07-29 15:38:15 +0000
10342@@ -3,7 +3,8 @@
10343
10344 /* { dg-do assemble } */
10345 /* { dg-require-effective-target arm_neon_ok } */
10346-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
10347+/* { dg-options "-save-temps -O0" } */
10348+/* { dg-add-options arm_neon } */
10349
10350 #include "arm_neon.h"
10351
10352
10353=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmaxQu32.c'
10354--- old/gcc/testsuite/gcc.target/arm/neon/vmaxQu32.c 2007-07-25 11:28:31 +0000
10355+++ new/gcc/testsuite/gcc.target/arm/neon/vmaxQu32.c 2010-07-29 15:38:15 +0000
10356@@ -3,7 +3,8 @@
10357
10358 /* { dg-do assemble } */
10359 /* { dg-require-effective-target arm_neon_ok } */
10360-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
10361+/* { dg-options "-save-temps -O0" } */
10362+/* { dg-add-options arm_neon } */
10363
10364 #include "arm_neon.h"
10365
10366
10367=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmaxQu8.c'
10368--- old/gcc/testsuite/gcc.target/arm/neon/vmaxQu8.c 2007-07-25 11:28:31 +0000
10369+++ new/gcc/testsuite/gcc.target/arm/neon/vmaxQu8.c 2010-07-29 15:38:15 +0000
10370@@ -3,7 +3,8 @@
10371
10372 /* { dg-do assemble } */
10373 /* { dg-require-effective-target arm_neon_ok } */
10374-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
10375+/* { dg-options "-save-temps -O0" } */
10376+/* { dg-add-options arm_neon } */
10377
10378 #include "arm_neon.h"
10379
10380
10381=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmaxf32.c'
10382--- old/gcc/testsuite/gcc.target/arm/neon/vmaxf32.c 2007-07-25 11:28:31 +0000
10383+++ new/gcc/testsuite/gcc.target/arm/neon/vmaxf32.c 2010-07-29 15:38:15 +0000
10384@@ -3,7 +3,8 @@
10385
10386 /* { dg-do assemble } */
10387 /* { dg-require-effective-target arm_neon_ok } */
10388-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
10389+/* { dg-options "-save-temps -O0" } */
10390+/* { dg-add-options arm_neon } */
10391
10392 #include "arm_neon.h"
10393
10394
10395=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmaxs16.c'
10396--- old/gcc/testsuite/gcc.target/arm/neon/vmaxs16.c 2007-07-25 11:28:31 +0000
10397+++ new/gcc/testsuite/gcc.target/arm/neon/vmaxs16.c 2010-07-29 15:38:15 +0000
10398@@ -3,7 +3,8 @@
10399
10400 /* { dg-do assemble } */
10401 /* { dg-require-effective-target arm_neon_ok } */
10402-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
10403+/* { dg-options "-save-temps -O0" } */
10404+/* { dg-add-options arm_neon } */
10405
10406 #include "arm_neon.h"
10407
10408
10409=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmaxs32.c'
10410--- old/gcc/testsuite/gcc.target/arm/neon/vmaxs32.c 2007-07-25 11:28:31 +0000
10411+++ new/gcc/testsuite/gcc.target/arm/neon/vmaxs32.c 2010-07-29 15:38:15 +0000
10412@@ -3,7 +3,8 @@
10413
10414 /* { dg-do assemble } */
10415 /* { dg-require-effective-target arm_neon_ok } */
10416-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
10417+/* { dg-options "-save-temps -O0" } */
10418+/* { dg-add-options arm_neon } */
10419
10420 #include "arm_neon.h"
10421
10422
10423=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmaxs8.c'
10424--- old/gcc/testsuite/gcc.target/arm/neon/vmaxs8.c 2007-07-25 11:28:31 +0000
10425+++ new/gcc/testsuite/gcc.target/arm/neon/vmaxs8.c 2010-07-29 15:38:15 +0000
10426@@ -3,7 +3,8 @@
10427
10428 /* { dg-do assemble } */
10429 /* { dg-require-effective-target arm_neon_ok } */
10430-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
10431+/* { dg-options "-save-temps -O0" } */
10432+/* { dg-add-options arm_neon } */
10433
10434 #include "arm_neon.h"
10435
10436
10437=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmaxu16.c'
10438--- old/gcc/testsuite/gcc.target/arm/neon/vmaxu16.c 2007-07-25 11:28:31 +0000
10439+++ new/gcc/testsuite/gcc.target/arm/neon/vmaxu16.c 2010-07-29 15:38:15 +0000
10440@@ -3,7 +3,8 @@
10441
10442 /* { dg-do assemble } */
10443 /* { dg-require-effective-target arm_neon_ok } */
10444-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
10445+/* { dg-options "-save-temps -O0" } */
10446+/* { dg-add-options arm_neon } */
10447
10448 #include "arm_neon.h"
10449
10450
10451=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmaxu32.c'
10452--- old/gcc/testsuite/gcc.target/arm/neon/vmaxu32.c 2007-07-25 11:28:31 +0000
10453+++ new/gcc/testsuite/gcc.target/arm/neon/vmaxu32.c 2010-07-29 15:38:15 +0000
10454@@ -3,7 +3,8 @@
10455
10456 /* { dg-do assemble } */
10457 /* { dg-require-effective-target arm_neon_ok } */
10458-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
10459+/* { dg-options "-save-temps -O0" } */
10460+/* { dg-add-options arm_neon } */
10461
10462 #include "arm_neon.h"
10463
10464
10465=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmaxu8.c'
10466--- old/gcc/testsuite/gcc.target/arm/neon/vmaxu8.c 2007-07-25 11:28:31 +0000
10467+++ new/gcc/testsuite/gcc.target/arm/neon/vmaxu8.c 2010-07-29 15:38:15 +0000
10468@@ -3,7 +3,8 @@
10469
10470 /* { dg-do assemble } */
10471 /* { dg-require-effective-target arm_neon_ok } */
10472-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
10473+/* { dg-options "-save-temps -O0" } */
10474+/* { dg-add-options arm_neon } */
10475
10476 #include "arm_neon.h"
10477
10478
10479=== modified file 'gcc/testsuite/gcc.target/arm/neon/vminQf32.c'
10480--- old/gcc/testsuite/gcc.target/arm/neon/vminQf32.c 2007-07-25 11:28:31 +0000
10481+++ new/gcc/testsuite/gcc.target/arm/neon/vminQf32.c 2010-07-29 15:38:15 +0000
10482@@ -3,7 +3,8 @@
10483
10484 /* { dg-do assemble } */
10485 /* { dg-require-effective-target arm_neon_ok } */
10486-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
10487+/* { dg-options "-save-temps -O0" } */
10488+/* { dg-add-options arm_neon } */
10489
10490 #include "arm_neon.h"
10491
10492
10493=== modified file 'gcc/testsuite/gcc.target/arm/neon/vminQs16.c'
10494--- old/gcc/testsuite/gcc.target/arm/neon/vminQs16.c 2007-07-25 11:28:31 +0000
10495+++ new/gcc/testsuite/gcc.target/arm/neon/vminQs16.c 2010-07-29 15:38:15 +0000
10496@@ -3,7 +3,8 @@
10497
10498 /* { dg-do assemble } */
10499 /* { dg-require-effective-target arm_neon_ok } */
10500-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
10501+/* { dg-options "-save-temps -O0" } */
10502+/* { dg-add-options arm_neon } */
10503
10504 #include "arm_neon.h"
10505
10506
10507=== modified file 'gcc/testsuite/gcc.target/arm/neon/vminQs32.c'
10508--- old/gcc/testsuite/gcc.target/arm/neon/vminQs32.c 2007-07-25 11:28:31 +0000
10509+++ new/gcc/testsuite/gcc.target/arm/neon/vminQs32.c 2010-07-29 15:38:15 +0000
10510@@ -3,7 +3,8 @@
10511
10512 /* { dg-do assemble } */
10513 /* { dg-require-effective-target arm_neon_ok } */
10514-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
10515+/* { dg-options "-save-temps -O0" } */
10516+/* { dg-add-options arm_neon } */
10517
10518 #include "arm_neon.h"
10519
10520
10521=== modified file 'gcc/testsuite/gcc.target/arm/neon/vminQs8.c'
10522--- old/gcc/testsuite/gcc.target/arm/neon/vminQs8.c 2007-07-25 11:28:31 +0000
10523+++ new/gcc/testsuite/gcc.target/arm/neon/vminQs8.c 2010-07-29 15:38:15 +0000
10524@@ -3,7 +3,8 @@
10525
10526 /* { dg-do assemble } */
10527 /* { dg-require-effective-target arm_neon_ok } */
10528-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
10529+/* { dg-options "-save-temps -O0" } */
10530+/* { dg-add-options arm_neon } */
10531
10532 #include "arm_neon.h"
10533
10534
10535=== modified file 'gcc/testsuite/gcc.target/arm/neon/vminQu16.c'
10536--- old/gcc/testsuite/gcc.target/arm/neon/vminQu16.c 2007-07-25 11:28:31 +0000
10537+++ new/gcc/testsuite/gcc.target/arm/neon/vminQu16.c 2010-07-29 15:38:15 +0000
10538@@ -3,7 +3,8 @@
10539
10540 /* { dg-do assemble } */
10541 /* { dg-require-effective-target arm_neon_ok } */
10542-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
10543+/* { dg-options "-save-temps -O0" } */
10544+/* { dg-add-options arm_neon } */
10545
10546 #include "arm_neon.h"
10547
10548
10549=== modified file 'gcc/testsuite/gcc.target/arm/neon/vminQu32.c'
10550--- old/gcc/testsuite/gcc.target/arm/neon/vminQu32.c 2007-07-25 11:28:31 +0000
10551+++ new/gcc/testsuite/gcc.target/arm/neon/vminQu32.c 2010-07-29 15:38:15 +0000
10552@@ -3,7 +3,8 @@
10553
10554 /* { dg-do assemble } */
10555 /* { dg-require-effective-target arm_neon_ok } */
10556-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
10557+/* { dg-options "-save-temps -O0" } */
10558+/* { dg-add-options arm_neon } */
10559
10560 #include "arm_neon.h"
10561
10562
10563=== modified file 'gcc/testsuite/gcc.target/arm/neon/vminQu8.c'
10564--- old/gcc/testsuite/gcc.target/arm/neon/vminQu8.c 2007-07-25 11:28:31 +0000
10565+++ new/gcc/testsuite/gcc.target/arm/neon/vminQu8.c 2010-07-29 15:38:15 +0000
10566@@ -3,7 +3,8 @@
10567
10568 /* { dg-do assemble } */
10569 /* { dg-require-effective-target arm_neon_ok } */
10570-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
10571+/* { dg-options "-save-temps -O0" } */
10572+/* { dg-add-options arm_neon } */
10573
10574 #include "arm_neon.h"
10575
10576
10577=== modified file 'gcc/testsuite/gcc.target/arm/neon/vminf32.c'
10578--- old/gcc/testsuite/gcc.target/arm/neon/vminf32.c 2007-07-25 11:28:31 +0000
10579+++ new/gcc/testsuite/gcc.target/arm/neon/vminf32.c 2010-07-29 15:38:15 +0000
10580@@ -3,7 +3,8 @@
10581
10582 /* { dg-do assemble } */
10583 /* { dg-require-effective-target arm_neon_ok } */
10584-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
10585+/* { dg-options "-save-temps -O0" } */
10586+/* { dg-add-options arm_neon } */
10587
10588 #include "arm_neon.h"
10589
10590
10591=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmins16.c'
10592--- old/gcc/testsuite/gcc.target/arm/neon/vmins16.c 2007-07-25 11:28:31 +0000
10593+++ new/gcc/testsuite/gcc.target/arm/neon/vmins16.c 2010-07-29 15:38:15 +0000
10594@@ -3,7 +3,8 @@
10595
10596 /* { dg-do assemble } */
10597 /* { dg-require-effective-target arm_neon_ok } */
10598-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
10599+/* { dg-options "-save-temps -O0" } */
10600+/* { dg-add-options arm_neon } */
10601
10602 #include "arm_neon.h"
10603
10604
10605=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmins32.c'
10606--- old/gcc/testsuite/gcc.target/arm/neon/vmins32.c 2007-07-25 11:28:31 +0000
10607+++ new/gcc/testsuite/gcc.target/arm/neon/vmins32.c 2010-07-29 15:38:15 +0000
10608@@ -3,7 +3,8 @@
10609
10610 /* { dg-do assemble } */
10611 /* { dg-require-effective-target arm_neon_ok } */
10612-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
10613+/* { dg-options "-save-temps -O0" } */
10614+/* { dg-add-options arm_neon } */
10615
10616 #include "arm_neon.h"
10617
10618
10619=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmins8.c'
10620--- old/gcc/testsuite/gcc.target/arm/neon/vmins8.c 2007-07-25 11:28:31 +0000
10621+++ new/gcc/testsuite/gcc.target/arm/neon/vmins8.c 2010-07-29 15:38:15 +0000
10622@@ -3,7 +3,8 @@
10623
10624 /* { dg-do assemble } */
10625 /* { dg-require-effective-target arm_neon_ok } */
10626-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
10627+/* { dg-options "-save-temps -O0" } */
10628+/* { dg-add-options arm_neon } */
10629
10630 #include "arm_neon.h"
10631
10632
10633=== modified file 'gcc/testsuite/gcc.target/arm/neon/vminu16.c'
10634--- old/gcc/testsuite/gcc.target/arm/neon/vminu16.c 2007-07-25 11:28:31 +0000
10635+++ new/gcc/testsuite/gcc.target/arm/neon/vminu16.c 2010-07-29 15:38:15 +0000
10636@@ -3,7 +3,8 @@
10637
10638 /* { dg-do assemble } */
10639 /* { dg-require-effective-target arm_neon_ok } */
10640-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
10641+/* { dg-options "-save-temps -O0" } */
10642+/* { dg-add-options arm_neon } */
10643
10644 #include "arm_neon.h"
10645
10646
10647=== modified file 'gcc/testsuite/gcc.target/arm/neon/vminu32.c'
10648--- old/gcc/testsuite/gcc.target/arm/neon/vminu32.c 2007-07-25 11:28:31 +0000
10649+++ new/gcc/testsuite/gcc.target/arm/neon/vminu32.c 2010-07-29 15:38:15 +0000
10650@@ -3,7 +3,8 @@
10651
10652 /* { dg-do assemble } */
10653 /* { dg-require-effective-target arm_neon_ok } */
10654-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
10655+/* { dg-options "-save-temps -O0" } */
10656+/* { dg-add-options arm_neon } */
10657
10658 #include "arm_neon.h"
10659
10660
10661=== modified file 'gcc/testsuite/gcc.target/arm/neon/vminu8.c'
10662--- old/gcc/testsuite/gcc.target/arm/neon/vminu8.c 2007-07-25 11:28:31 +0000
10663+++ new/gcc/testsuite/gcc.target/arm/neon/vminu8.c 2010-07-29 15:38:15 +0000
10664@@ -3,7 +3,8 @@
10665
10666 /* { dg-do assemble } */
10667 /* { dg-require-effective-target arm_neon_ok } */
10668-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
10669+/* { dg-options "-save-temps -O0" } */
10670+/* { dg-add-options arm_neon } */
10671
10672 #include "arm_neon.h"
10673
10674
10675=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlaQ_lanef32.c'
10676--- old/gcc/testsuite/gcc.target/arm/neon/vmlaQ_lanef32.c 2007-07-25 11:28:31 +0000
10677+++ new/gcc/testsuite/gcc.target/arm/neon/vmlaQ_lanef32.c 2010-07-29 15:38:15 +0000
10678@@ -3,7 +3,8 @@
10679
10680 /* { dg-do assemble } */
10681 /* { dg-require-effective-target arm_neon_ok } */
10682-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
10683+/* { dg-options "-save-temps -O0" } */
10684+/* { dg-add-options arm_neon } */
10685
10686 #include "arm_neon.h"
10687
10688
10689=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlaQ_lanes16.c'
10690--- old/gcc/testsuite/gcc.target/arm/neon/vmlaQ_lanes16.c 2007-07-25 11:28:31 +0000
10691+++ new/gcc/testsuite/gcc.target/arm/neon/vmlaQ_lanes16.c 2010-07-29 15:38:15 +0000
10692@@ -3,7 +3,8 @@
10693
10694 /* { dg-do assemble } */
10695 /* { dg-require-effective-target arm_neon_ok } */
10696-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
10697+/* { dg-options "-save-temps -O0" } */
10698+/* { dg-add-options arm_neon } */
10699
10700 #include "arm_neon.h"
10701
10702
10703=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlaQ_lanes32.c'
10704--- old/gcc/testsuite/gcc.target/arm/neon/vmlaQ_lanes32.c 2007-07-25 11:28:31 +0000
10705+++ new/gcc/testsuite/gcc.target/arm/neon/vmlaQ_lanes32.c 2010-07-29 15:38:15 +0000
10706@@ -3,7 +3,8 @@
10707
10708 /* { dg-do assemble } */
10709 /* { dg-require-effective-target arm_neon_ok } */
10710-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
10711+/* { dg-options "-save-temps -O0" } */
10712+/* { dg-add-options arm_neon } */
10713
10714 #include "arm_neon.h"
10715
10716
10717=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlaQ_laneu16.c'
10718--- old/gcc/testsuite/gcc.target/arm/neon/vmlaQ_laneu16.c 2007-07-25 11:28:31 +0000
10719+++ new/gcc/testsuite/gcc.target/arm/neon/vmlaQ_laneu16.c 2010-07-29 15:38:15 +0000
10720@@ -3,7 +3,8 @@
10721
10722 /* { dg-do assemble } */
10723 /* { dg-require-effective-target arm_neon_ok } */
10724-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
10725+/* { dg-options "-save-temps -O0" } */
10726+/* { dg-add-options arm_neon } */
10727
10728 #include "arm_neon.h"
10729
10730
10731=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlaQ_laneu32.c'
10732--- old/gcc/testsuite/gcc.target/arm/neon/vmlaQ_laneu32.c 2007-07-25 11:28:31 +0000
10733+++ new/gcc/testsuite/gcc.target/arm/neon/vmlaQ_laneu32.c 2010-07-29 15:38:15 +0000
10734@@ -3,7 +3,8 @@
10735
10736 /* { dg-do assemble } */
10737 /* { dg-require-effective-target arm_neon_ok } */
10738-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
10739+/* { dg-options "-save-temps -O0" } */
10740+/* { dg-add-options arm_neon } */
10741
10742 #include "arm_neon.h"
10743
10744
10745=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlaQ_nf32.c'
10746--- old/gcc/testsuite/gcc.target/arm/neon/vmlaQ_nf32.c 2007-07-25 11:28:31 +0000
10747+++ new/gcc/testsuite/gcc.target/arm/neon/vmlaQ_nf32.c 2010-07-29 15:38:15 +0000
10748@@ -3,7 +3,8 @@
10749
10750 /* { dg-do assemble } */
10751 /* { dg-require-effective-target arm_neon_ok } */
10752-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
10753+/* { dg-options "-save-temps -O0" } */
10754+/* { dg-add-options arm_neon } */
10755
10756 #include "arm_neon.h"
10757
10758
10759=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlaQ_ns16.c'
10760--- old/gcc/testsuite/gcc.target/arm/neon/vmlaQ_ns16.c 2007-07-25 11:28:31 +0000
10761+++ new/gcc/testsuite/gcc.target/arm/neon/vmlaQ_ns16.c 2010-07-29 15:38:15 +0000
10762@@ -3,7 +3,8 @@
10763
10764 /* { dg-do assemble } */
10765 /* { dg-require-effective-target arm_neon_ok } */
10766-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
10767+/* { dg-options "-save-temps -O0" } */
10768+/* { dg-add-options arm_neon } */
10769
10770 #include "arm_neon.h"
10771
10772
10773=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlaQ_ns32.c'
10774--- old/gcc/testsuite/gcc.target/arm/neon/vmlaQ_ns32.c 2007-07-25 11:28:31 +0000
10775+++ new/gcc/testsuite/gcc.target/arm/neon/vmlaQ_ns32.c 2010-07-29 15:38:15 +0000
10776@@ -3,7 +3,8 @@
10777
10778 /* { dg-do assemble } */
10779 /* { dg-require-effective-target arm_neon_ok } */
10780-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
10781+/* { dg-options "-save-temps -O0" } */
10782+/* { dg-add-options arm_neon } */
10783
10784 #include "arm_neon.h"
10785
10786
10787=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlaQ_nu16.c'
10788--- old/gcc/testsuite/gcc.target/arm/neon/vmlaQ_nu16.c 2007-07-25 11:28:31 +0000
10789+++ new/gcc/testsuite/gcc.target/arm/neon/vmlaQ_nu16.c 2010-07-29 15:38:15 +0000
10790@@ -3,7 +3,8 @@
10791
10792 /* { dg-do assemble } */
10793 /* { dg-require-effective-target arm_neon_ok } */
10794-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
10795+/* { dg-options "-save-temps -O0" } */
10796+/* { dg-add-options arm_neon } */
10797
10798 #include "arm_neon.h"
10799
10800
10801=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlaQ_nu32.c'
10802--- old/gcc/testsuite/gcc.target/arm/neon/vmlaQ_nu32.c 2007-07-25 11:28:31 +0000
10803+++ new/gcc/testsuite/gcc.target/arm/neon/vmlaQ_nu32.c 2010-07-29 15:38:15 +0000
10804@@ -3,7 +3,8 @@
10805
10806 /* { dg-do assemble } */
10807 /* { dg-require-effective-target arm_neon_ok } */
10808-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
10809+/* { dg-options "-save-temps -O0" } */
10810+/* { dg-add-options arm_neon } */
10811
10812 #include "arm_neon.h"
10813
10814
10815=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlaQf32.c'
10816--- old/gcc/testsuite/gcc.target/arm/neon/vmlaQf32.c 2007-07-25 11:28:31 +0000
10817+++ new/gcc/testsuite/gcc.target/arm/neon/vmlaQf32.c 2010-07-29 15:38:15 +0000
10818@@ -3,7 +3,8 @@
10819
10820 /* { dg-do assemble } */
10821 /* { dg-require-effective-target arm_neon_ok } */
10822-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
10823+/* { dg-options "-save-temps -O0" } */
10824+/* { dg-add-options arm_neon } */
10825
10826 #include "arm_neon.h"
10827
10828
10829=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlaQs16.c'
10830--- old/gcc/testsuite/gcc.target/arm/neon/vmlaQs16.c 2007-07-25 11:28:31 +0000
10831+++ new/gcc/testsuite/gcc.target/arm/neon/vmlaQs16.c 2010-07-29 15:38:15 +0000
10832@@ -3,7 +3,8 @@
10833
10834 /* { dg-do assemble } */
10835 /* { dg-require-effective-target arm_neon_ok } */
10836-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
10837+/* { dg-options "-save-temps -O0" } */
10838+/* { dg-add-options arm_neon } */
10839
10840 #include "arm_neon.h"
10841
10842
10843=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlaQs32.c'
10844--- old/gcc/testsuite/gcc.target/arm/neon/vmlaQs32.c 2007-07-25 11:28:31 +0000
10845+++ new/gcc/testsuite/gcc.target/arm/neon/vmlaQs32.c 2010-07-29 15:38:15 +0000
10846@@ -3,7 +3,8 @@
10847
10848 /* { dg-do assemble } */
10849 /* { dg-require-effective-target arm_neon_ok } */
10850-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
10851+/* { dg-options "-save-temps -O0" } */
10852+/* { dg-add-options arm_neon } */
10853
10854 #include "arm_neon.h"
10855
10856
10857=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlaQs8.c'
10858--- old/gcc/testsuite/gcc.target/arm/neon/vmlaQs8.c 2007-07-25 11:28:31 +0000
10859+++ new/gcc/testsuite/gcc.target/arm/neon/vmlaQs8.c 2010-07-29 15:38:15 +0000
10860@@ -3,7 +3,8 @@
10861
10862 /* { dg-do assemble } */
10863 /* { dg-require-effective-target arm_neon_ok } */
10864-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
10865+/* { dg-options "-save-temps -O0" } */
10866+/* { dg-add-options arm_neon } */
10867
10868 #include "arm_neon.h"
10869
10870
10871=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlaQu16.c'
10872--- old/gcc/testsuite/gcc.target/arm/neon/vmlaQu16.c 2007-07-25 11:28:31 +0000
10873+++ new/gcc/testsuite/gcc.target/arm/neon/vmlaQu16.c 2010-07-29 15:38:15 +0000
10874@@ -3,7 +3,8 @@
10875
10876 /* { dg-do assemble } */
10877 /* { dg-require-effective-target arm_neon_ok } */
10878-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
10879+/* { dg-options "-save-temps -O0" } */
10880+/* { dg-add-options arm_neon } */
10881
10882 #include "arm_neon.h"
10883
10884
10885=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlaQu32.c'
10886--- old/gcc/testsuite/gcc.target/arm/neon/vmlaQu32.c 2007-07-25 11:28:31 +0000
10887+++ new/gcc/testsuite/gcc.target/arm/neon/vmlaQu32.c 2010-07-29 15:38:15 +0000
10888@@ -3,7 +3,8 @@
10889
10890 /* { dg-do assemble } */
10891 /* { dg-require-effective-target arm_neon_ok } */
10892-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
10893+/* { dg-options "-save-temps -O0" } */
10894+/* { dg-add-options arm_neon } */
10895
10896 #include "arm_neon.h"
10897
10898
10899=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlaQu8.c'
10900--- old/gcc/testsuite/gcc.target/arm/neon/vmlaQu8.c 2007-07-25 11:28:31 +0000
10901+++ new/gcc/testsuite/gcc.target/arm/neon/vmlaQu8.c 2010-07-29 15:38:15 +0000
10902@@ -3,7 +3,8 @@
10903
10904 /* { dg-do assemble } */
10905 /* { dg-require-effective-target arm_neon_ok } */
10906-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
10907+/* { dg-options "-save-temps -O0" } */
10908+/* { dg-add-options arm_neon } */
10909
10910 #include "arm_neon.h"
10911
10912
10913=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmla_lanef32.c'
10914--- old/gcc/testsuite/gcc.target/arm/neon/vmla_lanef32.c 2007-07-25 11:28:31 +0000
10915+++ new/gcc/testsuite/gcc.target/arm/neon/vmla_lanef32.c 2010-07-29 15:38:15 +0000
10916@@ -3,7 +3,8 @@
10917
10918 /* { dg-do assemble } */
10919 /* { dg-require-effective-target arm_neon_ok } */
10920-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
10921+/* { dg-options "-save-temps -O0" } */
10922+/* { dg-add-options arm_neon } */
10923
10924 #include "arm_neon.h"
10925
10926
10927=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmla_lanes16.c'
10928--- old/gcc/testsuite/gcc.target/arm/neon/vmla_lanes16.c 2007-07-25 11:28:31 +0000
10929+++ new/gcc/testsuite/gcc.target/arm/neon/vmla_lanes16.c 2010-07-29 15:38:15 +0000
10930@@ -3,7 +3,8 @@
10931
10932 /* { dg-do assemble } */
10933 /* { dg-require-effective-target arm_neon_ok } */
10934-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
10935+/* { dg-options "-save-temps -O0" } */
10936+/* { dg-add-options arm_neon } */
10937
10938 #include "arm_neon.h"
10939
10940
10941=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmla_lanes32.c'
10942--- old/gcc/testsuite/gcc.target/arm/neon/vmla_lanes32.c 2007-07-25 11:28:31 +0000
10943+++ new/gcc/testsuite/gcc.target/arm/neon/vmla_lanes32.c 2010-07-29 15:38:15 +0000
10944@@ -3,7 +3,8 @@
10945
10946 /* { dg-do assemble } */
10947 /* { dg-require-effective-target arm_neon_ok } */
10948-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
10949+/* { dg-options "-save-temps -O0" } */
10950+/* { dg-add-options arm_neon } */
10951
10952 #include "arm_neon.h"
10953
10954
10955=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmla_laneu16.c'
10956--- old/gcc/testsuite/gcc.target/arm/neon/vmla_laneu16.c 2007-07-25 11:28:31 +0000
10957+++ new/gcc/testsuite/gcc.target/arm/neon/vmla_laneu16.c 2010-07-29 15:38:15 +0000
10958@@ -3,7 +3,8 @@
10959
10960 /* { dg-do assemble } */
10961 /* { dg-require-effective-target arm_neon_ok } */
10962-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
10963+/* { dg-options "-save-temps -O0" } */
10964+/* { dg-add-options arm_neon } */
10965
10966 #include "arm_neon.h"
10967
10968
10969=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmla_laneu32.c'
10970--- old/gcc/testsuite/gcc.target/arm/neon/vmla_laneu32.c 2007-07-25 11:28:31 +0000
10971+++ new/gcc/testsuite/gcc.target/arm/neon/vmla_laneu32.c 2010-07-29 15:38:15 +0000
10972@@ -3,7 +3,8 @@
10973
10974 /* { dg-do assemble } */
10975 /* { dg-require-effective-target arm_neon_ok } */
10976-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
10977+/* { dg-options "-save-temps -O0" } */
10978+/* { dg-add-options arm_neon } */
10979
10980 #include "arm_neon.h"
10981
10982
10983=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmla_nf32.c'
10984--- old/gcc/testsuite/gcc.target/arm/neon/vmla_nf32.c 2007-07-25 11:28:31 +0000
10985+++ new/gcc/testsuite/gcc.target/arm/neon/vmla_nf32.c 2010-07-29 15:38:15 +0000
10986@@ -3,7 +3,8 @@
10987
10988 /* { dg-do assemble } */
10989 /* { dg-require-effective-target arm_neon_ok } */
10990-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
10991+/* { dg-options "-save-temps -O0" } */
10992+/* { dg-add-options arm_neon } */
10993
10994 #include "arm_neon.h"
10995
10996
10997=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmla_ns16.c'
10998--- old/gcc/testsuite/gcc.target/arm/neon/vmla_ns16.c 2007-07-25 11:28:31 +0000
10999+++ new/gcc/testsuite/gcc.target/arm/neon/vmla_ns16.c 2010-07-29 15:38:15 +0000
11000@@ -3,7 +3,8 @@
11001
11002 /* { dg-do assemble } */
11003 /* { dg-require-effective-target arm_neon_ok } */
11004-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
11005+/* { dg-options "-save-temps -O0" } */
11006+/* { dg-add-options arm_neon } */
11007
11008 #include "arm_neon.h"
11009
11010
11011=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmla_ns32.c'
11012--- old/gcc/testsuite/gcc.target/arm/neon/vmla_ns32.c 2007-07-25 11:28:31 +0000
11013+++ new/gcc/testsuite/gcc.target/arm/neon/vmla_ns32.c 2010-07-29 15:38:15 +0000
11014@@ -3,7 +3,8 @@
11015
11016 /* { dg-do assemble } */
11017 /* { dg-require-effective-target arm_neon_ok } */
11018-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
11019+/* { dg-options "-save-temps -O0" } */
11020+/* { dg-add-options arm_neon } */
11021
11022 #include "arm_neon.h"
11023
11024
11025=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmla_nu16.c'
11026--- old/gcc/testsuite/gcc.target/arm/neon/vmla_nu16.c 2007-07-25 11:28:31 +0000
11027+++ new/gcc/testsuite/gcc.target/arm/neon/vmla_nu16.c 2010-07-29 15:38:15 +0000
11028@@ -3,7 +3,8 @@
11029
11030 /* { dg-do assemble } */
11031 /* { dg-require-effective-target arm_neon_ok } */
11032-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
11033+/* { dg-options "-save-temps -O0" } */
11034+/* { dg-add-options arm_neon } */
11035
11036 #include "arm_neon.h"
11037
11038
11039=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmla_nu32.c'
11040--- old/gcc/testsuite/gcc.target/arm/neon/vmla_nu32.c 2007-07-25 11:28:31 +0000
11041+++ new/gcc/testsuite/gcc.target/arm/neon/vmla_nu32.c 2010-07-29 15:38:15 +0000
11042@@ -3,7 +3,8 @@
11043
11044 /* { dg-do assemble } */
11045 /* { dg-require-effective-target arm_neon_ok } */
11046-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
11047+/* { dg-options "-save-temps -O0" } */
11048+/* { dg-add-options arm_neon } */
11049
11050 #include "arm_neon.h"
11051
11052
11053=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlaf32.c'
11054--- old/gcc/testsuite/gcc.target/arm/neon/vmlaf32.c 2007-07-25 11:28:31 +0000
11055+++ new/gcc/testsuite/gcc.target/arm/neon/vmlaf32.c 2010-07-29 15:38:15 +0000
11056@@ -3,7 +3,8 @@
11057
11058 /* { dg-do assemble } */
11059 /* { dg-require-effective-target arm_neon_ok } */
11060-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
11061+/* { dg-options "-save-temps -O0" } */
11062+/* { dg-add-options arm_neon } */
11063
11064 #include "arm_neon.h"
11065
11066
11067=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlal_lanes16.c'
11068--- old/gcc/testsuite/gcc.target/arm/neon/vmlal_lanes16.c 2007-07-25 11:28:31 +0000
11069+++ new/gcc/testsuite/gcc.target/arm/neon/vmlal_lanes16.c 2010-07-29 15:38:15 +0000
11070@@ -3,7 +3,8 @@
11071
11072 /* { dg-do assemble } */
11073 /* { dg-require-effective-target arm_neon_ok } */
11074-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
11075+/* { dg-options "-save-temps -O0" } */
11076+/* { dg-add-options arm_neon } */
11077
11078 #include "arm_neon.h"
11079
11080
11081=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlal_lanes32.c'
11082--- old/gcc/testsuite/gcc.target/arm/neon/vmlal_lanes32.c 2007-07-25 11:28:31 +0000
11083+++ new/gcc/testsuite/gcc.target/arm/neon/vmlal_lanes32.c 2010-07-29 15:38:15 +0000
11084@@ -3,7 +3,8 @@
11085
11086 /* { dg-do assemble } */
11087 /* { dg-require-effective-target arm_neon_ok } */
11088-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
11089+/* { dg-options "-save-temps -O0" } */
11090+/* { dg-add-options arm_neon } */
11091
11092 #include "arm_neon.h"
11093
11094
11095=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlal_laneu16.c'
11096--- old/gcc/testsuite/gcc.target/arm/neon/vmlal_laneu16.c 2007-07-25 11:28:31 +0000
11097+++ new/gcc/testsuite/gcc.target/arm/neon/vmlal_laneu16.c 2010-07-29 15:38:15 +0000
11098@@ -3,7 +3,8 @@
11099
11100 /* { dg-do assemble } */
11101 /* { dg-require-effective-target arm_neon_ok } */
11102-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
11103+/* { dg-options "-save-temps -O0" } */
11104+/* { dg-add-options arm_neon } */
11105
11106 #include "arm_neon.h"
11107
11108
11109=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlal_laneu32.c'
11110--- old/gcc/testsuite/gcc.target/arm/neon/vmlal_laneu32.c 2007-07-25 11:28:31 +0000
11111+++ new/gcc/testsuite/gcc.target/arm/neon/vmlal_laneu32.c 2010-07-29 15:38:15 +0000
11112@@ -3,7 +3,8 @@
11113
11114 /* { dg-do assemble } */
11115 /* { dg-require-effective-target arm_neon_ok } */
11116-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
11117+/* { dg-options "-save-temps -O0" } */
11118+/* { dg-add-options arm_neon } */
11119
11120 #include "arm_neon.h"
11121
11122
11123=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlal_ns16.c'
11124--- old/gcc/testsuite/gcc.target/arm/neon/vmlal_ns16.c 2007-07-25 11:28:31 +0000
11125+++ new/gcc/testsuite/gcc.target/arm/neon/vmlal_ns16.c 2010-07-29 15:38:15 +0000
11126@@ -3,7 +3,8 @@
11127
11128 /* { dg-do assemble } */
11129 /* { dg-require-effective-target arm_neon_ok } */
11130-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
11131+/* { dg-options "-save-temps -O0" } */
11132+/* { dg-add-options arm_neon } */
11133
11134 #include "arm_neon.h"
11135
11136
11137=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlal_ns32.c'
11138--- old/gcc/testsuite/gcc.target/arm/neon/vmlal_ns32.c 2007-07-25 11:28:31 +0000
11139+++ new/gcc/testsuite/gcc.target/arm/neon/vmlal_ns32.c 2010-07-29 15:38:15 +0000
11140@@ -3,7 +3,8 @@
11141
11142 /* { dg-do assemble } */
11143 /* { dg-require-effective-target arm_neon_ok } */
11144-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
11145+/* { dg-options "-save-temps -O0" } */
11146+/* { dg-add-options arm_neon } */
11147
11148 #include "arm_neon.h"
11149
11150
11151=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlal_nu16.c'
11152--- old/gcc/testsuite/gcc.target/arm/neon/vmlal_nu16.c 2007-07-25 11:28:31 +0000
11153+++ new/gcc/testsuite/gcc.target/arm/neon/vmlal_nu16.c 2010-07-29 15:38:15 +0000
11154@@ -3,7 +3,8 @@
11155
11156 /* { dg-do assemble } */
11157 /* { dg-require-effective-target arm_neon_ok } */
11158-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
11159+/* { dg-options "-save-temps -O0" } */
11160+/* { dg-add-options arm_neon } */
11161
11162 #include "arm_neon.h"
11163
11164
11165=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlal_nu32.c'
11166--- old/gcc/testsuite/gcc.target/arm/neon/vmlal_nu32.c 2007-07-25 11:28:31 +0000
11167+++ new/gcc/testsuite/gcc.target/arm/neon/vmlal_nu32.c 2010-07-29 15:38:15 +0000
11168@@ -3,7 +3,8 @@
11169
11170 /* { dg-do assemble } */
11171 /* { dg-require-effective-target arm_neon_ok } */
11172-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
11173+/* { dg-options "-save-temps -O0" } */
11174+/* { dg-add-options arm_neon } */
11175
11176 #include "arm_neon.h"
11177
11178
11179=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlals16.c'
11180--- old/gcc/testsuite/gcc.target/arm/neon/vmlals16.c 2007-07-25 11:28:31 +0000
11181+++ new/gcc/testsuite/gcc.target/arm/neon/vmlals16.c 2010-07-29 15:38:15 +0000
11182@@ -3,7 +3,8 @@
11183
11184 /* { dg-do assemble } */
11185 /* { dg-require-effective-target arm_neon_ok } */
11186-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
11187+/* { dg-options "-save-temps -O0" } */
11188+/* { dg-add-options arm_neon } */
11189
11190 #include "arm_neon.h"
11191
11192
11193=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlals32.c'
11194--- old/gcc/testsuite/gcc.target/arm/neon/vmlals32.c 2007-07-25 11:28:31 +0000
11195+++ new/gcc/testsuite/gcc.target/arm/neon/vmlals32.c 2010-07-29 15:38:15 +0000
11196@@ -3,7 +3,8 @@
11197
11198 /* { dg-do assemble } */
11199 /* { dg-require-effective-target arm_neon_ok } */
11200-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
11201+/* { dg-options "-save-temps -O0" } */
11202+/* { dg-add-options arm_neon } */
11203
11204 #include "arm_neon.h"
11205
11206
11207=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlals8.c'
11208--- old/gcc/testsuite/gcc.target/arm/neon/vmlals8.c 2007-07-25 11:28:31 +0000
11209+++ new/gcc/testsuite/gcc.target/arm/neon/vmlals8.c 2010-07-29 15:38:15 +0000
11210@@ -3,7 +3,8 @@
11211
11212 /* { dg-do assemble } */
11213 /* { dg-require-effective-target arm_neon_ok } */
11214-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
11215+/* { dg-options "-save-temps -O0" } */
11216+/* { dg-add-options arm_neon } */
11217
11218 #include "arm_neon.h"
11219
11220
11221=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlalu16.c'
11222--- old/gcc/testsuite/gcc.target/arm/neon/vmlalu16.c 2007-07-25 11:28:31 +0000
11223+++ new/gcc/testsuite/gcc.target/arm/neon/vmlalu16.c 2010-07-29 15:38:15 +0000
11224@@ -3,7 +3,8 @@
11225
11226 /* { dg-do assemble } */
11227 /* { dg-require-effective-target arm_neon_ok } */
11228-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
11229+/* { dg-options "-save-temps -O0" } */
11230+/* { dg-add-options arm_neon } */
11231
11232 #include "arm_neon.h"
11233
11234
11235=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlalu32.c'
11236--- old/gcc/testsuite/gcc.target/arm/neon/vmlalu32.c 2007-07-25 11:28:31 +0000
11237+++ new/gcc/testsuite/gcc.target/arm/neon/vmlalu32.c 2010-07-29 15:38:15 +0000
11238@@ -3,7 +3,8 @@
11239
11240 /* { dg-do assemble } */
11241 /* { dg-require-effective-target arm_neon_ok } */
11242-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
11243+/* { dg-options "-save-temps -O0" } */
11244+/* { dg-add-options arm_neon } */
11245
11246 #include "arm_neon.h"
11247
11248
11249=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlalu8.c'
11250--- old/gcc/testsuite/gcc.target/arm/neon/vmlalu8.c 2007-07-25 11:28:31 +0000
11251+++ new/gcc/testsuite/gcc.target/arm/neon/vmlalu8.c 2010-07-29 15:38:15 +0000
11252@@ -3,7 +3,8 @@
11253
11254 /* { dg-do assemble } */
11255 /* { dg-require-effective-target arm_neon_ok } */
11256-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
11257+/* { dg-options "-save-temps -O0" } */
11258+/* { dg-add-options arm_neon } */
11259
11260 #include "arm_neon.h"
11261
11262
11263=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlas16.c'
11264--- old/gcc/testsuite/gcc.target/arm/neon/vmlas16.c 2007-07-25 11:28:31 +0000
11265+++ new/gcc/testsuite/gcc.target/arm/neon/vmlas16.c 2010-07-29 15:38:15 +0000
11266@@ -3,7 +3,8 @@
11267
11268 /* { dg-do assemble } */
11269 /* { dg-require-effective-target arm_neon_ok } */
11270-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
11271+/* { dg-options "-save-temps -O0" } */
11272+/* { dg-add-options arm_neon } */
11273
11274 #include "arm_neon.h"
11275
11276
11277=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlas32.c'
11278--- old/gcc/testsuite/gcc.target/arm/neon/vmlas32.c 2007-07-25 11:28:31 +0000
11279+++ new/gcc/testsuite/gcc.target/arm/neon/vmlas32.c 2010-07-29 15:38:15 +0000
11280@@ -3,7 +3,8 @@
11281
11282 /* { dg-do assemble } */
11283 /* { dg-require-effective-target arm_neon_ok } */
11284-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
11285+/* { dg-options "-save-temps -O0" } */
11286+/* { dg-add-options arm_neon } */
11287
11288 #include "arm_neon.h"
11289
11290
11291=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlas8.c'
11292--- old/gcc/testsuite/gcc.target/arm/neon/vmlas8.c 2007-07-25 11:28:31 +0000
11293+++ new/gcc/testsuite/gcc.target/arm/neon/vmlas8.c 2010-07-29 15:38:15 +0000
11294@@ -3,7 +3,8 @@
11295
11296 /* { dg-do assemble } */
11297 /* { dg-require-effective-target arm_neon_ok } */
11298-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
11299+/* { dg-options "-save-temps -O0" } */
11300+/* { dg-add-options arm_neon } */
11301
11302 #include "arm_neon.h"
11303
11304
11305=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlau16.c'
11306--- old/gcc/testsuite/gcc.target/arm/neon/vmlau16.c 2007-07-25 11:28:31 +0000
11307+++ new/gcc/testsuite/gcc.target/arm/neon/vmlau16.c 2010-07-29 15:38:15 +0000
11308@@ -3,7 +3,8 @@
11309
11310 /* { dg-do assemble } */
11311 /* { dg-require-effective-target arm_neon_ok } */
11312-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
11313+/* { dg-options "-save-temps -O0" } */
11314+/* { dg-add-options arm_neon } */
11315
11316 #include "arm_neon.h"
11317
11318
11319=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlau32.c'
11320--- old/gcc/testsuite/gcc.target/arm/neon/vmlau32.c 2007-07-25 11:28:31 +0000
11321+++ new/gcc/testsuite/gcc.target/arm/neon/vmlau32.c 2010-07-29 15:38:15 +0000
11322@@ -3,7 +3,8 @@
11323
11324 /* { dg-do assemble } */
11325 /* { dg-require-effective-target arm_neon_ok } */
11326-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
11327+/* { dg-options "-save-temps -O0" } */
11328+/* { dg-add-options arm_neon } */
11329
11330 #include "arm_neon.h"
11331
11332
11333=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlau8.c'
11334--- old/gcc/testsuite/gcc.target/arm/neon/vmlau8.c 2007-07-25 11:28:31 +0000
11335+++ new/gcc/testsuite/gcc.target/arm/neon/vmlau8.c 2010-07-29 15:38:15 +0000
11336@@ -3,7 +3,8 @@
11337
11338 /* { dg-do assemble } */
11339 /* { dg-require-effective-target arm_neon_ok } */
11340-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
11341+/* { dg-options "-save-temps -O0" } */
11342+/* { dg-add-options arm_neon } */
11343
11344 #include "arm_neon.h"
11345
11346
11347=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlsQ_lanef32.c'
11348--- old/gcc/testsuite/gcc.target/arm/neon/vmlsQ_lanef32.c 2007-07-25 11:28:31 +0000
11349+++ new/gcc/testsuite/gcc.target/arm/neon/vmlsQ_lanef32.c 2010-07-29 15:38:15 +0000
11350@@ -3,7 +3,8 @@
11351
11352 /* { dg-do assemble } */
11353 /* { dg-require-effective-target arm_neon_ok } */
11354-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
11355+/* { dg-options "-save-temps -O0" } */
11356+/* { dg-add-options arm_neon } */
11357
11358 #include "arm_neon.h"
11359
11360
11361=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlsQ_lanes16.c'
11362--- old/gcc/testsuite/gcc.target/arm/neon/vmlsQ_lanes16.c 2007-07-25 11:28:31 +0000
11363+++ new/gcc/testsuite/gcc.target/arm/neon/vmlsQ_lanes16.c 2010-07-29 15:38:15 +0000
11364@@ -3,7 +3,8 @@
11365
11366 /* { dg-do assemble } */
11367 /* { dg-require-effective-target arm_neon_ok } */
11368-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
11369+/* { dg-options "-save-temps -O0" } */
11370+/* { dg-add-options arm_neon } */
11371
11372 #include "arm_neon.h"
11373
11374
11375=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlsQ_lanes32.c'
11376--- old/gcc/testsuite/gcc.target/arm/neon/vmlsQ_lanes32.c 2007-07-25 11:28:31 +0000
11377+++ new/gcc/testsuite/gcc.target/arm/neon/vmlsQ_lanes32.c 2010-07-29 15:38:15 +0000
11378@@ -3,7 +3,8 @@
11379
11380 /* { dg-do assemble } */
11381 /* { dg-require-effective-target arm_neon_ok } */
11382-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
11383+/* { dg-options "-save-temps -O0" } */
11384+/* { dg-add-options arm_neon } */
11385
11386 #include "arm_neon.h"
11387
11388
11389=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlsQ_laneu16.c'
11390--- old/gcc/testsuite/gcc.target/arm/neon/vmlsQ_laneu16.c 2007-07-25 11:28:31 +0000
11391+++ new/gcc/testsuite/gcc.target/arm/neon/vmlsQ_laneu16.c 2010-07-29 15:38:15 +0000
11392@@ -3,7 +3,8 @@
11393
11394 /* { dg-do assemble } */
11395 /* { dg-require-effective-target arm_neon_ok } */
11396-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
11397+/* { dg-options "-save-temps -O0" } */
11398+/* { dg-add-options arm_neon } */
11399
11400 #include "arm_neon.h"
11401
11402
11403=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlsQ_laneu32.c'
11404--- old/gcc/testsuite/gcc.target/arm/neon/vmlsQ_laneu32.c 2007-07-25 11:28:31 +0000
11405+++ new/gcc/testsuite/gcc.target/arm/neon/vmlsQ_laneu32.c 2010-07-29 15:38:15 +0000
11406@@ -3,7 +3,8 @@
11407
11408 /* { dg-do assemble } */
11409 /* { dg-require-effective-target arm_neon_ok } */
11410-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
11411+/* { dg-options "-save-temps -O0" } */
11412+/* { dg-add-options arm_neon } */
11413
11414 #include "arm_neon.h"
11415
11416
11417=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlsQ_nf32.c'
11418--- old/gcc/testsuite/gcc.target/arm/neon/vmlsQ_nf32.c 2007-07-25 11:28:31 +0000
11419+++ new/gcc/testsuite/gcc.target/arm/neon/vmlsQ_nf32.c 2010-07-29 15:38:15 +0000
11420@@ -3,7 +3,8 @@
11421
11422 /* { dg-do assemble } */
11423 /* { dg-require-effective-target arm_neon_ok } */
11424-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
11425+/* { dg-options "-save-temps -O0" } */
11426+/* { dg-add-options arm_neon } */
11427
11428 #include "arm_neon.h"
11429
11430
11431=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlsQ_ns16.c'
11432--- old/gcc/testsuite/gcc.target/arm/neon/vmlsQ_ns16.c 2007-07-25 11:28:31 +0000
11433+++ new/gcc/testsuite/gcc.target/arm/neon/vmlsQ_ns16.c 2010-07-29 15:38:15 +0000
11434@@ -3,7 +3,8 @@
11435
11436 /* { dg-do assemble } */
11437 /* { dg-require-effective-target arm_neon_ok } */
11438-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
11439+/* { dg-options "-save-temps -O0" } */
11440+/* { dg-add-options arm_neon } */
11441
11442 #include "arm_neon.h"
11443
11444
11445=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlsQ_ns32.c'
11446--- old/gcc/testsuite/gcc.target/arm/neon/vmlsQ_ns32.c 2007-07-25 11:28:31 +0000
11447+++ new/gcc/testsuite/gcc.target/arm/neon/vmlsQ_ns32.c 2010-07-29 15:38:15 +0000
11448@@ -3,7 +3,8 @@
11449
11450 /* { dg-do assemble } */
11451 /* { dg-require-effective-target arm_neon_ok } */
11452-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
11453+/* { dg-options "-save-temps -O0" } */
11454+/* { dg-add-options arm_neon } */
11455
11456 #include "arm_neon.h"
11457
11458
11459=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlsQ_nu16.c'
11460--- old/gcc/testsuite/gcc.target/arm/neon/vmlsQ_nu16.c 2007-07-25 11:28:31 +0000
11461+++ new/gcc/testsuite/gcc.target/arm/neon/vmlsQ_nu16.c 2010-07-29 15:38:15 +0000
11462@@ -3,7 +3,8 @@
11463
11464 /* { dg-do assemble } */
11465 /* { dg-require-effective-target arm_neon_ok } */
11466-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
11467+/* { dg-options "-save-temps -O0" } */
11468+/* { dg-add-options arm_neon } */
11469
11470 #include "arm_neon.h"
11471
11472
11473=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlsQ_nu32.c'
11474--- old/gcc/testsuite/gcc.target/arm/neon/vmlsQ_nu32.c 2007-07-25 11:28:31 +0000
11475+++ new/gcc/testsuite/gcc.target/arm/neon/vmlsQ_nu32.c 2010-07-29 15:38:15 +0000
11476@@ -3,7 +3,8 @@
11477
11478 /* { dg-do assemble } */
11479 /* { dg-require-effective-target arm_neon_ok } */
11480-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
11481+/* { dg-options "-save-temps -O0" } */
11482+/* { dg-add-options arm_neon } */
11483
11484 #include "arm_neon.h"
11485
11486
11487=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlsQf32.c'
11488--- old/gcc/testsuite/gcc.target/arm/neon/vmlsQf32.c 2007-07-25 11:28:31 +0000
11489+++ new/gcc/testsuite/gcc.target/arm/neon/vmlsQf32.c 2010-07-29 15:38:15 +0000
11490@@ -3,7 +3,8 @@
11491
11492 /* { dg-do assemble } */
11493 /* { dg-require-effective-target arm_neon_ok } */
11494-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
11495+/* { dg-options "-save-temps -O0" } */
11496+/* { dg-add-options arm_neon } */
11497
11498 #include "arm_neon.h"
11499
11500
11501=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlsQs16.c'
11502--- old/gcc/testsuite/gcc.target/arm/neon/vmlsQs16.c 2007-07-25 11:28:31 +0000
11503+++ new/gcc/testsuite/gcc.target/arm/neon/vmlsQs16.c 2010-07-29 15:38:15 +0000
11504@@ -3,7 +3,8 @@
11505
11506 /* { dg-do assemble } */
11507 /* { dg-require-effective-target arm_neon_ok } */
11508-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
11509+/* { dg-options "-save-temps -O0" } */
11510+/* { dg-add-options arm_neon } */
11511
11512 #include "arm_neon.h"
11513
11514
11515=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlsQs32.c'
11516--- old/gcc/testsuite/gcc.target/arm/neon/vmlsQs32.c 2007-07-25 11:28:31 +0000
11517+++ new/gcc/testsuite/gcc.target/arm/neon/vmlsQs32.c 2010-07-29 15:38:15 +0000
11518@@ -3,7 +3,8 @@
11519
11520 /* { dg-do assemble } */
11521 /* { dg-require-effective-target arm_neon_ok } */
11522-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
11523+/* { dg-options "-save-temps -O0" } */
11524+/* { dg-add-options arm_neon } */
11525
11526 #include "arm_neon.h"
11527
11528
11529=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlsQs8.c'
11530--- old/gcc/testsuite/gcc.target/arm/neon/vmlsQs8.c 2007-07-25 11:28:31 +0000
11531+++ new/gcc/testsuite/gcc.target/arm/neon/vmlsQs8.c 2010-07-29 15:38:15 +0000
11532@@ -3,7 +3,8 @@
11533
11534 /* { dg-do assemble } */
11535 /* { dg-require-effective-target arm_neon_ok } */
11536-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
11537+/* { dg-options "-save-temps -O0" } */
11538+/* { dg-add-options arm_neon } */
11539
11540 #include "arm_neon.h"
11541
11542
11543=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlsQu16.c'
11544--- old/gcc/testsuite/gcc.target/arm/neon/vmlsQu16.c 2007-07-25 11:28:31 +0000
11545+++ new/gcc/testsuite/gcc.target/arm/neon/vmlsQu16.c 2010-07-29 15:38:15 +0000
11546@@ -3,7 +3,8 @@
11547
11548 /* { dg-do assemble } */
11549 /* { dg-require-effective-target arm_neon_ok } */
11550-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
11551+/* { dg-options "-save-temps -O0" } */
11552+/* { dg-add-options arm_neon } */
11553
11554 #include "arm_neon.h"
11555
11556
11557=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlsQu32.c'
11558--- old/gcc/testsuite/gcc.target/arm/neon/vmlsQu32.c 2007-07-25 11:28:31 +0000
11559+++ new/gcc/testsuite/gcc.target/arm/neon/vmlsQu32.c 2010-07-29 15:38:15 +0000
11560@@ -3,7 +3,8 @@
11561
11562 /* { dg-do assemble } */
11563 /* { dg-require-effective-target arm_neon_ok } */
11564-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
11565+/* { dg-options "-save-temps -O0" } */
11566+/* { dg-add-options arm_neon } */
11567
11568 #include "arm_neon.h"
11569
11570
11571=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlsQu8.c'
11572--- old/gcc/testsuite/gcc.target/arm/neon/vmlsQu8.c 2007-07-25 11:28:31 +0000
11573+++ new/gcc/testsuite/gcc.target/arm/neon/vmlsQu8.c 2010-07-29 15:38:15 +0000
11574@@ -3,7 +3,8 @@
11575
11576 /* { dg-do assemble } */
11577 /* { dg-require-effective-target arm_neon_ok } */
11578-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
11579+/* { dg-options "-save-temps -O0" } */
11580+/* { dg-add-options arm_neon } */
11581
11582 #include "arm_neon.h"
11583
11584
11585=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmls_lanef32.c'
11586--- old/gcc/testsuite/gcc.target/arm/neon/vmls_lanef32.c 2007-07-25 11:28:31 +0000
11587+++ new/gcc/testsuite/gcc.target/arm/neon/vmls_lanef32.c 2010-07-29 15:38:15 +0000
11588@@ -3,7 +3,8 @@
11589
11590 /* { dg-do assemble } */
11591 /* { dg-require-effective-target arm_neon_ok } */
11592-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
11593+/* { dg-options "-save-temps -O0" } */
11594+/* { dg-add-options arm_neon } */
11595
11596 #include "arm_neon.h"
11597
11598
11599=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmls_lanes16.c'
11600--- old/gcc/testsuite/gcc.target/arm/neon/vmls_lanes16.c 2007-07-25 11:28:31 +0000
11601+++ new/gcc/testsuite/gcc.target/arm/neon/vmls_lanes16.c 2010-07-29 15:38:15 +0000
11602@@ -3,7 +3,8 @@
11603
11604 /* { dg-do assemble } */
11605 /* { dg-require-effective-target arm_neon_ok } */
11606-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
11607+/* { dg-options "-save-temps -O0" } */
11608+/* { dg-add-options arm_neon } */
11609
11610 #include "arm_neon.h"
11611
11612
11613=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmls_lanes32.c'
11614--- old/gcc/testsuite/gcc.target/arm/neon/vmls_lanes32.c 2007-07-25 11:28:31 +0000
11615+++ new/gcc/testsuite/gcc.target/arm/neon/vmls_lanes32.c 2010-07-29 15:38:15 +0000
11616@@ -3,7 +3,8 @@
11617
11618 /* { dg-do assemble } */
11619 /* { dg-require-effective-target arm_neon_ok } */
11620-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
11621+/* { dg-options "-save-temps -O0" } */
11622+/* { dg-add-options arm_neon } */
11623
11624 #include "arm_neon.h"
11625
11626
11627=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmls_laneu16.c'
11628--- old/gcc/testsuite/gcc.target/arm/neon/vmls_laneu16.c 2007-07-25 11:28:31 +0000
11629+++ new/gcc/testsuite/gcc.target/arm/neon/vmls_laneu16.c 2010-07-29 15:38:15 +0000
11630@@ -3,7 +3,8 @@
11631
11632 /* { dg-do assemble } */
11633 /* { dg-require-effective-target arm_neon_ok } */
11634-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
11635+/* { dg-options "-save-temps -O0" } */
11636+/* { dg-add-options arm_neon } */
11637
11638 #include "arm_neon.h"
11639
11640
11641=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmls_laneu32.c'
11642--- old/gcc/testsuite/gcc.target/arm/neon/vmls_laneu32.c 2007-07-25 11:28:31 +0000
11643+++ new/gcc/testsuite/gcc.target/arm/neon/vmls_laneu32.c 2010-07-29 15:38:15 +0000
11644@@ -3,7 +3,8 @@
11645
11646 /* { dg-do assemble } */
11647 /* { dg-require-effective-target arm_neon_ok } */
11648-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
11649+/* { dg-options "-save-temps -O0" } */
11650+/* { dg-add-options arm_neon } */
11651
11652 #include "arm_neon.h"
11653
11654
11655=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmls_nf32.c'
11656--- old/gcc/testsuite/gcc.target/arm/neon/vmls_nf32.c 2007-07-25 11:28:31 +0000
11657+++ new/gcc/testsuite/gcc.target/arm/neon/vmls_nf32.c 2010-07-29 15:38:15 +0000
11658@@ -3,7 +3,8 @@
11659
11660 /* { dg-do assemble } */
11661 /* { dg-require-effective-target arm_neon_ok } */
11662-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
11663+/* { dg-options "-save-temps -O0" } */
11664+/* { dg-add-options arm_neon } */
11665
11666 #include "arm_neon.h"
11667
11668
11669=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmls_ns16.c'
11670--- old/gcc/testsuite/gcc.target/arm/neon/vmls_ns16.c 2007-07-25 11:28:31 +0000
11671+++ new/gcc/testsuite/gcc.target/arm/neon/vmls_ns16.c 2010-07-29 15:38:15 +0000
11672@@ -3,7 +3,8 @@
11673
11674 /* { dg-do assemble } */
11675 /* { dg-require-effective-target arm_neon_ok } */
11676-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
11677+/* { dg-options "-save-temps -O0" } */
11678+/* { dg-add-options arm_neon } */
11679
11680 #include "arm_neon.h"
11681
11682
11683=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmls_ns32.c'
11684--- old/gcc/testsuite/gcc.target/arm/neon/vmls_ns32.c 2007-07-25 11:28:31 +0000
11685+++ new/gcc/testsuite/gcc.target/arm/neon/vmls_ns32.c 2010-07-29 15:38:15 +0000
11686@@ -3,7 +3,8 @@
11687
11688 /* { dg-do assemble } */
11689 /* { dg-require-effective-target arm_neon_ok } */
11690-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
11691+/* { dg-options "-save-temps -O0" } */
11692+/* { dg-add-options arm_neon } */
11693
11694 #include "arm_neon.h"
11695
11696
11697=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmls_nu16.c'
11698--- old/gcc/testsuite/gcc.target/arm/neon/vmls_nu16.c 2007-07-25 11:28:31 +0000
11699+++ new/gcc/testsuite/gcc.target/arm/neon/vmls_nu16.c 2010-07-29 15:38:15 +0000
11700@@ -3,7 +3,8 @@
11701
11702 /* { dg-do assemble } */
11703 /* { dg-require-effective-target arm_neon_ok } */
11704-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
11705+/* { dg-options "-save-temps -O0" } */
11706+/* { dg-add-options arm_neon } */
11707
11708 #include "arm_neon.h"
11709
11710
11711=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmls_nu32.c'
11712--- old/gcc/testsuite/gcc.target/arm/neon/vmls_nu32.c 2007-07-25 11:28:31 +0000
11713+++ new/gcc/testsuite/gcc.target/arm/neon/vmls_nu32.c 2010-07-29 15:38:15 +0000
11714@@ -3,7 +3,8 @@
11715
11716 /* { dg-do assemble } */
11717 /* { dg-require-effective-target arm_neon_ok } */
11718-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
11719+/* { dg-options "-save-temps -O0" } */
11720+/* { dg-add-options arm_neon } */
11721
11722 #include "arm_neon.h"
11723
11724
11725=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlsf32.c'
11726--- old/gcc/testsuite/gcc.target/arm/neon/vmlsf32.c 2007-07-25 11:28:31 +0000
11727+++ new/gcc/testsuite/gcc.target/arm/neon/vmlsf32.c 2010-07-29 15:38:15 +0000
11728@@ -3,7 +3,8 @@
11729
11730 /* { dg-do assemble } */
11731 /* { dg-require-effective-target arm_neon_ok } */
11732-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
11733+/* { dg-options "-save-temps -O0" } */
11734+/* { dg-add-options arm_neon } */
11735
11736 #include "arm_neon.h"
11737
11738
11739=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlsl_lanes16.c'
11740--- old/gcc/testsuite/gcc.target/arm/neon/vmlsl_lanes16.c 2007-07-25 11:28:31 +0000
11741+++ new/gcc/testsuite/gcc.target/arm/neon/vmlsl_lanes16.c 2010-07-29 15:38:15 +0000
11742@@ -3,7 +3,8 @@
11743
11744 /* { dg-do assemble } */
11745 /* { dg-require-effective-target arm_neon_ok } */
11746-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
11747+/* { dg-options "-save-temps -O0" } */
11748+/* { dg-add-options arm_neon } */
11749
11750 #include "arm_neon.h"
11751
11752
11753=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlsl_lanes32.c'
11754--- old/gcc/testsuite/gcc.target/arm/neon/vmlsl_lanes32.c 2007-07-25 11:28:31 +0000
11755+++ new/gcc/testsuite/gcc.target/arm/neon/vmlsl_lanes32.c 2010-07-29 15:38:15 +0000
11756@@ -3,7 +3,8 @@
11757
11758 /* { dg-do assemble } */
11759 /* { dg-require-effective-target arm_neon_ok } */
11760-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
11761+/* { dg-options "-save-temps -O0" } */
11762+/* { dg-add-options arm_neon } */
11763
11764 #include "arm_neon.h"
11765
11766
11767=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlsl_laneu16.c'
11768--- old/gcc/testsuite/gcc.target/arm/neon/vmlsl_laneu16.c 2007-07-25 11:28:31 +0000
11769+++ new/gcc/testsuite/gcc.target/arm/neon/vmlsl_laneu16.c 2010-07-29 15:38:15 +0000
11770@@ -3,7 +3,8 @@
11771
11772 /* { dg-do assemble } */
11773 /* { dg-require-effective-target arm_neon_ok } */
11774-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
11775+/* { dg-options "-save-temps -O0" } */
11776+/* { dg-add-options arm_neon } */
11777
11778 #include "arm_neon.h"
11779
11780
11781=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlsl_laneu32.c'
11782--- old/gcc/testsuite/gcc.target/arm/neon/vmlsl_laneu32.c 2007-07-25 11:28:31 +0000
11783+++ new/gcc/testsuite/gcc.target/arm/neon/vmlsl_laneu32.c 2010-07-29 15:38:15 +0000
11784@@ -3,7 +3,8 @@
11785
11786 /* { dg-do assemble } */
11787 /* { dg-require-effective-target arm_neon_ok } */
11788-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
11789+/* { dg-options "-save-temps -O0" } */
11790+/* { dg-add-options arm_neon } */
11791
11792 #include "arm_neon.h"
11793
11794
11795=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlsl_ns16.c'
11796--- old/gcc/testsuite/gcc.target/arm/neon/vmlsl_ns16.c 2007-07-25 11:28:31 +0000
11797+++ new/gcc/testsuite/gcc.target/arm/neon/vmlsl_ns16.c 2010-07-29 15:38:15 +0000
11798@@ -3,7 +3,8 @@
11799
11800 /* { dg-do assemble } */
11801 /* { dg-require-effective-target arm_neon_ok } */
11802-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
11803+/* { dg-options "-save-temps -O0" } */
11804+/* { dg-add-options arm_neon } */
11805
11806 #include "arm_neon.h"
11807
11808
11809=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlsl_ns32.c'
11810--- old/gcc/testsuite/gcc.target/arm/neon/vmlsl_ns32.c 2007-07-25 11:28:31 +0000
11811+++ new/gcc/testsuite/gcc.target/arm/neon/vmlsl_ns32.c 2010-07-29 15:38:15 +0000
11812@@ -3,7 +3,8 @@
11813
11814 /* { dg-do assemble } */
11815 /* { dg-require-effective-target arm_neon_ok } */
11816-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
11817+/* { dg-options "-save-temps -O0" } */
11818+/* { dg-add-options arm_neon } */
11819
11820 #include "arm_neon.h"
11821
11822
11823=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlsl_nu16.c'
11824--- old/gcc/testsuite/gcc.target/arm/neon/vmlsl_nu16.c 2007-07-25 11:28:31 +0000
11825+++ new/gcc/testsuite/gcc.target/arm/neon/vmlsl_nu16.c 2010-07-29 15:38:15 +0000
11826@@ -3,7 +3,8 @@
11827
11828 /* { dg-do assemble } */
11829 /* { dg-require-effective-target arm_neon_ok } */
11830-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
11831+/* { dg-options "-save-temps -O0" } */
11832+/* { dg-add-options arm_neon } */
11833
11834 #include "arm_neon.h"
11835
11836
11837=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlsl_nu32.c'
11838--- old/gcc/testsuite/gcc.target/arm/neon/vmlsl_nu32.c 2007-07-25 11:28:31 +0000
11839+++ new/gcc/testsuite/gcc.target/arm/neon/vmlsl_nu32.c 2010-07-29 15:38:15 +0000
11840@@ -3,7 +3,8 @@
11841
11842 /* { dg-do assemble } */
11843 /* { dg-require-effective-target arm_neon_ok } */
11844-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
11845+/* { dg-options "-save-temps -O0" } */
11846+/* { dg-add-options arm_neon } */
11847
11848 #include "arm_neon.h"
11849
11850
11851=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlsls16.c'
11852--- old/gcc/testsuite/gcc.target/arm/neon/vmlsls16.c 2007-07-25 11:28:31 +0000
11853+++ new/gcc/testsuite/gcc.target/arm/neon/vmlsls16.c 2010-07-29 15:38:15 +0000
11854@@ -3,7 +3,8 @@
11855
11856 /* { dg-do assemble } */
11857 /* { dg-require-effective-target arm_neon_ok } */
11858-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
11859+/* { dg-options "-save-temps -O0" } */
11860+/* { dg-add-options arm_neon } */
11861
11862 #include "arm_neon.h"
11863
11864
11865=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlsls32.c'
11866--- old/gcc/testsuite/gcc.target/arm/neon/vmlsls32.c 2007-07-25 11:28:31 +0000
11867+++ new/gcc/testsuite/gcc.target/arm/neon/vmlsls32.c 2010-07-29 15:38:15 +0000
11868@@ -3,7 +3,8 @@
11869
11870 /* { dg-do assemble } */
11871 /* { dg-require-effective-target arm_neon_ok } */
11872-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
11873+/* { dg-options "-save-temps -O0" } */
11874+/* { dg-add-options arm_neon } */
11875
11876 #include "arm_neon.h"
11877
11878
11879=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlsls8.c'
11880--- old/gcc/testsuite/gcc.target/arm/neon/vmlsls8.c 2007-07-25 11:28:31 +0000
11881+++ new/gcc/testsuite/gcc.target/arm/neon/vmlsls8.c 2010-07-29 15:38:15 +0000
11882@@ -3,7 +3,8 @@
11883
11884 /* { dg-do assemble } */
11885 /* { dg-require-effective-target arm_neon_ok } */
11886-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
11887+/* { dg-options "-save-temps -O0" } */
11888+/* { dg-add-options arm_neon } */
11889
11890 #include "arm_neon.h"
11891
11892
11893=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlslu16.c'
11894--- old/gcc/testsuite/gcc.target/arm/neon/vmlslu16.c 2007-07-25 11:28:31 +0000
11895+++ new/gcc/testsuite/gcc.target/arm/neon/vmlslu16.c 2010-07-29 15:38:15 +0000
11896@@ -3,7 +3,8 @@
11897
11898 /* { dg-do assemble } */
11899 /* { dg-require-effective-target arm_neon_ok } */
11900-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
11901+/* { dg-options "-save-temps -O0" } */
11902+/* { dg-add-options arm_neon } */
11903
11904 #include "arm_neon.h"
11905
11906
11907=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlslu32.c'
11908--- old/gcc/testsuite/gcc.target/arm/neon/vmlslu32.c 2007-07-25 11:28:31 +0000
11909+++ new/gcc/testsuite/gcc.target/arm/neon/vmlslu32.c 2010-07-29 15:38:15 +0000
11910@@ -3,7 +3,8 @@
11911
11912 /* { dg-do assemble } */
11913 /* { dg-require-effective-target arm_neon_ok } */
11914-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
11915+/* { dg-options "-save-temps -O0" } */
11916+/* { dg-add-options arm_neon } */
11917
11918 #include "arm_neon.h"
11919
11920
11921=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlslu8.c'
11922--- old/gcc/testsuite/gcc.target/arm/neon/vmlslu8.c 2007-07-25 11:28:31 +0000
11923+++ new/gcc/testsuite/gcc.target/arm/neon/vmlslu8.c 2010-07-29 15:38:15 +0000
11924@@ -3,7 +3,8 @@
11925
11926 /* { dg-do assemble } */
11927 /* { dg-require-effective-target arm_neon_ok } */
11928-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
11929+/* { dg-options "-save-temps -O0" } */
11930+/* { dg-add-options arm_neon } */
11931
11932 #include "arm_neon.h"
11933
11934
11935=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlss16.c'
11936--- old/gcc/testsuite/gcc.target/arm/neon/vmlss16.c 2007-07-25 11:28:31 +0000
11937+++ new/gcc/testsuite/gcc.target/arm/neon/vmlss16.c 2010-07-29 15:38:15 +0000
11938@@ -3,7 +3,8 @@
11939
11940 /* { dg-do assemble } */
11941 /* { dg-require-effective-target arm_neon_ok } */
11942-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
11943+/* { dg-options "-save-temps -O0" } */
11944+/* { dg-add-options arm_neon } */
11945
11946 #include "arm_neon.h"
11947
11948
11949=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlss32.c'
11950--- old/gcc/testsuite/gcc.target/arm/neon/vmlss32.c 2007-07-25 11:28:31 +0000
11951+++ new/gcc/testsuite/gcc.target/arm/neon/vmlss32.c 2010-07-29 15:38:15 +0000
11952@@ -3,7 +3,8 @@
11953
11954 /* { dg-do assemble } */
11955 /* { dg-require-effective-target arm_neon_ok } */
11956-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
11957+/* { dg-options "-save-temps -O0" } */
11958+/* { dg-add-options arm_neon } */
11959
11960 #include "arm_neon.h"
11961
11962
11963=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlss8.c'
11964--- old/gcc/testsuite/gcc.target/arm/neon/vmlss8.c 2007-07-25 11:28:31 +0000
11965+++ new/gcc/testsuite/gcc.target/arm/neon/vmlss8.c 2010-07-29 15:38:15 +0000
11966@@ -3,7 +3,8 @@
11967
11968 /* { dg-do assemble } */
11969 /* { dg-require-effective-target arm_neon_ok } */
11970-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
11971+/* { dg-options "-save-temps -O0" } */
11972+/* { dg-add-options arm_neon } */
11973
11974 #include "arm_neon.h"
11975
11976
11977=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlsu16.c'
11978--- old/gcc/testsuite/gcc.target/arm/neon/vmlsu16.c 2007-07-25 11:28:31 +0000
11979+++ new/gcc/testsuite/gcc.target/arm/neon/vmlsu16.c 2010-07-29 15:38:15 +0000
11980@@ -3,7 +3,8 @@
11981
11982 /* { dg-do assemble } */
11983 /* { dg-require-effective-target arm_neon_ok } */
11984-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
11985+/* { dg-options "-save-temps -O0" } */
11986+/* { dg-add-options arm_neon } */
11987
11988 #include "arm_neon.h"
11989
11990
11991=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlsu32.c'
11992--- old/gcc/testsuite/gcc.target/arm/neon/vmlsu32.c 2007-07-25 11:28:31 +0000
11993+++ new/gcc/testsuite/gcc.target/arm/neon/vmlsu32.c 2010-07-29 15:38:15 +0000
11994@@ -3,7 +3,8 @@
11995
11996 /* { dg-do assemble } */
11997 /* { dg-require-effective-target arm_neon_ok } */
11998-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
11999+/* { dg-options "-save-temps -O0" } */
12000+/* { dg-add-options arm_neon } */
12001
12002 #include "arm_neon.h"
12003
12004
12005=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlsu8.c'
12006--- old/gcc/testsuite/gcc.target/arm/neon/vmlsu8.c 2007-07-25 11:28:31 +0000
12007+++ new/gcc/testsuite/gcc.target/arm/neon/vmlsu8.c 2010-07-29 15:38:15 +0000
12008@@ -3,7 +3,8 @@
12009
12010 /* { dg-do assemble } */
12011 /* { dg-require-effective-target arm_neon_ok } */
12012-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
12013+/* { dg-options "-save-temps -O0" } */
12014+/* { dg-add-options arm_neon } */
12015
12016 #include "arm_neon.h"
12017
12018
12019=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmovQ_nf32.c'
12020--- old/gcc/testsuite/gcc.target/arm/neon/vmovQ_nf32.c 2009-11-11 14:23:03 +0000
12021+++ new/gcc/testsuite/gcc.target/arm/neon/vmovQ_nf32.c 2010-07-29 15:38:15 +0000
12022@@ -3,7 +3,8 @@
12023
12024 /* { dg-do assemble } */
12025 /* { dg-require-effective-target arm_neon_ok } */
12026-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
12027+/* { dg-options "-save-temps -O0" } */
12028+/* { dg-add-options arm_neon } */
12029
12030 #include "arm_neon.h"
12031
12032
12033=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmovQ_np16.c'
12034--- old/gcc/testsuite/gcc.target/arm/neon/vmovQ_np16.c 2009-11-11 14:23:03 +0000
12035+++ new/gcc/testsuite/gcc.target/arm/neon/vmovQ_np16.c 2010-07-29 15:38:15 +0000
12036@@ -3,7 +3,8 @@
12037
12038 /* { dg-do assemble } */
12039 /* { dg-require-effective-target arm_neon_ok } */
12040-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
12041+/* { dg-options "-save-temps -O0" } */
12042+/* { dg-add-options arm_neon } */
12043
12044 #include "arm_neon.h"
12045
12046
12047=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmovQ_np8.c'
12048--- old/gcc/testsuite/gcc.target/arm/neon/vmovQ_np8.c 2009-11-11 14:23:03 +0000
12049+++ new/gcc/testsuite/gcc.target/arm/neon/vmovQ_np8.c 2010-07-29 15:38:15 +0000
12050@@ -3,7 +3,8 @@
12051
12052 /* { dg-do assemble } */
12053 /* { dg-require-effective-target arm_neon_ok } */
12054-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
12055+/* { dg-options "-save-temps -O0" } */
12056+/* { dg-add-options arm_neon } */
12057
12058 #include "arm_neon.h"
12059
12060
12061=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmovQ_ns16.c'
12062--- old/gcc/testsuite/gcc.target/arm/neon/vmovQ_ns16.c 2009-11-11 14:23:03 +0000
12063+++ new/gcc/testsuite/gcc.target/arm/neon/vmovQ_ns16.c 2010-07-29 15:38:15 +0000
12064@@ -3,7 +3,8 @@
12065
12066 /* { dg-do assemble } */
12067 /* { dg-require-effective-target arm_neon_ok } */
12068-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
12069+/* { dg-options "-save-temps -O0" } */
12070+/* { dg-add-options arm_neon } */
12071
12072 #include "arm_neon.h"
12073
12074
12075=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmovQ_ns32.c'
12076--- old/gcc/testsuite/gcc.target/arm/neon/vmovQ_ns32.c 2009-11-11 14:23:03 +0000
12077+++ new/gcc/testsuite/gcc.target/arm/neon/vmovQ_ns32.c 2010-07-29 15:38:15 +0000
12078@@ -3,7 +3,8 @@
12079
12080 /* { dg-do assemble } */
12081 /* { dg-require-effective-target arm_neon_ok } */
12082-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
12083+/* { dg-options "-save-temps -O0" } */
12084+/* { dg-add-options arm_neon } */
12085
12086 #include "arm_neon.h"
12087
12088
12089=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmovQ_ns64.c'
12090--- old/gcc/testsuite/gcc.target/arm/neon/vmovQ_ns64.c 2007-07-25 11:28:31 +0000
12091+++ new/gcc/testsuite/gcc.target/arm/neon/vmovQ_ns64.c 2010-07-29 15:38:15 +0000
12092@@ -3,7 +3,8 @@
12093
12094 /* { dg-do assemble } */
12095 /* { dg-require-effective-target arm_neon_ok } */
12096-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
12097+/* { dg-options "-save-temps -O0" } */
12098+/* { dg-add-options arm_neon } */
12099
12100 #include "arm_neon.h"
12101
12102
12103=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmovQ_ns8.c'
12104--- old/gcc/testsuite/gcc.target/arm/neon/vmovQ_ns8.c 2009-11-11 14:23:03 +0000
12105+++ new/gcc/testsuite/gcc.target/arm/neon/vmovQ_ns8.c 2010-07-29 15:38:15 +0000
12106@@ -3,7 +3,8 @@
12107
12108 /* { dg-do assemble } */
12109 /* { dg-require-effective-target arm_neon_ok } */
12110-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
12111+/* { dg-options "-save-temps -O0" } */
12112+/* { dg-add-options arm_neon } */
12113
12114 #include "arm_neon.h"
12115
12116
12117=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmovQ_nu16.c'
12118--- old/gcc/testsuite/gcc.target/arm/neon/vmovQ_nu16.c 2009-11-11 14:23:03 +0000
12119+++ new/gcc/testsuite/gcc.target/arm/neon/vmovQ_nu16.c 2010-07-29 15:38:15 +0000
12120@@ -3,7 +3,8 @@
12121
12122 /* { dg-do assemble } */
12123 /* { dg-require-effective-target arm_neon_ok } */
12124-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
12125+/* { dg-options "-save-temps -O0" } */
12126+/* { dg-add-options arm_neon } */
12127
12128 #include "arm_neon.h"
12129
12130
12131=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmovQ_nu32.c'
12132--- old/gcc/testsuite/gcc.target/arm/neon/vmovQ_nu32.c 2009-11-11 14:23:03 +0000
12133+++ new/gcc/testsuite/gcc.target/arm/neon/vmovQ_nu32.c 2010-07-29 15:38:15 +0000
12134@@ -3,7 +3,8 @@
12135
12136 /* { dg-do assemble } */
12137 /* { dg-require-effective-target arm_neon_ok } */
12138-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
12139+/* { dg-options "-save-temps -O0" } */
12140+/* { dg-add-options arm_neon } */
12141
12142 #include "arm_neon.h"
12143
12144
12145=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmovQ_nu64.c'
12146--- old/gcc/testsuite/gcc.target/arm/neon/vmovQ_nu64.c 2007-07-25 11:28:31 +0000
12147+++ new/gcc/testsuite/gcc.target/arm/neon/vmovQ_nu64.c 2010-07-29 15:38:15 +0000
12148@@ -3,7 +3,8 @@
12149
12150 /* { dg-do assemble } */
12151 /* { dg-require-effective-target arm_neon_ok } */
12152-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
12153+/* { dg-options "-save-temps -O0" } */
12154+/* { dg-add-options arm_neon } */
12155
12156 #include "arm_neon.h"
12157
12158
12159=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmovQ_nu8.c'
12160--- old/gcc/testsuite/gcc.target/arm/neon/vmovQ_nu8.c 2009-11-11 14:23:03 +0000
12161+++ new/gcc/testsuite/gcc.target/arm/neon/vmovQ_nu8.c 2010-07-29 15:38:15 +0000
12162@@ -3,7 +3,8 @@
12163
12164 /* { dg-do assemble } */
12165 /* { dg-require-effective-target arm_neon_ok } */
12166-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
12167+/* { dg-options "-save-temps -O0" } */
12168+/* { dg-add-options arm_neon } */
12169
12170 #include "arm_neon.h"
12171
12172
12173=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmov_nf32.c'
12174--- old/gcc/testsuite/gcc.target/arm/neon/vmov_nf32.c 2009-11-11 14:23:03 +0000
12175+++ new/gcc/testsuite/gcc.target/arm/neon/vmov_nf32.c 2010-07-29 15:38:15 +0000
12176@@ -3,7 +3,8 @@
12177
12178 /* { dg-do assemble } */
12179 /* { dg-require-effective-target arm_neon_ok } */
12180-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
12181+/* { dg-options "-save-temps -O0" } */
12182+/* { dg-add-options arm_neon } */
12183
12184 #include "arm_neon.h"
12185
12186
12187=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmov_np16.c'
12188--- old/gcc/testsuite/gcc.target/arm/neon/vmov_np16.c 2009-11-11 14:23:03 +0000
12189+++ new/gcc/testsuite/gcc.target/arm/neon/vmov_np16.c 2010-07-29 15:38:15 +0000
12190@@ -3,7 +3,8 @@
12191
12192 /* { dg-do assemble } */
12193 /* { dg-require-effective-target arm_neon_ok } */
12194-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
12195+/* { dg-options "-save-temps -O0" } */
12196+/* { dg-add-options arm_neon } */
12197
12198 #include "arm_neon.h"
12199
12200
12201=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmov_np8.c'
12202--- old/gcc/testsuite/gcc.target/arm/neon/vmov_np8.c 2009-11-11 14:23:03 +0000
12203+++ new/gcc/testsuite/gcc.target/arm/neon/vmov_np8.c 2010-07-29 15:38:15 +0000
12204@@ -3,7 +3,8 @@
12205
12206 /* { dg-do assemble } */
12207 /* { dg-require-effective-target arm_neon_ok } */
12208-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
12209+/* { dg-options "-save-temps -O0" } */
12210+/* { dg-add-options arm_neon } */
12211
12212 #include "arm_neon.h"
12213
12214
12215=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmov_ns16.c'
12216--- old/gcc/testsuite/gcc.target/arm/neon/vmov_ns16.c 2009-11-11 14:23:03 +0000
12217+++ new/gcc/testsuite/gcc.target/arm/neon/vmov_ns16.c 2010-07-29 15:38:15 +0000
12218@@ -3,7 +3,8 @@
12219
12220 /* { dg-do assemble } */
12221 /* { dg-require-effective-target arm_neon_ok } */
12222-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
12223+/* { dg-options "-save-temps -O0" } */
12224+/* { dg-add-options arm_neon } */
12225
12226 #include "arm_neon.h"
12227
12228
12229=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmov_ns32.c'
12230--- old/gcc/testsuite/gcc.target/arm/neon/vmov_ns32.c 2009-11-11 14:23:03 +0000
12231+++ new/gcc/testsuite/gcc.target/arm/neon/vmov_ns32.c 2010-07-29 15:38:15 +0000
12232@@ -3,7 +3,8 @@
12233
12234 /* { dg-do assemble } */
12235 /* { dg-require-effective-target arm_neon_ok } */
12236-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
12237+/* { dg-options "-save-temps -O0" } */
12238+/* { dg-add-options arm_neon } */
12239
12240 #include "arm_neon.h"
12241
12242
12243=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmov_ns64.c'
12244--- old/gcc/testsuite/gcc.target/arm/neon/vmov_ns64.c 2007-07-25 11:28:31 +0000
12245+++ new/gcc/testsuite/gcc.target/arm/neon/vmov_ns64.c 2010-07-29 15:38:15 +0000
12246@@ -3,7 +3,8 @@
12247
12248 /* { dg-do assemble } */
12249 /* { dg-require-effective-target arm_neon_ok } */
12250-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
12251+/* { dg-options "-save-temps -O0" } */
12252+/* { dg-add-options arm_neon } */
12253
12254 #include "arm_neon.h"
12255
12256
12257=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmov_ns8.c'
12258--- old/gcc/testsuite/gcc.target/arm/neon/vmov_ns8.c 2009-11-11 14:23:03 +0000
12259+++ new/gcc/testsuite/gcc.target/arm/neon/vmov_ns8.c 2010-07-29 15:38:15 +0000
12260@@ -3,7 +3,8 @@
12261
12262 /* { dg-do assemble } */
12263 /* { dg-require-effective-target arm_neon_ok } */
12264-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
12265+/* { dg-options "-save-temps -O0" } */
12266+/* { dg-add-options arm_neon } */
12267
12268 #include "arm_neon.h"
12269
12270
12271=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmov_nu16.c'
12272--- old/gcc/testsuite/gcc.target/arm/neon/vmov_nu16.c 2009-11-11 14:23:03 +0000
12273+++ new/gcc/testsuite/gcc.target/arm/neon/vmov_nu16.c 2010-07-29 15:38:15 +0000
12274@@ -3,7 +3,8 @@
12275
12276 /* { dg-do assemble } */
12277 /* { dg-require-effective-target arm_neon_ok } */
12278-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
12279+/* { dg-options "-save-temps -O0" } */
12280+/* { dg-add-options arm_neon } */
12281
12282 #include "arm_neon.h"
12283
12284
12285=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmov_nu32.c'
12286--- old/gcc/testsuite/gcc.target/arm/neon/vmov_nu32.c 2009-11-11 14:23:03 +0000
12287+++ new/gcc/testsuite/gcc.target/arm/neon/vmov_nu32.c 2010-07-29 15:38:15 +0000
12288@@ -3,7 +3,8 @@
12289
12290 /* { dg-do assemble } */
12291 /* { dg-require-effective-target arm_neon_ok } */
12292-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
12293+/* { dg-options "-save-temps -O0" } */
12294+/* { dg-add-options arm_neon } */
12295
12296 #include "arm_neon.h"
12297
12298
12299=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmov_nu64.c'
12300--- old/gcc/testsuite/gcc.target/arm/neon/vmov_nu64.c 2007-07-25 11:28:31 +0000
12301+++ new/gcc/testsuite/gcc.target/arm/neon/vmov_nu64.c 2010-07-29 15:38:15 +0000
12302@@ -3,7 +3,8 @@
12303
12304 /* { dg-do assemble } */
12305 /* { dg-require-effective-target arm_neon_ok } */
12306-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
12307+/* { dg-options "-save-temps -O0" } */
12308+/* { dg-add-options arm_neon } */
12309
12310 #include "arm_neon.h"
12311
12312
12313=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmov_nu8.c'
12314--- old/gcc/testsuite/gcc.target/arm/neon/vmov_nu8.c 2009-11-11 14:23:03 +0000
12315+++ new/gcc/testsuite/gcc.target/arm/neon/vmov_nu8.c 2010-07-29 15:38:15 +0000
12316@@ -3,7 +3,8 @@
12317
12318 /* { dg-do assemble } */
12319 /* { dg-require-effective-target arm_neon_ok } */
12320-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
12321+/* { dg-options "-save-temps -O0" } */
12322+/* { dg-add-options arm_neon } */
12323
12324 #include "arm_neon.h"
12325
12326
12327=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmovls16.c'
12328--- old/gcc/testsuite/gcc.target/arm/neon/vmovls16.c 2007-07-25 11:28:31 +0000
12329+++ new/gcc/testsuite/gcc.target/arm/neon/vmovls16.c 2010-07-29 15:38:15 +0000
12330@@ -3,7 +3,8 @@
12331
12332 /* { dg-do assemble } */
12333 /* { dg-require-effective-target arm_neon_ok } */
12334-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
12335+/* { dg-options "-save-temps -O0" } */
12336+/* { dg-add-options arm_neon } */
12337
12338 #include "arm_neon.h"
12339
12340
12341=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmovls32.c'
12342--- old/gcc/testsuite/gcc.target/arm/neon/vmovls32.c 2007-07-25 11:28:31 +0000
12343+++ new/gcc/testsuite/gcc.target/arm/neon/vmovls32.c 2010-07-29 15:38:15 +0000
12344@@ -3,7 +3,8 @@
12345
12346 /* { dg-do assemble } */
12347 /* { dg-require-effective-target arm_neon_ok } */
12348-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
12349+/* { dg-options "-save-temps -O0" } */
12350+/* { dg-add-options arm_neon } */
12351
12352 #include "arm_neon.h"
12353
12354
12355=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmovls8.c'
12356--- old/gcc/testsuite/gcc.target/arm/neon/vmovls8.c 2007-07-25 11:28:31 +0000
12357+++ new/gcc/testsuite/gcc.target/arm/neon/vmovls8.c 2010-07-29 15:38:15 +0000
12358@@ -3,7 +3,8 @@
12359
12360 /* { dg-do assemble } */
12361 /* { dg-require-effective-target arm_neon_ok } */
12362-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
12363+/* { dg-options "-save-temps -O0" } */
12364+/* { dg-add-options arm_neon } */
12365
12366 #include "arm_neon.h"
12367
12368
12369=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmovlu16.c'
12370--- old/gcc/testsuite/gcc.target/arm/neon/vmovlu16.c 2007-07-25 11:28:31 +0000
12371+++ new/gcc/testsuite/gcc.target/arm/neon/vmovlu16.c 2010-07-29 15:38:15 +0000
12372@@ -3,7 +3,8 @@
12373
12374 /* { dg-do assemble } */
12375 /* { dg-require-effective-target arm_neon_ok } */
12376-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
12377+/* { dg-options "-save-temps -O0" } */
12378+/* { dg-add-options arm_neon } */
12379
12380 #include "arm_neon.h"
12381
12382
12383=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmovlu32.c'
12384--- old/gcc/testsuite/gcc.target/arm/neon/vmovlu32.c 2007-07-25 11:28:31 +0000
12385+++ new/gcc/testsuite/gcc.target/arm/neon/vmovlu32.c 2010-07-29 15:38:15 +0000
12386@@ -3,7 +3,8 @@
12387
12388 /* { dg-do assemble } */
12389 /* { dg-require-effective-target arm_neon_ok } */
12390-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
12391+/* { dg-options "-save-temps -O0" } */
12392+/* { dg-add-options arm_neon } */
12393
12394 #include "arm_neon.h"
12395
12396
12397=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmovlu8.c'
12398--- old/gcc/testsuite/gcc.target/arm/neon/vmovlu8.c 2007-07-25 11:28:31 +0000
12399+++ new/gcc/testsuite/gcc.target/arm/neon/vmovlu8.c 2010-07-29 15:38:15 +0000
12400@@ -3,7 +3,8 @@
12401
12402 /* { dg-do assemble } */
12403 /* { dg-require-effective-target arm_neon_ok } */
12404-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
12405+/* { dg-options "-save-temps -O0" } */
12406+/* { dg-add-options arm_neon } */
12407
12408 #include "arm_neon.h"
12409
12410
12411=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmovns16.c'
12412--- old/gcc/testsuite/gcc.target/arm/neon/vmovns16.c 2007-07-25 11:28:31 +0000
12413+++ new/gcc/testsuite/gcc.target/arm/neon/vmovns16.c 2010-07-29 15:38:15 +0000
12414@@ -3,7 +3,8 @@
12415
12416 /* { dg-do assemble } */
12417 /* { dg-require-effective-target arm_neon_ok } */
12418-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
12419+/* { dg-options "-save-temps -O0" } */
12420+/* { dg-add-options arm_neon } */
12421
12422 #include "arm_neon.h"
12423
12424
12425=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmovns32.c'
12426--- old/gcc/testsuite/gcc.target/arm/neon/vmovns32.c 2007-07-25 11:28:31 +0000
12427+++ new/gcc/testsuite/gcc.target/arm/neon/vmovns32.c 2010-07-29 15:38:15 +0000
12428@@ -3,7 +3,8 @@
12429
12430 /* { dg-do assemble } */
12431 /* { dg-require-effective-target arm_neon_ok } */
12432-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
12433+/* { dg-options "-save-temps -O0" } */
12434+/* { dg-add-options arm_neon } */
12435
12436 #include "arm_neon.h"
12437
12438
12439=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmovns64.c'
12440--- old/gcc/testsuite/gcc.target/arm/neon/vmovns64.c 2007-07-25 11:28:31 +0000
12441+++ new/gcc/testsuite/gcc.target/arm/neon/vmovns64.c 2010-07-29 15:38:15 +0000
12442@@ -3,7 +3,8 @@
12443
12444 /* { dg-do assemble } */
12445 /* { dg-require-effective-target arm_neon_ok } */
12446-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
12447+/* { dg-options "-save-temps -O0" } */
12448+/* { dg-add-options arm_neon } */
12449
12450 #include "arm_neon.h"
12451
12452
12453=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmovnu16.c'
12454--- old/gcc/testsuite/gcc.target/arm/neon/vmovnu16.c 2007-07-25 11:28:31 +0000
12455+++ new/gcc/testsuite/gcc.target/arm/neon/vmovnu16.c 2010-07-29 15:38:15 +0000
12456@@ -3,7 +3,8 @@
12457
12458 /* { dg-do assemble } */
12459 /* { dg-require-effective-target arm_neon_ok } */
12460-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
12461+/* { dg-options "-save-temps -O0" } */
12462+/* { dg-add-options arm_neon } */
12463
12464 #include "arm_neon.h"
12465
12466
12467=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmovnu32.c'
12468--- old/gcc/testsuite/gcc.target/arm/neon/vmovnu32.c 2007-07-25 11:28:31 +0000
12469+++ new/gcc/testsuite/gcc.target/arm/neon/vmovnu32.c 2010-07-29 15:38:15 +0000
12470@@ -3,7 +3,8 @@
12471
12472 /* { dg-do assemble } */
12473 /* { dg-require-effective-target arm_neon_ok } */
12474-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
12475+/* { dg-options "-save-temps -O0" } */
12476+/* { dg-add-options arm_neon } */
12477
12478 #include "arm_neon.h"
12479
12480
12481=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmovnu64.c'
12482--- old/gcc/testsuite/gcc.target/arm/neon/vmovnu64.c 2007-07-25 11:28:31 +0000
12483+++ new/gcc/testsuite/gcc.target/arm/neon/vmovnu64.c 2010-07-29 15:38:15 +0000
12484@@ -3,7 +3,8 @@
12485
12486 /* { dg-do assemble } */
12487 /* { dg-require-effective-target arm_neon_ok } */
12488-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
12489+/* { dg-options "-save-temps -O0" } */
12490+/* { dg-add-options arm_neon } */
12491
12492 #include "arm_neon.h"
12493
12494
12495=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmulQ_lanef32.c'
12496--- old/gcc/testsuite/gcc.target/arm/neon/vmulQ_lanef32.c 2007-07-25 11:28:31 +0000
12497+++ new/gcc/testsuite/gcc.target/arm/neon/vmulQ_lanef32.c 2010-07-29 15:38:15 +0000
12498@@ -3,7 +3,8 @@
12499
12500 /* { dg-do assemble } */
12501 /* { dg-require-effective-target arm_neon_ok } */
12502-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
12503+/* { dg-options "-save-temps -O0" } */
12504+/* { dg-add-options arm_neon } */
12505
12506 #include "arm_neon.h"
12507
12508
12509=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmulQ_lanes16.c'
12510--- old/gcc/testsuite/gcc.target/arm/neon/vmulQ_lanes16.c 2007-07-25 11:28:31 +0000
12511+++ new/gcc/testsuite/gcc.target/arm/neon/vmulQ_lanes16.c 2010-07-29 15:38:15 +0000
12512@@ -3,7 +3,8 @@
12513
12514 /* { dg-do assemble } */
12515 /* { dg-require-effective-target arm_neon_ok } */
12516-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
12517+/* { dg-options "-save-temps -O0" } */
12518+/* { dg-add-options arm_neon } */
12519
12520 #include "arm_neon.h"
12521
12522
12523=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmulQ_lanes32.c'
12524--- old/gcc/testsuite/gcc.target/arm/neon/vmulQ_lanes32.c 2007-07-25 11:28:31 +0000
12525+++ new/gcc/testsuite/gcc.target/arm/neon/vmulQ_lanes32.c 2010-07-29 15:38:15 +0000
12526@@ -3,7 +3,8 @@
12527
12528 /* { dg-do assemble } */
12529 /* { dg-require-effective-target arm_neon_ok } */
12530-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
12531+/* { dg-options "-save-temps -O0" } */
12532+/* { dg-add-options arm_neon } */
12533
12534 #include "arm_neon.h"
12535
12536
12537=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmulQ_laneu16.c'
12538--- old/gcc/testsuite/gcc.target/arm/neon/vmulQ_laneu16.c 2007-07-25 11:28:31 +0000
12539+++ new/gcc/testsuite/gcc.target/arm/neon/vmulQ_laneu16.c 2010-07-29 15:38:15 +0000
12540@@ -3,7 +3,8 @@
12541
12542 /* { dg-do assemble } */
12543 /* { dg-require-effective-target arm_neon_ok } */
12544-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
12545+/* { dg-options "-save-temps -O0" } */
12546+/* { dg-add-options arm_neon } */
12547
12548 #include "arm_neon.h"
12549
12550
12551=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmulQ_laneu32.c'
12552--- old/gcc/testsuite/gcc.target/arm/neon/vmulQ_laneu32.c 2007-07-25 11:28:31 +0000
12553+++ new/gcc/testsuite/gcc.target/arm/neon/vmulQ_laneu32.c 2010-07-29 15:38:15 +0000
12554@@ -3,7 +3,8 @@
12555
12556 /* { dg-do assemble } */
12557 /* { dg-require-effective-target arm_neon_ok } */
12558-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
12559+/* { dg-options "-save-temps -O0" } */
12560+/* { dg-add-options arm_neon } */
12561
12562 #include "arm_neon.h"
12563
12564
12565=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmulQ_nf32.c'
12566--- old/gcc/testsuite/gcc.target/arm/neon/vmulQ_nf32.c 2007-07-25 11:28:31 +0000
12567+++ new/gcc/testsuite/gcc.target/arm/neon/vmulQ_nf32.c 2010-07-29 15:38:15 +0000
12568@@ -3,7 +3,8 @@
12569
12570 /* { dg-do assemble } */
12571 /* { dg-require-effective-target arm_neon_ok } */
12572-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
12573+/* { dg-options "-save-temps -O0" } */
12574+/* { dg-add-options arm_neon } */
12575
12576 #include "arm_neon.h"
12577
12578
12579=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmulQ_ns16.c'
12580--- old/gcc/testsuite/gcc.target/arm/neon/vmulQ_ns16.c 2007-07-25 11:28:31 +0000
12581+++ new/gcc/testsuite/gcc.target/arm/neon/vmulQ_ns16.c 2010-07-29 15:38:15 +0000
12582@@ -3,7 +3,8 @@
12583
12584 /* { dg-do assemble } */
12585 /* { dg-require-effective-target arm_neon_ok } */
12586-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
12587+/* { dg-options "-save-temps -O0" } */
12588+/* { dg-add-options arm_neon } */
12589
12590 #include "arm_neon.h"
12591
12592
12593=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmulQ_ns32.c'
12594--- old/gcc/testsuite/gcc.target/arm/neon/vmulQ_ns32.c 2007-07-25 11:28:31 +0000
12595+++ new/gcc/testsuite/gcc.target/arm/neon/vmulQ_ns32.c 2010-07-29 15:38:15 +0000
12596@@ -3,7 +3,8 @@
12597
12598 /* { dg-do assemble } */
12599 /* { dg-require-effective-target arm_neon_ok } */
12600-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
12601+/* { dg-options "-save-temps -O0" } */
12602+/* { dg-add-options arm_neon } */
12603
12604 #include "arm_neon.h"
12605
12606
12607=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmulQ_nu16.c'
12608--- old/gcc/testsuite/gcc.target/arm/neon/vmulQ_nu16.c 2007-07-25 11:28:31 +0000
12609+++ new/gcc/testsuite/gcc.target/arm/neon/vmulQ_nu16.c 2010-07-29 15:38:15 +0000
12610@@ -3,7 +3,8 @@
12611
12612 /* { dg-do assemble } */
12613 /* { dg-require-effective-target arm_neon_ok } */
12614-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
12615+/* { dg-options "-save-temps -O0" } */
12616+/* { dg-add-options arm_neon } */
12617
12618 #include "arm_neon.h"
12619
12620
12621=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmulQ_nu32.c'
12622--- old/gcc/testsuite/gcc.target/arm/neon/vmulQ_nu32.c 2007-07-25 11:28:31 +0000
12623+++ new/gcc/testsuite/gcc.target/arm/neon/vmulQ_nu32.c 2010-07-29 15:38:15 +0000
12624@@ -3,7 +3,8 @@
12625
12626 /* { dg-do assemble } */
12627 /* { dg-require-effective-target arm_neon_ok } */
12628-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
12629+/* { dg-options "-save-temps -O0" } */
12630+/* { dg-add-options arm_neon } */
12631
12632 #include "arm_neon.h"
12633
12634
12635=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmulQf32.c'
12636--- old/gcc/testsuite/gcc.target/arm/neon/vmulQf32.c 2007-07-25 11:28:31 +0000
12637+++ new/gcc/testsuite/gcc.target/arm/neon/vmulQf32.c 2010-07-29 15:38:15 +0000
12638@@ -3,7 +3,8 @@
12639
12640 /* { dg-do assemble } */
12641 /* { dg-require-effective-target arm_neon_ok } */
12642-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
12643+/* { dg-options "-save-temps -O0" } */
12644+/* { dg-add-options arm_neon } */
12645
12646 #include "arm_neon.h"
12647
12648
12649=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmulQp8.c'
12650--- old/gcc/testsuite/gcc.target/arm/neon/vmulQp8.c 2007-07-25 11:28:31 +0000
12651+++ new/gcc/testsuite/gcc.target/arm/neon/vmulQp8.c 2010-07-29 15:38:15 +0000
12652@@ -3,7 +3,8 @@
12653
12654 /* { dg-do assemble } */
12655 /* { dg-require-effective-target arm_neon_ok } */
12656-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
12657+/* { dg-options "-save-temps -O0" } */
12658+/* { dg-add-options arm_neon } */
12659
12660 #include "arm_neon.h"
12661
12662
12663=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmulQs16.c'
12664--- old/gcc/testsuite/gcc.target/arm/neon/vmulQs16.c 2007-07-25 11:28:31 +0000
12665+++ new/gcc/testsuite/gcc.target/arm/neon/vmulQs16.c 2010-07-29 15:38:15 +0000
12666@@ -3,7 +3,8 @@
12667
12668 /* { dg-do assemble } */
12669 /* { dg-require-effective-target arm_neon_ok } */
12670-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
12671+/* { dg-options "-save-temps -O0" } */
12672+/* { dg-add-options arm_neon } */
12673
12674 #include "arm_neon.h"
12675
12676
12677=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmulQs32.c'
12678--- old/gcc/testsuite/gcc.target/arm/neon/vmulQs32.c 2007-07-25 11:28:31 +0000
12679+++ new/gcc/testsuite/gcc.target/arm/neon/vmulQs32.c 2010-07-29 15:38:15 +0000
12680@@ -3,7 +3,8 @@
12681
12682 /* { dg-do assemble } */
12683 /* { dg-require-effective-target arm_neon_ok } */
12684-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
12685+/* { dg-options "-save-temps -O0" } */
12686+/* { dg-add-options arm_neon } */
12687
12688 #include "arm_neon.h"
12689
12690
12691=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmulQs8.c'
12692--- old/gcc/testsuite/gcc.target/arm/neon/vmulQs8.c 2007-07-25 11:28:31 +0000
12693+++ new/gcc/testsuite/gcc.target/arm/neon/vmulQs8.c 2010-07-29 15:38:15 +0000
12694@@ -3,7 +3,8 @@
12695
12696 /* { dg-do assemble } */
12697 /* { dg-require-effective-target arm_neon_ok } */
12698-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
12699+/* { dg-options "-save-temps -O0" } */
12700+/* { dg-add-options arm_neon } */
12701
12702 #include "arm_neon.h"
12703
12704
12705=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmulQu16.c'
12706--- old/gcc/testsuite/gcc.target/arm/neon/vmulQu16.c 2007-07-25 11:28:31 +0000
12707+++ new/gcc/testsuite/gcc.target/arm/neon/vmulQu16.c 2010-07-29 15:38:15 +0000
12708@@ -3,7 +3,8 @@
12709
12710 /* { dg-do assemble } */
12711 /* { dg-require-effective-target arm_neon_ok } */
12712-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
12713+/* { dg-options "-save-temps -O0" } */
12714+/* { dg-add-options arm_neon } */
12715
12716 #include "arm_neon.h"
12717
12718
12719=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmulQu32.c'
12720--- old/gcc/testsuite/gcc.target/arm/neon/vmulQu32.c 2007-07-25 11:28:31 +0000
12721+++ new/gcc/testsuite/gcc.target/arm/neon/vmulQu32.c 2010-07-29 15:38:15 +0000
12722@@ -3,7 +3,8 @@
12723
12724 /* { dg-do assemble } */
12725 /* { dg-require-effective-target arm_neon_ok } */
12726-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
12727+/* { dg-options "-save-temps -O0" } */
12728+/* { dg-add-options arm_neon } */
12729
12730 #include "arm_neon.h"
12731
12732
12733=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmulQu8.c'
12734--- old/gcc/testsuite/gcc.target/arm/neon/vmulQu8.c 2007-07-25 11:28:31 +0000
12735+++ new/gcc/testsuite/gcc.target/arm/neon/vmulQu8.c 2010-07-29 15:38:15 +0000
12736@@ -3,7 +3,8 @@
12737
12738 /* { dg-do assemble } */
12739 /* { dg-require-effective-target arm_neon_ok } */
12740-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
12741+/* { dg-options "-save-temps -O0" } */
12742+/* { dg-add-options arm_neon } */
12743
12744 #include "arm_neon.h"
12745
12746
12747=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmul_lanef32.c'
12748--- old/gcc/testsuite/gcc.target/arm/neon/vmul_lanef32.c 2007-07-25 11:28:31 +0000
12749+++ new/gcc/testsuite/gcc.target/arm/neon/vmul_lanef32.c 2010-07-29 15:38:15 +0000
12750@@ -3,7 +3,8 @@
12751
12752 /* { dg-do assemble } */
12753 /* { dg-require-effective-target arm_neon_ok } */
12754-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
12755+/* { dg-options "-save-temps -O0" } */
12756+/* { dg-add-options arm_neon } */
12757
12758 #include "arm_neon.h"
12759
12760
12761=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmul_lanes16.c'
12762--- old/gcc/testsuite/gcc.target/arm/neon/vmul_lanes16.c 2007-07-25 11:28:31 +0000
12763+++ new/gcc/testsuite/gcc.target/arm/neon/vmul_lanes16.c 2010-07-29 15:38:15 +0000
12764@@ -3,7 +3,8 @@
12765
12766 /* { dg-do assemble } */
12767 /* { dg-require-effective-target arm_neon_ok } */
12768-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
12769+/* { dg-options "-save-temps -O0" } */
12770+/* { dg-add-options arm_neon } */
12771
12772 #include "arm_neon.h"
12773
12774
12775=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmul_lanes32.c'
12776--- old/gcc/testsuite/gcc.target/arm/neon/vmul_lanes32.c 2007-07-25 11:28:31 +0000
12777+++ new/gcc/testsuite/gcc.target/arm/neon/vmul_lanes32.c 2010-07-29 15:38:15 +0000
12778@@ -3,7 +3,8 @@
12779
12780 /* { dg-do assemble } */
12781 /* { dg-require-effective-target arm_neon_ok } */
12782-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
12783+/* { dg-options "-save-temps -O0" } */
12784+/* { dg-add-options arm_neon } */
12785
12786 #include "arm_neon.h"
12787
12788
12789=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmul_laneu16.c'
12790--- old/gcc/testsuite/gcc.target/arm/neon/vmul_laneu16.c 2007-07-25 11:28:31 +0000
12791+++ new/gcc/testsuite/gcc.target/arm/neon/vmul_laneu16.c 2010-07-29 15:38:15 +0000
12792@@ -3,7 +3,8 @@
12793
12794 /* { dg-do assemble } */
12795 /* { dg-require-effective-target arm_neon_ok } */
12796-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
12797+/* { dg-options "-save-temps -O0" } */
12798+/* { dg-add-options arm_neon } */
12799
12800 #include "arm_neon.h"
12801
12802
12803=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmul_laneu32.c'
12804--- old/gcc/testsuite/gcc.target/arm/neon/vmul_laneu32.c 2007-07-25 11:28:31 +0000
12805+++ new/gcc/testsuite/gcc.target/arm/neon/vmul_laneu32.c 2010-07-29 15:38:15 +0000
12806@@ -3,7 +3,8 @@
12807
12808 /* { dg-do assemble } */
12809 /* { dg-require-effective-target arm_neon_ok } */
12810-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
12811+/* { dg-options "-save-temps -O0" } */
12812+/* { dg-add-options arm_neon } */
12813
12814 #include "arm_neon.h"
12815
12816
12817=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmul_nf32.c'
12818--- old/gcc/testsuite/gcc.target/arm/neon/vmul_nf32.c 2007-07-25 11:28:31 +0000
12819+++ new/gcc/testsuite/gcc.target/arm/neon/vmul_nf32.c 2010-07-29 15:38:15 +0000
12820@@ -3,7 +3,8 @@
12821
12822 /* { dg-do assemble } */
12823 /* { dg-require-effective-target arm_neon_ok } */
12824-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
12825+/* { dg-options "-save-temps -O0" } */
12826+/* { dg-add-options arm_neon } */
12827
12828 #include "arm_neon.h"
12829
12830
12831=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmul_ns16.c'
12832--- old/gcc/testsuite/gcc.target/arm/neon/vmul_ns16.c 2007-07-25 11:28:31 +0000
12833+++ new/gcc/testsuite/gcc.target/arm/neon/vmul_ns16.c 2010-07-29 15:38:15 +0000
12834@@ -3,7 +3,8 @@
12835
12836 /* { dg-do assemble } */
12837 /* { dg-require-effective-target arm_neon_ok } */
12838-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
12839+/* { dg-options "-save-temps -O0" } */
12840+/* { dg-add-options arm_neon } */
12841
12842 #include "arm_neon.h"
12843
12844
12845=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmul_ns32.c'
12846--- old/gcc/testsuite/gcc.target/arm/neon/vmul_ns32.c 2007-07-25 11:28:31 +0000
12847+++ new/gcc/testsuite/gcc.target/arm/neon/vmul_ns32.c 2010-07-29 15:38:15 +0000
12848@@ -3,7 +3,8 @@
12849
12850 /* { dg-do assemble } */
12851 /* { dg-require-effective-target arm_neon_ok } */
12852-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
12853+/* { dg-options "-save-temps -O0" } */
12854+/* { dg-add-options arm_neon } */
12855
12856 #include "arm_neon.h"
12857
12858
12859=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmul_nu16.c'
12860--- old/gcc/testsuite/gcc.target/arm/neon/vmul_nu16.c 2007-07-25 11:28:31 +0000
12861+++ new/gcc/testsuite/gcc.target/arm/neon/vmul_nu16.c 2010-07-29 15:38:15 +0000
12862@@ -3,7 +3,8 @@
12863
12864 /* { dg-do assemble } */
12865 /* { dg-require-effective-target arm_neon_ok } */
12866-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
12867+/* { dg-options "-save-temps -O0" } */
12868+/* { dg-add-options arm_neon } */
12869
12870 #include "arm_neon.h"
12871
12872
12873=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmul_nu32.c'
12874--- old/gcc/testsuite/gcc.target/arm/neon/vmul_nu32.c 2007-07-25 11:28:31 +0000
12875+++ new/gcc/testsuite/gcc.target/arm/neon/vmul_nu32.c 2010-07-29 15:38:15 +0000
12876@@ -3,7 +3,8 @@
12877
12878 /* { dg-do assemble } */
12879 /* { dg-require-effective-target arm_neon_ok } */
12880-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
12881+/* { dg-options "-save-temps -O0" } */
12882+/* { dg-add-options arm_neon } */
12883
12884 #include "arm_neon.h"
12885
12886
12887=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmulf32.c'
12888--- old/gcc/testsuite/gcc.target/arm/neon/vmulf32.c 2007-07-25 11:28:31 +0000
12889+++ new/gcc/testsuite/gcc.target/arm/neon/vmulf32.c 2010-07-29 15:38:15 +0000
12890@@ -3,7 +3,8 @@
12891
12892 /* { dg-do assemble } */
12893 /* { dg-require-effective-target arm_neon_ok } */
12894-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
12895+/* { dg-options "-save-temps -O0" } */
12896+/* { dg-add-options arm_neon } */
12897
12898 #include "arm_neon.h"
12899
12900
12901=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmull_lanes16.c'
12902--- old/gcc/testsuite/gcc.target/arm/neon/vmull_lanes16.c 2007-07-25 11:28:31 +0000
12903+++ new/gcc/testsuite/gcc.target/arm/neon/vmull_lanes16.c 2010-07-29 15:38:15 +0000
12904@@ -3,7 +3,8 @@
12905
12906 /* { dg-do assemble } */
12907 /* { dg-require-effective-target arm_neon_ok } */
12908-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
12909+/* { dg-options "-save-temps -O0" } */
12910+/* { dg-add-options arm_neon } */
12911
12912 #include "arm_neon.h"
12913
12914
12915=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmull_lanes32.c'
12916--- old/gcc/testsuite/gcc.target/arm/neon/vmull_lanes32.c 2007-07-25 11:28:31 +0000
12917+++ new/gcc/testsuite/gcc.target/arm/neon/vmull_lanes32.c 2010-07-29 15:38:15 +0000
12918@@ -3,7 +3,8 @@
12919
12920 /* { dg-do assemble } */
12921 /* { dg-require-effective-target arm_neon_ok } */
12922-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
12923+/* { dg-options "-save-temps -O0" } */
12924+/* { dg-add-options arm_neon } */
12925
12926 #include "arm_neon.h"
12927
12928
12929=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmull_laneu16.c'
12930--- old/gcc/testsuite/gcc.target/arm/neon/vmull_laneu16.c 2007-07-25 11:28:31 +0000
12931+++ new/gcc/testsuite/gcc.target/arm/neon/vmull_laneu16.c 2010-07-29 15:38:15 +0000
12932@@ -3,7 +3,8 @@
12933
12934 /* { dg-do assemble } */
12935 /* { dg-require-effective-target arm_neon_ok } */
12936-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
12937+/* { dg-options "-save-temps -O0" } */
12938+/* { dg-add-options arm_neon } */
12939
12940 #include "arm_neon.h"
12941
12942
12943=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmull_laneu32.c'
12944--- old/gcc/testsuite/gcc.target/arm/neon/vmull_laneu32.c 2007-07-25 11:28:31 +0000
12945+++ new/gcc/testsuite/gcc.target/arm/neon/vmull_laneu32.c 2010-07-29 15:38:15 +0000
12946@@ -3,7 +3,8 @@
12947
12948 /* { dg-do assemble } */
12949 /* { dg-require-effective-target arm_neon_ok } */
12950-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
12951+/* { dg-options "-save-temps -O0" } */
12952+/* { dg-add-options arm_neon } */
12953
12954 #include "arm_neon.h"
12955
12956
12957=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmull_ns16.c'
12958--- old/gcc/testsuite/gcc.target/arm/neon/vmull_ns16.c 2007-07-25 11:28:31 +0000
12959+++ new/gcc/testsuite/gcc.target/arm/neon/vmull_ns16.c 2010-07-29 15:38:15 +0000
12960@@ -3,7 +3,8 @@
12961
12962 /* { dg-do assemble } */
12963 /* { dg-require-effective-target arm_neon_ok } */
12964-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
12965+/* { dg-options "-save-temps -O0" } */
12966+/* { dg-add-options arm_neon } */
12967
12968 #include "arm_neon.h"
12969
12970
12971=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmull_ns32.c'
12972--- old/gcc/testsuite/gcc.target/arm/neon/vmull_ns32.c 2007-07-25 11:28:31 +0000
12973+++ new/gcc/testsuite/gcc.target/arm/neon/vmull_ns32.c 2010-07-29 15:38:15 +0000
12974@@ -3,7 +3,8 @@
12975
12976 /* { dg-do assemble } */
12977 /* { dg-require-effective-target arm_neon_ok } */
12978-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
12979+/* { dg-options "-save-temps -O0" } */
12980+/* { dg-add-options arm_neon } */
12981
12982 #include "arm_neon.h"
12983
12984
12985=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmull_nu16.c'
12986--- old/gcc/testsuite/gcc.target/arm/neon/vmull_nu16.c 2007-07-25 11:28:31 +0000
12987+++ new/gcc/testsuite/gcc.target/arm/neon/vmull_nu16.c 2010-07-29 15:38:15 +0000
12988@@ -3,7 +3,8 @@
12989
12990 /* { dg-do assemble } */
12991 /* { dg-require-effective-target arm_neon_ok } */
12992-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
12993+/* { dg-options "-save-temps -O0" } */
12994+/* { dg-add-options arm_neon } */
12995
12996 #include "arm_neon.h"
12997
12998
12999=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmull_nu32.c'
13000--- old/gcc/testsuite/gcc.target/arm/neon/vmull_nu32.c 2007-07-25 11:28:31 +0000
13001+++ new/gcc/testsuite/gcc.target/arm/neon/vmull_nu32.c 2010-07-29 15:38:15 +0000
13002@@ -3,7 +3,8 @@
13003
13004 /* { dg-do assemble } */
13005 /* { dg-require-effective-target arm_neon_ok } */
13006-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
13007+/* { dg-options "-save-temps -O0" } */
13008+/* { dg-add-options arm_neon } */
13009
13010 #include "arm_neon.h"
13011
13012
13013=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmullp8.c'
13014--- old/gcc/testsuite/gcc.target/arm/neon/vmullp8.c 2007-07-25 11:28:31 +0000
13015+++ new/gcc/testsuite/gcc.target/arm/neon/vmullp8.c 2010-07-29 15:38:15 +0000
13016@@ -3,7 +3,8 @@
13017
13018 /* { dg-do assemble } */
13019 /* { dg-require-effective-target arm_neon_ok } */
13020-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
13021+/* { dg-options "-save-temps -O0" } */
13022+/* { dg-add-options arm_neon } */
13023
13024 #include "arm_neon.h"
13025
13026
13027=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmulls16.c'
13028--- old/gcc/testsuite/gcc.target/arm/neon/vmulls16.c 2007-07-25 11:28:31 +0000
13029+++ new/gcc/testsuite/gcc.target/arm/neon/vmulls16.c 2010-07-29 15:38:15 +0000
13030@@ -3,7 +3,8 @@
13031
13032 /* { dg-do assemble } */
13033 /* { dg-require-effective-target arm_neon_ok } */
13034-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
13035+/* { dg-options "-save-temps -O0" } */
13036+/* { dg-add-options arm_neon } */
13037
13038 #include "arm_neon.h"
13039
13040
13041=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmulls32.c'
13042--- old/gcc/testsuite/gcc.target/arm/neon/vmulls32.c 2007-07-25 11:28:31 +0000
13043+++ new/gcc/testsuite/gcc.target/arm/neon/vmulls32.c 2010-07-29 15:38:15 +0000
13044@@ -3,7 +3,8 @@
13045
13046 /* { dg-do assemble } */
13047 /* { dg-require-effective-target arm_neon_ok } */
13048-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
13049+/* { dg-options "-save-temps -O0" } */
13050+/* { dg-add-options arm_neon } */
13051
13052 #include "arm_neon.h"
13053
13054
13055=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmulls8.c'
13056--- old/gcc/testsuite/gcc.target/arm/neon/vmulls8.c 2007-07-25 11:28:31 +0000
13057+++ new/gcc/testsuite/gcc.target/arm/neon/vmulls8.c 2010-07-29 15:38:15 +0000
13058@@ -3,7 +3,8 @@
13059
13060 /* { dg-do assemble } */
13061 /* { dg-require-effective-target arm_neon_ok } */
13062-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
13063+/* { dg-options "-save-temps -O0" } */
13064+/* { dg-add-options arm_neon } */
13065
13066 #include "arm_neon.h"
13067
13068
13069=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmullu16.c'
13070--- old/gcc/testsuite/gcc.target/arm/neon/vmullu16.c 2007-07-25 11:28:31 +0000
13071+++ new/gcc/testsuite/gcc.target/arm/neon/vmullu16.c 2010-07-29 15:38:15 +0000
13072@@ -3,7 +3,8 @@
13073
13074 /* { dg-do assemble } */
13075 /* { dg-require-effective-target arm_neon_ok } */
13076-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
13077+/* { dg-options "-save-temps -O0" } */
13078+/* { dg-add-options arm_neon } */
13079
13080 #include "arm_neon.h"
13081
13082
13083=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmullu32.c'
13084--- old/gcc/testsuite/gcc.target/arm/neon/vmullu32.c 2007-07-25 11:28:31 +0000
13085+++ new/gcc/testsuite/gcc.target/arm/neon/vmullu32.c 2010-07-29 15:38:15 +0000
13086@@ -3,7 +3,8 @@
13087
13088 /* { dg-do assemble } */
13089 /* { dg-require-effective-target arm_neon_ok } */
13090-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
13091+/* { dg-options "-save-temps -O0" } */
13092+/* { dg-add-options arm_neon } */
13093
13094 #include "arm_neon.h"
13095
13096
13097=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmullu8.c'
13098--- old/gcc/testsuite/gcc.target/arm/neon/vmullu8.c 2007-07-25 11:28:31 +0000
13099+++ new/gcc/testsuite/gcc.target/arm/neon/vmullu8.c 2010-07-29 15:38:15 +0000
13100@@ -3,7 +3,8 @@
13101
13102 /* { dg-do assemble } */
13103 /* { dg-require-effective-target arm_neon_ok } */
13104-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
13105+/* { dg-options "-save-temps -O0" } */
13106+/* { dg-add-options arm_neon } */
13107
13108 #include "arm_neon.h"
13109
13110
13111=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmulp8.c'
13112--- old/gcc/testsuite/gcc.target/arm/neon/vmulp8.c 2007-07-25 11:28:31 +0000
13113+++ new/gcc/testsuite/gcc.target/arm/neon/vmulp8.c 2010-07-29 15:38:15 +0000
13114@@ -3,7 +3,8 @@
13115
13116 /* { dg-do assemble } */
13117 /* { dg-require-effective-target arm_neon_ok } */
13118-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
13119+/* { dg-options "-save-temps -O0" } */
13120+/* { dg-add-options arm_neon } */
13121
13122 #include "arm_neon.h"
13123
13124
13125=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmuls16.c'
13126--- old/gcc/testsuite/gcc.target/arm/neon/vmuls16.c 2007-07-25 11:28:31 +0000
13127+++ new/gcc/testsuite/gcc.target/arm/neon/vmuls16.c 2010-07-29 15:38:15 +0000
13128@@ -3,7 +3,8 @@
13129
13130 /* { dg-do assemble } */
13131 /* { dg-require-effective-target arm_neon_ok } */
13132-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
13133+/* { dg-options "-save-temps -O0" } */
13134+/* { dg-add-options arm_neon } */
13135
13136 #include "arm_neon.h"
13137
13138
13139=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmuls32.c'
13140--- old/gcc/testsuite/gcc.target/arm/neon/vmuls32.c 2007-07-25 11:28:31 +0000
13141+++ new/gcc/testsuite/gcc.target/arm/neon/vmuls32.c 2010-07-29 15:38:15 +0000
13142@@ -3,7 +3,8 @@
13143
13144 /* { dg-do assemble } */
13145 /* { dg-require-effective-target arm_neon_ok } */
13146-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
13147+/* { dg-options "-save-temps -O0" } */
13148+/* { dg-add-options arm_neon } */
13149
13150 #include "arm_neon.h"
13151
13152
13153=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmuls8.c'
13154--- old/gcc/testsuite/gcc.target/arm/neon/vmuls8.c 2007-07-25 11:28:31 +0000
13155+++ new/gcc/testsuite/gcc.target/arm/neon/vmuls8.c 2010-07-29 15:38:15 +0000
13156@@ -3,7 +3,8 @@
13157
13158 /* { dg-do assemble } */
13159 /* { dg-require-effective-target arm_neon_ok } */
13160-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
13161+/* { dg-options "-save-temps -O0" } */
13162+/* { dg-add-options arm_neon } */
13163
13164 #include "arm_neon.h"
13165
13166
13167=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmulu16.c'
13168--- old/gcc/testsuite/gcc.target/arm/neon/vmulu16.c 2007-07-25 11:28:31 +0000
13169+++ new/gcc/testsuite/gcc.target/arm/neon/vmulu16.c 2010-07-29 15:38:15 +0000
13170@@ -3,7 +3,8 @@
13171
13172 /* { dg-do assemble } */
13173 /* { dg-require-effective-target arm_neon_ok } */
13174-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
13175+/* { dg-options "-save-temps -O0" } */
13176+/* { dg-add-options arm_neon } */
13177
13178 #include "arm_neon.h"
13179
13180
13181=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmulu32.c'
13182--- old/gcc/testsuite/gcc.target/arm/neon/vmulu32.c 2007-07-25 11:28:31 +0000
13183+++ new/gcc/testsuite/gcc.target/arm/neon/vmulu32.c 2010-07-29 15:38:15 +0000
13184@@ -3,7 +3,8 @@
13185
13186 /* { dg-do assemble } */
13187 /* { dg-require-effective-target arm_neon_ok } */
13188-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
13189+/* { dg-options "-save-temps -O0" } */
13190+/* { dg-add-options arm_neon } */
13191
13192 #include "arm_neon.h"
13193
13194
13195=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmulu8.c'
13196--- old/gcc/testsuite/gcc.target/arm/neon/vmulu8.c 2007-07-25 11:28:31 +0000
13197+++ new/gcc/testsuite/gcc.target/arm/neon/vmulu8.c 2010-07-29 15:38:15 +0000
13198@@ -3,7 +3,8 @@
13199
13200 /* { dg-do assemble } */
13201 /* { dg-require-effective-target arm_neon_ok } */
13202-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
13203+/* { dg-options "-save-temps -O0" } */
13204+/* { dg-add-options arm_neon } */
13205
13206 #include "arm_neon.h"
13207
13208
13209=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmvnQp8.c'
13210--- old/gcc/testsuite/gcc.target/arm/neon/vmvnQp8.c 2007-07-25 11:28:31 +0000
13211+++ new/gcc/testsuite/gcc.target/arm/neon/vmvnQp8.c 2010-07-29 15:38:15 +0000
13212@@ -3,7 +3,8 @@
13213
13214 /* { dg-do assemble } */
13215 /* { dg-require-effective-target arm_neon_ok } */
13216-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
13217+/* { dg-options "-save-temps -O0" } */
13218+/* { dg-add-options arm_neon } */
13219
13220 #include "arm_neon.h"
13221
13222
13223=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmvnQs16.c'
13224--- old/gcc/testsuite/gcc.target/arm/neon/vmvnQs16.c 2007-07-25 11:28:31 +0000
13225+++ new/gcc/testsuite/gcc.target/arm/neon/vmvnQs16.c 2010-07-29 15:38:15 +0000
13226@@ -3,7 +3,8 @@
13227
13228 /* { dg-do assemble } */
13229 /* { dg-require-effective-target arm_neon_ok } */
13230-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
13231+/* { dg-options "-save-temps -O0" } */
13232+/* { dg-add-options arm_neon } */
13233
13234 #include "arm_neon.h"
13235
13236
13237=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmvnQs32.c'
13238--- old/gcc/testsuite/gcc.target/arm/neon/vmvnQs32.c 2007-07-25 11:28:31 +0000
13239+++ new/gcc/testsuite/gcc.target/arm/neon/vmvnQs32.c 2010-07-29 15:38:15 +0000
13240@@ -3,7 +3,8 @@
13241
13242 /* { dg-do assemble } */
13243 /* { dg-require-effective-target arm_neon_ok } */
13244-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
13245+/* { dg-options "-save-temps -O0" } */
13246+/* { dg-add-options arm_neon } */
13247
13248 #include "arm_neon.h"
13249
13250
13251=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmvnQs8.c'
13252--- old/gcc/testsuite/gcc.target/arm/neon/vmvnQs8.c 2007-07-25 11:28:31 +0000
13253+++ new/gcc/testsuite/gcc.target/arm/neon/vmvnQs8.c 2010-07-29 15:38:15 +0000
13254@@ -3,7 +3,8 @@
13255
13256 /* { dg-do assemble } */
13257 /* { dg-require-effective-target arm_neon_ok } */
13258-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
13259+/* { dg-options "-save-temps -O0" } */
13260+/* { dg-add-options arm_neon } */
13261
13262 #include "arm_neon.h"
13263
13264
13265=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmvnQu16.c'
13266--- old/gcc/testsuite/gcc.target/arm/neon/vmvnQu16.c 2007-07-25 11:28:31 +0000
13267+++ new/gcc/testsuite/gcc.target/arm/neon/vmvnQu16.c 2010-07-29 15:38:15 +0000
13268@@ -3,7 +3,8 @@
13269
13270 /* { dg-do assemble } */
13271 /* { dg-require-effective-target arm_neon_ok } */
13272-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
13273+/* { dg-options "-save-temps -O0" } */
13274+/* { dg-add-options arm_neon } */
13275
13276 #include "arm_neon.h"
13277
13278
13279=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmvnQu32.c'
13280--- old/gcc/testsuite/gcc.target/arm/neon/vmvnQu32.c 2007-07-25 11:28:31 +0000
13281+++ new/gcc/testsuite/gcc.target/arm/neon/vmvnQu32.c 2010-07-29 15:38:15 +0000
13282@@ -3,7 +3,8 @@
13283
13284 /* { dg-do assemble } */
13285 /* { dg-require-effective-target arm_neon_ok } */
13286-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
13287+/* { dg-options "-save-temps -O0" } */
13288+/* { dg-add-options arm_neon } */
13289
13290 #include "arm_neon.h"
13291
13292
13293=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmvnQu8.c'
13294--- old/gcc/testsuite/gcc.target/arm/neon/vmvnQu8.c 2007-07-25 11:28:31 +0000
13295+++ new/gcc/testsuite/gcc.target/arm/neon/vmvnQu8.c 2010-07-29 15:38:15 +0000
13296@@ -3,7 +3,8 @@
13297
13298 /* { dg-do assemble } */
13299 /* { dg-require-effective-target arm_neon_ok } */
13300-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
13301+/* { dg-options "-save-temps -O0" } */
13302+/* { dg-add-options arm_neon } */
13303
13304 #include "arm_neon.h"
13305
13306
13307=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmvnp8.c'
13308--- old/gcc/testsuite/gcc.target/arm/neon/vmvnp8.c 2007-07-25 11:28:31 +0000
13309+++ new/gcc/testsuite/gcc.target/arm/neon/vmvnp8.c 2010-07-29 15:38:15 +0000
13310@@ -3,7 +3,8 @@
13311
13312 /* { dg-do assemble } */
13313 /* { dg-require-effective-target arm_neon_ok } */
13314-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
13315+/* { dg-options "-save-temps -O0" } */
13316+/* { dg-add-options arm_neon } */
13317
13318 #include "arm_neon.h"
13319
13320
13321=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmvns16.c'
13322--- old/gcc/testsuite/gcc.target/arm/neon/vmvns16.c 2007-07-25 11:28:31 +0000
13323+++ new/gcc/testsuite/gcc.target/arm/neon/vmvns16.c 2010-07-29 15:38:15 +0000
13324@@ -3,7 +3,8 @@
13325
13326 /* { dg-do assemble } */
13327 /* { dg-require-effective-target arm_neon_ok } */
13328-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
13329+/* { dg-options "-save-temps -O0" } */
13330+/* { dg-add-options arm_neon } */
13331
13332 #include "arm_neon.h"
13333
13334
13335=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmvns32.c'
13336--- old/gcc/testsuite/gcc.target/arm/neon/vmvns32.c 2007-07-25 11:28:31 +0000
13337+++ new/gcc/testsuite/gcc.target/arm/neon/vmvns32.c 2010-07-29 15:38:15 +0000
13338@@ -3,7 +3,8 @@
13339
13340 /* { dg-do assemble } */
13341 /* { dg-require-effective-target arm_neon_ok } */
13342-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
13343+/* { dg-options "-save-temps -O0" } */
13344+/* { dg-add-options arm_neon } */
13345
13346 #include "arm_neon.h"
13347
13348
13349=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmvns8.c'
13350--- old/gcc/testsuite/gcc.target/arm/neon/vmvns8.c 2007-07-25 11:28:31 +0000
13351+++ new/gcc/testsuite/gcc.target/arm/neon/vmvns8.c 2010-07-29 15:38:15 +0000
13352@@ -3,7 +3,8 @@
13353
13354 /* { dg-do assemble } */
13355 /* { dg-require-effective-target arm_neon_ok } */
13356-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
13357+/* { dg-options "-save-temps -O0" } */
13358+/* { dg-add-options arm_neon } */
13359
13360 #include "arm_neon.h"
13361
13362
13363=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmvnu16.c'
13364--- old/gcc/testsuite/gcc.target/arm/neon/vmvnu16.c 2007-07-25 11:28:31 +0000
13365+++ new/gcc/testsuite/gcc.target/arm/neon/vmvnu16.c 2010-07-29 15:38:15 +0000
13366@@ -3,7 +3,8 @@
13367
13368 /* { dg-do assemble } */
13369 /* { dg-require-effective-target arm_neon_ok } */
13370-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
13371+/* { dg-options "-save-temps -O0" } */
13372+/* { dg-add-options arm_neon } */
13373
13374 #include "arm_neon.h"
13375
13376
13377=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmvnu32.c'
13378--- old/gcc/testsuite/gcc.target/arm/neon/vmvnu32.c 2007-07-25 11:28:31 +0000
13379+++ new/gcc/testsuite/gcc.target/arm/neon/vmvnu32.c 2010-07-29 15:38:15 +0000
13380@@ -3,7 +3,8 @@
13381
13382 /* { dg-do assemble } */
13383 /* { dg-require-effective-target arm_neon_ok } */
13384-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
13385+/* { dg-options "-save-temps -O0" } */
13386+/* { dg-add-options arm_neon } */
13387
13388 #include "arm_neon.h"
13389
13390
13391=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmvnu8.c'
13392--- old/gcc/testsuite/gcc.target/arm/neon/vmvnu8.c 2007-07-25 11:28:31 +0000
13393+++ new/gcc/testsuite/gcc.target/arm/neon/vmvnu8.c 2010-07-29 15:38:15 +0000
13394@@ -3,7 +3,8 @@
13395
13396 /* { dg-do assemble } */
13397 /* { dg-require-effective-target arm_neon_ok } */
13398-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
13399+/* { dg-options "-save-temps -O0" } */
13400+/* { dg-add-options arm_neon } */
13401
13402 #include "arm_neon.h"
13403
13404
13405=== modified file 'gcc/testsuite/gcc.target/arm/neon/vnegQf32.c'
13406--- old/gcc/testsuite/gcc.target/arm/neon/vnegQf32.c 2007-07-25 11:28:31 +0000
13407+++ new/gcc/testsuite/gcc.target/arm/neon/vnegQf32.c 2010-07-29 15:38:15 +0000
13408@@ -3,7 +3,8 @@
13409
13410 /* { dg-do assemble } */
13411 /* { dg-require-effective-target arm_neon_ok } */
13412-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
13413+/* { dg-options "-save-temps -O0" } */
13414+/* { dg-add-options arm_neon } */
13415
13416 #include "arm_neon.h"
13417
13418
13419=== modified file 'gcc/testsuite/gcc.target/arm/neon/vnegQs16.c'
13420--- old/gcc/testsuite/gcc.target/arm/neon/vnegQs16.c 2007-07-25 11:28:31 +0000
13421+++ new/gcc/testsuite/gcc.target/arm/neon/vnegQs16.c 2010-07-29 15:38:15 +0000
13422@@ -3,7 +3,8 @@
13423
13424 /* { dg-do assemble } */
13425 /* { dg-require-effective-target arm_neon_ok } */
13426-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
13427+/* { dg-options "-save-temps -O0" } */
13428+/* { dg-add-options arm_neon } */
13429
13430 #include "arm_neon.h"
13431
13432
13433=== modified file 'gcc/testsuite/gcc.target/arm/neon/vnegQs32.c'
13434--- old/gcc/testsuite/gcc.target/arm/neon/vnegQs32.c 2007-07-25 11:28:31 +0000
13435+++ new/gcc/testsuite/gcc.target/arm/neon/vnegQs32.c 2010-07-29 15:38:15 +0000
13436@@ -3,7 +3,8 @@
13437
13438 /* { dg-do assemble } */
13439 /* { dg-require-effective-target arm_neon_ok } */
13440-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
13441+/* { dg-options "-save-temps -O0" } */
13442+/* { dg-add-options arm_neon } */
13443
13444 #include "arm_neon.h"
13445
13446
13447=== modified file 'gcc/testsuite/gcc.target/arm/neon/vnegQs8.c'
13448--- old/gcc/testsuite/gcc.target/arm/neon/vnegQs8.c 2007-07-25 11:28:31 +0000
13449+++ new/gcc/testsuite/gcc.target/arm/neon/vnegQs8.c 2010-07-29 15:38:15 +0000
13450@@ -3,7 +3,8 @@
13451
13452 /* { dg-do assemble } */
13453 /* { dg-require-effective-target arm_neon_ok } */
13454-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
13455+/* { dg-options "-save-temps -O0" } */
13456+/* { dg-add-options arm_neon } */
13457
13458 #include "arm_neon.h"
13459
13460
13461=== modified file 'gcc/testsuite/gcc.target/arm/neon/vnegf32.c'
13462--- old/gcc/testsuite/gcc.target/arm/neon/vnegf32.c 2007-07-25 11:28:31 +0000
13463+++ new/gcc/testsuite/gcc.target/arm/neon/vnegf32.c 2010-07-29 15:38:15 +0000
13464@@ -3,7 +3,8 @@
13465
13466 /* { dg-do assemble } */
13467 /* { dg-require-effective-target arm_neon_ok } */
13468-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
13469+/* { dg-options "-save-temps -O0" } */
13470+/* { dg-add-options arm_neon } */
13471
13472 #include "arm_neon.h"
13473
13474
13475=== modified file 'gcc/testsuite/gcc.target/arm/neon/vnegs16.c'
13476--- old/gcc/testsuite/gcc.target/arm/neon/vnegs16.c 2007-07-25 11:28:31 +0000
13477+++ new/gcc/testsuite/gcc.target/arm/neon/vnegs16.c 2010-07-29 15:38:15 +0000
13478@@ -3,7 +3,8 @@
13479
13480 /* { dg-do assemble } */
13481 /* { dg-require-effective-target arm_neon_ok } */
13482-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
13483+/* { dg-options "-save-temps -O0" } */
13484+/* { dg-add-options arm_neon } */
13485
13486 #include "arm_neon.h"
13487
13488
13489=== modified file 'gcc/testsuite/gcc.target/arm/neon/vnegs32.c'
13490--- old/gcc/testsuite/gcc.target/arm/neon/vnegs32.c 2007-07-25 11:28:31 +0000
13491+++ new/gcc/testsuite/gcc.target/arm/neon/vnegs32.c 2010-07-29 15:38:15 +0000
13492@@ -3,7 +3,8 @@
13493
13494 /* { dg-do assemble } */
13495 /* { dg-require-effective-target arm_neon_ok } */
13496-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
13497+/* { dg-options "-save-temps -O0" } */
13498+/* { dg-add-options arm_neon } */
13499
13500 #include "arm_neon.h"
13501
13502
13503=== modified file 'gcc/testsuite/gcc.target/arm/neon/vnegs8.c'
13504--- old/gcc/testsuite/gcc.target/arm/neon/vnegs8.c 2007-07-25 11:28:31 +0000
13505+++ new/gcc/testsuite/gcc.target/arm/neon/vnegs8.c 2010-07-29 15:38:15 +0000
13506@@ -3,7 +3,8 @@
13507
13508 /* { dg-do assemble } */
13509 /* { dg-require-effective-target arm_neon_ok } */
13510-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
13511+/* { dg-options "-save-temps -O0" } */
13512+/* { dg-add-options arm_neon } */
13513
13514 #include "arm_neon.h"
13515
13516
13517=== modified file 'gcc/testsuite/gcc.target/arm/neon/vornQs16.c'
13518--- old/gcc/testsuite/gcc.target/arm/neon/vornQs16.c 2007-07-25 11:28:31 +0000
13519+++ new/gcc/testsuite/gcc.target/arm/neon/vornQs16.c 2010-07-29 15:38:15 +0000
13520@@ -3,7 +3,8 @@
13521
13522 /* { dg-do assemble } */
13523 /* { dg-require-effective-target arm_neon_ok } */
13524-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
13525+/* { dg-options "-save-temps -O0" } */
13526+/* { dg-add-options arm_neon } */
13527
13528 #include "arm_neon.h"
13529
13530
13531=== modified file 'gcc/testsuite/gcc.target/arm/neon/vornQs32.c'
13532--- old/gcc/testsuite/gcc.target/arm/neon/vornQs32.c 2007-07-25 11:28:31 +0000
13533+++ new/gcc/testsuite/gcc.target/arm/neon/vornQs32.c 2010-07-29 15:38:15 +0000
13534@@ -3,7 +3,8 @@
13535
13536 /* { dg-do assemble } */
13537 /* { dg-require-effective-target arm_neon_ok } */
13538-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
13539+/* { dg-options "-save-temps -O0" } */
13540+/* { dg-add-options arm_neon } */
13541
13542 #include "arm_neon.h"
13543
13544
13545=== modified file 'gcc/testsuite/gcc.target/arm/neon/vornQs64.c'
13546--- old/gcc/testsuite/gcc.target/arm/neon/vornQs64.c 2007-07-25 11:28:31 +0000
13547+++ new/gcc/testsuite/gcc.target/arm/neon/vornQs64.c 2010-07-29 15:38:15 +0000
13548@@ -3,7 +3,8 @@
13549
13550 /* { dg-do assemble } */
13551 /* { dg-require-effective-target arm_neon_ok } */
13552-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
13553+/* { dg-options "-save-temps -O0" } */
13554+/* { dg-add-options arm_neon } */
13555
13556 #include "arm_neon.h"
13557
13558
13559=== modified file 'gcc/testsuite/gcc.target/arm/neon/vornQs8.c'
13560--- old/gcc/testsuite/gcc.target/arm/neon/vornQs8.c 2007-07-25 11:28:31 +0000
13561+++ new/gcc/testsuite/gcc.target/arm/neon/vornQs8.c 2010-07-29 15:38:15 +0000
13562@@ -3,7 +3,8 @@
13563
13564 /* { dg-do assemble } */
13565 /* { dg-require-effective-target arm_neon_ok } */
13566-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
13567+/* { dg-options "-save-temps -O0" } */
13568+/* { dg-add-options arm_neon } */
13569
13570 #include "arm_neon.h"
13571
13572
13573=== modified file 'gcc/testsuite/gcc.target/arm/neon/vornQu16.c'
13574--- old/gcc/testsuite/gcc.target/arm/neon/vornQu16.c 2007-07-25 11:28:31 +0000
13575+++ new/gcc/testsuite/gcc.target/arm/neon/vornQu16.c 2010-07-29 15:38:15 +0000
13576@@ -3,7 +3,8 @@
13577
13578 /* { dg-do assemble } */
13579 /* { dg-require-effective-target arm_neon_ok } */
13580-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
13581+/* { dg-options "-save-temps -O0" } */
13582+/* { dg-add-options arm_neon } */
13583
13584 #include "arm_neon.h"
13585
13586
13587=== modified file 'gcc/testsuite/gcc.target/arm/neon/vornQu32.c'
13588--- old/gcc/testsuite/gcc.target/arm/neon/vornQu32.c 2007-07-25 11:28:31 +0000
13589+++ new/gcc/testsuite/gcc.target/arm/neon/vornQu32.c 2010-07-29 15:38:15 +0000
13590@@ -3,7 +3,8 @@
13591
13592 /* { dg-do assemble } */
13593 /* { dg-require-effective-target arm_neon_ok } */
13594-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
13595+/* { dg-options "-save-temps -O0" } */
13596+/* { dg-add-options arm_neon } */
13597
13598 #include "arm_neon.h"
13599
13600
13601=== modified file 'gcc/testsuite/gcc.target/arm/neon/vornQu64.c'
13602--- old/gcc/testsuite/gcc.target/arm/neon/vornQu64.c 2007-07-25 11:28:31 +0000
13603+++ new/gcc/testsuite/gcc.target/arm/neon/vornQu64.c 2010-07-29 15:38:15 +0000
13604@@ -3,7 +3,8 @@
13605
13606 /* { dg-do assemble } */
13607 /* { dg-require-effective-target arm_neon_ok } */
13608-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
13609+/* { dg-options "-save-temps -O0" } */
13610+/* { dg-add-options arm_neon } */
13611
13612 #include "arm_neon.h"
13613
13614
13615=== modified file 'gcc/testsuite/gcc.target/arm/neon/vornQu8.c'
13616--- old/gcc/testsuite/gcc.target/arm/neon/vornQu8.c 2007-07-25 11:28:31 +0000
13617+++ new/gcc/testsuite/gcc.target/arm/neon/vornQu8.c 2010-07-29 15:38:15 +0000
13618@@ -3,7 +3,8 @@
13619
13620 /* { dg-do assemble } */
13621 /* { dg-require-effective-target arm_neon_ok } */
13622-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
13623+/* { dg-options "-save-temps -O0" } */
13624+/* { dg-add-options arm_neon } */
13625
13626 #include "arm_neon.h"
13627
13628
13629=== modified file 'gcc/testsuite/gcc.target/arm/neon/vorns16.c'
13630--- old/gcc/testsuite/gcc.target/arm/neon/vorns16.c 2007-07-25 11:28:31 +0000
13631+++ new/gcc/testsuite/gcc.target/arm/neon/vorns16.c 2010-07-29 15:38:15 +0000
13632@@ -3,7 +3,8 @@
13633
13634 /* { dg-do assemble } */
13635 /* { dg-require-effective-target arm_neon_ok } */
13636-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
13637+/* { dg-options "-save-temps -O0" } */
13638+/* { dg-add-options arm_neon } */
13639
13640 #include "arm_neon.h"
13641
13642
13643=== modified file 'gcc/testsuite/gcc.target/arm/neon/vorns32.c'
13644--- old/gcc/testsuite/gcc.target/arm/neon/vorns32.c 2007-07-25 11:28:31 +0000
13645+++ new/gcc/testsuite/gcc.target/arm/neon/vorns32.c 2010-07-29 15:38:15 +0000
13646@@ -3,7 +3,8 @@
13647
13648 /* { dg-do assemble } */
13649 /* { dg-require-effective-target arm_neon_ok } */
13650-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
13651+/* { dg-options "-save-temps -O0" } */
13652+/* { dg-add-options arm_neon } */
13653
13654 #include "arm_neon.h"
13655
13656
13657=== modified file 'gcc/testsuite/gcc.target/arm/neon/vorns64.c'
13658--- old/gcc/testsuite/gcc.target/arm/neon/vorns64.c 2007-07-25 11:28:31 +0000
13659+++ new/gcc/testsuite/gcc.target/arm/neon/vorns64.c 2010-07-29 15:38:15 +0000
13660@@ -3,7 +3,8 @@
13661
13662 /* { dg-do assemble } */
13663 /* { dg-require-effective-target arm_neon_ok } */
13664-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
13665+/* { dg-options "-save-temps -O0" } */
13666+/* { dg-add-options arm_neon } */
13667
13668 #include "arm_neon.h"
13669
13670
13671=== modified file 'gcc/testsuite/gcc.target/arm/neon/vorns8.c'
13672--- old/gcc/testsuite/gcc.target/arm/neon/vorns8.c 2007-07-25 11:28:31 +0000
13673+++ new/gcc/testsuite/gcc.target/arm/neon/vorns8.c 2010-07-29 15:38:15 +0000
13674@@ -3,7 +3,8 @@
13675
13676 /* { dg-do assemble } */
13677 /* { dg-require-effective-target arm_neon_ok } */
13678-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
13679+/* { dg-options "-save-temps -O0" } */
13680+/* { dg-add-options arm_neon } */
13681
13682 #include "arm_neon.h"
13683
13684
13685=== modified file 'gcc/testsuite/gcc.target/arm/neon/vornu16.c'
13686--- old/gcc/testsuite/gcc.target/arm/neon/vornu16.c 2007-07-25 11:28:31 +0000
13687+++ new/gcc/testsuite/gcc.target/arm/neon/vornu16.c 2010-07-29 15:38:15 +0000
13688@@ -3,7 +3,8 @@
13689
13690 /* { dg-do assemble } */
13691 /* { dg-require-effective-target arm_neon_ok } */
13692-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
13693+/* { dg-options "-save-temps -O0" } */
13694+/* { dg-add-options arm_neon } */
13695
13696 #include "arm_neon.h"
13697
13698
13699=== modified file 'gcc/testsuite/gcc.target/arm/neon/vornu32.c'
13700--- old/gcc/testsuite/gcc.target/arm/neon/vornu32.c 2007-07-25 11:28:31 +0000
13701+++ new/gcc/testsuite/gcc.target/arm/neon/vornu32.c 2010-07-29 15:38:15 +0000
13702@@ -3,7 +3,8 @@
13703
13704 /* { dg-do assemble } */
13705 /* { dg-require-effective-target arm_neon_ok } */
13706-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
13707+/* { dg-options "-save-temps -O0" } */
13708+/* { dg-add-options arm_neon } */
13709
13710 #include "arm_neon.h"
13711
13712
13713=== modified file 'gcc/testsuite/gcc.target/arm/neon/vornu64.c'
13714--- old/gcc/testsuite/gcc.target/arm/neon/vornu64.c 2007-07-25 11:28:31 +0000
13715+++ new/gcc/testsuite/gcc.target/arm/neon/vornu64.c 2010-07-29 15:38:15 +0000
13716@@ -3,7 +3,8 @@
13717
13718 /* { dg-do assemble } */
13719 /* { dg-require-effective-target arm_neon_ok } */
13720-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
13721+/* { dg-options "-save-temps -O0" } */
13722+/* { dg-add-options arm_neon } */
13723
13724 #include "arm_neon.h"
13725
13726
13727=== modified file 'gcc/testsuite/gcc.target/arm/neon/vornu8.c'
13728--- old/gcc/testsuite/gcc.target/arm/neon/vornu8.c 2007-07-25 11:28:31 +0000
13729+++ new/gcc/testsuite/gcc.target/arm/neon/vornu8.c 2010-07-29 15:38:15 +0000
13730@@ -3,7 +3,8 @@
13731
13732 /* { dg-do assemble } */
13733 /* { dg-require-effective-target arm_neon_ok } */
13734-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
13735+/* { dg-options "-save-temps -O0" } */
13736+/* { dg-add-options arm_neon } */
13737
13738 #include "arm_neon.h"
13739
13740
13741=== modified file 'gcc/testsuite/gcc.target/arm/neon/vorrQs16.c'
13742--- old/gcc/testsuite/gcc.target/arm/neon/vorrQs16.c 2007-07-25 11:28:31 +0000
13743+++ new/gcc/testsuite/gcc.target/arm/neon/vorrQs16.c 2010-07-29 15:38:15 +0000
13744@@ -3,7 +3,8 @@
13745
13746 /* { dg-do assemble } */
13747 /* { dg-require-effective-target arm_neon_ok } */
13748-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
13749+/* { dg-options "-save-temps -O0" } */
13750+/* { dg-add-options arm_neon } */
13751
13752 #include "arm_neon.h"
13753
13754
13755=== modified file 'gcc/testsuite/gcc.target/arm/neon/vorrQs32.c'
13756--- old/gcc/testsuite/gcc.target/arm/neon/vorrQs32.c 2007-07-25 11:28:31 +0000
13757+++ new/gcc/testsuite/gcc.target/arm/neon/vorrQs32.c 2010-07-29 15:38:15 +0000
13758@@ -3,7 +3,8 @@
13759
13760 /* { dg-do assemble } */
13761 /* { dg-require-effective-target arm_neon_ok } */
13762-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
13763+/* { dg-options "-save-temps -O0" } */
13764+/* { dg-add-options arm_neon } */
13765
13766 #include "arm_neon.h"
13767
13768
13769=== modified file 'gcc/testsuite/gcc.target/arm/neon/vorrQs64.c'
13770--- old/gcc/testsuite/gcc.target/arm/neon/vorrQs64.c 2007-07-25 11:28:31 +0000
13771+++ new/gcc/testsuite/gcc.target/arm/neon/vorrQs64.c 2010-07-29 15:38:15 +0000
13772@@ -3,7 +3,8 @@
13773
13774 /* { dg-do assemble } */
13775 /* { dg-require-effective-target arm_neon_ok } */
13776-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
13777+/* { dg-options "-save-temps -O0" } */
13778+/* { dg-add-options arm_neon } */
13779
13780 #include "arm_neon.h"
13781
13782
13783=== modified file 'gcc/testsuite/gcc.target/arm/neon/vorrQs8.c'
13784--- old/gcc/testsuite/gcc.target/arm/neon/vorrQs8.c 2007-07-25 11:28:31 +0000
13785+++ new/gcc/testsuite/gcc.target/arm/neon/vorrQs8.c 2010-07-29 15:38:15 +0000
13786@@ -3,7 +3,8 @@
13787
13788 /* { dg-do assemble } */
13789 /* { dg-require-effective-target arm_neon_ok } */
13790-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
13791+/* { dg-options "-save-temps -O0" } */
13792+/* { dg-add-options arm_neon } */
13793
13794 #include "arm_neon.h"
13795
13796
13797=== modified file 'gcc/testsuite/gcc.target/arm/neon/vorrQu16.c'
13798--- old/gcc/testsuite/gcc.target/arm/neon/vorrQu16.c 2007-07-25 11:28:31 +0000
13799+++ new/gcc/testsuite/gcc.target/arm/neon/vorrQu16.c 2010-07-29 15:38:15 +0000
13800@@ -3,7 +3,8 @@
13801
13802 /* { dg-do assemble } */
13803 /* { dg-require-effective-target arm_neon_ok } */
13804-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
13805+/* { dg-options "-save-temps -O0" } */
13806+/* { dg-add-options arm_neon } */
13807
13808 #include "arm_neon.h"
13809
13810
13811=== modified file 'gcc/testsuite/gcc.target/arm/neon/vorrQu32.c'
13812--- old/gcc/testsuite/gcc.target/arm/neon/vorrQu32.c 2007-07-25 11:28:31 +0000
13813+++ new/gcc/testsuite/gcc.target/arm/neon/vorrQu32.c 2010-07-29 15:38:15 +0000
13814@@ -3,7 +3,8 @@
13815
13816 /* { dg-do assemble } */
13817 /* { dg-require-effective-target arm_neon_ok } */
13818-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
13819+/* { dg-options "-save-temps -O0" } */
13820+/* { dg-add-options arm_neon } */
13821
13822 #include "arm_neon.h"
13823
13824
13825=== modified file 'gcc/testsuite/gcc.target/arm/neon/vorrQu64.c'
13826--- old/gcc/testsuite/gcc.target/arm/neon/vorrQu64.c 2007-07-25 11:28:31 +0000
13827+++ new/gcc/testsuite/gcc.target/arm/neon/vorrQu64.c 2010-07-29 15:38:15 +0000
13828@@ -3,7 +3,8 @@
13829
13830 /* { dg-do assemble } */
13831 /* { dg-require-effective-target arm_neon_ok } */
13832-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
13833+/* { dg-options "-save-temps -O0" } */
13834+/* { dg-add-options arm_neon } */
13835
13836 #include "arm_neon.h"
13837
13838
13839=== modified file 'gcc/testsuite/gcc.target/arm/neon/vorrQu8.c'
13840--- old/gcc/testsuite/gcc.target/arm/neon/vorrQu8.c 2007-07-25 11:28:31 +0000
13841+++ new/gcc/testsuite/gcc.target/arm/neon/vorrQu8.c 2010-07-29 15:38:15 +0000
13842@@ -3,7 +3,8 @@
13843
13844 /* { dg-do assemble } */
13845 /* { dg-require-effective-target arm_neon_ok } */
13846-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
13847+/* { dg-options "-save-temps -O0" } */
13848+/* { dg-add-options arm_neon } */
13849
13850 #include "arm_neon.h"
13851
13852
13853=== modified file 'gcc/testsuite/gcc.target/arm/neon/vorrs16.c'
13854--- old/gcc/testsuite/gcc.target/arm/neon/vorrs16.c 2007-07-25 11:28:31 +0000
13855+++ new/gcc/testsuite/gcc.target/arm/neon/vorrs16.c 2010-07-29 15:38:15 +0000
13856@@ -3,7 +3,8 @@
13857
13858 /* { dg-do assemble } */
13859 /* { dg-require-effective-target arm_neon_ok } */
13860-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
13861+/* { dg-options "-save-temps -O0" } */
13862+/* { dg-add-options arm_neon } */
13863
13864 #include "arm_neon.h"
13865
13866
13867=== modified file 'gcc/testsuite/gcc.target/arm/neon/vorrs32.c'
13868--- old/gcc/testsuite/gcc.target/arm/neon/vorrs32.c 2007-07-25 11:28:31 +0000
13869+++ new/gcc/testsuite/gcc.target/arm/neon/vorrs32.c 2010-07-29 15:38:15 +0000
13870@@ -3,7 +3,8 @@
13871
13872 /* { dg-do assemble } */
13873 /* { dg-require-effective-target arm_neon_ok } */
13874-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
13875+/* { dg-options "-save-temps -O0" } */
13876+/* { dg-add-options arm_neon } */
13877
13878 #include "arm_neon.h"
13879
13880
13881=== modified file 'gcc/testsuite/gcc.target/arm/neon/vorrs64.c'
13882--- old/gcc/testsuite/gcc.target/arm/neon/vorrs64.c 2007-07-25 11:28:31 +0000
13883+++ new/gcc/testsuite/gcc.target/arm/neon/vorrs64.c 2010-07-29 15:38:15 +0000
13884@@ -3,7 +3,8 @@
13885
13886 /* { dg-do assemble } */
13887 /* { dg-require-effective-target arm_neon_ok } */
13888-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
13889+/* { dg-options "-save-temps -O0" } */
13890+/* { dg-add-options arm_neon } */
13891
13892 #include "arm_neon.h"
13893
13894
13895=== modified file 'gcc/testsuite/gcc.target/arm/neon/vorrs8.c'
13896--- old/gcc/testsuite/gcc.target/arm/neon/vorrs8.c 2007-07-25 11:28:31 +0000
13897+++ new/gcc/testsuite/gcc.target/arm/neon/vorrs8.c 2010-07-29 15:38:15 +0000
13898@@ -3,7 +3,8 @@
13899
13900 /* { dg-do assemble } */
13901 /* { dg-require-effective-target arm_neon_ok } */
13902-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
13903+/* { dg-options "-save-temps -O0" } */
13904+/* { dg-add-options arm_neon } */
13905
13906 #include "arm_neon.h"
13907
13908
13909=== modified file 'gcc/testsuite/gcc.target/arm/neon/vorru16.c'
13910--- old/gcc/testsuite/gcc.target/arm/neon/vorru16.c 2007-07-25 11:28:31 +0000
13911+++ new/gcc/testsuite/gcc.target/arm/neon/vorru16.c 2010-07-29 15:38:15 +0000
13912@@ -3,7 +3,8 @@
13913
13914 /* { dg-do assemble } */
13915 /* { dg-require-effective-target arm_neon_ok } */
13916-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
13917+/* { dg-options "-save-temps -O0" } */
13918+/* { dg-add-options arm_neon } */
13919
13920 #include "arm_neon.h"
13921
13922
13923=== modified file 'gcc/testsuite/gcc.target/arm/neon/vorru32.c'
13924--- old/gcc/testsuite/gcc.target/arm/neon/vorru32.c 2007-07-25 11:28:31 +0000
13925+++ new/gcc/testsuite/gcc.target/arm/neon/vorru32.c 2010-07-29 15:38:15 +0000
13926@@ -3,7 +3,8 @@
13927
13928 /* { dg-do assemble } */
13929 /* { dg-require-effective-target arm_neon_ok } */
13930-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
13931+/* { dg-options "-save-temps -O0" } */
13932+/* { dg-add-options arm_neon } */
13933
13934 #include "arm_neon.h"
13935
13936
13937=== modified file 'gcc/testsuite/gcc.target/arm/neon/vorru64.c'
13938--- old/gcc/testsuite/gcc.target/arm/neon/vorru64.c 2007-07-25 11:28:31 +0000
13939+++ new/gcc/testsuite/gcc.target/arm/neon/vorru64.c 2010-07-29 15:38:15 +0000
13940@@ -3,7 +3,8 @@
13941
13942 /* { dg-do assemble } */
13943 /* { dg-require-effective-target arm_neon_ok } */
13944-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
13945+/* { dg-options "-save-temps -O0" } */
13946+/* { dg-add-options arm_neon } */
13947
13948 #include "arm_neon.h"
13949
13950
13951=== modified file 'gcc/testsuite/gcc.target/arm/neon/vorru8.c'
13952--- old/gcc/testsuite/gcc.target/arm/neon/vorru8.c 2007-07-25 11:28:31 +0000
13953+++ new/gcc/testsuite/gcc.target/arm/neon/vorru8.c 2010-07-29 15:38:15 +0000
13954@@ -3,7 +3,8 @@
13955
13956 /* { dg-do assemble } */
13957 /* { dg-require-effective-target arm_neon_ok } */
13958-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
13959+/* { dg-options "-save-temps -O0" } */
13960+/* { dg-add-options arm_neon } */
13961
13962 #include "arm_neon.h"
13963
13964
13965=== modified file 'gcc/testsuite/gcc.target/arm/neon/vpadalQs16.c'
13966--- old/gcc/testsuite/gcc.target/arm/neon/vpadalQs16.c 2007-07-25 11:28:31 +0000
13967+++ new/gcc/testsuite/gcc.target/arm/neon/vpadalQs16.c 2010-07-29 15:38:15 +0000
13968@@ -3,7 +3,8 @@
13969
13970 /* { dg-do assemble } */
13971 /* { dg-require-effective-target arm_neon_ok } */
13972-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
13973+/* { dg-options "-save-temps -O0" } */
13974+/* { dg-add-options arm_neon } */
13975
13976 #include "arm_neon.h"
13977
13978
13979=== modified file 'gcc/testsuite/gcc.target/arm/neon/vpadalQs32.c'
13980--- old/gcc/testsuite/gcc.target/arm/neon/vpadalQs32.c 2007-07-25 11:28:31 +0000
13981+++ new/gcc/testsuite/gcc.target/arm/neon/vpadalQs32.c 2010-07-29 15:38:15 +0000
13982@@ -3,7 +3,8 @@
13983
13984 /* { dg-do assemble } */
13985 /* { dg-require-effective-target arm_neon_ok } */
13986-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
13987+/* { dg-options "-save-temps -O0" } */
13988+/* { dg-add-options arm_neon } */
13989
13990 #include "arm_neon.h"
13991
13992
13993=== modified file 'gcc/testsuite/gcc.target/arm/neon/vpadalQs8.c'
13994--- old/gcc/testsuite/gcc.target/arm/neon/vpadalQs8.c 2007-07-25 11:28:31 +0000
13995+++ new/gcc/testsuite/gcc.target/arm/neon/vpadalQs8.c 2010-07-29 15:38:15 +0000
13996@@ -3,7 +3,8 @@
13997
13998 /* { dg-do assemble } */
13999 /* { dg-require-effective-target arm_neon_ok } */
14000-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
14001+/* { dg-options "-save-temps -O0" } */
14002+/* { dg-add-options arm_neon } */
14003
14004 #include "arm_neon.h"
14005
14006
14007=== modified file 'gcc/testsuite/gcc.target/arm/neon/vpadalQu16.c'
14008--- old/gcc/testsuite/gcc.target/arm/neon/vpadalQu16.c 2007-07-25 11:28:31 +0000
14009+++ new/gcc/testsuite/gcc.target/arm/neon/vpadalQu16.c 2010-07-29 15:38:15 +0000
14010@@ -3,7 +3,8 @@
14011
14012 /* { dg-do assemble } */
14013 /* { dg-require-effective-target arm_neon_ok } */
14014-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
14015+/* { dg-options "-save-temps -O0" } */
14016+/* { dg-add-options arm_neon } */
14017
14018 #include "arm_neon.h"
14019
14020
14021=== modified file 'gcc/testsuite/gcc.target/arm/neon/vpadalQu32.c'
14022--- old/gcc/testsuite/gcc.target/arm/neon/vpadalQu32.c 2007-07-25 11:28:31 +0000
14023+++ new/gcc/testsuite/gcc.target/arm/neon/vpadalQu32.c 2010-07-29 15:38:15 +0000
14024@@ -3,7 +3,8 @@
14025
14026 /* { dg-do assemble } */
14027 /* { dg-require-effective-target arm_neon_ok } */
14028-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
14029+/* { dg-options "-save-temps -O0" } */
14030+/* { dg-add-options arm_neon } */
14031
14032 #include "arm_neon.h"
14033
14034
14035=== modified file 'gcc/testsuite/gcc.target/arm/neon/vpadalQu8.c'
14036--- old/gcc/testsuite/gcc.target/arm/neon/vpadalQu8.c 2007-07-25 11:28:31 +0000
14037+++ new/gcc/testsuite/gcc.target/arm/neon/vpadalQu8.c 2010-07-29 15:38:15 +0000
14038@@ -3,7 +3,8 @@
14039
14040 /* { dg-do assemble } */
14041 /* { dg-require-effective-target arm_neon_ok } */
14042-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
14043+/* { dg-options "-save-temps -O0" } */
14044+/* { dg-add-options arm_neon } */
14045
14046 #include "arm_neon.h"
14047
14048
14049=== modified file 'gcc/testsuite/gcc.target/arm/neon/vpadals16.c'
14050--- old/gcc/testsuite/gcc.target/arm/neon/vpadals16.c 2007-07-25 11:28:31 +0000
14051+++ new/gcc/testsuite/gcc.target/arm/neon/vpadals16.c 2010-07-29 15:38:15 +0000
14052@@ -3,7 +3,8 @@
14053
14054 /* { dg-do assemble } */
14055 /* { dg-require-effective-target arm_neon_ok } */
14056-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
14057+/* { dg-options "-save-temps -O0" } */
14058+/* { dg-add-options arm_neon } */
14059
14060 #include "arm_neon.h"
14061
14062
14063=== modified file 'gcc/testsuite/gcc.target/arm/neon/vpadals32.c'
14064--- old/gcc/testsuite/gcc.target/arm/neon/vpadals32.c 2007-07-25 11:28:31 +0000
14065+++ new/gcc/testsuite/gcc.target/arm/neon/vpadals32.c 2010-07-29 15:38:15 +0000
14066@@ -3,7 +3,8 @@
14067
14068 /* { dg-do assemble } */
14069 /* { dg-require-effective-target arm_neon_ok } */
14070-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
14071+/* { dg-options "-save-temps -O0" } */
14072+/* { dg-add-options arm_neon } */
14073
14074 #include "arm_neon.h"
14075
14076
14077=== modified file 'gcc/testsuite/gcc.target/arm/neon/vpadals8.c'
14078--- old/gcc/testsuite/gcc.target/arm/neon/vpadals8.c 2007-07-25 11:28:31 +0000
14079+++ new/gcc/testsuite/gcc.target/arm/neon/vpadals8.c 2010-07-29 15:38:15 +0000
14080@@ -3,7 +3,8 @@
14081
14082 /* { dg-do assemble } */
14083 /* { dg-require-effective-target arm_neon_ok } */
14084-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
14085+/* { dg-options "-save-temps -O0" } */
14086+/* { dg-add-options arm_neon } */
14087
14088 #include "arm_neon.h"
14089
14090
14091=== modified file 'gcc/testsuite/gcc.target/arm/neon/vpadalu16.c'
14092--- old/gcc/testsuite/gcc.target/arm/neon/vpadalu16.c 2007-07-25 11:28:31 +0000
14093+++ new/gcc/testsuite/gcc.target/arm/neon/vpadalu16.c 2010-07-29 15:38:15 +0000
14094@@ -3,7 +3,8 @@
14095
14096 /* { dg-do assemble } */
14097 /* { dg-require-effective-target arm_neon_ok } */
14098-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
14099+/* { dg-options "-save-temps -O0" } */
14100+/* { dg-add-options arm_neon } */
14101
14102 #include "arm_neon.h"
14103
14104
14105=== modified file 'gcc/testsuite/gcc.target/arm/neon/vpadalu32.c'
14106--- old/gcc/testsuite/gcc.target/arm/neon/vpadalu32.c 2007-07-25 11:28:31 +0000
14107+++ new/gcc/testsuite/gcc.target/arm/neon/vpadalu32.c 2010-07-29 15:38:15 +0000
14108@@ -3,7 +3,8 @@
14109
14110 /* { dg-do assemble } */
14111 /* { dg-require-effective-target arm_neon_ok } */
14112-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
14113+/* { dg-options "-save-temps -O0" } */
14114+/* { dg-add-options arm_neon } */
14115
14116 #include "arm_neon.h"
14117
14118
14119=== modified file 'gcc/testsuite/gcc.target/arm/neon/vpadalu8.c'
14120--- old/gcc/testsuite/gcc.target/arm/neon/vpadalu8.c 2007-07-25 11:28:31 +0000
14121+++ new/gcc/testsuite/gcc.target/arm/neon/vpadalu8.c 2010-07-29 15:38:15 +0000
14122@@ -3,7 +3,8 @@
14123
14124 /* { dg-do assemble } */
14125 /* { dg-require-effective-target arm_neon_ok } */
14126-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
14127+/* { dg-options "-save-temps -O0" } */
14128+/* { dg-add-options arm_neon } */
14129
14130 #include "arm_neon.h"
14131
14132
14133=== modified file 'gcc/testsuite/gcc.target/arm/neon/vpaddf32.c'
14134--- old/gcc/testsuite/gcc.target/arm/neon/vpaddf32.c 2007-07-25 11:28:31 +0000
14135+++ new/gcc/testsuite/gcc.target/arm/neon/vpaddf32.c 2010-07-29 15:38:15 +0000
14136@@ -3,7 +3,8 @@
14137
14138 /* { dg-do assemble } */
14139 /* { dg-require-effective-target arm_neon_ok } */
14140-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
14141+/* { dg-options "-save-temps -O0" } */
14142+/* { dg-add-options arm_neon } */
14143
14144 #include "arm_neon.h"
14145
14146
14147=== modified file 'gcc/testsuite/gcc.target/arm/neon/vpaddlQs16.c'
14148--- old/gcc/testsuite/gcc.target/arm/neon/vpaddlQs16.c 2007-07-25 11:28:31 +0000
14149+++ new/gcc/testsuite/gcc.target/arm/neon/vpaddlQs16.c 2010-07-29 15:38:15 +0000
14150@@ -3,7 +3,8 @@
14151
14152 /* { dg-do assemble } */
14153 /* { dg-require-effective-target arm_neon_ok } */
14154-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
14155+/* { dg-options "-save-temps -O0" } */
14156+/* { dg-add-options arm_neon } */
14157
14158 #include "arm_neon.h"
14159
14160
14161=== modified file 'gcc/testsuite/gcc.target/arm/neon/vpaddlQs32.c'
14162--- old/gcc/testsuite/gcc.target/arm/neon/vpaddlQs32.c 2007-07-25 11:28:31 +0000
14163+++ new/gcc/testsuite/gcc.target/arm/neon/vpaddlQs32.c 2010-07-29 15:38:15 +0000
14164@@ -3,7 +3,8 @@
14165
14166 /* { dg-do assemble } */
14167 /* { dg-require-effective-target arm_neon_ok } */
14168-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
14169+/* { dg-options "-save-temps -O0" } */
14170+/* { dg-add-options arm_neon } */
14171
14172 #include "arm_neon.h"
14173
14174
14175=== modified file 'gcc/testsuite/gcc.target/arm/neon/vpaddlQs8.c'
14176--- old/gcc/testsuite/gcc.target/arm/neon/vpaddlQs8.c 2007-07-25 11:28:31 +0000
14177+++ new/gcc/testsuite/gcc.target/arm/neon/vpaddlQs8.c 2010-07-29 15:38:15 +0000
14178@@ -3,7 +3,8 @@
14179
14180 /* { dg-do assemble } */
14181 /* { dg-require-effective-target arm_neon_ok } */
14182-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
14183+/* { dg-options "-save-temps -O0" } */
14184+/* { dg-add-options arm_neon } */
14185
14186 #include "arm_neon.h"
14187
14188
14189=== modified file 'gcc/testsuite/gcc.target/arm/neon/vpaddlQu16.c'
14190--- old/gcc/testsuite/gcc.target/arm/neon/vpaddlQu16.c 2007-07-25 11:28:31 +0000
14191+++ new/gcc/testsuite/gcc.target/arm/neon/vpaddlQu16.c 2010-07-29 15:38:15 +0000
14192@@ -3,7 +3,8 @@
14193
14194 /* { dg-do assemble } */
14195 /* { dg-require-effective-target arm_neon_ok } */
14196-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
14197+/* { dg-options "-save-temps -O0" } */
14198+/* { dg-add-options arm_neon } */
14199
14200 #include "arm_neon.h"
14201
14202
14203=== modified file 'gcc/testsuite/gcc.target/arm/neon/vpaddlQu32.c'
14204--- old/gcc/testsuite/gcc.target/arm/neon/vpaddlQu32.c 2007-07-25 11:28:31 +0000
14205+++ new/gcc/testsuite/gcc.target/arm/neon/vpaddlQu32.c 2010-07-29 15:38:15 +0000
14206@@ -3,7 +3,8 @@
14207
14208 /* { dg-do assemble } */
14209 /* { dg-require-effective-target arm_neon_ok } */
14210-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
14211+/* { dg-options "-save-temps -O0" } */
14212+/* { dg-add-options arm_neon } */
14213
14214 #include "arm_neon.h"
14215
14216
14217=== modified file 'gcc/testsuite/gcc.target/arm/neon/vpaddlQu8.c'
14218--- old/gcc/testsuite/gcc.target/arm/neon/vpaddlQu8.c 2007-07-25 11:28:31 +0000
14219+++ new/gcc/testsuite/gcc.target/arm/neon/vpaddlQu8.c 2010-07-29 15:38:15 +0000
14220@@ -3,7 +3,8 @@
14221
14222 /* { dg-do assemble } */
14223 /* { dg-require-effective-target arm_neon_ok } */
14224-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
14225+/* { dg-options "-save-temps -O0" } */
14226+/* { dg-add-options arm_neon } */
14227
14228 #include "arm_neon.h"
14229
14230
14231=== modified file 'gcc/testsuite/gcc.target/arm/neon/vpaddls16.c'
14232--- old/gcc/testsuite/gcc.target/arm/neon/vpaddls16.c 2007-07-25 11:28:31 +0000
14233+++ new/gcc/testsuite/gcc.target/arm/neon/vpaddls16.c 2010-07-29 15:38:15 +0000
14234@@ -3,7 +3,8 @@
14235
14236 /* { dg-do assemble } */
14237 /* { dg-require-effective-target arm_neon_ok } */
14238-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
14239+/* { dg-options "-save-temps -O0" } */
14240+/* { dg-add-options arm_neon } */
14241
14242 #include "arm_neon.h"
14243
14244
14245=== modified file 'gcc/testsuite/gcc.target/arm/neon/vpaddls32.c'
14246--- old/gcc/testsuite/gcc.target/arm/neon/vpaddls32.c 2007-07-25 11:28:31 +0000
14247+++ new/gcc/testsuite/gcc.target/arm/neon/vpaddls32.c 2010-07-29 15:38:15 +0000
14248@@ -3,7 +3,8 @@
14249
14250 /* { dg-do assemble } */
14251 /* { dg-require-effective-target arm_neon_ok } */
14252-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
14253+/* { dg-options "-save-temps -O0" } */
14254+/* { dg-add-options arm_neon } */
14255
14256 #include "arm_neon.h"
14257
14258
14259=== modified file 'gcc/testsuite/gcc.target/arm/neon/vpaddls8.c'
14260--- old/gcc/testsuite/gcc.target/arm/neon/vpaddls8.c 2007-07-25 11:28:31 +0000
14261+++ new/gcc/testsuite/gcc.target/arm/neon/vpaddls8.c 2010-07-29 15:38:15 +0000
14262@@ -3,7 +3,8 @@
14263
14264 /* { dg-do assemble } */
14265 /* { dg-require-effective-target arm_neon_ok } */
14266-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
14267+/* { dg-options "-save-temps -O0" } */
14268+/* { dg-add-options arm_neon } */
14269
14270 #include "arm_neon.h"
14271
14272
14273=== modified file 'gcc/testsuite/gcc.target/arm/neon/vpaddlu16.c'
14274--- old/gcc/testsuite/gcc.target/arm/neon/vpaddlu16.c 2007-07-25 11:28:31 +0000
14275+++ new/gcc/testsuite/gcc.target/arm/neon/vpaddlu16.c 2010-07-29 15:38:15 +0000
14276@@ -3,7 +3,8 @@
14277
14278 /* { dg-do assemble } */
14279 /* { dg-require-effective-target arm_neon_ok } */
14280-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
14281+/* { dg-options "-save-temps -O0" } */
14282+/* { dg-add-options arm_neon } */
14283
14284 #include "arm_neon.h"
14285
14286
14287=== modified file 'gcc/testsuite/gcc.target/arm/neon/vpaddlu32.c'
14288--- old/gcc/testsuite/gcc.target/arm/neon/vpaddlu32.c 2007-07-25 11:28:31 +0000
14289+++ new/gcc/testsuite/gcc.target/arm/neon/vpaddlu32.c 2010-07-29 15:38:15 +0000
14290@@ -3,7 +3,8 @@
14291
14292 /* { dg-do assemble } */
14293 /* { dg-require-effective-target arm_neon_ok } */
14294-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
14295+/* { dg-options "-save-temps -O0" } */
14296+/* { dg-add-options arm_neon } */
14297
14298 #include "arm_neon.h"
14299
14300
14301=== modified file 'gcc/testsuite/gcc.target/arm/neon/vpaddlu8.c'
14302--- old/gcc/testsuite/gcc.target/arm/neon/vpaddlu8.c 2007-07-25 11:28:31 +0000
14303+++ new/gcc/testsuite/gcc.target/arm/neon/vpaddlu8.c 2010-07-29 15:38:15 +0000
14304@@ -3,7 +3,8 @@
14305
14306 /* { dg-do assemble } */
14307 /* { dg-require-effective-target arm_neon_ok } */
14308-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
14309+/* { dg-options "-save-temps -O0" } */
14310+/* { dg-add-options arm_neon } */
14311
14312 #include "arm_neon.h"
14313
14314
14315=== modified file 'gcc/testsuite/gcc.target/arm/neon/vpadds16.c'
14316--- old/gcc/testsuite/gcc.target/arm/neon/vpadds16.c 2007-07-25 11:28:31 +0000
14317+++ new/gcc/testsuite/gcc.target/arm/neon/vpadds16.c 2010-07-29 15:38:15 +0000
14318@@ -3,7 +3,8 @@
14319
14320 /* { dg-do assemble } */
14321 /* { dg-require-effective-target arm_neon_ok } */
14322-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
14323+/* { dg-options "-save-temps -O0" } */
14324+/* { dg-add-options arm_neon } */
14325
14326 #include "arm_neon.h"
14327
14328
14329=== modified file 'gcc/testsuite/gcc.target/arm/neon/vpadds32.c'
14330--- old/gcc/testsuite/gcc.target/arm/neon/vpadds32.c 2007-07-25 11:28:31 +0000
14331+++ new/gcc/testsuite/gcc.target/arm/neon/vpadds32.c 2010-07-29 15:38:15 +0000
14332@@ -3,7 +3,8 @@
14333
14334 /* { dg-do assemble } */
14335 /* { dg-require-effective-target arm_neon_ok } */
14336-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
14337+/* { dg-options "-save-temps -O0" } */
14338+/* { dg-add-options arm_neon } */
14339
14340 #include "arm_neon.h"
14341
14342
14343=== modified file 'gcc/testsuite/gcc.target/arm/neon/vpadds8.c'
14344--- old/gcc/testsuite/gcc.target/arm/neon/vpadds8.c 2007-07-25 11:28:31 +0000
14345+++ new/gcc/testsuite/gcc.target/arm/neon/vpadds8.c 2010-07-29 15:38:15 +0000
14346@@ -3,7 +3,8 @@
14347
14348 /* { dg-do assemble } */
14349 /* { dg-require-effective-target arm_neon_ok } */
14350-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
14351+/* { dg-options "-save-temps -O0" } */
14352+/* { dg-add-options arm_neon } */
14353
14354 #include "arm_neon.h"
14355
14356
14357=== modified file 'gcc/testsuite/gcc.target/arm/neon/vpaddu16.c'
14358--- old/gcc/testsuite/gcc.target/arm/neon/vpaddu16.c 2007-07-25 11:28:31 +0000
14359+++ new/gcc/testsuite/gcc.target/arm/neon/vpaddu16.c 2010-07-29 15:38:15 +0000
14360@@ -3,7 +3,8 @@
14361
14362 /* { dg-do assemble } */
14363 /* { dg-require-effective-target arm_neon_ok } */
14364-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
14365+/* { dg-options "-save-temps -O0" } */
14366+/* { dg-add-options arm_neon } */
14367
14368 #include "arm_neon.h"
14369
14370
14371=== modified file 'gcc/testsuite/gcc.target/arm/neon/vpaddu32.c'
14372--- old/gcc/testsuite/gcc.target/arm/neon/vpaddu32.c 2007-07-25 11:28:31 +0000
14373+++ new/gcc/testsuite/gcc.target/arm/neon/vpaddu32.c 2010-07-29 15:38:15 +0000
14374@@ -3,7 +3,8 @@
14375
14376 /* { dg-do assemble } */
14377 /* { dg-require-effective-target arm_neon_ok } */
14378-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
14379+/* { dg-options "-save-temps -O0" } */
14380+/* { dg-add-options arm_neon } */
14381
14382 #include "arm_neon.h"
14383
14384
14385=== modified file 'gcc/testsuite/gcc.target/arm/neon/vpaddu8.c'
14386--- old/gcc/testsuite/gcc.target/arm/neon/vpaddu8.c 2007-07-25 11:28:31 +0000
14387+++ new/gcc/testsuite/gcc.target/arm/neon/vpaddu8.c 2010-07-29 15:38:15 +0000
14388@@ -3,7 +3,8 @@
14389
14390 /* { dg-do assemble } */
14391 /* { dg-require-effective-target arm_neon_ok } */
14392-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
14393+/* { dg-options "-save-temps -O0" } */
14394+/* { dg-add-options arm_neon } */
14395
14396 #include "arm_neon.h"
14397
14398
14399=== modified file 'gcc/testsuite/gcc.target/arm/neon/vpmaxf32.c'
14400--- old/gcc/testsuite/gcc.target/arm/neon/vpmaxf32.c 2007-07-25 11:28:31 +0000
14401+++ new/gcc/testsuite/gcc.target/arm/neon/vpmaxf32.c 2010-07-29 15:38:15 +0000
14402@@ -3,7 +3,8 @@
14403
14404 /* { dg-do assemble } */
14405 /* { dg-require-effective-target arm_neon_ok } */
14406-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
14407+/* { dg-options "-save-temps -O0" } */
14408+/* { dg-add-options arm_neon } */
14409
14410 #include "arm_neon.h"
14411
14412
14413=== modified file 'gcc/testsuite/gcc.target/arm/neon/vpmaxs16.c'
14414--- old/gcc/testsuite/gcc.target/arm/neon/vpmaxs16.c 2007-07-25 11:28:31 +0000
14415+++ new/gcc/testsuite/gcc.target/arm/neon/vpmaxs16.c 2010-07-29 15:38:15 +0000
14416@@ -3,7 +3,8 @@
14417
14418 /* { dg-do assemble } */
14419 /* { dg-require-effective-target arm_neon_ok } */
14420-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
14421+/* { dg-options "-save-temps -O0" } */
14422+/* { dg-add-options arm_neon } */
14423
14424 #include "arm_neon.h"
14425
14426
14427=== modified file 'gcc/testsuite/gcc.target/arm/neon/vpmaxs32.c'
14428--- old/gcc/testsuite/gcc.target/arm/neon/vpmaxs32.c 2007-07-25 11:28:31 +0000
14429+++ new/gcc/testsuite/gcc.target/arm/neon/vpmaxs32.c 2010-07-29 15:38:15 +0000
14430@@ -3,7 +3,8 @@
14431
14432 /* { dg-do assemble } */
14433 /* { dg-require-effective-target arm_neon_ok } */
14434-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
14435+/* { dg-options "-save-temps -O0" } */
14436+/* { dg-add-options arm_neon } */
14437
14438 #include "arm_neon.h"
14439
14440
14441=== modified file 'gcc/testsuite/gcc.target/arm/neon/vpmaxs8.c'
14442--- old/gcc/testsuite/gcc.target/arm/neon/vpmaxs8.c 2007-07-25 11:28:31 +0000
14443+++ new/gcc/testsuite/gcc.target/arm/neon/vpmaxs8.c 2010-07-29 15:38:15 +0000
14444@@ -3,7 +3,8 @@
14445
14446 /* { dg-do assemble } */
14447 /* { dg-require-effective-target arm_neon_ok } */
14448-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
14449+/* { dg-options "-save-temps -O0" } */
14450+/* { dg-add-options arm_neon } */
14451
14452 #include "arm_neon.h"
14453
14454
14455=== modified file 'gcc/testsuite/gcc.target/arm/neon/vpmaxu16.c'
14456--- old/gcc/testsuite/gcc.target/arm/neon/vpmaxu16.c 2007-07-25 11:28:31 +0000
14457+++ new/gcc/testsuite/gcc.target/arm/neon/vpmaxu16.c 2010-07-29 15:38:15 +0000
14458@@ -3,7 +3,8 @@
14459
14460 /* { dg-do assemble } */
14461 /* { dg-require-effective-target arm_neon_ok } */
14462-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
14463+/* { dg-options "-save-temps -O0" } */
14464+/* { dg-add-options arm_neon } */
14465
14466 #include "arm_neon.h"
14467
14468
14469=== modified file 'gcc/testsuite/gcc.target/arm/neon/vpmaxu32.c'
14470--- old/gcc/testsuite/gcc.target/arm/neon/vpmaxu32.c 2007-07-25 11:28:31 +0000
14471+++ new/gcc/testsuite/gcc.target/arm/neon/vpmaxu32.c 2010-07-29 15:38:15 +0000
14472@@ -3,7 +3,8 @@
14473
14474 /* { dg-do assemble } */
14475 /* { dg-require-effective-target arm_neon_ok } */
14476-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
14477+/* { dg-options "-save-temps -O0" } */
14478+/* { dg-add-options arm_neon } */
14479
14480 #include "arm_neon.h"
14481
14482
14483=== modified file 'gcc/testsuite/gcc.target/arm/neon/vpmaxu8.c'
14484--- old/gcc/testsuite/gcc.target/arm/neon/vpmaxu8.c 2007-07-25 11:28:31 +0000
14485+++ new/gcc/testsuite/gcc.target/arm/neon/vpmaxu8.c 2010-07-29 15:38:15 +0000
14486@@ -3,7 +3,8 @@
14487
14488 /* { dg-do assemble } */
14489 /* { dg-require-effective-target arm_neon_ok } */
14490-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
14491+/* { dg-options "-save-temps -O0" } */
14492+/* { dg-add-options arm_neon } */
14493
14494 #include "arm_neon.h"
14495
14496
14497=== modified file 'gcc/testsuite/gcc.target/arm/neon/vpminf32.c'
14498--- old/gcc/testsuite/gcc.target/arm/neon/vpminf32.c 2007-07-25 11:28:31 +0000
14499+++ new/gcc/testsuite/gcc.target/arm/neon/vpminf32.c 2010-07-29 15:38:15 +0000
14500@@ -3,7 +3,8 @@
14501
14502 /* { dg-do assemble } */
14503 /* { dg-require-effective-target arm_neon_ok } */
14504-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
14505+/* { dg-options "-save-temps -O0" } */
14506+/* { dg-add-options arm_neon } */
14507
14508 #include "arm_neon.h"
14509
14510
14511=== modified file 'gcc/testsuite/gcc.target/arm/neon/vpmins16.c'
14512--- old/gcc/testsuite/gcc.target/arm/neon/vpmins16.c 2007-07-25 11:28:31 +0000
14513+++ new/gcc/testsuite/gcc.target/arm/neon/vpmins16.c 2010-07-29 15:38:15 +0000
14514@@ -3,7 +3,8 @@
14515
14516 /* { dg-do assemble } */
14517 /* { dg-require-effective-target arm_neon_ok } */
14518-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
14519+/* { dg-options "-save-temps -O0" } */
14520+/* { dg-add-options arm_neon } */
14521
14522 #include "arm_neon.h"
14523
14524
14525=== modified file 'gcc/testsuite/gcc.target/arm/neon/vpmins32.c'
14526--- old/gcc/testsuite/gcc.target/arm/neon/vpmins32.c 2007-07-25 11:28:31 +0000
14527+++ new/gcc/testsuite/gcc.target/arm/neon/vpmins32.c 2010-07-29 15:38:15 +0000
14528@@ -3,7 +3,8 @@
14529
14530 /* { dg-do assemble } */
14531 /* { dg-require-effective-target arm_neon_ok } */
14532-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
14533+/* { dg-options "-save-temps -O0" } */
14534+/* { dg-add-options arm_neon } */
14535
14536 #include "arm_neon.h"
14537
14538
14539=== modified file 'gcc/testsuite/gcc.target/arm/neon/vpmins8.c'
14540--- old/gcc/testsuite/gcc.target/arm/neon/vpmins8.c 2007-07-25 11:28:31 +0000
14541+++ new/gcc/testsuite/gcc.target/arm/neon/vpmins8.c 2010-07-29 15:38:15 +0000
14542@@ -3,7 +3,8 @@
14543
14544 /* { dg-do assemble } */
14545 /* { dg-require-effective-target arm_neon_ok } */
14546-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
14547+/* { dg-options "-save-temps -O0" } */
14548+/* { dg-add-options arm_neon } */
14549
14550 #include "arm_neon.h"
14551
14552
14553=== modified file 'gcc/testsuite/gcc.target/arm/neon/vpminu16.c'
14554--- old/gcc/testsuite/gcc.target/arm/neon/vpminu16.c 2007-07-25 11:28:31 +0000
14555+++ new/gcc/testsuite/gcc.target/arm/neon/vpminu16.c 2010-07-29 15:38:15 +0000
14556@@ -3,7 +3,8 @@
14557
14558 /* { dg-do assemble } */
14559 /* { dg-require-effective-target arm_neon_ok } */
14560-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
14561+/* { dg-options "-save-temps -O0" } */
14562+/* { dg-add-options arm_neon } */
14563
14564 #include "arm_neon.h"
14565
14566
14567=== modified file 'gcc/testsuite/gcc.target/arm/neon/vpminu32.c'
14568--- old/gcc/testsuite/gcc.target/arm/neon/vpminu32.c 2007-07-25 11:28:31 +0000
14569+++ new/gcc/testsuite/gcc.target/arm/neon/vpminu32.c 2010-07-29 15:38:15 +0000
14570@@ -3,7 +3,8 @@
14571
14572 /* { dg-do assemble } */
14573 /* { dg-require-effective-target arm_neon_ok } */
14574-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
14575+/* { dg-options "-save-temps -O0" } */
14576+/* { dg-add-options arm_neon } */
14577
14578 #include "arm_neon.h"
14579
14580
14581=== modified file 'gcc/testsuite/gcc.target/arm/neon/vpminu8.c'
14582--- old/gcc/testsuite/gcc.target/arm/neon/vpminu8.c 2007-07-25 11:28:31 +0000
14583+++ new/gcc/testsuite/gcc.target/arm/neon/vpminu8.c 2010-07-29 15:38:15 +0000
14584@@ -3,7 +3,8 @@
14585
14586 /* { dg-do assemble } */
14587 /* { dg-require-effective-target arm_neon_ok } */
14588-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
14589+/* { dg-options "-save-temps -O0" } */
14590+/* { dg-add-options arm_neon } */
14591
14592 #include "arm_neon.h"
14593
14594
14595=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqRdmulhQ_lanes16.c'
14596--- old/gcc/testsuite/gcc.target/arm/neon/vqRdmulhQ_lanes16.c 2007-07-25 11:28:31 +0000
14597+++ new/gcc/testsuite/gcc.target/arm/neon/vqRdmulhQ_lanes16.c 2010-07-29 15:38:15 +0000
14598@@ -3,7 +3,8 @@
14599
14600 /* { dg-do assemble } */
14601 /* { dg-require-effective-target arm_neon_ok } */
14602-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
14603+/* { dg-options "-save-temps -O0" } */
14604+/* { dg-add-options arm_neon } */
14605
14606 #include "arm_neon.h"
14607
14608
14609=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqRdmulhQ_lanes32.c'
14610--- old/gcc/testsuite/gcc.target/arm/neon/vqRdmulhQ_lanes32.c 2007-07-25 11:28:31 +0000
14611+++ new/gcc/testsuite/gcc.target/arm/neon/vqRdmulhQ_lanes32.c 2010-07-29 15:38:15 +0000
14612@@ -3,7 +3,8 @@
14613
14614 /* { dg-do assemble } */
14615 /* { dg-require-effective-target arm_neon_ok } */
14616-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
14617+/* { dg-options "-save-temps -O0" } */
14618+/* { dg-add-options arm_neon } */
14619
14620 #include "arm_neon.h"
14621
14622
14623=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqRdmulhQ_ns16.c'
14624--- old/gcc/testsuite/gcc.target/arm/neon/vqRdmulhQ_ns16.c 2007-07-25 11:28:31 +0000
14625+++ new/gcc/testsuite/gcc.target/arm/neon/vqRdmulhQ_ns16.c 2010-07-29 15:38:15 +0000
14626@@ -3,7 +3,8 @@
14627
14628 /* { dg-do assemble } */
14629 /* { dg-require-effective-target arm_neon_ok } */
14630-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
14631+/* { dg-options "-save-temps -O0" } */
14632+/* { dg-add-options arm_neon } */
14633
14634 #include "arm_neon.h"
14635
14636
14637=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqRdmulhQ_ns32.c'
14638--- old/gcc/testsuite/gcc.target/arm/neon/vqRdmulhQ_ns32.c 2007-07-25 11:28:31 +0000
14639+++ new/gcc/testsuite/gcc.target/arm/neon/vqRdmulhQ_ns32.c 2010-07-29 15:38:15 +0000
14640@@ -3,7 +3,8 @@
14641
14642 /* { dg-do assemble } */
14643 /* { dg-require-effective-target arm_neon_ok } */
14644-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
14645+/* { dg-options "-save-temps -O0" } */
14646+/* { dg-add-options arm_neon } */
14647
14648 #include "arm_neon.h"
14649
14650
14651=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqRdmulhQs16.c'
14652--- old/gcc/testsuite/gcc.target/arm/neon/vqRdmulhQs16.c 2007-07-25 11:28:31 +0000
14653+++ new/gcc/testsuite/gcc.target/arm/neon/vqRdmulhQs16.c 2010-07-29 15:38:15 +0000
14654@@ -3,7 +3,8 @@
14655
14656 /* { dg-do assemble } */
14657 /* { dg-require-effective-target arm_neon_ok } */
14658-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
14659+/* { dg-options "-save-temps -O0" } */
14660+/* { dg-add-options arm_neon } */
14661
14662 #include "arm_neon.h"
14663
14664
14665=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqRdmulhQs32.c'
14666--- old/gcc/testsuite/gcc.target/arm/neon/vqRdmulhQs32.c 2007-07-25 11:28:31 +0000
14667+++ new/gcc/testsuite/gcc.target/arm/neon/vqRdmulhQs32.c 2010-07-29 15:38:15 +0000
14668@@ -3,7 +3,8 @@
14669
14670 /* { dg-do assemble } */
14671 /* { dg-require-effective-target arm_neon_ok } */
14672-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
14673+/* { dg-options "-save-temps -O0" } */
14674+/* { dg-add-options arm_neon } */
14675
14676 #include "arm_neon.h"
14677
14678
14679=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqRdmulh_lanes16.c'
14680--- old/gcc/testsuite/gcc.target/arm/neon/vqRdmulh_lanes16.c 2007-07-25 11:28:31 +0000
14681+++ new/gcc/testsuite/gcc.target/arm/neon/vqRdmulh_lanes16.c 2010-07-29 15:38:15 +0000
14682@@ -3,7 +3,8 @@
14683
14684 /* { dg-do assemble } */
14685 /* { dg-require-effective-target arm_neon_ok } */
14686-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
14687+/* { dg-options "-save-temps -O0" } */
14688+/* { dg-add-options arm_neon } */
14689
14690 #include "arm_neon.h"
14691
14692
14693=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqRdmulh_lanes32.c'
14694--- old/gcc/testsuite/gcc.target/arm/neon/vqRdmulh_lanes32.c 2007-07-25 11:28:31 +0000
14695+++ new/gcc/testsuite/gcc.target/arm/neon/vqRdmulh_lanes32.c 2010-07-29 15:38:15 +0000
14696@@ -3,7 +3,8 @@
14697
14698 /* { dg-do assemble } */
14699 /* { dg-require-effective-target arm_neon_ok } */
14700-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
14701+/* { dg-options "-save-temps -O0" } */
14702+/* { dg-add-options arm_neon } */
14703
14704 #include "arm_neon.h"
14705
14706
14707=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqRdmulh_ns16.c'
14708--- old/gcc/testsuite/gcc.target/arm/neon/vqRdmulh_ns16.c 2007-07-25 11:28:31 +0000
14709+++ new/gcc/testsuite/gcc.target/arm/neon/vqRdmulh_ns16.c 2010-07-29 15:38:15 +0000
14710@@ -3,7 +3,8 @@
14711
14712 /* { dg-do assemble } */
14713 /* { dg-require-effective-target arm_neon_ok } */
14714-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
14715+/* { dg-options "-save-temps -O0" } */
14716+/* { dg-add-options arm_neon } */
14717
14718 #include "arm_neon.h"
14719
14720
14721=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqRdmulh_ns32.c'
14722--- old/gcc/testsuite/gcc.target/arm/neon/vqRdmulh_ns32.c 2007-07-25 11:28:31 +0000
14723+++ new/gcc/testsuite/gcc.target/arm/neon/vqRdmulh_ns32.c 2010-07-29 15:38:15 +0000
14724@@ -3,7 +3,8 @@
14725
14726 /* { dg-do assemble } */
14727 /* { dg-require-effective-target arm_neon_ok } */
14728-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
14729+/* { dg-options "-save-temps -O0" } */
14730+/* { dg-add-options arm_neon } */
14731
14732 #include "arm_neon.h"
14733
14734
14735=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqRdmulhs16.c'
14736--- old/gcc/testsuite/gcc.target/arm/neon/vqRdmulhs16.c 2007-07-25 11:28:31 +0000
14737+++ new/gcc/testsuite/gcc.target/arm/neon/vqRdmulhs16.c 2010-07-29 15:38:15 +0000
14738@@ -3,7 +3,8 @@
14739
14740 /* { dg-do assemble } */
14741 /* { dg-require-effective-target arm_neon_ok } */
14742-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
14743+/* { dg-options "-save-temps -O0" } */
14744+/* { dg-add-options arm_neon } */
14745
14746 #include "arm_neon.h"
14747
14748
14749=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqRdmulhs32.c'
14750--- old/gcc/testsuite/gcc.target/arm/neon/vqRdmulhs32.c 2007-07-25 11:28:31 +0000
14751+++ new/gcc/testsuite/gcc.target/arm/neon/vqRdmulhs32.c 2010-07-29 15:38:15 +0000
14752@@ -3,7 +3,8 @@
14753
14754 /* { dg-do assemble } */
14755 /* { dg-require-effective-target arm_neon_ok } */
14756-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
14757+/* { dg-options "-save-temps -O0" } */
14758+/* { dg-add-options arm_neon } */
14759
14760 #include "arm_neon.h"
14761
14762
14763=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqRshlQs16.c'
14764--- old/gcc/testsuite/gcc.target/arm/neon/vqRshlQs16.c 2007-07-25 11:28:31 +0000
14765+++ new/gcc/testsuite/gcc.target/arm/neon/vqRshlQs16.c 2010-07-29 15:38:15 +0000
14766@@ -3,7 +3,8 @@
14767
14768 /* { dg-do assemble } */
14769 /* { dg-require-effective-target arm_neon_ok } */
14770-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
14771+/* { dg-options "-save-temps -O0" } */
14772+/* { dg-add-options arm_neon } */
14773
14774 #include "arm_neon.h"
14775
14776
14777=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqRshlQs32.c'
14778--- old/gcc/testsuite/gcc.target/arm/neon/vqRshlQs32.c 2007-07-25 11:28:31 +0000
14779+++ new/gcc/testsuite/gcc.target/arm/neon/vqRshlQs32.c 2010-07-29 15:38:15 +0000
14780@@ -3,7 +3,8 @@
14781
14782 /* { dg-do assemble } */
14783 /* { dg-require-effective-target arm_neon_ok } */
14784-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
14785+/* { dg-options "-save-temps -O0" } */
14786+/* { dg-add-options arm_neon } */
14787
14788 #include "arm_neon.h"
14789
14790
14791=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqRshlQs64.c'
14792--- old/gcc/testsuite/gcc.target/arm/neon/vqRshlQs64.c 2007-07-25 11:28:31 +0000
14793+++ new/gcc/testsuite/gcc.target/arm/neon/vqRshlQs64.c 2010-07-29 15:38:15 +0000
14794@@ -3,7 +3,8 @@
14795
14796 /* { dg-do assemble } */
14797 /* { dg-require-effective-target arm_neon_ok } */
14798-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
14799+/* { dg-options "-save-temps -O0" } */
14800+/* { dg-add-options arm_neon } */
14801
14802 #include "arm_neon.h"
14803
14804
14805=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqRshlQs8.c'
14806--- old/gcc/testsuite/gcc.target/arm/neon/vqRshlQs8.c 2007-07-25 11:28:31 +0000
14807+++ new/gcc/testsuite/gcc.target/arm/neon/vqRshlQs8.c 2010-07-29 15:38:15 +0000
14808@@ -3,7 +3,8 @@
14809
14810 /* { dg-do assemble } */
14811 /* { dg-require-effective-target arm_neon_ok } */
14812-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
14813+/* { dg-options "-save-temps -O0" } */
14814+/* { dg-add-options arm_neon } */
14815
14816 #include "arm_neon.h"
14817
14818
14819=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqRshlQu16.c'
14820--- old/gcc/testsuite/gcc.target/arm/neon/vqRshlQu16.c 2007-07-25 11:28:31 +0000
14821+++ new/gcc/testsuite/gcc.target/arm/neon/vqRshlQu16.c 2010-07-29 15:38:15 +0000
14822@@ -3,7 +3,8 @@
14823
14824 /* { dg-do assemble } */
14825 /* { dg-require-effective-target arm_neon_ok } */
14826-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
14827+/* { dg-options "-save-temps -O0" } */
14828+/* { dg-add-options arm_neon } */
14829
14830 #include "arm_neon.h"
14831
14832
14833=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqRshlQu32.c'
14834--- old/gcc/testsuite/gcc.target/arm/neon/vqRshlQu32.c 2007-07-25 11:28:31 +0000
14835+++ new/gcc/testsuite/gcc.target/arm/neon/vqRshlQu32.c 2010-07-29 15:38:15 +0000
14836@@ -3,7 +3,8 @@
14837
14838 /* { dg-do assemble } */
14839 /* { dg-require-effective-target arm_neon_ok } */
14840-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
14841+/* { dg-options "-save-temps -O0" } */
14842+/* { dg-add-options arm_neon } */
14843
14844 #include "arm_neon.h"
14845
14846
14847=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqRshlQu64.c'
14848--- old/gcc/testsuite/gcc.target/arm/neon/vqRshlQu64.c 2007-07-25 11:28:31 +0000
14849+++ new/gcc/testsuite/gcc.target/arm/neon/vqRshlQu64.c 2010-07-29 15:38:15 +0000
14850@@ -3,7 +3,8 @@
14851
14852 /* { dg-do assemble } */
14853 /* { dg-require-effective-target arm_neon_ok } */
14854-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
14855+/* { dg-options "-save-temps -O0" } */
14856+/* { dg-add-options arm_neon } */
14857
14858 #include "arm_neon.h"
14859
14860
14861=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqRshlQu8.c'
14862--- old/gcc/testsuite/gcc.target/arm/neon/vqRshlQu8.c 2007-07-25 11:28:31 +0000
14863+++ new/gcc/testsuite/gcc.target/arm/neon/vqRshlQu8.c 2010-07-29 15:38:15 +0000
14864@@ -3,7 +3,8 @@
14865
14866 /* { dg-do assemble } */
14867 /* { dg-require-effective-target arm_neon_ok } */
14868-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
14869+/* { dg-options "-save-temps -O0" } */
14870+/* { dg-add-options arm_neon } */
14871
14872 #include "arm_neon.h"
14873
14874
14875=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqRshls16.c'
14876--- old/gcc/testsuite/gcc.target/arm/neon/vqRshls16.c 2007-07-25 11:28:31 +0000
14877+++ new/gcc/testsuite/gcc.target/arm/neon/vqRshls16.c 2010-07-29 15:38:15 +0000
14878@@ -3,7 +3,8 @@
14879
14880 /* { dg-do assemble } */
14881 /* { dg-require-effective-target arm_neon_ok } */
14882-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
14883+/* { dg-options "-save-temps -O0" } */
14884+/* { dg-add-options arm_neon } */
14885
14886 #include "arm_neon.h"
14887
14888
14889=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqRshls32.c'
14890--- old/gcc/testsuite/gcc.target/arm/neon/vqRshls32.c 2007-07-25 11:28:31 +0000
14891+++ new/gcc/testsuite/gcc.target/arm/neon/vqRshls32.c 2010-07-29 15:38:15 +0000
14892@@ -3,7 +3,8 @@
14893
14894 /* { dg-do assemble } */
14895 /* { dg-require-effective-target arm_neon_ok } */
14896-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
14897+/* { dg-options "-save-temps -O0" } */
14898+/* { dg-add-options arm_neon } */
14899
14900 #include "arm_neon.h"
14901
14902
14903=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqRshls64.c'
14904--- old/gcc/testsuite/gcc.target/arm/neon/vqRshls64.c 2007-07-25 11:28:31 +0000
14905+++ new/gcc/testsuite/gcc.target/arm/neon/vqRshls64.c 2010-07-29 15:38:15 +0000
14906@@ -3,7 +3,8 @@
14907
14908 /* { dg-do assemble } */
14909 /* { dg-require-effective-target arm_neon_ok } */
14910-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
14911+/* { dg-options "-save-temps -O0" } */
14912+/* { dg-add-options arm_neon } */
14913
14914 #include "arm_neon.h"
14915
14916
14917=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqRshls8.c'
14918--- old/gcc/testsuite/gcc.target/arm/neon/vqRshls8.c 2007-07-25 11:28:31 +0000
14919+++ new/gcc/testsuite/gcc.target/arm/neon/vqRshls8.c 2010-07-29 15:38:15 +0000
14920@@ -3,7 +3,8 @@
14921
14922 /* { dg-do assemble } */
14923 /* { dg-require-effective-target arm_neon_ok } */
14924-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
14925+/* { dg-options "-save-temps -O0" } */
14926+/* { dg-add-options arm_neon } */
14927
14928 #include "arm_neon.h"
14929
14930
14931=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqRshlu16.c'
14932--- old/gcc/testsuite/gcc.target/arm/neon/vqRshlu16.c 2007-07-25 11:28:31 +0000
14933+++ new/gcc/testsuite/gcc.target/arm/neon/vqRshlu16.c 2010-07-29 15:38:15 +0000
14934@@ -3,7 +3,8 @@
14935
14936 /* { dg-do assemble } */
14937 /* { dg-require-effective-target arm_neon_ok } */
14938-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
14939+/* { dg-options "-save-temps -O0" } */
14940+/* { dg-add-options arm_neon } */
14941
14942 #include "arm_neon.h"
14943
14944
14945=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqRshlu32.c'
14946--- old/gcc/testsuite/gcc.target/arm/neon/vqRshlu32.c 2007-07-25 11:28:31 +0000
14947+++ new/gcc/testsuite/gcc.target/arm/neon/vqRshlu32.c 2010-07-29 15:38:15 +0000
14948@@ -3,7 +3,8 @@
14949
14950 /* { dg-do assemble } */
14951 /* { dg-require-effective-target arm_neon_ok } */
14952-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
14953+/* { dg-options "-save-temps -O0" } */
14954+/* { dg-add-options arm_neon } */
14955
14956 #include "arm_neon.h"
14957
14958
14959=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqRshlu64.c'
14960--- old/gcc/testsuite/gcc.target/arm/neon/vqRshlu64.c 2007-07-25 11:28:31 +0000
14961+++ new/gcc/testsuite/gcc.target/arm/neon/vqRshlu64.c 2010-07-29 15:38:15 +0000
14962@@ -3,7 +3,8 @@
14963
14964 /* { dg-do assemble } */
14965 /* { dg-require-effective-target arm_neon_ok } */
14966-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
14967+/* { dg-options "-save-temps -O0" } */
14968+/* { dg-add-options arm_neon } */
14969
14970 #include "arm_neon.h"
14971
14972
14973=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqRshlu8.c'
14974--- old/gcc/testsuite/gcc.target/arm/neon/vqRshlu8.c 2007-07-25 11:28:31 +0000
14975+++ new/gcc/testsuite/gcc.target/arm/neon/vqRshlu8.c 2010-07-29 15:38:15 +0000
14976@@ -3,7 +3,8 @@
14977
14978 /* { dg-do assemble } */
14979 /* { dg-require-effective-target arm_neon_ok } */
14980-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
14981+/* { dg-options "-save-temps -O0" } */
14982+/* { dg-add-options arm_neon } */
14983
14984 #include "arm_neon.h"
14985
14986
14987=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqRshrn_ns16.c'
14988--- old/gcc/testsuite/gcc.target/arm/neon/vqRshrn_ns16.c 2007-07-25 11:28:31 +0000
14989+++ new/gcc/testsuite/gcc.target/arm/neon/vqRshrn_ns16.c 2010-07-29 15:38:15 +0000
14990@@ -3,7 +3,8 @@
14991
14992 /* { dg-do assemble } */
14993 /* { dg-require-effective-target arm_neon_ok } */
14994-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
14995+/* { dg-options "-save-temps -O0" } */
14996+/* { dg-add-options arm_neon } */
14997
14998 #include "arm_neon.h"
14999
15000
15001=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqRshrn_ns32.c'
15002--- old/gcc/testsuite/gcc.target/arm/neon/vqRshrn_ns32.c 2007-07-25 11:28:31 +0000
15003+++ new/gcc/testsuite/gcc.target/arm/neon/vqRshrn_ns32.c 2010-07-29 15:38:15 +0000
15004@@ -3,7 +3,8 @@
15005
15006 /* { dg-do assemble } */
15007 /* { dg-require-effective-target arm_neon_ok } */
15008-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
15009+/* { dg-options "-save-temps -O0" } */
15010+/* { dg-add-options arm_neon } */
15011
15012 #include "arm_neon.h"
15013
15014
15015=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqRshrn_ns64.c'
15016--- old/gcc/testsuite/gcc.target/arm/neon/vqRshrn_ns64.c 2007-07-25 11:28:31 +0000
15017+++ new/gcc/testsuite/gcc.target/arm/neon/vqRshrn_ns64.c 2010-07-29 15:38:15 +0000
15018@@ -3,7 +3,8 @@
15019
15020 /* { dg-do assemble } */
15021 /* { dg-require-effective-target arm_neon_ok } */
15022-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
15023+/* { dg-options "-save-temps -O0" } */
15024+/* { dg-add-options arm_neon } */
15025
15026 #include "arm_neon.h"
15027
15028
15029=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqRshrn_nu16.c'
15030--- old/gcc/testsuite/gcc.target/arm/neon/vqRshrn_nu16.c 2007-07-25 11:28:31 +0000
15031+++ new/gcc/testsuite/gcc.target/arm/neon/vqRshrn_nu16.c 2010-07-29 15:38:15 +0000
15032@@ -3,7 +3,8 @@
15033
15034 /* { dg-do assemble } */
15035 /* { dg-require-effective-target arm_neon_ok } */
15036-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
15037+/* { dg-options "-save-temps -O0" } */
15038+/* { dg-add-options arm_neon } */
15039
15040 #include "arm_neon.h"
15041
15042
15043=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqRshrn_nu32.c'
15044--- old/gcc/testsuite/gcc.target/arm/neon/vqRshrn_nu32.c 2007-07-25 11:28:31 +0000
15045+++ new/gcc/testsuite/gcc.target/arm/neon/vqRshrn_nu32.c 2010-07-29 15:38:15 +0000
15046@@ -3,7 +3,8 @@
15047
15048 /* { dg-do assemble } */
15049 /* { dg-require-effective-target arm_neon_ok } */
15050-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
15051+/* { dg-options "-save-temps -O0" } */
15052+/* { dg-add-options arm_neon } */
15053
15054 #include "arm_neon.h"
15055
15056
15057=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqRshrn_nu64.c'
15058--- old/gcc/testsuite/gcc.target/arm/neon/vqRshrn_nu64.c 2007-07-25 11:28:31 +0000
15059+++ new/gcc/testsuite/gcc.target/arm/neon/vqRshrn_nu64.c 2010-07-29 15:38:15 +0000
15060@@ -3,7 +3,8 @@
15061
15062 /* { dg-do assemble } */
15063 /* { dg-require-effective-target arm_neon_ok } */
15064-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
15065+/* { dg-options "-save-temps -O0" } */
15066+/* { dg-add-options arm_neon } */
15067
15068 #include "arm_neon.h"
15069
15070
15071=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqRshrun_ns16.c'
15072--- old/gcc/testsuite/gcc.target/arm/neon/vqRshrun_ns16.c 2007-07-25 11:28:31 +0000
15073+++ new/gcc/testsuite/gcc.target/arm/neon/vqRshrun_ns16.c 2010-07-29 15:38:15 +0000
15074@@ -3,7 +3,8 @@
15075
15076 /* { dg-do assemble } */
15077 /* { dg-require-effective-target arm_neon_ok } */
15078-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
15079+/* { dg-options "-save-temps -O0" } */
15080+/* { dg-add-options arm_neon } */
15081
15082 #include "arm_neon.h"
15083
15084
15085=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqRshrun_ns32.c'
15086--- old/gcc/testsuite/gcc.target/arm/neon/vqRshrun_ns32.c 2007-07-25 11:28:31 +0000
15087+++ new/gcc/testsuite/gcc.target/arm/neon/vqRshrun_ns32.c 2010-07-29 15:38:15 +0000
15088@@ -3,7 +3,8 @@
15089
15090 /* { dg-do assemble } */
15091 /* { dg-require-effective-target arm_neon_ok } */
15092-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
15093+/* { dg-options "-save-temps -O0" } */
15094+/* { dg-add-options arm_neon } */
15095
15096 #include "arm_neon.h"
15097
15098
15099=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqRshrun_ns64.c'
15100--- old/gcc/testsuite/gcc.target/arm/neon/vqRshrun_ns64.c 2007-07-25 11:28:31 +0000
15101+++ new/gcc/testsuite/gcc.target/arm/neon/vqRshrun_ns64.c 2010-07-29 15:38:15 +0000
15102@@ -3,7 +3,8 @@
15103
15104 /* { dg-do assemble } */
15105 /* { dg-require-effective-target arm_neon_ok } */
15106-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
15107+/* { dg-options "-save-temps -O0" } */
15108+/* { dg-add-options arm_neon } */
15109
15110 #include "arm_neon.h"
15111
15112
15113=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqabsQs16.c'
15114--- old/gcc/testsuite/gcc.target/arm/neon/vqabsQs16.c 2007-07-25 11:28:31 +0000
15115+++ new/gcc/testsuite/gcc.target/arm/neon/vqabsQs16.c 2010-07-29 15:38:15 +0000
15116@@ -3,7 +3,8 @@
15117
15118 /* { dg-do assemble } */
15119 /* { dg-require-effective-target arm_neon_ok } */
15120-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
15121+/* { dg-options "-save-temps -O0" } */
15122+/* { dg-add-options arm_neon } */
15123
15124 #include "arm_neon.h"
15125
15126
15127=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqabsQs32.c'
15128--- old/gcc/testsuite/gcc.target/arm/neon/vqabsQs32.c 2007-07-25 11:28:31 +0000
15129+++ new/gcc/testsuite/gcc.target/arm/neon/vqabsQs32.c 2010-07-29 15:38:15 +0000
15130@@ -3,7 +3,8 @@
15131
15132 /* { dg-do assemble } */
15133 /* { dg-require-effective-target arm_neon_ok } */
15134-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
15135+/* { dg-options "-save-temps -O0" } */
15136+/* { dg-add-options arm_neon } */
15137
15138 #include "arm_neon.h"
15139
15140
15141=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqabsQs8.c'
15142--- old/gcc/testsuite/gcc.target/arm/neon/vqabsQs8.c 2007-07-25 11:28:31 +0000
15143+++ new/gcc/testsuite/gcc.target/arm/neon/vqabsQs8.c 2010-07-29 15:38:15 +0000
15144@@ -3,7 +3,8 @@
15145
15146 /* { dg-do assemble } */
15147 /* { dg-require-effective-target arm_neon_ok } */
15148-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
15149+/* { dg-options "-save-temps -O0" } */
15150+/* { dg-add-options arm_neon } */
15151
15152 #include "arm_neon.h"
15153
15154
15155=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqabss16.c'
15156--- old/gcc/testsuite/gcc.target/arm/neon/vqabss16.c 2007-07-25 11:28:31 +0000
15157+++ new/gcc/testsuite/gcc.target/arm/neon/vqabss16.c 2010-07-29 15:38:15 +0000
15158@@ -3,7 +3,8 @@
15159
15160 /* { dg-do assemble } */
15161 /* { dg-require-effective-target arm_neon_ok } */
15162-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
15163+/* { dg-options "-save-temps -O0" } */
15164+/* { dg-add-options arm_neon } */
15165
15166 #include "arm_neon.h"
15167
15168
15169=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqabss32.c'
15170--- old/gcc/testsuite/gcc.target/arm/neon/vqabss32.c 2007-07-25 11:28:31 +0000
15171+++ new/gcc/testsuite/gcc.target/arm/neon/vqabss32.c 2010-07-29 15:38:15 +0000
15172@@ -3,7 +3,8 @@
15173
15174 /* { dg-do assemble } */
15175 /* { dg-require-effective-target arm_neon_ok } */
15176-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
15177+/* { dg-options "-save-temps -O0" } */
15178+/* { dg-add-options arm_neon } */
15179
15180 #include "arm_neon.h"
15181
15182
15183=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqabss8.c'
15184--- old/gcc/testsuite/gcc.target/arm/neon/vqabss8.c 2007-07-25 11:28:31 +0000
15185+++ new/gcc/testsuite/gcc.target/arm/neon/vqabss8.c 2010-07-29 15:38:15 +0000
15186@@ -3,7 +3,8 @@
15187
15188 /* { dg-do assemble } */
15189 /* { dg-require-effective-target arm_neon_ok } */
15190-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
15191+/* { dg-options "-save-temps -O0" } */
15192+/* { dg-add-options arm_neon } */
15193
15194 #include "arm_neon.h"
15195
15196
15197=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqaddQs16.c'
15198--- old/gcc/testsuite/gcc.target/arm/neon/vqaddQs16.c 2007-07-25 11:28:31 +0000
15199+++ new/gcc/testsuite/gcc.target/arm/neon/vqaddQs16.c 2010-07-29 15:38:15 +0000
15200@@ -3,7 +3,8 @@
15201
15202 /* { dg-do assemble } */
15203 /* { dg-require-effective-target arm_neon_ok } */
15204-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
15205+/* { dg-options "-save-temps -O0" } */
15206+/* { dg-add-options arm_neon } */
15207
15208 #include "arm_neon.h"
15209
15210
15211=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqaddQs32.c'
15212--- old/gcc/testsuite/gcc.target/arm/neon/vqaddQs32.c 2007-07-25 11:28:31 +0000
15213+++ new/gcc/testsuite/gcc.target/arm/neon/vqaddQs32.c 2010-07-29 15:38:15 +0000
15214@@ -3,7 +3,8 @@
15215
15216 /* { dg-do assemble } */
15217 /* { dg-require-effective-target arm_neon_ok } */
15218-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
15219+/* { dg-options "-save-temps -O0" } */
15220+/* { dg-add-options arm_neon } */
15221
15222 #include "arm_neon.h"
15223
15224
15225=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqaddQs64.c'
15226--- old/gcc/testsuite/gcc.target/arm/neon/vqaddQs64.c 2007-07-25 11:28:31 +0000
15227+++ new/gcc/testsuite/gcc.target/arm/neon/vqaddQs64.c 2010-07-29 15:38:15 +0000
15228@@ -3,7 +3,8 @@
15229
15230 /* { dg-do assemble } */
15231 /* { dg-require-effective-target arm_neon_ok } */
15232-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
15233+/* { dg-options "-save-temps -O0" } */
15234+/* { dg-add-options arm_neon } */
15235
15236 #include "arm_neon.h"
15237
15238
15239=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqaddQs8.c'
15240--- old/gcc/testsuite/gcc.target/arm/neon/vqaddQs8.c 2007-07-25 11:28:31 +0000
15241+++ new/gcc/testsuite/gcc.target/arm/neon/vqaddQs8.c 2010-07-29 15:38:15 +0000
15242@@ -3,7 +3,8 @@
15243
15244 /* { dg-do assemble } */
15245 /* { dg-require-effective-target arm_neon_ok } */
15246-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
15247+/* { dg-options "-save-temps -O0" } */
15248+/* { dg-add-options arm_neon } */
15249
15250 #include "arm_neon.h"
15251
15252
15253=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqaddQu16.c'
15254--- old/gcc/testsuite/gcc.target/arm/neon/vqaddQu16.c 2007-07-25 11:28:31 +0000
15255+++ new/gcc/testsuite/gcc.target/arm/neon/vqaddQu16.c 2010-07-29 15:38:15 +0000
15256@@ -3,7 +3,8 @@
15257
15258 /* { dg-do assemble } */
15259 /* { dg-require-effective-target arm_neon_ok } */
15260-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
15261+/* { dg-options "-save-temps -O0" } */
15262+/* { dg-add-options arm_neon } */
15263
15264 #include "arm_neon.h"
15265
15266
15267=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqaddQu32.c'
15268--- old/gcc/testsuite/gcc.target/arm/neon/vqaddQu32.c 2007-07-25 11:28:31 +0000
15269+++ new/gcc/testsuite/gcc.target/arm/neon/vqaddQu32.c 2010-07-29 15:38:15 +0000
15270@@ -3,7 +3,8 @@
15271
15272 /* { dg-do assemble } */
15273 /* { dg-require-effective-target arm_neon_ok } */
15274-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
15275+/* { dg-options "-save-temps -O0" } */
15276+/* { dg-add-options arm_neon } */
15277
15278 #include "arm_neon.h"
15279
15280
15281=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqaddQu64.c'
15282--- old/gcc/testsuite/gcc.target/arm/neon/vqaddQu64.c 2007-07-25 11:28:31 +0000
15283+++ new/gcc/testsuite/gcc.target/arm/neon/vqaddQu64.c 2010-07-29 15:38:15 +0000
15284@@ -3,7 +3,8 @@
15285
15286 /* { dg-do assemble } */
15287 /* { dg-require-effective-target arm_neon_ok } */
15288-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
15289+/* { dg-options "-save-temps -O0" } */
15290+/* { dg-add-options arm_neon } */
15291
15292 #include "arm_neon.h"
15293
15294
15295=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqaddQu8.c'
15296--- old/gcc/testsuite/gcc.target/arm/neon/vqaddQu8.c 2007-07-25 11:28:31 +0000
15297+++ new/gcc/testsuite/gcc.target/arm/neon/vqaddQu8.c 2010-07-29 15:38:15 +0000
15298@@ -3,7 +3,8 @@
15299
15300 /* { dg-do assemble } */
15301 /* { dg-require-effective-target arm_neon_ok } */
15302-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
15303+/* { dg-options "-save-temps -O0" } */
15304+/* { dg-add-options arm_neon } */
15305
15306 #include "arm_neon.h"
15307
15308
15309=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqadds16.c'
15310--- old/gcc/testsuite/gcc.target/arm/neon/vqadds16.c 2007-07-25 11:28:31 +0000
15311+++ new/gcc/testsuite/gcc.target/arm/neon/vqadds16.c 2010-07-29 15:38:15 +0000
15312@@ -3,7 +3,8 @@
15313
15314 /* { dg-do assemble } */
15315 /* { dg-require-effective-target arm_neon_ok } */
15316-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
15317+/* { dg-options "-save-temps -O0" } */
15318+/* { dg-add-options arm_neon } */
15319
15320 #include "arm_neon.h"
15321
15322
15323=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqadds32.c'
15324--- old/gcc/testsuite/gcc.target/arm/neon/vqadds32.c 2007-07-25 11:28:31 +0000
15325+++ new/gcc/testsuite/gcc.target/arm/neon/vqadds32.c 2010-07-29 15:38:15 +0000
15326@@ -3,7 +3,8 @@
15327
15328 /* { dg-do assemble } */
15329 /* { dg-require-effective-target arm_neon_ok } */
15330-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
15331+/* { dg-options "-save-temps -O0" } */
15332+/* { dg-add-options arm_neon } */
15333
15334 #include "arm_neon.h"
15335
15336
15337=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqadds64.c'
15338--- old/gcc/testsuite/gcc.target/arm/neon/vqadds64.c 2007-07-25 11:28:31 +0000
15339+++ new/gcc/testsuite/gcc.target/arm/neon/vqadds64.c 2010-07-29 15:38:15 +0000
15340@@ -3,7 +3,8 @@
15341
15342 /* { dg-do assemble } */
15343 /* { dg-require-effective-target arm_neon_ok } */
15344-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
15345+/* { dg-options "-save-temps -O0" } */
15346+/* { dg-add-options arm_neon } */
15347
15348 #include "arm_neon.h"
15349
15350
15351=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqadds8.c'
15352--- old/gcc/testsuite/gcc.target/arm/neon/vqadds8.c 2007-07-25 11:28:31 +0000
15353+++ new/gcc/testsuite/gcc.target/arm/neon/vqadds8.c 2010-07-29 15:38:15 +0000
15354@@ -3,7 +3,8 @@
15355
15356 /* { dg-do assemble } */
15357 /* { dg-require-effective-target arm_neon_ok } */
15358-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
15359+/* { dg-options "-save-temps -O0" } */
15360+/* { dg-add-options arm_neon } */
15361
15362 #include "arm_neon.h"
15363
15364
15365=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqaddu16.c'
15366--- old/gcc/testsuite/gcc.target/arm/neon/vqaddu16.c 2007-07-25 11:28:31 +0000
15367+++ new/gcc/testsuite/gcc.target/arm/neon/vqaddu16.c 2010-07-29 15:38:15 +0000
15368@@ -3,7 +3,8 @@
15369
15370 /* { dg-do assemble } */
15371 /* { dg-require-effective-target arm_neon_ok } */
15372-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
15373+/* { dg-options "-save-temps -O0" } */
15374+/* { dg-add-options arm_neon } */
15375
15376 #include "arm_neon.h"
15377
15378
15379=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqaddu32.c'
15380--- old/gcc/testsuite/gcc.target/arm/neon/vqaddu32.c 2007-07-25 11:28:31 +0000
15381+++ new/gcc/testsuite/gcc.target/arm/neon/vqaddu32.c 2010-07-29 15:38:15 +0000
15382@@ -3,7 +3,8 @@
15383
15384 /* { dg-do assemble } */
15385 /* { dg-require-effective-target arm_neon_ok } */
15386-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
15387+/* { dg-options "-save-temps -O0" } */
15388+/* { dg-add-options arm_neon } */
15389
15390 #include "arm_neon.h"
15391
15392
15393=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqaddu64.c'
15394--- old/gcc/testsuite/gcc.target/arm/neon/vqaddu64.c 2007-07-25 11:28:31 +0000
15395+++ new/gcc/testsuite/gcc.target/arm/neon/vqaddu64.c 2010-07-29 15:38:15 +0000
15396@@ -3,7 +3,8 @@
15397
15398 /* { dg-do assemble } */
15399 /* { dg-require-effective-target arm_neon_ok } */
15400-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
15401+/* { dg-options "-save-temps -O0" } */
15402+/* { dg-add-options arm_neon } */
15403
15404 #include "arm_neon.h"
15405
15406
15407=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqaddu8.c'
15408--- old/gcc/testsuite/gcc.target/arm/neon/vqaddu8.c 2007-07-25 11:28:31 +0000
15409+++ new/gcc/testsuite/gcc.target/arm/neon/vqaddu8.c 2010-07-29 15:38:15 +0000
15410@@ -3,7 +3,8 @@
15411
15412 /* { dg-do assemble } */
15413 /* { dg-require-effective-target arm_neon_ok } */
15414-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
15415+/* { dg-options "-save-temps -O0" } */
15416+/* { dg-add-options arm_neon } */
15417
15418 #include "arm_neon.h"
15419
15420
15421=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqdmlal_lanes16.c'
15422--- old/gcc/testsuite/gcc.target/arm/neon/vqdmlal_lanes16.c 2007-07-25 11:28:31 +0000
15423+++ new/gcc/testsuite/gcc.target/arm/neon/vqdmlal_lanes16.c 2010-07-29 15:38:15 +0000
15424@@ -3,7 +3,8 @@
15425
15426 /* { dg-do assemble } */
15427 /* { dg-require-effective-target arm_neon_ok } */
15428-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
15429+/* { dg-options "-save-temps -O0" } */
15430+/* { dg-add-options arm_neon } */
15431
15432 #include "arm_neon.h"
15433
15434
15435=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqdmlal_lanes32.c'
15436--- old/gcc/testsuite/gcc.target/arm/neon/vqdmlal_lanes32.c 2007-07-25 11:28:31 +0000
15437+++ new/gcc/testsuite/gcc.target/arm/neon/vqdmlal_lanes32.c 2010-07-29 15:38:15 +0000
15438@@ -3,7 +3,8 @@
15439
15440 /* { dg-do assemble } */
15441 /* { dg-require-effective-target arm_neon_ok } */
15442-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
15443+/* { dg-options "-save-temps -O0" } */
15444+/* { dg-add-options arm_neon } */
15445
15446 #include "arm_neon.h"
15447
15448
15449=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqdmlal_ns16.c'
15450--- old/gcc/testsuite/gcc.target/arm/neon/vqdmlal_ns16.c 2007-07-25 11:28:31 +0000
15451+++ new/gcc/testsuite/gcc.target/arm/neon/vqdmlal_ns16.c 2010-07-29 15:38:15 +0000
15452@@ -3,7 +3,8 @@
15453
15454 /* { dg-do assemble } */
15455 /* { dg-require-effective-target arm_neon_ok } */
15456-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
15457+/* { dg-options "-save-temps -O0" } */
15458+/* { dg-add-options arm_neon } */
15459
15460 #include "arm_neon.h"
15461
15462
15463=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqdmlal_ns32.c'
15464--- old/gcc/testsuite/gcc.target/arm/neon/vqdmlal_ns32.c 2007-07-25 11:28:31 +0000
15465+++ new/gcc/testsuite/gcc.target/arm/neon/vqdmlal_ns32.c 2010-07-29 15:38:15 +0000
15466@@ -3,7 +3,8 @@
15467
15468 /* { dg-do assemble } */
15469 /* { dg-require-effective-target arm_neon_ok } */
15470-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
15471+/* { dg-options "-save-temps -O0" } */
15472+/* { dg-add-options arm_neon } */
15473
15474 #include "arm_neon.h"
15475
15476
15477=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqdmlals16.c'
15478--- old/gcc/testsuite/gcc.target/arm/neon/vqdmlals16.c 2007-07-25 11:28:31 +0000
15479+++ new/gcc/testsuite/gcc.target/arm/neon/vqdmlals16.c 2010-07-29 15:38:15 +0000
15480@@ -3,7 +3,8 @@
15481
15482 /* { dg-do assemble } */
15483 /* { dg-require-effective-target arm_neon_ok } */
15484-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
15485+/* { dg-options "-save-temps -O0" } */
15486+/* { dg-add-options arm_neon } */
15487
15488 #include "arm_neon.h"
15489
15490
15491=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqdmlals32.c'
15492--- old/gcc/testsuite/gcc.target/arm/neon/vqdmlals32.c 2007-07-25 11:28:31 +0000
15493+++ new/gcc/testsuite/gcc.target/arm/neon/vqdmlals32.c 2010-07-29 15:38:15 +0000
15494@@ -3,7 +3,8 @@
15495
15496 /* { dg-do assemble } */
15497 /* { dg-require-effective-target arm_neon_ok } */
15498-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
15499+/* { dg-options "-save-temps -O0" } */
15500+/* { dg-add-options arm_neon } */
15501
15502 #include "arm_neon.h"
15503
15504
15505=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqdmlsl_lanes16.c'
15506--- old/gcc/testsuite/gcc.target/arm/neon/vqdmlsl_lanes16.c 2007-07-25 11:28:31 +0000
15507+++ new/gcc/testsuite/gcc.target/arm/neon/vqdmlsl_lanes16.c 2010-07-29 15:38:15 +0000
15508@@ -3,7 +3,8 @@
15509
15510 /* { dg-do assemble } */
15511 /* { dg-require-effective-target arm_neon_ok } */
15512-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
15513+/* { dg-options "-save-temps -O0" } */
15514+/* { dg-add-options arm_neon } */
15515
15516 #include "arm_neon.h"
15517
15518
15519=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqdmlsl_lanes32.c'
15520--- old/gcc/testsuite/gcc.target/arm/neon/vqdmlsl_lanes32.c 2007-07-25 11:28:31 +0000
15521+++ new/gcc/testsuite/gcc.target/arm/neon/vqdmlsl_lanes32.c 2010-07-29 15:38:15 +0000
15522@@ -3,7 +3,8 @@
15523
15524 /* { dg-do assemble } */
15525 /* { dg-require-effective-target arm_neon_ok } */
15526-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
15527+/* { dg-options "-save-temps -O0" } */
15528+/* { dg-add-options arm_neon } */
15529
15530 #include "arm_neon.h"
15531
15532
15533=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqdmlsl_ns16.c'
15534--- old/gcc/testsuite/gcc.target/arm/neon/vqdmlsl_ns16.c 2007-07-25 11:28:31 +0000
15535+++ new/gcc/testsuite/gcc.target/arm/neon/vqdmlsl_ns16.c 2010-07-29 15:38:15 +0000
15536@@ -3,7 +3,8 @@
15537
15538 /* { dg-do assemble } */
15539 /* { dg-require-effective-target arm_neon_ok } */
15540-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
15541+/* { dg-options "-save-temps -O0" } */
15542+/* { dg-add-options arm_neon } */
15543
15544 #include "arm_neon.h"
15545
15546
15547=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqdmlsl_ns32.c'
15548--- old/gcc/testsuite/gcc.target/arm/neon/vqdmlsl_ns32.c 2007-07-25 11:28:31 +0000
15549+++ new/gcc/testsuite/gcc.target/arm/neon/vqdmlsl_ns32.c 2010-07-29 15:38:15 +0000
15550@@ -3,7 +3,8 @@
15551
15552 /* { dg-do assemble } */
15553 /* { dg-require-effective-target arm_neon_ok } */
15554-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
15555+/* { dg-options "-save-temps -O0" } */
15556+/* { dg-add-options arm_neon } */
15557
15558 #include "arm_neon.h"
15559
15560
15561=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqdmlsls16.c'
15562--- old/gcc/testsuite/gcc.target/arm/neon/vqdmlsls16.c 2007-07-25 11:28:31 +0000
15563+++ new/gcc/testsuite/gcc.target/arm/neon/vqdmlsls16.c 2010-07-29 15:38:15 +0000
15564@@ -3,7 +3,8 @@
15565
15566 /* { dg-do assemble } */
15567 /* { dg-require-effective-target arm_neon_ok } */
15568-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
15569+/* { dg-options "-save-temps -O0" } */
15570+/* { dg-add-options arm_neon } */
15571
15572 #include "arm_neon.h"
15573
15574
15575=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqdmlsls32.c'
15576--- old/gcc/testsuite/gcc.target/arm/neon/vqdmlsls32.c 2007-07-25 11:28:31 +0000
15577+++ new/gcc/testsuite/gcc.target/arm/neon/vqdmlsls32.c 2010-07-29 15:38:15 +0000
15578@@ -3,7 +3,8 @@
15579
15580 /* { dg-do assemble } */
15581 /* { dg-require-effective-target arm_neon_ok } */
15582-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
15583+/* { dg-options "-save-temps -O0" } */
15584+/* { dg-add-options arm_neon } */
15585
15586 #include "arm_neon.h"
15587
15588
15589=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqdmulhQ_lanes16.c'
15590--- old/gcc/testsuite/gcc.target/arm/neon/vqdmulhQ_lanes16.c 2007-07-25 11:28:31 +0000
15591+++ new/gcc/testsuite/gcc.target/arm/neon/vqdmulhQ_lanes16.c 2010-07-29 15:38:15 +0000
15592@@ -3,7 +3,8 @@
15593
15594 /* { dg-do assemble } */
15595 /* { dg-require-effective-target arm_neon_ok } */
15596-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
15597+/* { dg-options "-save-temps -O0" } */
15598+/* { dg-add-options arm_neon } */
15599
15600 #include "arm_neon.h"
15601
15602
15603=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqdmulhQ_lanes32.c'
15604--- old/gcc/testsuite/gcc.target/arm/neon/vqdmulhQ_lanes32.c 2007-07-25 11:28:31 +0000
15605+++ new/gcc/testsuite/gcc.target/arm/neon/vqdmulhQ_lanes32.c 2010-07-29 15:38:15 +0000
15606@@ -3,7 +3,8 @@
15607
15608 /* { dg-do assemble } */
15609 /* { dg-require-effective-target arm_neon_ok } */
15610-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
15611+/* { dg-options "-save-temps -O0" } */
15612+/* { dg-add-options arm_neon } */
15613
15614 #include "arm_neon.h"
15615
15616
15617=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqdmulhQ_ns16.c'
15618--- old/gcc/testsuite/gcc.target/arm/neon/vqdmulhQ_ns16.c 2007-07-25 11:28:31 +0000
15619+++ new/gcc/testsuite/gcc.target/arm/neon/vqdmulhQ_ns16.c 2010-07-29 15:38:15 +0000
15620@@ -3,7 +3,8 @@
15621
15622 /* { dg-do assemble } */
15623 /* { dg-require-effective-target arm_neon_ok } */
15624-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
15625+/* { dg-options "-save-temps -O0" } */
15626+/* { dg-add-options arm_neon } */
15627
15628 #include "arm_neon.h"
15629
15630
15631=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqdmulhQ_ns32.c'
15632--- old/gcc/testsuite/gcc.target/arm/neon/vqdmulhQ_ns32.c 2007-07-25 11:28:31 +0000
15633+++ new/gcc/testsuite/gcc.target/arm/neon/vqdmulhQ_ns32.c 2010-07-29 15:38:15 +0000
15634@@ -3,7 +3,8 @@
15635
15636 /* { dg-do assemble } */
15637 /* { dg-require-effective-target arm_neon_ok } */
15638-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
15639+/* { dg-options "-save-temps -O0" } */
15640+/* { dg-add-options arm_neon } */
15641
15642 #include "arm_neon.h"
15643
15644
15645=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqdmulhQs16.c'
15646--- old/gcc/testsuite/gcc.target/arm/neon/vqdmulhQs16.c 2007-07-25 11:28:31 +0000
15647+++ new/gcc/testsuite/gcc.target/arm/neon/vqdmulhQs16.c 2010-07-29 15:38:15 +0000
15648@@ -3,7 +3,8 @@
15649
15650 /* { dg-do assemble } */
15651 /* { dg-require-effective-target arm_neon_ok } */
15652-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
15653+/* { dg-options "-save-temps -O0" } */
15654+/* { dg-add-options arm_neon } */
15655
15656 #include "arm_neon.h"
15657
15658
15659=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqdmulhQs32.c'
15660--- old/gcc/testsuite/gcc.target/arm/neon/vqdmulhQs32.c 2007-07-25 11:28:31 +0000
15661+++ new/gcc/testsuite/gcc.target/arm/neon/vqdmulhQs32.c 2010-07-29 15:38:15 +0000
15662@@ -3,7 +3,8 @@
15663
15664 /* { dg-do assemble } */
15665 /* { dg-require-effective-target arm_neon_ok } */
15666-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
15667+/* { dg-options "-save-temps -O0" } */
15668+/* { dg-add-options arm_neon } */
15669
15670 #include "arm_neon.h"
15671
15672
15673=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqdmulh_lanes16.c'
15674--- old/gcc/testsuite/gcc.target/arm/neon/vqdmulh_lanes16.c 2007-07-25 11:28:31 +0000
15675+++ new/gcc/testsuite/gcc.target/arm/neon/vqdmulh_lanes16.c 2010-07-29 15:38:15 +0000
15676@@ -3,7 +3,8 @@
15677
15678 /* { dg-do assemble } */
15679 /* { dg-require-effective-target arm_neon_ok } */
15680-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
15681+/* { dg-options "-save-temps -O0" } */
15682+/* { dg-add-options arm_neon } */
15683
15684 #include "arm_neon.h"
15685
15686
15687=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqdmulh_lanes32.c'
15688--- old/gcc/testsuite/gcc.target/arm/neon/vqdmulh_lanes32.c 2007-07-25 11:28:31 +0000
15689+++ new/gcc/testsuite/gcc.target/arm/neon/vqdmulh_lanes32.c 2010-07-29 15:38:15 +0000
15690@@ -3,7 +3,8 @@
15691
15692 /* { dg-do assemble } */
15693 /* { dg-require-effective-target arm_neon_ok } */
15694-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
15695+/* { dg-options "-save-temps -O0" } */
15696+/* { dg-add-options arm_neon } */
15697
15698 #include "arm_neon.h"
15699
15700
15701=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqdmulh_ns16.c'
15702--- old/gcc/testsuite/gcc.target/arm/neon/vqdmulh_ns16.c 2007-07-25 11:28:31 +0000
15703+++ new/gcc/testsuite/gcc.target/arm/neon/vqdmulh_ns16.c 2010-07-29 15:38:15 +0000
15704@@ -3,7 +3,8 @@
15705
15706 /* { dg-do assemble } */
15707 /* { dg-require-effective-target arm_neon_ok } */
15708-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
15709+/* { dg-options "-save-temps -O0" } */
15710+/* { dg-add-options arm_neon } */
15711
15712 #include "arm_neon.h"
15713
15714
15715=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqdmulh_ns32.c'
15716--- old/gcc/testsuite/gcc.target/arm/neon/vqdmulh_ns32.c 2007-07-25 11:28:31 +0000
15717+++ new/gcc/testsuite/gcc.target/arm/neon/vqdmulh_ns32.c 2010-07-29 15:38:15 +0000
15718@@ -3,7 +3,8 @@
15719
15720 /* { dg-do assemble } */
15721 /* { dg-require-effective-target arm_neon_ok } */
15722-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
15723+/* { dg-options "-save-temps -O0" } */
15724+/* { dg-add-options arm_neon } */
15725
15726 #include "arm_neon.h"
15727
15728
15729=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqdmulhs16.c'
15730--- old/gcc/testsuite/gcc.target/arm/neon/vqdmulhs16.c 2007-07-25 11:28:31 +0000
15731+++ new/gcc/testsuite/gcc.target/arm/neon/vqdmulhs16.c 2010-07-29 15:38:15 +0000
15732@@ -3,7 +3,8 @@
15733
15734 /* { dg-do assemble } */
15735 /* { dg-require-effective-target arm_neon_ok } */
15736-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
15737+/* { dg-options "-save-temps -O0" } */
15738+/* { dg-add-options arm_neon } */
15739
15740 #include "arm_neon.h"
15741
15742
15743=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqdmulhs32.c'
15744--- old/gcc/testsuite/gcc.target/arm/neon/vqdmulhs32.c 2007-07-25 11:28:31 +0000
15745+++ new/gcc/testsuite/gcc.target/arm/neon/vqdmulhs32.c 2010-07-29 15:38:15 +0000
15746@@ -3,7 +3,8 @@
15747
15748 /* { dg-do assemble } */
15749 /* { dg-require-effective-target arm_neon_ok } */
15750-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
15751+/* { dg-options "-save-temps -O0" } */
15752+/* { dg-add-options arm_neon } */
15753
15754 #include "arm_neon.h"
15755
15756
15757=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqdmull_lanes16.c'
15758--- old/gcc/testsuite/gcc.target/arm/neon/vqdmull_lanes16.c 2007-07-25 11:28:31 +0000
15759+++ new/gcc/testsuite/gcc.target/arm/neon/vqdmull_lanes16.c 2010-07-29 15:38:15 +0000
15760@@ -3,7 +3,8 @@
15761
15762 /* { dg-do assemble } */
15763 /* { dg-require-effective-target arm_neon_ok } */
15764-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
15765+/* { dg-options "-save-temps -O0" } */
15766+/* { dg-add-options arm_neon } */
15767
15768 #include "arm_neon.h"
15769
15770
15771=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqdmull_lanes32.c'
15772--- old/gcc/testsuite/gcc.target/arm/neon/vqdmull_lanes32.c 2007-07-25 11:28:31 +0000
15773+++ new/gcc/testsuite/gcc.target/arm/neon/vqdmull_lanes32.c 2010-07-29 15:38:15 +0000
15774@@ -3,7 +3,8 @@
15775
15776 /* { dg-do assemble } */
15777 /* { dg-require-effective-target arm_neon_ok } */
15778-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
15779+/* { dg-options "-save-temps -O0" } */
15780+/* { dg-add-options arm_neon } */
15781
15782 #include "arm_neon.h"
15783
15784
15785=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqdmull_ns16.c'
15786--- old/gcc/testsuite/gcc.target/arm/neon/vqdmull_ns16.c 2007-07-25 11:28:31 +0000
15787+++ new/gcc/testsuite/gcc.target/arm/neon/vqdmull_ns16.c 2010-07-29 15:38:15 +0000
15788@@ -3,7 +3,8 @@
15789
15790 /* { dg-do assemble } */
15791 /* { dg-require-effective-target arm_neon_ok } */
15792-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
15793+/* { dg-options "-save-temps -O0" } */
15794+/* { dg-add-options arm_neon } */
15795
15796 #include "arm_neon.h"
15797
15798
15799=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqdmull_ns32.c'
15800--- old/gcc/testsuite/gcc.target/arm/neon/vqdmull_ns32.c 2007-07-25 11:28:31 +0000
15801+++ new/gcc/testsuite/gcc.target/arm/neon/vqdmull_ns32.c 2010-07-29 15:38:15 +0000
15802@@ -3,7 +3,8 @@
15803
15804 /* { dg-do assemble } */
15805 /* { dg-require-effective-target arm_neon_ok } */
15806-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
15807+/* { dg-options "-save-temps -O0" } */
15808+/* { dg-add-options arm_neon } */
15809
15810 #include "arm_neon.h"
15811
15812
15813=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqdmulls16.c'
15814--- old/gcc/testsuite/gcc.target/arm/neon/vqdmulls16.c 2007-07-25 11:28:31 +0000
15815+++ new/gcc/testsuite/gcc.target/arm/neon/vqdmulls16.c 2010-07-29 15:38:15 +0000
15816@@ -3,7 +3,8 @@
15817
15818 /* { dg-do assemble } */
15819 /* { dg-require-effective-target arm_neon_ok } */
15820-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
15821+/* { dg-options "-save-temps -O0" } */
15822+/* { dg-add-options arm_neon } */
15823
15824 #include "arm_neon.h"
15825
15826
15827=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqdmulls32.c'
15828--- old/gcc/testsuite/gcc.target/arm/neon/vqdmulls32.c 2007-07-25 11:28:31 +0000
15829+++ new/gcc/testsuite/gcc.target/arm/neon/vqdmulls32.c 2010-07-29 15:38:15 +0000
15830@@ -3,7 +3,8 @@
15831
15832 /* { dg-do assemble } */
15833 /* { dg-require-effective-target arm_neon_ok } */
15834-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
15835+/* { dg-options "-save-temps -O0" } */
15836+/* { dg-add-options arm_neon } */
15837
15838 #include "arm_neon.h"
15839
15840
15841=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqmovns16.c'
15842--- old/gcc/testsuite/gcc.target/arm/neon/vqmovns16.c 2007-07-25 11:28:31 +0000
15843+++ new/gcc/testsuite/gcc.target/arm/neon/vqmovns16.c 2010-07-29 15:38:15 +0000
15844@@ -3,7 +3,8 @@
15845
15846 /* { dg-do assemble } */
15847 /* { dg-require-effective-target arm_neon_ok } */
15848-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
15849+/* { dg-options "-save-temps -O0" } */
15850+/* { dg-add-options arm_neon } */
15851
15852 #include "arm_neon.h"
15853
15854
15855=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqmovns32.c'
15856--- old/gcc/testsuite/gcc.target/arm/neon/vqmovns32.c 2007-07-25 11:28:31 +0000
15857+++ new/gcc/testsuite/gcc.target/arm/neon/vqmovns32.c 2010-07-29 15:38:15 +0000
15858@@ -3,7 +3,8 @@
15859
15860 /* { dg-do assemble } */
15861 /* { dg-require-effective-target arm_neon_ok } */
15862-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
15863+/* { dg-options "-save-temps -O0" } */
15864+/* { dg-add-options arm_neon } */
15865
15866 #include "arm_neon.h"
15867
15868
15869=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqmovns64.c'
15870--- old/gcc/testsuite/gcc.target/arm/neon/vqmovns64.c 2007-07-25 11:28:31 +0000
15871+++ new/gcc/testsuite/gcc.target/arm/neon/vqmovns64.c 2010-07-29 15:38:15 +0000
15872@@ -3,7 +3,8 @@
15873
15874 /* { dg-do assemble } */
15875 /* { dg-require-effective-target arm_neon_ok } */
15876-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
15877+/* { dg-options "-save-temps -O0" } */
15878+/* { dg-add-options arm_neon } */
15879
15880 #include "arm_neon.h"
15881
15882
15883=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqmovnu16.c'
15884--- old/gcc/testsuite/gcc.target/arm/neon/vqmovnu16.c 2007-07-25 11:28:31 +0000
15885+++ new/gcc/testsuite/gcc.target/arm/neon/vqmovnu16.c 2010-07-29 15:38:15 +0000
15886@@ -3,7 +3,8 @@
15887
15888 /* { dg-do assemble } */
15889 /* { dg-require-effective-target arm_neon_ok } */
15890-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
15891+/* { dg-options "-save-temps -O0" } */
15892+/* { dg-add-options arm_neon } */
15893
15894 #include "arm_neon.h"
15895
15896
15897=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqmovnu32.c'
15898--- old/gcc/testsuite/gcc.target/arm/neon/vqmovnu32.c 2007-07-25 11:28:31 +0000
15899+++ new/gcc/testsuite/gcc.target/arm/neon/vqmovnu32.c 2010-07-29 15:38:15 +0000
15900@@ -3,7 +3,8 @@
15901
15902 /* { dg-do assemble } */
15903 /* { dg-require-effective-target arm_neon_ok } */
15904-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
15905+/* { dg-options "-save-temps -O0" } */
15906+/* { dg-add-options arm_neon } */
15907
15908 #include "arm_neon.h"
15909
15910
15911=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqmovnu64.c'
15912--- old/gcc/testsuite/gcc.target/arm/neon/vqmovnu64.c 2007-07-25 11:28:31 +0000
15913+++ new/gcc/testsuite/gcc.target/arm/neon/vqmovnu64.c 2010-07-29 15:38:15 +0000
15914@@ -3,7 +3,8 @@
15915
15916 /* { dg-do assemble } */
15917 /* { dg-require-effective-target arm_neon_ok } */
15918-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
15919+/* { dg-options "-save-temps -O0" } */
15920+/* { dg-add-options arm_neon } */
15921
15922 #include "arm_neon.h"
15923
15924
15925=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqmovuns16.c'
15926--- old/gcc/testsuite/gcc.target/arm/neon/vqmovuns16.c 2007-07-25 11:28:31 +0000
15927+++ new/gcc/testsuite/gcc.target/arm/neon/vqmovuns16.c 2010-07-29 15:38:15 +0000
15928@@ -3,7 +3,8 @@
15929
15930 /* { dg-do assemble } */
15931 /* { dg-require-effective-target arm_neon_ok } */
15932-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
15933+/* { dg-options "-save-temps -O0" } */
15934+/* { dg-add-options arm_neon } */
15935
15936 #include "arm_neon.h"
15937
15938
15939=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqmovuns32.c'
15940--- old/gcc/testsuite/gcc.target/arm/neon/vqmovuns32.c 2007-07-25 11:28:31 +0000
15941+++ new/gcc/testsuite/gcc.target/arm/neon/vqmovuns32.c 2010-07-29 15:38:15 +0000
15942@@ -3,7 +3,8 @@
15943
15944 /* { dg-do assemble } */
15945 /* { dg-require-effective-target arm_neon_ok } */
15946-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
15947+/* { dg-options "-save-temps -O0" } */
15948+/* { dg-add-options arm_neon } */
15949
15950 #include "arm_neon.h"
15951
15952
15953=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqmovuns64.c'
15954--- old/gcc/testsuite/gcc.target/arm/neon/vqmovuns64.c 2007-07-25 11:28:31 +0000
15955+++ new/gcc/testsuite/gcc.target/arm/neon/vqmovuns64.c 2010-07-29 15:38:15 +0000
15956@@ -3,7 +3,8 @@
15957
15958 /* { dg-do assemble } */
15959 /* { dg-require-effective-target arm_neon_ok } */
15960-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
15961+/* { dg-options "-save-temps -O0" } */
15962+/* { dg-add-options arm_neon } */
15963
15964 #include "arm_neon.h"
15965
15966
15967=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqnegQs16.c'
15968--- old/gcc/testsuite/gcc.target/arm/neon/vqnegQs16.c 2007-07-25 11:28:31 +0000
15969+++ new/gcc/testsuite/gcc.target/arm/neon/vqnegQs16.c 2010-07-29 15:38:15 +0000
15970@@ -3,7 +3,8 @@
15971
15972 /* { dg-do assemble } */
15973 /* { dg-require-effective-target arm_neon_ok } */
15974-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
15975+/* { dg-options "-save-temps -O0" } */
15976+/* { dg-add-options arm_neon } */
15977
15978 #include "arm_neon.h"
15979
15980
15981=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqnegQs32.c'
15982--- old/gcc/testsuite/gcc.target/arm/neon/vqnegQs32.c 2007-07-25 11:28:31 +0000
15983+++ new/gcc/testsuite/gcc.target/arm/neon/vqnegQs32.c 2010-07-29 15:38:15 +0000
15984@@ -3,7 +3,8 @@
15985
15986 /* { dg-do assemble } */
15987 /* { dg-require-effective-target arm_neon_ok } */
15988-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
15989+/* { dg-options "-save-temps -O0" } */
15990+/* { dg-add-options arm_neon } */
15991
15992 #include "arm_neon.h"
15993
15994
15995=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqnegQs8.c'
15996--- old/gcc/testsuite/gcc.target/arm/neon/vqnegQs8.c 2007-07-25 11:28:31 +0000
15997+++ new/gcc/testsuite/gcc.target/arm/neon/vqnegQs8.c 2010-07-29 15:38:15 +0000
15998@@ -3,7 +3,8 @@
15999
16000 /* { dg-do assemble } */
16001 /* { dg-require-effective-target arm_neon_ok } */
16002-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
16003+/* { dg-options "-save-temps -O0" } */
16004+/* { dg-add-options arm_neon } */
16005
16006 #include "arm_neon.h"
16007
16008
16009=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqnegs16.c'
16010--- old/gcc/testsuite/gcc.target/arm/neon/vqnegs16.c 2007-07-25 11:28:31 +0000
16011+++ new/gcc/testsuite/gcc.target/arm/neon/vqnegs16.c 2010-07-29 15:38:15 +0000
16012@@ -3,7 +3,8 @@
16013
16014 /* { dg-do assemble } */
16015 /* { dg-require-effective-target arm_neon_ok } */
16016-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
16017+/* { dg-options "-save-temps -O0" } */
16018+/* { dg-add-options arm_neon } */
16019
16020 #include "arm_neon.h"
16021
16022
16023=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqnegs32.c'
16024--- old/gcc/testsuite/gcc.target/arm/neon/vqnegs32.c 2007-07-25 11:28:31 +0000
16025+++ new/gcc/testsuite/gcc.target/arm/neon/vqnegs32.c 2010-07-29 15:38:15 +0000
16026@@ -3,7 +3,8 @@
16027
16028 /* { dg-do assemble } */
16029 /* { dg-require-effective-target arm_neon_ok } */
16030-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
16031+/* { dg-options "-save-temps -O0" } */
16032+/* { dg-add-options arm_neon } */
16033
16034 #include "arm_neon.h"
16035
16036
16037=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqnegs8.c'
16038--- old/gcc/testsuite/gcc.target/arm/neon/vqnegs8.c 2007-07-25 11:28:31 +0000
16039+++ new/gcc/testsuite/gcc.target/arm/neon/vqnegs8.c 2010-07-29 15:38:15 +0000
16040@@ -3,7 +3,8 @@
16041
16042 /* { dg-do assemble } */
16043 /* { dg-require-effective-target arm_neon_ok } */
16044-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
16045+/* { dg-options "-save-temps -O0" } */
16046+/* { dg-add-options arm_neon } */
16047
16048 #include "arm_neon.h"
16049
16050
16051=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqshlQ_ns16.c'
16052--- old/gcc/testsuite/gcc.target/arm/neon/vqshlQ_ns16.c 2007-07-25 11:28:31 +0000
16053+++ new/gcc/testsuite/gcc.target/arm/neon/vqshlQ_ns16.c 2010-07-29 15:38:15 +0000
16054@@ -3,7 +3,8 @@
16055
16056 /* { dg-do assemble } */
16057 /* { dg-require-effective-target arm_neon_ok } */
16058-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
16059+/* { dg-options "-save-temps -O0" } */
16060+/* { dg-add-options arm_neon } */
16061
16062 #include "arm_neon.h"
16063
16064
16065=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqshlQ_ns32.c'
16066--- old/gcc/testsuite/gcc.target/arm/neon/vqshlQ_ns32.c 2007-07-25 11:28:31 +0000
16067+++ new/gcc/testsuite/gcc.target/arm/neon/vqshlQ_ns32.c 2010-07-29 15:38:15 +0000
16068@@ -3,7 +3,8 @@
16069
16070 /* { dg-do assemble } */
16071 /* { dg-require-effective-target arm_neon_ok } */
16072-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
16073+/* { dg-options "-save-temps -O0" } */
16074+/* { dg-add-options arm_neon } */
16075
16076 #include "arm_neon.h"
16077
16078
16079=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqshlQ_ns64.c'
16080--- old/gcc/testsuite/gcc.target/arm/neon/vqshlQ_ns64.c 2007-07-25 11:28:31 +0000
16081+++ new/gcc/testsuite/gcc.target/arm/neon/vqshlQ_ns64.c 2010-07-29 15:38:15 +0000
16082@@ -3,7 +3,8 @@
16083
16084 /* { dg-do assemble } */
16085 /* { dg-require-effective-target arm_neon_ok } */
16086-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
16087+/* { dg-options "-save-temps -O0" } */
16088+/* { dg-add-options arm_neon } */
16089
16090 #include "arm_neon.h"
16091
16092
16093=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqshlQ_ns8.c'
16094--- old/gcc/testsuite/gcc.target/arm/neon/vqshlQ_ns8.c 2007-07-25 11:28:31 +0000
16095+++ new/gcc/testsuite/gcc.target/arm/neon/vqshlQ_ns8.c 2010-07-29 15:38:15 +0000
16096@@ -3,7 +3,8 @@
16097
16098 /* { dg-do assemble } */
16099 /* { dg-require-effective-target arm_neon_ok } */
16100-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
16101+/* { dg-options "-save-temps -O0" } */
16102+/* { dg-add-options arm_neon } */
16103
16104 #include "arm_neon.h"
16105
16106
16107=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqshlQ_nu16.c'
16108--- old/gcc/testsuite/gcc.target/arm/neon/vqshlQ_nu16.c 2007-07-25 11:28:31 +0000
16109+++ new/gcc/testsuite/gcc.target/arm/neon/vqshlQ_nu16.c 2010-07-29 15:38:15 +0000
16110@@ -3,7 +3,8 @@
16111
16112 /* { dg-do assemble } */
16113 /* { dg-require-effective-target arm_neon_ok } */
16114-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
16115+/* { dg-options "-save-temps -O0" } */
16116+/* { dg-add-options arm_neon } */
16117
16118 #include "arm_neon.h"
16119
16120
16121=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqshlQ_nu32.c'
16122--- old/gcc/testsuite/gcc.target/arm/neon/vqshlQ_nu32.c 2007-07-25 11:28:31 +0000
16123+++ new/gcc/testsuite/gcc.target/arm/neon/vqshlQ_nu32.c 2010-07-29 15:38:15 +0000
16124@@ -3,7 +3,8 @@
16125
16126 /* { dg-do assemble } */
16127 /* { dg-require-effective-target arm_neon_ok } */
16128-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
16129+/* { dg-options "-save-temps -O0" } */
16130+/* { dg-add-options arm_neon } */
16131
16132 #include "arm_neon.h"
16133
16134
16135=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqshlQ_nu64.c'
16136--- old/gcc/testsuite/gcc.target/arm/neon/vqshlQ_nu64.c 2007-07-25 11:28:31 +0000
16137+++ new/gcc/testsuite/gcc.target/arm/neon/vqshlQ_nu64.c 2010-07-29 15:38:15 +0000
16138@@ -3,7 +3,8 @@
16139
16140 /* { dg-do assemble } */
16141 /* { dg-require-effective-target arm_neon_ok } */
16142-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
16143+/* { dg-options "-save-temps -O0" } */
16144+/* { dg-add-options arm_neon } */
16145
16146 #include "arm_neon.h"
16147
16148
16149=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqshlQ_nu8.c'
16150--- old/gcc/testsuite/gcc.target/arm/neon/vqshlQ_nu8.c 2007-07-25 11:28:31 +0000
16151+++ new/gcc/testsuite/gcc.target/arm/neon/vqshlQ_nu8.c 2010-07-29 15:38:15 +0000
16152@@ -3,7 +3,8 @@
16153
16154 /* { dg-do assemble } */
16155 /* { dg-require-effective-target arm_neon_ok } */
16156-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
16157+/* { dg-options "-save-temps -O0" } */
16158+/* { dg-add-options arm_neon } */
16159
16160 #include "arm_neon.h"
16161
16162
16163=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqshlQs16.c'
16164--- old/gcc/testsuite/gcc.target/arm/neon/vqshlQs16.c 2007-07-25 11:28:31 +0000
16165+++ new/gcc/testsuite/gcc.target/arm/neon/vqshlQs16.c 2010-07-29 15:38:15 +0000
16166@@ -3,7 +3,8 @@
16167
16168 /* { dg-do assemble } */
16169 /* { dg-require-effective-target arm_neon_ok } */
16170-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
16171+/* { dg-options "-save-temps -O0" } */
16172+/* { dg-add-options arm_neon } */
16173
16174 #include "arm_neon.h"
16175
16176
16177=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqshlQs32.c'
16178--- old/gcc/testsuite/gcc.target/arm/neon/vqshlQs32.c 2007-07-25 11:28:31 +0000
16179+++ new/gcc/testsuite/gcc.target/arm/neon/vqshlQs32.c 2010-07-29 15:38:15 +0000
16180@@ -3,7 +3,8 @@
16181
16182 /* { dg-do assemble } */
16183 /* { dg-require-effective-target arm_neon_ok } */
16184-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
16185+/* { dg-options "-save-temps -O0" } */
16186+/* { dg-add-options arm_neon } */
16187
16188 #include "arm_neon.h"
16189
16190
16191=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqshlQs64.c'
16192--- old/gcc/testsuite/gcc.target/arm/neon/vqshlQs64.c 2007-07-25 11:28:31 +0000
16193+++ new/gcc/testsuite/gcc.target/arm/neon/vqshlQs64.c 2010-07-29 15:38:15 +0000
16194@@ -3,7 +3,8 @@
16195
16196 /* { dg-do assemble } */
16197 /* { dg-require-effective-target arm_neon_ok } */
16198-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
16199+/* { dg-options "-save-temps -O0" } */
16200+/* { dg-add-options arm_neon } */
16201
16202 #include "arm_neon.h"
16203
16204
16205=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqshlQs8.c'
16206--- old/gcc/testsuite/gcc.target/arm/neon/vqshlQs8.c 2007-07-25 11:28:31 +0000
16207+++ new/gcc/testsuite/gcc.target/arm/neon/vqshlQs8.c 2010-07-29 15:38:15 +0000
16208@@ -3,7 +3,8 @@
16209
16210 /* { dg-do assemble } */
16211 /* { dg-require-effective-target arm_neon_ok } */
16212-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
16213+/* { dg-options "-save-temps -O0" } */
16214+/* { dg-add-options arm_neon } */
16215
16216 #include "arm_neon.h"
16217
16218
16219=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqshlQu16.c'
16220--- old/gcc/testsuite/gcc.target/arm/neon/vqshlQu16.c 2007-07-25 11:28:31 +0000
16221+++ new/gcc/testsuite/gcc.target/arm/neon/vqshlQu16.c 2010-07-29 15:38:15 +0000
16222@@ -3,7 +3,8 @@
16223
16224 /* { dg-do assemble } */
16225 /* { dg-require-effective-target arm_neon_ok } */
16226-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
16227+/* { dg-options "-save-temps -O0" } */
16228+/* { dg-add-options arm_neon } */
16229
16230 #include "arm_neon.h"
16231
16232
16233=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqshlQu32.c'
16234--- old/gcc/testsuite/gcc.target/arm/neon/vqshlQu32.c 2007-07-25 11:28:31 +0000
16235+++ new/gcc/testsuite/gcc.target/arm/neon/vqshlQu32.c 2010-07-29 15:38:15 +0000
16236@@ -3,7 +3,8 @@
16237
16238 /* { dg-do assemble } */
16239 /* { dg-require-effective-target arm_neon_ok } */
16240-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
16241+/* { dg-options "-save-temps -O0" } */
16242+/* { dg-add-options arm_neon } */
16243
16244 #include "arm_neon.h"
16245
16246
16247=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqshlQu64.c'
16248--- old/gcc/testsuite/gcc.target/arm/neon/vqshlQu64.c 2007-07-25 11:28:31 +0000
16249+++ new/gcc/testsuite/gcc.target/arm/neon/vqshlQu64.c 2010-07-29 15:38:15 +0000
16250@@ -3,7 +3,8 @@
16251
16252 /* { dg-do assemble } */
16253 /* { dg-require-effective-target arm_neon_ok } */
16254-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
16255+/* { dg-options "-save-temps -O0" } */
16256+/* { dg-add-options arm_neon } */
16257
16258 #include "arm_neon.h"
16259
16260
16261=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqshlQu8.c'
16262--- old/gcc/testsuite/gcc.target/arm/neon/vqshlQu8.c 2007-07-25 11:28:31 +0000
16263+++ new/gcc/testsuite/gcc.target/arm/neon/vqshlQu8.c 2010-07-29 15:38:15 +0000
16264@@ -3,7 +3,8 @@
16265
16266 /* { dg-do assemble } */
16267 /* { dg-require-effective-target arm_neon_ok } */
16268-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
16269+/* { dg-options "-save-temps -O0" } */
16270+/* { dg-add-options arm_neon } */
16271
16272 #include "arm_neon.h"
16273
16274
16275=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqshl_ns16.c'
16276--- old/gcc/testsuite/gcc.target/arm/neon/vqshl_ns16.c 2007-07-25 11:28:31 +0000
16277+++ new/gcc/testsuite/gcc.target/arm/neon/vqshl_ns16.c 2010-07-29 15:38:15 +0000
16278@@ -3,7 +3,8 @@
16279
16280 /* { dg-do assemble } */
16281 /* { dg-require-effective-target arm_neon_ok } */
16282-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
16283+/* { dg-options "-save-temps -O0" } */
16284+/* { dg-add-options arm_neon } */
16285
16286 #include "arm_neon.h"
16287
16288
16289=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqshl_ns32.c'
16290--- old/gcc/testsuite/gcc.target/arm/neon/vqshl_ns32.c 2007-07-25 11:28:31 +0000
16291+++ new/gcc/testsuite/gcc.target/arm/neon/vqshl_ns32.c 2010-07-29 15:38:15 +0000
16292@@ -3,7 +3,8 @@
16293
16294 /* { dg-do assemble } */
16295 /* { dg-require-effective-target arm_neon_ok } */
16296-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
16297+/* { dg-options "-save-temps -O0" } */
16298+/* { dg-add-options arm_neon } */
16299
16300 #include "arm_neon.h"
16301
16302
16303=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqshl_ns64.c'
16304--- old/gcc/testsuite/gcc.target/arm/neon/vqshl_ns64.c 2007-07-25 11:28:31 +0000
16305+++ new/gcc/testsuite/gcc.target/arm/neon/vqshl_ns64.c 2010-07-29 15:38:15 +0000
16306@@ -3,7 +3,8 @@
16307
16308 /* { dg-do assemble } */
16309 /* { dg-require-effective-target arm_neon_ok } */
16310-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
16311+/* { dg-options "-save-temps -O0" } */
16312+/* { dg-add-options arm_neon } */
16313
16314 #include "arm_neon.h"
16315
16316
16317=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqshl_ns8.c'
16318--- old/gcc/testsuite/gcc.target/arm/neon/vqshl_ns8.c 2007-07-25 11:28:31 +0000
16319+++ new/gcc/testsuite/gcc.target/arm/neon/vqshl_ns8.c 2010-07-29 15:38:15 +0000
16320@@ -3,7 +3,8 @@
16321
16322 /* { dg-do assemble } */
16323 /* { dg-require-effective-target arm_neon_ok } */
16324-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
16325+/* { dg-options "-save-temps -O0" } */
16326+/* { dg-add-options arm_neon } */
16327
16328 #include "arm_neon.h"
16329
16330
16331=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqshl_nu16.c'
16332--- old/gcc/testsuite/gcc.target/arm/neon/vqshl_nu16.c 2007-07-25 11:28:31 +0000
16333+++ new/gcc/testsuite/gcc.target/arm/neon/vqshl_nu16.c 2010-07-29 15:38:15 +0000
16334@@ -3,7 +3,8 @@
16335
16336 /* { dg-do assemble } */
16337 /* { dg-require-effective-target arm_neon_ok } */
16338-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
16339+/* { dg-options "-save-temps -O0" } */
16340+/* { dg-add-options arm_neon } */
16341
16342 #include "arm_neon.h"
16343
16344
16345=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqshl_nu32.c'
16346--- old/gcc/testsuite/gcc.target/arm/neon/vqshl_nu32.c 2007-07-25 11:28:31 +0000
16347+++ new/gcc/testsuite/gcc.target/arm/neon/vqshl_nu32.c 2010-07-29 15:38:15 +0000
16348@@ -3,7 +3,8 @@
16349
16350 /* { dg-do assemble } */
16351 /* { dg-require-effective-target arm_neon_ok } */
16352-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
16353+/* { dg-options "-save-temps -O0" } */
16354+/* { dg-add-options arm_neon } */
16355
16356 #include "arm_neon.h"
16357
16358
16359=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqshl_nu64.c'
16360--- old/gcc/testsuite/gcc.target/arm/neon/vqshl_nu64.c 2007-07-25 11:28:31 +0000
16361+++ new/gcc/testsuite/gcc.target/arm/neon/vqshl_nu64.c 2010-07-29 15:38:15 +0000
16362@@ -3,7 +3,8 @@
16363
16364 /* { dg-do assemble } */
16365 /* { dg-require-effective-target arm_neon_ok } */
16366-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
16367+/* { dg-options "-save-temps -O0" } */
16368+/* { dg-add-options arm_neon } */
16369
16370 #include "arm_neon.h"
16371
16372
16373=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqshl_nu8.c'
16374--- old/gcc/testsuite/gcc.target/arm/neon/vqshl_nu8.c 2007-07-25 11:28:31 +0000
16375+++ new/gcc/testsuite/gcc.target/arm/neon/vqshl_nu8.c 2010-07-29 15:38:15 +0000
16376@@ -3,7 +3,8 @@
16377
16378 /* { dg-do assemble } */
16379 /* { dg-require-effective-target arm_neon_ok } */
16380-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
16381+/* { dg-options "-save-temps -O0" } */
16382+/* { dg-add-options arm_neon } */
16383
16384 #include "arm_neon.h"
16385
16386
16387=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqshls16.c'
16388--- old/gcc/testsuite/gcc.target/arm/neon/vqshls16.c 2007-07-25 11:28:31 +0000
16389+++ new/gcc/testsuite/gcc.target/arm/neon/vqshls16.c 2010-07-29 15:38:15 +0000
16390@@ -3,7 +3,8 @@
16391
16392 /* { dg-do assemble } */
16393 /* { dg-require-effective-target arm_neon_ok } */
16394-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
16395+/* { dg-options "-save-temps -O0" } */
16396+/* { dg-add-options arm_neon } */
16397
16398 #include "arm_neon.h"
16399
16400
16401=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqshls32.c'
16402--- old/gcc/testsuite/gcc.target/arm/neon/vqshls32.c 2007-07-25 11:28:31 +0000
16403+++ new/gcc/testsuite/gcc.target/arm/neon/vqshls32.c 2010-07-29 15:38:15 +0000
16404@@ -3,7 +3,8 @@
16405
16406 /* { dg-do assemble } */
16407 /* { dg-require-effective-target arm_neon_ok } */
16408-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
16409+/* { dg-options "-save-temps -O0" } */
16410+/* { dg-add-options arm_neon } */
16411
16412 #include "arm_neon.h"
16413
16414
16415=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqshls64.c'
16416--- old/gcc/testsuite/gcc.target/arm/neon/vqshls64.c 2007-07-25 11:28:31 +0000
16417+++ new/gcc/testsuite/gcc.target/arm/neon/vqshls64.c 2010-07-29 15:38:15 +0000
16418@@ -3,7 +3,8 @@
16419
16420 /* { dg-do assemble } */
16421 /* { dg-require-effective-target arm_neon_ok } */
16422-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
16423+/* { dg-options "-save-temps -O0" } */
16424+/* { dg-add-options arm_neon } */
16425
16426 #include "arm_neon.h"
16427
16428
16429=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqshls8.c'
16430--- old/gcc/testsuite/gcc.target/arm/neon/vqshls8.c 2007-07-25 11:28:31 +0000
16431+++ new/gcc/testsuite/gcc.target/arm/neon/vqshls8.c 2010-07-29 15:38:15 +0000
16432@@ -3,7 +3,8 @@
16433
16434 /* { dg-do assemble } */
16435 /* { dg-require-effective-target arm_neon_ok } */
16436-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
16437+/* { dg-options "-save-temps -O0" } */
16438+/* { dg-add-options arm_neon } */
16439
16440 #include "arm_neon.h"
16441
16442
16443=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqshlu16.c'
16444--- old/gcc/testsuite/gcc.target/arm/neon/vqshlu16.c 2007-07-25 11:28:31 +0000
16445+++ new/gcc/testsuite/gcc.target/arm/neon/vqshlu16.c 2010-07-29 15:38:15 +0000
16446@@ -3,7 +3,8 @@
16447
16448 /* { dg-do assemble } */
16449 /* { dg-require-effective-target arm_neon_ok } */
16450-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
16451+/* { dg-options "-save-temps -O0" } */
16452+/* { dg-add-options arm_neon } */
16453
16454 #include "arm_neon.h"
16455
16456
16457=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqshlu32.c'
16458--- old/gcc/testsuite/gcc.target/arm/neon/vqshlu32.c 2007-07-25 11:28:31 +0000
16459+++ new/gcc/testsuite/gcc.target/arm/neon/vqshlu32.c 2010-07-29 15:38:15 +0000
16460@@ -3,7 +3,8 @@
16461
16462 /* { dg-do assemble } */
16463 /* { dg-require-effective-target arm_neon_ok } */
16464-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
16465+/* { dg-options "-save-temps -O0" } */
16466+/* { dg-add-options arm_neon } */
16467
16468 #include "arm_neon.h"
16469
16470
16471=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqshlu64.c'
16472--- old/gcc/testsuite/gcc.target/arm/neon/vqshlu64.c 2007-07-25 11:28:31 +0000
16473+++ new/gcc/testsuite/gcc.target/arm/neon/vqshlu64.c 2010-07-29 15:38:15 +0000
16474@@ -3,7 +3,8 @@
16475
16476 /* { dg-do assemble } */
16477 /* { dg-require-effective-target arm_neon_ok } */
16478-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
16479+/* { dg-options "-save-temps -O0" } */
16480+/* { dg-add-options arm_neon } */
16481
16482 #include "arm_neon.h"
16483
16484
16485=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqshlu8.c'
16486--- old/gcc/testsuite/gcc.target/arm/neon/vqshlu8.c 2007-07-25 11:28:31 +0000
16487+++ new/gcc/testsuite/gcc.target/arm/neon/vqshlu8.c 2010-07-29 15:38:15 +0000
16488@@ -3,7 +3,8 @@
16489
16490 /* { dg-do assemble } */
16491 /* { dg-require-effective-target arm_neon_ok } */
16492-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
16493+/* { dg-options "-save-temps -O0" } */
16494+/* { dg-add-options arm_neon } */
16495
16496 #include "arm_neon.h"
16497
16498
16499=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqshluQ_ns16.c'
16500--- old/gcc/testsuite/gcc.target/arm/neon/vqshluQ_ns16.c 2007-07-25 11:28:31 +0000
16501+++ new/gcc/testsuite/gcc.target/arm/neon/vqshluQ_ns16.c 2010-07-29 15:38:15 +0000
16502@@ -3,7 +3,8 @@
16503
16504 /* { dg-do assemble } */
16505 /* { dg-require-effective-target arm_neon_ok } */
16506-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
16507+/* { dg-options "-save-temps -O0" } */
16508+/* { dg-add-options arm_neon } */
16509
16510 #include "arm_neon.h"
16511
16512
16513=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqshluQ_ns32.c'
16514--- old/gcc/testsuite/gcc.target/arm/neon/vqshluQ_ns32.c 2007-07-25 11:28:31 +0000
16515+++ new/gcc/testsuite/gcc.target/arm/neon/vqshluQ_ns32.c 2010-07-29 15:38:15 +0000
16516@@ -3,7 +3,8 @@
16517
16518 /* { dg-do assemble } */
16519 /* { dg-require-effective-target arm_neon_ok } */
16520-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
16521+/* { dg-options "-save-temps -O0" } */
16522+/* { dg-add-options arm_neon } */
16523
16524 #include "arm_neon.h"
16525
16526
16527=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqshluQ_ns64.c'
16528--- old/gcc/testsuite/gcc.target/arm/neon/vqshluQ_ns64.c 2007-07-25 11:28:31 +0000
16529+++ new/gcc/testsuite/gcc.target/arm/neon/vqshluQ_ns64.c 2010-07-29 15:38:15 +0000
16530@@ -3,7 +3,8 @@
16531
16532 /* { dg-do assemble } */
16533 /* { dg-require-effective-target arm_neon_ok } */
16534-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
16535+/* { dg-options "-save-temps -O0" } */
16536+/* { dg-add-options arm_neon } */
16537
16538 #include "arm_neon.h"
16539
16540
16541=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqshluQ_ns8.c'
16542--- old/gcc/testsuite/gcc.target/arm/neon/vqshluQ_ns8.c 2007-07-25 11:28:31 +0000
16543+++ new/gcc/testsuite/gcc.target/arm/neon/vqshluQ_ns8.c 2010-07-29 15:38:15 +0000
16544@@ -3,7 +3,8 @@
16545
16546 /* { dg-do assemble } */
16547 /* { dg-require-effective-target arm_neon_ok } */
16548-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
16549+/* { dg-options "-save-temps -O0" } */
16550+/* { dg-add-options arm_neon } */
16551
16552 #include "arm_neon.h"
16553
16554
16555=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqshlu_ns16.c'
16556--- old/gcc/testsuite/gcc.target/arm/neon/vqshlu_ns16.c 2007-07-25 11:28:31 +0000
16557+++ new/gcc/testsuite/gcc.target/arm/neon/vqshlu_ns16.c 2010-07-29 15:38:15 +0000
16558@@ -3,7 +3,8 @@
16559
16560 /* { dg-do assemble } */
16561 /* { dg-require-effective-target arm_neon_ok } */
16562-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
16563+/* { dg-options "-save-temps -O0" } */
16564+/* { dg-add-options arm_neon } */
16565
16566 #include "arm_neon.h"
16567
16568
16569=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqshlu_ns32.c'
16570--- old/gcc/testsuite/gcc.target/arm/neon/vqshlu_ns32.c 2007-07-25 11:28:31 +0000
16571+++ new/gcc/testsuite/gcc.target/arm/neon/vqshlu_ns32.c 2010-07-29 15:38:15 +0000
16572@@ -3,7 +3,8 @@
16573
16574 /* { dg-do assemble } */
16575 /* { dg-require-effective-target arm_neon_ok } */
16576-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
16577+/* { dg-options "-save-temps -O0" } */
16578+/* { dg-add-options arm_neon } */
16579
16580 #include "arm_neon.h"
16581
16582
16583=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqshlu_ns64.c'
16584--- old/gcc/testsuite/gcc.target/arm/neon/vqshlu_ns64.c 2007-07-25 11:28:31 +0000
16585+++ new/gcc/testsuite/gcc.target/arm/neon/vqshlu_ns64.c 2010-07-29 15:38:15 +0000
16586@@ -3,7 +3,8 @@
16587
16588 /* { dg-do assemble } */
16589 /* { dg-require-effective-target arm_neon_ok } */
16590-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
16591+/* { dg-options "-save-temps -O0" } */
16592+/* { dg-add-options arm_neon } */
16593
16594 #include "arm_neon.h"
16595
16596
16597=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqshlu_ns8.c'
16598--- old/gcc/testsuite/gcc.target/arm/neon/vqshlu_ns8.c 2007-07-25 11:28:31 +0000
16599+++ new/gcc/testsuite/gcc.target/arm/neon/vqshlu_ns8.c 2010-07-29 15:38:15 +0000
16600@@ -3,7 +3,8 @@
16601
16602 /* { dg-do assemble } */
16603 /* { dg-require-effective-target arm_neon_ok } */
16604-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
16605+/* { dg-options "-save-temps -O0" } */
16606+/* { dg-add-options arm_neon } */
16607
16608 #include "arm_neon.h"
16609
16610
16611=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqshrn_ns16.c'
16612--- old/gcc/testsuite/gcc.target/arm/neon/vqshrn_ns16.c 2007-07-25 11:28:31 +0000
16613+++ new/gcc/testsuite/gcc.target/arm/neon/vqshrn_ns16.c 2010-07-29 15:38:15 +0000
16614@@ -3,7 +3,8 @@
16615
16616 /* { dg-do assemble } */
16617 /* { dg-require-effective-target arm_neon_ok } */
16618-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
16619+/* { dg-options "-save-temps -O0" } */
16620+/* { dg-add-options arm_neon } */
16621
16622 #include "arm_neon.h"
16623
16624
16625=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqshrn_ns32.c'
16626--- old/gcc/testsuite/gcc.target/arm/neon/vqshrn_ns32.c 2007-07-25 11:28:31 +0000
16627+++ new/gcc/testsuite/gcc.target/arm/neon/vqshrn_ns32.c 2010-07-29 15:38:15 +0000
16628@@ -3,7 +3,8 @@
16629
16630 /* { dg-do assemble } */
16631 /* { dg-require-effective-target arm_neon_ok } */
16632-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
16633+/* { dg-options "-save-temps -O0" } */
16634+/* { dg-add-options arm_neon } */
16635
16636 #include "arm_neon.h"
16637
16638
16639=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqshrn_ns64.c'
16640--- old/gcc/testsuite/gcc.target/arm/neon/vqshrn_ns64.c 2007-07-25 11:28:31 +0000
16641+++ new/gcc/testsuite/gcc.target/arm/neon/vqshrn_ns64.c 2010-07-29 15:38:15 +0000
16642@@ -3,7 +3,8 @@
16643
16644 /* { dg-do assemble } */
16645 /* { dg-require-effective-target arm_neon_ok } */
16646-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
16647+/* { dg-options "-save-temps -O0" } */
16648+/* { dg-add-options arm_neon } */
16649
16650 #include "arm_neon.h"
16651
16652
16653=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqshrn_nu16.c'
16654--- old/gcc/testsuite/gcc.target/arm/neon/vqshrn_nu16.c 2007-07-25 11:28:31 +0000
16655+++ new/gcc/testsuite/gcc.target/arm/neon/vqshrn_nu16.c 2010-07-29 15:38:15 +0000
16656@@ -3,7 +3,8 @@
16657
16658 /* { dg-do assemble } */
16659 /* { dg-require-effective-target arm_neon_ok } */
16660-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
16661+/* { dg-options "-save-temps -O0" } */
16662+/* { dg-add-options arm_neon } */
16663
16664 #include "arm_neon.h"
16665
16666
16667=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqshrn_nu32.c'
16668--- old/gcc/testsuite/gcc.target/arm/neon/vqshrn_nu32.c 2007-07-25 11:28:31 +0000
16669+++ new/gcc/testsuite/gcc.target/arm/neon/vqshrn_nu32.c 2010-07-29 15:38:15 +0000
16670@@ -3,7 +3,8 @@
16671
16672 /* { dg-do assemble } */
16673 /* { dg-require-effective-target arm_neon_ok } */
16674-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
16675+/* { dg-options "-save-temps -O0" } */
16676+/* { dg-add-options arm_neon } */
16677
16678 #include "arm_neon.h"
16679
16680
16681=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqshrn_nu64.c'
16682--- old/gcc/testsuite/gcc.target/arm/neon/vqshrn_nu64.c 2007-07-25 11:28:31 +0000
16683+++ new/gcc/testsuite/gcc.target/arm/neon/vqshrn_nu64.c 2010-07-29 15:38:15 +0000
16684@@ -3,7 +3,8 @@
16685
16686 /* { dg-do assemble } */
16687 /* { dg-require-effective-target arm_neon_ok } */
16688-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
16689+/* { dg-options "-save-temps -O0" } */
16690+/* { dg-add-options arm_neon } */
16691
16692 #include "arm_neon.h"
16693
16694
16695=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqshrun_ns16.c'
16696--- old/gcc/testsuite/gcc.target/arm/neon/vqshrun_ns16.c 2007-07-25 11:28:31 +0000
16697+++ new/gcc/testsuite/gcc.target/arm/neon/vqshrun_ns16.c 2010-07-29 15:38:15 +0000
16698@@ -3,7 +3,8 @@
16699
16700 /* { dg-do assemble } */
16701 /* { dg-require-effective-target arm_neon_ok } */
16702-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
16703+/* { dg-options "-save-temps -O0" } */
16704+/* { dg-add-options arm_neon } */
16705
16706 #include "arm_neon.h"
16707
16708
16709=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqshrun_ns32.c'
16710--- old/gcc/testsuite/gcc.target/arm/neon/vqshrun_ns32.c 2007-07-25 11:28:31 +0000
16711+++ new/gcc/testsuite/gcc.target/arm/neon/vqshrun_ns32.c 2010-07-29 15:38:15 +0000
16712@@ -3,7 +3,8 @@
16713
16714 /* { dg-do assemble } */
16715 /* { dg-require-effective-target arm_neon_ok } */
16716-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
16717+/* { dg-options "-save-temps -O0" } */
16718+/* { dg-add-options arm_neon } */
16719
16720 #include "arm_neon.h"
16721
16722
16723=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqshrun_ns64.c'
16724--- old/gcc/testsuite/gcc.target/arm/neon/vqshrun_ns64.c 2007-07-25 11:28:31 +0000
16725+++ new/gcc/testsuite/gcc.target/arm/neon/vqshrun_ns64.c 2010-07-29 15:38:15 +0000
16726@@ -3,7 +3,8 @@
16727
16728 /* { dg-do assemble } */
16729 /* { dg-require-effective-target arm_neon_ok } */
16730-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
16731+/* { dg-options "-save-temps -O0" } */
16732+/* { dg-add-options arm_neon } */
16733
16734 #include "arm_neon.h"
16735
16736
16737=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqsubQs16.c'
16738--- old/gcc/testsuite/gcc.target/arm/neon/vqsubQs16.c 2007-07-25 11:28:31 +0000
16739+++ new/gcc/testsuite/gcc.target/arm/neon/vqsubQs16.c 2010-07-29 15:38:15 +0000
16740@@ -3,7 +3,8 @@
16741
16742 /* { dg-do assemble } */
16743 /* { dg-require-effective-target arm_neon_ok } */
16744-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
16745+/* { dg-options "-save-temps -O0" } */
16746+/* { dg-add-options arm_neon } */
16747
16748 #include "arm_neon.h"
16749
16750
16751=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqsubQs32.c'
16752--- old/gcc/testsuite/gcc.target/arm/neon/vqsubQs32.c 2007-07-25 11:28:31 +0000
16753+++ new/gcc/testsuite/gcc.target/arm/neon/vqsubQs32.c 2010-07-29 15:38:15 +0000
16754@@ -3,7 +3,8 @@
16755
16756 /* { dg-do assemble } */
16757 /* { dg-require-effective-target arm_neon_ok } */
16758-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
16759+/* { dg-options "-save-temps -O0" } */
16760+/* { dg-add-options arm_neon } */
16761
16762 #include "arm_neon.h"
16763
16764
16765=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqsubQs64.c'
16766--- old/gcc/testsuite/gcc.target/arm/neon/vqsubQs64.c 2007-07-25 11:28:31 +0000
16767+++ new/gcc/testsuite/gcc.target/arm/neon/vqsubQs64.c 2010-07-29 15:38:15 +0000
16768@@ -3,7 +3,8 @@
16769
16770 /* { dg-do assemble } */
16771 /* { dg-require-effective-target arm_neon_ok } */
16772-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
16773+/* { dg-options "-save-temps -O0" } */
16774+/* { dg-add-options arm_neon } */
16775
16776 #include "arm_neon.h"
16777
16778
16779=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqsubQs8.c'
16780--- old/gcc/testsuite/gcc.target/arm/neon/vqsubQs8.c 2007-07-25 11:28:31 +0000
16781+++ new/gcc/testsuite/gcc.target/arm/neon/vqsubQs8.c 2010-07-29 15:38:15 +0000
16782@@ -3,7 +3,8 @@
16783
16784 /* { dg-do assemble } */
16785 /* { dg-require-effective-target arm_neon_ok } */
16786-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
16787+/* { dg-options "-save-temps -O0" } */
16788+/* { dg-add-options arm_neon } */
16789
16790 #include "arm_neon.h"
16791
16792
16793=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqsubQu16.c'
16794--- old/gcc/testsuite/gcc.target/arm/neon/vqsubQu16.c 2007-07-25 11:28:31 +0000
16795+++ new/gcc/testsuite/gcc.target/arm/neon/vqsubQu16.c 2010-07-29 15:38:15 +0000
16796@@ -3,7 +3,8 @@
16797
16798 /* { dg-do assemble } */
16799 /* { dg-require-effective-target arm_neon_ok } */
16800-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
16801+/* { dg-options "-save-temps -O0" } */
16802+/* { dg-add-options arm_neon } */
16803
16804 #include "arm_neon.h"
16805
16806
16807=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqsubQu32.c'
16808--- old/gcc/testsuite/gcc.target/arm/neon/vqsubQu32.c 2007-07-25 11:28:31 +0000
16809+++ new/gcc/testsuite/gcc.target/arm/neon/vqsubQu32.c 2010-07-29 15:38:15 +0000
16810@@ -3,7 +3,8 @@
16811
16812 /* { dg-do assemble } */
16813 /* { dg-require-effective-target arm_neon_ok } */
16814-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
16815+/* { dg-options "-save-temps -O0" } */
16816+/* { dg-add-options arm_neon } */
16817
16818 #include "arm_neon.h"
16819
16820
16821=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqsubQu64.c'
16822--- old/gcc/testsuite/gcc.target/arm/neon/vqsubQu64.c 2007-07-25 11:28:31 +0000
16823+++ new/gcc/testsuite/gcc.target/arm/neon/vqsubQu64.c 2010-07-29 15:38:15 +0000
16824@@ -3,7 +3,8 @@
16825
16826 /* { dg-do assemble } */
16827 /* { dg-require-effective-target arm_neon_ok } */
16828-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
16829+/* { dg-options "-save-temps -O0" } */
16830+/* { dg-add-options arm_neon } */
16831
16832 #include "arm_neon.h"
16833
16834
16835=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqsubQu8.c'
16836--- old/gcc/testsuite/gcc.target/arm/neon/vqsubQu8.c 2007-07-25 11:28:31 +0000
16837+++ new/gcc/testsuite/gcc.target/arm/neon/vqsubQu8.c 2010-07-29 15:38:15 +0000
16838@@ -3,7 +3,8 @@
16839
16840 /* { dg-do assemble } */
16841 /* { dg-require-effective-target arm_neon_ok } */
16842-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
16843+/* { dg-options "-save-temps -O0" } */
16844+/* { dg-add-options arm_neon } */
16845
16846 #include "arm_neon.h"
16847
16848
16849=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqsubs16.c'
16850--- old/gcc/testsuite/gcc.target/arm/neon/vqsubs16.c 2007-07-25 11:28:31 +0000
16851+++ new/gcc/testsuite/gcc.target/arm/neon/vqsubs16.c 2010-07-29 15:38:15 +0000
16852@@ -3,7 +3,8 @@
16853
16854 /* { dg-do assemble } */
16855 /* { dg-require-effective-target arm_neon_ok } */
16856-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
16857+/* { dg-options "-save-temps -O0" } */
16858+/* { dg-add-options arm_neon } */
16859
16860 #include "arm_neon.h"
16861
16862
16863=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqsubs32.c'
16864--- old/gcc/testsuite/gcc.target/arm/neon/vqsubs32.c 2007-07-25 11:28:31 +0000
16865+++ new/gcc/testsuite/gcc.target/arm/neon/vqsubs32.c 2010-07-29 15:38:15 +0000
16866@@ -3,7 +3,8 @@
16867
16868 /* { dg-do assemble } */
16869 /* { dg-require-effective-target arm_neon_ok } */
16870-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
16871+/* { dg-options "-save-temps -O0" } */
16872+/* { dg-add-options arm_neon } */
16873
16874 #include "arm_neon.h"
16875
16876
16877=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqsubs64.c'
16878--- old/gcc/testsuite/gcc.target/arm/neon/vqsubs64.c 2007-07-25 11:28:31 +0000
16879+++ new/gcc/testsuite/gcc.target/arm/neon/vqsubs64.c 2010-07-29 15:38:15 +0000
16880@@ -3,7 +3,8 @@
16881
16882 /* { dg-do assemble } */
16883 /* { dg-require-effective-target arm_neon_ok } */
16884-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
16885+/* { dg-options "-save-temps -O0" } */
16886+/* { dg-add-options arm_neon } */
16887
16888 #include "arm_neon.h"
16889
16890
16891=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqsubs8.c'
16892--- old/gcc/testsuite/gcc.target/arm/neon/vqsubs8.c 2007-07-25 11:28:31 +0000
16893+++ new/gcc/testsuite/gcc.target/arm/neon/vqsubs8.c 2010-07-29 15:38:15 +0000
16894@@ -3,7 +3,8 @@
16895
16896 /* { dg-do assemble } */
16897 /* { dg-require-effective-target arm_neon_ok } */
16898-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
16899+/* { dg-options "-save-temps -O0" } */
16900+/* { dg-add-options arm_neon } */
16901
16902 #include "arm_neon.h"
16903
16904
16905=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqsubu16.c'
16906--- old/gcc/testsuite/gcc.target/arm/neon/vqsubu16.c 2007-07-25 11:28:31 +0000
16907+++ new/gcc/testsuite/gcc.target/arm/neon/vqsubu16.c 2010-07-29 15:38:15 +0000
16908@@ -3,7 +3,8 @@
16909
16910 /* { dg-do assemble } */
16911 /* { dg-require-effective-target arm_neon_ok } */
16912-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
16913+/* { dg-options "-save-temps -O0" } */
16914+/* { dg-add-options arm_neon } */
16915
16916 #include "arm_neon.h"
16917
16918
16919=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqsubu32.c'
16920--- old/gcc/testsuite/gcc.target/arm/neon/vqsubu32.c 2007-07-25 11:28:31 +0000
16921+++ new/gcc/testsuite/gcc.target/arm/neon/vqsubu32.c 2010-07-29 15:38:15 +0000
16922@@ -3,7 +3,8 @@
16923
16924 /* { dg-do assemble } */
16925 /* { dg-require-effective-target arm_neon_ok } */
16926-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
16927+/* { dg-options "-save-temps -O0" } */
16928+/* { dg-add-options arm_neon } */
16929
16930 #include "arm_neon.h"
16931
16932
16933=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqsubu64.c'
16934--- old/gcc/testsuite/gcc.target/arm/neon/vqsubu64.c 2007-07-25 11:28:31 +0000
16935+++ new/gcc/testsuite/gcc.target/arm/neon/vqsubu64.c 2010-07-29 15:38:15 +0000
16936@@ -3,7 +3,8 @@
16937
16938 /* { dg-do assemble } */
16939 /* { dg-require-effective-target arm_neon_ok } */
16940-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
16941+/* { dg-options "-save-temps -O0" } */
16942+/* { dg-add-options arm_neon } */
16943
16944 #include "arm_neon.h"
16945
16946
16947=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqsubu8.c'
16948--- old/gcc/testsuite/gcc.target/arm/neon/vqsubu8.c 2007-07-25 11:28:31 +0000
16949+++ new/gcc/testsuite/gcc.target/arm/neon/vqsubu8.c 2010-07-29 15:38:15 +0000
16950@@ -3,7 +3,8 @@
16951
16952 /* { dg-do assemble } */
16953 /* { dg-require-effective-target arm_neon_ok } */
16954-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
16955+/* { dg-options "-save-temps -O0" } */
16956+/* { dg-add-options arm_neon } */
16957
16958 #include "arm_neon.h"
16959
16960
16961=== modified file 'gcc/testsuite/gcc.target/arm/neon/vrecpeQf32.c'
16962--- old/gcc/testsuite/gcc.target/arm/neon/vrecpeQf32.c 2007-07-25 11:28:31 +0000
16963+++ new/gcc/testsuite/gcc.target/arm/neon/vrecpeQf32.c 2010-07-29 15:38:15 +0000
16964@@ -3,7 +3,8 @@
16965
16966 /* { dg-do assemble } */
16967 /* { dg-require-effective-target arm_neon_ok } */
16968-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
16969+/* { dg-options "-save-temps -O0" } */
16970+/* { dg-add-options arm_neon } */
16971
16972 #include "arm_neon.h"
16973
16974
16975=== modified file 'gcc/testsuite/gcc.target/arm/neon/vrecpeQu32.c'
16976--- old/gcc/testsuite/gcc.target/arm/neon/vrecpeQu32.c 2007-07-25 11:28:31 +0000
16977+++ new/gcc/testsuite/gcc.target/arm/neon/vrecpeQu32.c 2010-07-29 15:38:15 +0000
16978@@ -3,7 +3,8 @@
16979
16980 /* { dg-do assemble } */
16981 /* { dg-require-effective-target arm_neon_ok } */
16982-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
16983+/* { dg-options "-save-temps -O0" } */
16984+/* { dg-add-options arm_neon } */
16985
16986 #include "arm_neon.h"
16987
16988
16989=== modified file 'gcc/testsuite/gcc.target/arm/neon/vrecpef32.c'
16990--- old/gcc/testsuite/gcc.target/arm/neon/vrecpef32.c 2007-07-25 11:28:31 +0000
16991+++ new/gcc/testsuite/gcc.target/arm/neon/vrecpef32.c 2010-07-29 15:38:15 +0000
16992@@ -3,7 +3,8 @@
16993
16994 /* { dg-do assemble } */
16995 /* { dg-require-effective-target arm_neon_ok } */
16996-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
16997+/* { dg-options "-save-temps -O0" } */
16998+/* { dg-add-options arm_neon } */
16999
17000 #include "arm_neon.h"
17001
17002
17003=== modified file 'gcc/testsuite/gcc.target/arm/neon/vrecpeu32.c'
17004--- old/gcc/testsuite/gcc.target/arm/neon/vrecpeu32.c 2007-07-25 11:28:31 +0000
17005+++ new/gcc/testsuite/gcc.target/arm/neon/vrecpeu32.c 2010-07-29 15:38:15 +0000
17006@@ -3,7 +3,8 @@
17007
17008 /* { dg-do assemble } */
17009 /* { dg-require-effective-target arm_neon_ok } */
17010-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
17011+/* { dg-options "-save-temps -O0" } */
17012+/* { dg-add-options arm_neon } */
17013
17014 #include "arm_neon.h"
17015
17016
17017=== modified file 'gcc/testsuite/gcc.target/arm/neon/vrecpsQf32.c'
17018--- old/gcc/testsuite/gcc.target/arm/neon/vrecpsQf32.c 2007-07-25 11:28:31 +0000
17019+++ new/gcc/testsuite/gcc.target/arm/neon/vrecpsQf32.c 2010-07-29 15:38:15 +0000
17020@@ -3,7 +3,8 @@
17021
17022 /* { dg-do assemble } */
17023 /* { dg-require-effective-target arm_neon_ok } */
17024-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
17025+/* { dg-options "-save-temps -O0" } */
17026+/* { dg-add-options arm_neon } */
17027
17028 #include "arm_neon.h"
17029
17030
17031=== modified file 'gcc/testsuite/gcc.target/arm/neon/vrecpsf32.c'
17032--- old/gcc/testsuite/gcc.target/arm/neon/vrecpsf32.c 2007-07-25 11:28:31 +0000
17033+++ new/gcc/testsuite/gcc.target/arm/neon/vrecpsf32.c 2010-07-29 15:38:15 +0000
17034@@ -3,7 +3,8 @@
17035
17036 /* { dg-do assemble } */
17037 /* { dg-require-effective-target arm_neon_ok } */
17038-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
17039+/* { dg-options "-save-temps -O0" } */
17040+/* { dg-add-options arm_neon } */
17041
17042 #include "arm_neon.h"
17043
17044
17045=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretQf32_p16.c'
17046--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretQf32_p16.c 2007-07-25 11:28:31 +0000
17047+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretQf32_p16.c 2010-07-29 15:38:15 +0000
17048@@ -3,7 +3,8 @@
17049
17050 /* { dg-do assemble } */
17051 /* { dg-require-effective-target arm_neon_ok } */
17052-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
17053+/* { dg-options "-save-temps -O0" } */
17054+/* { dg-add-options arm_neon } */
17055
17056 #include "arm_neon.h"
17057
17058
17059=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretQf32_p8.c'
17060--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretQf32_p8.c 2007-07-25 11:28:31 +0000
17061+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretQf32_p8.c 2010-07-29 15:38:15 +0000
17062@@ -3,7 +3,8 @@
17063
17064 /* { dg-do assemble } */
17065 /* { dg-require-effective-target arm_neon_ok } */
17066-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
17067+/* { dg-options "-save-temps -O0" } */
17068+/* { dg-add-options arm_neon } */
17069
17070 #include "arm_neon.h"
17071
17072
17073=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretQf32_s16.c'
17074--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretQf32_s16.c 2007-07-25 11:28:31 +0000
17075+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretQf32_s16.c 2010-07-29 15:38:15 +0000
17076@@ -3,7 +3,8 @@
17077
17078 /* { dg-do assemble } */
17079 /* { dg-require-effective-target arm_neon_ok } */
17080-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
17081+/* { dg-options "-save-temps -O0" } */
17082+/* { dg-add-options arm_neon } */
17083
17084 #include "arm_neon.h"
17085
17086
17087=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretQf32_s32.c'
17088--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretQf32_s32.c 2007-07-25 11:28:31 +0000
17089+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretQf32_s32.c 2010-07-29 15:38:15 +0000
17090@@ -3,7 +3,8 @@
17091
17092 /* { dg-do assemble } */
17093 /* { dg-require-effective-target arm_neon_ok } */
17094-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
17095+/* { dg-options "-save-temps -O0" } */
17096+/* { dg-add-options arm_neon } */
17097
17098 #include "arm_neon.h"
17099
17100
17101=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretQf32_s64.c'
17102--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretQf32_s64.c 2007-07-25 11:28:31 +0000
17103+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretQf32_s64.c 2010-07-29 15:38:15 +0000
17104@@ -3,7 +3,8 @@
17105
17106 /* { dg-do assemble } */
17107 /* { dg-require-effective-target arm_neon_ok } */
17108-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
17109+/* { dg-options "-save-temps -O0" } */
17110+/* { dg-add-options arm_neon } */
17111
17112 #include "arm_neon.h"
17113
17114
17115=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretQf32_s8.c'
17116--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretQf32_s8.c 2007-07-25 11:28:31 +0000
17117+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretQf32_s8.c 2010-07-29 15:38:15 +0000
17118@@ -3,7 +3,8 @@
17119
17120 /* { dg-do assemble } */
17121 /* { dg-require-effective-target arm_neon_ok } */
17122-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
17123+/* { dg-options "-save-temps -O0" } */
17124+/* { dg-add-options arm_neon } */
17125
17126 #include "arm_neon.h"
17127
17128
17129=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretQf32_u16.c'
17130--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretQf32_u16.c 2007-07-25 11:28:31 +0000
17131+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretQf32_u16.c 2010-07-29 15:38:15 +0000
17132@@ -3,7 +3,8 @@
17133
17134 /* { dg-do assemble } */
17135 /* { dg-require-effective-target arm_neon_ok } */
17136-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
17137+/* { dg-options "-save-temps -O0" } */
17138+/* { dg-add-options arm_neon } */
17139
17140 #include "arm_neon.h"
17141
17142
17143=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretQf32_u32.c'
17144--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretQf32_u32.c 2007-07-25 11:28:31 +0000
17145+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretQf32_u32.c 2010-07-29 15:38:15 +0000
17146@@ -3,7 +3,8 @@
17147
17148 /* { dg-do assemble } */
17149 /* { dg-require-effective-target arm_neon_ok } */
17150-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
17151+/* { dg-options "-save-temps -O0" } */
17152+/* { dg-add-options arm_neon } */
17153
17154 #include "arm_neon.h"
17155
17156
17157=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretQf32_u64.c'
17158--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretQf32_u64.c 2007-07-25 11:28:31 +0000
17159+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretQf32_u64.c 2010-07-29 15:38:15 +0000
17160@@ -3,7 +3,8 @@
17161
17162 /* { dg-do assemble } */
17163 /* { dg-require-effective-target arm_neon_ok } */
17164-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
17165+/* { dg-options "-save-temps -O0" } */
17166+/* { dg-add-options arm_neon } */
17167
17168 #include "arm_neon.h"
17169
17170
17171=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretQf32_u8.c'
17172--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretQf32_u8.c 2007-07-25 11:28:31 +0000
17173+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretQf32_u8.c 2010-07-29 15:38:15 +0000
17174@@ -3,7 +3,8 @@
17175
17176 /* { dg-do assemble } */
17177 /* { dg-require-effective-target arm_neon_ok } */
17178-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
17179+/* { dg-options "-save-temps -O0" } */
17180+/* { dg-add-options arm_neon } */
17181
17182 #include "arm_neon.h"
17183
17184
17185=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretQp16_f32.c'
17186--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretQp16_f32.c 2007-07-25 11:28:31 +0000
17187+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretQp16_f32.c 2010-07-29 15:38:15 +0000
17188@@ -3,7 +3,8 @@
17189
17190 /* { dg-do assemble } */
17191 /* { dg-require-effective-target arm_neon_ok } */
17192-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
17193+/* { dg-options "-save-temps -O0" } */
17194+/* { dg-add-options arm_neon } */
17195
17196 #include "arm_neon.h"
17197
17198
17199=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretQp16_p8.c'
17200--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretQp16_p8.c 2007-07-25 11:28:31 +0000
17201+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretQp16_p8.c 2010-07-29 15:38:15 +0000
17202@@ -3,7 +3,8 @@
17203
17204 /* { dg-do assemble } */
17205 /* { dg-require-effective-target arm_neon_ok } */
17206-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
17207+/* { dg-options "-save-temps -O0" } */
17208+/* { dg-add-options arm_neon } */
17209
17210 #include "arm_neon.h"
17211
17212
17213=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretQp16_s16.c'
17214--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretQp16_s16.c 2007-07-25 11:28:31 +0000
17215+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretQp16_s16.c 2010-07-29 15:38:15 +0000
17216@@ -3,7 +3,8 @@
17217
17218 /* { dg-do assemble } */
17219 /* { dg-require-effective-target arm_neon_ok } */
17220-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
17221+/* { dg-options "-save-temps -O0" } */
17222+/* { dg-add-options arm_neon } */
17223
17224 #include "arm_neon.h"
17225
17226
17227=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretQp16_s32.c'
17228--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretQp16_s32.c 2007-07-25 11:28:31 +0000
17229+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretQp16_s32.c 2010-07-29 15:38:15 +0000
17230@@ -3,7 +3,8 @@
17231
17232 /* { dg-do assemble } */
17233 /* { dg-require-effective-target arm_neon_ok } */
17234-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
17235+/* { dg-options "-save-temps -O0" } */
17236+/* { dg-add-options arm_neon } */
17237
17238 #include "arm_neon.h"
17239
17240
17241=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretQp16_s64.c'
17242--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretQp16_s64.c 2007-07-25 11:28:31 +0000
17243+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretQp16_s64.c 2010-07-29 15:38:15 +0000
17244@@ -3,7 +3,8 @@
17245
17246 /* { dg-do assemble } */
17247 /* { dg-require-effective-target arm_neon_ok } */
17248-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
17249+/* { dg-options "-save-temps -O0" } */
17250+/* { dg-add-options arm_neon } */
17251
17252 #include "arm_neon.h"
17253
17254
17255=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretQp16_s8.c'
17256--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretQp16_s8.c 2007-07-25 11:28:31 +0000
17257+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretQp16_s8.c 2010-07-29 15:38:15 +0000
17258@@ -3,7 +3,8 @@
17259
17260 /* { dg-do assemble } */
17261 /* { dg-require-effective-target arm_neon_ok } */
17262-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
17263+/* { dg-options "-save-temps -O0" } */
17264+/* { dg-add-options arm_neon } */
17265
17266 #include "arm_neon.h"
17267
17268
17269=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretQp16_u16.c'
17270--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretQp16_u16.c 2007-07-25 11:28:31 +0000
17271+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretQp16_u16.c 2010-07-29 15:38:15 +0000
17272@@ -3,7 +3,8 @@
17273
17274 /* { dg-do assemble } */
17275 /* { dg-require-effective-target arm_neon_ok } */
17276-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
17277+/* { dg-options "-save-temps -O0" } */
17278+/* { dg-add-options arm_neon } */
17279
17280 #include "arm_neon.h"
17281
17282
17283=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretQp16_u32.c'
17284--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretQp16_u32.c 2007-07-25 11:28:31 +0000
17285+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretQp16_u32.c 2010-07-29 15:38:15 +0000
17286@@ -3,7 +3,8 @@
17287
17288 /* { dg-do assemble } */
17289 /* { dg-require-effective-target arm_neon_ok } */
17290-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
17291+/* { dg-options "-save-temps -O0" } */
17292+/* { dg-add-options arm_neon } */
17293
17294 #include "arm_neon.h"
17295
17296
17297=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretQp16_u64.c'
17298--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretQp16_u64.c 2007-07-25 11:28:31 +0000
17299+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretQp16_u64.c 2010-07-29 15:38:15 +0000
17300@@ -3,7 +3,8 @@
17301
17302 /* { dg-do assemble } */
17303 /* { dg-require-effective-target arm_neon_ok } */
17304-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
17305+/* { dg-options "-save-temps -O0" } */
17306+/* { dg-add-options arm_neon } */
17307
17308 #include "arm_neon.h"
17309
17310
17311=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretQp16_u8.c'
17312--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretQp16_u8.c 2007-07-25 11:28:31 +0000
17313+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretQp16_u8.c 2010-07-29 15:38:15 +0000
17314@@ -3,7 +3,8 @@
17315
17316 /* { dg-do assemble } */
17317 /* { dg-require-effective-target arm_neon_ok } */
17318-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
17319+/* { dg-options "-save-temps -O0" } */
17320+/* { dg-add-options arm_neon } */
17321
17322 #include "arm_neon.h"
17323
17324
17325=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretQp8_f32.c'
17326--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretQp8_f32.c 2007-07-25 11:28:31 +0000
17327+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretQp8_f32.c 2010-07-29 15:38:15 +0000
17328@@ -3,7 +3,8 @@
17329
17330 /* { dg-do assemble } */
17331 /* { dg-require-effective-target arm_neon_ok } */
17332-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
17333+/* { dg-options "-save-temps -O0" } */
17334+/* { dg-add-options arm_neon } */
17335
17336 #include "arm_neon.h"
17337
17338
17339=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretQp8_p16.c'
17340--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretQp8_p16.c 2007-07-25 11:28:31 +0000
17341+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretQp8_p16.c 2010-07-29 15:38:15 +0000
17342@@ -3,7 +3,8 @@
17343
17344 /* { dg-do assemble } */
17345 /* { dg-require-effective-target arm_neon_ok } */
17346-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
17347+/* { dg-options "-save-temps -O0" } */
17348+/* { dg-add-options arm_neon } */
17349
17350 #include "arm_neon.h"
17351
17352
17353=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretQp8_s16.c'
17354--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretQp8_s16.c 2007-07-25 11:28:31 +0000
17355+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretQp8_s16.c 2010-07-29 15:38:15 +0000
17356@@ -3,7 +3,8 @@
17357
17358 /* { dg-do assemble } */
17359 /* { dg-require-effective-target arm_neon_ok } */
17360-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
17361+/* { dg-options "-save-temps -O0" } */
17362+/* { dg-add-options arm_neon } */
17363
17364 #include "arm_neon.h"
17365
17366
17367=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretQp8_s32.c'
17368--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretQp8_s32.c 2007-07-25 11:28:31 +0000
17369+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretQp8_s32.c 2010-07-29 15:38:15 +0000
17370@@ -3,7 +3,8 @@
17371
17372 /* { dg-do assemble } */
17373 /* { dg-require-effective-target arm_neon_ok } */
17374-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
17375+/* { dg-options "-save-temps -O0" } */
17376+/* { dg-add-options arm_neon } */
17377
17378 #include "arm_neon.h"
17379
17380
17381=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretQp8_s64.c'
17382--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretQp8_s64.c 2007-07-25 11:28:31 +0000
17383+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretQp8_s64.c 2010-07-29 15:38:15 +0000
17384@@ -3,7 +3,8 @@
17385
17386 /* { dg-do assemble } */
17387 /* { dg-require-effective-target arm_neon_ok } */
17388-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
17389+/* { dg-options "-save-temps -O0" } */
17390+/* { dg-add-options arm_neon } */
17391
17392 #include "arm_neon.h"
17393
17394
17395=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretQp8_s8.c'
17396--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretQp8_s8.c 2007-07-25 11:28:31 +0000
17397+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretQp8_s8.c 2010-07-29 15:38:15 +0000
17398@@ -3,7 +3,8 @@
17399
17400 /* { dg-do assemble } */
17401 /* { dg-require-effective-target arm_neon_ok } */
17402-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
17403+/* { dg-options "-save-temps -O0" } */
17404+/* { dg-add-options arm_neon } */
17405
17406 #include "arm_neon.h"
17407
17408
17409=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretQp8_u16.c'
17410--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretQp8_u16.c 2007-07-25 11:28:31 +0000
17411+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretQp8_u16.c 2010-07-29 15:38:15 +0000
17412@@ -3,7 +3,8 @@
17413
17414 /* { dg-do assemble } */
17415 /* { dg-require-effective-target arm_neon_ok } */
17416-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
17417+/* { dg-options "-save-temps -O0" } */
17418+/* { dg-add-options arm_neon } */
17419
17420 #include "arm_neon.h"
17421
17422
17423=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretQp8_u32.c'
17424--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretQp8_u32.c 2007-07-25 11:28:31 +0000
17425+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretQp8_u32.c 2010-07-29 15:38:15 +0000
17426@@ -3,7 +3,8 @@
17427
17428 /* { dg-do assemble } */
17429 /* { dg-require-effective-target arm_neon_ok } */
17430-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
17431+/* { dg-options "-save-temps -O0" } */
17432+/* { dg-add-options arm_neon } */
17433
17434 #include "arm_neon.h"
17435
17436
17437=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretQp8_u64.c'
17438--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretQp8_u64.c 2007-07-25 11:28:31 +0000
17439+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretQp8_u64.c 2010-07-29 15:38:15 +0000
17440@@ -3,7 +3,8 @@
17441
17442 /* { dg-do assemble } */
17443 /* { dg-require-effective-target arm_neon_ok } */
17444-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
17445+/* { dg-options "-save-temps -O0" } */
17446+/* { dg-add-options arm_neon } */
17447
17448 #include "arm_neon.h"
17449
17450
17451=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretQp8_u8.c'
17452--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretQp8_u8.c 2007-07-25 11:28:31 +0000
17453+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretQp8_u8.c 2010-07-29 15:38:15 +0000
17454@@ -3,7 +3,8 @@
17455
17456 /* { dg-do assemble } */
17457 /* { dg-require-effective-target arm_neon_ok } */
17458-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
17459+/* { dg-options "-save-temps -O0" } */
17460+/* { dg-add-options arm_neon } */
17461
17462 #include "arm_neon.h"
17463
17464
17465=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretQs16_f32.c'
17466--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretQs16_f32.c 2007-07-25 11:28:31 +0000
17467+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretQs16_f32.c 2010-07-29 15:38:15 +0000
17468@@ -3,7 +3,8 @@
17469
17470 /* { dg-do assemble } */
17471 /* { dg-require-effective-target arm_neon_ok } */
17472-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
17473+/* { dg-options "-save-temps -O0" } */
17474+/* { dg-add-options arm_neon } */
17475
17476 #include "arm_neon.h"
17477
17478
17479=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretQs16_p16.c'
17480--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretQs16_p16.c 2007-07-25 11:28:31 +0000
17481+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretQs16_p16.c 2010-07-29 15:38:15 +0000
17482@@ -3,7 +3,8 @@
17483
17484 /* { dg-do assemble } */
17485 /* { dg-require-effective-target arm_neon_ok } */
17486-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
17487+/* { dg-options "-save-temps -O0" } */
17488+/* { dg-add-options arm_neon } */
17489
17490 #include "arm_neon.h"
17491
17492
17493=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretQs16_p8.c'
17494--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretQs16_p8.c 2007-07-25 11:28:31 +0000
17495+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretQs16_p8.c 2010-07-29 15:38:15 +0000
17496@@ -3,7 +3,8 @@
17497
17498 /* { dg-do assemble } */
17499 /* { dg-require-effective-target arm_neon_ok } */
17500-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
17501+/* { dg-options "-save-temps -O0" } */
17502+/* { dg-add-options arm_neon } */
17503
17504 #include "arm_neon.h"
17505
17506
17507=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretQs16_s32.c'
17508--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretQs16_s32.c 2007-07-25 11:28:31 +0000
17509+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretQs16_s32.c 2010-07-29 15:38:15 +0000
17510@@ -3,7 +3,8 @@
17511
17512 /* { dg-do assemble } */
17513 /* { dg-require-effective-target arm_neon_ok } */
17514-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
17515+/* { dg-options "-save-temps -O0" } */
17516+/* { dg-add-options arm_neon } */
17517
17518 #include "arm_neon.h"
17519
17520
17521=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretQs16_s64.c'
17522--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretQs16_s64.c 2007-07-25 11:28:31 +0000
17523+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretQs16_s64.c 2010-07-29 15:38:15 +0000
17524@@ -3,7 +3,8 @@
17525
17526 /* { dg-do assemble } */
17527 /* { dg-require-effective-target arm_neon_ok } */
17528-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
17529+/* { dg-options "-save-temps -O0" } */
17530+/* { dg-add-options arm_neon } */
17531
17532 #include "arm_neon.h"
17533
17534
17535=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretQs16_s8.c'
17536--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretQs16_s8.c 2007-07-25 11:28:31 +0000
17537+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretQs16_s8.c 2010-07-29 15:38:15 +0000
17538@@ -3,7 +3,8 @@
17539
17540 /* { dg-do assemble } */
17541 /* { dg-require-effective-target arm_neon_ok } */
17542-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
17543+/* { dg-options "-save-temps -O0" } */
17544+/* { dg-add-options arm_neon } */
17545
17546 #include "arm_neon.h"
17547
17548
17549=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretQs16_u16.c'
17550--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretQs16_u16.c 2007-07-25 11:28:31 +0000
17551+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretQs16_u16.c 2010-07-29 15:38:15 +0000
17552@@ -3,7 +3,8 @@
17553
17554 /* { dg-do assemble } */
17555 /* { dg-require-effective-target arm_neon_ok } */
17556-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
17557+/* { dg-options "-save-temps -O0" } */
17558+/* { dg-add-options arm_neon } */
17559
17560 #include "arm_neon.h"
17561
17562
17563=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretQs16_u32.c'
17564--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretQs16_u32.c 2007-07-25 11:28:31 +0000
17565+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretQs16_u32.c 2010-07-29 15:38:15 +0000
17566@@ -3,7 +3,8 @@
17567
17568 /* { dg-do assemble } */
17569 /* { dg-require-effective-target arm_neon_ok } */
17570-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
17571+/* { dg-options "-save-temps -O0" } */
17572+/* { dg-add-options arm_neon } */
17573
17574 #include "arm_neon.h"
17575
17576
17577=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretQs16_u64.c'
17578--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretQs16_u64.c 2007-07-25 11:28:31 +0000
17579+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretQs16_u64.c 2010-07-29 15:38:15 +0000
17580@@ -3,7 +3,8 @@
17581
17582 /* { dg-do assemble } */
17583 /* { dg-require-effective-target arm_neon_ok } */
17584-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
17585+/* { dg-options "-save-temps -O0" } */
17586+/* { dg-add-options arm_neon } */
17587
17588 #include "arm_neon.h"
17589
17590
17591=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretQs16_u8.c'
17592--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretQs16_u8.c 2007-07-25 11:28:31 +0000
17593+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretQs16_u8.c 2010-07-29 15:38:15 +0000
17594@@ -3,7 +3,8 @@
17595
17596 /* { dg-do assemble } */
17597 /* { dg-require-effective-target arm_neon_ok } */
17598-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
17599+/* { dg-options "-save-temps -O0" } */
17600+/* { dg-add-options arm_neon } */
17601
17602 #include "arm_neon.h"
17603
17604
17605=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretQs32_f32.c'
17606--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretQs32_f32.c 2007-07-25 11:28:31 +0000
17607+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretQs32_f32.c 2010-07-29 15:38:15 +0000
17608@@ -3,7 +3,8 @@
17609
17610 /* { dg-do assemble } */
17611 /* { dg-require-effective-target arm_neon_ok } */
17612-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
17613+/* { dg-options "-save-temps -O0" } */
17614+/* { dg-add-options arm_neon } */
17615
17616 #include "arm_neon.h"
17617
17618
17619=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretQs32_p16.c'
17620--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretQs32_p16.c 2007-07-25 11:28:31 +0000
17621+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretQs32_p16.c 2010-07-29 15:38:15 +0000
17622@@ -3,7 +3,8 @@
17623
17624 /* { dg-do assemble } */
17625 /* { dg-require-effective-target arm_neon_ok } */
17626-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
17627+/* { dg-options "-save-temps -O0" } */
17628+/* { dg-add-options arm_neon } */
17629
17630 #include "arm_neon.h"
17631
17632
17633=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretQs32_p8.c'
17634--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretQs32_p8.c 2007-07-25 11:28:31 +0000
17635+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretQs32_p8.c 2010-07-29 15:38:15 +0000
17636@@ -3,7 +3,8 @@
17637
17638 /* { dg-do assemble } */
17639 /* { dg-require-effective-target arm_neon_ok } */
17640-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
17641+/* { dg-options "-save-temps -O0" } */
17642+/* { dg-add-options arm_neon } */
17643
17644 #include "arm_neon.h"
17645
17646
17647=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretQs32_s16.c'
17648--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretQs32_s16.c 2007-07-25 11:28:31 +0000
17649+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretQs32_s16.c 2010-07-29 15:38:15 +0000
17650@@ -3,7 +3,8 @@
17651
17652 /* { dg-do assemble } */
17653 /* { dg-require-effective-target arm_neon_ok } */
17654-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
17655+/* { dg-options "-save-temps -O0" } */
17656+/* { dg-add-options arm_neon } */
17657
17658 #include "arm_neon.h"
17659
17660
17661=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretQs32_s64.c'
17662--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretQs32_s64.c 2007-07-25 11:28:31 +0000
17663+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretQs32_s64.c 2010-07-29 15:38:15 +0000
17664@@ -3,7 +3,8 @@
17665
17666 /* { dg-do assemble } */
17667 /* { dg-require-effective-target arm_neon_ok } */
17668-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
17669+/* { dg-options "-save-temps -O0" } */
17670+/* { dg-add-options arm_neon } */
17671
17672 #include "arm_neon.h"
17673
17674
17675=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretQs32_s8.c'
17676--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretQs32_s8.c 2007-07-25 11:28:31 +0000
17677+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretQs32_s8.c 2010-07-29 15:38:15 +0000
17678@@ -3,7 +3,8 @@
17679
17680 /* { dg-do assemble } */
17681 /* { dg-require-effective-target arm_neon_ok } */
17682-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
17683+/* { dg-options "-save-temps -O0" } */
17684+/* { dg-add-options arm_neon } */
17685
17686 #include "arm_neon.h"
17687
17688
17689=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretQs32_u16.c'
17690--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretQs32_u16.c 2007-07-25 11:28:31 +0000
17691+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretQs32_u16.c 2010-07-29 15:38:15 +0000
17692@@ -3,7 +3,8 @@
17693
17694 /* { dg-do assemble } */
17695 /* { dg-require-effective-target arm_neon_ok } */
17696-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
17697+/* { dg-options "-save-temps -O0" } */
17698+/* { dg-add-options arm_neon } */
17699
17700 #include "arm_neon.h"
17701
17702
17703=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretQs32_u32.c'
17704--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretQs32_u32.c 2007-07-25 11:28:31 +0000
17705+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretQs32_u32.c 2010-07-29 15:38:15 +0000
17706@@ -3,7 +3,8 @@
17707
17708 /* { dg-do assemble } */
17709 /* { dg-require-effective-target arm_neon_ok } */
17710-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
17711+/* { dg-options "-save-temps -O0" } */
17712+/* { dg-add-options arm_neon } */
17713
17714 #include "arm_neon.h"
17715
17716
17717=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretQs32_u64.c'
17718--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretQs32_u64.c 2007-07-25 11:28:31 +0000
17719+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretQs32_u64.c 2010-07-29 15:38:15 +0000
17720@@ -3,7 +3,8 @@
17721
17722 /* { dg-do assemble } */
17723 /* { dg-require-effective-target arm_neon_ok } */
17724-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
17725+/* { dg-options "-save-temps -O0" } */
17726+/* { dg-add-options arm_neon } */
17727
17728 #include "arm_neon.h"
17729
17730
17731=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretQs32_u8.c'
17732--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretQs32_u8.c 2007-07-25 11:28:31 +0000
17733+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretQs32_u8.c 2010-07-29 15:38:15 +0000
17734@@ -3,7 +3,8 @@
17735
17736 /* { dg-do assemble } */
17737 /* { dg-require-effective-target arm_neon_ok } */
17738-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
17739+/* { dg-options "-save-temps -O0" } */
17740+/* { dg-add-options arm_neon } */
17741
17742 #include "arm_neon.h"
17743
17744
17745=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretQs64_f32.c'
17746--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretQs64_f32.c 2007-07-25 11:28:31 +0000
17747+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretQs64_f32.c 2010-07-29 15:38:15 +0000
17748@@ -3,7 +3,8 @@
17749
17750 /* { dg-do assemble } */
17751 /* { dg-require-effective-target arm_neon_ok } */
17752-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
17753+/* { dg-options "-save-temps -O0" } */
17754+/* { dg-add-options arm_neon } */
17755
17756 #include "arm_neon.h"
17757
17758
17759=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretQs64_p16.c'
17760--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretQs64_p16.c 2007-07-25 11:28:31 +0000
17761+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretQs64_p16.c 2010-07-29 15:38:15 +0000
17762@@ -3,7 +3,8 @@
17763
17764 /* { dg-do assemble } */
17765 /* { dg-require-effective-target arm_neon_ok } */
17766-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
17767+/* { dg-options "-save-temps -O0" } */
17768+/* { dg-add-options arm_neon } */
17769
17770 #include "arm_neon.h"
17771
17772
17773=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretQs64_p8.c'
17774--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretQs64_p8.c 2007-07-25 11:28:31 +0000
17775+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretQs64_p8.c 2010-07-29 15:38:15 +0000
17776@@ -3,7 +3,8 @@
17777
17778 /* { dg-do assemble } */
17779 /* { dg-require-effective-target arm_neon_ok } */
17780-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
17781+/* { dg-options "-save-temps -O0" } */
17782+/* { dg-add-options arm_neon } */
17783
17784 #include "arm_neon.h"
17785
17786
17787=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretQs64_s16.c'
17788--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretQs64_s16.c 2007-07-25 11:28:31 +0000
17789+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretQs64_s16.c 2010-07-29 15:38:15 +0000
17790@@ -3,7 +3,8 @@
17791
17792 /* { dg-do assemble } */
17793 /* { dg-require-effective-target arm_neon_ok } */
17794-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
17795+/* { dg-options "-save-temps -O0" } */
17796+/* { dg-add-options arm_neon } */
17797
17798 #include "arm_neon.h"
17799
17800
17801=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretQs64_s32.c'
17802--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretQs64_s32.c 2007-07-25 11:28:31 +0000
17803+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretQs64_s32.c 2010-07-29 15:38:15 +0000
17804@@ -3,7 +3,8 @@
17805
17806 /* { dg-do assemble } */
17807 /* { dg-require-effective-target arm_neon_ok } */
17808-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
17809+/* { dg-options "-save-temps -O0" } */
17810+/* { dg-add-options arm_neon } */
17811
17812 #include "arm_neon.h"
17813
17814
17815=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretQs64_s8.c'
17816--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretQs64_s8.c 2007-07-25 11:28:31 +0000
17817+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretQs64_s8.c 2010-07-29 15:38:15 +0000
17818@@ -3,7 +3,8 @@
17819
17820 /* { dg-do assemble } */
17821 /* { dg-require-effective-target arm_neon_ok } */
17822-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
17823+/* { dg-options "-save-temps -O0" } */
17824+/* { dg-add-options arm_neon } */
17825
17826 #include "arm_neon.h"
17827
17828
17829=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretQs64_u16.c'
17830--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretQs64_u16.c 2007-07-25 11:28:31 +0000
17831+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretQs64_u16.c 2010-07-29 15:38:15 +0000
17832@@ -3,7 +3,8 @@
17833
17834 /* { dg-do assemble } */
17835 /* { dg-require-effective-target arm_neon_ok } */
17836-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
17837+/* { dg-options "-save-temps -O0" } */
17838+/* { dg-add-options arm_neon } */
17839
17840 #include "arm_neon.h"
17841
17842
17843=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretQs64_u32.c'
17844--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretQs64_u32.c 2007-07-25 11:28:31 +0000
17845+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretQs64_u32.c 2010-07-29 15:38:15 +0000
17846@@ -3,7 +3,8 @@
17847
17848 /* { dg-do assemble } */
17849 /* { dg-require-effective-target arm_neon_ok } */
17850-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
17851+/* { dg-options "-save-temps -O0" } */
17852+/* { dg-add-options arm_neon } */
17853
17854 #include "arm_neon.h"
17855
17856
17857=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretQs64_u64.c'
17858--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretQs64_u64.c 2007-07-25 11:28:31 +0000
17859+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretQs64_u64.c 2010-07-29 15:38:15 +0000
17860@@ -3,7 +3,8 @@
17861
17862 /* { dg-do assemble } */
17863 /* { dg-require-effective-target arm_neon_ok } */
17864-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
17865+/* { dg-options "-save-temps -O0" } */
17866+/* { dg-add-options arm_neon } */
17867
17868 #include "arm_neon.h"
17869
17870
17871=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretQs64_u8.c'
17872--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretQs64_u8.c 2007-07-25 11:28:31 +0000
17873+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretQs64_u8.c 2010-07-29 15:38:15 +0000
17874@@ -3,7 +3,8 @@
17875
17876 /* { dg-do assemble } */
17877 /* { dg-require-effective-target arm_neon_ok } */
17878-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
17879+/* { dg-options "-save-temps -O0" } */
17880+/* { dg-add-options arm_neon } */
17881
17882 #include "arm_neon.h"
17883
17884
17885=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretQs8_f32.c'
17886--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretQs8_f32.c 2007-07-25 11:28:31 +0000
17887+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretQs8_f32.c 2010-07-29 15:38:15 +0000
17888@@ -3,7 +3,8 @@
17889
17890 /* { dg-do assemble } */
17891 /* { dg-require-effective-target arm_neon_ok } */
17892-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
17893+/* { dg-options "-save-temps -O0" } */
17894+/* { dg-add-options arm_neon } */
17895
17896 #include "arm_neon.h"
17897
17898
17899=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretQs8_p16.c'
17900--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretQs8_p16.c 2007-07-25 11:28:31 +0000
17901+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretQs8_p16.c 2010-07-29 15:38:15 +0000
17902@@ -3,7 +3,8 @@
17903
17904 /* { dg-do assemble } */
17905 /* { dg-require-effective-target arm_neon_ok } */
17906-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
17907+/* { dg-options "-save-temps -O0" } */
17908+/* { dg-add-options arm_neon } */
17909
17910 #include "arm_neon.h"
17911
17912
17913=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretQs8_p8.c'
17914--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretQs8_p8.c 2007-07-25 11:28:31 +0000
17915+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretQs8_p8.c 2010-07-29 15:38:15 +0000
17916@@ -3,7 +3,8 @@
17917
17918 /* { dg-do assemble } */
17919 /* { dg-require-effective-target arm_neon_ok } */
17920-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
17921+/* { dg-options "-save-temps -O0" } */
17922+/* { dg-add-options arm_neon } */
17923
17924 #include "arm_neon.h"
17925
17926
17927=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretQs8_s16.c'
17928--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretQs8_s16.c 2007-07-25 11:28:31 +0000
17929+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretQs8_s16.c 2010-07-29 15:38:15 +0000
17930@@ -3,7 +3,8 @@
17931
17932 /* { dg-do assemble } */
17933 /* { dg-require-effective-target arm_neon_ok } */
17934-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
17935+/* { dg-options "-save-temps -O0" } */
17936+/* { dg-add-options arm_neon } */
17937
17938 #include "arm_neon.h"
17939
17940
17941=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretQs8_s32.c'
17942--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretQs8_s32.c 2007-07-25 11:28:31 +0000
17943+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretQs8_s32.c 2010-07-29 15:38:15 +0000
17944@@ -3,7 +3,8 @@
17945
17946 /* { dg-do assemble } */
17947 /* { dg-require-effective-target arm_neon_ok } */
17948-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
17949+/* { dg-options "-save-temps -O0" } */
17950+/* { dg-add-options arm_neon } */
17951
17952 #include "arm_neon.h"
17953
17954
17955=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretQs8_s64.c'
17956--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretQs8_s64.c 2007-07-25 11:28:31 +0000
17957+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretQs8_s64.c 2010-07-29 15:38:15 +0000
17958@@ -3,7 +3,8 @@
17959
17960 /* { dg-do assemble } */
17961 /* { dg-require-effective-target arm_neon_ok } */
17962-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
17963+/* { dg-options "-save-temps -O0" } */
17964+/* { dg-add-options arm_neon } */
17965
17966 #include "arm_neon.h"
17967
17968
17969=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretQs8_u16.c'
17970--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretQs8_u16.c 2007-07-25 11:28:31 +0000
17971+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretQs8_u16.c 2010-07-29 15:38:15 +0000
17972@@ -3,7 +3,8 @@
17973
17974 /* { dg-do assemble } */
17975 /* { dg-require-effective-target arm_neon_ok } */
17976-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
17977+/* { dg-options "-save-temps -O0" } */
17978+/* { dg-add-options arm_neon } */
17979
17980 #include "arm_neon.h"
17981
17982
17983=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretQs8_u32.c'
17984--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretQs8_u32.c 2007-07-25 11:28:31 +0000
17985+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretQs8_u32.c 2010-07-29 15:38:15 +0000
17986@@ -3,7 +3,8 @@
17987
17988 /* { dg-do assemble } */
17989 /* { dg-require-effective-target arm_neon_ok } */
17990-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
17991+/* { dg-options "-save-temps -O0" } */
17992+/* { dg-add-options arm_neon } */
17993
17994 #include "arm_neon.h"
17995
17996
17997=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretQs8_u64.c'
17998--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretQs8_u64.c 2007-07-25 11:28:31 +0000
17999+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretQs8_u64.c 2010-07-29 15:38:15 +0000
18000@@ -3,7 +3,8 @@
18001
18002 /* { dg-do assemble } */
18003 /* { dg-require-effective-target arm_neon_ok } */
18004-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
18005+/* { dg-options "-save-temps -O0" } */
18006+/* { dg-add-options arm_neon } */
18007
18008 #include "arm_neon.h"
18009
18010
18011=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretQs8_u8.c'
18012--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretQs8_u8.c 2007-07-25 11:28:31 +0000
18013+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretQs8_u8.c 2010-07-29 15:38:15 +0000
18014@@ -3,7 +3,8 @@
18015
18016 /* { dg-do assemble } */
18017 /* { dg-require-effective-target arm_neon_ok } */
18018-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
18019+/* { dg-options "-save-temps -O0" } */
18020+/* { dg-add-options arm_neon } */
18021
18022 #include "arm_neon.h"
18023
18024
18025=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretQu16_f32.c'
18026--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretQu16_f32.c 2007-07-25 11:28:31 +0000
18027+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretQu16_f32.c 2010-07-29 15:38:15 +0000
18028@@ -3,7 +3,8 @@
18029
18030 /* { dg-do assemble } */
18031 /* { dg-require-effective-target arm_neon_ok } */
18032-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
18033+/* { dg-options "-save-temps -O0" } */
18034+/* { dg-add-options arm_neon } */
18035
18036 #include "arm_neon.h"
18037
18038
18039=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretQu16_p16.c'
18040--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretQu16_p16.c 2007-07-25 11:28:31 +0000
18041+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretQu16_p16.c 2010-07-29 15:38:15 +0000
18042@@ -3,7 +3,8 @@
18043
18044 /* { dg-do assemble } */
18045 /* { dg-require-effective-target arm_neon_ok } */
18046-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
18047+/* { dg-options "-save-temps -O0" } */
18048+/* { dg-add-options arm_neon } */
18049
18050 #include "arm_neon.h"
18051
18052
18053=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretQu16_p8.c'
18054--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretQu16_p8.c 2007-07-25 11:28:31 +0000
18055+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretQu16_p8.c 2010-07-29 15:38:15 +0000
18056@@ -3,7 +3,8 @@
18057
18058 /* { dg-do assemble } */
18059 /* { dg-require-effective-target arm_neon_ok } */
18060-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
18061+/* { dg-options "-save-temps -O0" } */
18062+/* { dg-add-options arm_neon } */
18063
18064 #include "arm_neon.h"
18065
18066
18067=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretQu16_s16.c'
18068--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretQu16_s16.c 2007-07-25 11:28:31 +0000
18069+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretQu16_s16.c 2010-07-29 15:38:15 +0000
18070@@ -3,7 +3,8 @@
18071
18072 /* { dg-do assemble } */
18073 /* { dg-require-effective-target arm_neon_ok } */
18074-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
18075+/* { dg-options "-save-temps -O0" } */
18076+/* { dg-add-options arm_neon } */
18077
18078 #include "arm_neon.h"
18079
18080
18081=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretQu16_s32.c'
18082--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretQu16_s32.c 2007-07-25 11:28:31 +0000
18083+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretQu16_s32.c 2010-07-29 15:38:15 +0000
18084@@ -3,7 +3,8 @@
18085
18086 /* { dg-do assemble } */
18087 /* { dg-require-effective-target arm_neon_ok } */
18088-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
18089+/* { dg-options "-save-temps -O0" } */
18090+/* { dg-add-options arm_neon } */
18091
18092 #include "arm_neon.h"
18093
18094
18095=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretQu16_s64.c'
18096--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretQu16_s64.c 2007-07-25 11:28:31 +0000
18097+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretQu16_s64.c 2010-07-29 15:38:15 +0000
18098@@ -3,7 +3,8 @@
18099
18100 /* { dg-do assemble } */
18101 /* { dg-require-effective-target arm_neon_ok } */
18102-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
18103+/* { dg-options "-save-temps -O0" } */
18104+/* { dg-add-options arm_neon } */
18105
18106 #include "arm_neon.h"
18107
18108
18109=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretQu16_s8.c'
18110--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretQu16_s8.c 2007-07-25 11:28:31 +0000
18111+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretQu16_s8.c 2010-07-29 15:38:15 +0000
18112@@ -3,7 +3,8 @@
18113
18114 /* { dg-do assemble } */
18115 /* { dg-require-effective-target arm_neon_ok } */
18116-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
18117+/* { dg-options "-save-temps -O0" } */
18118+/* { dg-add-options arm_neon } */
18119
18120 #include "arm_neon.h"
18121
18122
18123=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretQu16_u32.c'
18124--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretQu16_u32.c 2007-07-25 11:28:31 +0000
18125+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretQu16_u32.c 2010-07-29 15:38:15 +0000
18126@@ -3,7 +3,8 @@
18127
18128 /* { dg-do assemble } */
18129 /* { dg-require-effective-target arm_neon_ok } */
18130-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
18131+/* { dg-options "-save-temps -O0" } */
18132+/* { dg-add-options arm_neon } */
18133
18134 #include "arm_neon.h"
18135
18136
18137=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretQu16_u64.c'
18138--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretQu16_u64.c 2007-07-25 11:28:31 +0000
18139+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretQu16_u64.c 2010-07-29 15:38:15 +0000
18140@@ -3,7 +3,8 @@
18141
18142 /* { dg-do assemble } */
18143 /* { dg-require-effective-target arm_neon_ok } */
18144-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
18145+/* { dg-options "-save-temps -O0" } */
18146+/* { dg-add-options arm_neon } */
18147
18148 #include "arm_neon.h"
18149
18150
18151=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretQu16_u8.c'
18152--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretQu16_u8.c 2007-07-25 11:28:31 +0000
18153+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretQu16_u8.c 2010-07-29 15:38:15 +0000
18154@@ -3,7 +3,8 @@
18155
18156 /* { dg-do assemble } */
18157 /* { dg-require-effective-target arm_neon_ok } */
18158-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
18159+/* { dg-options "-save-temps -O0" } */
18160+/* { dg-add-options arm_neon } */
18161
18162 #include "arm_neon.h"
18163
18164
18165=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretQu32_f32.c'
18166--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretQu32_f32.c 2007-07-25 11:28:31 +0000
18167+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretQu32_f32.c 2010-07-29 15:38:15 +0000
18168@@ -3,7 +3,8 @@
18169
18170 /* { dg-do assemble } */
18171 /* { dg-require-effective-target arm_neon_ok } */
18172-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
18173+/* { dg-options "-save-temps -O0" } */
18174+/* { dg-add-options arm_neon } */
18175
18176 #include "arm_neon.h"
18177
18178
18179=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretQu32_p16.c'
18180--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretQu32_p16.c 2007-07-25 11:28:31 +0000
18181+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretQu32_p16.c 2010-07-29 15:38:15 +0000
18182@@ -3,7 +3,8 @@
18183
18184 /* { dg-do assemble } */
18185 /* { dg-require-effective-target arm_neon_ok } */
18186-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
18187+/* { dg-options "-save-temps -O0" } */
18188+/* { dg-add-options arm_neon } */
18189
18190 #include "arm_neon.h"
18191
18192
18193=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretQu32_p8.c'
18194--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretQu32_p8.c 2007-07-25 11:28:31 +0000
18195+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretQu32_p8.c 2010-07-29 15:38:15 +0000
18196@@ -3,7 +3,8 @@
18197
18198 /* { dg-do assemble } */
18199 /* { dg-require-effective-target arm_neon_ok } */
18200-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
18201+/* { dg-options "-save-temps -O0" } */
18202+/* { dg-add-options arm_neon } */
18203
18204 #include "arm_neon.h"
18205
18206
18207=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretQu32_s16.c'
18208--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretQu32_s16.c 2007-07-25 11:28:31 +0000
18209+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretQu32_s16.c 2010-07-29 15:38:15 +0000
18210@@ -3,7 +3,8 @@
18211
18212 /* { dg-do assemble } */
18213 /* { dg-require-effective-target arm_neon_ok } */
18214-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
18215+/* { dg-options "-save-temps -O0" } */
18216+/* { dg-add-options arm_neon } */
18217
18218 #include "arm_neon.h"
18219
18220
18221=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretQu32_s32.c'
18222--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretQu32_s32.c 2007-07-25 11:28:31 +0000
18223+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretQu32_s32.c 2010-07-29 15:38:15 +0000
18224@@ -3,7 +3,8 @@
18225
18226 /* { dg-do assemble } */
18227 /* { dg-require-effective-target arm_neon_ok } */
18228-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
18229+/* { dg-options "-save-temps -O0" } */
18230+/* { dg-add-options arm_neon } */
18231
18232 #include "arm_neon.h"
18233
18234
18235=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretQu32_s64.c'
18236--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretQu32_s64.c 2007-07-25 11:28:31 +0000
18237+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretQu32_s64.c 2010-07-29 15:38:15 +0000
18238@@ -3,7 +3,8 @@
18239
18240 /* { dg-do assemble } */
18241 /* { dg-require-effective-target arm_neon_ok } */
18242-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
18243+/* { dg-options "-save-temps -O0" } */
18244+/* { dg-add-options arm_neon } */
18245
18246 #include "arm_neon.h"
18247
18248
18249=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretQu32_s8.c'
18250--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretQu32_s8.c 2007-07-25 11:28:31 +0000
18251+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretQu32_s8.c 2010-07-29 15:38:15 +0000
18252@@ -3,7 +3,8 @@
18253
18254 /* { dg-do assemble } */
18255 /* { dg-require-effective-target arm_neon_ok } */
18256-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
18257+/* { dg-options "-save-temps -O0" } */
18258+/* { dg-add-options arm_neon } */
18259
18260 #include "arm_neon.h"
18261
18262
18263=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretQu32_u16.c'
18264--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretQu32_u16.c 2007-07-25 11:28:31 +0000
18265+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretQu32_u16.c 2010-07-29 15:38:15 +0000
18266@@ -3,7 +3,8 @@
18267
18268 /* { dg-do assemble } */
18269 /* { dg-require-effective-target arm_neon_ok } */
18270-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
18271+/* { dg-options "-save-temps -O0" } */
18272+/* { dg-add-options arm_neon } */
18273
18274 #include "arm_neon.h"
18275
18276
18277=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretQu32_u64.c'
18278--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretQu32_u64.c 2007-07-25 11:28:31 +0000
18279+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretQu32_u64.c 2010-07-29 15:38:15 +0000
18280@@ -3,7 +3,8 @@
18281
18282 /* { dg-do assemble } */
18283 /* { dg-require-effective-target arm_neon_ok } */
18284-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
18285+/* { dg-options "-save-temps -O0" } */
18286+/* { dg-add-options arm_neon } */
18287
18288 #include "arm_neon.h"
18289
18290
18291=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretQu32_u8.c'
18292--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretQu32_u8.c 2007-07-25 11:28:31 +0000
18293+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretQu32_u8.c 2010-07-29 15:38:15 +0000
18294@@ -3,7 +3,8 @@
18295
18296 /* { dg-do assemble } */
18297 /* { dg-require-effective-target arm_neon_ok } */
18298-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
18299+/* { dg-options "-save-temps -O0" } */
18300+/* { dg-add-options arm_neon } */
18301
18302 #include "arm_neon.h"
18303
18304
18305=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretQu64_f32.c'
18306--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretQu64_f32.c 2007-07-25 11:28:31 +0000
18307+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretQu64_f32.c 2010-07-29 15:38:15 +0000
18308@@ -3,7 +3,8 @@
18309
18310 /* { dg-do assemble } */
18311 /* { dg-require-effective-target arm_neon_ok } */
18312-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
18313+/* { dg-options "-save-temps -O0" } */
18314+/* { dg-add-options arm_neon } */
18315
18316 #include "arm_neon.h"
18317
18318
18319=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretQu64_p16.c'
18320--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretQu64_p16.c 2007-07-25 11:28:31 +0000
18321+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretQu64_p16.c 2010-07-29 15:38:15 +0000
18322@@ -3,7 +3,8 @@
18323
18324 /* { dg-do assemble } */
18325 /* { dg-require-effective-target arm_neon_ok } */
18326-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
18327+/* { dg-options "-save-temps -O0" } */
18328+/* { dg-add-options arm_neon } */
18329
18330 #include "arm_neon.h"
18331
18332
18333=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretQu64_p8.c'
18334--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretQu64_p8.c 2007-07-25 11:28:31 +0000
18335+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretQu64_p8.c 2010-07-29 15:38:15 +0000
18336@@ -3,7 +3,8 @@
18337
18338 /* { dg-do assemble } */
18339 /* { dg-require-effective-target arm_neon_ok } */
18340-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
18341+/* { dg-options "-save-temps -O0" } */
18342+/* { dg-add-options arm_neon } */
18343
18344 #include "arm_neon.h"
18345
18346
18347=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretQu64_s16.c'
18348--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretQu64_s16.c 2007-07-25 11:28:31 +0000
18349+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretQu64_s16.c 2010-07-29 15:38:15 +0000
18350@@ -3,7 +3,8 @@
18351
18352 /* { dg-do assemble } */
18353 /* { dg-require-effective-target arm_neon_ok } */
18354-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
18355+/* { dg-options "-save-temps -O0" } */
18356+/* { dg-add-options arm_neon } */
18357
18358 #include "arm_neon.h"
18359
18360
18361=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretQu64_s32.c'
18362--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretQu64_s32.c 2007-07-25 11:28:31 +0000
18363+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretQu64_s32.c 2010-07-29 15:38:15 +0000
18364@@ -3,7 +3,8 @@
18365
18366 /* { dg-do assemble } */
18367 /* { dg-require-effective-target arm_neon_ok } */
18368-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
18369+/* { dg-options "-save-temps -O0" } */
18370+/* { dg-add-options arm_neon } */
18371
18372 #include "arm_neon.h"
18373
18374
18375=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretQu64_s64.c'
18376--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretQu64_s64.c 2007-07-25 11:28:31 +0000
18377+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretQu64_s64.c 2010-07-29 15:38:15 +0000
18378@@ -3,7 +3,8 @@
18379
18380 /* { dg-do assemble } */
18381 /* { dg-require-effective-target arm_neon_ok } */
18382-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
18383+/* { dg-options "-save-temps -O0" } */
18384+/* { dg-add-options arm_neon } */
18385
18386 #include "arm_neon.h"
18387
18388
18389=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretQu64_s8.c'
18390--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretQu64_s8.c 2007-07-25 11:28:31 +0000
18391+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretQu64_s8.c 2010-07-29 15:38:15 +0000
18392@@ -3,7 +3,8 @@
18393
18394 /* { dg-do assemble } */
18395 /* { dg-require-effective-target arm_neon_ok } */
18396-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
18397+/* { dg-options "-save-temps -O0" } */
18398+/* { dg-add-options arm_neon } */
18399
18400 #include "arm_neon.h"
18401
18402
18403=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretQu64_u16.c'
18404--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretQu64_u16.c 2007-07-25 11:28:31 +0000
18405+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretQu64_u16.c 2010-07-29 15:38:15 +0000
18406@@ -3,7 +3,8 @@
18407
18408 /* { dg-do assemble } */
18409 /* { dg-require-effective-target arm_neon_ok } */
18410-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
18411+/* { dg-options "-save-temps -O0" } */
18412+/* { dg-add-options arm_neon } */
18413
18414 #include "arm_neon.h"
18415
18416
18417=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretQu64_u32.c'
18418--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretQu64_u32.c 2007-07-25 11:28:31 +0000
18419+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretQu64_u32.c 2010-07-29 15:38:15 +0000
18420@@ -3,7 +3,8 @@
18421
18422 /* { dg-do assemble } */
18423 /* { dg-require-effective-target arm_neon_ok } */
18424-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
18425+/* { dg-options "-save-temps -O0" } */
18426+/* { dg-add-options arm_neon } */
18427
18428 #include "arm_neon.h"
18429
18430
18431=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretQu64_u8.c'
18432--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretQu64_u8.c 2007-07-25 11:28:31 +0000
18433+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretQu64_u8.c 2010-07-29 15:38:15 +0000
18434@@ -3,7 +3,8 @@
18435
18436 /* { dg-do assemble } */
18437 /* { dg-require-effective-target arm_neon_ok } */
18438-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
18439+/* { dg-options "-save-temps -O0" } */
18440+/* { dg-add-options arm_neon } */
18441
18442 #include "arm_neon.h"
18443
18444
18445=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretQu8_f32.c'
18446--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretQu8_f32.c 2007-07-25 11:28:31 +0000
18447+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretQu8_f32.c 2010-07-29 15:38:15 +0000
18448@@ -3,7 +3,8 @@
18449
18450 /* { dg-do assemble } */
18451 /* { dg-require-effective-target arm_neon_ok } */
18452-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
18453+/* { dg-options "-save-temps -O0" } */
18454+/* { dg-add-options arm_neon } */
18455
18456 #include "arm_neon.h"
18457
18458
18459=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretQu8_p16.c'
18460--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretQu8_p16.c 2007-07-25 11:28:31 +0000
18461+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretQu8_p16.c 2010-07-29 15:38:15 +0000
18462@@ -3,7 +3,8 @@
18463
18464 /* { dg-do assemble } */
18465 /* { dg-require-effective-target arm_neon_ok } */
18466-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
18467+/* { dg-options "-save-temps -O0" } */
18468+/* { dg-add-options arm_neon } */
18469
18470 #include "arm_neon.h"
18471
18472
18473=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretQu8_p8.c'
18474--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretQu8_p8.c 2007-07-25 11:28:31 +0000
18475+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretQu8_p8.c 2010-07-29 15:38:15 +0000
18476@@ -3,7 +3,8 @@
18477
18478 /* { dg-do assemble } */
18479 /* { dg-require-effective-target arm_neon_ok } */
18480-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
18481+/* { dg-options "-save-temps -O0" } */
18482+/* { dg-add-options arm_neon } */
18483
18484 #include "arm_neon.h"
18485
18486
18487=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretQu8_s16.c'
18488--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretQu8_s16.c 2007-07-25 11:28:31 +0000
18489+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretQu8_s16.c 2010-07-29 15:38:15 +0000
18490@@ -3,7 +3,8 @@
18491
18492 /* { dg-do assemble } */
18493 /* { dg-require-effective-target arm_neon_ok } */
18494-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
18495+/* { dg-options "-save-temps -O0" } */
18496+/* { dg-add-options arm_neon } */
18497
18498 #include "arm_neon.h"
18499
18500
18501=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretQu8_s32.c'
18502--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretQu8_s32.c 2007-07-25 11:28:31 +0000
18503+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretQu8_s32.c 2010-07-29 15:38:15 +0000
18504@@ -3,7 +3,8 @@
18505
18506 /* { dg-do assemble } */
18507 /* { dg-require-effective-target arm_neon_ok } */
18508-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
18509+/* { dg-options "-save-temps -O0" } */
18510+/* { dg-add-options arm_neon } */
18511
18512 #include "arm_neon.h"
18513
18514
18515=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretQu8_s64.c'
18516--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretQu8_s64.c 2007-07-25 11:28:31 +0000
18517+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretQu8_s64.c 2010-07-29 15:38:15 +0000
18518@@ -3,7 +3,8 @@
18519
18520 /* { dg-do assemble } */
18521 /* { dg-require-effective-target arm_neon_ok } */
18522-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
18523+/* { dg-options "-save-temps -O0" } */
18524+/* { dg-add-options arm_neon } */
18525
18526 #include "arm_neon.h"
18527
18528
18529=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretQu8_s8.c'
18530--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretQu8_s8.c 2007-07-25 11:28:31 +0000
18531+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretQu8_s8.c 2010-07-29 15:38:15 +0000
18532@@ -3,7 +3,8 @@
18533
18534 /* { dg-do assemble } */
18535 /* { dg-require-effective-target arm_neon_ok } */
18536-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
18537+/* { dg-options "-save-temps -O0" } */
18538+/* { dg-add-options arm_neon } */
18539
18540 #include "arm_neon.h"
18541
18542
18543=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretQu8_u16.c'
18544--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretQu8_u16.c 2007-07-25 11:28:31 +0000
18545+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretQu8_u16.c 2010-07-29 15:38:15 +0000
18546@@ -3,7 +3,8 @@
18547
18548 /* { dg-do assemble } */
18549 /* { dg-require-effective-target arm_neon_ok } */
18550-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
18551+/* { dg-options "-save-temps -O0" } */
18552+/* { dg-add-options arm_neon } */
18553
18554 #include "arm_neon.h"
18555
18556
18557=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretQu8_u32.c'
18558--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretQu8_u32.c 2007-07-25 11:28:31 +0000
18559+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretQu8_u32.c 2010-07-29 15:38:15 +0000
18560@@ -3,7 +3,8 @@
18561
18562 /* { dg-do assemble } */
18563 /* { dg-require-effective-target arm_neon_ok } */
18564-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
18565+/* { dg-options "-save-temps -O0" } */
18566+/* { dg-add-options arm_neon } */
18567
18568 #include "arm_neon.h"
18569
18570
18571=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretQu8_u64.c'
18572--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretQu8_u64.c 2007-07-25 11:28:31 +0000
18573+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretQu8_u64.c 2010-07-29 15:38:15 +0000
18574@@ -3,7 +3,8 @@
18575
18576 /* { dg-do assemble } */
18577 /* { dg-require-effective-target arm_neon_ok } */
18578-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
18579+/* { dg-options "-save-temps -O0" } */
18580+/* { dg-add-options arm_neon } */
18581
18582 #include "arm_neon.h"
18583
18584
18585=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretf32_p16.c'
18586--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretf32_p16.c 2007-07-25 11:28:31 +0000
18587+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretf32_p16.c 2010-07-29 15:38:15 +0000
18588@@ -3,7 +3,8 @@
18589
18590 /* { dg-do assemble } */
18591 /* { dg-require-effective-target arm_neon_ok } */
18592-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
18593+/* { dg-options "-save-temps -O0" } */
18594+/* { dg-add-options arm_neon } */
18595
18596 #include "arm_neon.h"
18597
18598
18599=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretf32_p8.c'
18600--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretf32_p8.c 2007-07-25 11:28:31 +0000
18601+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretf32_p8.c 2010-07-29 15:38:15 +0000
18602@@ -3,7 +3,8 @@
18603
18604 /* { dg-do assemble } */
18605 /* { dg-require-effective-target arm_neon_ok } */
18606-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
18607+/* { dg-options "-save-temps -O0" } */
18608+/* { dg-add-options arm_neon } */
18609
18610 #include "arm_neon.h"
18611
18612
18613=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretf32_s16.c'
18614--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretf32_s16.c 2007-07-25 11:28:31 +0000
18615+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretf32_s16.c 2010-07-29 15:38:15 +0000
18616@@ -3,7 +3,8 @@
18617
18618 /* { dg-do assemble } */
18619 /* { dg-require-effective-target arm_neon_ok } */
18620-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
18621+/* { dg-options "-save-temps -O0" } */
18622+/* { dg-add-options arm_neon } */
18623
18624 #include "arm_neon.h"
18625
18626
18627=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretf32_s32.c'
18628--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretf32_s32.c 2007-07-25 11:28:31 +0000
18629+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretf32_s32.c 2010-07-29 15:38:15 +0000
18630@@ -3,7 +3,8 @@
18631
18632 /* { dg-do assemble } */
18633 /* { dg-require-effective-target arm_neon_ok } */
18634-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
18635+/* { dg-options "-save-temps -O0" } */
18636+/* { dg-add-options arm_neon } */
18637
18638 #include "arm_neon.h"
18639
18640
18641=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretf32_s64.c'
18642--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretf32_s64.c 2007-07-25 11:28:31 +0000
18643+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretf32_s64.c 2010-07-29 15:38:15 +0000
18644@@ -3,7 +3,8 @@
18645
18646 /* { dg-do assemble } */
18647 /* { dg-require-effective-target arm_neon_ok } */
18648-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
18649+/* { dg-options "-save-temps -O0" } */
18650+/* { dg-add-options arm_neon } */
18651
18652 #include "arm_neon.h"
18653
18654
18655=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretf32_s8.c'
18656--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretf32_s8.c 2007-07-25 11:28:31 +0000
18657+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretf32_s8.c 2010-07-29 15:38:15 +0000
18658@@ -3,7 +3,8 @@
18659
18660 /* { dg-do assemble } */
18661 /* { dg-require-effective-target arm_neon_ok } */
18662-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
18663+/* { dg-options "-save-temps -O0" } */
18664+/* { dg-add-options arm_neon } */
18665
18666 #include "arm_neon.h"
18667
18668
18669=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretf32_u16.c'
18670--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretf32_u16.c 2007-07-25 11:28:31 +0000
18671+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretf32_u16.c 2010-07-29 15:38:15 +0000
18672@@ -3,7 +3,8 @@
18673
18674 /* { dg-do assemble } */
18675 /* { dg-require-effective-target arm_neon_ok } */
18676-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
18677+/* { dg-options "-save-temps -O0" } */
18678+/* { dg-add-options arm_neon } */
18679
18680 #include "arm_neon.h"
18681
18682
18683=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretf32_u32.c'
18684--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretf32_u32.c 2007-07-25 11:28:31 +0000
18685+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretf32_u32.c 2010-07-29 15:38:15 +0000
18686@@ -3,7 +3,8 @@
18687
18688 /* { dg-do assemble } */
18689 /* { dg-require-effective-target arm_neon_ok } */
18690-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
18691+/* { dg-options "-save-temps -O0" } */
18692+/* { dg-add-options arm_neon } */
18693
18694 #include "arm_neon.h"
18695
18696
18697=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretf32_u64.c'
18698--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretf32_u64.c 2007-07-25 11:28:31 +0000
18699+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretf32_u64.c 2010-07-29 15:38:15 +0000
18700@@ -3,7 +3,8 @@
18701
18702 /* { dg-do assemble } */
18703 /* { dg-require-effective-target arm_neon_ok } */
18704-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
18705+/* { dg-options "-save-temps -O0" } */
18706+/* { dg-add-options arm_neon } */
18707
18708 #include "arm_neon.h"
18709
18710
18711=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretf32_u8.c'
18712--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretf32_u8.c 2007-07-25 11:28:31 +0000
18713+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretf32_u8.c 2010-07-29 15:38:15 +0000
18714@@ -3,7 +3,8 @@
18715
18716 /* { dg-do assemble } */
18717 /* { dg-require-effective-target arm_neon_ok } */
18718-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
18719+/* { dg-options "-save-temps -O0" } */
18720+/* { dg-add-options arm_neon } */
18721
18722 #include "arm_neon.h"
18723
18724
18725=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretp16_f32.c'
18726--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretp16_f32.c 2007-07-25 11:28:31 +0000
18727+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretp16_f32.c 2010-07-29 15:38:15 +0000
18728@@ -3,7 +3,8 @@
18729
18730 /* { dg-do assemble } */
18731 /* { dg-require-effective-target arm_neon_ok } */
18732-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
18733+/* { dg-options "-save-temps -O0" } */
18734+/* { dg-add-options arm_neon } */
18735
18736 #include "arm_neon.h"
18737
18738
18739=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretp16_p8.c'
18740--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretp16_p8.c 2007-07-25 11:28:31 +0000
18741+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretp16_p8.c 2010-07-29 15:38:15 +0000
18742@@ -3,7 +3,8 @@
18743
18744 /* { dg-do assemble } */
18745 /* { dg-require-effective-target arm_neon_ok } */
18746-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
18747+/* { dg-options "-save-temps -O0" } */
18748+/* { dg-add-options arm_neon } */
18749
18750 #include "arm_neon.h"
18751
18752
18753=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretp16_s16.c'
18754--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretp16_s16.c 2007-07-25 11:28:31 +0000
18755+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretp16_s16.c 2010-07-29 15:38:15 +0000
18756@@ -3,7 +3,8 @@
18757
18758 /* { dg-do assemble } */
18759 /* { dg-require-effective-target arm_neon_ok } */
18760-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
18761+/* { dg-options "-save-temps -O0" } */
18762+/* { dg-add-options arm_neon } */
18763
18764 #include "arm_neon.h"
18765
18766
18767=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretp16_s32.c'
18768--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretp16_s32.c 2007-07-25 11:28:31 +0000
18769+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretp16_s32.c 2010-07-29 15:38:15 +0000
18770@@ -3,7 +3,8 @@
18771
18772 /* { dg-do assemble } */
18773 /* { dg-require-effective-target arm_neon_ok } */
18774-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
18775+/* { dg-options "-save-temps -O0" } */
18776+/* { dg-add-options arm_neon } */
18777
18778 #include "arm_neon.h"
18779
18780
18781=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretp16_s64.c'
18782--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretp16_s64.c 2007-07-25 11:28:31 +0000
18783+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretp16_s64.c 2010-07-29 15:38:15 +0000
18784@@ -3,7 +3,8 @@
18785
18786 /* { dg-do assemble } */
18787 /* { dg-require-effective-target arm_neon_ok } */
18788-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
18789+/* { dg-options "-save-temps -O0" } */
18790+/* { dg-add-options arm_neon } */
18791
18792 #include "arm_neon.h"
18793
18794
18795=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretp16_s8.c'
18796--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretp16_s8.c 2007-07-25 11:28:31 +0000
18797+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretp16_s8.c 2010-07-29 15:38:15 +0000
18798@@ -3,7 +3,8 @@
18799
18800 /* { dg-do assemble } */
18801 /* { dg-require-effective-target arm_neon_ok } */
18802-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
18803+/* { dg-options "-save-temps -O0" } */
18804+/* { dg-add-options arm_neon } */
18805
18806 #include "arm_neon.h"
18807
18808
18809=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretp16_u16.c'
18810--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretp16_u16.c 2007-07-25 11:28:31 +0000
18811+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretp16_u16.c 2010-07-29 15:38:15 +0000
18812@@ -3,7 +3,8 @@
18813
18814 /* { dg-do assemble } */
18815 /* { dg-require-effective-target arm_neon_ok } */
18816-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
18817+/* { dg-options "-save-temps -O0" } */
18818+/* { dg-add-options arm_neon } */
18819
18820 #include "arm_neon.h"
18821
18822
18823=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretp16_u32.c'
18824--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretp16_u32.c 2007-07-25 11:28:31 +0000
18825+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretp16_u32.c 2010-07-29 15:38:15 +0000
18826@@ -3,7 +3,8 @@
18827
18828 /* { dg-do assemble } */
18829 /* { dg-require-effective-target arm_neon_ok } */
18830-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
18831+/* { dg-options "-save-temps -O0" } */
18832+/* { dg-add-options arm_neon } */
18833
18834 #include "arm_neon.h"
18835
18836
18837=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretp16_u64.c'
18838--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretp16_u64.c 2007-07-25 11:28:31 +0000
18839+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretp16_u64.c 2010-07-29 15:38:15 +0000
18840@@ -3,7 +3,8 @@
18841
18842 /* { dg-do assemble } */
18843 /* { dg-require-effective-target arm_neon_ok } */
18844-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
18845+/* { dg-options "-save-temps -O0" } */
18846+/* { dg-add-options arm_neon } */
18847
18848 #include "arm_neon.h"
18849
18850
18851=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretp16_u8.c'
18852--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretp16_u8.c 2007-07-25 11:28:31 +0000
18853+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretp16_u8.c 2010-07-29 15:38:15 +0000
18854@@ -3,7 +3,8 @@
18855
18856 /* { dg-do assemble } */
18857 /* { dg-require-effective-target arm_neon_ok } */
18858-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
18859+/* { dg-options "-save-temps -O0" } */
18860+/* { dg-add-options arm_neon } */
18861
18862 #include "arm_neon.h"
18863
18864
18865=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretp8_f32.c'
18866--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretp8_f32.c 2007-07-25 11:28:31 +0000
18867+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretp8_f32.c 2010-07-29 15:38:15 +0000
18868@@ -3,7 +3,8 @@
18869
18870 /* { dg-do assemble } */
18871 /* { dg-require-effective-target arm_neon_ok } */
18872-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
18873+/* { dg-options "-save-temps -O0" } */
18874+/* { dg-add-options arm_neon } */
18875
18876 #include "arm_neon.h"
18877
18878
18879=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretp8_p16.c'
18880--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretp8_p16.c 2007-07-25 11:28:31 +0000
18881+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretp8_p16.c 2010-07-29 15:38:15 +0000
18882@@ -3,7 +3,8 @@
18883
18884 /* { dg-do assemble } */
18885 /* { dg-require-effective-target arm_neon_ok } */
18886-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
18887+/* { dg-options "-save-temps -O0" } */
18888+/* { dg-add-options arm_neon } */
18889
18890 #include "arm_neon.h"
18891
18892
18893=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretp8_s16.c'
18894--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretp8_s16.c 2007-07-25 11:28:31 +0000
18895+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretp8_s16.c 2010-07-29 15:38:15 +0000
18896@@ -3,7 +3,8 @@
18897
18898 /* { dg-do assemble } */
18899 /* { dg-require-effective-target arm_neon_ok } */
18900-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
18901+/* { dg-options "-save-temps -O0" } */
18902+/* { dg-add-options arm_neon } */
18903
18904 #include "arm_neon.h"
18905
18906
18907=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretp8_s32.c'
18908--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretp8_s32.c 2007-07-25 11:28:31 +0000
18909+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretp8_s32.c 2010-07-29 15:38:15 +0000
18910@@ -3,7 +3,8 @@
18911
18912 /* { dg-do assemble } */
18913 /* { dg-require-effective-target arm_neon_ok } */
18914-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
18915+/* { dg-options "-save-temps -O0" } */
18916+/* { dg-add-options arm_neon } */
18917
18918 #include "arm_neon.h"
18919
18920
18921=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretp8_s64.c'
18922--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretp8_s64.c 2007-07-25 11:28:31 +0000
18923+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretp8_s64.c 2010-07-29 15:38:15 +0000
18924@@ -3,7 +3,8 @@
18925
18926 /* { dg-do assemble } */
18927 /* { dg-require-effective-target arm_neon_ok } */
18928-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
18929+/* { dg-options "-save-temps -O0" } */
18930+/* { dg-add-options arm_neon } */
18931
18932 #include "arm_neon.h"
18933
18934
18935=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretp8_s8.c'
18936--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretp8_s8.c 2007-07-25 11:28:31 +0000
18937+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretp8_s8.c 2010-07-29 15:38:15 +0000
18938@@ -3,7 +3,8 @@
18939
18940 /* { dg-do assemble } */
18941 /* { dg-require-effective-target arm_neon_ok } */
18942-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
18943+/* { dg-options "-save-temps -O0" } */
18944+/* { dg-add-options arm_neon } */
18945
18946 #include "arm_neon.h"
18947
18948
18949=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretp8_u16.c'
18950--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretp8_u16.c 2007-07-25 11:28:31 +0000
18951+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretp8_u16.c 2010-07-29 15:38:15 +0000
18952@@ -3,7 +3,8 @@
18953
18954 /* { dg-do assemble } */
18955 /* { dg-require-effective-target arm_neon_ok } */
18956-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
18957+/* { dg-options "-save-temps -O0" } */
18958+/* { dg-add-options arm_neon } */
18959
18960 #include "arm_neon.h"
18961
18962
18963=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretp8_u32.c'
18964--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretp8_u32.c 2007-07-25 11:28:31 +0000
18965+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretp8_u32.c 2010-07-29 15:38:15 +0000
18966@@ -3,7 +3,8 @@
18967
18968 /* { dg-do assemble } */
18969 /* { dg-require-effective-target arm_neon_ok } */
18970-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
18971+/* { dg-options "-save-temps -O0" } */
18972+/* { dg-add-options arm_neon } */
18973
18974 #include "arm_neon.h"
18975
18976
18977=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretp8_u64.c'
18978--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretp8_u64.c 2007-07-25 11:28:31 +0000
18979+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretp8_u64.c 2010-07-29 15:38:15 +0000
18980@@ -3,7 +3,8 @@
18981
18982 /* { dg-do assemble } */
18983 /* { dg-require-effective-target arm_neon_ok } */
18984-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
18985+/* { dg-options "-save-temps -O0" } */
18986+/* { dg-add-options arm_neon } */
18987
18988 #include "arm_neon.h"
18989
18990
18991=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretp8_u8.c'
18992--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretp8_u8.c 2007-07-25 11:28:31 +0000
18993+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretp8_u8.c 2010-07-29 15:38:15 +0000
18994@@ -3,7 +3,8 @@
18995
18996 /* { dg-do assemble } */
18997 /* { dg-require-effective-target arm_neon_ok } */
18998-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
18999+/* { dg-options "-save-temps -O0" } */
19000+/* { dg-add-options arm_neon } */
19001
19002 #include "arm_neon.h"
19003
19004
19005=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterprets16_f32.c'
19006--- old/gcc/testsuite/gcc.target/arm/neon/vreinterprets16_f32.c 2007-07-25 11:28:31 +0000
19007+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterprets16_f32.c 2010-07-29 15:38:15 +0000
19008@@ -3,7 +3,8 @@
19009
19010 /* { dg-do assemble } */
19011 /* { dg-require-effective-target arm_neon_ok } */
19012-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
19013+/* { dg-options "-save-temps -O0" } */
19014+/* { dg-add-options arm_neon } */
19015
19016 #include "arm_neon.h"
19017
19018
19019=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterprets16_p16.c'
19020--- old/gcc/testsuite/gcc.target/arm/neon/vreinterprets16_p16.c 2007-07-25 11:28:31 +0000
19021+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterprets16_p16.c 2010-07-29 15:38:15 +0000
19022@@ -3,7 +3,8 @@
19023
19024 /* { dg-do assemble } */
19025 /* { dg-require-effective-target arm_neon_ok } */
19026-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
19027+/* { dg-options "-save-temps -O0" } */
19028+/* { dg-add-options arm_neon } */
19029
19030 #include "arm_neon.h"
19031
19032
19033=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterprets16_p8.c'
19034--- old/gcc/testsuite/gcc.target/arm/neon/vreinterprets16_p8.c 2007-07-25 11:28:31 +0000
19035+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterprets16_p8.c 2010-07-29 15:38:15 +0000
19036@@ -3,7 +3,8 @@
19037
19038 /* { dg-do assemble } */
19039 /* { dg-require-effective-target arm_neon_ok } */
19040-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
19041+/* { dg-options "-save-temps -O0" } */
19042+/* { dg-add-options arm_neon } */
19043
19044 #include "arm_neon.h"
19045
19046
19047=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterprets16_s32.c'
19048--- old/gcc/testsuite/gcc.target/arm/neon/vreinterprets16_s32.c 2007-07-25 11:28:31 +0000
19049+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterprets16_s32.c 2010-07-29 15:38:15 +0000
19050@@ -3,7 +3,8 @@
19051
19052 /* { dg-do assemble } */
19053 /* { dg-require-effective-target arm_neon_ok } */
19054-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
19055+/* { dg-options "-save-temps -O0" } */
19056+/* { dg-add-options arm_neon } */
19057
19058 #include "arm_neon.h"
19059
19060
19061=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterprets16_s64.c'
19062--- old/gcc/testsuite/gcc.target/arm/neon/vreinterprets16_s64.c 2007-07-25 11:28:31 +0000
19063+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterprets16_s64.c 2010-07-29 15:38:15 +0000
19064@@ -3,7 +3,8 @@
19065
19066 /* { dg-do assemble } */
19067 /* { dg-require-effective-target arm_neon_ok } */
19068-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
19069+/* { dg-options "-save-temps -O0" } */
19070+/* { dg-add-options arm_neon } */
19071
19072 #include "arm_neon.h"
19073
19074
19075=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterprets16_s8.c'
19076--- old/gcc/testsuite/gcc.target/arm/neon/vreinterprets16_s8.c 2007-07-25 11:28:31 +0000
19077+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterprets16_s8.c 2010-07-29 15:38:15 +0000
19078@@ -3,7 +3,8 @@
19079
19080 /* { dg-do assemble } */
19081 /* { dg-require-effective-target arm_neon_ok } */
19082-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
19083+/* { dg-options "-save-temps -O0" } */
19084+/* { dg-add-options arm_neon } */
19085
19086 #include "arm_neon.h"
19087
19088
19089=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterprets16_u16.c'
19090--- old/gcc/testsuite/gcc.target/arm/neon/vreinterprets16_u16.c 2007-07-25 11:28:31 +0000
19091+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterprets16_u16.c 2010-07-29 15:38:15 +0000
19092@@ -3,7 +3,8 @@
19093
19094 /* { dg-do assemble } */
19095 /* { dg-require-effective-target arm_neon_ok } */
19096-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
19097+/* { dg-options "-save-temps -O0" } */
19098+/* { dg-add-options arm_neon } */
19099
19100 #include "arm_neon.h"
19101
19102
19103=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterprets16_u32.c'
19104--- old/gcc/testsuite/gcc.target/arm/neon/vreinterprets16_u32.c 2007-07-25 11:28:31 +0000
19105+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterprets16_u32.c 2010-07-29 15:38:15 +0000
19106@@ -3,7 +3,8 @@
19107
19108 /* { dg-do assemble } */
19109 /* { dg-require-effective-target arm_neon_ok } */
19110-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
19111+/* { dg-options "-save-temps -O0" } */
19112+/* { dg-add-options arm_neon } */
19113
19114 #include "arm_neon.h"
19115
19116
19117=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterprets16_u64.c'
19118--- old/gcc/testsuite/gcc.target/arm/neon/vreinterprets16_u64.c 2007-07-25 11:28:31 +0000
19119+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterprets16_u64.c 2010-07-29 15:38:15 +0000
19120@@ -3,7 +3,8 @@
19121
19122 /* { dg-do assemble } */
19123 /* { dg-require-effective-target arm_neon_ok } */
19124-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
19125+/* { dg-options "-save-temps -O0" } */
19126+/* { dg-add-options arm_neon } */
19127
19128 #include "arm_neon.h"
19129
19130
19131=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterprets16_u8.c'
19132--- old/gcc/testsuite/gcc.target/arm/neon/vreinterprets16_u8.c 2007-07-25 11:28:31 +0000
19133+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterprets16_u8.c 2010-07-29 15:38:15 +0000
19134@@ -3,7 +3,8 @@
19135
19136 /* { dg-do assemble } */
19137 /* { dg-require-effective-target arm_neon_ok } */
19138-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
19139+/* { dg-options "-save-temps -O0" } */
19140+/* { dg-add-options arm_neon } */
19141
19142 #include "arm_neon.h"
19143
19144
19145=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterprets32_f32.c'
19146--- old/gcc/testsuite/gcc.target/arm/neon/vreinterprets32_f32.c 2007-07-25 11:28:31 +0000
19147+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterprets32_f32.c 2010-07-29 15:38:15 +0000
19148@@ -3,7 +3,8 @@
19149
19150 /* { dg-do assemble } */
19151 /* { dg-require-effective-target arm_neon_ok } */
19152-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
19153+/* { dg-options "-save-temps -O0" } */
19154+/* { dg-add-options arm_neon } */
19155
19156 #include "arm_neon.h"
19157
19158
19159=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterprets32_p16.c'
19160--- old/gcc/testsuite/gcc.target/arm/neon/vreinterprets32_p16.c 2007-07-25 11:28:31 +0000
19161+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterprets32_p16.c 2010-07-29 15:38:15 +0000
19162@@ -3,7 +3,8 @@
19163
19164 /* { dg-do assemble } */
19165 /* { dg-require-effective-target arm_neon_ok } */
19166-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
19167+/* { dg-options "-save-temps -O0" } */
19168+/* { dg-add-options arm_neon } */
19169
19170 #include "arm_neon.h"
19171
19172
19173=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterprets32_p8.c'
19174--- old/gcc/testsuite/gcc.target/arm/neon/vreinterprets32_p8.c 2007-07-25 11:28:31 +0000
19175+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterprets32_p8.c 2010-07-29 15:38:15 +0000
19176@@ -3,7 +3,8 @@
19177
19178 /* { dg-do assemble } */
19179 /* { dg-require-effective-target arm_neon_ok } */
19180-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
19181+/* { dg-options "-save-temps -O0" } */
19182+/* { dg-add-options arm_neon } */
19183
19184 #include "arm_neon.h"
19185
19186
19187=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterprets32_s16.c'
19188--- old/gcc/testsuite/gcc.target/arm/neon/vreinterprets32_s16.c 2007-07-25 11:28:31 +0000
19189+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterprets32_s16.c 2010-07-29 15:38:15 +0000
19190@@ -3,7 +3,8 @@
19191
19192 /* { dg-do assemble } */
19193 /* { dg-require-effective-target arm_neon_ok } */
19194-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
19195+/* { dg-options "-save-temps -O0" } */
19196+/* { dg-add-options arm_neon } */
19197
19198 #include "arm_neon.h"
19199
19200
19201=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterprets32_s64.c'
19202--- old/gcc/testsuite/gcc.target/arm/neon/vreinterprets32_s64.c 2007-07-25 11:28:31 +0000
19203+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterprets32_s64.c 2010-07-29 15:38:15 +0000
19204@@ -3,7 +3,8 @@
19205
19206 /* { dg-do assemble } */
19207 /* { dg-require-effective-target arm_neon_ok } */
19208-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
19209+/* { dg-options "-save-temps -O0" } */
19210+/* { dg-add-options arm_neon } */
19211
19212 #include "arm_neon.h"
19213
19214
19215=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterprets32_s8.c'
19216--- old/gcc/testsuite/gcc.target/arm/neon/vreinterprets32_s8.c 2007-07-25 11:28:31 +0000
19217+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterprets32_s8.c 2010-07-29 15:38:15 +0000
19218@@ -3,7 +3,8 @@
19219
19220 /* { dg-do assemble } */
19221 /* { dg-require-effective-target arm_neon_ok } */
19222-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
19223+/* { dg-options "-save-temps -O0" } */
19224+/* { dg-add-options arm_neon } */
19225
19226 #include "arm_neon.h"
19227
19228
19229=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterprets32_u16.c'
19230--- old/gcc/testsuite/gcc.target/arm/neon/vreinterprets32_u16.c 2007-07-25 11:28:31 +0000
19231+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterprets32_u16.c 2010-07-29 15:38:15 +0000
19232@@ -3,7 +3,8 @@
19233
19234 /* { dg-do assemble } */
19235 /* { dg-require-effective-target arm_neon_ok } */
19236-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
19237+/* { dg-options "-save-temps -O0" } */
19238+/* { dg-add-options arm_neon } */
19239
19240 #include "arm_neon.h"
19241
19242
19243=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterprets32_u32.c'
19244--- old/gcc/testsuite/gcc.target/arm/neon/vreinterprets32_u32.c 2007-07-25 11:28:31 +0000
19245+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterprets32_u32.c 2010-07-29 15:38:15 +0000
19246@@ -3,7 +3,8 @@
19247
19248 /* { dg-do assemble } */
19249 /* { dg-require-effective-target arm_neon_ok } */
19250-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
19251+/* { dg-options "-save-temps -O0" } */
19252+/* { dg-add-options arm_neon } */
19253
19254 #include "arm_neon.h"
19255
19256
19257=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterprets32_u64.c'
19258--- old/gcc/testsuite/gcc.target/arm/neon/vreinterprets32_u64.c 2007-07-25 11:28:31 +0000
19259+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterprets32_u64.c 2010-07-29 15:38:15 +0000
19260@@ -3,7 +3,8 @@
19261
19262 /* { dg-do assemble } */
19263 /* { dg-require-effective-target arm_neon_ok } */
19264-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
19265+/* { dg-options "-save-temps -O0" } */
19266+/* { dg-add-options arm_neon } */
19267
19268 #include "arm_neon.h"
19269
19270
19271=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterprets32_u8.c'
19272--- old/gcc/testsuite/gcc.target/arm/neon/vreinterprets32_u8.c 2007-07-25 11:28:31 +0000
19273+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterprets32_u8.c 2010-07-29 15:38:15 +0000
19274@@ -3,7 +3,8 @@
19275
19276 /* { dg-do assemble } */
19277 /* { dg-require-effective-target arm_neon_ok } */
19278-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
19279+/* { dg-options "-save-temps -O0" } */
19280+/* { dg-add-options arm_neon } */
19281
19282 #include "arm_neon.h"
19283
19284
19285=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterprets64_f32.c'
19286--- old/gcc/testsuite/gcc.target/arm/neon/vreinterprets64_f32.c 2007-07-25 11:28:31 +0000
19287+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterprets64_f32.c 2010-07-29 15:38:15 +0000
19288@@ -3,7 +3,8 @@
19289
19290 /* { dg-do assemble } */
19291 /* { dg-require-effective-target arm_neon_ok } */
19292-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
19293+/* { dg-options "-save-temps -O0" } */
19294+/* { dg-add-options arm_neon } */
19295
19296 #include "arm_neon.h"
19297
19298
19299=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterprets64_p16.c'
19300--- old/gcc/testsuite/gcc.target/arm/neon/vreinterprets64_p16.c 2007-07-25 11:28:31 +0000
19301+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterprets64_p16.c 2010-07-29 15:38:15 +0000
19302@@ -3,7 +3,8 @@
19303
19304 /* { dg-do assemble } */
19305 /* { dg-require-effective-target arm_neon_ok } */
19306-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
19307+/* { dg-options "-save-temps -O0" } */
19308+/* { dg-add-options arm_neon } */
19309
19310 #include "arm_neon.h"
19311
19312
19313=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterprets64_p8.c'
19314--- old/gcc/testsuite/gcc.target/arm/neon/vreinterprets64_p8.c 2007-07-25 11:28:31 +0000
19315+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterprets64_p8.c 2010-07-29 15:38:15 +0000
19316@@ -3,7 +3,8 @@
19317
19318 /* { dg-do assemble } */
19319 /* { dg-require-effective-target arm_neon_ok } */
19320-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
19321+/* { dg-options "-save-temps -O0" } */
19322+/* { dg-add-options arm_neon } */
19323
19324 #include "arm_neon.h"
19325
19326
19327=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterprets64_s16.c'
19328--- old/gcc/testsuite/gcc.target/arm/neon/vreinterprets64_s16.c 2007-07-25 11:28:31 +0000
19329+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterprets64_s16.c 2010-07-29 15:38:15 +0000
19330@@ -3,7 +3,8 @@
19331
19332 /* { dg-do assemble } */
19333 /* { dg-require-effective-target arm_neon_ok } */
19334-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
19335+/* { dg-options "-save-temps -O0" } */
19336+/* { dg-add-options arm_neon } */
19337
19338 #include "arm_neon.h"
19339
19340
19341=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterprets64_s32.c'
19342--- old/gcc/testsuite/gcc.target/arm/neon/vreinterprets64_s32.c 2007-07-25 11:28:31 +0000
19343+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterprets64_s32.c 2010-07-29 15:38:15 +0000
19344@@ -3,7 +3,8 @@
19345
19346 /* { dg-do assemble } */
19347 /* { dg-require-effective-target arm_neon_ok } */
19348-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
19349+/* { dg-options "-save-temps -O0" } */
19350+/* { dg-add-options arm_neon } */
19351
19352 #include "arm_neon.h"
19353
19354
19355=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterprets64_s8.c'
19356--- old/gcc/testsuite/gcc.target/arm/neon/vreinterprets64_s8.c 2007-07-25 11:28:31 +0000
19357+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterprets64_s8.c 2010-07-29 15:38:15 +0000
19358@@ -3,7 +3,8 @@
19359
19360 /* { dg-do assemble } */
19361 /* { dg-require-effective-target arm_neon_ok } */
19362-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
19363+/* { dg-options "-save-temps -O0" } */
19364+/* { dg-add-options arm_neon } */
19365
19366 #include "arm_neon.h"
19367
19368
19369=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterprets64_u16.c'
19370--- old/gcc/testsuite/gcc.target/arm/neon/vreinterprets64_u16.c 2007-07-25 11:28:31 +0000
19371+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterprets64_u16.c 2010-07-29 15:38:15 +0000
19372@@ -3,7 +3,8 @@
19373
19374 /* { dg-do assemble } */
19375 /* { dg-require-effective-target arm_neon_ok } */
19376-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
19377+/* { dg-options "-save-temps -O0" } */
19378+/* { dg-add-options arm_neon } */
19379
19380 #include "arm_neon.h"
19381
19382
19383=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterprets64_u32.c'
19384--- old/gcc/testsuite/gcc.target/arm/neon/vreinterprets64_u32.c 2007-07-25 11:28:31 +0000
19385+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterprets64_u32.c 2010-07-29 15:38:15 +0000
19386@@ -3,7 +3,8 @@
19387
19388 /* { dg-do assemble } */
19389 /* { dg-require-effective-target arm_neon_ok } */
19390-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
19391+/* { dg-options "-save-temps -O0" } */
19392+/* { dg-add-options arm_neon } */
19393
19394 #include "arm_neon.h"
19395
19396
19397=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterprets64_u64.c'
19398--- old/gcc/testsuite/gcc.target/arm/neon/vreinterprets64_u64.c 2007-07-25 11:28:31 +0000
19399+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterprets64_u64.c 2010-07-29 15:38:15 +0000
19400@@ -3,7 +3,8 @@
19401
19402 /* { dg-do assemble } */
19403 /* { dg-require-effective-target arm_neon_ok } */
19404-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
19405+/* { dg-options "-save-temps -O0" } */
19406+/* { dg-add-options arm_neon } */
19407
19408 #include "arm_neon.h"
19409
19410
19411=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterprets64_u8.c'
19412--- old/gcc/testsuite/gcc.target/arm/neon/vreinterprets64_u8.c 2007-07-25 11:28:31 +0000
19413+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterprets64_u8.c 2010-07-29 15:38:15 +0000
19414@@ -3,7 +3,8 @@
19415
19416 /* { dg-do assemble } */
19417 /* { dg-require-effective-target arm_neon_ok } */
19418-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
19419+/* { dg-options "-save-temps -O0" } */
19420+/* { dg-add-options arm_neon } */
19421
19422 #include "arm_neon.h"
19423
19424
19425=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterprets8_f32.c'
19426--- old/gcc/testsuite/gcc.target/arm/neon/vreinterprets8_f32.c 2007-07-25 11:28:31 +0000
19427+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterprets8_f32.c 2010-07-29 15:38:15 +0000
19428@@ -3,7 +3,8 @@
19429
19430 /* { dg-do assemble } */
19431 /* { dg-require-effective-target arm_neon_ok } */
19432-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
19433+/* { dg-options "-save-temps -O0" } */
19434+/* { dg-add-options arm_neon } */
19435
19436 #include "arm_neon.h"
19437
19438
19439=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterprets8_p16.c'
19440--- old/gcc/testsuite/gcc.target/arm/neon/vreinterprets8_p16.c 2007-07-25 11:28:31 +0000
19441+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterprets8_p16.c 2010-07-29 15:38:15 +0000
19442@@ -3,7 +3,8 @@
19443
19444 /* { dg-do assemble } */
19445 /* { dg-require-effective-target arm_neon_ok } */
19446-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
19447+/* { dg-options "-save-temps -O0" } */
19448+/* { dg-add-options arm_neon } */
19449
19450 #include "arm_neon.h"
19451
19452
19453=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterprets8_p8.c'
19454--- old/gcc/testsuite/gcc.target/arm/neon/vreinterprets8_p8.c 2007-07-25 11:28:31 +0000
19455+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterprets8_p8.c 2010-07-29 15:38:15 +0000
19456@@ -3,7 +3,8 @@
19457
19458 /* { dg-do assemble } */
19459 /* { dg-require-effective-target arm_neon_ok } */
19460-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
19461+/* { dg-options "-save-temps -O0" } */
19462+/* { dg-add-options arm_neon } */
19463
19464 #include "arm_neon.h"
19465
19466
19467=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterprets8_s16.c'
19468--- old/gcc/testsuite/gcc.target/arm/neon/vreinterprets8_s16.c 2007-07-25 11:28:31 +0000
19469+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterprets8_s16.c 2010-07-29 15:38:15 +0000
19470@@ -3,7 +3,8 @@
19471
19472 /* { dg-do assemble } */
19473 /* { dg-require-effective-target arm_neon_ok } */
19474-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
19475+/* { dg-options "-save-temps -O0" } */
19476+/* { dg-add-options arm_neon } */
19477
19478 #include "arm_neon.h"
19479
19480
19481=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterprets8_s32.c'
19482--- old/gcc/testsuite/gcc.target/arm/neon/vreinterprets8_s32.c 2007-07-25 11:28:31 +0000
19483+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterprets8_s32.c 2010-07-29 15:38:15 +0000
19484@@ -3,7 +3,8 @@
19485
19486 /* { dg-do assemble } */
19487 /* { dg-require-effective-target arm_neon_ok } */
19488-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
19489+/* { dg-options "-save-temps -O0" } */
19490+/* { dg-add-options arm_neon } */
19491
19492 #include "arm_neon.h"
19493
19494
19495=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterprets8_s64.c'
19496--- old/gcc/testsuite/gcc.target/arm/neon/vreinterprets8_s64.c 2007-07-25 11:28:31 +0000
19497+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterprets8_s64.c 2010-07-29 15:38:15 +0000
19498@@ -3,7 +3,8 @@
19499
19500 /* { dg-do assemble } */
19501 /* { dg-require-effective-target arm_neon_ok } */
19502-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
19503+/* { dg-options "-save-temps -O0" } */
19504+/* { dg-add-options arm_neon } */
19505
19506 #include "arm_neon.h"
19507
19508
19509=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterprets8_u16.c'
19510--- old/gcc/testsuite/gcc.target/arm/neon/vreinterprets8_u16.c 2007-07-25 11:28:31 +0000
19511+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterprets8_u16.c 2010-07-29 15:38:15 +0000
19512@@ -3,7 +3,8 @@
19513
19514 /* { dg-do assemble } */
19515 /* { dg-require-effective-target arm_neon_ok } */
19516-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
19517+/* { dg-options "-save-temps -O0" } */
19518+/* { dg-add-options arm_neon } */
19519
19520 #include "arm_neon.h"
19521
19522
19523=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterprets8_u32.c'
19524--- old/gcc/testsuite/gcc.target/arm/neon/vreinterprets8_u32.c 2007-07-25 11:28:31 +0000
19525+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterprets8_u32.c 2010-07-29 15:38:15 +0000
19526@@ -3,7 +3,8 @@
19527
19528 /* { dg-do assemble } */
19529 /* { dg-require-effective-target arm_neon_ok } */
19530-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
19531+/* { dg-options "-save-temps -O0" } */
19532+/* { dg-add-options arm_neon } */
19533
19534 #include "arm_neon.h"
19535
19536
19537=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterprets8_u64.c'
19538--- old/gcc/testsuite/gcc.target/arm/neon/vreinterprets8_u64.c 2007-07-25 11:28:31 +0000
19539+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterprets8_u64.c 2010-07-29 15:38:15 +0000
19540@@ -3,7 +3,8 @@
19541
19542 /* { dg-do assemble } */
19543 /* { dg-require-effective-target arm_neon_ok } */
19544-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
19545+/* { dg-options "-save-temps -O0" } */
19546+/* { dg-add-options arm_neon } */
19547
19548 #include "arm_neon.h"
19549
19550
19551=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterprets8_u8.c'
19552--- old/gcc/testsuite/gcc.target/arm/neon/vreinterprets8_u8.c 2007-07-25 11:28:31 +0000
19553+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterprets8_u8.c 2010-07-29 15:38:15 +0000
19554@@ -3,7 +3,8 @@
19555
19556 /* { dg-do assemble } */
19557 /* { dg-require-effective-target arm_neon_ok } */
19558-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
19559+/* { dg-options "-save-temps -O0" } */
19560+/* { dg-add-options arm_neon } */
19561
19562 #include "arm_neon.h"
19563
19564
19565=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretu16_f32.c'
19566--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretu16_f32.c 2007-07-25 11:28:31 +0000
19567+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretu16_f32.c 2010-07-29 15:38:15 +0000
19568@@ -3,7 +3,8 @@
19569
19570 /* { dg-do assemble } */
19571 /* { dg-require-effective-target arm_neon_ok } */
19572-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
19573+/* { dg-options "-save-temps -O0" } */
19574+/* { dg-add-options arm_neon } */
19575
19576 #include "arm_neon.h"
19577
19578
19579=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretu16_p16.c'
19580--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretu16_p16.c 2007-07-25 11:28:31 +0000
19581+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretu16_p16.c 2010-07-29 15:38:15 +0000
19582@@ -3,7 +3,8 @@
19583
19584 /* { dg-do assemble } */
19585 /* { dg-require-effective-target arm_neon_ok } */
19586-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
19587+/* { dg-options "-save-temps -O0" } */
19588+/* { dg-add-options arm_neon } */
19589
19590 #include "arm_neon.h"
19591
19592
19593=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretu16_p8.c'
19594--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretu16_p8.c 2007-07-25 11:28:31 +0000
19595+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretu16_p8.c 2010-07-29 15:38:15 +0000
19596@@ -3,7 +3,8 @@
19597
19598 /* { dg-do assemble } */
19599 /* { dg-require-effective-target arm_neon_ok } */
19600-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
19601+/* { dg-options "-save-temps -O0" } */
19602+/* { dg-add-options arm_neon } */
19603
19604 #include "arm_neon.h"
19605
19606
19607=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretu16_s16.c'
19608--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretu16_s16.c 2007-07-25 11:28:31 +0000
19609+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretu16_s16.c 2010-07-29 15:38:15 +0000
19610@@ -3,7 +3,8 @@
19611
19612 /* { dg-do assemble } */
19613 /* { dg-require-effective-target arm_neon_ok } */
19614-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
19615+/* { dg-options "-save-temps -O0" } */
19616+/* { dg-add-options arm_neon } */
19617
19618 #include "arm_neon.h"
19619
19620
19621=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretu16_s32.c'
19622--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretu16_s32.c 2007-07-25 11:28:31 +0000
19623+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretu16_s32.c 2010-07-29 15:38:15 +0000
19624@@ -3,7 +3,8 @@
19625
19626 /* { dg-do assemble } */
19627 /* { dg-require-effective-target arm_neon_ok } */
19628-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
19629+/* { dg-options "-save-temps -O0" } */
19630+/* { dg-add-options arm_neon } */
19631
19632 #include "arm_neon.h"
19633
19634
19635=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretu16_s64.c'
19636--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretu16_s64.c 2007-07-25 11:28:31 +0000
19637+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretu16_s64.c 2010-07-29 15:38:15 +0000
19638@@ -3,7 +3,8 @@
19639
19640 /* { dg-do assemble } */
19641 /* { dg-require-effective-target arm_neon_ok } */
19642-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
19643+/* { dg-options "-save-temps -O0" } */
19644+/* { dg-add-options arm_neon } */
19645
19646 #include "arm_neon.h"
19647
19648
19649=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretu16_s8.c'
19650--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretu16_s8.c 2007-07-25 11:28:31 +0000
19651+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretu16_s8.c 2010-07-29 15:38:15 +0000
19652@@ -3,7 +3,8 @@
19653
19654 /* { dg-do assemble } */
19655 /* { dg-require-effective-target arm_neon_ok } */
19656-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
19657+/* { dg-options "-save-temps -O0" } */
19658+/* { dg-add-options arm_neon } */
19659
19660 #include "arm_neon.h"
19661
19662
19663=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretu16_u32.c'
19664--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretu16_u32.c 2007-07-25 11:28:31 +0000
19665+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretu16_u32.c 2010-07-29 15:38:15 +0000
19666@@ -3,7 +3,8 @@
19667
19668 /* { dg-do assemble } */
19669 /* { dg-require-effective-target arm_neon_ok } */
19670-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
19671+/* { dg-options "-save-temps -O0" } */
19672+/* { dg-add-options arm_neon } */
19673
19674 #include "arm_neon.h"
19675
19676
19677=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretu16_u64.c'
19678--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretu16_u64.c 2007-07-25 11:28:31 +0000
19679+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretu16_u64.c 2010-07-29 15:38:15 +0000
19680@@ -3,7 +3,8 @@
19681
19682 /* { dg-do assemble } */
19683 /* { dg-require-effective-target arm_neon_ok } */
19684-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
19685+/* { dg-options "-save-temps -O0" } */
19686+/* { dg-add-options arm_neon } */
19687
19688 #include "arm_neon.h"
19689
19690
19691=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretu16_u8.c'
19692--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretu16_u8.c 2007-07-25 11:28:31 +0000
19693+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretu16_u8.c 2010-07-29 15:38:15 +0000
19694@@ -3,7 +3,8 @@
19695
19696 /* { dg-do assemble } */
19697 /* { dg-require-effective-target arm_neon_ok } */
19698-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
19699+/* { dg-options "-save-temps -O0" } */
19700+/* { dg-add-options arm_neon } */
19701
19702 #include "arm_neon.h"
19703
19704
19705=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretu32_f32.c'
19706--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretu32_f32.c 2007-07-25 11:28:31 +0000
19707+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretu32_f32.c 2010-07-29 15:38:15 +0000
19708@@ -3,7 +3,8 @@
19709
19710 /* { dg-do assemble } */
19711 /* { dg-require-effective-target arm_neon_ok } */
19712-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
19713+/* { dg-options "-save-temps -O0" } */
19714+/* { dg-add-options arm_neon } */
19715
19716 #include "arm_neon.h"
19717
19718
19719=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretu32_p16.c'
19720--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretu32_p16.c 2007-07-25 11:28:31 +0000
19721+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretu32_p16.c 2010-07-29 15:38:15 +0000
19722@@ -3,7 +3,8 @@
19723
19724 /* { dg-do assemble } */
19725 /* { dg-require-effective-target arm_neon_ok } */
19726-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
19727+/* { dg-options "-save-temps -O0" } */
19728+/* { dg-add-options arm_neon } */
19729
19730 #include "arm_neon.h"
19731
19732
19733=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretu32_p8.c'
19734--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretu32_p8.c 2007-07-25 11:28:31 +0000
19735+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretu32_p8.c 2010-07-29 15:38:15 +0000
19736@@ -3,7 +3,8 @@
19737
19738 /* { dg-do assemble } */
19739 /* { dg-require-effective-target arm_neon_ok } */
19740-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
19741+/* { dg-options "-save-temps -O0" } */
19742+/* { dg-add-options arm_neon } */
19743
19744 #include "arm_neon.h"
19745
19746
19747=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretu32_s16.c'
19748--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretu32_s16.c 2007-07-25 11:28:31 +0000
19749+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretu32_s16.c 2010-07-29 15:38:15 +0000
19750@@ -3,7 +3,8 @@
19751
19752 /* { dg-do assemble } */
19753 /* { dg-require-effective-target arm_neon_ok } */
19754-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
19755+/* { dg-options "-save-temps -O0" } */
19756+/* { dg-add-options arm_neon } */
19757
19758 #include "arm_neon.h"
19759
19760
19761=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretu32_s32.c'
19762--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretu32_s32.c 2007-07-25 11:28:31 +0000
19763+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretu32_s32.c 2010-07-29 15:38:15 +0000
19764@@ -3,7 +3,8 @@
19765
19766 /* { dg-do assemble } */
19767 /* { dg-require-effective-target arm_neon_ok } */
19768-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
19769+/* { dg-options "-save-temps -O0" } */
19770+/* { dg-add-options arm_neon } */
19771
19772 #include "arm_neon.h"
19773
19774
19775=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretu32_s64.c'
19776--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretu32_s64.c 2007-07-25 11:28:31 +0000
19777+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretu32_s64.c 2010-07-29 15:38:15 +0000
19778@@ -3,7 +3,8 @@
19779
19780 /* { dg-do assemble } */
19781 /* { dg-require-effective-target arm_neon_ok } */
19782-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
19783+/* { dg-options "-save-temps -O0" } */
19784+/* { dg-add-options arm_neon } */
19785
19786 #include "arm_neon.h"
19787
19788
19789=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretu32_s8.c'
19790--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretu32_s8.c 2007-07-25 11:28:31 +0000
19791+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretu32_s8.c 2010-07-29 15:38:15 +0000
19792@@ -3,7 +3,8 @@
19793
19794 /* { dg-do assemble } */
19795 /* { dg-require-effective-target arm_neon_ok } */
19796-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
19797+/* { dg-options "-save-temps -O0" } */
19798+/* { dg-add-options arm_neon } */
19799
19800 #include "arm_neon.h"
19801
19802
19803=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretu32_u16.c'
19804--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretu32_u16.c 2007-07-25 11:28:31 +0000
19805+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretu32_u16.c 2010-07-29 15:38:15 +0000
19806@@ -3,7 +3,8 @@
19807
19808 /* { dg-do assemble } */
19809 /* { dg-require-effective-target arm_neon_ok } */
19810-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
19811+/* { dg-options "-save-temps -O0" } */
19812+/* { dg-add-options arm_neon } */
19813
19814 #include "arm_neon.h"
19815
19816
19817=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretu32_u64.c'
19818--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretu32_u64.c 2007-07-25 11:28:31 +0000
19819+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretu32_u64.c 2010-07-29 15:38:15 +0000
19820@@ -3,7 +3,8 @@
19821
19822 /* { dg-do assemble } */
19823 /* { dg-require-effective-target arm_neon_ok } */
19824-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
19825+/* { dg-options "-save-temps -O0" } */
19826+/* { dg-add-options arm_neon } */
19827
19828 #include "arm_neon.h"
19829
19830
19831=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretu32_u8.c'
19832--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretu32_u8.c 2007-07-25 11:28:31 +0000
19833+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretu32_u8.c 2010-07-29 15:38:15 +0000
19834@@ -3,7 +3,8 @@
19835
19836 /* { dg-do assemble } */
19837 /* { dg-require-effective-target arm_neon_ok } */
19838-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
19839+/* { dg-options "-save-temps -O0" } */
19840+/* { dg-add-options arm_neon } */
19841
19842 #include "arm_neon.h"
19843
19844
19845=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretu64_f32.c'
19846--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretu64_f32.c 2007-07-25 11:28:31 +0000
19847+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretu64_f32.c 2010-07-29 15:38:15 +0000
19848@@ -3,7 +3,8 @@
19849
19850 /* { dg-do assemble } */
19851 /* { dg-require-effective-target arm_neon_ok } */
19852-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
19853+/* { dg-options "-save-temps -O0" } */
19854+/* { dg-add-options arm_neon } */
19855
19856 #include "arm_neon.h"
19857
19858
19859=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretu64_p16.c'
19860--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretu64_p16.c 2007-07-25 11:28:31 +0000
19861+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretu64_p16.c 2010-07-29 15:38:15 +0000
19862@@ -3,7 +3,8 @@
19863
19864 /* { dg-do assemble } */
19865 /* { dg-require-effective-target arm_neon_ok } */
19866-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
19867+/* { dg-options "-save-temps -O0" } */
19868+/* { dg-add-options arm_neon } */
19869
19870 #include "arm_neon.h"
19871
19872
19873=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretu64_p8.c'
19874--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretu64_p8.c 2007-07-25 11:28:31 +0000
19875+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretu64_p8.c 2010-07-29 15:38:15 +0000
19876@@ -3,7 +3,8 @@
19877
19878 /* { dg-do assemble } */
19879 /* { dg-require-effective-target arm_neon_ok } */
19880-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
19881+/* { dg-options "-save-temps -O0" } */
19882+/* { dg-add-options arm_neon } */
19883
19884 #include "arm_neon.h"
19885
19886
19887=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretu64_s16.c'
19888--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretu64_s16.c 2007-07-25 11:28:31 +0000
19889+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretu64_s16.c 2010-07-29 15:38:15 +0000
19890@@ -3,7 +3,8 @@
19891
19892 /* { dg-do assemble } */
19893 /* { dg-require-effective-target arm_neon_ok } */
19894-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
19895+/* { dg-options "-save-temps -O0" } */
19896+/* { dg-add-options arm_neon } */
19897
19898 #include "arm_neon.h"
19899
19900
19901=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretu64_s32.c'
19902--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretu64_s32.c 2007-07-25 11:28:31 +0000
19903+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretu64_s32.c 2010-07-29 15:38:15 +0000
19904@@ -3,7 +3,8 @@
19905
19906 /* { dg-do assemble } */
19907 /* { dg-require-effective-target arm_neon_ok } */
19908-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
19909+/* { dg-options "-save-temps -O0" } */
19910+/* { dg-add-options arm_neon } */
19911
19912 #include "arm_neon.h"
19913
19914
19915=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretu64_s64.c'
19916--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretu64_s64.c 2007-07-25 11:28:31 +0000
19917+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretu64_s64.c 2010-07-29 15:38:15 +0000
19918@@ -3,7 +3,8 @@
19919
19920 /* { dg-do assemble } */
19921 /* { dg-require-effective-target arm_neon_ok } */
19922-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
19923+/* { dg-options "-save-temps -O0" } */
19924+/* { dg-add-options arm_neon } */
19925
19926 #include "arm_neon.h"
19927
19928
19929=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretu64_s8.c'
19930--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretu64_s8.c 2007-07-25 11:28:31 +0000
19931+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretu64_s8.c 2010-07-29 15:38:15 +0000
19932@@ -3,7 +3,8 @@
19933
19934 /* { dg-do assemble } */
19935 /* { dg-require-effective-target arm_neon_ok } */
19936-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
19937+/* { dg-options "-save-temps -O0" } */
19938+/* { dg-add-options arm_neon } */
19939
19940 #include "arm_neon.h"
19941
19942
19943=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretu64_u16.c'
19944--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretu64_u16.c 2007-07-25 11:28:31 +0000
19945+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretu64_u16.c 2010-07-29 15:38:15 +0000
19946@@ -3,7 +3,8 @@
19947
19948 /* { dg-do assemble } */
19949 /* { dg-require-effective-target arm_neon_ok } */
19950-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
19951+/* { dg-options "-save-temps -O0" } */
19952+/* { dg-add-options arm_neon } */
19953
19954 #include "arm_neon.h"
19955
19956
19957=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretu64_u32.c'
19958--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretu64_u32.c 2007-07-25 11:28:31 +0000
19959+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretu64_u32.c 2010-07-29 15:38:15 +0000
19960@@ -3,7 +3,8 @@
19961
19962 /* { dg-do assemble } */
19963 /* { dg-require-effective-target arm_neon_ok } */
19964-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
19965+/* { dg-options "-save-temps -O0" } */
19966+/* { dg-add-options arm_neon } */
19967
19968 #include "arm_neon.h"
19969
19970
19971=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretu64_u8.c'
19972--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretu64_u8.c 2007-07-25 11:28:31 +0000
19973+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretu64_u8.c 2010-07-29 15:38:15 +0000
19974@@ -3,7 +3,8 @@
19975
19976 /* { dg-do assemble } */
19977 /* { dg-require-effective-target arm_neon_ok } */
19978-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
19979+/* { dg-options "-save-temps -O0" } */
19980+/* { dg-add-options arm_neon } */
19981
19982 #include "arm_neon.h"
19983
19984
19985=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretu8_f32.c'
19986--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretu8_f32.c 2007-07-25 11:28:31 +0000
19987+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretu8_f32.c 2010-07-29 15:38:15 +0000
19988@@ -3,7 +3,8 @@
19989
19990 /* { dg-do assemble } */
19991 /* { dg-require-effective-target arm_neon_ok } */
19992-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
19993+/* { dg-options "-save-temps -O0" } */
19994+/* { dg-add-options arm_neon } */
19995
19996 #include "arm_neon.h"
19997
19998
19999=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretu8_p16.c'
20000--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretu8_p16.c 2007-07-25 11:28:31 +0000
20001+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretu8_p16.c 2010-07-29 15:38:15 +0000
20002@@ -3,7 +3,8 @@
20003
20004 /* { dg-do assemble } */
20005 /* { dg-require-effective-target arm_neon_ok } */
20006-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
20007+/* { dg-options "-save-temps -O0" } */
20008+/* { dg-add-options arm_neon } */
20009
20010 #include "arm_neon.h"
20011
20012
20013=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretu8_p8.c'
20014--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretu8_p8.c 2007-07-25 11:28:31 +0000
20015+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretu8_p8.c 2010-07-29 15:38:15 +0000
20016@@ -3,7 +3,8 @@
20017
20018 /* { dg-do assemble } */
20019 /* { dg-require-effective-target arm_neon_ok } */
20020-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
20021+/* { dg-options "-save-temps -O0" } */
20022+/* { dg-add-options arm_neon } */
20023
20024 #include "arm_neon.h"
20025
20026
20027=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretu8_s16.c'
20028--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretu8_s16.c 2007-07-25 11:28:31 +0000
20029+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretu8_s16.c 2010-07-29 15:38:15 +0000
20030@@ -3,7 +3,8 @@
20031
20032 /* { dg-do assemble } */
20033 /* { dg-require-effective-target arm_neon_ok } */
20034-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
20035+/* { dg-options "-save-temps -O0" } */
20036+/* { dg-add-options arm_neon } */
20037
20038 #include "arm_neon.h"
20039
20040
20041=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretu8_s32.c'
20042--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretu8_s32.c 2007-07-25 11:28:31 +0000
20043+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretu8_s32.c 2010-07-29 15:38:15 +0000
20044@@ -3,7 +3,8 @@
20045
20046 /* { dg-do assemble } */
20047 /* { dg-require-effective-target arm_neon_ok } */
20048-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
20049+/* { dg-options "-save-temps -O0" } */
20050+/* { dg-add-options arm_neon } */
20051
20052 #include "arm_neon.h"
20053
20054
20055=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretu8_s64.c'
20056--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretu8_s64.c 2007-07-25 11:28:31 +0000
20057+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretu8_s64.c 2010-07-29 15:38:15 +0000
20058@@ -3,7 +3,8 @@
20059
20060 /* { dg-do assemble } */
20061 /* { dg-require-effective-target arm_neon_ok } */
20062-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
20063+/* { dg-options "-save-temps -O0" } */
20064+/* { dg-add-options arm_neon } */
20065
20066 #include "arm_neon.h"
20067
20068
20069=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretu8_s8.c'
20070--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretu8_s8.c 2007-07-25 11:28:31 +0000
20071+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretu8_s8.c 2010-07-29 15:38:15 +0000
20072@@ -3,7 +3,8 @@
20073
20074 /* { dg-do assemble } */
20075 /* { dg-require-effective-target arm_neon_ok } */
20076-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
20077+/* { dg-options "-save-temps -O0" } */
20078+/* { dg-add-options arm_neon } */
20079
20080 #include "arm_neon.h"
20081
20082
20083=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretu8_u16.c'
20084--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretu8_u16.c 2007-07-25 11:28:31 +0000
20085+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretu8_u16.c 2010-07-29 15:38:15 +0000
20086@@ -3,7 +3,8 @@
20087
20088 /* { dg-do assemble } */
20089 /* { dg-require-effective-target arm_neon_ok } */
20090-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
20091+/* { dg-options "-save-temps -O0" } */
20092+/* { dg-add-options arm_neon } */
20093
20094 #include "arm_neon.h"
20095
20096
20097=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretu8_u32.c'
20098--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretu8_u32.c 2007-07-25 11:28:31 +0000
20099+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretu8_u32.c 2010-07-29 15:38:15 +0000
20100@@ -3,7 +3,8 @@
20101
20102 /* { dg-do assemble } */
20103 /* { dg-require-effective-target arm_neon_ok } */
20104-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
20105+/* { dg-options "-save-temps -O0" } */
20106+/* { dg-add-options arm_neon } */
20107
20108 #include "arm_neon.h"
20109
20110
20111=== modified file 'gcc/testsuite/gcc.target/arm/neon/vreinterpretu8_u64.c'
20112--- old/gcc/testsuite/gcc.target/arm/neon/vreinterpretu8_u64.c 2007-07-25 11:28:31 +0000
20113+++ new/gcc/testsuite/gcc.target/arm/neon/vreinterpretu8_u64.c 2010-07-29 15:38:15 +0000
20114@@ -3,7 +3,8 @@
20115
20116 /* { dg-do assemble } */
20117 /* { dg-require-effective-target arm_neon_ok } */
20118-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
20119+/* { dg-options "-save-temps -O0" } */
20120+/* { dg-add-options arm_neon } */
20121
20122 #include "arm_neon.h"
20123
20124
20125=== modified file 'gcc/testsuite/gcc.target/arm/neon/vrev16Qp8.c'
20126--- old/gcc/testsuite/gcc.target/arm/neon/vrev16Qp8.c 2007-07-25 11:28:31 +0000
20127+++ new/gcc/testsuite/gcc.target/arm/neon/vrev16Qp8.c 2010-07-29 15:38:15 +0000
20128@@ -3,7 +3,8 @@
20129
20130 /* { dg-do assemble } */
20131 /* { dg-require-effective-target arm_neon_ok } */
20132-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
20133+/* { dg-options "-save-temps -O0" } */
20134+/* { dg-add-options arm_neon } */
20135
20136 #include "arm_neon.h"
20137
20138
20139=== modified file 'gcc/testsuite/gcc.target/arm/neon/vrev16Qs8.c'
20140--- old/gcc/testsuite/gcc.target/arm/neon/vrev16Qs8.c 2007-07-25 11:28:31 +0000
20141+++ new/gcc/testsuite/gcc.target/arm/neon/vrev16Qs8.c 2010-07-29 15:38:15 +0000
20142@@ -3,7 +3,8 @@
20143
20144 /* { dg-do assemble } */
20145 /* { dg-require-effective-target arm_neon_ok } */
20146-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
20147+/* { dg-options "-save-temps -O0" } */
20148+/* { dg-add-options arm_neon } */
20149
20150 #include "arm_neon.h"
20151
20152
20153=== modified file 'gcc/testsuite/gcc.target/arm/neon/vrev16Qu8.c'
20154--- old/gcc/testsuite/gcc.target/arm/neon/vrev16Qu8.c 2007-07-25 11:28:31 +0000
20155+++ new/gcc/testsuite/gcc.target/arm/neon/vrev16Qu8.c 2010-07-29 15:38:15 +0000
20156@@ -3,7 +3,8 @@
20157
20158 /* { dg-do assemble } */
20159 /* { dg-require-effective-target arm_neon_ok } */
20160-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
20161+/* { dg-options "-save-temps -O0" } */
20162+/* { dg-add-options arm_neon } */
20163
20164 #include "arm_neon.h"
20165
20166
20167=== modified file 'gcc/testsuite/gcc.target/arm/neon/vrev16p8.c'
20168--- old/gcc/testsuite/gcc.target/arm/neon/vrev16p8.c 2007-07-25 11:28:31 +0000
20169+++ new/gcc/testsuite/gcc.target/arm/neon/vrev16p8.c 2010-07-29 15:38:15 +0000
20170@@ -3,7 +3,8 @@
20171
20172 /* { dg-do assemble } */
20173 /* { dg-require-effective-target arm_neon_ok } */
20174-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
20175+/* { dg-options "-save-temps -O0" } */
20176+/* { dg-add-options arm_neon } */
20177
20178 #include "arm_neon.h"
20179
20180
20181=== modified file 'gcc/testsuite/gcc.target/arm/neon/vrev16s8.c'
20182--- old/gcc/testsuite/gcc.target/arm/neon/vrev16s8.c 2007-07-25 11:28:31 +0000
20183+++ new/gcc/testsuite/gcc.target/arm/neon/vrev16s8.c 2010-07-29 15:38:15 +0000
20184@@ -3,7 +3,8 @@
20185
20186 /* { dg-do assemble } */
20187 /* { dg-require-effective-target arm_neon_ok } */
20188-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
20189+/* { dg-options "-save-temps -O0" } */
20190+/* { dg-add-options arm_neon } */
20191
20192 #include "arm_neon.h"
20193
20194
20195=== modified file 'gcc/testsuite/gcc.target/arm/neon/vrev16u8.c'
20196--- old/gcc/testsuite/gcc.target/arm/neon/vrev16u8.c 2007-07-25 11:28:31 +0000
20197+++ new/gcc/testsuite/gcc.target/arm/neon/vrev16u8.c 2010-07-29 15:38:15 +0000
20198@@ -3,7 +3,8 @@
20199
20200 /* { dg-do assemble } */
20201 /* { dg-require-effective-target arm_neon_ok } */
20202-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
20203+/* { dg-options "-save-temps -O0" } */
20204+/* { dg-add-options arm_neon } */
20205
20206 #include "arm_neon.h"
20207
20208
20209=== modified file 'gcc/testsuite/gcc.target/arm/neon/vrev32Qp16.c'
20210--- old/gcc/testsuite/gcc.target/arm/neon/vrev32Qp16.c 2007-07-25 11:28:31 +0000
20211+++ new/gcc/testsuite/gcc.target/arm/neon/vrev32Qp16.c 2010-07-29 15:38:15 +0000
20212@@ -3,7 +3,8 @@
20213
20214 /* { dg-do assemble } */
20215 /* { dg-require-effective-target arm_neon_ok } */
20216-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
20217+/* { dg-options "-save-temps -O0" } */
20218+/* { dg-add-options arm_neon } */
20219
20220 #include "arm_neon.h"
20221
20222
20223=== modified file 'gcc/testsuite/gcc.target/arm/neon/vrev32Qp8.c'
20224--- old/gcc/testsuite/gcc.target/arm/neon/vrev32Qp8.c 2007-07-25 11:28:31 +0000
20225+++ new/gcc/testsuite/gcc.target/arm/neon/vrev32Qp8.c 2010-07-29 15:38:15 +0000
20226@@ -3,7 +3,8 @@
20227
20228 /* { dg-do assemble } */
20229 /* { dg-require-effective-target arm_neon_ok } */
20230-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
20231+/* { dg-options "-save-temps -O0" } */
20232+/* { dg-add-options arm_neon } */
20233
20234 #include "arm_neon.h"
20235
20236
20237=== modified file 'gcc/testsuite/gcc.target/arm/neon/vrev32Qs16.c'
20238--- old/gcc/testsuite/gcc.target/arm/neon/vrev32Qs16.c 2007-07-25 11:28:31 +0000
20239+++ new/gcc/testsuite/gcc.target/arm/neon/vrev32Qs16.c 2010-07-29 15:38:15 +0000
20240@@ -3,7 +3,8 @@
20241
20242 /* { dg-do assemble } */
20243 /* { dg-require-effective-target arm_neon_ok } */
20244-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
20245+/* { dg-options "-save-temps -O0" } */
20246+/* { dg-add-options arm_neon } */
20247
20248 #include "arm_neon.h"
20249
20250
20251=== modified file 'gcc/testsuite/gcc.target/arm/neon/vrev32Qs8.c'
20252--- old/gcc/testsuite/gcc.target/arm/neon/vrev32Qs8.c 2007-07-25 11:28:31 +0000
20253+++ new/gcc/testsuite/gcc.target/arm/neon/vrev32Qs8.c 2010-07-29 15:38:15 +0000
20254@@ -3,7 +3,8 @@
20255
20256 /* { dg-do assemble } */
20257 /* { dg-require-effective-target arm_neon_ok } */
20258-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
20259+/* { dg-options "-save-temps -O0" } */
20260+/* { dg-add-options arm_neon } */
20261
20262 #include "arm_neon.h"
20263
20264
20265=== modified file 'gcc/testsuite/gcc.target/arm/neon/vrev32Qu16.c'
20266--- old/gcc/testsuite/gcc.target/arm/neon/vrev32Qu16.c 2007-07-25 11:28:31 +0000
20267+++ new/gcc/testsuite/gcc.target/arm/neon/vrev32Qu16.c 2010-07-29 15:38:15 +0000
20268@@ -3,7 +3,8 @@
20269
20270 /* { dg-do assemble } */
20271 /* { dg-require-effective-target arm_neon_ok } */
20272-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
20273+/* { dg-options "-save-temps -O0" } */
20274+/* { dg-add-options arm_neon } */
20275
20276 #include "arm_neon.h"
20277
20278
20279=== modified file 'gcc/testsuite/gcc.target/arm/neon/vrev32Qu8.c'
20280--- old/gcc/testsuite/gcc.target/arm/neon/vrev32Qu8.c 2007-07-25 11:28:31 +0000
20281+++ new/gcc/testsuite/gcc.target/arm/neon/vrev32Qu8.c 2010-07-29 15:38:15 +0000
20282@@ -3,7 +3,8 @@
20283
20284 /* { dg-do assemble } */
20285 /* { dg-require-effective-target arm_neon_ok } */
20286-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
20287+/* { dg-options "-save-temps -O0" } */
20288+/* { dg-add-options arm_neon } */
20289
20290 #include "arm_neon.h"
20291
20292
20293=== modified file 'gcc/testsuite/gcc.target/arm/neon/vrev32p16.c'
20294--- old/gcc/testsuite/gcc.target/arm/neon/vrev32p16.c 2007-07-25 11:28:31 +0000
20295+++ new/gcc/testsuite/gcc.target/arm/neon/vrev32p16.c 2010-07-29 15:38:15 +0000
20296@@ -3,7 +3,8 @@
20297
20298 /* { dg-do assemble } */
20299 /* { dg-require-effective-target arm_neon_ok } */
20300-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
20301+/* { dg-options "-save-temps -O0" } */
20302+/* { dg-add-options arm_neon } */
20303
20304 #include "arm_neon.h"
20305
20306
20307=== modified file 'gcc/testsuite/gcc.target/arm/neon/vrev32p8.c'
20308--- old/gcc/testsuite/gcc.target/arm/neon/vrev32p8.c 2007-07-25 11:28:31 +0000
20309+++ new/gcc/testsuite/gcc.target/arm/neon/vrev32p8.c 2010-07-29 15:38:15 +0000
20310@@ -3,7 +3,8 @@
20311
20312 /* { dg-do assemble } */
20313 /* { dg-require-effective-target arm_neon_ok } */
20314-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
20315+/* { dg-options "-save-temps -O0" } */
20316+/* { dg-add-options arm_neon } */
20317
20318 #include "arm_neon.h"
20319
20320
20321=== modified file 'gcc/testsuite/gcc.target/arm/neon/vrev32s16.c'
20322--- old/gcc/testsuite/gcc.target/arm/neon/vrev32s16.c 2007-07-25 11:28:31 +0000
20323+++ new/gcc/testsuite/gcc.target/arm/neon/vrev32s16.c 2010-07-29 15:38:15 +0000
20324@@ -3,7 +3,8 @@
20325
20326 /* { dg-do assemble } */
20327 /* { dg-require-effective-target arm_neon_ok } */
20328-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
20329+/* { dg-options "-save-temps -O0" } */
20330+/* { dg-add-options arm_neon } */
20331
20332 #include "arm_neon.h"
20333
20334
20335=== modified file 'gcc/testsuite/gcc.target/arm/neon/vrev32s8.c'
20336--- old/gcc/testsuite/gcc.target/arm/neon/vrev32s8.c 2007-07-25 11:28:31 +0000
20337+++ new/gcc/testsuite/gcc.target/arm/neon/vrev32s8.c 2010-07-29 15:38:15 +0000
20338@@ -3,7 +3,8 @@
20339
20340 /* { dg-do assemble } */
20341 /* { dg-require-effective-target arm_neon_ok } */
20342-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
20343+/* { dg-options "-save-temps -O0" } */
20344+/* { dg-add-options arm_neon } */
20345
20346 #include "arm_neon.h"
20347
20348
20349=== modified file 'gcc/testsuite/gcc.target/arm/neon/vrev32u16.c'
20350--- old/gcc/testsuite/gcc.target/arm/neon/vrev32u16.c 2007-07-25 11:28:31 +0000
20351+++ new/gcc/testsuite/gcc.target/arm/neon/vrev32u16.c 2010-07-29 15:38:15 +0000
20352@@ -3,7 +3,8 @@
20353
20354 /* { dg-do assemble } */
20355 /* { dg-require-effective-target arm_neon_ok } */
20356-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
20357+/* { dg-options "-save-temps -O0" } */
20358+/* { dg-add-options arm_neon } */
20359
20360 #include "arm_neon.h"
20361
20362
20363=== modified file 'gcc/testsuite/gcc.target/arm/neon/vrev32u8.c'
20364--- old/gcc/testsuite/gcc.target/arm/neon/vrev32u8.c 2007-07-25 11:28:31 +0000
20365+++ new/gcc/testsuite/gcc.target/arm/neon/vrev32u8.c 2010-07-29 15:38:15 +0000
20366@@ -3,7 +3,8 @@
20367
20368 /* { dg-do assemble } */
20369 /* { dg-require-effective-target arm_neon_ok } */
20370-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
20371+/* { dg-options "-save-temps -O0" } */
20372+/* { dg-add-options arm_neon } */
20373
20374 #include "arm_neon.h"
20375
20376
20377=== modified file 'gcc/testsuite/gcc.target/arm/neon/vrev64Qf32.c'
20378--- old/gcc/testsuite/gcc.target/arm/neon/vrev64Qf32.c 2007-07-25 11:28:31 +0000
20379+++ new/gcc/testsuite/gcc.target/arm/neon/vrev64Qf32.c 2010-07-29 15:38:15 +0000
20380@@ -3,7 +3,8 @@
20381
20382 /* { dg-do assemble } */
20383 /* { dg-require-effective-target arm_neon_ok } */
20384-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
20385+/* { dg-options "-save-temps -O0" } */
20386+/* { dg-add-options arm_neon } */
20387
20388 #include "arm_neon.h"
20389
20390
20391=== modified file 'gcc/testsuite/gcc.target/arm/neon/vrev64Qp16.c'
20392--- old/gcc/testsuite/gcc.target/arm/neon/vrev64Qp16.c 2007-07-25 11:28:31 +0000
20393+++ new/gcc/testsuite/gcc.target/arm/neon/vrev64Qp16.c 2010-07-29 15:38:15 +0000
20394@@ -3,7 +3,8 @@
20395
20396 /* { dg-do assemble } */
20397 /* { dg-require-effective-target arm_neon_ok } */
20398-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
20399+/* { dg-options "-save-temps -O0" } */
20400+/* { dg-add-options arm_neon } */
20401
20402 #include "arm_neon.h"
20403
20404
20405=== modified file 'gcc/testsuite/gcc.target/arm/neon/vrev64Qp8.c'
20406--- old/gcc/testsuite/gcc.target/arm/neon/vrev64Qp8.c 2007-07-25 11:28:31 +0000
20407+++ new/gcc/testsuite/gcc.target/arm/neon/vrev64Qp8.c 2010-07-29 15:38:15 +0000
20408@@ -3,7 +3,8 @@
20409
20410 /* { dg-do assemble } */
20411 /* { dg-require-effective-target arm_neon_ok } */
20412-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
20413+/* { dg-options "-save-temps -O0" } */
20414+/* { dg-add-options arm_neon } */
20415
20416 #include "arm_neon.h"
20417
20418
20419=== modified file 'gcc/testsuite/gcc.target/arm/neon/vrev64Qs16.c'
20420--- old/gcc/testsuite/gcc.target/arm/neon/vrev64Qs16.c 2007-07-25 11:28:31 +0000
20421+++ new/gcc/testsuite/gcc.target/arm/neon/vrev64Qs16.c 2010-07-29 15:38:15 +0000
20422@@ -3,7 +3,8 @@
20423
20424 /* { dg-do assemble } */
20425 /* { dg-require-effective-target arm_neon_ok } */
20426-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
20427+/* { dg-options "-save-temps -O0" } */
20428+/* { dg-add-options arm_neon } */
20429
20430 #include "arm_neon.h"
20431
20432
20433=== modified file 'gcc/testsuite/gcc.target/arm/neon/vrev64Qs32.c'
20434--- old/gcc/testsuite/gcc.target/arm/neon/vrev64Qs32.c 2007-07-25 11:28:31 +0000
20435+++ new/gcc/testsuite/gcc.target/arm/neon/vrev64Qs32.c 2010-07-29 15:38:15 +0000
20436@@ -3,7 +3,8 @@
20437
20438 /* { dg-do assemble } */
20439 /* { dg-require-effective-target arm_neon_ok } */
20440-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
20441+/* { dg-options "-save-temps -O0" } */
20442+/* { dg-add-options arm_neon } */
20443
20444 #include "arm_neon.h"
20445
20446
20447=== modified file 'gcc/testsuite/gcc.target/arm/neon/vrev64Qs8.c'
20448--- old/gcc/testsuite/gcc.target/arm/neon/vrev64Qs8.c 2007-07-25 11:28:31 +0000
20449+++ new/gcc/testsuite/gcc.target/arm/neon/vrev64Qs8.c 2010-07-29 15:38:15 +0000
20450@@ -3,7 +3,8 @@
20451
20452 /* { dg-do assemble } */
20453 /* { dg-require-effective-target arm_neon_ok } */
20454-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
20455+/* { dg-options "-save-temps -O0" } */
20456+/* { dg-add-options arm_neon } */
20457
20458 #include "arm_neon.h"
20459
20460
20461=== modified file 'gcc/testsuite/gcc.target/arm/neon/vrev64Qu16.c'
20462--- old/gcc/testsuite/gcc.target/arm/neon/vrev64Qu16.c 2007-07-25 11:28:31 +0000
20463+++ new/gcc/testsuite/gcc.target/arm/neon/vrev64Qu16.c 2010-07-29 15:38:15 +0000
20464@@ -3,7 +3,8 @@
20465
20466 /* { dg-do assemble } */
20467 /* { dg-require-effective-target arm_neon_ok } */
20468-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
20469+/* { dg-options "-save-temps -O0" } */
20470+/* { dg-add-options arm_neon } */
20471
20472 #include "arm_neon.h"
20473
20474
20475=== modified file 'gcc/testsuite/gcc.target/arm/neon/vrev64Qu32.c'
20476--- old/gcc/testsuite/gcc.target/arm/neon/vrev64Qu32.c 2007-07-25 11:28:31 +0000
20477+++ new/gcc/testsuite/gcc.target/arm/neon/vrev64Qu32.c 2010-07-29 15:38:15 +0000
20478@@ -3,7 +3,8 @@
20479
20480 /* { dg-do assemble } */
20481 /* { dg-require-effective-target arm_neon_ok } */
20482-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
20483+/* { dg-options "-save-temps -O0" } */
20484+/* { dg-add-options arm_neon } */
20485
20486 #include "arm_neon.h"
20487
20488
20489=== modified file 'gcc/testsuite/gcc.target/arm/neon/vrev64Qu8.c'
20490--- old/gcc/testsuite/gcc.target/arm/neon/vrev64Qu8.c 2007-07-25 11:28:31 +0000
20491+++ new/gcc/testsuite/gcc.target/arm/neon/vrev64Qu8.c 2010-07-29 15:38:15 +0000
20492@@ -3,7 +3,8 @@
20493
20494 /* { dg-do assemble } */
20495 /* { dg-require-effective-target arm_neon_ok } */
20496-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
20497+/* { dg-options "-save-temps -O0" } */
20498+/* { dg-add-options arm_neon } */
20499
20500 #include "arm_neon.h"
20501
20502
20503=== modified file 'gcc/testsuite/gcc.target/arm/neon/vrev64f32.c'
20504--- old/gcc/testsuite/gcc.target/arm/neon/vrev64f32.c 2007-07-25 11:28:31 +0000
20505+++ new/gcc/testsuite/gcc.target/arm/neon/vrev64f32.c 2010-07-29 15:38:15 +0000
20506@@ -3,7 +3,8 @@
20507
20508 /* { dg-do assemble } */
20509 /* { dg-require-effective-target arm_neon_ok } */
20510-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
20511+/* { dg-options "-save-temps -O0" } */
20512+/* { dg-add-options arm_neon } */
20513
20514 #include "arm_neon.h"
20515
20516
20517=== modified file 'gcc/testsuite/gcc.target/arm/neon/vrev64p16.c'
20518--- old/gcc/testsuite/gcc.target/arm/neon/vrev64p16.c 2007-07-25 11:28:31 +0000
20519+++ new/gcc/testsuite/gcc.target/arm/neon/vrev64p16.c 2010-07-29 15:38:15 +0000
20520@@ -3,7 +3,8 @@
20521
20522 /* { dg-do assemble } */
20523 /* { dg-require-effective-target arm_neon_ok } */
20524-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
20525+/* { dg-options "-save-temps -O0" } */
20526+/* { dg-add-options arm_neon } */
20527
20528 #include "arm_neon.h"
20529
20530
20531=== modified file 'gcc/testsuite/gcc.target/arm/neon/vrev64p8.c'
20532--- old/gcc/testsuite/gcc.target/arm/neon/vrev64p8.c 2007-07-25 11:28:31 +0000
20533+++ new/gcc/testsuite/gcc.target/arm/neon/vrev64p8.c 2010-07-29 15:38:15 +0000
20534@@ -3,7 +3,8 @@
20535
20536 /* { dg-do assemble } */
20537 /* { dg-require-effective-target arm_neon_ok } */
20538-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
20539+/* { dg-options "-save-temps -O0" } */
20540+/* { dg-add-options arm_neon } */
20541
20542 #include "arm_neon.h"
20543
20544
20545=== modified file 'gcc/testsuite/gcc.target/arm/neon/vrev64s16.c'
20546--- old/gcc/testsuite/gcc.target/arm/neon/vrev64s16.c 2007-07-25 11:28:31 +0000
20547+++ new/gcc/testsuite/gcc.target/arm/neon/vrev64s16.c 2010-07-29 15:38:15 +0000
20548@@ -3,7 +3,8 @@
20549
20550 /* { dg-do assemble } */
20551 /* { dg-require-effective-target arm_neon_ok } */
20552-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
20553+/* { dg-options "-save-temps -O0" } */
20554+/* { dg-add-options arm_neon } */
20555
20556 #include "arm_neon.h"
20557
20558
20559=== modified file 'gcc/testsuite/gcc.target/arm/neon/vrev64s32.c'
20560--- old/gcc/testsuite/gcc.target/arm/neon/vrev64s32.c 2007-07-25 11:28:31 +0000
20561+++ new/gcc/testsuite/gcc.target/arm/neon/vrev64s32.c 2010-07-29 15:38:15 +0000
20562@@ -3,7 +3,8 @@
20563
20564 /* { dg-do assemble } */
20565 /* { dg-require-effective-target arm_neon_ok } */
20566-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
20567+/* { dg-options "-save-temps -O0" } */
20568+/* { dg-add-options arm_neon } */
20569
20570 #include "arm_neon.h"
20571
20572
20573=== modified file 'gcc/testsuite/gcc.target/arm/neon/vrev64s8.c'
20574--- old/gcc/testsuite/gcc.target/arm/neon/vrev64s8.c 2007-07-25 11:28:31 +0000
20575+++ new/gcc/testsuite/gcc.target/arm/neon/vrev64s8.c 2010-07-29 15:38:15 +0000
20576@@ -3,7 +3,8 @@
20577
20578 /* { dg-do assemble } */
20579 /* { dg-require-effective-target arm_neon_ok } */
20580-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
20581+/* { dg-options "-save-temps -O0" } */
20582+/* { dg-add-options arm_neon } */
20583
20584 #include "arm_neon.h"
20585
20586
20587=== modified file 'gcc/testsuite/gcc.target/arm/neon/vrev64u16.c'
20588--- old/gcc/testsuite/gcc.target/arm/neon/vrev64u16.c 2007-07-25 11:28:31 +0000
20589+++ new/gcc/testsuite/gcc.target/arm/neon/vrev64u16.c 2010-07-29 15:38:15 +0000
20590@@ -3,7 +3,8 @@
20591
20592 /* { dg-do assemble } */
20593 /* { dg-require-effective-target arm_neon_ok } */
20594-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
20595+/* { dg-options "-save-temps -O0" } */
20596+/* { dg-add-options arm_neon } */
20597
20598 #include "arm_neon.h"
20599
20600
20601=== modified file 'gcc/testsuite/gcc.target/arm/neon/vrev64u32.c'
20602--- old/gcc/testsuite/gcc.target/arm/neon/vrev64u32.c 2007-07-25 11:28:31 +0000
20603+++ new/gcc/testsuite/gcc.target/arm/neon/vrev64u32.c 2010-07-29 15:38:15 +0000
20604@@ -3,7 +3,8 @@
20605
20606 /* { dg-do assemble } */
20607 /* { dg-require-effective-target arm_neon_ok } */
20608-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
20609+/* { dg-options "-save-temps -O0" } */
20610+/* { dg-add-options arm_neon } */
20611
20612 #include "arm_neon.h"
20613
20614
20615=== modified file 'gcc/testsuite/gcc.target/arm/neon/vrev64u8.c'
20616--- old/gcc/testsuite/gcc.target/arm/neon/vrev64u8.c 2007-07-25 11:28:31 +0000
20617+++ new/gcc/testsuite/gcc.target/arm/neon/vrev64u8.c 2010-07-29 15:38:15 +0000
20618@@ -3,7 +3,8 @@
20619
20620 /* { dg-do assemble } */
20621 /* { dg-require-effective-target arm_neon_ok } */
20622-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
20623+/* { dg-options "-save-temps -O0" } */
20624+/* { dg-add-options arm_neon } */
20625
20626 #include "arm_neon.h"
20627
20628
20629=== modified file 'gcc/testsuite/gcc.target/arm/neon/vrsqrteQf32.c'
20630--- old/gcc/testsuite/gcc.target/arm/neon/vrsqrteQf32.c 2007-07-25 11:28:31 +0000
20631+++ new/gcc/testsuite/gcc.target/arm/neon/vrsqrteQf32.c 2010-07-29 15:38:15 +0000
20632@@ -3,7 +3,8 @@
20633
20634 /* { dg-do assemble } */
20635 /* { dg-require-effective-target arm_neon_ok } */
20636-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
20637+/* { dg-options "-save-temps -O0" } */
20638+/* { dg-add-options arm_neon } */
20639
20640 #include "arm_neon.h"
20641
20642
20643=== modified file 'gcc/testsuite/gcc.target/arm/neon/vrsqrteQu32.c'
20644--- old/gcc/testsuite/gcc.target/arm/neon/vrsqrteQu32.c 2007-07-25 11:28:31 +0000
20645+++ new/gcc/testsuite/gcc.target/arm/neon/vrsqrteQu32.c 2010-07-29 15:38:15 +0000
20646@@ -3,7 +3,8 @@
20647
20648 /* { dg-do assemble } */
20649 /* { dg-require-effective-target arm_neon_ok } */
20650-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
20651+/* { dg-options "-save-temps -O0" } */
20652+/* { dg-add-options arm_neon } */
20653
20654 #include "arm_neon.h"
20655
20656
20657=== modified file 'gcc/testsuite/gcc.target/arm/neon/vrsqrtef32.c'
20658--- old/gcc/testsuite/gcc.target/arm/neon/vrsqrtef32.c 2007-07-25 11:28:31 +0000
20659+++ new/gcc/testsuite/gcc.target/arm/neon/vrsqrtef32.c 2010-07-29 15:38:15 +0000
20660@@ -3,7 +3,8 @@
20661
20662 /* { dg-do assemble } */
20663 /* { dg-require-effective-target arm_neon_ok } */
20664-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
20665+/* { dg-options "-save-temps -O0" } */
20666+/* { dg-add-options arm_neon } */
20667
20668 #include "arm_neon.h"
20669
20670
20671=== modified file 'gcc/testsuite/gcc.target/arm/neon/vrsqrteu32.c'
20672--- old/gcc/testsuite/gcc.target/arm/neon/vrsqrteu32.c 2007-07-25 11:28:31 +0000
20673+++ new/gcc/testsuite/gcc.target/arm/neon/vrsqrteu32.c 2010-07-29 15:38:15 +0000
20674@@ -3,7 +3,8 @@
20675
20676 /* { dg-do assemble } */
20677 /* { dg-require-effective-target arm_neon_ok } */
20678-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
20679+/* { dg-options "-save-temps -O0" } */
20680+/* { dg-add-options arm_neon } */
20681
20682 #include "arm_neon.h"
20683
20684
20685=== modified file 'gcc/testsuite/gcc.target/arm/neon/vrsqrtsQf32.c'
20686--- old/gcc/testsuite/gcc.target/arm/neon/vrsqrtsQf32.c 2007-07-25 11:28:31 +0000
20687+++ new/gcc/testsuite/gcc.target/arm/neon/vrsqrtsQf32.c 2010-07-29 15:38:15 +0000
20688@@ -3,7 +3,8 @@
20689
20690 /* { dg-do assemble } */
20691 /* { dg-require-effective-target arm_neon_ok } */
20692-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
20693+/* { dg-options "-save-temps -O0" } */
20694+/* { dg-add-options arm_neon } */
20695
20696 #include "arm_neon.h"
20697
20698
20699=== modified file 'gcc/testsuite/gcc.target/arm/neon/vrsqrtsf32.c'
20700--- old/gcc/testsuite/gcc.target/arm/neon/vrsqrtsf32.c 2007-07-25 11:28:31 +0000
20701+++ new/gcc/testsuite/gcc.target/arm/neon/vrsqrtsf32.c 2010-07-29 15:38:15 +0000
20702@@ -3,7 +3,8 @@
20703
20704 /* { dg-do assemble } */
20705 /* { dg-require-effective-target arm_neon_ok } */
20706-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
20707+/* { dg-options "-save-temps -O0" } */
20708+/* { dg-add-options arm_neon } */
20709
20710 #include "arm_neon.h"
20711
20712
20713=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsetQ_lanef32.c'
20714--- old/gcc/testsuite/gcc.target/arm/neon/vsetQ_lanef32.c 2007-07-25 11:28:31 +0000
20715+++ new/gcc/testsuite/gcc.target/arm/neon/vsetQ_lanef32.c 2010-07-29 15:38:15 +0000
20716@@ -3,7 +3,8 @@
20717
20718 /* { dg-do assemble } */
20719 /* { dg-require-effective-target arm_neon_ok } */
20720-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
20721+/* { dg-options "-save-temps -O0" } */
20722+/* { dg-add-options arm_neon } */
20723
20724 #include "arm_neon.h"
20725
20726
20727=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsetQ_lanep16.c'
20728--- old/gcc/testsuite/gcc.target/arm/neon/vsetQ_lanep16.c 2007-07-25 11:28:31 +0000
20729+++ new/gcc/testsuite/gcc.target/arm/neon/vsetQ_lanep16.c 2010-07-29 15:38:15 +0000
20730@@ -3,7 +3,8 @@
20731
20732 /* { dg-do assemble } */
20733 /* { dg-require-effective-target arm_neon_ok } */
20734-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
20735+/* { dg-options "-save-temps -O0" } */
20736+/* { dg-add-options arm_neon } */
20737
20738 #include "arm_neon.h"
20739
20740
20741=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsetQ_lanep8.c'
20742--- old/gcc/testsuite/gcc.target/arm/neon/vsetQ_lanep8.c 2007-07-25 11:28:31 +0000
20743+++ new/gcc/testsuite/gcc.target/arm/neon/vsetQ_lanep8.c 2010-07-29 15:38:15 +0000
20744@@ -3,7 +3,8 @@
20745
20746 /* { dg-do assemble } */
20747 /* { dg-require-effective-target arm_neon_ok } */
20748-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
20749+/* { dg-options "-save-temps -O0" } */
20750+/* { dg-add-options arm_neon } */
20751
20752 #include "arm_neon.h"
20753
20754
20755=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsetQ_lanes16.c'
20756--- old/gcc/testsuite/gcc.target/arm/neon/vsetQ_lanes16.c 2007-07-25 11:28:31 +0000
20757+++ new/gcc/testsuite/gcc.target/arm/neon/vsetQ_lanes16.c 2010-07-29 15:38:15 +0000
20758@@ -3,7 +3,8 @@
20759
20760 /* { dg-do assemble } */
20761 /* { dg-require-effective-target arm_neon_ok } */
20762-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
20763+/* { dg-options "-save-temps -O0" } */
20764+/* { dg-add-options arm_neon } */
20765
20766 #include "arm_neon.h"
20767
20768
20769=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsetQ_lanes32.c'
20770--- old/gcc/testsuite/gcc.target/arm/neon/vsetQ_lanes32.c 2007-07-25 11:28:31 +0000
20771+++ new/gcc/testsuite/gcc.target/arm/neon/vsetQ_lanes32.c 2010-07-29 15:38:15 +0000
20772@@ -3,7 +3,8 @@
20773
20774 /* { dg-do assemble } */
20775 /* { dg-require-effective-target arm_neon_ok } */
20776-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
20777+/* { dg-options "-save-temps -O0" } */
20778+/* { dg-add-options arm_neon } */
20779
20780 #include "arm_neon.h"
20781
20782
20783=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsetQ_lanes64.c'
20784--- old/gcc/testsuite/gcc.target/arm/neon/vsetQ_lanes64.c 2007-07-25 11:28:31 +0000
20785+++ new/gcc/testsuite/gcc.target/arm/neon/vsetQ_lanes64.c 2010-07-29 15:38:15 +0000
20786@@ -3,7 +3,8 @@
20787
20788 /* { dg-do assemble } */
20789 /* { dg-require-effective-target arm_neon_ok } */
20790-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
20791+/* { dg-options "-save-temps -O0" } */
20792+/* { dg-add-options arm_neon } */
20793
20794 #include "arm_neon.h"
20795
20796
20797=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsetQ_lanes8.c'
20798--- old/gcc/testsuite/gcc.target/arm/neon/vsetQ_lanes8.c 2007-07-25 11:28:31 +0000
20799+++ new/gcc/testsuite/gcc.target/arm/neon/vsetQ_lanes8.c 2010-07-29 15:38:15 +0000
20800@@ -3,7 +3,8 @@
20801
20802 /* { dg-do assemble } */
20803 /* { dg-require-effective-target arm_neon_ok } */
20804-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
20805+/* { dg-options "-save-temps -O0" } */
20806+/* { dg-add-options arm_neon } */
20807
20808 #include "arm_neon.h"
20809
20810
20811=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsetQ_laneu16.c'
20812--- old/gcc/testsuite/gcc.target/arm/neon/vsetQ_laneu16.c 2007-07-25 11:28:31 +0000
20813+++ new/gcc/testsuite/gcc.target/arm/neon/vsetQ_laneu16.c 2010-07-29 15:38:15 +0000
20814@@ -3,7 +3,8 @@
20815
20816 /* { dg-do assemble } */
20817 /* { dg-require-effective-target arm_neon_ok } */
20818-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
20819+/* { dg-options "-save-temps -O0" } */
20820+/* { dg-add-options arm_neon } */
20821
20822 #include "arm_neon.h"
20823
20824
20825=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsetQ_laneu32.c'
20826--- old/gcc/testsuite/gcc.target/arm/neon/vsetQ_laneu32.c 2007-07-25 11:28:31 +0000
20827+++ new/gcc/testsuite/gcc.target/arm/neon/vsetQ_laneu32.c 2010-07-29 15:38:15 +0000
20828@@ -3,7 +3,8 @@
20829
20830 /* { dg-do assemble } */
20831 /* { dg-require-effective-target arm_neon_ok } */
20832-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
20833+/* { dg-options "-save-temps -O0" } */
20834+/* { dg-add-options arm_neon } */
20835
20836 #include "arm_neon.h"
20837
20838
20839=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsetQ_laneu64.c'
20840--- old/gcc/testsuite/gcc.target/arm/neon/vsetQ_laneu64.c 2007-07-25 11:28:31 +0000
20841+++ new/gcc/testsuite/gcc.target/arm/neon/vsetQ_laneu64.c 2010-07-29 15:38:15 +0000
20842@@ -3,7 +3,8 @@
20843
20844 /* { dg-do assemble } */
20845 /* { dg-require-effective-target arm_neon_ok } */
20846-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
20847+/* { dg-options "-save-temps -O0" } */
20848+/* { dg-add-options arm_neon } */
20849
20850 #include "arm_neon.h"
20851
20852
20853=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsetQ_laneu8.c'
20854--- old/gcc/testsuite/gcc.target/arm/neon/vsetQ_laneu8.c 2007-07-25 11:28:31 +0000
20855+++ new/gcc/testsuite/gcc.target/arm/neon/vsetQ_laneu8.c 2010-07-29 15:38:15 +0000
20856@@ -3,7 +3,8 @@
20857
20858 /* { dg-do assemble } */
20859 /* { dg-require-effective-target arm_neon_ok } */
20860-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
20861+/* { dg-options "-save-temps -O0" } */
20862+/* { dg-add-options arm_neon } */
20863
20864 #include "arm_neon.h"
20865
20866
20867=== modified file 'gcc/testsuite/gcc.target/arm/neon/vset_lanef32.c'
20868--- old/gcc/testsuite/gcc.target/arm/neon/vset_lanef32.c 2007-07-25 11:28:31 +0000
20869+++ new/gcc/testsuite/gcc.target/arm/neon/vset_lanef32.c 2010-07-29 15:38:15 +0000
20870@@ -3,7 +3,8 @@
20871
20872 /* { dg-do assemble } */
20873 /* { dg-require-effective-target arm_neon_ok } */
20874-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
20875+/* { dg-options "-save-temps -O0" } */
20876+/* { dg-add-options arm_neon } */
20877
20878 #include "arm_neon.h"
20879
20880
20881=== modified file 'gcc/testsuite/gcc.target/arm/neon/vset_lanep16.c'
20882--- old/gcc/testsuite/gcc.target/arm/neon/vset_lanep16.c 2007-07-25 11:28:31 +0000
20883+++ new/gcc/testsuite/gcc.target/arm/neon/vset_lanep16.c 2010-07-29 15:38:15 +0000
20884@@ -3,7 +3,8 @@
20885
20886 /* { dg-do assemble } */
20887 /* { dg-require-effective-target arm_neon_ok } */
20888-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
20889+/* { dg-options "-save-temps -O0" } */
20890+/* { dg-add-options arm_neon } */
20891
20892 #include "arm_neon.h"
20893
20894
20895=== modified file 'gcc/testsuite/gcc.target/arm/neon/vset_lanep8.c'
20896--- old/gcc/testsuite/gcc.target/arm/neon/vset_lanep8.c 2007-07-25 11:28:31 +0000
20897+++ new/gcc/testsuite/gcc.target/arm/neon/vset_lanep8.c 2010-07-29 15:38:15 +0000
20898@@ -3,7 +3,8 @@
20899
20900 /* { dg-do assemble } */
20901 /* { dg-require-effective-target arm_neon_ok } */
20902-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
20903+/* { dg-options "-save-temps -O0" } */
20904+/* { dg-add-options arm_neon } */
20905
20906 #include "arm_neon.h"
20907
20908
20909=== modified file 'gcc/testsuite/gcc.target/arm/neon/vset_lanes16.c'
20910--- old/gcc/testsuite/gcc.target/arm/neon/vset_lanes16.c 2007-07-25 11:28:31 +0000
20911+++ new/gcc/testsuite/gcc.target/arm/neon/vset_lanes16.c 2010-07-29 15:38:15 +0000
20912@@ -3,7 +3,8 @@
20913
20914 /* { dg-do assemble } */
20915 /* { dg-require-effective-target arm_neon_ok } */
20916-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
20917+/* { dg-options "-save-temps -O0" } */
20918+/* { dg-add-options arm_neon } */
20919
20920 #include "arm_neon.h"
20921
20922
20923=== modified file 'gcc/testsuite/gcc.target/arm/neon/vset_lanes32.c'
20924--- old/gcc/testsuite/gcc.target/arm/neon/vset_lanes32.c 2007-07-25 11:28:31 +0000
20925+++ new/gcc/testsuite/gcc.target/arm/neon/vset_lanes32.c 2010-07-29 15:38:15 +0000
20926@@ -3,7 +3,8 @@
20927
20928 /* { dg-do assemble } */
20929 /* { dg-require-effective-target arm_neon_ok } */
20930-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
20931+/* { dg-options "-save-temps -O0" } */
20932+/* { dg-add-options arm_neon } */
20933
20934 #include "arm_neon.h"
20935
20936
20937=== modified file 'gcc/testsuite/gcc.target/arm/neon/vset_lanes64.c'
20938--- old/gcc/testsuite/gcc.target/arm/neon/vset_lanes64.c 2007-07-25 11:28:31 +0000
20939+++ new/gcc/testsuite/gcc.target/arm/neon/vset_lanes64.c 2010-07-29 15:38:15 +0000
20940@@ -3,7 +3,8 @@
20941
20942 /* { dg-do assemble } */
20943 /* { dg-require-effective-target arm_neon_ok } */
20944-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
20945+/* { dg-options "-save-temps -O0" } */
20946+/* { dg-add-options arm_neon } */
20947
20948 #include "arm_neon.h"
20949
20950
20951=== modified file 'gcc/testsuite/gcc.target/arm/neon/vset_lanes8.c'
20952--- old/gcc/testsuite/gcc.target/arm/neon/vset_lanes8.c 2007-07-25 11:28:31 +0000
20953+++ new/gcc/testsuite/gcc.target/arm/neon/vset_lanes8.c 2010-07-29 15:38:15 +0000
20954@@ -3,7 +3,8 @@
20955
20956 /* { dg-do assemble } */
20957 /* { dg-require-effective-target arm_neon_ok } */
20958-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
20959+/* { dg-options "-save-temps -O0" } */
20960+/* { dg-add-options arm_neon } */
20961
20962 #include "arm_neon.h"
20963
20964
20965=== modified file 'gcc/testsuite/gcc.target/arm/neon/vset_laneu16.c'
20966--- old/gcc/testsuite/gcc.target/arm/neon/vset_laneu16.c 2007-07-25 11:28:31 +0000
20967+++ new/gcc/testsuite/gcc.target/arm/neon/vset_laneu16.c 2010-07-29 15:38:15 +0000
20968@@ -3,7 +3,8 @@
20969
20970 /* { dg-do assemble } */
20971 /* { dg-require-effective-target arm_neon_ok } */
20972-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
20973+/* { dg-options "-save-temps -O0" } */
20974+/* { dg-add-options arm_neon } */
20975
20976 #include "arm_neon.h"
20977
20978
20979=== modified file 'gcc/testsuite/gcc.target/arm/neon/vset_laneu32.c'
20980--- old/gcc/testsuite/gcc.target/arm/neon/vset_laneu32.c 2007-07-25 11:28:31 +0000
20981+++ new/gcc/testsuite/gcc.target/arm/neon/vset_laneu32.c 2010-07-29 15:38:15 +0000
20982@@ -3,7 +3,8 @@
20983
20984 /* { dg-do assemble } */
20985 /* { dg-require-effective-target arm_neon_ok } */
20986-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
20987+/* { dg-options "-save-temps -O0" } */
20988+/* { dg-add-options arm_neon } */
20989
20990 #include "arm_neon.h"
20991
20992
20993=== modified file 'gcc/testsuite/gcc.target/arm/neon/vset_laneu64.c'
20994--- old/gcc/testsuite/gcc.target/arm/neon/vset_laneu64.c 2007-07-25 11:28:31 +0000
20995+++ new/gcc/testsuite/gcc.target/arm/neon/vset_laneu64.c 2010-07-29 15:38:15 +0000
20996@@ -3,7 +3,8 @@
20997
20998 /* { dg-do assemble } */
20999 /* { dg-require-effective-target arm_neon_ok } */
21000-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
21001+/* { dg-options "-save-temps -O0" } */
21002+/* { dg-add-options arm_neon } */
21003
21004 #include "arm_neon.h"
21005
21006
21007=== modified file 'gcc/testsuite/gcc.target/arm/neon/vset_laneu8.c'
21008--- old/gcc/testsuite/gcc.target/arm/neon/vset_laneu8.c 2007-07-25 11:28:31 +0000
21009+++ new/gcc/testsuite/gcc.target/arm/neon/vset_laneu8.c 2010-07-29 15:38:15 +0000
21010@@ -3,7 +3,8 @@
21011
21012 /* { dg-do assemble } */
21013 /* { dg-require-effective-target arm_neon_ok } */
21014-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
21015+/* { dg-options "-save-temps -O0" } */
21016+/* { dg-add-options arm_neon } */
21017
21018 #include "arm_neon.h"
21019
21020
21021=== modified file 'gcc/testsuite/gcc.target/arm/neon/vshlQ_ns16.c'
21022--- old/gcc/testsuite/gcc.target/arm/neon/vshlQ_ns16.c 2007-07-25 11:28:31 +0000
21023+++ new/gcc/testsuite/gcc.target/arm/neon/vshlQ_ns16.c 2010-07-29 15:38:15 +0000
21024@@ -3,7 +3,8 @@
21025
21026 /* { dg-do assemble } */
21027 /* { dg-require-effective-target arm_neon_ok } */
21028-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
21029+/* { dg-options "-save-temps -O0" } */
21030+/* { dg-add-options arm_neon } */
21031
21032 #include "arm_neon.h"
21033
21034
21035=== modified file 'gcc/testsuite/gcc.target/arm/neon/vshlQ_ns32.c'
21036--- old/gcc/testsuite/gcc.target/arm/neon/vshlQ_ns32.c 2007-07-25 11:28:31 +0000
21037+++ new/gcc/testsuite/gcc.target/arm/neon/vshlQ_ns32.c 2010-07-29 15:38:15 +0000
21038@@ -3,7 +3,8 @@
21039
21040 /* { dg-do assemble } */
21041 /* { dg-require-effective-target arm_neon_ok } */
21042-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
21043+/* { dg-options "-save-temps -O0" } */
21044+/* { dg-add-options arm_neon } */
21045
21046 #include "arm_neon.h"
21047
21048
21049=== modified file 'gcc/testsuite/gcc.target/arm/neon/vshlQ_ns64.c'
21050--- old/gcc/testsuite/gcc.target/arm/neon/vshlQ_ns64.c 2007-07-25 11:28:31 +0000
21051+++ new/gcc/testsuite/gcc.target/arm/neon/vshlQ_ns64.c 2010-07-29 15:38:15 +0000
21052@@ -3,7 +3,8 @@
21053
21054 /* { dg-do assemble } */
21055 /* { dg-require-effective-target arm_neon_ok } */
21056-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
21057+/* { dg-options "-save-temps -O0" } */
21058+/* { dg-add-options arm_neon } */
21059
21060 #include "arm_neon.h"
21061
21062
21063=== modified file 'gcc/testsuite/gcc.target/arm/neon/vshlQ_ns8.c'
21064--- old/gcc/testsuite/gcc.target/arm/neon/vshlQ_ns8.c 2007-07-25 11:28:31 +0000
21065+++ new/gcc/testsuite/gcc.target/arm/neon/vshlQ_ns8.c 2010-07-29 15:38:15 +0000
21066@@ -3,7 +3,8 @@
21067
21068 /* { dg-do assemble } */
21069 /* { dg-require-effective-target arm_neon_ok } */
21070-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
21071+/* { dg-options "-save-temps -O0" } */
21072+/* { dg-add-options arm_neon } */
21073
21074 #include "arm_neon.h"
21075
21076
21077=== modified file 'gcc/testsuite/gcc.target/arm/neon/vshlQ_nu16.c'
21078--- old/gcc/testsuite/gcc.target/arm/neon/vshlQ_nu16.c 2007-07-25 11:28:31 +0000
21079+++ new/gcc/testsuite/gcc.target/arm/neon/vshlQ_nu16.c 2010-07-29 15:38:15 +0000
21080@@ -3,7 +3,8 @@
21081
21082 /* { dg-do assemble } */
21083 /* { dg-require-effective-target arm_neon_ok } */
21084-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
21085+/* { dg-options "-save-temps -O0" } */
21086+/* { dg-add-options arm_neon } */
21087
21088 #include "arm_neon.h"
21089
21090
21091=== modified file 'gcc/testsuite/gcc.target/arm/neon/vshlQ_nu32.c'
21092--- old/gcc/testsuite/gcc.target/arm/neon/vshlQ_nu32.c 2007-07-25 11:28:31 +0000
21093+++ new/gcc/testsuite/gcc.target/arm/neon/vshlQ_nu32.c 2010-07-29 15:38:15 +0000
21094@@ -3,7 +3,8 @@
21095
21096 /* { dg-do assemble } */
21097 /* { dg-require-effective-target arm_neon_ok } */
21098-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
21099+/* { dg-options "-save-temps -O0" } */
21100+/* { dg-add-options arm_neon } */
21101
21102 #include "arm_neon.h"
21103
21104
21105=== modified file 'gcc/testsuite/gcc.target/arm/neon/vshlQ_nu64.c'
21106--- old/gcc/testsuite/gcc.target/arm/neon/vshlQ_nu64.c 2007-07-25 11:28:31 +0000
21107+++ new/gcc/testsuite/gcc.target/arm/neon/vshlQ_nu64.c 2010-07-29 15:38:15 +0000
21108@@ -3,7 +3,8 @@
21109
21110 /* { dg-do assemble } */
21111 /* { dg-require-effective-target arm_neon_ok } */
21112-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
21113+/* { dg-options "-save-temps -O0" } */
21114+/* { dg-add-options arm_neon } */
21115
21116 #include "arm_neon.h"
21117
21118
21119=== modified file 'gcc/testsuite/gcc.target/arm/neon/vshlQ_nu8.c'
21120--- old/gcc/testsuite/gcc.target/arm/neon/vshlQ_nu8.c 2007-07-25 11:28:31 +0000
21121+++ new/gcc/testsuite/gcc.target/arm/neon/vshlQ_nu8.c 2010-07-29 15:38:15 +0000
21122@@ -3,7 +3,8 @@
21123
21124 /* { dg-do assemble } */
21125 /* { dg-require-effective-target arm_neon_ok } */
21126-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
21127+/* { dg-options "-save-temps -O0" } */
21128+/* { dg-add-options arm_neon } */
21129
21130 #include "arm_neon.h"
21131
21132
21133=== modified file 'gcc/testsuite/gcc.target/arm/neon/vshlQs16.c'
21134--- old/gcc/testsuite/gcc.target/arm/neon/vshlQs16.c 2007-07-25 11:28:31 +0000
21135+++ new/gcc/testsuite/gcc.target/arm/neon/vshlQs16.c 2010-07-29 15:38:15 +0000
21136@@ -3,7 +3,8 @@
21137
21138 /* { dg-do assemble } */
21139 /* { dg-require-effective-target arm_neon_ok } */
21140-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
21141+/* { dg-options "-save-temps -O0" } */
21142+/* { dg-add-options arm_neon } */
21143
21144 #include "arm_neon.h"
21145
21146
21147=== modified file 'gcc/testsuite/gcc.target/arm/neon/vshlQs32.c'
21148--- old/gcc/testsuite/gcc.target/arm/neon/vshlQs32.c 2007-07-25 11:28:31 +0000
21149+++ new/gcc/testsuite/gcc.target/arm/neon/vshlQs32.c 2010-07-29 15:38:15 +0000
21150@@ -3,7 +3,8 @@
21151
21152 /* { dg-do assemble } */
21153 /* { dg-require-effective-target arm_neon_ok } */
21154-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
21155+/* { dg-options "-save-temps -O0" } */
21156+/* { dg-add-options arm_neon } */
21157
21158 #include "arm_neon.h"
21159
21160
21161=== modified file 'gcc/testsuite/gcc.target/arm/neon/vshlQs64.c'
21162--- old/gcc/testsuite/gcc.target/arm/neon/vshlQs64.c 2007-07-25 11:28:31 +0000
21163+++ new/gcc/testsuite/gcc.target/arm/neon/vshlQs64.c 2010-07-29 15:38:15 +0000
21164@@ -3,7 +3,8 @@
21165
21166 /* { dg-do assemble } */
21167 /* { dg-require-effective-target arm_neon_ok } */
21168-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
21169+/* { dg-options "-save-temps -O0" } */
21170+/* { dg-add-options arm_neon } */
21171
21172 #include "arm_neon.h"
21173
21174
21175=== modified file 'gcc/testsuite/gcc.target/arm/neon/vshlQs8.c'
21176--- old/gcc/testsuite/gcc.target/arm/neon/vshlQs8.c 2007-07-25 11:28:31 +0000
21177+++ new/gcc/testsuite/gcc.target/arm/neon/vshlQs8.c 2010-07-29 15:38:15 +0000
21178@@ -3,7 +3,8 @@
21179
21180 /* { dg-do assemble } */
21181 /* { dg-require-effective-target arm_neon_ok } */
21182-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
21183+/* { dg-options "-save-temps -O0" } */
21184+/* { dg-add-options arm_neon } */
21185
21186 #include "arm_neon.h"
21187
21188
21189=== modified file 'gcc/testsuite/gcc.target/arm/neon/vshlQu16.c'
21190--- old/gcc/testsuite/gcc.target/arm/neon/vshlQu16.c 2007-07-25 11:28:31 +0000
21191+++ new/gcc/testsuite/gcc.target/arm/neon/vshlQu16.c 2010-07-29 15:38:15 +0000
21192@@ -3,7 +3,8 @@
21193
21194 /* { dg-do assemble } */
21195 /* { dg-require-effective-target arm_neon_ok } */
21196-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
21197+/* { dg-options "-save-temps -O0" } */
21198+/* { dg-add-options arm_neon } */
21199
21200 #include "arm_neon.h"
21201
21202
21203=== modified file 'gcc/testsuite/gcc.target/arm/neon/vshlQu32.c'
21204--- old/gcc/testsuite/gcc.target/arm/neon/vshlQu32.c 2007-07-25 11:28:31 +0000
21205+++ new/gcc/testsuite/gcc.target/arm/neon/vshlQu32.c 2010-07-29 15:38:15 +0000
21206@@ -3,7 +3,8 @@
21207
21208 /* { dg-do assemble } */
21209 /* { dg-require-effective-target arm_neon_ok } */
21210-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
21211+/* { dg-options "-save-temps -O0" } */
21212+/* { dg-add-options arm_neon } */
21213
21214 #include "arm_neon.h"
21215
21216
21217=== modified file 'gcc/testsuite/gcc.target/arm/neon/vshlQu64.c'
21218--- old/gcc/testsuite/gcc.target/arm/neon/vshlQu64.c 2007-07-25 11:28:31 +0000
21219+++ new/gcc/testsuite/gcc.target/arm/neon/vshlQu64.c 2010-07-29 15:38:15 +0000
21220@@ -3,7 +3,8 @@
21221
21222 /* { dg-do assemble } */
21223 /* { dg-require-effective-target arm_neon_ok } */
21224-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
21225+/* { dg-options "-save-temps -O0" } */
21226+/* { dg-add-options arm_neon } */
21227
21228 #include "arm_neon.h"
21229
21230
21231=== modified file 'gcc/testsuite/gcc.target/arm/neon/vshlQu8.c'
21232--- old/gcc/testsuite/gcc.target/arm/neon/vshlQu8.c 2007-07-25 11:28:31 +0000
21233+++ new/gcc/testsuite/gcc.target/arm/neon/vshlQu8.c 2010-07-29 15:38:15 +0000
21234@@ -3,7 +3,8 @@
21235
21236 /* { dg-do assemble } */
21237 /* { dg-require-effective-target arm_neon_ok } */
21238-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
21239+/* { dg-options "-save-temps -O0" } */
21240+/* { dg-add-options arm_neon } */
21241
21242 #include "arm_neon.h"
21243
21244
21245=== modified file 'gcc/testsuite/gcc.target/arm/neon/vshl_ns16.c'
21246--- old/gcc/testsuite/gcc.target/arm/neon/vshl_ns16.c 2007-07-25 11:28:31 +0000
21247+++ new/gcc/testsuite/gcc.target/arm/neon/vshl_ns16.c 2010-07-29 15:38:15 +0000
21248@@ -3,7 +3,8 @@
21249
21250 /* { dg-do assemble } */
21251 /* { dg-require-effective-target arm_neon_ok } */
21252-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
21253+/* { dg-options "-save-temps -O0" } */
21254+/* { dg-add-options arm_neon } */
21255
21256 #include "arm_neon.h"
21257
21258
21259=== modified file 'gcc/testsuite/gcc.target/arm/neon/vshl_ns32.c'
21260--- old/gcc/testsuite/gcc.target/arm/neon/vshl_ns32.c 2007-07-25 11:28:31 +0000
21261+++ new/gcc/testsuite/gcc.target/arm/neon/vshl_ns32.c 2010-07-29 15:38:15 +0000
21262@@ -3,7 +3,8 @@
21263
21264 /* { dg-do assemble } */
21265 /* { dg-require-effective-target arm_neon_ok } */
21266-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
21267+/* { dg-options "-save-temps -O0" } */
21268+/* { dg-add-options arm_neon } */
21269
21270 #include "arm_neon.h"
21271
21272
21273=== modified file 'gcc/testsuite/gcc.target/arm/neon/vshl_ns64.c'
21274--- old/gcc/testsuite/gcc.target/arm/neon/vshl_ns64.c 2007-07-25 11:28:31 +0000
21275+++ new/gcc/testsuite/gcc.target/arm/neon/vshl_ns64.c 2010-07-29 15:38:15 +0000
21276@@ -3,7 +3,8 @@
21277
21278 /* { dg-do assemble } */
21279 /* { dg-require-effective-target arm_neon_ok } */
21280-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
21281+/* { dg-options "-save-temps -O0" } */
21282+/* { dg-add-options arm_neon } */
21283
21284 #include "arm_neon.h"
21285
21286
21287=== modified file 'gcc/testsuite/gcc.target/arm/neon/vshl_ns8.c'
21288--- old/gcc/testsuite/gcc.target/arm/neon/vshl_ns8.c 2007-07-25 11:28:31 +0000
21289+++ new/gcc/testsuite/gcc.target/arm/neon/vshl_ns8.c 2010-07-29 15:38:15 +0000
21290@@ -3,7 +3,8 @@
21291
21292 /* { dg-do assemble } */
21293 /* { dg-require-effective-target arm_neon_ok } */
21294-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
21295+/* { dg-options "-save-temps -O0" } */
21296+/* { dg-add-options arm_neon } */
21297
21298 #include "arm_neon.h"
21299
21300
21301=== modified file 'gcc/testsuite/gcc.target/arm/neon/vshl_nu16.c'
21302--- old/gcc/testsuite/gcc.target/arm/neon/vshl_nu16.c 2007-07-25 11:28:31 +0000
21303+++ new/gcc/testsuite/gcc.target/arm/neon/vshl_nu16.c 2010-07-29 15:38:15 +0000
21304@@ -3,7 +3,8 @@
21305
21306 /* { dg-do assemble } */
21307 /* { dg-require-effective-target arm_neon_ok } */
21308-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
21309+/* { dg-options "-save-temps -O0" } */
21310+/* { dg-add-options arm_neon } */
21311
21312 #include "arm_neon.h"
21313
21314
21315=== modified file 'gcc/testsuite/gcc.target/arm/neon/vshl_nu32.c'
21316--- old/gcc/testsuite/gcc.target/arm/neon/vshl_nu32.c 2007-07-25 11:28:31 +0000
21317+++ new/gcc/testsuite/gcc.target/arm/neon/vshl_nu32.c 2010-07-29 15:38:15 +0000
21318@@ -3,7 +3,8 @@
21319
21320 /* { dg-do assemble } */
21321 /* { dg-require-effective-target arm_neon_ok } */
21322-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
21323+/* { dg-options "-save-temps -O0" } */
21324+/* { dg-add-options arm_neon } */
21325
21326 #include "arm_neon.h"
21327
21328
21329=== modified file 'gcc/testsuite/gcc.target/arm/neon/vshl_nu64.c'
21330--- old/gcc/testsuite/gcc.target/arm/neon/vshl_nu64.c 2007-07-25 11:28:31 +0000
21331+++ new/gcc/testsuite/gcc.target/arm/neon/vshl_nu64.c 2010-07-29 15:38:15 +0000
21332@@ -3,7 +3,8 @@
21333
21334 /* { dg-do assemble } */
21335 /* { dg-require-effective-target arm_neon_ok } */
21336-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
21337+/* { dg-options "-save-temps -O0" } */
21338+/* { dg-add-options arm_neon } */
21339
21340 #include "arm_neon.h"
21341
21342
21343=== modified file 'gcc/testsuite/gcc.target/arm/neon/vshl_nu8.c'
21344--- old/gcc/testsuite/gcc.target/arm/neon/vshl_nu8.c 2007-07-25 11:28:31 +0000
21345+++ new/gcc/testsuite/gcc.target/arm/neon/vshl_nu8.c 2010-07-29 15:38:15 +0000
21346@@ -3,7 +3,8 @@
21347
21348 /* { dg-do assemble } */
21349 /* { dg-require-effective-target arm_neon_ok } */
21350-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
21351+/* { dg-options "-save-temps -O0" } */
21352+/* { dg-add-options arm_neon } */
21353
21354 #include "arm_neon.h"
21355
21356
21357=== modified file 'gcc/testsuite/gcc.target/arm/neon/vshll_ns16.c'
21358--- old/gcc/testsuite/gcc.target/arm/neon/vshll_ns16.c 2007-07-25 11:28:31 +0000
21359+++ new/gcc/testsuite/gcc.target/arm/neon/vshll_ns16.c 2010-07-29 15:38:15 +0000
21360@@ -3,7 +3,8 @@
21361
21362 /* { dg-do assemble } */
21363 /* { dg-require-effective-target arm_neon_ok } */
21364-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
21365+/* { dg-options "-save-temps -O0" } */
21366+/* { dg-add-options arm_neon } */
21367
21368 #include "arm_neon.h"
21369
21370
21371=== modified file 'gcc/testsuite/gcc.target/arm/neon/vshll_ns32.c'
21372--- old/gcc/testsuite/gcc.target/arm/neon/vshll_ns32.c 2007-07-25 11:28:31 +0000
21373+++ new/gcc/testsuite/gcc.target/arm/neon/vshll_ns32.c 2010-07-29 15:38:15 +0000
21374@@ -3,7 +3,8 @@
21375
21376 /* { dg-do assemble } */
21377 /* { dg-require-effective-target arm_neon_ok } */
21378-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
21379+/* { dg-options "-save-temps -O0" } */
21380+/* { dg-add-options arm_neon } */
21381
21382 #include "arm_neon.h"
21383
21384
21385=== modified file 'gcc/testsuite/gcc.target/arm/neon/vshll_ns8.c'
21386--- old/gcc/testsuite/gcc.target/arm/neon/vshll_ns8.c 2007-07-25 11:28:31 +0000
21387+++ new/gcc/testsuite/gcc.target/arm/neon/vshll_ns8.c 2010-07-29 15:38:15 +0000
21388@@ -3,7 +3,8 @@
21389
21390 /* { dg-do assemble } */
21391 /* { dg-require-effective-target arm_neon_ok } */
21392-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
21393+/* { dg-options "-save-temps -O0" } */
21394+/* { dg-add-options arm_neon } */
21395
21396 #include "arm_neon.h"
21397
21398
21399=== modified file 'gcc/testsuite/gcc.target/arm/neon/vshll_nu16.c'
21400--- old/gcc/testsuite/gcc.target/arm/neon/vshll_nu16.c 2007-07-25 11:28:31 +0000
21401+++ new/gcc/testsuite/gcc.target/arm/neon/vshll_nu16.c 2010-07-29 15:38:15 +0000
21402@@ -3,7 +3,8 @@
21403
21404 /* { dg-do assemble } */
21405 /* { dg-require-effective-target arm_neon_ok } */
21406-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
21407+/* { dg-options "-save-temps -O0" } */
21408+/* { dg-add-options arm_neon } */
21409
21410 #include "arm_neon.h"
21411
21412
21413=== modified file 'gcc/testsuite/gcc.target/arm/neon/vshll_nu32.c'
21414--- old/gcc/testsuite/gcc.target/arm/neon/vshll_nu32.c 2007-07-25 11:28:31 +0000
21415+++ new/gcc/testsuite/gcc.target/arm/neon/vshll_nu32.c 2010-07-29 15:38:15 +0000
21416@@ -3,7 +3,8 @@
21417
21418 /* { dg-do assemble } */
21419 /* { dg-require-effective-target arm_neon_ok } */
21420-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
21421+/* { dg-options "-save-temps -O0" } */
21422+/* { dg-add-options arm_neon } */
21423
21424 #include "arm_neon.h"
21425
21426
21427=== modified file 'gcc/testsuite/gcc.target/arm/neon/vshll_nu8.c'
21428--- old/gcc/testsuite/gcc.target/arm/neon/vshll_nu8.c 2007-07-25 11:28:31 +0000
21429+++ new/gcc/testsuite/gcc.target/arm/neon/vshll_nu8.c 2010-07-29 15:38:15 +0000
21430@@ -3,7 +3,8 @@
21431
21432 /* { dg-do assemble } */
21433 /* { dg-require-effective-target arm_neon_ok } */
21434-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
21435+/* { dg-options "-save-temps -O0" } */
21436+/* { dg-add-options arm_neon } */
21437
21438 #include "arm_neon.h"
21439
21440
21441=== modified file 'gcc/testsuite/gcc.target/arm/neon/vshls16.c'
21442--- old/gcc/testsuite/gcc.target/arm/neon/vshls16.c 2007-07-25 11:28:31 +0000
21443+++ new/gcc/testsuite/gcc.target/arm/neon/vshls16.c 2010-07-29 15:38:15 +0000
21444@@ -3,7 +3,8 @@
21445
21446 /* { dg-do assemble } */
21447 /* { dg-require-effective-target arm_neon_ok } */
21448-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
21449+/* { dg-options "-save-temps -O0" } */
21450+/* { dg-add-options arm_neon } */
21451
21452 #include "arm_neon.h"
21453
21454
21455=== modified file 'gcc/testsuite/gcc.target/arm/neon/vshls32.c'
21456--- old/gcc/testsuite/gcc.target/arm/neon/vshls32.c 2007-07-25 11:28:31 +0000
21457+++ new/gcc/testsuite/gcc.target/arm/neon/vshls32.c 2010-07-29 15:38:15 +0000
21458@@ -3,7 +3,8 @@
21459
21460 /* { dg-do assemble } */
21461 /* { dg-require-effective-target arm_neon_ok } */
21462-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
21463+/* { dg-options "-save-temps -O0" } */
21464+/* { dg-add-options arm_neon } */
21465
21466 #include "arm_neon.h"
21467
21468
21469=== modified file 'gcc/testsuite/gcc.target/arm/neon/vshls64.c'
21470--- old/gcc/testsuite/gcc.target/arm/neon/vshls64.c 2007-07-25 11:28:31 +0000
21471+++ new/gcc/testsuite/gcc.target/arm/neon/vshls64.c 2010-07-29 15:38:15 +0000
21472@@ -3,7 +3,8 @@
21473
21474 /* { dg-do assemble } */
21475 /* { dg-require-effective-target arm_neon_ok } */
21476-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
21477+/* { dg-options "-save-temps -O0" } */
21478+/* { dg-add-options arm_neon } */
21479
21480 #include "arm_neon.h"
21481
21482
21483=== modified file 'gcc/testsuite/gcc.target/arm/neon/vshls8.c'
21484--- old/gcc/testsuite/gcc.target/arm/neon/vshls8.c 2007-07-25 11:28:31 +0000
21485+++ new/gcc/testsuite/gcc.target/arm/neon/vshls8.c 2010-07-29 15:38:15 +0000
21486@@ -3,7 +3,8 @@
21487
21488 /* { dg-do assemble } */
21489 /* { dg-require-effective-target arm_neon_ok } */
21490-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
21491+/* { dg-options "-save-temps -O0" } */
21492+/* { dg-add-options arm_neon } */
21493
21494 #include "arm_neon.h"
21495
21496
21497=== modified file 'gcc/testsuite/gcc.target/arm/neon/vshlu16.c'
21498--- old/gcc/testsuite/gcc.target/arm/neon/vshlu16.c 2007-07-25 11:28:31 +0000
21499+++ new/gcc/testsuite/gcc.target/arm/neon/vshlu16.c 2010-07-29 15:38:15 +0000
21500@@ -3,7 +3,8 @@
21501
21502 /* { dg-do assemble } */
21503 /* { dg-require-effective-target arm_neon_ok } */
21504-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
21505+/* { dg-options "-save-temps -O0" } */
21506+/* { dg-add-options arm_neon } */
21507
21508 #include "arm_neon.h"
21509
21510
21511=== modified file 'gcc/testsuite/gcc.target/arm/neon/vshlu32.c'
21512--- old/gcc/testsuite/gcc.target/arm/neon/vshlu32.c 2007-07-25 11:28:31 +0000
21513+++ new/gcc/testsuite/gcc.target/arm/neon/vshlu32.c 2010-07-29 15:38:15 +0000
21514@@ -3,7 +3,8 @@
21515
21516 /* { dg-do assemble } */
21517 /* { dg-require-effective-target arm_neon_ok } */
21518-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
21519+/* { dg-options "-save-temps -O0" } */
21520+/* { dg-add-options arm_neon } */
21521
21522 #include "arm_neon.h"
21523
21524
21525=== modified file 'gcc/testsuite/gcc.target/arm/neon/vshlu64.c'
21526--- old/gcc/testsuite/gcc.target/arm/neon/vshlu64.c 2007-07-25 11:28:31 +0000
21527+++ new/gcc/testsuite/gcc.target/arm/neon/vshlu64.c 2010-07-29 15:38:15 +0000
21528@@ -3,7 +3,8 @@
21529
21530 /* { dg-do assemble } */
21531 /* { dg-require-effective-target arm_neon_ok } */
21532-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
21533+/* { dg-options "-save-temps -O0" } */
21534+/* { dg-add-options arm_neon } */
21535
21536 #include "arm_neon.h"
21537
21538
21539=== modified file 'gcc/testsuite/gcc.target/arm/neon/vshlu8.c'
21540--- old/gcc/testsuite/gcc.target/arm/neon/vshlu8.c 2007-07-25 11:28:31 +0000
21541+++ new/gcc/testsuite/gcc.target/arm/neon/vshlu8.c 2010-07-29 15:38:15 +0000
21542@@ -3,7 +3,8 @@
21543
21544 /* { dg-do assemble } */
21545 /* { dg-require-effective-target arm_neon_ok } */
21546-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
21547+/* { dg-options "-save-temps -O0" } */
21548+/* { dg-add-options arm_neon } */
21549
21550 #include "arm_neon.h"
21551
21552
21553=== modified file 'gcc/testsuite/gcc.target/arm/neon/vshrQ_ns16.c'
21554--- old/gcc/testsuite/gcc.target/arm/neon/vshrQ_ns16.c 2007-07-25 11:28:31 +0000
21555+++ new/gcc/testsuite/gcc.target/arm/neon/vshrQ_ns16.c 2010-07-29 15:38:15 +0000
21556@@ -3,7 +3,8 @@
21557
21558 /* { dg-do assemble } */
21559 /* { dg-require-effective-target arm_neon_ok } */
21560-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
21561+/* { dg-options "-save-temps -O0" } */
21562+/* { dg-add-options arm_neon } */
21563
21564 #include "arm_neon.h"
21565
21566
21567=== modified file 'gcc/testsuite/gcc.target/arm/neon/vshrQ_ns32.c'
21568--- old/gcc/testsuite/gcc.target/arm/neon/vshrQ_ns32.c 2007-07-25 11:28:31 +0000
21569+++ new/gcc/testsuite/gcc.target/arm/neon/vshrQ_ns32.c 2010-07-29 15:38:15 +0000
21570@@ -3,7 +3,8 @@
21571
21572 /* { dg-do assemble } */
21573 /* { dg-require-effective-target arm_neon_ok } */
21574-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
21575+/* { dg-options "-save-temps -O0" } */
21576+/* { dg-add-options arm_neon } */
21577
21578 #include "arm_neon.h"
21579
21580
21581=== modified file 'gcc/testsuite/gcc.target/arm/neon/vshrQ_ns64.c'
21582--- old/gcc/testsuite/gcc.target/arm/neon/vshrQ_ns64.c 2007-07-25 11:28:31 +0000
21583+++ new/gcc/testsuite/gcc.target/arm/neon/vshrQ_ns64.c 2010-07-29 15:38:15 +0000
21584@@ -3,7 +3,8 @@
21585
21586 /* { dg-do assemble } */
21587 /* { dg-require-effective-target arm_neon_ok } */
21588-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
21589+/* { dg-options "-save-temps -O0" } */
21590+/* { dg-add-options arm_neon } */
21591
21592 #include "arm_neon.h"
21593
21594
21595=== modified file 'gcc/testsuite/gcc.target/arm/neon/vshrQ_ns8.c'
21596--- old/gcc/testsuite/gcc.target/arm/neon/vshrQ_ns8.c 2007-07-25 11:28:31 +0000
21597+++ new/gcc/testsuite/gcc.target/arm/neon/vshrQ_ns8.c 2010-07-29 15:38:15 +0000
21598@@ -3,7 +3,8 @@
21599
21600 /* { dg-do assemble } */
21601 /* { dg-require-effective-target arm_neon_ok } */
21602-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
21603+/* { dg-options "-save-temps -O0" } */
21604+/* { dg-add-options arm_neon } */
21605
21606 #include "arm_neon.h"
21607
21608
21609=== modified file 'gcc/testsuite/gcc.target/arm/neon/vshrQ_nu16.c'
21610--- old/gcc/testsuite/gcc.target/arm/neon/vshrQ_nu16.c 2007-07-25 11:28:31 +0000
21611+++ new/gcc/testsuite/gcc.target/arm/neon/vshrQ_nu16.c 2010-07-29 15:38:15 +0000
21612@@ -3,7 +3,8 @@
21613
21614 /* { dg-do assemble } */
21615 /* { dg-require-effective-target arm_neon_ok } */
21616-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
21617+/* { dg-options "-save-temps -O0" } */
21618+/* { dg-add-options arm_neon } */
21619
21620 #include "arm_neon.h"
21621
21622
21623=== modified file 'gcc/testsuite/gcc.target/arm/neon/vshrQ_nu32.c'
21624--- old/gcc/testsuite/gcc.target/arm/neon/vshrQ_nu32.c 2007-07-25 11:28:31 +0000
21625+++ new/gcc/testsuite/gcc.target/arm/neon/vshrQ_nu32.c 2010-07-29 15:38:15 +0000
21626@@ -3,7 +3,8 @@
21627
21628 /* { dg-do assemble } */
21629 /* { dg-require-effective-target arm_neon_ok } */
21630-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
21631+/* { dg-options "-save-temps -O0" } */
21632+/* { dg-add-options arm_neon } */
21633
21634 #include "arm_neon.h"
21635
21636
21637=== modified file 'gcc/testsuite/gcc.target/arm/neon/vshrQ_nu64.c'
21638--- old/gcc/testsuite/gcc.target/arm/neon/vshrQ_nu64.c 2007-07-25 11:28:31 +0000
21639+++ new/gcc/testsuite/gcc.target/arm/neon/vshrQ_nu64.c 2010-07-29 15:38:15 +0000
21640@@ -3,7 +3,8 @@
21641
21642 /* { dg-do assemble } */
21643 /* { dg-require-effective-target arm_neon_ok } */
21644-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
21645+/* { dg-options "-save-temps -O0" } */
21646+/* { dg-add-options arm_neon } */
21647
21648 #include "arm_neon.h"
21649
21650
21651=== modified file 'gcc/testsuite/gcc.target/arm/neon/vshrQ_nu8.c'
21652--- old/gcc/testsuite/gcc.target/arm/neon/vshrQ_nu8.c 2007-07-25 11:28:31 +0000
21653+++ new/gcc/testsuite/gcc.target/arm/neon/vshrQ_nu8.c 2010-07-29 15:38:15 +0000
21654@@ -3,7 +3,8 @@
21655
21656 /* { dg-do assemble } */
21657 /* { dg-require-effective-target arm_neon_ok } */
21658-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
21659+/* { dg-options "-save-temps -O0" } */
21660+/* { dg-add-options arm_neon } */
21661
21662 #include "arm_neon.h"
21663
21664
21665=== modified file 'gcc/testsuite/gcc.target/arm/neon/vshr_ns16.c'
21666--- old/gcc/testsuite/gcc.target/arm/neon/vshr_ns16.c 2007-07-25 11:28:31 +0000
21667+++ new/gcc/testsuite/gcc.target/arm/neon/vshr_ns16.c 2010-07-29 15:38:15 +0000
21668@@ -3,7 +3,8 @@
21669
21670 /* { dg-do assemble } */
21671 /* { dg-require-effective-target arm_neon_ok } */
21672-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
21673+/* { dg-options "-save-temps -O0" } */
21674+/* { dg-add-options arm_neon } */
21675
21676 #include "arm_neon.h"
21677
21678
21679=== modified file 'gcc/testsuite/gcc.target/arm/neon/vshr_ns32.c'
21680--- old/gcc/testsuite/gcc.target/arm/neon/vshr_ns32.c 2007-07-25 11:28:31 +0000
21681+++ new/gcc/testsuite/gcc.target/arm/neon/vshr_ns32.c 2010-07-29 15:38:15 +0000
21682@@ -3,7 +3,8 @@
21683
21684 /* { dg-do assemble } */
21685 /* { dg-require-effective-target arm_neon_ok } */
21686-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
21687+/* { dg-options "-save-temps -O0" } */
21688+/* { dg-add-options arm_neon } */
21689
21690 #include "arm_neon.h"
21691
21692
21693=== modified file 'gcc/testsuite/gcc.target/arm/neon/vshr_ns64.c'
21694--- old/gcc/testsuite/gcc.target/arm/neon/vshr_ns64.c 2007-07-25 11:28:31 +0000
21695+++ new/gcc/testsuite/gcc.target/arm/neon/vshr_ns64.c 2010-07-29 15:38:15 +0000
21696@@ -3,7 +3,8 @@
21697
21698 /* { dg-do assemble } */
21699 /* { dg-require-effective-target arm_neon_ok } */
21700-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
21701+/* { dg-options "-save-temps -O0" } */
21702+/* { dg-add-options arm_neon } */
21703
21704 #include "arm_neon.h"
21705
21706
21707=== modified file 'gcc/testsuite/gcc.target/arm/neon/vshr_ns8.c'
21708--- old/gcc/testsuite/gcc.target/arm/neon/vshr_ns8.c 2007-07-25 11:28:31 +0000
21709+++ new/gcc/testsuite/gcc.target/arm/neon/vshr_ns8.c 2010-07-29 15:38:15 +0000
21710@@ -3,7 +3,8 @@
21711
21712 /* { dg-do assemble } */
21713 /* { dg-require-effective-target arm_neon_ok } */
21714-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
21715+/* { dg-options "-save-temps -O0" } */
21716+/* { dg-add-options arm_neon } */
21717
21718 #include "arm_neon.h"
21719
21720
21721=== modified file 'gcc/testsuite/gcc.target/arm/neon/vshr_nu16.c'
21722--- old/gcc/testsuite/gcc.target/arm/neon/vshr_nu16.c 2007-07-25 11:28:31 +0000
21723+++ new/gcc/testsuite/gcc.target/arm/neon/vshr_nu16.c 2010-07-29 15:38:15 +0000
21724@@ -3,7 +3,8 @@
21725
21726 /* { dg-do assemble } */
21727 /* { dg-require-effective-target arm_neon_ok } */
21728-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
21729+/* { dg-options "-save-temps -O0" } */
21730+/* { dg-add-options arm_neon } */
21731
21732 #include "arm_neon.h"
21733
21734
21735=== modified file 'gcc/testsuite/gcc.target/arm/neon/vshr_nu32.c'
21736--- old/gcc/testsuite/gcc.target/arm/neon/vshr_nu32.c 2007-07-25 11:28:31 +0000
21737+++ new/gcc/testsuite/gcc.target/arm/neon/vshr_nu32.c 2010-07-29 15:38:15 +0000
21738@@ -3,7 +3,8 @@
21739
21740 /* { dg-do assemble } */
21741 /* { dg-require-effective-target arm_neon_ok } */
21742-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
21743+/* { dg-options "-save-temps -O0" } */
21744+/* { dg-add-options arm_neon } */
21745
21746 #include "arm_neon.h"
21747
21748
21749=== modified file 'gcc/testsuite/gcc.target/arm/neon/vshr_nu64.c'
21750--- old/gcc/testsuite/gcc.target/arm/neon/vshr_nu64.c 2007-07-25 11:28:31 +0000
21751+++ new/gcc/testsuite/gcc.target/arm/neon/vshr_nu64.c 2010-07-29 15:38:15 +0000
21752@@ -3,7 +3,8 @@
21753
21754 /* { dg-do assemble } */
21755 /* { dg-require-effective-target arm_neon_ok } */
21756-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
21757+/* { dg-options "-save-temps -O0" } */
21758+/* { dg-add-options arm_neon } */
21759
21760 #include "arm_neon.h"
21761
21762
21763=== modified file 'gcc/testsuite/gcc.target/arm/neon/vshr_nu8.c'
21764--- old/gcc/testsuite/gcc.target/arm/neon/vshr_nu8.c 2007-07-25 11:28:31 +0000
21765+++ new/gcc/testsuite/gcc.target/arm/neon/vshr_nu8.c 2010-07-29 15:38:15 +0000
21766@@ -3,7 +3,8 @@
21767
21768 /* { dg-do assemble } */
21769 /* { dg-require-effective-target arm_neon_ok } */
21770-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
21771+/* { dg-options "-save-temps -O0" } */
21772+/* { dg-add-options arm_neon } */
21773
21774 #include "arm_neon.h"
21775
21776
21777=== modified file 'gcc/testsuite/gcc.target/arm/neon/vshrn_ns16.c'
21778--- old/gcc/testsuite/gcc.target/arm/neon/vshrn_ns16.c 2007-07-25 11:28:31 +0000
21779+++ new/gcc/testsuite/gcc.target/arm/neon/vshrn_ns16.c 2010-07-29 15:38:15 +0000
21780@@ -3,7 +3,8 @@
21781
21782 /* { dg-do assemble } */
21783 /* { dg-require-effective-target arm_neon_ok } */
21784-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
21785+/* { dg-options "-save-temps -O0" } */
21786+/* { dg-add-options arm_neon } */
21787
21788 #include "arm_neon.h"
21789
21790
21791=== modified file 'gcc/testsuite/gcc.target/arm/neon/vshrn_ns32.c'
21792--- old/gcc/testsuite/gcc.target/arm/neon/vshrn_ns32.c 2007-07-25 11:28:31 +0000
21793+++ new/gcc/testsuite/gcc.target/arm/neon/vshrn_ns32.c 2010-07-29 15:38:15 +0000
21794@@ -3,7 +3,8 @@
21795
21796 /* { dg-do assemble } */
21797 /* { dg-require-effective-target arm_neon_ok } */
21798-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
21799+/* { dg-options "-save-temps -O0" } */
21800+/* { dg-add-options arm_neon } */
21801
21802 #include "arm_neon.h"
21803
21804
21805=== modified file 'gcc/testsuite/gcc.target/arm/neon/vshrn_ns64.c'
21806--- old/gcc/testsuite/gcc.target/arm/neon/vshrn_ns64.c 2007-07-25 11:28:31 +0000
21807+++ new/gcc/testsuite/gcc.target/arm/neon/vshrn_ns64.c 2010-07-29 15:38:15 +0000
21808@@ -3,7 +3,8 @@
21809
21810 /* { dg-do assemble } */
21811 /* { dg-require-effective-target arm_neon_ok } */
21812-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
21813+/* { dg-options "-save-temps -O0" } */
21814+/* { dg-add-options arm_neon } */
21815
21816 #include "arm_neon.h"
21817
21818
21819=== modified file 'gcc/testsuite/gcc.target/arm/neon/vshrn_nu16.c'
21820--- old/gcc/testsuite/gcc.target/arm/neon/vshrn_nu16.c 2007-07-25 11:28:31 +0000
21821+++ new/gcc/testsuite/gcc.target/arm/neon/vshrn_nu16.c 2010-07-29 15:38:15 +0000
21822@@ -3,7 +3,8 @@
21823
21824 /* { dg-do assemble } */
21825 /* { dg-require-effective-target arm_neon_ok } */
21826-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
21827+/* { dg-options "-save-temps -O0" } */
21828+/* { dg-add-options arm_neon } */
21829
21830 #include "arm_neon.h"
21831
21832
21833=== modified file 'gcc/testsuite/gcc.target/arm/neon/vshrn_nu32.c'
21834--- old/gcc/testsuite/gcc.target/arm/neon/vshrn_nu32.c 2007-07-25 11:28:31 +0000
21835+++ new/gcc/testsuite/gcc.target/arm/neon/vshrn_nu32.c 2010-07-29 15:38:15 +0000
21836@@ -3,7 +3,8 @@
21837
21838 /* { dg-do assemble } */
21839 /* { dg-require-effective-target arm_neon_ok } */
21840-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
21841+/* { dg-options "-save-temps -O0" } */
21842+/* { dg-add-options arm_neon } */
21843
21844 #include "arm_neon.h"
21845
21846
21847=== modified file 'gcc/testsuite/gcc.target/arm/neon/vshrn_nu64.c'
21848--- old/gcc/testsuite/gcc.target/arm/neon/vshrn_nu64.c 2007-07-25 11:28:31 +0000
21849+++ new/gcc/testsuite/gcc.target/arm/neon/vshrn_nu64.c 2010-07-29 15:38:15 +0000
21850@@ -3,7 +3,8 @@
21851
21852 /* { dg-do assemble } */
21853 /* { dg-require-effective-target arm_neon_ok } */
21854-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
21855+/* { dg-options "-save-temps -O0" } */
21856+/* { dg-add-options arm_neon } */
21857
21858 #include "arm_neon.h"
21859
21860
21861=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsliQ_np16.c'
21862--- old/gcc/testsuite/gcc.target/arm/neon/vsliQ_np16.c 2007-07-25 11:28:31 +0000
21863+++ new/gcc/testsuite/gcc.target/arm/neon/vsliQ_np16.c 2010-07-29 15:38:15 +0000
21864@@ -3,7 +3,8 @@
21865
21866 /* { dg-do assemble } */
21867 /* { dg-require-effective-target arm_neon_ok } */
21868-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
21869+/* { dg-options "-save-temps -O0" } */
21870+/* { dg-add-options arm_neon } */
21871
21872 #include "arm_neon.h"
21873
21874
21875=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsliQ_np8.c'
21876--- old/gcc/testsuite/gcc.target/arm/neon/vsliQ_np8.c 2007-07-25 11:28:31 +0000
21877+++ new/gcc/testsuite/gcc.target/arm/neon/vsliQ_np8.c 2010-07-29 15:38:15 +0000
21878@@ -3,7 +3,8 @@
21879
21880 /* { dg-do assemble } */
21881 /* { dg-require-effective-target arm_neon_ok } */
21882-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
21883+/* { dg-options "-save-temps -O0" } */
21884+/* { dg-add-options arm_neon } */
21885
21886 #include "arm_neon.h"
21887
21888
21889=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsliQ_ns16.c'
21890--- old/gcc/testsuite/gcc.target/arm/neon/vsliQ_ns16.c 2007-07-25 11:28:31 +0000
21891+++ new/gcc/testsuite/gcc.target/arm/neon/vsliQ_ns16.c 2010-07-29 15:38:15 +0000
21892@@ -3,7 +3,8 @@
21893
21894 /* { dg-do assemble } */
21895 /* { dg-require-effective-target arm_neon_ok } */
21896-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
21897+/* { dg-options "-save-temps -O0" } */
21898+/* { dg-add-options arm_neon } */
21899
21900 #include "arm_neon.h"
21901
21902
21903=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsliQ_ns32.c'
21904--- old/gcc/testsuite/gcc.target/arm/neon/vsliQ_ns32.c 2007-07-25 11:28:31 +0000
21905+++ new/gcc/testsuite/gcc.target/arm/neon/vsliQ_ns32.c 2010-07-29 15:38:15 +0000
21906@@ -3,7 +3,8 @@
21907
21908 /* { dg-do assemble } */
21909 /* { dg-require-effective-target arm_neon_ok } */
21910-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
21911+/* { dg-options "-save-temps -O0" } */
21912+/* { dg-add-options arm_neon } */
21913
21914 #include "arm_neon.h"
21915
21916
21917=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsliQ_ns64.c'
21918--- old/gcc/testsuite/gcc.target/arm/neon/vsliQ_ns64.c 2007-07-25 11:28:31 +0000
21919+++ new/gcc/testsuite/gcc.target/arm/neon/vsliQ_ns64.c 2010-07-29 15:38:15 +0000
21920@@ -3,7 +3,8 @@
21921
21922 /* { dg-do assemble } */
21923 /* { dg-require-effective-target arm_neon_ok } */
21924-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
21925+/* { dg-options "-save-temps -O0" } */
21926+/* { dg-add-options arm_neon } */
21927
21928 #include "arm_neon.h"
21929
21930
21931=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsliQ_ns8.c'
21932--- old/gcc/testsuite/gcc.target/arm/neon/vsliQ_ns8.c 2007-07-25 11:28:31 +0000
21933+++ new/gcc/testsuite/gcc.target/arm/neon/vsliQ_ns8.c 2010-07-29 15:38:15 +0000
21934@@ -3,7 +3,8 @@
21935
21936 /* { dg-do assemble } */
21937 /* { dg-require-effective-target arm_neon_ok } */
21938-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
21939+/* { dg-options "-save-temps -O0" } */
21940+/* { dg-add-options arm_neon } */
21941
21942 #include "arm_neon.h"
21943
21944
21945=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsliQ_nu16.c'
21946--- old/gcc/testsuite/gcc.target/arm/neon/vsliQ_nu16.c 2007-07-25 11:28:31 +0000
21947+++ new/gcc/testsuite/gcc.target/arm/neon/vsliQ_nu16.c 2010-07-29 15:38:15 +0000
21948@@ -3,7 +3,8 @@
21949
21950 /* { dg-do assemble } */
21951 /* { dg-require-effective-target arm_neon_ok } */
21952-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
21953+/* { dg-options "-save-temps -O0" } */
21954+/* { dg-add-options arm_neon } */
21955
21956 #include "arm_neon.h"
21957
21958
21959=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsliQ_nu32.c'
21960--- old/gcc/testsuite/gcc.target/arm/neon/vsliQ_nu32.c 2007-07-25 11:28:31 +0000
21961+++ new/gcc/testsuite/gcc.target/arm/neon/vsliQ_nu32.c 2010-07-29 15:38:15 +0000
21962@@ -3,7 +3,8 @@
21963
21964 /* { dg-do assemble } */
21965 /* { dg-require-effective-target arm_neon_ok } */
21966-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
21967+/* { dg-options "-save-temps -O0" } */
21968+/* { dg-add-options arm_neon } */
21969
21970 #include "arm_neon.h"
21971
21972
21973=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsliQ_nu64.c'
21974--- old/gcc/testsuite/gcc.target/arm/neon/vsliQ_nu64.c 2007-07-25 11:28:31 +0000
21975+++ new/gcc/testsuite/gcc.target/arm/neon/vsliQ_nu64.c 2010-07-29 15:38:15 +0000
21976@@ -3,7 +3,8 @@
21977
21978 /* { dg-do assemble } */
21979 /* { dg-require-effective-target arm_neon_ok } */
21980-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
21981+/* { dg-options "-save-temps -O0" } */
21982+/* { dg-add-options arm_neon } */
21983
21984 #include "arm_neon.h"
21985
21986
21987=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsliQ_nu8.c'
21988--- old/gcc/testsuite/gcc.target/arm/neon/vsliQ_nu8.c 2007-07-25 11:28:31 +0000
21989+++ new/gcc/testsuite/gcc.target/arm/neon/vsliQ_nu8.c 2010-07-29 15:38:15 +0000
21990@@ -3,7 +3,8 @@
21991
21992 /* { dg-do assemble } */
21993 /* { dg-require-effective-target arm_neon_ok } */
21994-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
21995+/* { dg-options "-save-temps -O0" } */
21996+/* { dg-add-options arm_neon } */
21997
21998 #include "arm_neon.h"
21999
22000
22001=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsli_np16.c'
22002--- old/gcc/testsuite/gcc.target/arm/neon/vsli_np16.c 2007-07-25 11:28:31 +0000
22003+++ new/gcc/testsuite/gcc.target/arm/neon/vsli_np16.c 2010-07-29 15:38:15 +0000
22004@@ -3,7 +3,8 @@
22005
22006 /* { dg-do assemble } */
22007 /* { dg-require-effective-target arm_neon_ok } */
22008-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
22009+/* { dg-options "-save-temps -O0" } */
22010+/* { dg-add-options arm_neon } */
22011
22012 #include "arm_neon.h"
22013
22014
22015=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsli_np8.c'
22016--- old/gcc/testsuite/gcc.target/arm/neon/vsli_np8.c 2007-07-25 11:28:31 +0000
22017+++ new/gcc/testsuite/gcc.target/arm/neon/vsli_np8.c 2010-07-29 15:38:15 +0000
22018@@ -3,7 +3,8 @@
22019
22020 /* { dg-do assemble } */
22021 /* { dg-require-effective-target arm_neon_ok } */
22022-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
22023+/* { dg-options "-save-temps -O0" } */
22024+/* { dg-add-options arm_neon } */
22025
22026 #include "arm_neon.h"
22027
22028
22029=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsli_ns16.c'
22030--- old/gcc/testsuite/gcc.target/arm/neon/vsli_ns16.c 2007-07-25 11:28:31 +0000
22031+++ new/gcc/testsuite/gcc.target/arm/neon/vsli_ns16.c 2010-07-29 15:38:15 +0000
22032@@ -3,7 +3,8 @@
22033
22034 /* { dg-do assemble } */
22035 /* { dg-require-effective-target arm_neon_ok } */
22036-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
22037+/* { dg-options "-save-temps -O0" } */
22038+/* { dg-add-options arm_neon } */
22039
22040 #include "arm_neon.h"
22041
22042
22043=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsli_ns32.c'
22044--- old/gcc/testsuite/gcc.target/arm/neon/vsli_ns32.c 2007-07-25 11:28:31 +0000
22045+++ new/gcc/testsuite/gcc.target/arm/neon/vsli_ns32.c 2010-07-29 15:38:15 +0000
22046@@ -3,7 +3,8 @@
22047
22048 /* { dg-do assemble } */
22049 /* { dg-require-effective-target arm_neon_ok } */
22050-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
22051+/* { dg-options "-save-temps -O0" } */
22052+/* { dg-add-options arm_neon } */
22053
22054 #include "arm_neon.h"
22055
22056
22057=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsli_ns64.c'
22058--- old/gcc/testsuite/gcc.target/arm/neon/vsli_ns64.c 2007-07-25 11:28:31 +0000
22059+++ new/gcc/testsuite/gcc.target/arm/neon/vsli_ns64.c 2010-07-29 15:38:15 +0000
22060@@ -3,7 +3,8 @@
22061
22062 /* { dg-do assemble } */
22063 /* { dg-require-effective-target arm_neon_ok } */
22064-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
22065+/* { dg-options "-save-temps -O0" } */
22066+/* { dg-add-options arm_neon } */
22067
22068 #include "arm_neon.h"
22069
22070
22071=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsli_ns8.c'
22072--- old/gcc/testsuite/gcc.target/arm/neon/vsli_ns8.c 2007-07-25 11:28:31 +0000
22073+++ new/gcc/testsuite/gcc.target/arm/neon/vsli_ns8.c 2010-07-29 15:38:15 +0000
22074@@ -3,7 +3,8 @@
22075
22076 /* { dg-do assemble } */
22077 /* { dg-require-effective-target arm_neon_ok } */
22078-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
22079+/* { dg-options "-save-temps -O0" } */
22080+/* { dg-add-options arm_neon } */
22081
22082 #include "arm_neon.h"
22083
22084
22085=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsli_nu16.c'
22086--- old/gcc/testsuite/gcc.target/arm/neon/vsli_nu16.c 2007-07-25 11:28:31 +0000
22087+++ new/gcc/testsuite/gcc.target/arm/neon/vsli_nu16.c 2010-07-29 15:38:15 +0000
22088@@ -3,7 +3,8 @@
22089
22090 /* { dg-do assemble } */
22091 /* { dg-require-effective-target arm_neon_ok } */
22092-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
22093+/* { dg-options "-save-temps -O0" } */
22094+/* { dg-add-options arm_neon } */
22095
22096 #include "arm_neon.h"
22097
22098
22099=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsli_nu32.c'
22100--- old/gcc/testsuite/gcc.target/arm/neon/vsli_nu32.c 2007-07-25 11:28:31 +0000
22101+++ new/gcc/testsuite/gcc.target/arm/neon/vsli_nu32.c 2010-07-29 15:38:15 +0000
22102@@ -3,7 +3,8 @@
22103
22104 /* { dg-do assemble } */
22105 /* { dg-require-effective-target arm_neon_ok } */
22106-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
22107+/* { dg-options "-save-temps -O0" } */
22108+/* { dg-add-options arm_neon } */
22109
22110 #include "arm_neon.h"
22111
22112
22113=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsli_nu64.c'
22114--- old/gcc/testsuite/gcc.target/arm/neon/vsli_nu64.c 2007-07-25 11:28:31 +0000
22115+++ new/gcc/testsuite/gcc.target/arm/neon/vsli_nu64.c 2010-07-29 15:38:15 +0000
22116@@ -3,7 +3,8 @@
22117
22118 /* { dg-do assemble } */
22119 /* { dg-require-effective-target arm_neon_ok } */
22120-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
22121+/* { dg-options "-save-temps -O0" } */
22122+/* { dg-add-options arm_neon } */
22123
22124 #include "arm_neon.h"
22125
22126
22127=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsli_nu8.c'
22128--- old/gcc/testsuite/gcc.target/arm/neon/vsli_nu8.c 2007-07-25 11:28:31 +0000
22129+++ new/gcc/testsuite/gcc.target/arm/neon/vsli_nu8.c 2010-07-29 15:38:15 +0000
22130@@ -3,7 +3,8 @@
22131
22132 /* { dg-do assemble } */
22133 /* { dg-require-effective-target arm_neon_ok } */
22134-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
22135+/* { dg-options "-save-temps -O0" } */
22136+/* { dg-add-options arm_neon } */
22137
22138 #include "arm_neon.h"
22139
22140
22141=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsraQ_ns16.c'
22142--- old/gcc/testsuite/gcc.target/arm/neon/vsraQ_ns16.c 2007-07-25 11:28:31 +0000
22143+++ new/gcc/testsuite/gcc.target/arm/neon/vsraQ_ns16.c 2010-07-29 15:38:15 +0000
22144@@ -3,7 +3,8 @@
22145
22146 /* { dg-do assemble } */
22147 /* { dg-require-effective-target arm_neon_ok } */
22148-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
22149+/* { dg-options "-save-temps -O0" } */
22150+/* { dg-add-options arm_neon } */
22151
22152 #include "arm_neon.h"
22153
22154
22155=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsraQ_ns32.c'
22156--- old/gcc/testsuite/gcc.target/arm/neon/vsraQ_ns32.c 2007-07-25 11:28:31 +0000
22157+++ new/gcc/testsuite/gcc.target/arm/neon/vsraQ_ns32.c 2010-07-29 15:38:15 +0000
22158@@ -3,7 +3,8 @@
22159
22160 /* { dg-do assemble } */
22161 /* { dg-require-effective-target arm_neon_ok } */
22162-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
22163+/* { dg-options "-save-temps -O0" } */
22164+/* { dg-add-options arm_neon } */
22165
22166 #include "arm_neon.h"
22167
22168
22169=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsraQ_ns64.c'
22170--- old/gcc/testsuite/gcc.target/arm/neon/vsraQ_ns64.c 2007-07-25 11:28:31 +0000
22171+++ new/gcc/testsuite/gcc.target/arm/neon/vsraQ_ns64.c 2010-07-29 15:38:15 +0000
22172@@ -3,7 +3,8 @@
22173
22174 /* { dg-do assemble } */
22175 /* { dg-require-effective-target arm_neon_ok } */
22176-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
22177+/* { dg-options "-save-temps -O0" } */
22178+/* { dg-add-options arm_neon } */
22179
22180 #include "arm_neon.h"
22181
22182
22183=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsraQ_ns8.c'
22184--- old/gcc/testsuite/gcc.target/arm/neon/vsraQ_ns8.c 2007-07-25 11:28:31 +0000
22185+++ new/gcc/testsuite/gcc.target/arm/neon/vsraQ_ns8.c 2010-07-29 15:38:15 +0000
22186@@ -3,7 +3,8 @@
22187
22188 /* { dg-do assemble } */
22189 /* { dg-require-effective-target arm_neon_ok } */
22190-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
22191+/* { dg-options "-save-temps -O0" } */
22192+/* { dg-add-options arm_neon } */
22193
22194 #include "arm_neon.h"
22195
22196
22197=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsraQ_nu16.c'
22198--- old/gcc/testsuite/gcc.target/arm/neon/vsraQ_nu16.c 2007-07-25 11:28:31 +0000
22199+++ new/gcc/testsuite/gcc.target/arm/neon/vsraQ_nu16.c 2010-07-29 15:38:15 +0000
22200@@ -3,7 +3,8 @@
22201
22202 /* { dg-do assemble } */
22203 /* { dg-require-effective-target arm_neon_ok } */
22204-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
22205+/* { dg-options "-save-temps -O0" } */
22206+/* { dg-add-options arm_neon } */
22207
22208 #include "arm_neon.h"
22209
22210
22211=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsraQ_nu32.c'
22212--- old/gcc/testsuite/gcc.target/arm/neon/vsraQ_nu32.c 2007-07-25 11:28:31 +0000
22213+++ new/gcc/testsuite/gcc.target/arm/neon/vsraQ_nu32.c 2010-07-29 15:38:15 +0000
22214@@ -3,7 +3,8 @@
22215
22216 /* { dg-do assemble } */
22217 /* { dg-require-effective-target arm_neon_ok } */
22218-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
22219+/* { dg-options "-save-temps -O0" } */
22220+/* { dg-add-options arm_neon } */
22221
22222 #include "arm_neon.h"
22223
22224
22225=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsraQ_nu64.c'
22226--- old/gcc/testsuite/gcc.target/arm/neon/vsraQ_nu64.c 2007-07-25 11:28:31 +0000
22227+++ new/gcc/testsuite/gcc.target/arm/neon/vsraQ_nu64.c 2010-07-29 15:38:15 +0000
22228@@ -3,7 +3,8 @@
22229
22230 /* { dg-do assemble } */
22231 /* { dg-require-effective-target arm_neon_ok } */
22232-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
22233+/* { dg-options "-save-temps -O0" } */
22234+/* { dg-add-options arm_neon } */
22235
22236 #include "arm_neon.h"
22237
22238
22239=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsraQ_nu8.c'
22240--- old/gcc/testsuite/gcc.target/arm/neon/vsraQ_nu8.c 2007-07-25 11:28:31 +0000
22241+++ new/gcc/testsuite/gcc.target/arm/neon/vsraQ_nu8.c 2010-07-29 15:38:15 +0000
22242@@ -3,7 +3,8 @@
22243
22244 /* { dg-do assemble } */
22245 /* { dg-require-effective-target arm_neon_ok } */
22246-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
22247+/* { dg-options "-save-temps -O0" } */
22248+/* { dg-add-options arm_neon } */
22249
22250 #include "arm_neon.h"
22251
22252
22253=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsra_ns16.c'
22254--- old/gcc/testsuite/gcc.target/arm/neon/vsra_ns16.c 2007-07-25 11:28:31 +0000
22255+++ new/gcc/testsuite/gcc.target/arm/neon/vsra_ns16.c 2010-07-29 15:38:15 +0000
22256@@ -3,7 +3,8 @@
22257
22258 /* { dg-do assemble } */
22259 /* { dg-require-effective-target arm_neon_ok } */
22260-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
22261+/* { dg-options "-save-temps -O0" } */
22262+/* { dg-add-options arm_neon } */
22263
22264 #include "arm_neon.h"
22265
22266
22267=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsra_ns32.c'
22268--- old/gcc/testsuite/gcc.target/arm/neon/vsra_ns32.c 2007-07-25 11:28:31 +0000
22269+++ new/gcc/testsuite/gcc.target/arm/neon/vsra_ns32.c 2010-07-29 15:38:15 +0000
22270@@ -3,7 +3,8 @@
22271
22272 /* { dg-do assemble } */
22273 /* { dg-require-effective-target arm_neon_ok } */
22274-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
22275+/* { dg-options "-save-temps -O0" } */
22276+/* { dg-add-options arm_neon } */
22277
22278 #include "arm_neon.h"
22279
22280
22281=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsra_ns64.c'
22282--- old/gcc/testsuite/gcc.target/arm/neon/vsra_ns64.c 2007-07-25 11:28:31 +0000
22283+++ new/gcc/testsuite/gcc.target/arm/neon/vsra_ns64.c 2010-07-29 15:38:15 +0000
22284@@ -3,7 +3,8 @@
22285
22286 /* { dg-do assemble } */
22287 /* { dg-require-effective-target arm_neon_ok } */
22288-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
22289+/* { dg-options "-save-temps -O0" } */
22290+/* { dg-add-options arm_neon } */
22291
22292 #include "arm_neon.h"
22293
22294
22295=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsra_ns8.c'
22296--- old/gcc/testsuite/gcc.target/arm/neon/vsra_ns8.c 2007-07-25 11:28:31 +0000
22297+++ new/gcc/testsuite/gcc.target/arm/neon/vsra_ns8.c 2010-07-29 15:38:15 +0000
22298@@ -3,7 +3,8 @@
22299
22300 /* { dg-do assemble } */
22301 /* { dg-require-effective-target arm_neon_ok } */
22302-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
22303+/* { dg-options "-save-temps -O0" } */
22304+/* { dg-add-options arm_neon } */
22305
22306 #include "arm_neon.h"
22307
22308
22309=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsra_nu16.c'
22310--- old/gcc/testsuite/gcc.target/arm/neon/vsra_nu16.c 2007-07-25 11:28:31 +0000
22311+++ new/gcc/testsuite/gcc.target/arm/neon/vsra_nu16.c 2010-07-29 15:38:15 +0000
22312@@ -3,7 +3,8 @@
22313
22314 /* { dg-do assemble } */
22315 /* { dg-require-effective-target arm_neon_ok } */
22316-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
22317+/* { dg-options "-save-temps -O0" } */
22318+/* { dg-add-options arm_neon } */
22319
22320 #include "arm_neon.h"
22321
22322
22323=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsra_nu32.c'
22324--- old/gcc/testsuite/gcc.target/arm/neon/vsra_nu32.c 2007-07-25 11:28:31 +0000
22325+++ new/gcc/testsuite/gcc.target/arm/neon/vsra_nu32.c 2010-07-29 15:38:15 +0000
22326@@ -3,7 +3,8 @@
22327
22328 /* { dg-do assemble } */
22329 /* { dg-require-effective-target arm_neon_ok } */
22330-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
22331+/* { dg-options "-save-temps -O0" } */
22332+/* { dg-add-options arm_neon } */
22333
22334 #include "arm_neon.h"
22335
22336
22337=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsra_nu64.c'
22338--- old/gcc/testsuite/gcc.target/arm/neon/vsra_nu64.c 2007-07-25 11:28:31 +0000
22339+++ new/gcc/testsuite/gcc.target/arm/neon/vsra_nu64.c 2010-07-29 15:38:15 +0000
22340@@ -3,7 +3,8 @@
22341
22342 /* { dg-do assemble } */
22343 /* { dg-require-effective-target arm_neon_ok } */
22344-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
22345+/* { dg-options "-save-temps -O0" } */
22346+/* { dg-add-options arm_neon } */
22347
22348 #include "arm_neon.h"
22349
22350
22351=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsra_nu8.c'
22352--- old/gcc/testsuite/gcc.target/arm/neon/vsra_nu8.c 2007-07-25 11:28:31 +0000
22353+++ new/gcc/testsuite/gcc.target/arm/neon/vsra_nu8.c 2010-07-29 15:38:15 +0000
22354@@ -3,7 +3,8 @@
22355
22356 /* { dg-do assemble } */
22357 /* { dg-require-effective-target arm_neon_ok } */
22358-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
22359+/* { dg-options "-save-temps -O0" } */
22360+/* { dg-add-options arm_neon } */
22361
22362 #include "arm_neon.h"
22363
22364
22365=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsriQ_np16.c'
22366--- old/gcc/testsuite/gcc.target/arm/neon/vsriQ_np16.c 2007-07-25 11:28:31 +0000
22367+++ new/gcc/testsuite/gcc.target/arm/neon/vsriQ_np16.c 2010-07-29 15:38:15 +0000
22368@@ -3,7 +3,8 @@
22369
22370 /* { dg-do assemble } */
22371 /* { dg-require-effective-target arm_neon_ok } */
22372-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
22373+/* { dg-options "-save-temps -O0" } */
22374+/* { dg-add-options arm_neon } */
22375
22376 #include "arm_neon.h"
22377
22378
22379=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsriQ_np8.c'
22380--- old/gcc/testsuite/gcc.target/arm/neon/vsriQ_np8.c 2007-07-25 11:28:31 +0000
22381+++ new/gcc/testsuite/gcc.target/arm/neon/vsriQ_np8.c 2010-07-29 15:38:15 +0000
22382@@ -3,7 +3,8 @@
22383
22384 /* { dg-do assemble } */
22385 /* { dg-require-effective-target arm_neon_ok } */
22386-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
22387+/* { dg-options "-save-temps -O0" } */
22388+/* { dg-add-options arm_neon } */
22389
22390 #include "arm_neon.h"
22391
22392
22393=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsriQ_ns16.c'
22394--- old/gcc/testsuite/gcc.target/arm/neon/vsriQ_ns16.c 2007-07-25 11:28:31 +0000
22395+++ new/gcc/testsuite/gcc.target/arm/neon/vsriQ_ns16.c 2010-07-29 15:38:15 +0000
22396@@ -3,7 +3,8 @@
22397
22398 /* { dg-do assemble } */
22399 /* { dg-require-effective-target arm_neon_ok } */
22400-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
22401+/* { dg-options "-save-temps -O0" } */
22402+/* { dg-add-options arm_neon } */
22403
22404 #include "arm_neon.h"
22405
22406
22407=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsriQ_ns32.c'
22408--- old/gcc/testsuite/gcc.target/arm/neon/vsriQ_ns32.c 2007-07-25 11:28:31 +0000
22409+++ new/gcc/testsuite/gcc.target/arm/neon/vsriQ_ns32.c 2010-07-29 15:38:15 +0000
22410@@ -3,7 +3,8 @@
22411
22412 /* { dg-do assemble } */
22413 /* { dg-require-effective-target arm_neon_ok } */
22414-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
22415+/* { dg-options "-save-temps -O0" } */
22416+/* { dg-add-options arm_neon } */
22417
22418 #include "arm_neon.h"
22419
22420
22421=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsriQ_ns64.c'
22422--- old/gcc/testsuite/gcc.target/arm/neon/vsriQ_ns64.c 2007-07-25 11:28:31 +0000
22423+++ new/gcc/testsuite/gcc.target/arm/neon/vsriQ_ns64.c 2010-07-29 15:38:15 +0000
22424@@ -3,7 +3,8 @@
22425
22426 /* { dg-do assemble } */
22427 /* { dg-require-effective-target arm_neon_ok } */
22428-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
22429+/* { dg-options "-save-temps -O0" } */
22430+/* { dg-add-options arm_neon } */
22431
22432 #include "arm_neon.h"
22433
22434
22435=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsriQ_ns8.c'
22436--- old/gcc/testsuite/gcc.target/arm/neon/vsriQ_ns8.c 2007-07-25 11:28:31 +0000
22437+++ new/gcc/testsuite/gcc.target/arm/neon/vsriQ_ns8.c 2010-07-29 15:38:15 +0000
22438@@ -3,7 +3,8 @@
22439
22440 /* { dg-do assemble } */
22441 /* { dg-require-effective-target arm_neon_ok } */
22442-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
22443+/* { dg-options "-save-temps -O0" } */
22444+/* { dg-add-options arm_neon } */
22445
22446 #include "arm_neon.h"
22447
22448
22449=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsriQ_nu16.c'
22450--- old/gcc/testsuite/gcc.target/arm/neon/vsriQ_nu16.c 2007-07-25 11:28:31 +0000
22451+++ new/gcc/testsuite/gcc.target/arm/neon/vsriQ_nu16.c 2010-07-29 15:38:15 +0000
22452@@ -3,7 +3,8 @@
22453
22454 /* { dg-do assemble } */
22455 /* { dg-require-effective-target arm_neon_ok } */
22456-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
22457+/* { dg-options "-save-temps -O0" } */
22458+/* { dg-add-options arm_neon } */
22459
22460 #include "arm_neon.h"
22461
22462
22463=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsriQ_nu32.c'
22464--- old/gcc/testsuite/gcc.target/arm/neon/vsriQ_nu32.c 2007-07-25 11:28:31 +0000
22465+++ new/gcc/testsuite/gcc.target/arm/neon/vsriQ_nu32.c 2010-07-29 15:38:15 +0000
22466@@ -3,7 +3,8 @@
22467
22468 /* { dg-do assemble } */
22469 /* { dg-require-effective-target arm_neon_ok } */
22470-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
22471+/* { dg-options "-save-temps -O0" } */
22472+/* { dg-add-options arm_neon } */
22473
22474 #include "arm_neon.h"
22475
22476
22477=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsriQ_nu64.c'
22478--- old/gcc/testsuite/gcc.target/arm/neon/vsriQ_nu64.c 2007-07-25 11:28:31 +0000
22479+++ new/gcc/testsuite/gcc.target/arm/neon/vsriQ_nu64.c 2010-07-29 15:38:15 +0000
22480@@ -3,7 +3,8 @@
22481
22482 /* { dg-do assemble } */
22483 /* { dg-require-effective-target arm_neon_ok } */
22484-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
22485+/* { dg-options "-save-temps -O0" } */
22486+/* { dg-add-options arm_neon } */
22487
22488 #include "arm_neon.h"
22489
22490
22491=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsriQ_nu8.c'
22492--- old/gcc/testsuite/gcc.target/arm/neon/vsriQ_nu8.c 2007-07-25 11:28:31 +0000
22493+++ new/gcc/testsuite/gcc.target/arm/neon/vsriQ_nu8.c 2010-07-29 15:38:15 +0000
22494@@ -3,7 +3,8 @@
22495
22496 /* { dg-do assemble } */
22497 /* { dg-require-effective-target arm_neon_ok } */
22498-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
22499+/* { dg-options "-save-temps -O0" } */
22500+/* { dg-add-options arm_neon } */
22501
22502 #include "arm_neon.h"
22503
22504
22505=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsri_np16.c'
22506--- old/gcc/testsuite/gcc.target/arm/neon/vsri_np16.c 2007-07-25 11:28:31 +0000
22507+++ new/gcc/testsuite/gcc.target/arm/neon/vsri_np16.c 2010-07-29 15:38:15 +0000
22508@@ -3,7 +3,8 @@
22509
22510 /* { dg-do assemble } */
22511 /* { dg-require-effective-target arm_neon_ok } */
22512-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
22513+/* { dg-options "-save-temps -O0" } */
22514+/* { dg-add-options arm_neon } */
22515
22516 #include "arm_neon.h"
22517
22518
22519=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsri_np8.c'
22520--- old/gcc/testsuite/gcc.target/arm/neon/vsri_np8.c 2007-07-25 11:28:31 +0000
22521+++ new/gcc/testsuite/gcc.target/arm/neon/vsri_np8.c 2010-07-29 15:38:15 +0000
22522@@ -3,7 +3,8 @@
22523
22524 /* { dg-do assemble } */
22525 /* { dg-require-effective-target arm_neon_ok } */
22526-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
22527+/* { dg-options "-save-temps -O0" } */
22528+/* { dg-add-options arm_neon } */
22529
22530 #include "arm_neon.h"
22531
22532
22533=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsri_ns16.c'
22534--- old/gcc/testsuite/gcc.target/arm/neon/vsri_ns16.c 2007-07-25 11:28:31 +0000
22535+++ new/gcc/testsuite/gcc.target/arm/neon/vsri_ns16.c 2010-07-29 15:38:15 +0000
22536@@ -3,7 +3,8 @@
22537
22538 /* { dg-do assemble } */
22539 /* { dg-require-effective-target arm_neon_ok } */
22540-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
22541+/* { dg-options "-save-temps -O0" } */
22542+/* { dg-add-options arm_neon } */
22543
22544 #include "arm_neon.h"
22545
22546
22547=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsri_ns32.c'
22548--- old/gcc/testsuite/gcc.target/arm/neon/vsri_ns32.c 2007-07-25 11:28:31 +0000
22549+++ new/gcc/testsuite/gcc.target/arm/neon/vsri_ns32.c 2010-07-29 15:38:15 +0000
22550@@ -3,7 +3,8 @@
22551
22552 /* { dg-do assemble } */
22553 /* { dg-require-effective-target arm_neon_ok } */
22554-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
22555+/* { dg-options "-save-temps -O0" } */
22556+/* { dg-add-options arm_neon } */
22557
22558 #include "arm_neon.h"
22559
22560
22561=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsri_ns64.c'
22562--- old/gcc/testsuite/gcc.target/arm/neon/vsri_ns64.c 2007-07-25 11:28:31 +0000
22563+++ new/gcc/testsuite/gcc.target/arm/neon/vsri_ns64.c 2010-07-29 15:38:15 +0000
22564@@ -3,7 +3,8 @@
22565
22566 /* { dg-do assemble } */
22567 /* { dg-require-effective-target arm_neon_ok } */
22568-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
22569+/* { dg-options "-save-temps -O0" } */
22570+/* { dg-add-options arm_neon } */
22571
22572 #include "arm_neon.h"
22573
22574
22575=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsri_ns8.c'
22576--- old/gcc/testsuite/gcc.target/arm/neon/vsri_ns8.c 2007-07-25 11:28:31 +0000
22577+++ new/gcc/testsuite/gcc.target/arm/neon/vsri_ns8.c 2010-07-29 15:38:15 +0000
22578@@ -3,7 +3,8 @@
22579
22580 /* { dg-do assemble } */
22581 /* { dg-require-effective-target arm_neon_ok } */
22582-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
22583+/* { dg-options "-save-temps -O0" } */
22584+/* { dg-add-options arm_neon } */
22585
22586 #include "arm_neon.h"
22587
22588
22589=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsri_nu16.c'
22590--- old/gcc/testsuite/gcc.target/arm/neon/vsri_nu16.c 2007-07-25 11:28:31 +0000
22591+++ new/gcc/testsuite/gcc.target/arm/neon/vsri_nu16.c 2010-07-29 15:38:15 +0000
22592@@ -3,7 +3,8 @@
22593
22594 /* { dg-do assemble } */
22595 /* { dg-require-effective-target arm_neon_ok } */
22596-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
22597+/* { dg-options "-save-temps -O0" } */
22598+/* { dg-add-options arm_neon } */
22599
22600 #include "arm_neon.h"
22601
22602
22603=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsri_nu32.c'
22604--- old/gcc/testsuite/gcc.target/arm/neon/vsri_nu32.c 2007-07-25 11:28:31 +0000
22605+++ new/gcc/testsuite/gcc.target/arm/neon/vsri_nu32.c 2010-07-29 15:38:15 +0000
22606@@ -3,7 +3,8 @@
22607
22608 /* { dg-do assemble } */
22609 /* { dg-require-effective-target arm_neon_ok } */
22610-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
22611+/* { dg-options "-save-temps -O0" } */
22612+/* { dg-add-options arm_neon } */
22613
22614 #include "arm_neon.h"
22615
22616
22617=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsri_nu64.c'
22618--- old/gcc/testsuite/gcc.target/arm/neon/vsri_nu64.c 2007-07-25 11:28:31 +0000
22619+++ new/gcc/testsuite/gcc.target/arm/neon/vsri_nu64.c 2010-07-29 15:38:15 +0000
22620@@ -3,7 +3,8 @@
22621
22622 /* { dg-do assemble } */
22623 /* { dg-require-effective-target arm_neon_ok } */
22624-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
22625+/* { dg-options "-save-temps -O0" } */
22626+/* { dg-add-options arm_neon } */
22627
22628 #include "arm_neon.h"
22629
22630
22631=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsri_nu8.c'
22632--- old/gcc/testsuite/gcc.target/arm/neon/vsri_nu8.c 2007-07-25 11:28:31 +0000
22633+++ new/gcc/testsuite/gcc.target/arm/neon/vsri_nu8.c 2010-07-29 15:38:15 +0000
22634@@ -3,7 +3,8 @@
22635
22636 /* { dg-do assemble } */
22637 /* { dg-require-effective-target arm_neon_ok } */
22638-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
22639+/* { dg-options "-save-temps -O0" } */
22640+/* { dg-add-options arm_neon } */
22641
22642 #include "arm_neon.h"
22643
22644
22645=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst1Q_lanef32.c'
22646--- old/gcc/testsuite/gcc.target/arm/neon/vst1Q_lanef32.c 2007-07-25 11:28:31 +0000
22647+++ new/gcc/testsuite/gcc.target/arm/neon/vst1Q_lanef32.c 2010-07-29 15:38:15 +0000
22648@@ -3,7 +3,8 @@
22649
22650 /* { dg-do assemble } */
22651 /* { dg-require-effective-target arm_neon_ok } */
22652-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
22653+/* { dg-options "-save-temps -O0" } */
22654+/* { dg-add-options arm_neon } */
22655
22656 #include "arm_neon.h"
22657
22658
22659=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst1Q_lanep16.c'
22660--- old/gcc/testsuite/gcc.target/arm/neon/vst1Q_lanep16.c 2007-07-25 11:28:31 +0000
22661+++ new/gcc/testsuite/gcc.target/arm/neon/vst1Q_lanep16.c 2010-07-29 15:38:15 +0000
22662@@ -3,7 +3,8 @@
22663
22664 /* { dg-do assemble } */
22665 /* { dg-require-effective-target arm_neon_ok } */
22666-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
22667+/* { dg-options "-save-temps -O0" } */
22668+/* { dg-add-options arm_neon } */
22669
22670 #include "arm_neon.h"
22671
22672
22673=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst1Q_lanep8.c'
22674--- old/gcc/testsuite/gcc.target/arm/neon/vst1Q_lanep8.c 2007-07-25 11:28:31 +0000
22675+++ new/gcc/testsuite/gcc.target/arm/neon/vst1Q_lanep8.c 2010-07-29 15:38:15 +0000
22676@@ -3,7 +3,8 @@
22677
22678 /* { dg-do assemble } */
22679 /* { dg-require-effective-target arm_neon_ok } */
22680-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
22681+/* { dg-options "-save-temps -O0" } */
22682+/* { dg-add-options arm_neon } */
22683
22684 #include "arm_neon.h"
22685
22686
22687=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst1Q_lanes16.c'
22688--- old/gcc/testsuite/gcc.target/arm/neon/vst1Q_lanes16.c 2007-07-25 11:28:31 +0000
22689+++ new/gcc/testsuite/gcc.target/arm/neon/vst1Q_lanes16.c 2010-07-29 15:38:15 +0000
22690@@ -3,7 +3,8 @@
22691
22692 /* { dg-do assemble } */
22693 /* { dg-require-effective-target arm_neon_ok } */
22694-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
22695+/* { dg-options "-save-temps -O0" } */
22696+/* { dg-add-options arm_neon } */
22697
22698 #include "arm_neon.h"
22699
22700
22701=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst1Q_lanes32.c'
22702--- old/gcc/testsuite/gcc.target/arm/neon/vst1Q_lanes32.c 2007-07-25 11:28:31 +0000
22703+++ new/gcc/testsuite/gcc.target/arm/neon/vst1Q_lanes32.c 2010-07-29 15:38:15 +0000
22704@@ -3,7 +3,8 @@
22705
22706 /* { dg-do assemble } */
22707 /* { dg-require-effective-target arm_neon_ok } */
22708-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
22709+/* { dg-options "-save-temps -O0" } */
22710+/* { dg-add-options arm_neon } */
22711
22712 #include "arm_neon.h"
22713
22714
22715=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst1Q_lanes64.c'
22716--- old/gcc/testsuite/gcc.target/arm/neon/vst1Q_lanes64.c 2007-07-25 11:28:31 +0000
22717+++ new/gcc/testsuite/gcc.target/arm/neon/vst1Q_lanes64.c 2010-07-29 15:38:15 +0000
22718@@ -3,7 +3,8 @@
22719
22720 /* { dg-do assemble } */
22721 /* { dg-require-effective-target arm_neon_ok } */
22722-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
22723+/* { dg-options "-save-temps -O0" } */
22724+/* { dg-add-options arm_neon } */
22725
22726 #include "arm_neon.h"
22727
22728
22729=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst1Q_lanes8.c'
22730--- old/gcc/testsuite/gcc.target/arm/neon/vst1Q_lanes8.c 2007-07-25 11:28:31 +0000
22731+++ new/gcc/testsuite/gcc.target/arm/neon/vst1Q_lanes8.c 2010-07-29 15:38:15 +0000
22732@@ -3,7 +3,8 @@
22733
22734 /* { dg-do assemble } */
22735 /* { dg-require-effective-target arm_neon_ok } */
22736-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
22737+/* { dg-options "-save-temps -O0" } */
22738+/* { dg-add-options arm_neon } */
22739
22740 #include "arm_neon.h"
22741
22742
22743=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst1Q_laneu16.c'
22744--- old/gcc/testsuite/gcc.target/arm/neon/vst1Q_laneu16.c 2007-07-25 11:28:31 +0000
22745+++ new/gcc/testsuite/gcc.target/arm/neon/vst1Q_laneu16.c 2010-07-29 15:38:15 +0000
22746@@ -3,7 +3,8 @@
22747
22748 /* { dg-do assemble } */
22749 /* { dg-require-effective-target arm_neon_ok } */
22750-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
22751+/* { dg-options "-save-temps -O0" } */
22752+/* { dg-add-options arm_neon } */
22753
22754 #include "arm_neon.h"
22755
22756
22757=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst1Q_laneu32.c'
22758--- old/gcc/testsuite/gcc.target/arm/neon/vst1Q_laneu32.c 2007-07-25 11:28:31 +0000
22759+++ new/gcc/testsuite/gcc.target/arm/neon/vst1Q_laneu32.c 2010-07-29 15:38:15 +0000
22760@@ -3,7 +3,8 @@
22761
22762 /* { dg-do assemble } */
22763 /* { dg-require-effective-target arm_neon_ok } */
22764-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
22765+/* { dg-options "-save-temps -O0" } */
22766+/* { dg-add-options arm_neon } */
22767
22768 #include "arm_neon.h"
22769
22770
22771=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst1Q_laneu64.c'
22772--- old/gcc/testsuite/gcc.target/arm/neon/vst1Q_laneu64.c 2007-07-25 11:28:31 +0000
22773+++ new/gcc/testsuite/gcc.target/arm/neon/vst1Q_laneu64.c 2010-07-29 15:38:15 +0000
22774@@ -3,7 +3,8 @@
22775
22776 /* { dg-do assemble } */
22777 /* { dg-require-effective-target arm_neon_ok } */
22778-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
22779+/* { dg-options "-save-temps -O0" } */
22780+/* { dg-add-options arm_neon } */
22781
22782 #include "arm_neon.h"
22783
22784
22785=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst1Q_laneu8.c'
22786--- old/gcc/testsuite/gcc.target/arm/neon/vst1Q_laneu8.c 2007-07-25 11:28:31 +0000
22787+++ new/gcc/testsuite/gcc.target/arm/neon/vst1Q_laneu8.c 2010-07-29 15:38:15 +0000
22788@@ -3,7 +3,8 @@
22789
22790 /* { dg-do assemble } */
22791 /* { dg-require-effective-target arm_neon_ok } */
22792-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
22793+/* { dg-options "-save-temps -O0" } */
22794+/* { dg-add-options arm_neon } */
22795
22796 #include "arm_neon.h"
22797
22798
22799=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst1Qf32.c'
22800--- old/gcc/testsuite/gcc.target/arm/neon/vst1Qf32.c 2007-07-25 11:28:31 +0000
22801+++ new/gcc/testsuite/gcc.target/arm/neon/vst1Qf32.c 2010-07-29 15:38:15 +0000
22802@@ -3,7 +3,8 @@
22803
22804 /* { dg-do assemble } */
22805 /* { dg-require-effective-target arm_neon_ok } */
22806-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
22807+/* { dg-options "-save-temps -O0" } */
22808+/* { dg-add-options arm_neon } */
22809
22810 #include "arm_neon.h"
22811
22812
22813=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst1Qp16.c'
22814--- old/gcc/testsuite/gcc.target/arm/neon/vst1Qp16.c 2007-07-25 11:28:31 +0000
22815+++ new/gcc/testsuite/gcc.target/arm/neon/vst1Qp16.c 2010-07-29 15:38:15 +0000
22816@@ -3,7 +3,8 @@
22817
22818 /* { dg-do assemble } */
22819 /* { dg-require-effective-target arm_neon_ok } */
22820-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
22821+/* { dg-options "-save-temps -O0" } */
22822+/* { dg-add-options arm_neon } */
22823
22824 #include "arm_neon.h"
22825
22826
22827=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst1Qp8.c'
22828--- old/gcc/testsuite/gcc.target/arm/neon/vst1Qp8.c 2007-07-25 11:28:31 +0000
22829+++ new/gcc/testsuite/gcc.target/arm/neon/vst1Qp8.c 2010-07-29 15:38:15 +0000
22830@@ -3,7 +3,8 @@
22831
22832 /* { dg-do assemble } */
22833 /* { dg-require-effective-target arm_neon_ok } */
22834-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
22835+/* { dg-options "-save-temps -O0" } */
22836+/* { dg-add-options arm_neon } */
22837
22838 #include "arm_neon.h"
22839
22840
22841=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst1Qs16.c'
22842--- old/gcc/testsuite/gcc.target/arm/neon/vst1Qs16.c 2007-07-25 11:28:31 +0000
22843+++ new/gcc/testsuite/gcc.target/arm/neon/vst1Qs16.c 2010-07-29 15:38:15 +0000
22844@@ -3,7 +3,8 @@
22845
22846 /* { dg-do assemble } */
22847 /* { dg-require-effective-target arm_neon_ok } */
22848-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
22849+/* { dg-options "-save-temps -O0" } */
22850+/* { dg-add-options arm_neon } */
22851
22852 #include "arm_neon.h"
22853
22854
22855=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst1Qs32.c'
22856--- old/gcc/testsuite/gcc.target/arm/neon/vst1Qs32.c 2007-07-25 11:28:31 +0000
22857+++ new/gcc/testsuite/gcc.target/arm/neon/vst1Qs32.c 2010-07-29 15:38:15 +0000
22858@@ -3,7 +3,8 @@
22859
22860 /* { dg-do assemble } */
22861 /* { dg-require-effective-target arm_neon_ok } */
22862-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
22863+/* { dg-options "-save-temps -O0" } */
22864+/* { dg-add-options arm_neon } */
22865
22866 #include "arm_neon.h"
22867
22868
22869=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst1Qs64.c'
22870--- old/gcc/testsuite/gcc.target/arm/neon/vst1Qs64.c 2007-07-25 11:28:31 +0000
22871+++ new/gcc/testsuite/gcc.target/arm/neon/vst1Qs64.c 2010-07-29 15:38:15 +0000
22872@@ -3,7 +3,8 @@
22873
22874 /* { dg-do assemble } */
22875 /* { dg-require-effective-target arm_neon_ok } */
22876-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
22877+/* { dg-options "-save-temps -O0" } */
22878+/* { dg-add-options arm_neon } */
22879
22880 #include "arm_neon.h"
22881
22882
22883=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst1Qs8.c'
22884--- old/gcc/testsuite/gcc.target/arm/neon/vst1Qs8.c 2007-07-25 11:28:31 +0000
22885+++ new/gcc/testsuite/gcc.target/arm/neon/vst1Qs8.c 2010-07-29 15:38:15 +0000
22886@@ -3,7 +3,8 @@
22887
22888 /* { dg-do assemble } */
22889 /* { dg-require-effective-target arm_neon_ok } */
22890-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
22891+/* { dg-options "-save-temps -O0" } */
22892+/* { dg-add-options arm_neon } */
22893
22894 #include "arm_neon.h"
22895
22896
22897=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst1Qu16.c'
22898--- old/gcc/testsuite/gcc.target/arm/neon/vst1Qu16.c 2007-07-25 11:28:31 +0000
22899+++ new/gcc/testsuite/gcc.target/arm/neon/vst1Qu16.c 2010-07-29 15:38:15 +0000
22900@@ -3,7 +3,8 @@
22901
22902 /* { dg-do assemble } */
22903 /* { dg-require-effective-target arm_neon_ok } */
22904-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
22905+/* { dg-options "-save-temps -O0" } */
22906+/* { dg-add-options arm_neon } */
22907
22908 #include "arm_neon.h"
22909
22910
22911=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst1Qu32.c'
22912--- old/gcc/testsuite/gcc.target/arm/neon/vst1Qu32.c 2007-07-25 11:28:31 +0000
22913+++ new/gcc/testsuite/gcc.target/arm/neon/vst1Qu32.c 2010-07-29 15:38:15 +0000
22914@@ -3,7 +3,8 @@
22915
22916 /* { dg-do assemble } */
22917 /* { dg-require-effective-target arm_neon_ok } */
22918-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
22919+/* { dg-options "-save-temps -O0" } */
22920+/* { dg-add-options arm_neon } */
22921
22922 #include "arm_neon.h"
22923
22924
22925=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst1Qu64.c'
22926--- old/gcc/testsuite/gcc.target/arm/neon/vst1Qu64.c 2007-07-25 11:28:31 +0000
22927+++ new/gcc/testsuite/gcc.target/arm/neon/vst1Qu64.c 2010-07-29 15:38:15 +0000
22928@@ -3,7 +3,8 @@
22929
22930 /* { dg-do assemble } */
22931 /* { dg-require-effective-target arm_neon_ok } */
22932-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
22933+/* { dg-options "-save-temps -O0" } */
22934+/* { dg-add-options arm_neon } */
22935
22936 #include "arm_neon.h"
22937
22938
22939=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst1Qu8.c'
22940--- old/gcc/testsuite/gcc.target/arm/neon/vst1Qu8.c 2007-07-25 11:28:31 +0000
22941+++ new/gcc/testsuite/gcc.target/arm/neon/vst1Qu8.c 2010-07-29 15:38:15 +0000
22942@@ -3,7 +3,8 @@
22943
22944 /* { dg-do assemble } */
22945 /* { dg-require-effective-target arm_neon_ok } */
22946-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
22947+/* { dg-options "-save-temps -O0" } */
22948+/* { dg-add-options arm_neon } */
22949
22950 #include "arm_neon.h"
22951
22952
22953=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst1_lanef32.c'
22954--- old/gcc/testsuite/gcc.target/arm/neon/vst1_lanef32.c 2007-07-25 11:28:31 +0000
22955+++ new/gcc/testsuite/gcc.target/arm/neon/vst1_lanef32.c 2010-07-29 15:38:15 +0000
22956@@ -3,7 +3,8 @@
22957
22958 /* { dg-do assemble } */
22959 /* { dg-require-effective-target arm_neon_ok } */
22960-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
22961+/* { dg-options "-save-temps -O0" } */
22962+/* { dg-add-options arm_neon } */
22963
22964 #include "arm_neon.h"
22965
22966
22967=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst1_lanep16.c'
22968--- old/gcc/testsuite/gcc.target/arm/neon/vst1_lanep16.c 2007-07-25 11:28:31 +0000
22969+++ new/gcc/testsuite/gcc.target/arm/neon/vst1_lanep16.c 2010-07-29 15:38:15 +0000
22970@@ -3,7 +3,8 @@
22971
22972 /* { dg-do assemble } */
22973 /* { dg-require-effective-target arm_neon_ok } */
22974-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
22975+/* { dg-options "-save-temps -O0" } */
22976+/* { dg-add-options arm_neon } */
22977
22978 #include "arm_neon.h"
22979
22980
22981=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst1_lanep8.c'
22982--- old/gcc/testsuite/gcc.target/arm/neon/vst1_lanep8.c 2007-07-25 11:28:31 +0000
22983+++ new/gcc/testsuite/gcc.target/arm/neon/vst1_lanep8.c 2010-07-29 15:38:15 +0000
22984@@ -3,7 +3,8 @@
22985
22986 /* { dg-do assemble } */
22987 /* { dg-require-effective-target arm_neon_ok } */
22988-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
22989+/* { dg-options "-save-temps -O0" } */
22990+/* { dg-add-options arm_neon } */
22991
22992 #include "arm_neon.h"
22993
22994
22995=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst1_lanes16.c'
22996--- old/gcc/testsuite/gcc.target/arm/neon/vst1_lanes16.c 2007-07-25 11:28:31 +0000
22997+++ new/gcc/testsuite/gcc.target/arm/neon/vst1_lanes16.c 2010-07-29 15:38:15 +0000
22998@@ -3,7 +3,8 @@
22999
23000 /* { dg-do assemble } */
23001 /* { dg-require-effective-target arm_neon_ok } */
23002-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
23003+/* { dg-options "-save-temps -O0" } */
23004+/* { dg-add-options arm_neon } */
23005
23006 #include "arm_neon.h"
23007
23008
23009=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst1_lanes32.c'
23010--- old/gcc/testsuite/gcc.target/arm/neon/vst1_lanes32.c 2007-07-25 11:28:31 +0000
23011+++ new/gcc/testsuite/gcc.target/arm/neon/vst1_lanes32.c 2010-07-29 15:38:15 +0000
23012@@ -3,7 +3,8 @@
23013
23014 /* { dg-do assemble } */
23015 /* { dg-require-effective-target arm_neon_ok } */
23016-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
23017+/* { dg-options "-save-temps -O0" } */
23018+/* { dg-add-options arm_neon } */
23019
23020 #include "arm_neon.h"
23021
23022
23023=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst1_lanes64.c'
23024--- old/gcc/testsuite/gcc.target/arm/neon/vst1_lanes64.c 2007-07-25 11:28:31 +0000
23025+++ new/gcc/testsuite/gcc.target/arm/neon/vst1_lanes64.c 2010-07-29 15:38:15 +0000
23026@@ -3,7 +3,8 @@
23027
23028 /* { dg-do assemble } */
23029 /* { dg-require-effective-target arm_neon_ok } */
23030-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
23031+/* { dg-options "-save-temps -O0" } */
23032+/* { dg-add-options arm_neon } */
23033
23034 #include "arm_neon.h"
23035
23036
23037=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst1_lanes8.c'
23038--- old/gcc/testsuite/gcc.target/arm/neon/vst1_lanes8.c 2007-07-25 11:28:31 +0000
23039+++ new/gcc/testsuite/gcc.target/arm/neon/vst1_lanes8.c 2010-07-29 15:38:15 +0000
23040@@ -3,7 +3,8 @@
23041
23042 /* { dg-do assemble } */
23043 /* { dg-require-effective-target arm_neon_ok } */
23044-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
23045+/* { dg-options "-save-temps -O0" } */
23046+/* { dg-add-options arm_neon } */
23047
23048 #include "arm_neon.h"
23049
23050
23051=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst1_laneu16.c'
23052--- old/gcc/testsuite/gcc.target/arm/neon/vst1_laneu16.c 2007-07-25 11:28:31 +0000
23053+++ new/gcc/testsuite/gcc.target/arm/neon/vst1_laneu16.c 2010-07-29 15:38:15 +0000
23054@@ -3,7 +3,8 @@
23055
23056 /* { dg-do assemble } */
23057 /* { dg-require-effective-target arm_neon_ok } */
23058-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
23059+/* { dg-options "-save-temps -O0" } */
23060+/* { dg-add-options arm_neon } */
23061
23062 #include "arm_neon.h"
23063
23064
23065=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst1_laneu32.c'
23066--- old/gcc/testsuite/gcc.target/arm/neon/vst1_laneu32.c 2007-07-25 11:28:31 +0000
23067+++ new/gcc/testsuite/gcc.target/arm/neon/vst1_laneu32.c 2010-07-29 15:38:15 +0000
23068@@ -3,7 +3,8 @@
23069
23070 /* { dg-do assemble } */
23071 /* { dg-require-effective-target arm_neon_ok } */
23072-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
23073+/* { dg-options "-save-temps -O0" } */
23074+/* { dg-add-options arm_neon } */
23075
23076 #include "arm_neon.h"
23077
23078
23079=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst1_laneu64.c'
23080--- old/gcc/testsuite/gcc.target/arm/neon/vst1_laneu64.c 2007-07-25 11:28:31 +0000
23081+++ new/gcc/testsuite/gcc.target/arm/neon/vst1_laneu64.c 2010-07-29 15:38:15 +0000
23082@@ -3,7 +3,8 @@
23083
23084 /* { dg-do assemble } */
23085 /* { dg-require-effective-target arm_neon_ok } */
23086-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
23087+/* { dg-options "-save-temps -O0" } */
23088+/* { dg-add-options arm_neon } */
23089
23090 #include "arm_neon.h"
23091
23092
23093=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst1_laneu8.c'
23094--- old/gcc/testsuite/gcc.target/arm/neon/vst1_laneu8.c 2007-07-25 11:28:31 +0000
23095+++ new/gcc/testsuite/gcc.target/arm/neon/vst1_laneu8.c 2010-07-29 15:38:15 +0000
23096@@ -3,7 +3,8 @@
23097
23098 /* { dg-do assemble } */
23099 /* { dg-require-effective-target arm_neon_ok } */
23100-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
23101+/* { dg-options "-save-temps -O0" } */
23102+/* { dg-add-options arm_neon } */
23103
23104 #include "arm_neon.h"
23105
23106
23107=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst1f32.c'
23108--- old/gcc/testsuite/gcc.target/arm/neon/vst1f32.c 2007-07-25 11:28:31 +0000
23109+++ new/gcc/testsuite/gcc.target/arm/neon/vst1f32.c 2010-07-29 15:38:15 +0000
23110@@ -3,7 +3,8 @@
23111
23112 /* { dg-do assemble } */
23113 /* { dg-require-effective-target arm_neon_ok } */
23114-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
23115+/* { dg-options "-save-temps -O0" } */
23116+/* { dg-add-options arm_neon } */
23117
23118 #include "arm_neon.h"
23119
23120
23121=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst1p16.c'
23122--- old/gcc/testsuite/gcc.target/arm/neon/vst1p16.c 2007-07-25 11:28:31 +0000
23123+++ new/gcc/testsuite/gcc.target/arm/neon/vst1p16.c 2010-07-29 15:38:15 +0000
23124@@ -3,7 +3,8 @@
23125
23126 /* { dg-do assemble } */
23127 /* { dg-require-effective-target arm_neon_ok } */
23128-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
23129+/* { dg-options "-save-temps -O0" } */
23130+/* { dg-add-options arm_neon } */
23131
23132 #include "arm_neon.h"
23133
23134
23135=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst1p8.c'
23136--- old/gcc/testsuite/gcc.target/arm/neon/vst1p8.c 2007-07-25 11:28:31 +0000
23137+++ new/gcc/testsuite/gcc.target/arm/neon/vst1p8.c 2010-07-29 15:38:15 +0000
23138@@ -3,7 +3,8 @@
23139
23140 /* { dg-do assemble } */
23141 /* { dg-require-effective-target arm_neon_ok } */
23142-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
23143+/* { dg-options "-save-temps -O0" } */
23144+/* { dg-add-options arm_neon } */
23145
23146 #include "arm_neon.h"
23147
23148
23149=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst1s16.c'
23150--- old/gcc/testsuite/gcc.target/arm/neon/vst1s16.c 2007-07-25 11:28:31 +0000
23151+++ new/gcc/testsuite/gcc.target/arm/neon/vst1s16.c 2010-07-29 15:38:15 +0000
23152@@ -3,7 +3,8 @@
23153
23154 /* { dg-do assemble } */
23155 /* { dg-require-effective-target arm_neon_ok } */
23156-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
23157+/* { dg-options "-save-temps -O0" } */
23158+/* { dg-add-options arm_neon } */
23159
23160 #include "arm_neon.h"
23161
23162
23163=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst1s32.c'
23164--- old/gcc/testsuite/gcc.target/arm/neon/vst1s32.c 2007-07-25 11:28:31 +0000
23165+++ new/gcc/testsuite/gcc.target/arm/neon/vst1s32.c 2010-07-29 15:38:15 +0000
23166@@ -3,7 +3,8 @@
23167
23168 /* { dg-do assemble } */
23169 /* { dg-require-effective-target arm_neon_ok } */
23170-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
23171+/* { dg-options "-save-temps -O0" } */
23172+/* { dg-add-options arm_neon } */
23173
23174 #include "arm_neon.h"
23175
23176
23177=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst1s64.c'
23178--- old/gcc/testsuite/gcc.target/arm/neon/vst1s64.c 2007-07-25 11:28:31 +0000
23179+++ new/gcc/testsuite/gcc.target/arm/neon/vst1s64.c 2010-07-29 15:38:15 +0000
23180@@ -3,7 +3,8 @@
23181
23182 /* { dg-do assemble } */
23183 /* { dg-require-effective-target arm_neon_ok } */
23184-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
23185+/* { dg-options "-save-temps -O0" } */
23186+/* { dg-add-options arm_neon } */
23187
23188 #include "arm_neon.h"
23189
23190
23191=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst1s8.c'
23192--- old/gcc/testsuite/gcc.target/arm/neon/vst1s8.c 2007-07-25 11:28:31 +0000
23193+++ new/gcc/testsuite/gcc.target/arm/neon/vst1s8.c 2010-07-29 15:38:15 +0000
23194@@ -3,7 +3,8 @@
23195
23196 /* { dg-do assemble } */
23197 /* { dg-require-effective-target arm_neon_ok } */
23198-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
23199+/* { dg-options "-save-temps -O0" } */
23200+/* { dg-add-options arm_neon } */
23201
23202 #include "arm_neon.h"
23203
23204
23205=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst1u16.c'
23206--- old/gcc/testsuite/gcc.target/arm/neon/vst1u16.c 2007-07-25 11:28:31 +0000
23207+++ new/gcc/testsuite/gcc.target/arm/neon/vst1u16.c 2010-07-29 15:38:15 +0000
23208@@ -3,7 +3,8 @@
23209
23210 /* { dg-do assemble } */
23211 /* { dg-require-effective-target arm_neon_ok } */
23212-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
23213+/* { dg-options "-save-temps -O0" } */
23214+/* { dg-add-options arm_neon } */
23215
23216 #include "arm_neon.h"
23217
23218
23219=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst1u32.c'
23220--- old/gcc/testsuite/gcc.target/arm/neon/vst1u32.c 2007-07-25 11:28:31 +0000
23221+++ new/gcc/testsuite/gcc.target/arm/neon/vst1u32.c 2010-07-29 15:38:15 +0000
23222@@ -3,7 +3,8 @@
23223
23224 /* { dg-do assemble } */
23225 /* { dg-require-effective-target arm_neon_ok } */
23226-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
23227+/* { dg-options "-save-temps -O0" } */
23228+/* { dg-add-options arm_neon } */
23229
23230 #include "arm_neon.h"
23231
23232
23233=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst1u64.c'
23234--- old/gcc/testsuite/gcc.target/arm/neon/vst1u64.c 2007-07-25 11:28:31 +0000
23235+++ new/gcc/testsuite/gcc.target/arm/neon/vst1u64.c 2010-07-29 15:38:15 +0000
23236@@ -3,7 +3,8 @@
23237
23238 /* { dg-do assemble } */
23239 /* { dg-require-effective-target arm_neon_ok } */
23240-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
23241+/* { dg-options "-save-temps -O0" } */
23242+/* { dg-add-options arm_neon } */
23243
23244 #include "arm_neon.h"
23245
23246
23247=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst1u8.c'
23248--- old/gcc/testsuite/gcc.target/arm/neon/vst1u8.c 2007-07-25 11:28:31 +0000
23249+++ new/gcc/testsuite/gcc.target/arm/neon/vst1u8.c 2010-07-29 15:38:15 +0000
23250@@ -3,7 +3,8 @@
23251
23252 /* { dg-do assemble } */
23253 /* { dg-require-effective-target arm_neon_ok } */
23254-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
23255+/* { dg-options "-save-temps -O0" } */
23256+/* { dg-add-options arm_neon } */
23257
23258 #include "arm_neon.h"
23259
23260
23261=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst2Q_lanef32.c'
23262--- old/gcc/testsuite/gcc.target/arm/neon/vst2Q_lanef32.c 2007-07-25 11:28:31 +0000
23263+++ new/gcc/testsuite/gcc.target/arm/neon/vst2Q_lanef32.c 2010-07-29 15:38:15 +0000
23264@@ -3,7 +3,8 @@
23265
23266 /* { dg-do assemble } */
23267 /* { dg-require-effective-target arm_neon_ok } */
23268-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
23269+/* { dg-options "-save-temps -O0" } */
23270+/* { dg-add-options arm_neon } */
23271
23272 #include "arm_neon.h"
23273
23274
23275=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst2Q_lanep16.c'
23276--- old/gcc/testsuite/gcc.target/arm/neon/vst2Q_lanep16.c 2007-07-25 11:28:31 +0000
23277+++ new/gcc/testsuite/gcc.target/arm/neon/vst2Q_lanep16.c 2010-07-29 15:38:15 +0000
23278@@ -3,7 +3,8 @@
23279
23280 /* { dg-do assemble } */
23281 /* { dg-require-effective-target arm_neon_ok } */
23282-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
23283+/* { dg-options "-save-temps -O0" } */
23284+/* { dg-add-options arm_neon } */
23285
23286 #include "arm_neon.h"
23287
23288
23289=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst2Q_lanes16.c'
23290--- old/gcc/testsuite/gcc.target/arm/neon/vst2Q_lanes16.c 2007-07-25 11:28:31 +0000
23291+++ new/gcc/testsuite/gcc.target/arm/neon/vst2Q_lanes16.c 2010-07-29 15:38:15 +0000
23292@@ -3,7 +3,8 @@
23293
23294 /* { dg-do assemble } */
23295 /* { dg-require-effective-target arm_neon_ok } */
23296-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
23297+/* { dg-options "-save-temps -O0" } */
23298+/* { dg-add-options arm_neon } */
23299
23300 #include "arm_neon.h"
23301
23302
23303=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst2Q_lanes32.c'
23304--- old/gcc/testsuite/gcc.target/arm/neon/vst2Q_lanes32.c 2007-07-25 11:28:31 +0000
23305+++ new/gcc/testsuite/gcc.target/arm/neon/vst2Q_lanes32.c 2010-07-29 15:38:15 +0000
23306@@ -3,7 +3,8 @@
23307
23308 /* { dg-do assemble } */
23309 /* { dg-require-effective-target arm_neon_ok } */
23310-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
23311+/* { dg-options "-save-temps -O0" } */
23312+/* { dg-add-options arm_neon } */
23313
23314 #include "arm_neon.h"
23315
23316
23317=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst2Q_laneu16.c'
23318--- old/gcc/testsuite/gcc.target/arm/neon/vst2Q_laneu16.c 2007-07-25 11:28:31 +0000
23319+++ new/gcc/testsuite/gcc.target/arm/neon/vst2Q_laneu16.c 2010-07-29 15:38:15 +0000
23320@@ -3,7 +3,8 @@
23321
23322 /* { dg-do assemble } */
23323 /* { dg-require-effective-target arm_neon_ok } */
23324-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
23325+/* { dg-options "-save-temps -O0" } */
23326+/* { dg-add-options arm_neon } */
23327
23328 #include "arm_neon.h"
23329
23330
23331=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst2Q_laneu32.c'
23332--- old/gcc/testsuite/gcc.target/arm/neon/vst2Q_laneu32.c 2007-07-25 11:28:31 +0000
23333+++ new/gcc/testsuite/gcc.target/arm/neon/vst2Q_laneu32.c 2010-07-29 15:38:15 +0000
23334@@ -3,7 +3,8 @@
23335
23336 /* { dg-do assemble } */
23337 /* { dg-require-effective-target arm_neon_ok } */
23338-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
23339+/* { dg-options "-save-temps -O0" } */
23340+/* { dg-add-options arm_neon } */
23341
23342 #include "arm_neon.h"
23343
23344
23345=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst2Qf32.c'
23346--- old/gcc/testsuite/gcc.target/arm/neon/vst2Qf32.c 2007-07-25 11:28:31 +0000
23347+++ new/gcc/testsuite/gcc.target/arm/neon/vst2Qf32.c 2010-07-29 15:38:15 +0000
23348@@ -3,7 +3,8 @@
23349
23350 /* { dg-do assemble } */
23351 /* { dg-require-effective-target arm_neon_ok } */
23352-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
23353+/* { dg-options "-save-temps -O0" } */
23354+/* { dg-add-options arm_neon } */
23355
23356 #include "arm_neon.h"
23357
23358
23359=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst2Qp16.c'
23360--- old/gcc/testsuite/gcc.target/arm/neon/vst2Qp16.c 2007-07-25 11:28:31 +0000
23361+++ new/gcc/testsuite/gcc.target/arm/neon/vst2Qp16.c 2010-07-29 15:38:15 +0000
23362@@ -3,7 +3,8 @@
23363
23364 /* { dg-do assemble } */
23365 /* { dg-require-effective-target arm_neon_ok } */
23366-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
23367+/* { dg-options "-save-temps -O0" } */
23368+/* { dg-add-options arm_neon } */
23369
23370 #include "arm_neon.h"
23371
23372
23373=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst2Qp8.c'
23374--- old/gcc/testsuite/gcc.target/arm/neon/vst2Qp8.c 2007-07-25 11:28:31 +0000
23375+++ new/gcc/testsuite/gcc.target/arm/neon/vst2Qp8.c 2010-07-29 15:38:15 +0000
23376@@ -3,7 +3,8 @@
23377
23378 /* { dg-do assemble } */
23379 /* { dg-require-effective-target arm_neon_ok } */
23380-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
23381+/* { dg-options "-save-temps -O0" } */
23382+/* { dg-add-options arm_neon } */
23383
23384 #include "arm_neon.h"
23385
23386
23387=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst2Qs16.c'
23388--- old/gcc/testsuite/gcc.target/arm/neon/vst2Qs16.c 2007-07-25 11:28:31 +0000
23389+++ new/gcc/testsuite/gcc.target/arm/neon/vst2Qs16.c 2010-07-29 15:38:15 +0000
23390@@ -3,7 +3,8 @@
23391
23392 /* { dg-do assemble } */
23393 /* { dg-require-effective-target arm_neon_ok } */
23394-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
23395+/* { dg-options "-save-temps -O0" } */
23396+/* { dg-add-options arm_neon } */
23397
23398 #include "arm_neon.h"
23399
23400
23401=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst2Qs32.c'
23402--- old/gcc/testsuite/gcc.target/arm/neon/vst2Qs32.c 2007-07-25 11:28:31 +0000
23403+++ new/gcc/testsuite/gcc.target/arm/neon/vst2Qs32.c 2010-07-29 15:38:15 +0000
23404@@ -3,7 +3,8 @@
23405
23406 /* { dg-do assemble } */
23407 /* { dg-require-effective-target arm_neon_ok } */
23408-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
23409+/* { dg-options "-save-temps -O0" } */
23410+/* { dg-add-options arm_neon } */
23411
23412 #include "arm_neon.h"
23413
23414
23415=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst2Qs8.c'
23416--- old/gcc/testsuite/gcc.target/arm/neon/vst2Qs8.c 2007-07-25 11:28:31 +0000
23417+++ new/gcc/testsuite/gcc.target/arm/neon/vst2Qs8.c 2010-07-29 15:38:15 +0000
23418@@ -3,7 +3,8 @@
23419
23420 /* { dg-do assemble } */
23421 /* { dg-require-effective-target arm_neon_ok } */
23422-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
23423+/* { dg-options "-save-temps -O0" } */
23424+/* { dg-add-options arm_neon } */
23425
23426 #include "arm_neon.h"
23427
23428
23429=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst2Qu16.c'
23430--- old/gcc/testsuite/gcc.target/arm/neon/vst2Qu16.c 2007-07-25 11:28:31 +0000
23431+++ new/gcc/testsuite/gcc.target/arm/neon/vst2Qu16.c 2010-07-29 15:38:15 +0000
23432@@ -3,7 +3,8 @@
23433
23434 /* { dg-do assemble } */
23435 /* { dg-require-effective-target arm_neon_ok } */
23436-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
23437+/* { dg-options "-save-temps -O0" } */
23438+/* { dg-add-options arm_neon } */
23439
23440 #include "arm_neon.h"
23441
23442
23443=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst2Qu32.c'
23444--- old/gcc/testsuite/gcc.target/arm/neon/vst2Qu32.c 2007-07-25 11:28:31 +0000
23445+++ new/gcc/testsuite/gcc.target/arm/neon/vst2Qu32.c 2010-07-29 15:38:15 +0000
23446@@ -3,7 +3,8 @@
23447
23448 /* { dg-do assemble } */
23449 /* { dg-require-effective-target arm_neon_ok } */
23450-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
23451+/* { dg-options "-save-temps -O0" } */
23452+/* { dg-add-options arm_neon } */
23453
23454 #include "arm_neon.h"
23455
23456
23457=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst2Qu8.c'
23458--- old/gcc/testsuite/gcc.target/arm/neon/vst2Qu8.c 2007-07-25 11:28:31 +0000
23459+++ new/gcc/testsuite/gcc.target/arm/neon/vst2Qu8.c 2010-07-29 15:38:15 +0000
23460@@ -3,7 +3,8 @@
23461
23462 /* { dg-do assemble } */
23463 /* { dg-require-effective-target arm_neon_ok } */
23464-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
23465+/* { dg-options "-save-temps -O0" } */
23466+/* { dg-add-options arm_neon } */
23467
23468 #include "arm_neon.h"
23469
23470
23471=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst2_lanef32.c'
23472--- old/gcc/testsuite/gcc.target/arm/neon/vst2_lanef32.c 2007-07-25 11:28:31 +0000
23473+++ new/gcc/testsuite/gcc.target/arm/neon/vst2_lanef32.c 2010-07-29 15:38:15 +0000
23474@@ -3,7 +3,8 @@
23475
23476 /* { dg-do assemble } */
23477 /* { dg-require-effective-target arm_neon_ok } */
23478-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
23479+/* { dg-options "-save-temps -O0" } */
23480+/* { dg-add-options arm_neon } */
23481
23482 #include "arm_neon.h"
23483
23484
23485=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst2_lanep16.c'
23486--- old/gcc/testsuite/gcc.target/arm/neon/vst2_lanep16.c 2007-07-25 11:28:31 +0000
23487+++ new/gcc/testsuite/gcc.target/arm/neon/vst2_lanep16.c 2010-07-29 15:38:15 +0000
23488@@ -3,7 +3,8 @@
23489
23490 /* { dg-do assemble } */
23491 /* { dg-require-effective-target arm_neon_ok } */
23492-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
23493+/* { dg-options "-save-temps -O0" } */
23494+/* { dg-add-options arm_neon } */
23495
23496 #include "arm_neon.h"
23497
23498
23499=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst2_lanep8.c'
23500--- old/gcc/testsuite/gcc.target/arm/neon/vst2_lanep8.c 2007-07-25 11:28:31 +0000
23501+++ new/gcc/testsuite/gcc.target/arm/neon/vst2_lanep8.c 2010-07-29 15:38:15 +0000
23502@@ -3,7 +3,8 @@
23503
23504 /* { dg-do assemble } */
23505 /* { dg-require-effective-target arm_neon_ok } */
23506-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
23507+/* { dg-options "-save-temps -O0" } */
23508+/* { dg-add-options arm_neon } */
23509
23510 #include "arm_neon.h"
23511
23512
23513=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst2_lanes16.c'
23514--- old/gcc/testsuite/gcc.target/arm/neon/vst2_lanes16.c 2007-07-25 11:28:31 +0000
23515+++ new/gcc/testsuite/gcc.target/arm/neon/vst2_lanes16.c 2010-07-29 15:38:15 +0000
23516@@ -3,7 +3,8 @@
23517
23518 /* { dg-do assemble } */
23519 /* { dg-require-effective-target arm_neon_ok } */
23520-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
23521+/* { dg-options "-save-temps -O0" } */
23522+/* { dg-add-options arm_neon } */
23523
23524 #include "arm_neon.h"
23525
23526
23527=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst2_lanes32.c'
23528--- old/gcc/testsuite/gcc.target/arm/neon/vst2_lanes32.c 2007-07-25 11:28:31 +0000
23529+++ new/gcc/testsuite/gcc.target/arm/neon/vst2_lanes32.c 2010-07-29 15:38:15 +0000
23530@@ -3,7 +3,8 @@
23531
23532 /* { dg-do assemble } */
23533 /* { dg-require-effective-target arm_neon_ok } */
23534-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
23535+/* { dg-options "-save-temps -O0" } */
23536+/* { dg-add-options arm_neon } */
23537
23538 #include "arm_neon.h"
23539
23540
23541=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst2_lanes8.c'
23542--- old/gcc/testsuite/gcc.target/arm/neon/vst2_lanes8.c 2007-07-25 11:28:31 +0000
23543+++ new/gcc/testsuite/gcc.target/arm/neon/vst2_lanes8.c 2010-07-29 15:38:15 +0000
23544@@ -3,7 +3,8 @@
23545
23546 /* { dg-do assemble } */
23547 /* { dg-require-effective-target arm_neon_ok } */
23548-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
23549+/* { dg-options "-save-temps -O0" } */
23550+/* { dg-add-options arm_neon } */
23551
23552 #include "arm_neon.h"
23553
23554
23555=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst2_laneu16.c'
23556--- old/gcc/testsuite/gcc.target/arm/neon/vst2_laneu16.c 2007-07-25 11:28:31 +0000
23557+++ new/gcc/testsuite/gcc.target/arm/neon/vst2_laneu16.c 2010-07-29 15:38:15 +0000
23558@@ -3,7 +3,8 @@
23559
23560 /* { dg-do assemble } */
23561 /* { dg-require-effective-target arm_neon_ok } */
23562-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
23563+/* { dg-options "-save-temps -O0" } */
23564+/* { dg-add-options arm_neon } */
23565
23566 #include "arm_neon.h"
23567
23568
23569=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst2_laneu32.c'
23570--- old/gcc/testsuite/gcc.target/arm/neon/vst2_laneu32.c 2007-07-25 11:28:31 +0000
23571+++ new/gcc/testsuite/gcc.target/arm/neon/vst2_laneu32.c 2010-07-29 15:38:15 +0000
23572@@ -3,7 +3,8 @@
23573
23574 /* { dg-do assemble } */
23575 /* { dg-require-effective-target arm_neon_ok } */
23576-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
23577+/* { dg-options "-save-temps -O0" } */
23578+/* { dg-add-options arm_neon } */
23579
23580 #include "arm_neon.h"
23581
23582
23583=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst2_laneu8.c'
23584--- old/gcc/testsuite/gcc.target/arm/neon/vst2_laneu8.c 2007-07-25 11:28:31 +0000
23585+++ new/gcc/testsuite/gcc.target/arm/neon/vst2_laneu8.c 2010-07-29 15:38:15 +0000
23586@@ -3,7 +3,8 @@
23587
23588 /* { dg-do assemble } */
23589 /* { dg-require-effective-target arm_neon_ok } */
23590-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
23591+/* { dg-options "-save-temps -O0" } */
23592+/* { dg-add-options arm_neon } */
23593
23594 #include "arm_neon.h"
23595
23596
23597=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst2f32.c'
23598--- old/gcc/testsuite/gcc.target/arm/neon/vst2f32.c 2007-07-25 11:28:31 +0000
23599+++ new/gcc/testsuite/gcc.target/arm/neon/vst2f32.c 2010-07-29 15:38:15 +0000
23600@@ -3,7 +3,8 @@
23601
23602 /* { dg-do assemble } */
23603 /* { dg-require-effective-target arm_neon_ok } */
23604-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
23605+/* { dg-options "-save-temps -O0" } */
23606+/* { dg-add-options arm_neon } */
23607
23608 #include "arm_neon.h"
23609
23610
23611=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst2p16.c'
23612--- old/gcc/testsuite/gcc.target/arm/neon/vst2p16.c 2007-07-25 11:28:31 +0000
23613+++ new/gcc/testsuite/gcc.target/arm/neon/vst2p16.c 2010-07-29 15:38:15 +0000
23614@@ -3,7 +3,8 @@
23615
23616 /* { dg-do assemble } */
23617 /* { dg-require-effective-target arm_neon_ok } */
23618-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
23619+/* { dg-options "-save-temps -O0" } */
23620+/* { dg-add-options arm_neon } */
23621
23622 #include "arm_neon.h"
23623
23624
23625=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst2p8.c'
23626--- old/gcc/testsuite/gcc.target/arm/neon/vst2p8.c 2007-07-25 11:28:31 +0000
23627+++ new/gcc/testsuite/gcc.target/arm/neon/vst2p8.c 2010-07-29 15:38:15 +0000
23628@@ -3,7 +3,8 @@
23629
23630 /* { dg-do assemble } */
23631 /* { dg-require-effective-target arm_neon_ok } */
23632-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
23633+/* { dg-options "-save-temps -O0" } */
23634+/* { dg-add-options arm_neon } */
23635
23636 #include "arm_neon.h"
23637
23638
23639=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst2s16.c'
23640--- old/gcc/testsuite/gcc.target/arm/neon/vst2s16.c 2007-07-25 11:28:31 +0000
23641+++ new/gcc/testsuite/gcc.target/arm/neon/vst2s16.c 2010-07-29 15:38:15 +0000
23642@@ -3,7 +3,8 @@
23643
23644 /* { dg-do assemble } */
23645 /* { dg-require-effective-target arm_neon_ok } */
23646-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
23647+/* { dg-options "-save-temps -O0" } */
23648+/* { dg-add-options arm_neon } */
23649
23650 #include "arm_neon.h"
23651
23652
23653=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst2s32.c'
23654--- old/gcc/testsuite/gcc.target/arm/neon/vst2s32.c 2007-07-25 11:28:31 +0000
23655+++ new/gcc/testsuite/gcc.target/arm/neon/vst2s32.c 2010-07-29 15:38:15 +0000
23656@@ -3,7 +3,8 @@
23657
23658 /* { dg-do assemble } */
23659 /* { dg-require-effective-target arm_neon_ok } */
23660-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
23661+/* { dg-options "-save-temps -O0" } */
23662+/* { dg-add-options arm_neon } */
23663
23664 #include "arm_neon.h"
23665
23666
23667=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst2s64.c'
23668--- old/gcc/testsuite/gcc.target/arm/neon/vst2s64.c 2007-07-25 11:28:31 +0000
23669+++ new/gcc/testsuite/gcc.target/arm/neon/vst2s64.c 2010-07-29 15:38:15 +0000
23670@@ -3,7 +3,8 @@
23671
23672 /* { dg-do assemble } */
23673 /* { dg-require-effective-target arm_neon_ok } */
23674-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
23675+/* { dg-options "-save-temps -O0" } */
23676+/* { dg-add-options arm_neon } */
23677
23678 #include "arm_neon.h"
23679
23680
23681=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst2s8.c'
23682--- old/gcc/testsuite/gcc.target/arm/neon/vst2s8.c 2007-07-25 11:28:31 +0000
23683+++ new/gcc/testsuite/gcc.target/arm/neon/vst2s8.c 2010-07-29 15:38:15 +0000
23684@@ -3,7 +3,8 @@
23685
23686 /* { dg-do assemble } */
23687 /* { dg-require-effective-target arm_neon_ok } */
23688-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
23689+/* { dg-options "-save-temps -O0" } */
23690+/* { dg-add-options arm_neon } */
23691
23692 #include "arm_neon.h"
23693
23694
23695=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst2u16.c'
23696--- old/gcc/testsuite/gcc.target/arm/neon/vst2u16.c 2007-07-25 11:28:31 +0000
23697+++ new/gcc/testsuite/gcc.target/arm/neon/vst2u16.c 2010-07-29 15:38:15 +0000
23698@@ -3,7 +3,8 @@
23699
23700 /* { dg-do assemble } */
23701 /* { dg-require-effective-target arm_neon_ok } */
23702-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
23703+/* { dg-options "-save-temps -O0" } */
23704+/* { dg-add-options arm_neon } */
23705
23706 #include "arm_neon.h"
23707
23708
23709=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst2u32.c'
23710--- old/gcc/testsuite/gcc.target/arm/neon/vst2u32.c 2007-07-25 11:28:31 +0000
23711+++ new/gcc/testsuite/gcc.target/arm/neon/vst2u32.c 2010-07-29 15:38:15 +0000
23712@@ -3,7 +3,8 @@
23713
23714 /* { dg-do assemble } */
23715 /* { dg-require-effective-target arm_neon_ok } */
23716-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
23717+/* { dg-options "-save-temps -O0" } */
23718+/* { dg-add-options arm_neon } */
23719
23720 #include "arm_neon.h"
23721
23722
23723=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst2u64.c'
23724--- old/gcc/testsuite/gcc.target/arm/neon/vst2u64.c 2007-07-25 11:28:31 +0000
23725+++ new/gcc/testsuite/gcc.target/arm/neon/vst2u64.c 2010-07-29 15:38:15 +0000
23726@@ -3,7 +3,8 @@
23727
23728 /* { dg-do assemble } */
23729 /* { dg-require-effective-target arm_neon_ok } */
23730-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
23731+/* { dg-options "-save-temps -O0" } */
23732+/* { dg-add-options arm_neon } */
23733
23734 #include "arm_neon.h"
23735
23736
23737=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst2u8.c'
23738--- old/gcc/testsuite/gcc.target/arm/neon/vst2u8.c 2007-07-25 11:28:31 +0000
23739+++ new/gcc/testsuite/gcc.target/arm/neon/vst2u8.c 2010-07-29 15:38:15 +0000
23740@@ -3,7 +3,8 @@
23741
23742 /* { dg-do assemble } */
23743 /* { dg-require-effective-target arm_neon_ok } */
23744-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
23745+/* { dg-options "-save-temps -O0" } */
23746+/* { dg-add-options arm_neon } */
23747
23748 #include "arm_neon.h"
23749
23750
23751=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst3Q_lanef32.c'
23752--- old/gcc/testsuite/gcc.target/arm/neon/vst3Q_lanef32.c 2007-07-25 11:28:31 +0000
23753+++ new/gcc/testsuite/gcc.target/arm/neon/vst3Q_lanef32.c 2010-07-29 15:38:15 +0000
23754@@ -3,7 +3,8 @@
23755
23756 /* { dg-do assemble } */
23757 /* { dg-require-effective-target arm_neon_ok } */
23758-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
23759+/* { dg-options "-save-temps -O0" } */
23760+/* { dg-add-options arm_neon } */
23761
23762 #include "arm_neon.h"
23763
23764
23765=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst3Q_lanep16.c'
23766--- old/gcc/testsuite/gcc.target/arm/neon/vst3Q_lanep16.c 2007-07-25 11:28:31 +0000
23767+++ new/gcc/testsuite/gcc.target/arm/neon/vst3Q_lanep16.c 2010-07-29 15:38:15 +0000
23768@@ -3,7 +3,8 @@
23769
23770 /* { dg-do assemble } */
23771 /* { dg-require-effective-target arm_neon_ok } */
23772-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
23773+/* { dg-options "-save-temps -O0" } */
23774+/* { dg-add-options arm_neon } */
23775
23776 #include "arm_neon.h"
23777
23778
23779=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst3Q_lanes16.c'
23780--- old/gcc/testsuite/gcc.target/arm/neon/vst3Q_lanes16.c 2007-07-25 11:28:31 +0000
23781+++ new/gcc/testsuite/gcc.target/arm/neon/vst3Q_lanes16.c 2010-07-29 15:38:15 +0000
23782@@ -3,7 +3,8 @@
23783
23784 /* { dg-do assemble } */
23785 /* { dg-require-effective-target arm_neon_ok } */
23786-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
23787+/* { dg-options "-save-temps -O0" } */
23788+/* { dg-add-options arm_neon } */
23789
23790 #include "arm_neon.h"
23791
23792
23793=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst3Q_lanes32.c'
23794--- old/gcc/testsuite/gcc.target/arm/neon/vst3Q_lanes32.c 2007-07-25 11:28:31 +0000
23795+++ new/gcc/testsuite/gcc.target/arm/neon/vst3Q_lanes32.c 2010-07-29 15:38:15 +0000
23796@@ -3,7 +3,8 @@
23797
23798 /* { dg-do assemble } */
23799 /* { dg-require-effective-target arm_neon_ok } */
23800-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
23801+/* { dg-options "-save-temps -O0" } */
23802+/* { dg-add-options arm_neon } */
23803
23804 #include "arm_neon.h"
23805
23806
23807=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst3Q_laneu16.c'
23808--- old/gcc/testsuite/gcc.target/arm/neon/vst3Q_laneu16.c 2007-07-25 11:28:31 +0000
23809+++ new/gcc/testsuite/gcc.target/arm/neon/vst3Q_laneu16.c 2010-07-29 15:38:15 +0000
23810@@ -3,7 +3,8 @@
23811
23812 /* { dg-do assemble } */
23813 /* { dg-require-effective-target arm_neon_ok } */
23814-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
23815+/* { dg-options "-save-temps -O0" } */
23816+/* { dg-add-options arm_neon } */
23817
23818 #include "arm_neon.h"
23819
23820
23821=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst3Q_laneu32.c'
23822--- old/gcc/testsuite/gcc.target/arm/neon/vst3Q_laneu32.c 2007-07-25 11:28:31 +0000
23823+++ new/gcc/testsuite/gcc.target/arm/neon/vst3Q_laneu32.c 2010-07-29 15:38:15 +0000
23824@@ -3,7 +3,8 @@
23825
23826 /* { dg-do assemble } */
23827 /* { dg-require-effective-target arm_neon_ok } */
23828-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
23829+/* { dg-options "-save-temps -O0" } */
23830+/* { dg-add-options arm_neon } */
23831
23832 #include "arm_neon.h"
23833
23834
23835=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst3Qf32.c'
23836--- old/gcc/testsuite/gcc.target/arm/neon/vst3Qf32.c 2007-07-25 11:28:31 +0000
23837+++ new/gcc/testsuite/gcc.target/arm/neon/vst3Qf32.c 2010-07-29 15:38:15 +0000
23838@@ -3,7 +3,8 @@
23839
23840 /* { dg-do assemble } */
23841 /* { dg-require-effective-target arm_neon_ok } */
23842-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
23843+/* { dg-options "-save-temps -O0" } */
23844+/* { dg-add-options arm_neon } */
23845
23846 #include "arm_neon.h"
23847
23848
23849=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst3Qp16.c'
23850--- old/gcc/testsuite/gcc.target/arm/neon/vst3Qp16.c 2007-07-25 11:28:31 +0000
23851+++ new/gcc/testsuite/gcc.target/arm/neon/vst3Qp16.c 2010-07-29 15:38:15 +0000
23852@@ -3,7 +3,8 @@
23853
23854 /* { dg-do assemble } */
23855 /* { dg-require-effective-target arm_neon_ok } */
23856-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
23857+/* { dg-options "-save-temps -O0" } */
23858+/* { dg-add-options arm_neon } */
23859
23860 #include "arm_neon.h"
23861
23862
23863=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst3Qp8.c'
23864--- old/gcc/testsuite/gcc.target/arm/neon/vst3Qp8.c 2007-07-25 11:28:31 +0000
23865+++ new/gcc/testsuite/gcc.target/arm/neon/vst3Qp8.c 2010-07-29 15:38:15 +0000
23866@@ -3,7 +3,8 @@
23867
23868 /* { dg-do assemble } */
23869 /* { dg-require-effective-target arm_neon_ok } */
23870-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
23871+/* { dg-options "-save-temps -O0" } */
23872+/* { dg-add-options arm_neon } */
23873
23874 #include "arm_neon.h"
23875
23876
23877=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst3Qs16.c'
23878--- old/gcc/testsuite/gcc.target/arm/neon/vst3Qs16.c 2007-07-25 11:28:31 +0000
23879+++ new/gcc/testsuite/gcc.target/arm/neon/vst3Qs16.c 2010-07-29 15:38:15 +0000
23880@@ -3,7 +3,8 @@
23881
23882 /* { dg-do assemble } */
23883 /* { dg-require-effective-target arm_neon_ok } */
23884-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
23885+/* { dg-options "-save-temps -O0" } */
23886+/* { dg-add-options arm_neon } */
23887
23888 #include "arm_neon.h"
23889
23890
23891=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst3Qs32.c'
23892--- old/gcc/testsuite/gcc.target/arm/neon/vst3Qs32.c 2007-07-25 11:28:31 +0000
23893+++ new/gcc/testsuite/gcc.target/arm/neon/vst3Qs32.c 2010-07-29 15:38:15 +0000
23894@@ -3,7 +3,8 @@
23895
23896 /* { dg-do assemble } */
23897 /* { dg-require-effective-target arm_neon_ok } */
23898-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
23899+/* { dg-options "-save-temps -O0" } */
23900+/* { dg-add-options arm_neon } */
23901
23902 #include "arm_neon.h"
23903
23904
23905=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst3Qs8.c'
23906--- old/gcc/testsuite/gcc.target/arm/neon/vst3Qs8.c 2007-07-25 11:28:31 +0000
23907+++ new/gcc/testsuite/gcc.target/arm/neon/vst3Qs8.c 2010-07-29 15:38:15 +0000
23908@@ -3,7 +3,8 @@
23909
23910 /* { dg-do assemble } */
23911 /* { dg-require-effective-target arm_neon_ok } */
23912-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
23913+/* { dg-options "-save-temps -O0" } */
23914+/* { dg-add-options arm_neon } */
23915
23916 #include "arm_neon.h"
23917
23918
23919=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst3Qu16.c'
23920--- old/gcc/testsuite/gcc.target/arm/neon/vst3Qu16.c 2007-07-25 11:28:31 +0000
23921+++ new/gcc/testsuite/gcc.target/arm/neon/vst3Qu16.c 2010-07-29 15:38:15 +0000
23922@@ -3,7 +3,8 @@
23923
23924 /* { dg-do assemble } */
23925 /* { dg-require-effective-target arm_neon_ok } */
23926-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
23927+/* { dg-options "-save-temps -O0" } */
23928+/* { dg-add-options arm_neon } */
23929
23930 #include "arm_neon.h"
23931
23932
23933=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst3Qu32.c'
23934--- old/gcc/testsuite/gcc.target/arm/neon/vst3Qu32.c 2007-07-25 11:28:31 +0000
23935+++ new/gcc/testsuite/gcc.target/arm/neon/vst3Qu32.c 2010-07-29 15:38:15 +0000
23936@@ -3,7 +3,8 @@
23937
23938 /* { dg-do assemble } */
23939 /* { dg-require-effective-target arm_neon_ok } */
23940-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
23941+/* { dg-options "-save-temps -O0" } */
23942+/* { dg-add-options arm_neon } */
23943
23944 #include "arm_neon.h"
23945
23946
23947=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst3Qu8.c'
23948--- old/gcc/testsuite/gcc.target/arm/neon/vst3Qu8.c 2007-07-25 11:28:31 +0000
23949+++ new/gcc/testsuite/gcc.target/arm/neon/vst3Qu8.c 2010-07-29 15:38:15 +0000
23950@@ -3,7 +3,8 @@
23951
23952 /* { dg-do assemble } */
23953 /* { dg-require-effective-target arm_neon_ok } */
23954-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
23955+/* { dg-options "-save-temps -O0" } */
23956+/* { dg-add-options arm_neon } */
23957
23958 #include "arm_neon.h"
23959
23960
23961=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst3_lanef32.c'
23962--- old/gcc/testsuite/gcc.target/arm/neon/vst3_lanef32.c 2007-07-25 11:28:31 +0000
23963+++ new/gcc/testsuite/gcc.target/arm/neon/vst3_lanef32.c 2010-07-29 15:38:15 +0000
23964@@ -3,7 +3,8 @@
23965
23966 /* { dg-do assemble } */
23967 /* { dg-require-effective-target arm_neon_ok } */
23968-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
23969+/* { dg-options "-save-temps -O0" } */
23970+/* { dg-add-options arm_neon } */
23971
23972 #include "arm_neon.h"
23973
23974
23975=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst3_lanep16.c'
23976--- old/gcc/testsuite/gcc.target/arm/neon/vst3_lanep16.c 2007-07-25 11:28:31 +0000
23977+++ new/gcc/testsuite/gcc.target/arm/neon/vst3_lanep16.c 2010-07-29 15:38:15 +0000
23978@@ -3,7 +3,8 @@
23979
23980 /* { dg-do assemble } */
23981 /* { dg-require-effective-target arm_neon_ok } */
23982-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
23983+/* { dg-options "-save-temps -O0" } */
23984+/* { dg-add-options arm_neon } */
23985
23986 #include "arm_neon.h"
23987
23988
23989=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst3_lanep8.c'
23990--- old/gcc/testsuite/gcc.target/arm/neon/vst3_lanep8.c 2007-07-25 11:28:31 +0000
23991+++ new/gcc/testsuite/gcc.target/arm/neon/vst3_lanep8.c 2010-07-29 15:38:15 +0000
23992@@ -3,7 +3,8 @@
23993
23994 /* { dg-do assemble } */
23995 /* { dg-require-effective-target arm_neon_ok } */
23996-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
23997+/* { dg-options "-save-temps -O0" } */
23998+/* { dg-add-options arm_neon } */
23999
24000 #include "arm_neon.h"
24001
24002
24003=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst3_lanes16.c'
24004--- old/gcc/testsuite/gcc.target/arm/neon/vst3_lanes16.c 2007-07-25 11:28:31 +0000
24005+++ new/gcc/testsuite/gcc.target/arm/neon/vst3_lanes16.c 2010-07-29 15:38:15 +0000
24006@@ -3,7 +3,8 @@
24007
24008 /* { dg-do assemble } */
24009 /* { dg-require-effective-target arm_neon_ok } */
24010-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
24011+/* { dg-options "-save-temps -O0" } */
24012+/* { dg-add-options arm_neon } */
24013
24014 #include "arm_neon.h"
24015
24016
24017=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst3_lanes32.c'
24018--- old/gcc/testsuite/gcc.target/arm/neon/vst3_lanes32.c 2007-07-25 11:28:31 +0000
24019+++ new/gcc/testsuite/gcc.target/arm/neon/vst3_lanes32.c 2010-07-29 15:38:15 +0000
24020@@ -3,7 +3,8 @@
24021
24022 /* { dg-do assemble } */
24023 /* { dg-require-effective-target arm_neon_ok } */
24024-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
24025+/* { dg-options "-save-temps -O0" } */
24026+/* { dg-add-options arm_neon } */
24027
24028 #include "arm_neon.h"
24029
24030
24031=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst3_lanes8.c'
24032--- old/gcc/testsuite/gcc.target/arm/neon/vst3_lanes8.c 2007-07-25 11:28:31 +0000
24033+++ new/gcc/testsuite/gcc.target/arm/neon/vst3_lanes8.c 2010-07-29 15:38:15 +0000
24034@@ -3,7 +3,8 @@
24035
24036 /* { dg-do assemble } */
24037 /* { dg-require-effective-target arm_neon_ok } */
24038-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
24039+/* { dg-options "-save-temps -O0" } */
24040+/* { dg-add-options arm_neon } */
24041
24042 #include "arm_neon.h"
24043
24044
24045=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst3_laneu16.c'
24046--- old/gcc/testsuite/gcc.target/arm/neon/vst3_laneu16.c 2007-07-25 11:28:31 +0000
24047+++ new/gcc/testsuite/gcc.target/arm/neon/vst3_laneu16.c 2010-07-29 15:38:15 +0000
24048@@ -3,7 +3,8 @@
24049
24050 /* { dg-do assemble } */
24051 /* { dg-require-effective-target arm_neon_ok } */
24052-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
24053+/* { dg-options "-save-temps -O0" } */
24054+/* { dg-add-options arm_neon } */
24055
24056 #include "arm_neon.h"
24057
24058
24059=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst3_laneu32.c'
24060--- old/gcc/testsuite/gcc.target/arm/neon/vst3_laneu32.c 2007-07-25 11:28:31 +0000
24061+++ new/gcc/testsuite/gcc.target/arm/neon/vst3_laneu32.c 2010-07-29 15:38:15 +0000
24062@@ -3,7 +3,8 @@
24063
24064 /* { dg-do assemble } */
24065 /* { dg-require-effective-target arm_neon_ok } */
24066-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
24067+/* { dg-options "-save-temps -O0" } */
24068+/* { dg-add-options arm_neon } */
24069
24070 #include "arm_neon.h"
24071
24072
24073=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst3_laneu8.c'
24074--- old/gcc/testsuite/gcc.target/arm/neon/vst3_laneu8.c 2007-07-25 11:28:31 +0000
24075+++ new/gcc/testsuite/gcc.target/arm/neon/vst3_laneu8.c 2010-07-29 15:38:15 +0000
24076@@ -3,7 +3,8 @@
24077
24078 /* { dg-do assemble } */
24079 /* { dg-require-effective-target arm_neon_ok } */
24080-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
24081+/* { dg-options "-save-temps -O0" } */
24082+/* { dg-add-options arm_neon } */
24083
24084 #include "arm_neon.h"
24085
24086
24087=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst3f32.c'
24088--- old/gcc/testsuite/gcc.target/arm/neon/vst3f32.c 2007-07-25 11:28:31 +0000
24089+++ new/gcc/testsuite/gcc.target/arm/neon/vst3f32.c 2010-07-29 15:38:15 +0000
24090@@ -3,7 +3,8 @@
24091
24092 /* { dg-do assemble } */
24093 /* { dg-require-effective-target arm_neon_ok } */
24094-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
24095+/* { dg-options "-save-temps -O0" } */
24096+/* { dg-add-options arm_neon } */
24097
24098 #include "arm_neon.h"
24099
24100
24101=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst3p16.c'
24102--- old/gcc/testsuite/gcc.target/arm/neon/vst3p16.c 2007-07-25 11:28:31 +0000
24103+++ new/gcc/testsuite/gcc.target/arm/neon/vst3p16.c 2010-07-29 15:38:15 +0000
24104@@ -3,7 +3,8 @@
24105
24106 /* { dg-do assemble } */
24107 /* { dg-require-effective-target arm_neon_ok } */
24108-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
24109+/* { dg-options "-save-temps -O0" } */
24110+/* { dg-add-options arm_neon } */
24111
24112 #include "arm_neon.h"
24113
24114
24115=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst3p8.c'
24116--- old/gcc/testsuite/gcc.target/arm/neon/vst3p8.c 2007-07-25 11:28:31 +0000
24117+++ new/gcc/testsuite/gcc.target/arm/neon/vst3p8.c 2010-07-29 15:38:15 +0000
24118@@ -3,7 +3,8 @@
24119
24120 /* { dg-do assemble } */
24121 /* { dg-require-effective-target arm_neon_ok } */
24122-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
24123+/* { dg-options "-save-temps -O0" } */
24124+/* { dg-add-options arm_neon } */
24125
24126 #include "arm_neon.h"
24127
24128
24129=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst3s16.c'
24130--- old/gcc/testsuite/gcc.target/arm/neon/vst3s16.c 2007-07-25 11:28:31 +0000
24131+++ new/gcc/testsuite/gcc.target/arm/neon/vst3s16.c 2010-07-29 15:38:15 +0000
24132@@ -3,7 +3,8 @@
24133
24134 /* { dg-do assemble } */
24135 /* { dg-require-effective-target arm_neon_ok } */
24136-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
24137+/* { dg-options "-save-temps -O0" } */
24138+/* { dg-add-options arm_neon } */
24139
24140 #include "arm_neon.h"
24141
24142
24143=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst3s32.c'
24144--- old/gcc/testsuite/gcc.target/arm/neon/vst3s32.c 2007-07-25 11:28:31 +0000
24145+++ new/gcc/testsuite/gcc.target/arm/neon/vst3s32.c 2010-07-29 15:38:15 +0000
24146@@ -3,7 +3,8 @@
24147
24148 /* { dg-do assemble } */
24149 /* { dg-require-effective-target arm_neon_ok } */
24150-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
24151+/* { dg-options "-save-temps -O0" } */
24152+/* { dg-add-options arm_neon } */
24153
24154 #include "arm_neon.h"
24155
24156
24157=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst3s64.c'
24158--- old/gcc/testsuite/gcc.target/arm/neon/vst3s64.c 2007-07-25 11:28:31 +0000
24159+++ new/gcc/testsuite/gcc.target/arm/neon/vst3s64.c 2010-07-29 15:38:15 +0000
24160@@ -3,7 +3,8 @@
24161
24162 /* { dg-do assemble } */
24163 /* { dg-require-effective-target arm_neon_ok } */
24164-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
24165+/* { dg-options "-save-temps -O0" } */
24166+/* { dg-add-options arm_neon } */
24167
24168 #include "arm_neon.h"
24169
24170
24171=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst3s8.c'
24172--- old/gcc/testsuite/gcc.target/arm/neon/vst3s8.c 2007-07-25 11:28:31 +0000
24173+++ new/gcc/testsuite/gcc.target/arm/neon/vst3s8.c 2010-07-29 15:38:15 +0000
24174@@ -3,7 +3,8 @@
24175
24176 /* { dg-do assemble } */
24177 /* { dg-require-effective-target arm_neon_ok } */
24178-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
24179+/* { dg-options "-save-temps -O0" } */
24180+/* { dg-add-options arm_neon } */
24181
24182 #include "arm_neon.h"
24183
24184
24185=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst3u16.c'
24186--- old/gcc/testsuite/gcc.target/arm/neon/vst3u16.c 2007-07-25 11:28:31 +0000
24187+++ new/gcc/testsuite/gcc.target/arm/neon/vst3u16.c 2010-07-29 15:38:15 +0000
24188@@ -3,7 +3,8 @@
24189
24190 /* { dg-do assemble } */
24191 /* { dg-require-effective-target arm_neon_ok } */
24192-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
24193+/* { dg-options "-save-temps -O0" } */
24194+/* { dg-add-options arm_neon } */
24195
24196 #include "arm_neon.h"
24197
24198
24199=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst3u32.c'
24200--- old/gcc/testsuite/gcc.target/arm/neon/vst3u32.c 2007-07-25 11:28:31 +0000
24201+++ new/gcc/testsuite/gcc.target/arm/neon/vst3u32.c 2010-07-29 15:38:15 +0000
24202@@ -3,7 +3,8 @@
24203
24204 /* { dg-do assemble } */
24205 /* { dg-require-effective-target arm_neon_ok } */
24206-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
24207+/* { dg-options "-save-temps -O0" } */
24208+/* { dg-add-options arm_neon } */
24209
24210 #include "arm_neon.h"
24211
24212
24213=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst3u64.c'
24214--- old/gcc/testsuite/gcc.target/arm/neon/vst3u64.c 2007-07-25 11:28:31 +0000
24215+++ new/gcc/testsuite/gcc.target/arm/neon/vst3u64.c 2010-07-29 15:38:15 +0000
24216@@ -3,7 +3,8 @@
24217
24218 /* { dg-do assemble } */
24219 /* { dg-require-effective-target arm_neon_ok } */
24220-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
24221+/* { dg-options "-save-temps -O0" } */
24222+/* { dg-add-options arm_neon } */
24223
24224 #include "arm_neon.h"
24225
24226
24227=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst3u8.c'
24228--- old/gcc/testsuite/gcc.target/arm/neon/vst3u8.c 2007-07-25 11:28:31 +0000
24229+++ new/gcc/testsuite/gcc.target/arm/neon/vst3u8.c 2010-07-29 15:38:15 +0000
24230@@ -3,7 +3,8 @@
24231
24232 /* { dg-do assemble } */
24233 /* { dg-require-effective-target arm_neon_ok } */
24234-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
24235+/* { dg-options "-save-temps -O0" } */
24236+/* { dg-add-options arm_neon } */
24237
24238 #include "arm_neon.h"
24239
24240
24241=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst4Q_lanef32.c'
24242--- old/gcc/testsuite/gcc.target/arm/neon/vst4Q_lanef32.c 2007-07-25 11:28:31 +0000
24243+++ new/gcc/testsuite/gcc.target/arm/neon/vst4Q_lanef32.c 2010-07-29 15:38:15 +0000
24244@@ -3,7 +3,8 @@
24245
24246 /* { dg-do assemble } */
24247 /* { dg-require-effective-target arm_neon_ok } */
24248-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
24249+/* { dg-options "-save-temps -O0" } */
24250+/* { dg-add-options arm_neon } */
24251
24252 #include "arm_neon.h"
24253
24254
24255=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst4Q_lanep16.c'
24256--- old/gcc/testsuite/gcc.target/arm/neon/vst4Q_lanep16.c 2007-07-25 11:28:31 +0000
24257+++ new/gcc/testsuite/gcc.target/arm/neon/vst4Q_lanep16.c 2010-07-29 15:38:15 +0000
24258@@ -3,7 +3,8 @@
24259
24260 /* { dg-do assemble } */
24261 /* { dg-require-effective-target arm_neon_ok } */
24262-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
24263+/* { dg-options "-save-temps -O0" } */
24264+/* { dg-add-options arm_neon } */
24265
24266 #include "arm_neon.h"
24267
24268
24269=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst4Q_lanes16.c'
24270--- old/gcc/testsuite/gcc.target/arm/neon/vst4Q_lanes16.c 2007-07-25 11:28:31 +0000
24271+++ new/gcc/testsuite/gcc.target/arm/neon/vst4Q_lanes16.c 2010-07-29 15:38:15 +0000
24272@@ -3,7 +3,8 @@
24273
24274 /* { dg-do assemble } */
24275 /* { dg-require-effective-target arm_neon_ok } */
24276-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
24277+/* { dg-options "-save-temps -O0" } */
24278+/* { dg-add-options arm_neon } */
24279
24280 #include "arm_neon.h"
24281
24282
24283=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst4Q_lanes32.c'
24284--- old/gcc/testsuite/gcc.target/arm/neon/vst4Q_lanes32.c 2007-07-25 11:28:31 +0000
24285+++ new/gcc/testsuite/gcc.target/arm/neon/vst4Q_lanes32.c 2010-07-29 15:38:15 +0000
24286@@ -3,7 +3,8 @@
24287
24288 /* { dg-do assemble } */
24289 /* { dg-require-effective-target arm_neon_ok } */
24290-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
24291+/* { dg-options "-save-temps -O0" } */
24292+/* { dg-add-options arm_neon } */
24293
24294 #include "arm_neon.h"
24295
24296
24297=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst4Q_laneu16.c'
24298--- old/gcc/testsuite/gcc.target/arm/neon/vst4Q_laneu16.c 2007-07-25 11:28:31 +0000
24299+++ new/gcc/testsuite/gcc.target/arm/neon/vst4Q_laneu16.c 2010-07-29 15:38:15 +0000
24300@@ -3,7 +3,8 @@
24301
24302 /* { dg-do assemble } */
24303 /* { dg-require-effective-target arm_neon_ok } */
24304-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
24305+/* { dg-options "-save-temps -O0" } */
24306+/* { dg-add-options arm_neon } */
24307
24308 #include "arm_neon.h"
24309
24310
24311=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst4Q_laneu32.c'
24312--- old/gcc/testsuite/gcc.target/arm/neon/vst4Q_laneu32.c 2007-07-25 11:28:31 +0000
24313+++ new/gcc/testsuite/gcc.target/arm/neon/vst4Q_laneu32.c 2010-07-29 15:38:15 +0000
24314@@ -3,7 +3,8 @@
24315
24316 /* { dg-do assemble } */
24317 /* { dg-require-effective-target arm_neon_ok } */
24318-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
24319+/* { dg-options "-save-temps -O0" } */
24320+/* { dg-add-options arm_neon } */
24321
24322 #include "arm_neon.h"
24323
24324
24325=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst4Qf32.c'
24326--- old/gcc/testsuite/gcc.target/arm/neon/vst4Qf32.c 2007-07-25 11:28:31 +0000
24327+++ new/gcc/testsuite/gcc.target/arm/neon/vst4Qf32.c 2010-07-29 15:38:15 +0000
24328@@ -3,7 +3,8 @@
24329
24330 /* { dg-do assemble } */
24331 /* { dg-require-effective-target arm_neon_ok } */
24332-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
24333+/* { dg-options "-save-temps -O0" } */
24334+/* { dg-add-options arm_neon } */
24335
24336 #include "arm_neon.h"
24337
24338
24339=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst4Qp16.c'
24340--- old/gcc/testsuite/gcc.target/arm/neon/vst4Qp16.c 2007-07-25 11:28:31 +0000
24341+++ new/gcc/testsuite/gcc.target/arm/neon/vst4Qp16.c 2010-07-29 15:38:15 +0000
24342@@ -3,7 +3,8 @@
24343
24344 /* { dg-do assemble } */
24345 /* { dg-require-effective-target arm_neon_ok } */
24346-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
24347+/* { dg-options "-save-temps -O0" } */
24348+/* { dg-add-options arm_neon } */
24349
24350 #include "arm_neon.h"
24351
24352
24353=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst4Qp8.c'
24354--- old/gcc/testsuite/gcc.target/arm/neon/vst4Qp8.c 2007-07-25 11:28:31 +0000
24355+++ new/gcc/testsuite/gcc.target/arm/neon/vst4Qp8.c 2010-07-29 15:38:15 +0000
24356@@ -3,7 +3,8 @@
24357
24358 /* { dg-do assemble } */
24359 /* { dg-require-effective-target arm_neon_ok } */
24360-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
24361+/* { dg-options "-save-temps -O0" } */
24362+/* { dg-add-options arm_neon } */
24363
24364 #include "arm_neon.h"
24365
24366
24367=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst4Qs16.c'
24368--- old/gcc/testsuite/gcc.target/arm/neon/vst4Qs16.c 2007-07-25 11:28:31 +0000
24369+++ new/gcc/testsuite/gcc.target/arm/neon/vst4Qs16.c 2010-07-29 15:38:15 +0000
24370@@ -3,7 +3,8 @@
24371
24372 /* { dg-do assemble } */
24373 /* { dg-require-effective-target arm_neon_ok } */
24374-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
24375+/* { dg-options "-save-temps -O0" } */
24376+/* { dg-add-options arm_neon } */
24377
24378 #include "arm_neon.h"
24379
24380
24381=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst4Qs32.c'
24382--- old/gcc/testsuite/gcc.target/arm/neon/vst4Qs32.c 2007-07-25 11:28:31 +0000
24383+++ new/gcc/testsuite/gcc.target/arm/neon/vst4Qs32.c 2010-07-29 15:38:15 +0000
24384@@ -3,7 +3,8 @@
24385
24386 /* { dg-do assemble } */
24387 /* { dg-require-effective-target arm_neon_ok } */
24388-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
24389+/* { dg-options "-save-temps -O0" } */
24390+/* { dg-add-options arm_neon } */
24391
24392 #include "arm_neon.h"
24393
24394
24395=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst4Qs8.c'
24396--- old/gcc/testsuite/gcc.target/arm/neon/vst4Qs8.c 2007-07-25 11:28:31 +0000
24397+++ new/gcc/testsuite/gcc.target/arm/neon/vst4Qs8.c 2010-07-29 15:38:15 +0000
24398@@ -3,7 +3,8 @@
24399
24400 /* { dg-do assemble } */
24401 /* { dg-require-effective-target arm_neon_ok } */
24402-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
24403+/* { dg-options "-save-temps -O0" } */
24404+/* { dg-add-options arm_neon } */
24405
24406 #include "arm_neon.h"
24407
24408
24409=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst4Qu16.c'
24410--- old/gcc/testsuite/gcc.target/arm/neon/vst4Qu16.c 2007-07-25 11:28:31 +0000
24411+++ new/gcc/testsuite/gcc.target/arm/neon/vst4Qu16.c 2010-07-29 15:38:15 +0000
24412@@ -3,7 +3,8 @@
24413
24414 /* { dg-do assemble } */
24415 /* { dg-require-effective-target arm_neon_ok } */
24416-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
24417+/* { dg-options "-save-temps -O0" } */
24418+/* { dg-add-options arm_neon } */
24419
24420 #include "arm_neon.h"
24421
24422
24423=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst4Qu32.c'
24424--- old/gcc/testsuite/gcc.target/arm/neon/vst4Qu32.c 2007-07-25 11:28:31 +0000
24425+++ new/gcc/testsuite/gcc.target/arm/neon/vst4Qu32.c 2010-07-29 15:38:15 +0000
24426@@ -3,7 +3,8 @@
24427
24428 /* { dg-do assemble } */
24429 /* { dg-require-effective-target arm_neon_ok } */
24430-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
24431+/* { dg-options "-save-temps -O0" } */
24432+/* { dg-add-options arm_neon } */
24433
24434 #include "arm_neon.h"
24435
24436
24437=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst4Qu8.c'
24438--- old/gcc/testsuite/gcc.target/arm/neon/vst4Qu8.c 2007-07-25 11:28:31 +0000
24439+++ new/gcc/testsuite/gcc.target/arm/neon/vst4Qu8.c 2010-07-29 15:38:15 +0000
24440@@ -3,7 +3,8 @@
24441
24442 /* { dg-do assemble } */
24443 /* { dg-require-effective-target arm_neon_ok } */
24444-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
24445+/* { dg-options "-save-temps -O0" } */
24446+/* { dg-add-options arm_neon } */
24447
24448 #include "arm_neon.h"
24449
24450
24451=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst4_lanef32.c'
24452--- old/gcc/testsuite/gcc.target/arm/neon/vst4_lanef32.c 2007-07-25 11:28:31 +0000
24453+++ new/gcc/testsuite/gcc.target/arm/neon/vst4_lanef32.c 2010-07-29 15:38:15 +0000
24454@@ -3,7 +3,8 @@
24455
24456 /* { dg-do assemble } */
24457 /* { dg-require-effective-target arm_neon_ok } */
24458-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
24459+/* { dg-options "-save-temps -O0" } */
24460+/* { dg-add-options arm_neon } */
24461
24462 #include "arm_neon.h"
24463
24464
24465=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst4_lanep16.c'
24466--- old/gcc/testsuite/gcc.target/arm/neon/vst4_lanep16.c 2007-07-25 11:28:31 +0000
24467+++ new/gcc/testsuite/gcc.target/arm/neon/vst4_lanep16.c 2010-07-29 15:38:15 +0000
24468@@ -3,7 +3,8 @@
24469
24470 /* { dg-do assemble } */
24471 /* { dg-require-effective-target arm_neon_ok } */
24472-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
24473+/* { dg-options "-save-temps -O0" } */
24474+/* { dg-add-options arm_neon } */
24475
24476 #include "arm_neon.h"
24477
24478
24479=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst4_lanep8.c'
24480--- old/gcc/testsuite/gcc.target/arm/neon/vst4_lanep8.c 2007-07-25 11:28:31 +0000
24481+++ new/gcc/testsuite/gcc.target/arm/neon/vst4_lanep8.c 2010-07-29 15:38:15 +0000
24482@@ -3,7 +3,8 @@
24483
24484 /* { dg-do assemble } */
24485 /* { dg-require-effective-target arm_neon_ok } */
24486-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
24487+/* { dg-options "-save-temps -O0" } */
24488+/* { dg-add-options arm_neon } */
24489
24490 #include "arm_neon.h"
24491
24492
24493=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst4_lanes16.c'
24494--- old/gcc/testsuite/gcc.target/arm/neon/vst4_lanes16.c 2007-07-25 11:28:31 +0000
24495+++ new/gcc/testsuite/gcc.target/arm/neon/vst4_lanes16.c 2010-07-29 15:38:15 +0000
24496@@ -3,7 +3,8 @@
24497
24498 /* { dg-do assemble } */
24499 /* { dg-require-effective-target arm_neon_ok } */
24500-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
24501+/* { dg-options "-save-temps -O0" } */
24502+/* { dg-add-options arm_neon } */
24503
24504 #include "arm_neon.h"
24505
24506
24507=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst4_lanes32.c'
24508--- old/gcc/testsuite/gcc.target/arm/neon/vst4_lanes32.c 2007-07-25 11:28:31 +0000
24509+++ new/gcc/testsuite/gcc.target/arm/neon/vst4_lanes32.c 2010-07-29 15:38:15 +0000
24510@@ -3,7 +3,8 @@
24511
24512 /* { dg-do assemble } */
24513 /* { dg-require-effective-target arm_neon_ok } */
24514-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
24515+/* { dg-options "-save-temps -O0" } */
24516+/* { dg-add-options arm_neon } */
24517
24518 #include "arm_neon.h"
24519
24520
24521=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst4_lanes8.c'
24522--- old/gcc/testsuite/gcc.target/arm/neon/vst4_lanes8.c 2007-07-25 11:28:31 +0000
24523+++ new/gcc/testsuite/gcc.target/arm/neon/vst4_lanes8.c 2010-07-29 15:38:15 +0000
24524@@ -3,7 +3,8 @@
24525
24526 /* { dg-do assemble } */
24527 /* { dg-require-effective-target arm_neon_ok } */
24528-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
24529+/* { dg-options "-save-temps -O0" } */
24530+/* { dg-add-options arm_neon } */
24531
24532 #include "arm_neon.h"
24533
24534
24535=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst4_laneu16.c'
24536--- old/gcc/testsuite/gcc.target/arm/neon/vst4_laneu16.c 2007-07-25 11:28:31 +0000
24537+++ new/gcc/testsuite/gcc.target/arm/neon/vst4_laneu16.c 2010-07-29 15:38:15 +0000
24538@@ -3,7 +3,8 @@
24539
24540 /* { dg-do assemble } */
24541 /* { dg-require-effective-target arm_neon_ok } */
24542-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
24543+/* { dg-options "-save-temps -O0" } */
24544+/* { dg-add-options arm_neon } */
24545
24546 #include "arm_neon.h"
24547
24548
24549=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst4_laneu32.c'
24550--- old/gcc/testsuite/gcc.target/arm/neon/vst4_laneu32.c 2007-07-25 11:28:31 +0000
24551+++ new/gcc/testsuite/gcc.target/arm/neon/vst4_laneu32.c 2010-07-29 15:38:15 +0000
24552@@ -3,7 +3,8 @@
24553
24554 /* { dg-do assemble } */
24555 /* { dg-require-effective-target arm_neon_ok } */
24556-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
24557+/* { dg-options "-save-temps -O0" } */
24558+/* { dg-add-options arm_neon } */
24559
24560 #include "arm_neon.h"
24561
24562
24563=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst4_laneu8.c'
24564--- old/gcc/testsuite/gcc.target/arm/neon/vst4_laneu8.c 2007-07-25 11:28:31 +0000
24565+++ new/gcc/testsuite/gcc.target/arm/neon/vst4_laneu8.c 2010-07-29 15:38:15 +0000
24566@@ -3,7 +3,8 @@
24567
24568 /* { dg-do assemble } */
24569 /* { dg-require-effective-target arm_neon_ok } */
24570-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
24571+/* { dg-options "-save-temps -O0" } */
24572+/* { dg-add-options arm_neon } */
24573
24574 #include "arm_neon.h"
24575
24576
24577=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst4f32.c'
24578--- old/gcc/testsuite/gcc.target/arm/neon/vst4f32.c 2007-07-25 11:28:31 +0000
24579+++ new/gcc/testsuite/gcc.target/arm/neon/vst4f32.c 2010-07-29 15:38:15 +0000
24580@@ -3,7 +3,8 @@
24581
24582 /* { dg-do assemble } */
24583 /* { dg-require-effective-target arm_neon_ok } */
24584-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
24585+/* { dg-options "-save-temps -O0" } */
24586+/* { dg-add-options arm_neon } */
24587
24588 #include "arm_neon.h"
24589
24590
24591=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst4p16.c'
24592--- old/gcc/testsuite/gcc.target/arm/neon/vst4p16.c 2007-07-25 11:28:31 +0000
24593+++ new/gcc/testsuite/gcc.target/arm/neon/vst4p16.c 2010-07-29 15:38:15 +0000
24594@@ -3,7 +3,8 @@
24595
24596 /* { dg-do assemble } */
24597 /* { dg-require-effective-target arm_neon_ok } */
24598-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
24599+/* { dg-options "-save-temps -O0" } */
24600+/* { dg-add-options arm_neon } */
24601
24602 #include "arm_neon.h"
24603
24604
24605=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst4p8.c'
24606--- old/gcc/testsuite/gcc.target/arm/neon/vst4p8.c 2007-07-25 11:28:31 +0000
24607+++ new/gcc/testsuite/gcc.target/arm/neon/vst4p8.c 2010-07-29 15:38:15 +0000
24608@@ -3,7 +3,8 @@
24609
24610 /* { dg-do assemble } */
24611 /* { dg-require-effective-target arm_neon_ok } */
24612-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
24613+/* { dg-options "-save-temps -O0" } */
24614+/* { dg-add-options arm_neon } */
24615
24616 #include "arm_neon.h"
24617
24618
24619=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst4s16.c'
24620--- old/gcc/testsuite/gcc.target/arm/neon/vst4s16.c 2007-07-25 11:28:31 +0000
24621+++ new/gcc/testsuite/gcc.target/arm/neon/vst4s16.c 2010-07-29 15:38:15 +0000
24622@@ -3,7 +3,8 @@
24623
24624 /* { dg-do assemble } */
24625 /* { dg-require-effective-target arm_neon_ok } */
24626-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
24627+/* { dg-options "-save-temps -O0" } */
24628+/* { dg-add-options arm_neon } */
24629
24630 #include "arm_neon.h"
24631
24632
24633=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst4s32.c'
24634--- old/gcc/testsuite/gcc.target/arm/neon/vst4s32.c 2007-07-25 11:28:31 +0000
24635+++ new/gcc/testsuite/gcc.target/arm/neon/vst4s32.c 2010-07-29 15:38:15 +0000
24636@@ -3,7 +3,8 @@
24637
24638 /* { dg-do assemble } */
24639 /* { dg-require-effective-target arm_neon_ok } */
24640-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
24641+/* { dg-options "-save-temps -O0" } */
24642+/* { dg-add-options arm_neon } */
24643
24644 #include "arm_neon.h"
24645
24646
24647=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst4s64.c'
24648--- old/gcc/testsuite/gcc.target/arm/neon/vst4s64.c 2007-07-25 11:28:31 +0000
24649+++ new/gcc/testsuite/gcc.target/arm/neon/vst4s64.c 2010-07-29 15:38:15 +0000
24650@@ -3,7 +3,8 @@
24651
24652 /* { dg-do assemble } */
24653 /* { dg-require-effective-target arm_neon_ok } */
24654-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
24655+/* { dg-options "-save-temps -O0" } */
24656+/* { dg-add-options arm_neon } */
24657
24658 #include "arm_neon.h"
24659
24660
24661=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst4s8.c'
24662--- old/gcc/testsuite/gcc.target/arm/neon/vst4s8.c 2007-07-25 11:28:31 +0000
24663+++ new/gcc/testsuite/gcc.target/arm/neon/vst4s8.c 2010-07-29 15:38:15 +0000
24664@@ -3,7 +3,8 @@
24665
24666 /* { dg-do assemble } */
24667 /* { dg-require-effective-target arm_neon_ok } */
24668-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
24669+/* { dg-options "-save-temps -O0" } */
24670+/* { dg-add-options arm_neon } */
24671
24672 #include "arm_neon.h"
24673
24674
24675=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst4u16.c'
24676--- old/gcc/testsuite/gcc.target/arm/neon/vst4u16.c 2007-07-25 11:28:31 +0000
24677+++ new/gcc/testsuite/gcc.target/arm/neon/vst4u16.c 2010-07-29 15:38:15 +0000
24678@@ -3,7 +3,8 @@
24679
24680 /* { dg-do assemble } */
24681 /* { dg-require-effective-target arm_neon_ok } */
24682-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
24683+/* { dg-options "-save-temps -O0" } */
24684+/* { dg-add-options arm_neon } */
24685
24686 #include "arm_neon.h"
24687
24688
24689=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst4u32.c'
24690--- old/gcc/testsuite/gcc.target/arm/neon/vst4u32.c 2007-07-25 11:28:31 +0000
24691+++ new/gcc/testsuite/gcc.target/arm/neon/vst4u32.c 2010-07-29 15:38:15 +0000
24692@@ -3,7 +3,8 @@
24693
24694 /* { dg-do assemble } */
24695 /* { dg-require-effective-target arm_neon_ok } */
24696-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
24697+/* { dg-options "-save-temps -O0" } */
24698+/* { dg-add-options arm_neon } */
24699
24700 #include "arm_neon.h"
24701
24702
24703=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst4u64.c'
24704--- old/gcc/testsuite/gcc.target/arm/neon/vst4u64.c 2007-07-25 11:28:31 +0000
24705+++ new/gcc/testsuite/gcc.target/arm/neon/vst4u64.c 2010-07-29 15:38:15 +0000
24706@@ -3,7 +3,8 @@
24707
24708 /* { dg-do assemble } */
24709 /* { dg-require-effective-target arm_neon_ok } */
24710-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
24711+/* { dg-options "-save-temps -O0" } */
24712+/* { dg-add-options arm_neon } */
24713
24714 #include "arm_neon.h"
24715
24716
24717=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst4u8.c'
24718--- old/gcc/testsuite/gcc.target/arm/neon/vst4u8.c 2007-07-25 11:28:31 +0000
24719+++ new/gcc/testsuite/gcc.target/arm/neon/vst4u8.c 2010-07-29 15:38:15 +0000
24720@@ -3,7 +3,8 @@
24721
24722 /* { dg-do assemble } */
24723 /* { dg-require-effective-target arm_neon_ok } */
24724-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
24725+/* { dg-options "-save-temps -O0" } */
24726+/* { dg-add-options arm_neon } */
24727
24728 #include "arm_neon.h"
24729
24730
24731=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsubQf32.c'
24732--- old/gcc/testsuite/gcc.target/arm/neon/vsubQf32.c 2007-07-25 11:28:31 +0000
24733+++ new/gcc/testsuite/gcc.target/arm/neon/vsubQf32.c 2010-07-29 15:38:15 +0000
24734@@ -3,7 +3,8 @@
24735
24736 /* { dg-do assemble } */
24737 /* { dg-require-effective-target arm_neon_ok } */
24738-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
24739+/* { dg-options "-save-temps -O0" } */
24740+/* { dg-add-options arm_neon } */
24741
24742 #include "arm_neon.h"
24743
24744
24745=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsubQs16.c'
24746--- old/gcc/testsuite/gcc.target/arm/neon/vsubQs16.c 2007-07-25 11:28:31 +0000
24747+++ new/gcc/testsuite/gcc.target/arm/neon/vsubQs16.c 2010-07-29 15:38:15 +0000
24748@@ -3,7 +3,8 @@
24749
24750 /* { dg-do assemble } */
24751 /* { dg-require-effective-target arm_neon_ok } */
24752-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
24753+/* { dg-options "-save-temps -O0" } */
24754+/* { dg-add-options arm_neon } */
24755
24756 #include "arm_neon.h"
24757
24758
24759=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsubQs32.c'
24760--- old/gcc/testsuite/gcc.target/arm/neon/vsubQs32.c 2007-07-25 11:28:31 +0000
24761+++ new/gcc/testsuite/gcc.target/arm/neon/vsubQs32.c 2010-07-29 15:38:15 +0000
24762@@ -3,7 +3,8 @@
24763
24764 /* { dg-do assemble } */
24765 /* { dg-require-effective-target arm_neon_ok } */
24766-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
24767+/* { dg-options "-save-temps -O0" } */
24768+/* { dg-add-options arm_neon } */
24769
24770 #include "arm_neon.h"
24771
24772
24773=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsubQs64.c'
24774--- old/gcc/testsuite/gcc.target/arm/neon/vsubQs64.c 2007-07-25 11:28:31 +0000
24775+++ new/gcc/testsuite/gcc.target/arm/neon/vsubQs64.c 2010-07-29 15:38:15 +0000
24776@@ -3,7 +3,8 @@
24777
24778 /* { dg-do assemble } */
24779 /* { dg-require-effective-target arm_neon_ok } */
24780-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
24781+/* { dg-options "-save-temps -O0" } */
24782+/* { dg-add-options arm_neon } */
24783
24784 #include "arm_neon.h"
24785
24786
24787=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsubQs8.c'
24788--- old/gcc/testsuite/gcc.target/arm/neon/vsubQs8.c 2007-07-25 11:28:31 +0000
24789+++ new/gcc/testsuite/gcc.target/arm/neon/vsubQs8.c 2010-07-29 15:38:15 +0000
24790@@ -3,7 +3,8 @@
24791
24792 /* { dg-do assemble } */
24793 /* { dg-require-effective-target arm_neon_ok } */
24794-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
24795+/* { dg-options "-save-temps -O0" } */
24796+/* { dg-add-options arm_neon } */
24797
24798 #include "arm_neon.h"
24799
24800
24801=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsubQu16.c'
24802--- old/gcc/testsuite/gcc.target/arm/neon/vsubQu16.c 2007-07-25 11:28:31 +0000
24803+++ new/gcc/testsuite/gcc.target/arm/neon/vsubQu16.c 2010-07-29 15:38:15 +0000
24804@@ -3,7 +3,8 @@
24805
24806 /* { dg-do assemble } */
24807 /* { dg-require-effective-target arm_neon_ok } */
24808-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
24809+/* { dg-options "-save-temps -O0" } */
24810+/* { dg-add-options arm_neon } */
24811
24812 #include "arm_neon.h"
24813
24814
24815=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsubQu32.c'
24816--- old/gcc/testsuite/gcc.target/arm/neon/vsubQu32.c 2007-07-25 11:28:31 +0000
24817+++ new/gcc/testsuite/gcc.target/arm/neon/vsubQu32.c 2010-07-29 15:38:15 +0000
24818@@ -3,7 +3,8 @@
24819
24820 /* { dg-do assemble } */
24821 /* { dg-require-effective-target arm_neon_ok } */
24822-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
24823+/* { dg-options "-save-temps -O0" } */
24824+/* { dg-add-options arm_neon } */
24825
24826 #include "arm_neon.h"
24827
24828
24829=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsubQu64.c'
24830--- old/gcc/testsuite/gcc.target/arm/neon/vsubQu64.c 2007-07-25 11:28:31 +0000
24831+++ new/gcc/testsuite/gcc.target/arm/neon/vsubQu64.c 2010-07-29 15:38:15 +0000
24832@@ -3,7 +3,8 @@
24833
24834 /* { dg-do assemble } */
24835 /* { dg-require-effective-target arm_neon_ok } */
24836-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
24837+/* { dg-options "-save-temps -O0" } */
24838+/* { dg-add-options arm_neon } */
24839
24840 #include "arm_neon.h"
24841
24842
24843=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsubQu8.c'
24844--- old/gcc/testsuite/gcc.target/arm/neon/vsubQu8.c 2007-07-25 11:28:31 +0000
24845+++ new/gcc/testsuite/gcc.target/arm/neon/vsubQu8.c 2010-07-29 15:38:15 +0000
24846@@ -3,7 +3,8 @@
24847
24848 /* { dg-do assemble } */
24849 /* { dg-require-effective-target arm_neon_ok } */
24850-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
24851+/* { dg-options "-save-temps -O0" } */
24852+/* { dg-add-options arm_neon } */
24853
24854 #include "arm_neon.h"
24855
24856
24857=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsubf32.c'
24858--- old/gcc/testsuite/gcc.target/arm/neon/vsubf32.c 2007-07-25 11:28:31 +0000
24859+++ new/gcc/testsuite/gcc.target/arm/neon/vsubf32.c 2010-07-29 15:38:15 +0000
24860@@ -3,7 +3,8 @@
24861
24862 /* { dg-do assemble } */
24863 /* { dg-require-effective-target arm_neon_ok } */
24864-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
24865+/* { dg-options "-save-temps -O0" } */
24866+/* { dg-add-options arm_neon } */
24867
24868 #include "arm_neon.h"
24869
24870
24871=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsubhns16.c'
24872--- old/gcc/testsuite/gcc.target/arm/neon/vsubhns16.c 2007-07-25 11:28:31 +0000
24873+++ new/gcc/testsuite/gcc.target/arm/neon/vsubhns16.c 2010-07-29 15:38:15 +0000
24874@@ -3,7 +3,8 @@
24875
24876 /* { dg-do assemble } */
24877 /* { dg-require-effective-target arm_neon_ok } */
24878-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
24879+/* { dg-options "-save-temps -O0" } */
24880+/* { dg-add-options arm_neon } */
24881
24882 #include "arm_neon.h"
24883
24884
24885=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsubhns32.c'
24886--- old/gcc/testsuite/gcc.target/arm/neon/vsubhns32.c 2007-07-25 11:28:31 +0000
24887+++ new/gcc/testsuite/gcc.target/arm/neon/vsubhns32.c 2010-07-29 15:38:15 +0000
24888@@ -3,7 +3,8 @@
24889
24890 /* { dg-do assemble } */
24891 /* { dg-require-effective-target arm_neon_ok } */
24892-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
24893+/* { dg-options "-save-temps -O0" } */
24894+/* { dg-add-options arm_neon } */
24895
24896 #include "arm_neon.h"
24897
24898
24899=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsubhns64.c'
24900--- old/gcc/testsuite/gcc.target/arm/neon/vsubhns64.c 2007-07-25 11:28:31 +0000
24901+++ new/gcc/testsuite/gcc.target/arm/neon/vsubhns64.c 2010-07-29 15:38:15 +0000
24902@@ -3,7 +3,8 @@
24903
24904 /* { dg-do assemble } */
24905 /* { dg-require-effective-target arm_neon_ok } */
24906-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
24907+/* { dg-options "-save-temps -O0" } */
24908+/* { dg-add-options arm_neon } */
24909
24910 #include "arm_neon.h"
24911
24912
24913=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsubhnu16.c'
24914--- old/gcc/testsuite/gcc.target/arm/neon/vsubhnu16.c 2007-07-25 11:28:31 +0000
24915+++ new/gcc/testsuite/gcc.target/arm/neon/vsubhnu16.c 2010-07-29 15:38:15 +0000
24916@@ -3,7 +3,8 @@
24917
24918 /* { dg-do assemble } */
24919 /* { dg-require-effective-target arm_neon_ok } */
24920-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
24921+/* { dg-options "-save-temps -O0" } */
24922+/* { dg-add-options arm_neon } */
24923
24924 #include "arm_neon.h"
24925
24926
24927=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsubhnu32.c'
24928--- old/gcc/testsuite/gcc.target/arm/neon/vsubhnu32.c 2007-07-25 11:28:31 +0000
24929+++ new/gcc/testsuite/gcc.target/arm/neon/vsubhnu32.c 2010-07-29 15:38:15 +0000
24930@@ -3,7 +3,8 @@
24931
24932 /* { dg-do assemble } */
24933 /* { dg-require-effective-target arm_neon_ok } */
24934-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
24935+/* { dg-options "-save-temps -O0" } */
24936+/* { dg-add-options arm_neon } */
24937
24938 #include "arm_neon.h"
24939
24940
24941=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsubhnu64.c'
24942--- old/gcc/testsuite/gcc.target/arm/neon/vsubhnu64.c 2007-07-25 11:28:31 +0000
24943+++ new/gcc/testsuite/gcc.target/arm/neon/vsubhnu64.c 2010-07-29 15:38:15 +0000
24944@@ -3,7 +3,8 @@
24945
24946 /* { dg-do assemble } */
24947 /* { dg-require-effective-target arm_neon_ok } */
24948-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
24949+/* { dg-options "-save-temps -O0" } */
24950+/* { dg-add-options arm_neon } */
24951
24952 #include "arm_neon.h"
24953
24954
24955=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsubls16.c'
24956--- old/gcc/testsuite/gcc.target/arm/neon/vsubls16.c 2007-07-25 11:28:31 +0000
24957+++ new/gcc/testsuite/gcc.target/arm/neon/vsubls16.c 2010-07-29 15:38:15 +0000
24958@@ -3,7 +3,8 @@
24959
24960 /* { dg-do assemble } */
24961 /* { dg-require-effective-target arm_neon_ok } */
24962-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
24963+/* { dg-options "-save-temps -O0" } */
24964+/* { dg-add-options arm_neon } */
24965
24966 #include "arm_neon.h"
24967
24968
24969=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsubls32.c'
24970--- old/gcc/testsuite/gcc.target/arm/neon/vsubls32.c 2007-07-25 11:28:31 +0000
24971+++ new/gcc/testsuite/gcc.target/arm/neon/vsubls32.c 2010-07-29 15:38:15 +0000
24972@@ -3,7 +3,8 @@
24973
24974 /* { dg-do assemble } */
24975 /* { dg-require-effective-target arm_neon_ok } */
24976-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
24977+/* { dg-options "-save-temps -O0" } */
24978+/* { dg-add-options arm_neon } */
24979
24980 #include "arm_neon.h"
24981
24982
24983=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsubls8.c'
24984--- old/gcc/testsuite/gcc.target/arm/neon/vsubls8.c 2007-07-25 11:28:31 +0000
24985+++ new/gcc/testsuite/gcc.target/arm/neon/vsubls8.c 2010-07-29 15:38:15 +0000
24986@@ -3,7 +3,8 @@
24987
24988 /* { dg-do assemble } */
24989 /* { dg-require-effective-target arm_neon_ok } */
24990-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
24991+/* { dg-options "-save-temps -O0" } */
24992+/* { dg-add-options arm_neon } */
24993
24994 #include "arm_neon.h"
24995
24996
24997=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsublu16.c'
24998--- old/gcc/testsuite/gcc.target/arm/neon/vsublu16.c 2007-07-25 11:28:31 +0000
24999+++ new/gcc/testsuite/gcc.target/arm/neon/vsublu16.c 2010-07-29 15:38:15 +0000
25000@@ -3,7 +3,8 @@
25001
25002 /* { dg-do assemble } */
25003 /* { dg-require-effective-target arm_neon_ok } */
25004-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
25005+/* { dg-options "-save-temps -O0" } */
25006+/* { dg-add-options arm_neon } */
25007
25008 #include "arm_neon.h"
25009
25010
25011=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsublu32.c'
25012--- old/gcc/testsuite/gcc.target/arm/neon/vsublu32.c 2007-07-25 11:28:31 +0000
25013+++ new/gcc/testsuite/gcc.target/arm/neon/vsublu32.c 2010-07-29 15:38:15 +0000
25014@@ -3,7 +3,8 @@
25015
25016 /* { dg-do assemble } */
25017 /* { dg-require-effective-target arm_neon_ok } */
25018-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
25019+/* { dg-options "-save-temps -O0" } */
25020+/* { dg-add-options arm_neon } */
25021
25022 #include "arm_neon.h"
25023
25024
25025=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsublu8.c'
25026--- old/gcc/testsuite/gcc.target/arm/neon/vsublu8.c 2007-07-25 11:28:31 +0000
25027+++ new/gcc/testsuite/gcc.target/arm/neon/vsublu8.c 2010-07-29 15:38:15 +0000
25028@@ -3,7 +3,8 @@
25029
25030 /* { dg-do assemble } */
25031 /* { dg-require-effective-target arm_neon_ok } */
25032-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
25033+/* { dg-options "-save-temps -O0" } */
25034+/* { dg-add-options arm_neon } */
25035
25036 #include "arm_neon.h"
25037
25038
25039=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsubs16.c'
25040--- old/gcc/testsuite/gcc.target/arm/neon/vsubs16.c 2007-07-25 11:28:31 +0000
25041+++ new/gcc/testsuite/gcc.target/arm/neon/vsubs16.c 2010-07-29 15:38:15 +0000
25042@@ -3,7 +3,8 @@
25043
25044 /* { dg-do assemble } */
25045 /* { dg-require-effective-target arm_neon_ok } */
25046-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
25047+/* { dg-options "-save-temps -O0" } */
25048+/* { dg-add-options arm_neon } */
25049
25050 #include "arm_neon.h"
25051
25052
25053=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsubs32.c'
25054--- old/gcc/testsuite/gcc.target/arm/neon/vsubs32.c 2007-07-25 11:28:31 +0000
25055+++ new/gcc/testsuite/gcc.target/arm/neon/vsubs32.c 2010-07-29 15:38:15 +0000
25056@@ -3,7 +3,8 @@
25057
25058 /* { dg-do assemble } */
25059 /* { dg-require-effective-target arm_neon_ok } */
25060-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
25061+/* { dg-options "-save-temps -O0" } */
25062+/* { dg-add-options arm_neon } */
25063
25064 #include "arm_neon.h"
25065
25066
25067=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsubs64.c'
25068--- old/gcc/testsuite/gcc.target/arm/neon/vsubs64.c 2007-07-25 11:28:31 +0000
25069+++ new/gcc/testsuite/gcc.target/arm/neon/vsubs64.c 2010-07-29 15:38:15 +0000
25070@@ -3,7 +3,8 @@
25071
25072 /* { dg-do assemble } */
25073 /* { dg-require-effective-target arm_neon_ok } */
25074-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
25075+/* { dg-options "-save-temps -O0" } */
25076+/* { dg-add-options arm_neon } */
25077
25078 #include "arm_neon.h"
25079
25080
25081=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsubs8.c'
25082--- old/gcc/testsuite/gcc.target/arm/neon/vsubs8.c 2007-07-25 11:28:31 +0000
25083+++ new/gcc/testsuite/gcc.target/arm/neon/vsubs8.c 2010-07-29 15:38:15 +0000
25084@@ -3,7 +3,8 @@
25085
25086 /* { dg-do assemble } */
25087 /* { dg-require-effective-target arm_neon_ok } */
25088-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
25089+/* { dg-options "-save-temps -O0" } */
25090+/* { dg-add-options arm_neon } */
25091
25092 #include "arm_neon.h"
25093
25094
25095=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsubu16.c'
25096--- old/gcc/testsuite/gcc.target/arm/neon/vsubu16.c 2007-07-25 11:28:31 +0000
25097+++ new/gcc/testsuite/gcc.target/arm/neon/vsubu16.c 2010-07-29 15:38:15 +0000
25098@@ -3,7 +3,8 @@
25099
25100 /* { dg-do assemble } */
25101 /* { dg-require-effective-target arm_neon_ok } */
25102-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
25103+/* { dg-options "-save-temps -O0" } */
25104+/* { dg-add-options arm_neon } */
25105
25106 #include "arm_neon.h"
25107
25108
25109=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsubu32.c'
25110--- old/gcc/testsuite/gcc.target/arm/neon/vsubu32.c 2007-07-25 11:28:31 +0000
25111+++ new/gcc/testsuite/gcc.target/arm/neon/vsubu32.c 2010-07-29 15:38:15 +0000
25112@@ -3,7 +3,8 @@
25113
25114 /* { dg-do assemble } */
25115 /* { dg-require-effective-target arm_neon_ok } */
25116-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
25117+/* { dg-options "-save-temps -O0" } */
25118+/* { dg-add-options arm_neon } */
25119
25120 #include "arm_neon.h"
25121
25122
25123=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsubu64.c'
25124--- old/gcc/testsuite/gcc.target/arm/neon/vsubu64.c 2007-07-25 11:28:31 +0000
25125+++ new/gcc/testsuite/gcc.target/arm/neon/vsubu64.c 2010-07-29 15:38:15 +0000
25126@@ -3,7 +3,8 @@
25127
25128 /* { dg-do assemble } */
25129 /* { dg-require-effective-target arm_neon_ok } */
25130-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
25131+/* { dg-options "-save-temps -O0" } */
25132+/* { dg-add-options arm_neon } */
25133
25134 #include "arm_neon.h"
25135
25136
25137=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsubu8.c'
25138--- old/gcc/testsuite/gcc.target/arm/neon/vsubu8.c 2007-07-25 11:28:31 +0000
25139+++ new/gcc/testsuite/gcc.target/arm/neon/vsubu8.c 2010-07-29 15:38:15 +0000
25140@@ -3,7 +3,8 @@
25141
25142 /* { dg-do assemble } */
25143 /* { dg-require-effective-target arm_neon_ok } */
25144-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
25145+/* { dg-options "-save-temps -O0" } */
25146+/* { dg-add-options arm_neon } */
25147
25148 #include "arm_neon.h"
25149
25150
25151=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsubws16.c'
25152--- old/gcc/testsuite/gcc.target/arm/neon/vsubws16.c 2007-07-25 11:28:31 +0000
25153+++ new/gcc/testsuite/gcc.target/arm/neon/vsubws16.c 2010-07-29 15:38:15 +0000
25154@@ -3,7 +3,8 @@
25155
25156 /* { dg-do assemble } */
25157 /* { dg-require-effective-target arm_neon_ok } */
25158-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
25159+/* { dg-options "-save-temps -O0" } */
25160+/* { dg-add-options arm_neon } */
25161
25162 #include "arm_neon.h"
25163
25164
25165=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsubws32.c'
25166--- old/gcc/testsuite/gcc.target/arm/neon/vsubws32.c 2007-07-25 11:28:31 +0000
25167+++ new/gcc/testsuite/gcc.target/arm/neon/vsubws32.c 2010-07-29 15:38:15 +0000
25168@@ -3,7 +3,8 @@
25169
25170 /* { dg-do assemble } */
25171 /* { dg-require-effective-target arm_neon_ok } */
25172-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
25173+/* { dg-options "-save-temps -O0" } */
25174+/* { dg-add-options arm_neon } */
25175
25176 #include "arm_neon.h"
25177
25178
25179=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsubws8.c'
25180--- old/gcc/testsuite/gcc.target/arm/neon/vsubws8.c 2007-07-25 11:28:31 +0000
25181+++ new/gcc/testsuite/gcc.target/arm/neon/vsubws8.c 2010-07-29 15:38:15 +0000
25182@@ -3,7 +3,8 @@
25183
25184 /* { dg-do assemble } */
25185 /* { dg-require-effective-target arm_neon_ok } */
25186-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
25187+/* { dg-options "-save-temps -O0" } */
25188+/* { dg-add-options arm_neon } */
25189
25190 #include "arm_neon.h"
25191
25192
25193=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsubwu16.c'
25194--- old/gcc/testsuite/gcc.target/arm/neon/vsubwu16.c 2007-07-25 11:28:31 +0000
25195+++ new/gcc/testsuite/gcc.target/arm/neon/vsubwu16.c 2010-07-29 15:38:15 +0000
25196@@ -3,7 +3,8 @@
25197
25198 /* { dg-do assemble } */
25199 /* { dg-require-effective-target arm_neon_ok } */
25200-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
25201+/* { dg-options "-save-temps -O0" } */
25202+/* { dg-add-options arm_neon } */
25203
25204 #include "arm_neon.h"
25205
25206
25207=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsubwu32.c'
25208--- old/gcc/testsuite/gcc.target/arm/neon/vsubwu32.c 2007-07-25 11:28:31 +0000
25209+++ new/gcc/testsuite/gcc.target/arm/neon/vsubwu32.c 2010-07-29 15:38:15 +0000
25210@@ -3,7 +3,8 @@
25211
25212 /* { dg-do assemble } */
25213 /* { dg-require-effective-target arm_neon_ok } */
25214-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
25215+/* { dg-options "-save-temps -O0" } */
25216+/* { dg-add-options arm_neon } */
25217
25218 #include "arm_neon.h"
25219
25220
25221=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsubwu8.c'
25222--- old/gcc/testsuite/gcc.target/arm/neon/vsubwu8.c 2007-07-25 11:28:31 +0000
25223+++ new/gcc/testsuite/gcc.target/arm/neon/vsubwu8.c 2010-07-29 15:38:15 +0000
25224@@ -3,7 +3,8 @@
25225
25226 /* { dg-do assemble } */
25227 /* { dg-require-effective-target arm_neon_ok } */
25228-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
25229+/* { dg-options "-save-temps -O0" } */
25230+/* { dg-add-options arm_neon } */
25231
25232 #include "arm_neon.h"
25233
25234
25235=== modified file 'gcc/testsuite/gcc.target/arm/neon/vtbl1p8.c'
25236--- old/gcc/testsuite/gcc.target/arm/neon/vtbl1p8.c 2007-07-25 11:28:31 +0000
25237+++ new/gcc/testsuite/gcc.target/arm/neon/vtbl1p8.c 2010-07-29 15:38:15 +0000
25238@@ -3,7 +3,8 @@
25239
25240 /* { dg-do assemble } */
25241 /* { dg-require-effective-target arm_neon_ok } */
25242-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
25243+/* { dg-options "-save-temps -O0" } */
25244+/* { dg-add-options arm_neon } */
25245
25246 #include "arm_neon.h"
25247
25248
25249=== modified file 'gcc/testsuite/gcc.target/arm/neon/vtbl1s8.c'
25250--- old/gcc/testsuite/gcc.target/arm/neon/vtbl1s8.c 2007-07-25 11:28:31 +0000
25251+++ new/gcc/testsuite/gcc.target/arm/neon/vtbl1s8.c 2010-07-29 15:38:15 +0000
25252@@ -3,7 +3,8 @@
25253
25254 /* { dg-do assemble } */
25255 /* { dg-require-effective-target arm_neon_ok } */
25256-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
25257+/* { dg-options "-save-temps -O0" } */
25258+/* { dg-add-options arm_neon } */
25259
25260 #include "arm_neon.h"
25261
25262
25263=== modified file 'gcc/testsuite/gcc.target/arm/neon/vtbl1u8.c'
25264--- old/gcc/testsuite/gcc.target/arm/neon/vtbl1u8.c 2007-07-25 11:28:31 +0000
25265+++ new/gcc/testsuite/gcc.target/arm/neon/vtbl1u8.c 2010-07-29 15:38:15 +0000
25266@@ -3,7 +3,8 @@
25267
25268 /* { dg-do assemble } */
25269 /* { dg-require-effective-target arm_neon_ok } */
25270-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
25271+/* { dg-options "-save-temps -O0" } */
25272+/* { dg-add-options arm_neon } */
25273
25274 #include "arm_neon.h"
25275
25276
25277=== modified file 'gcc/testsuite/gcc.target/arm/neon/vtbl2p8.c'
25278--- old/gcc/testsuite/gcc.target/arm/neon/vtbl2p8.c 2007-07-25 11:28:31 +0000
25279+++ new/gcc/testsuite/gcc.target/arm/neon/vtbl2p8.c 2010-07-29 15:38:15 +0000
25280@@ -3,7 +3,8 @@
25281
25282 /* { dg-do assemble } */
25283 /* { dg-require-effective-target arm_neon_ok } */
25284-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
25285+/* { dg-options "-save-temps -O0" } */
25286+/* { dg-add-options arm_neon } */
25287
25288 #include "arm_neon.h"
25289
25290
25291=== modified file 'gcc/testsuite/gcc.target/arm/neon/vtbl2s8.c'
25292--- old/gcc/testsuite/gcc.target/arm/neon/vtbl2s8.c 2007-07-25 11:28:31 +0000
25293+++ new/gcc/testsuite/gcc.target/arm/neon/vtbl2s8.c 2010-07-29 15:38:15 +0000
25294@@ -3,7 +3,8 @@
25295
25296 /* { dg-do assemble } */
25297 /* { dg-require-effective-target arm_neon_ok } */
25298-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
25299+/* { dg-options "-save-temps -O0" } */
25300+/* { dg-add-options arm_neon } */
25301
25302 #include "arm_neon.h"
25303
25304
25305=== modified file 'gcc/testsuite/gcc.target/arm/neon/vtbl2u8.c'
25306--- old/gcc/testsuite/gcc.target/arm/neon/vtbl2u8.c 2007-07-25 11:28:31 +0000
25307+++ new/gcc/testsuite/gcc.target/arm/neon/vtbl2u8.c 2010-07-29 15:38:15 +0000
25308@@ -3,7 +3,8 @@
25309
25310 /* { dg-do assemble } */
25311 /* { dg-require-effective-target arm_neon_ok } */
25312-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
25313+/* { dg-options "-save-temps -O0" } */
25314+/* { dg-add-options arm_neon } */
25315
25316 #include "arm_neon.h"
25317
25318
25319=== modified file 'gcc/testsuite/gcc.target/arm/neon/vtbl3p8.c'
25320--- old/gcc/testsuite/gcc.target/arm/neon/vtbl3p8.c 2007-07-25 11:28:31 +0000
25321+++ new/gcc/testsuite/gcc.target/arm/neon/vtbl3p8.c 2010-07-29 15:38:15 +0000
25322@@ -3,7 +3,8 @@
25323
25324 /* { dg-do assemble } */
25325 /* { dg-require-effective-target arm_neon_ok } */
25326-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
25327+/* { dg-options "-save-temps -O0" } */
25328+/* { dg-add-options arm_neon } */
25329
25330 #include "arm_neon.h"
25331
25332
25333=== modified file 'gcc/testsuite/gcc.target/arm/neon/vtbl3s8.c'
25334--- old/gcc/testsuite/gcc.target/arm/neon/vtbl3s8.c 2007-07-25 11:28:31 +0000
25335+++ new/gcc/testsuite/gcc.target/arm/neon/vtbl3s8.c 2010-07-29 15:38:15 +0000
25336@@ -3,7 +3,8 @@
25337
25338 /* { dg-do assemble } */
25339 /* { dg-require-effective-target arm_neon_ok } */
25340-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
25341+/* { dg-options "-save-temps -O0" } */
25342+/* { dg-add-options arm_neon } */
25343
25344 #include "arm_neon.h"
25345
25346
25347=== modified file 'gcc/testsuite/gcc.target/arm/neon/vtbl3u8.c'
25348--- old/gcc/testsuite/gcc.target/arm/neon/vtbl3u8.c 2007-07-25 11:28:31 +0000
25349+++ new/gcc/testsuite/gcc.target/arm/neon/vtbl3u8.c 2010-07-29 15:38:15 +0000
25350@@ -3,7 +3,8 @@
25351
25352 /* { dg-do assemble } */
25353 /* { dg-require-effective-target arm_neon_ok } */
25354-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
25355+/* { dg-options "-save-temps -O0" } */
25356+/* { dg-add-options arm_neon } */
25357
25358 #include "arm_neon.h"
25359
25360
25361=== modified file 'gcc/testsuite/gcc.target/arm/neon/vtbl4p8.c'
25362--- old/gcc/testsuite/gcc.target/arm/neon/vtbl4p8.c 2007-07-25 11:28:31 +0000
25363+++ new/gcc/testsuite/gcc.target/arm/neon/vtbl4p8.c 2010-07-29 15:38:15 +0000
25364@@ -3,7 +3,8 @@
25365
25366 /* { dg-do assemble } */
25367 /* { dg-require-effective-target arm_neon_ok } */
25368-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
25369+/* { dg-options "-save-temps -O0" } */
25370+/* { dg-add-options arm_neon } */
25371
25372 #include "arm_neon.h"
25373
25374
25375=== modified file 'gcc/testsuite/gcc.target/arm/neon/vtbl4s8.c'
25376--- old/gcc/testsuite/gcc.target/arm/neon/vtbl4s8.c 2007-07-25 11:28:31 +0000
25377+++ new/gcc/testsuite/gcc.target/arm/neon/vtbl4s8.c 2010-07-29 15:38:15 +0000
25378@@ -3,7 +3,8 @@
25379
25380 /* { dg-do assemble } */
25381 /* { dg-require-effective-target arm_neon_ok } */
25382-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
25383+/* { dg-options "-save-temps -O0" } */
25384+/* { dg-add-options arm_neon } */
25385
25386 #include "arm_neon.h"
25387
25388
25389=== modified file 'gcc/testsuite/gcc.target/arm/neon/vtbl4u8.c'
25390--- old/gcc/testsuite/gcc.target/arm/neon/vtbl4u8.c 2007-07-25 11:28:31 +0000
25391+++ new/gcc/testsuite/gcc.target/arm/neon/vtbl4u8.c 2010-07-29 15:38:15 +0000
25392@@ -3,7 +3,8 @@
25393
25394 /* { dg-do assemble } */
25395 /* { dg-require-effective-target arm_neon_ok } */
25396-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
25397+/* { dg-options "-save-temps -O0" } */
25398+/* { dg-add-options arm_neon } */
25399
25400 #include "arm_neon.h"
25401
25402
25403=== modified file 'gcc/testsuite/gcc.target/arm/neon/vtbx1p8.c'
25404--- old/gcc/testsuite/gcc.target/arm/neon/vtbx1p8.c 2007-07-25 11:28:31 +0000
25405+++ new/gcc/testsuite/gcc.target/arm/neon/vtbx1p8.c 2010-07-29 15:38:15 +0000
25406@@ -3,7 +3,8 @@
25407
25408 /* { dg-do assemble } */
25409 /* { dg-require-effective-target arm_neon_ok } */
25410-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
25411+/* { dg-options "-save-temps -O0" } */
25412+/* { dg-add-options arm_neon } */
25413
25414 #include "arm_neon.h"
25415
25416
25417=== modified file 'gcc/testsuite/gcc.target/arm/neon/vtbx1s8.c'
25418--- old/gcc/testsuite/gcc.target/arm/neon/vtbx1s8.c 2007-07-25 11:28:31 +0000
25419+++ new/gcc/testsuite/gcc.target/arm/neon/vtbx1s8.c 2010-07-29 15:38:15 +0000
25420@@ -3,7 +3,8 @@
25421
25422 /* { dg-do assemble } */
25423 /* { dg-require-effective-target arm_neon_ok } */
25424-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
25425+/* { dg-options "-save-temps -O0" } */
25426+/* { dg-add-options arm_neon } */
25427
25428 #include "arm_neon.h"
25429
25430
25431=== modified file 'gcc/testsuite/gcc.target/arm/neon/vtbx1u8.c'
25432--- old/gcc/testsuite/gcc.target/arm/neon/vtbx1u8.c 2007-07-25 11:28:31 +0000
25433+++ new/gcc/testsuite/gcc.target/arm/neon/vtbx1u8.c 2010-07-29 15:38:15 +0000
25434@@ -3,7 +3,8 @@
25435
25436 /* { dg-do assemble } */
25437 /* { dg-require-effective-target arm_neon_ok } */
25438-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
25439+/* { dg-options "-save-temps -O0" } */
25440+/* { dg-add-options arm_neon } */
25441
25442 #include "arm_neon.h"
25443
25444
25445=== modified file 'gcc/testsuite/gcc.target/arm/neon/vtbx2p8.c'
25446--- old/gcc/testsuite/gcc.target/arm/neon/vtbx2p8.c 2007-07-25 11:28:31 +0000
25447+++ new/gcc/testsuite/gcc.target/arm/neon/vtbx2p8.c 2010-07-29 15:38:15 +0000
25448@@ -3,7 +3,8 @@
25449
25450 /* { dg-do assemble } */
25451 /* { dg-require-effective-target arm_neon_ok } */
25452-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
25453+/* { dg-options "-save-temps -O0" } */
25454+/* { dg-add-options arm_neon } */
25455
25456 #include "arm_neon.h"
25457
25458
25459=== modified file 'gcc/testsuite/gcc.target/arm/neon/vtbx2s8.c'
25460--- old/gcc/testsuite/gcc.target/arm/neon/vtbx2s8.c 2007-07-25 11:28:31 +0000
25461+++ new/gcc/testsuite/gcc.target/arm/neon/vtbx2s8.c 2010-07-29 15:38:15 +0000
25462@@ -3,7 +3,8 @@
25463
25464 /* { dg-do assemble } */
25465 /* { dg-require-effective-target arm_neon_ok } */
25466-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
25467+/* { dg-options "-save-temps -O0" } */
25468+/* { dg-add-options arm_neon } */
25469
25470 #include "arm_neon.h"
25471
25472
25473=== modified file 'gcc/testsuite/gcc.target/arm/neon/vtbx2u8.c'
25474--- old/gcc/testsuite/gcc.target/arm/neon/vtbx2u8.c 2007-07-25 11:28:31 +0000
25475+++ new/gcc/testsuite/gcc.target/arm/neon/vtbx2u8.c 2010-07-29 15:38:15 +0000
25476@@ -3,7 +3,8 @@
25477
25478 /* { dg-do assemble } */
25479 /* { dg-require-effective-target arm_neon_ok } */
25480-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
25481+/* { dg-options "-save-temps -O0" } */
25482+/* { dg-add-options arm_neon } */
25483
25484 #include "arm_neon.h"
25485
25486
25487=== modified file 'gcc/testsuite/gcc.target/arm/neon/vtbx3p8.c'
25488--- old/gcc/testsuite/gcc.target/arm/neon/vtbx3p8.c 2007-07-25 11:28:31 +0000
25489+++ new/gcc/testsuite/gcc.target/arm/neon/vtbx3p8.c 2010-07-29 15:38:15 +0000
25490@@ -3,7 +3,8 @@
25491
25492 /* { dg-do assemble } */
25493 /* { dg-require-effective-target arm_neon_ok } */
25494-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
25495+/* { dg-options "-save-temps -O0" } */
25496+/* { dg-add-options arm_neon } */
25497
25498 #include "arm_neon.h"
25499
25500
25501=== modified file 'gcc/testsuite/gcc.target/arm/neon/vtbx3s8.c'
25502--- old/gcc/testsuite/gcc.target/arm/neon/vtbx3s8.c 2007-07-25 11:28:31 +0000
25503+++ new/gcc/testsuite/gcc.target/arm/neon/vtbx3s8.c 2010-07-29 15:38:15 +0000
25504@@ -3,7 +3,8 @@
25505
25506 /* { dg-do assemble } */
25507 /* { dg-require-effective-target arm_neon_ok } */
25508-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
25509+/* { dg-options "-save-temps -O0" } */
25510+/* { dg-add-options arm_neon } */
25511
25512 #include "arm_neon.h"
25513
25514
25515=== modified file 'gcc/testsuite/gcc.target/arm/neon/vtbx3u8.c'
25516--- old/gcc/testsuite/gcc.target/arm/neon/vtbx3u8.c 2007-07-25 11:28:31 +0000
25517+++ new/gcc/testsuite/gcc.target/arm/neon/vtbx3u8.c 2010-07-29 15:38:15 +0000
25518@@ -3,7 +3,8 @@
25519
25520 /* { dg-do assemble } */
25521 /* { dg-require-effective-target arm_neon_ok } */
25522-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
25523+/* { dg-options "-save-temps -O0" } */
25524+/* { dg-add-options arm_neon } */
25525
25526 #include "arm_neon.h"
25527
25528
25529=== modified file 'gcc/testsuite/gcc.target/arm/neon/vtbx4p8.c'
25530--- old/gcc/testsuite/gcc.target/arm/neon/vtbx4p8.c 2007-07-25 11:28:31 +0000
25531+++ new/gcc/testsuite/gcc.target/arm/neon/vtbx4p8.c 2010-07-29 15:38:15 +0000
25532@@ -3,7 +3,8 @@
25533
25534 /* { dg-do assemble } */
25535 /* { dg-require-effective-target arm_neon_ok } */
25536-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
25537+/* { dg-options "-save-temps -O0" } */
25538+/* { dg-add-options arm_neon } */
25539
25540 #include "arm_neon.h"
25541
25542
25543=== modified file 'gcc/testsuite/gcc.target/arm/neon/vtbx4s8.c'
25544--- old/gcc/testsuite/gcc.target/arm/neon/vtbx4s8.c 2007-07-25 11:28:31 +0000
25545+++ new/gcc/testsuite/gcc.target/arm/neon/vtbx4s8.c 2010-07-29 15:38:15 +0000
25546@@ -3,7 +3,8 @@
25547
25548 /* { dg-do assemble } */
25549 /* { dg-require-effective-target arm_neon_ok } */
25550-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
25551+/* { dg-options "-save-temps -O0" } */
25552+/* { dg-add-options arm_neon } */
25553
25554 #include "arm_neon.h"
25555
25556
25557=== modified file 'gcc/testsuite/gcc.target/arm/neon/vtbx4u8.c'
25558--- old/gcc/testsuite/gcc.target/arm/neon/vtbx4u8.c 2007-07-25 11:28:31 +0000
25559+++ new/gcc/testsuite/gcc.target/arm/neon/vtbx4u8.c 2010-07-29 15:38:15 +0000
25560@@ -3,7 +3,8 @@
25561
25562 /* { dg-do assemble } */
25563 /* { dg-require-effective-target arm_neon_ok } */
25564-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
25565+/* { dg-options "-save-temps -O0" } */
25566+/* { dg-add-options arm_neon } */
25567
25568 #include "arm_neon.h"
25569
25570
25571=== modified file 'gcc/testsuite/gcc.target/arm/neon/vtrnQf32.c'
25572--- old/gcc/testsuite/gcc.target/arm/neon/vtrnQf32.c 2007-07-25 11:28:31 +0000
25573+++ new/gcc/testsuite/gcc.target/arm/neon/vtrnQf32.c 2010-07-29 15:38:15 +0000
25574@@ -3,7 +3,8 @@
25575
25576 /* { dg-do assemble } */
25577 /* { dg-require-effective-target arm_neon_ok } */
25578-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
25579+/* { dg-options "-save-temps -O0" } */
25580+/* { dg-add-options arm_neon } */
25581
25582 #include "arm_neon.h"
25583
25584
25585=== modified file 'gcc/testsuite/gcc.target/arm/neon/vtrnQp16.c'
25586--- old/gcc/testsuite/gcc.target/arm/neon/vtrnQp16.c 2007-07-25 11:28:31 +0000
25587+++ new/gcc/testsuite/gcc.target/arm/neon/vtrnQp16.c 2010-07-29 15:38:15 +0000
25588@@ -3,7 +3,8 @@
25589
25590 /* { dg-do assemble } */
25591 /* { dg-require-effective-target arm_neon_ok } */
25592-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
25593+/* { dg-options "-save-temps -O0" } */
25594+/* { dg-add-options arm_neon } */
25595
25596 #include "arm_neon.h"
25597
25598
25599=== modified file 'gcc/testsuite/gcc.target/arm/neon/vtrnQp8.c'
25600--- old/gcc/testsuite/gcc.target/arm/neon/vtrnQp8.c 2007-07-25 11:28:31 +0000
25601+++ new/gcc/testsuite/gcc.target/arm/neon/vtrnQp8.c 2010-07-29 15:38:15 +0000
25602@@ -3,7 +3,8 @@
25603
25604 /* { dg-do assemble } */
25605 /* { dg-require-effective-target arm_neon_ok } */
25606-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
25607+/* { dg-options "-save-temps -O0" } */
25608+/* { dg-add-options arm_neon } */
25609
25610 #include "arm_neon.h"
25611
25612
25613=== modified file 'gcc/testsuite/gcc.target/arm/neon/vtrnQs16.c'
25614--- old/gcc/testsuite/gcc.target/arm/neon/vtrnQs16.c 2007-07-25 11:28:31 +0000
25615+++ new/gcc/testsuite/gcc.target/arm/neon/vtrnQs16.c 2010-07-29 15:38:15 +0000
25616@@ -3,7 +3,8 @@
25617
25618 /* { dg-do assemble } */
25619 /* { dg-require-effective-target arm_neon_ok } */
25620-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
25621+/* { dg-options "-save-temps -O0" } */
25622+/* { dg-add-options arm_neon } */
25623
25624 #include "arm_neon.h"
25625
25626
25627=== modified file 'gcc/testsuite/gcc.target/arm/neon/vtrnQs32.c'
25628--- old/gcc/testsuite/gcc.target/arm/neon/vtrnQs32.c 2007-07-25 11:28:31 +0000
25629+++ new/gcc/testsuite/gcc.target/arm/neon/vtrnQs32.c 2010-07-29 15:38:15 +0000
25630@@ -3,7 +3,8 @@
25631
25632 /* { dg-do assemble } */
25633 /* { dg-require-effective-target arm_neon_ok } */
25634-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
25635+/* { dg-options "-save-temps -O0" } */
25636+/* { dg-add-options arm_neon } */
25637
25638 #include "arm_neon.h"
25639
25640
25641=== modified file 'gcc/testsuite/gcc.target/arm/neon/vtrnQs8.c'
25642--- old/gcc/testsuite/gcc.target/arm/neon/vtrnQs8.c 2007-07-25 11:28:31 +0000
25643+++ new/gcc/testsuite/gcc.target/arm/neon/vtrnQs8.c 2010-07-29 15:38:15 +0000
25644@@ -3,7 +3,8 @@
25645
25646 /* { dg-do assemble } */
25647 /* { dg-require-effective-target arm_neon_ok } */
25648-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
25649+/* { dg-options "-save-temps -O0" } */
25650+/* { dg-add-options arm_neon } */
25651
25652 #include "arm_neon.h"
25653
25654
25655=== modified file 'gcc/testsuite/gcc.target/arm/neon/vtrnQu16.c'
25656--- old/gcc/testsuite/gcc.target/arm/neon/vtrnQu16.c 2007-07-25 11:28:31 +0000
25657+++ new/gcc/testsuite/gcc.target/arm/neon/vtrnQu16.c 2010-07-29 15:38:15 +0000
25658@@ -3,7 +3,8 @@
25659
25660 /* { dg-do assemble } */
25661 /* { dg-require-effective-target arm_neon_ok } */
25662-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
25663+/* { dg-options "-save-temps -O0" } */
25664+/* { dg-add-options arm_neon } */
25665
25666 #include "arm_neon.h"
25667
25668
25669=== modified file 'gcc/testsuite/gcc.target/arm/neon/vtrnQu32.c'
25670--- old/gcc/testsuite/gcc.target/arm/neon/vtrnQu32.c 2007-07-25 11:28:31 +0000
25671+++ new/gcc/testsuite/gcc.target/arm/neon/vtrnQu32.c 2010-07-29 15:38:15 +0000
25672@@ -3,7 +3,8 @@
25673
25674 /* { dg-do assemble } */
25675 /* { dg-require-effective-target arm_neon_ok } */
25676-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
25677+/* { dg-options "-save-temps -O0" } */
25678+/* { dg-add-options arm_neon } */
25679
25680 #include "arm_neon.h"
25681
25682
25683=== modified file 'gcc/testsuite/gcc.target/arm/neon/vtrnQu8.c'
25684--- old/gcc/testsuite/gcc.target/arm/neon/vtrnQu8.c 2007-07-25 11:28:31 +0000
25685+++ new/gcc/testsuite/gcc.target/arm/neon/vtrnQu8.c 2010-07-29 15:38:15 +0000
25686@@ -3,7 +3,8 @@
25687
25688 /* { dg-do assemble } */
25689 /* { dg-require-effective-target arm_neon_ok } */
25690-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
25691+/* { dg-options "-save-temps -O0" } */
25692+/* { dg-add-options arm_neon } */
25693
25694 #include "arm_neon.h"
25695
25696
25697=== modified file 'gcc/testsuite/gcc.target/arm/neon/vtrnf32.c'
25698--- old/gcc/testsuite/gcc.target/arm/neon/vtrnf32.c 2007-07-25 11:28:31 +0000
25699+++ new/gcc/testsuite/gcc.target/arm/neon/vtrnf32.c 2010-07-29 15:38:15 +0000
25700@@ -3,7 +3,8 @@
25701
25702 /* { dg-do assemble } */
25703 /* { dg-require-effective-target arm_neon_ok } */
25704-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
25705+/* { dg-options "-save-temps -O0" } */
25706+/* { dg-add-options arm_neon } */
25707
25708 #include "arm_neon.h"
25709
25710
25711=== modified file 'gcc/testsuite/gcc.target/arm/neon/vtrnp16.c'
25712--- old/gcc/testsuite/gcc.target/arm/neon/vtrnp16.c 2007-07-25 11:28:31 +0000
25713+++ new/gcc/testsuite/gcc.target/arm/neon/vtrnp16.c 2010-07-29 15:38:15 +0000
25714@@ -3,7 +3,8 @@
25715
25716 /* { dg-do assemble } */
25717 /* { dg-require-effective-target arm_neon_ok } */
25718-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
25719+/* { dg-options "-save-temps -O0" } */
25720+/* { dg-add-options arm_neon } */
25721
25722 #include "arm_neon.h"
25723
25724
25725=== modified file 'gcc/testsuite/gcc.target/arm/neon/vtrnp8.c'
25726--- old/gcc/testsuite/gcc.target/arm/neon/vtrnp8.c 2007-07-25 11:28:31 +0000
25727+++ new/gcc/testsuite/gcc.target/arm/neon/vtrnp8.c 2010-07-29 15:38:15 +0000
25728@@ -3,7 +3,8 @@
25729
25730 /* { dg-do assemble } */
25731 /* { dg-require-effective-target arm_neon_ok } */
25732-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
25733+/* { dg-options "-save-temps -O0" } */
25734+/* { dg-add-options arm_neon } */
25735
25736 #include "arm_neon.h"
25737
25738
25739=== modified file 'gcc/testsuite/gcc.target/arm/neon/vtrns16.c'
25740--- old/gcc/testsuite/gcc.target/arm/neon/vtrns16.c 2007-07-25 11:28:31 +0000
25741+++ new/gcc/testsuite/gcc.target/arm/neon/vtrns16.c 2010-07-29 15:38:15 +0000
25742@@ -3,7 +3,8 @@
25743
25744 /* { dg-do assemble } */
25745 /* { dg-require-effective-target arm_neon_ok } */
25746-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
25747+/* { dg-options "-save-temps -O0" } */
25748+/* { dg-add-options arm_neon } */
25749
25750 #include "arm_neon.h"
25751
25752
25753=== modified file 'gcc/testsuite/gcc.target/arm/neon/vtrns32.c'
25754--- old/gcc/testsuite/gcc.target/arm/neon/vtrns32.c 2007-07-25 11:28:31 +0000
25755+++ new/gcc/testsuite/gcc.target/arm/neon/vtrns32.c 2010-07-29 15:38:15 +0000
25756@@ -3,7 +3,8 @@
25757
25758 /* { dg-do assemble } */
25759 /* { dg-require-effective-target arm_neon_ok } */
25760-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
25761+/* { dg-options "-save-temps -O0" } */
25762+/* { dg-add-options arm_neon } */
25763
25764 #include "arm_neon.h"
25765
25766
25767=== modified file 'gcc/testsuite/gcc.target/arm/neon/vtrns8.c'
25768--- old/gcc/testsuite/gcc.target/arm/neon/vtrns8.c 2007-07-25 11:28:31 +0000
25769+++ new/gcc/testsuite/gcc.target/arm/neon/vtrns8.c 2010-07-29 15:38:15 +0000
25770@@ -3,7 +3,8 @@
25771
25772 /* { dg-do assemble } */
25773 /* { dg-require-effective-target arm_neon_ok } */
25774-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
25775+/* { dg-options "-save-temps -O0" } */
25776+/* { dg-add-options arm_neon } */
25777
25778 #include "arm_neon.h"
25779
25780
25781=== modified file 'gcc/testsuite/gcc.target/arm/neon/vtrnu16.c'
25782--- old/gcc/testsuite/gcc.target/arm/neon/vtrnu16.c 2007-07-25 11:28:31 +0000
25783+++ new/gcc/testsuite/gcc.target/arm/neon/vtrnu16.c 2010-07-29 15:38:15 +0000
25784@@ -3,7 +3,8 @@
25785
25786 /* { dg-do assemble } */
25787 /* { dg-require-effective-target arm_neon_ok } */
25788-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
25789+/* { dg-options "-save-temps -O0" } */
25790+/* { dg-add-options arm_neon } */
25791
25792 #include "arm_neon.h"
25793
25794
25795=== modified file 'gcc/testsuite/gcc.target/arm/neon/vtrnu32.c'
25796--- old/gcc/testsuite/gcc.target/arm/neon/vtrnu32.c 2007-07-25 11:28:31 +0000
25797+++ new/gcc/testsuite/gcc.target/arm/neon/vtrnu32.c 2010-07-29 15:38:15 +0000
25798@@ -3,7 +3,8 @@
25799
25800 /* { dg-do assemble } */
25801 /* { dg-require-effective-target arm_neon_ok } */
25802-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
25803+/* { dg-options "-save-temps -O0" } */
25804+/* { dg-add-options arm_neon } */
25805
25806 #include "arm_neon.h"
25807
25808
25809=== modified file 'gcc/testsuite/gcc.target/arm/neon/vtrnu8.c'
25810--- old/gcc/testsuite/gcc.target/arm/neon/vtrnu8.c 2007-07-25 11:28:31 +0000
25811+++ new/gcc/testsuite/gcc.target/arm/neon/vtrnu8.c 2010-07-29 15:38:15 +0000
25812@@ -3,7 +3,8 @@
25813
25814 /* { dg-do assemble } */
25815 /* { dg-require-effective-target arm_neon_ok } */
25816-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
25817+/* { dg-options "-save-temps -O0" } */
25818+/* { dg-add-options arm_neon } */
25819
25820 #include "arm_neon.h"
25821
25822
25823=== modified file 'gcc/testsuite/gcc.target/arm/neon/vtstQp8.c'
25824--- old/gcc/testsuite/gcc.target/arm/neon/vtstQp8.c 2007-07-25 11:28:31 +0000
25825+++ new/gcc/testsuite/gcc.target/arm/neon/vtstQp8.c 2010-07-29 15:38:15 +0000
25826@@ -3,7 +3,8 @@
25827
25828 /* { dg-do assemble } */
25829 /* { dg-require-effective-target arm_neon_ok } */
25830-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
25831+/* { dg-options "-save-temps -O0" } */
25832+/* { dg-add-options arm_neon } */
25833
25834 #include "arm_neon.h"
25835
25836
25837=== modified file 'gcc/testsuite/gcc.target/arm/neon/vtstQs16.c'
25838--- old/gcc/testsuite/gcc.target/arm/neon/vtstQs16.c 2007-07-25 11:28:31 +0000
25839+++ new/gcc/testsuite/gcc.target/arm/neon/vtstQs16.c 2010-07-29 15:38:15 +0000
25840@@ -3,7 +3,8 @@
25841
25842 /* { dg-do assemble } */
25843 /* { dg-require-effective-target arm_neon_ok } */
25844-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
25845+/* { dg-options "-save-temps -O0" } */
25846+/* { dg-add-options arm_neon } */
25847
25848 #include "arm_neon.h"
25849
25850
25851=== modified file 'gcc/testsuite/gcc.target/arm/neon/vtstQs32.c'
25852--- old/gcc/testsuite/gcc.target/arm/neon/vtstQs32.c 2007-07-25 11:28:31 +0000
25853+++ new/gcc/testsuite/gcc.target/arm/neon/vtstQs32.c 2010-07-29 15:38:15 +0000
25854@@ -3,7 +3,8 @@
25855
25856 /* { dg-do assemble } */
25857 /* { dg-require-effective-target arm_neon_ok } */
25858-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
25859+/* { dg-options "-save-temps -O0" } */
25860+/* { dg-add-options arm_neon } */
25861
25862 #include "arm_neon.h"
25863
25864
25865=== modified file 'gcc/testsuite/gcc.target/arm/neon/vtstQs8.c'
25866--- old/gcc/testsuite/gcc.target/arm/neon/vtstQs8.c 2007-07-25 11:28:31 +0000
25867+++ new/gcc/testsuite/gcc.target/arm/neon/vtstQs8.c 2010-07-29 15:38:15 +0000
25868@@ -3,7 +3,8 @@
25869
25870 /* { dg-do assemble } */
25871 /* { dg-require-effective-target arm_neon_ok } */
25872-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
25873+/* { dg-options "-save-temps -O0" } */
25874+/* { dg-add-options arm_neon } */
25875
25876 #include "arm_neon.h"
25877
25878
25879=== modified file 'gcc/testsuite/gcc.target/arm/neon/vtstQu16.c'
25880--- old/gcc/testsuite/gcc.target/arm/neon/vtstQu16.c 2007-07-25 11:28:31 +0000
25881+++ new/gcc/testsuite/gcc.target/arm/neon/vtstQu16.c 2010-07-29 15:38:15 +0000
25882@@ -3,7 +3,8 @@
25883
25884 /* { dg-do assemble } */
25885 /* { dg-require-effective-target arm_neon_ok } */
25886-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
25887+/* { dg-options "-save-temps -O0" } */
25888+/* { dg-add-options arm_neon } */
25889
25890 #include "arm_neon.h"
25891
25892
25893=== modified file 'gcc/testsuite/gcc.target/arm/neon/vtstQu32.c'
25894--- old/gcc/testsuite/gcc.target/arm/neon/vtstQu32.c 2007-07-25 11:28:31 +0000
25895+++ new/gcc/testsuite/gcc.target/arm/neon/vtstQu32.c 2010-07-29 15:38:15 +0000
25896@@ -3,7 +3,8 @@
25897
25898 /* { dg-do assemble } */
25899 /* { dg-require-effective-target arm_neon_ok } */
25900-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
25901+/* { dg-options "-save-temps -O0" } */
25902+/* { dg-add-options arm_neon } */
25903
25904 #include "arm_neon.h"
25905
25906
25907=== modified file 'gcc/testsuite/gcc.target/arm/neon/vtstQu8.c'
25908--- old/gcc/testsuite/gcc.target/arm/neon/vtstQu8.c 2007-07-25 11:28:31 +0000
25909+++ new/gcc/testsuite/gcc.target/arm/neon/vtstQu8.c 2010-07-29 15:38:15 +0000
25910@@ -3,7 +3,8 @@
25911
25912 /* { dg-do assemble } */
25913 /* { dg-require-effective-target arm_neon_ok } */
25914-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
25915+/* { dg-options "-save-temps -O0" } */
25916+/* { dg-add-options arm_neon } */
25917
25918 #include "arm_neon.h"
25919
25920
25921=== modified file 'gcc/testsuite/gcc.target/arm/neon/vtstp8.c'
25922--- old/gcc/testsuite/gcc.target/arm/neon/vtstp8.c 2007-07-25 11:28:31 +0000
25923+++ new/gcc/testsuite/gcc.target/arm/neon/vtstp8.c 2010-07-29 15:38:15 +0000
25924@@ -3,7 +3,8 @@
25925
25926 /* { dg-do assemble } */
25927 /* { dg-require-effective-target arm_neon_ok } */
25928-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
25929+/* { dg-options "-save-temps -O0" } */
25930+/* { dg-add-options arm_neon } */
25931
25932 #include "arm_neon.h"
25933
25934
25935=== modified file 'gcc/testsuite/gcc.target/arm/neon/vtsts16.c'
25936--- old/gcc/testsuite/gcc.target/arm/neon/vtsts16.c 2007-07-25 11:28:31 +0000
25937+++ new/gcc/testsuite/gcc.target/arm/neon/vtsts16.c 2010-07-29 15:38:15 +0000
25938@@ -3,7 +3,8 @@
25939
25940 /* { dg-do assemble } */
25941 /* { dg-require-effective-target arm_neon_ok } */
25942-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
25943+/* { dg-options "-save-temps -O0" } */
25944+/* { dg-add-options arm_neon } */
25945
25946 #include "arm_neon.h"
25947
25948
25949=== modified file 'gcc/testsuite/gcc.target/arm/neon/vtsts32.c'
25950--- old/gcc/testsuite/gcc.target/arm/neon/vtsts32.c 2007-07-25 11:28:31 +0000
25951+++ new/gcc/testsuite/gcc.target/arm/neon/vtsts32.c 2010-07-29 15:38:15 +0000
25952@@ -3,7 +3,8 @@
25953
25954 /* { dg-do assemble } */
25955 /* { dg-require-effective-target arm_neon_ok } */
25956-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
25957+/* { dg-options "-save-temps -O0" } */
25958+/* { dg-add-options arm_neon } */
25959
25960 #include "arm_neon.h"
25961
25962
25963=== modified file 'gcc/testsuite/gcc.target/arm/neon/vtsts8.c'
25964--- old/gcc/testsuite/gcc.target/arm/neon/vtsts8.c 2007-07-25 11:28:31 +0000
25965+++ new/gcc/testsuite/gcc.target/arm/neon/vtsts8.c 2010-07-29 15:38:15 +0000
25966@@ -3,7 +3,8 @@
25967
25968 /* { dg-do assemble } */
25969 /* { dg-require-effective-target arm_neon_ok } */
25970-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
25971+/* { dg-options "-save-temps -O0" } */
25972+/* { dg-add-options arm_neon } */
25973
25974 #include "arm_neon.h"
25975
25976
25977=== modified file 'gcc/testsuite/gcc.target/arm/neon/vtstu16.c'
25978--- old/gcc/testsuite/gcc.target/arm/neon/vtstu16.c 2007-07-25 11:28:31 +0000
25979+++ new/gcc/testsuite/gcc.target/arm/neon/vtstu16.c 2010-07-29 15:38:15 +0000
25980@@ -3,7 +3,8 @@
25981
25982 /* { dg-do assemble } */
25983 /* { dg-require-effective-target arm_neon_ok } */
25984-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
25985+/* { dg-options "-save-temps -O0" } */
25986+/* { dg-add-options arm_neon } */
25987
25988 #include "arm_neon.h"
25989
25990
25991=== modified file 'gcc/testsuite/gcc.target/arm/neon/vtstu32.c'
25992--- old/gcc/testsuite/gcc.target/arm/neon/vtstu32.c 2007-07-25 11:28:31 +0000
25993+++ new/gcc/testsuite/gcc.target/arm/neon/vtstu32.c 2010-07-29 15:38:15 +0000
25994@@ -3,7 +3,8 @@
25995
25996 /* { dg-do assemble } */
25997 /* { dg-require-effective-target arm_neon_ok } */
25998-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
25999+/* { dg-options "-save-temps -O0" } */
26000+/* { dg-add-options arm_neon } */
26001
26002 #include "arm_neon.h"
26003
26004
26005=== modified file 'gcc/testsuite/gcc.target/arm/neon/vtstu8.c'
26006--- old/gcc/testsuite/gcc.target/arm/neon/vtstu8.c 2007-07-25 11:28:31 +0000
26007+++ new/gcc/testsuite/gcc.target/arm/neon/vtstu8.c 2010-07-29 15:38:15 +0000
26008@@ -3,7 +3,8 @@
26009
26010 /* { dg-do assemble } */
26011 /* { dg-require-effective-target arm_neon_ok } */
26012-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
26013+/* { dg-options "-save-temps -O0" } */
26014+/* { dg-add-options arm_neon } */
26015
26016 #include "arm_neon.h"
26017
26018
26019=== modified file 'gcc/testsuite/gcc.target/arm/neon/vuzpQf32.c'
26020--- old/gcc/testsuite/gcc.target/arm/neon/vuzpQf32.c 2007-07-25 11:28:31 +0000
26021+++ new/gcc/testsuite/gcc.target/arm/neon/vuzpQf32.c 2010-07-29 15:38:15 +0000
26022@@ -3,7 +3,8 @@
26023
26024 /* { dg-do assemble } */
26025 /* { dg-require-effective-target arm_neon_ok } */
26026-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
26027+/* { dg-options "-save-temps -O0" } */
26028+/* { dg-add-options arm_neon } */
26029
26030 #include "arm_neon.h"
26031
26032
26033=== modified file 'gcc/testsuite/gcc.target/arm/neon/vuzpQp16.c'
26034--- old/gcc/testsuite/gcc.target/arm/neon/vuzpQp16.c 2007-07-25 11:28:31 +0000
26035+++ new/gcc/testsuite/gcc.target/arm/neon/vuzpQp16.c 2010-07-29 15:38:15 +0000
26036@@ -3,7 +3,8 @@
26037
26038 /* { dg-do assemble } */
26039 /* { dg-require-effective-target arm_neon_ok } */
26040-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
26041+/* { dg-options "-save-temps -O0" } */
26042+/* { dg-add-options arm_neon } */
26043
26044 #include "arm_neon.h"
26045
26046
26047=== modified file 'gcc/testsuite/gcc.target/arm/neon/vuzpQp8.c'
26048--- old/gcc/testsuite/gcc.target/arm/neon/vuzpQp8.c 2007-07-25 11:28:31 +0000
26049+++ new/gcc/testsuite/gcc.target/arm/neon/vuzpQp8.c 2010-07-29 15:38:15 +0000
26050@@ -3,7 +3,8 @@
26051
26052 /* { dg-do assemble } */
26053 /* { dg-require-effective-target arm_neon_ok } */
26054-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
26055+/* { dg-options "-save-temps -O0" } */
26056+/* { dg-add-options arm_neon } */
26057
26058 #include "arm_neon.h"
26059
26060
26061=== modified file 'gcc/testsuite/gcc.target/arm/neon/vuzpQs16.c'
26062--- old/gcc/testsuite/gcc.target/arm/neon/vuzpQs16.c 2007-07-25 11:28:31 +0000
26063+++ new/gcc/testsuite/gcc.target/arm/neon/vuzpQs16.c 2010-07-29 15:38:15 +0000
26064@@ -3,7 +3,8 @@
26065
26066 /* { dg-do assemble } */
26067 /* { dg-require-effective-target arm_neon_ok } */
26068-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
26069+/* { dg-options "-save-temps -O0" } */
26070+/* { dg-add-options arm_neon } */
26071
26072 #include "arm_neon.h"
26073
26074
26075=== modified file 'gcc/testsuite/gcc.target/arm/neon/vuzpQs32.c'
26076--- old/gcc/testsuite/gcc.target/arm/neon/vuzpQs32.c 2007-07-25 11:28:31 +0000
26077+++ new/gcc/testsuite/gcc.target/arm/neon/vuzpQs32.c 2010-07-29 15:38:15 +0000
26078@@ -3,7 +3,8 @@
26079
26080 /* { dg-do assemble } */
26081 /* { dg-require-effective-target arm_neon_ok } */
26082-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
26083+/* { dg-options "-save-temps -O0" } */
26084+/* { dg-add-options arm_neon } */
26085
26086 #include "arm_neon.h"
26087
26088
26089=== modified file 'gcc/testsuite/gcc.target/arm/neon/vuzpQs8.c'
26090--- old/gcc/testsuite/gcc.target/arm/neon/vuzpQs8.c 2007-07-25 11:28:31 +0000
26091+++ new/gcc/testsuite/gcc.target/arm/neon/vuzpQs8.c 2010-07-29 15:38:15 +0000
26092@@ -3,7 +3,8 @@
26093
26094 /* { dg-do assemble } */
26095 /* { dg-require-effective-target arm_neon_ok } */
26096-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
26097+/* { dg-options "-save-temps -O0" } */
26098+/* { dg-add-options arm_neon } */
26099
26100 #include "arm_neon.h"
26101
26102
26103=== modified file 'gcc/testsuite/gcc.target/arm/neon/vuzpQu16.c'
26104--- old/gcc/testsuite/gcc.target/arm/neon/vuzpQu16.c 2007-07-25 11:28:31 +0000
26105+++ new/gcc/testsuite/gcc.target/arm/neon/vuzpQu16.c 2010-07-29 15:38:15 +0000
26106@@ -3,7 +3,8 @@
26107
26108 /* { dg-do assemble } */
26109 /* { dg-require-effective-target arm_neon_ok } */
26110-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
26111+/* { dg-options "-save-temps -O0" } */
26112+/* { dg-add-options arm_neon } */
26113
26114 #include "arm_neon.h"
26115
26116
26117=== modified file 'gcc/testsuite/gcc.target/arm/neon/vuzpQu32.c'
26118--- old/gcc/testsuite/gcc.target/arm/neon/vuzpQu32.c 2007-07-25 11:28:31 +0000
26119+++ new/gcc/testsuite/gcc.target/arm/neon/vuzpQu32.c 2010-07-29 15:38:15 +0000
26120@@ -3,7 +3,8 @@
26121
26122 /* { dg-do assemble } */
26123 /* { dg-require-effective-target arm_neon_ok } */
26124-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
26125+/* { dg-options "-save-temps -O0" } */
26126+/* { dg-add-options arm_neon } */
26127
26128 #include "arm_neon.h"
26129
26130
26131=== modified file 'gcc/testsuite/gcc.target/arm/neon/vuzpQu8.c'
26132--- old/gcc/testsuite/gcc.target/arm/neon/vuzpQu8.c 2007-07-25 11:28:31 +0000
26133+++ new/gcc/testsuite/gcc.target/arm/neon/vuzpQu8.c 2010-07-29 15:38:15 +0000
26134@@ -3,7 +3,8 @@
26135
26136 /* { dg-do assemble } */
26137 /* { dg-require-effective-target arm_neon_ok } */
26138-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
26139+/* { dg-options "-save-temps -O0" } */
26140+/* { dg-add-options arm_neon } */
26141
26142 #include "arm_neon.h"
26143
26144
26145=== modified file 'gcc/testsuite/gcc.target/arm/neon/vuzpf32.c'
26146--- old/gcc/testsuite/gcc.target/arm/neon/vuzpf32.c 2007-07-25 11:28:31 +0000
26147+++ new/gcc/testsuite/gcc.target/arm/neon/vuzpf32.c 2010-07-29 15:38:15 +0000
26148@@ -3,7 +3,8 @@
26149
26150 /* { dg-do assemble } */
26151 /* { dg-require-effective-target arm_neon_ok } */
26152-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
26153+/* { dg-options "-save-temps -O0" } */
26154+/* { dg-add-options arm_neon } */
26155
26156 #include "arm_neon.h"
26157
26158
26159=== modified file 'gcc/testsuite/gcc.target/arm/neon/vuzpp16.c'
26160--- old/gcc/testsuite/gcc.target/arm/neon/vuzpp16.c 2007-07-25 11:28:31 +0000
26161+++ new/gcc/testsuite/gcc.target/arm/neon/vuzpp16.c 2010-07-29 15:38:15 +0000
26162@@ -3,7 +3,8 @@
26163
26164 /* { dg-do assemble } */
26165 /* { dg-require-effective-target arm_neon_ok } */
26166-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
26167+/* { dg-options "-save-temps -O0" } */
26168+/* { dg-add-options arm_neon } */
26169
26170 #include "arm_neon.h"
26171
26172
26173=== modified file 'gcc/testsuite/gcc.target/arm/neon/vuzpp8.c'
26174--- old/gcc/testsuite/gcc.target/arm/neon/vuzpp8.c 2007-07-25 11:28:31 +0000
26175+++ new/gcc/testsuite/gcc.target/arm/neon/vuzpp8.c 2010-07-29 15:38:15 +0000
26176@@ -3,7 +3,8 @@
26177
26178 /* { dg-do assemble } */
26179 /* { dg-require-effective-target arm_neon_ok } */
26180-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
26181+/* { dg-options "-save-temps -O0" } */
26182+/* { dg-add-options arm_neon } */
26183
26184 #include "arm_neon.h"
26185
26186
26187=== modified file 'gcc/testsuite/gcc.target/arm/neon/vuzps16.c'
26188--- old/gcc/testsuite/gcc.target/arm/neon/vuzps16.c 2007-07-25 11:28:31 +0000
26189+++ new/gcc/testsuite/gcc.target/arm/neon/vuzps16.c 2010-07-29 15:38:15 +0000
26190@@ -3,7 +3,8 @@
26191
26192 /* { dg-do assemble } */
26193 /* { dg-require-effective-target arm_neon_ok } */
26194-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
26195+/* { dg-options "-save-temps -O0" } */
26196+/* { dg-add-options arm_neon } */
26197
26198 #include "arm_neon.h"
26199
26200
26201=== modified file 'gcc/testsuite/gcc.target/arm/neon/vuzps32.c'
26202--- old/gcc/testsuite/gcc.target/arm/neon/vuzps32.c 2007-07-25 11:28:31 +0000
26203+++ new/gcc/testsuite/gcc.target/arm/neon/vuzps32.c 2010-07-29 15:38:15 +0000
26204@@ -3,7 +3,8 @@
26205
26206 /* { dg-do assemble } */
26207 /* { dg-require-effective-target arm_neon_ok } */
26208-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
26209+/* { dg-options "-save-temps -O0" } */
26210+/* { dg-add-options arm_neon } */
26211
26212 #include "arm_neon.h"
26213
26214
26215=== modified file 'gcc/testsuite/gcc.target/arm/neon/vuzps8.c'
26216--- old/gcc/testsuite/gcc.target/arm/neon/vuzps8.c 2007-07-25 11:28:31 +0000
26217+++ new/gcc/testsuite/gcc.target/arm/neon/vuzps8.c 2010-07-29 15:38:15 +0000
26218@@ -3,7 +3,8 @@
26219
26220 /* { dg-do assemble } */
26221 /* { dg-require-effective-target arm_neon_ok } */
26222-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
26223+/* { dg-options "-save-temps -O0" } */
26224+/* { dg-add-options arm_neon } */
26225
26226 #include "arm_neon.h"
26227
26228
26229=== modified file 'gcc/testsuite/gcc.target/arm/neon/vuzpu16.c'
26230--- old/gcc/testsuite/gcc.target/arm/neon/vuzpu16.c 2007-07-25 11:28:31 +0000
26231+++ new/gcc/testsuite/gcc.target/arm/neon/vuzpu16.c 2010-07-29 15:38:15 +0000
26232@@ -3,7 +3,8 @@
26233
26234 /* { dg-do assemble } */
26235 /* { dg-require-effective-target arm_neon_ok } */
26236-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
26237+/* { dg-options "-save-temps -O0" } */
26238+/* { dg-add-options arm_neon } */
26239
26240 #include "arm_neon.h"
26241
26242
26243=== modified file 'gcc/testsuite/gcc.target/arm/neon/vuzpu32.c'
26244--- old/gcc/testsuite/gcc.target/arm/neon/vuzpu32.c 2007-07-25 11:28:31 +0000
26245+++ new/gcc/testsuite/gcc.target/arm/neon/vuzpu32.c 2010-07-29 15:38:15 +0000
26246@@ -3,7 +3,8 @@
26247
26248 /* { dg-do assemble } */
26249 /* { dg-require-effective-target arm_neon_ok } */
26250-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
26251+/* { dg-options "-save-temps -O0" } */
26252+/* { dg-add-options arm_neon } */
26253
26254 #include "arm_neon.h"
26255
26256
26257=== modified file 'gcc/testsuite/gcc.target/arm/neon/vuzpu8.c'
26258--- old/gcc/testsuite/gcc.target/arm/neon/vuzpu8.c 2007-07-25 11:28:31 +0000
26259+++ new/gcc/testsuite/gcc.target/arm/neon/vuzpu8.c 2010-07-29 15:38:15 +0000
26260@@ -3,7 +3,8 @@
26261
26262 /* { dg-do assemble } */
26263 /* { dg-require-effective-target arm_neon_ok } */
26264-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
26265+/* { dg-options "-save-temps -O0" } */
26266+/* { dg-add-options arm_neon } */
26267
26268 #include "arm_neon.h"
26269
26270
26271=== modified file 'gcc/testsuite/gcc.target/arm/neon/vzipQf32.c'
26272--- old/gcc/testsuite/gcc.target/arm/neon/vzipQf32.c 2007-07-25 11:28:31 +0000
26273+++ new/gcc/testsuite/gcc.target/arm/neon/vzipQf32.c 2010-07-29 15:38:15 +0000
26274@@ -3,7 +3,8 @@
26275
26276 /* { dg-do assemble } */
26277 /* { dg-require-effective-target arm_neon_ok } */
26278-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
26279+/* { dg-options "-save-temps -O0" } */
26280+/* { dg-add-options arm_neon } */
26281
26282 #include "arm_neon.h"
26283
26284
26285=== modified file 'gcc/testsuite/gcc.target/arm/neon/vzipQp16.c'
26286--- old/gcc/testsuite/gcc.target/arm/neon/vzipQp16.c 2007-07-25 11:28:31 +0000
26287+++ new/gcc/testsuite/gcc.target/arm/neon/vzipQp16.c 2010-07-29 15:38:15 +0000
26288@@ -3,7 +3,8 @@
26289
26290 /* { dg-do assemble } */
26291 /* { dg-require-effective-target arm_neon_ok } */
26292-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
26293+/* { dg-options "-save-temps -O0" } */
26294+/* { dg-add-options arm_neon } */
26295
26296 #include "arm_neon.h"
26297
26298
26299=== modified file 'gcc/testsuite/gcc.target/arm/neon/vzipQp8.c'
26300--- old/gcc/testsuite/gcc.target/arm/neon/vzipQp8.c 2007-07-25 11:28:31 +0000
26301+++ new/gcc/testsuite/gcc.target/arm/neon/vzipQp8.c 2010-07-29 15:38:15 +0000
26302@@ -3,7 +3,8 @@
26303
26304 /* { dg-do assemble } */
26305 /* { dg-require-effective-target arm_neon_ok } */
26306-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
26307+/* { dg-options "-save-temps -O0" } */
26308+/* { dg-add-options arm_neon } */
26309
26310 #include "arm_neon.h"
26311
26312
26313=== modified file 'gcc/testsuite/gcc.target/arm/neon/vzipQs16.c'
26314--- old/gcc/testsuite/gcc.target/arm/neon/vzipQs16.c 2007-07-25 11:28:31 +0000
26315+++ new/gcc/testsuite/gcc.target/arm/neon/vzipQs16.c 2010-07-29 15:38:15 +0000
26316@@ -3,7 +3,8 @@
26317
26318 /* { dg-do assemble } */
26319 /* { dg-require-effective-target arm_neon_ok } */
26320-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
26321+/* { dg-options "-save-temps -O0" } */
26322+/* { dg-add-options arm_neon } */
26323
26324 #include "arm_neon.h"
26325
26326
26327=== modified file 'gcc/testsuite/gcc.target/arm/neon/vzipQs32.c'
26328--- old/gcc/testsuite/gcc.target/arm/neon/vzipQs32.c 2007-07-25 11:28:31 +0000
26329+++ new/gcc/testsuite/gcc.target/arm/neon/vzipQs32.c 2010-07-29 15:38:15 +0000
26330@@ -3,7 +3,8 @@
26331
26332 /* { dg-do assemble } */
26333 /* { dg-require-effective-target arm_neon_ok } */
26334-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
26335+/* { dg-options "-save-temps -O0" } */
26336+/* { dg-add-options arm_neon } */
26337
26338 #include "arm_neon.h"
26339
26340
26341=== modified file 'gcc/testsuite/gcc.target/arm/neon/vzipQs8.c'
26342--- old/gcc/testsuite/gcc.target/arm/neon/vzipQs8.c 2007-07-25 11:28:31 +0000
26343+++ new/gcc/testsuite/gcc.target/arm/neon/vzipQs8.c 2010-07-29 15:38:15 +0000
26344@@ -3,7 +3,8 @@
26345
26346 /* { dg-do assemble } */
26347 /* { dg-require-effective-target arm_neon_ok } */
26348-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
26349+/* { dg-options "-save-temps -O0" } */
26350+/* { dg-add-options arm_neon } */
26351
26352 #include "arm_neon.h"
26353
26354
26355=== modified file 'gcc/testsuite/gcc.target/arm/neon/vzipQu16.c'
26356--- old/gcc/testsuite/gcc.target/arm/neon/vzipQu16.c 2007-07-25 11:28:31 +0000
26357+++ new/gcc/testsuite/gcc.target/arm/neon/vzipQu16.c 2010-07-29 15:38:15 +0000
26358@@ -3,7 +3,8 @@
26359
26360 /* { dg-do assemble } */
26361 /* { dg-require-effective-target arm_neon_ok } */
26362-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
26363+/* { dg-options "-save-temps -O0" } */
26364+/* { dg-add-options arm_neon } */
26365
26366 #include "arm_neon.h"
26367
26368
26369=== modified file 'gcc/testsuite/gcc.target/arm/neon/vzipQu32.c'
26370--- old/gcc/testsuite/gcc.target/arm/neon/vzipQu32.c 2007-07-25 11:28:31 +0000
26371+++ new/gcc/testsuite/gcc.target/arm/neon/vzipQu32.c 2010-07-29 15:38:15 +0000
26372@@ -3,7 +3,8 @@
26373
26374 /* { dg-do assemble } */
26375 /* { dg-require-effective-target arm_neon_ok } */
26376-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
26377+/* { dg-options "-save-temps -O0" } */
26378+/* { dg-add-options arm_neon } */
26379
26380 #include "arm_neon.h"
26381
26382
26383=== modified file 'gcc/testsuite/gcc.target/arm/neon/vzipQu8.c'
26384--- old/gcc/testsuite/gcc.target/arm/neon/vzipQu8.c 2007-07-25 11:28:31 +0000
26385+++ new/gcc/testsuite/gcc.target/arm/neon/vzipQu8.c 2010-07-29 15:38:15 +0000
26386@@ -3,7 +3,8 @@
26387
26388 /* { dg-do assemble } */
26389 /* { dg-require-effective-target arm_neon_ok } */
26390-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
26391+/* { dg-options "-save-temps -O0" } */
26392+/* { dg-add-options arm_neon } */
26393
26394 #include "arm_neon.h"
26395
26396
26397=== modified file 'gcc/testsuite/gcc.target/arm/neon/vzipf32.c'
26398--- old/gcc/testsuite/gcc.target/arm/neon/vzipf32.c 2007-07-25 11:28:31 +0000
26399+++ new/gcc/testsuite/gcc.target/arm/neon/vzipf32.c 2010-07-29 15:38:15 +0000
26400@@ -3,7 +3,8 @@
26401
26402 /* { dg-do assemble } */
26403 /* { dg-require-effective-target arm_neon_ok } */
26404-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
26405+/* { dg-options "-save-temps -O0" } */
26406+/* { dg-add-options arm_neon } */
26407
26408 #include "arm_neon.h"
26409
26410
26411=== modified file 'gcc/testsuite/gcc.target/arm/neon/vzipp16.c'
26412--- old/gcc/testsuite/gcc.target/arm/neon/vzipp16.c 2007-07-25 11:28:31 +0000
26413+++ new/gcc/testsuite/gcc.target/arm/neon/vzipp16.c 2010-07-29 15:38:15 +0000
26414@@ -3,7 +3,8 @@
26415
26416 /* { dg-do assemble } */
26417 /* { dg-require-effective-target arm_neon_ok } */
26418-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
26419+/* { dg-options "-save-temps -O0" } */
26420+/* { dg-add-options arm_neon } */
26421
26422 #include "arm_neon.h"
26423
26424
26425=== modified file 'gcc/testsuite/gcc.target/arm/neon/vzipp8.c'
26426--- old/gcc/testsuite/gcc.target/arm/neon/vzipp8.c 2007-07-25 11:28:31 +0000
26427+++ new/gcc/testsuite/gcc.target/arm/neon/vzipp8.c 2010-07-29 15:38:15 +0000
26428@@ -3,7 +3,8 @@
26429
26430 /* { dg-do assemble } */
26431 /* { dg-require-effective-target arm_neon_ok } */
26432-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
26433+/* { dg-options "-save-temps -O0" } */
26434+/* { dg-add-options arm_neon } */
26435
26436 #include "arm_neon.h"
26437
26438
26439=== modified file 'gcc/testsuite/gcc.target/arm/neon/vzips16.c'
26440--- old/gcc/testsuite/gcc.target/arm/neon/vzips16.c 2007-07-25 11:28:31 +0000
26441+++ new/gcc/testsuite/gcc.target/arm/neon/vzips16.c 2010-07-29 15:38:15 +0000
26442@@ -3,7 +3,8 @@
26443
26444 /* { dg-do assemble } */
26445 /* { dg-require-effective-target arm_neon_ok } */
26446-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
26447+/* { dg-options "-save-temps -O0" } */
26448+/* { dg-add-options arm_neon } */
26449
26450 #include "arm_neon.h"
26451
26452
26453=== modified file 'gcc/testsuite/gcc.target/arm/neon/vzips32.c'
26454--- old/gcc/testsuite/gcc.target/arm/neon/vzips32.c 2007-07-25 11:28:31 +0000
26455+++ new/gcc/testsuite/gcc.target/arm/neon/vzips32.c 2010-07-29 15:38:15 +0000
26456@@ -3,7 +3,8 @@
26457
26458 /* { dg-do assemble } */
26459 /* { dg-require-effective-target arm_neon_ok } */
26460-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
26461+/* { dg-options "-save-temps -O0" } */
26462+/* { dg-add-options arm_neon } */
26463
26464 #include "arm_neon.h"
26465
26466
26467=== modified file 'gcc/testsuite/gcc.target/arm/neon/vzips8.c'
26468--- old/gcc/testsuite/gcc.target/arm/neon/vzips8.c 2007-07-25 11:28:31 +0000
26469+++ new/gcc/testsuite/gcc.target/arm/neon/vzips8.c 2010-07-29 15:38:15 +0000
26470@@ -3,7 +3,8 @@
26471
26472 /* { dg-do assemble } */
26473 /* { dg-require-effective-target arm_neon_ok } */
26474-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
26475+/* { dg-options "-save-temps -O0" } */
26476+/* { dg-add-options arm_neon } */
26477
26478 #include "arm_neon.h"
26479
26480
26481=== modified file 'gcc/testsuite/gcc.target/arm/neon/vzipu16.c'
26482--- old/gcc/testsuite/gcc.target/arm/neon/vzipu16.c 2007-07-25 11:28:31 +0000
26483+++ new/gcc/testsuite/gcc.target/arm/neon/vzipu16.c 2010-07-29 15:38:15 +0000
26484@@ -3,7 +3,8 @@
26485
26486 /* { dg-do assemble } */
26487 /* { dg-require-effective-target arm_neon_ok } */
26488-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
26489+/* { dg-options "-save-temps -O0" } */
26490+/* { dg-add-options arm_neon } */
26491
26492 #include "arm_neon.h"
26493
26494
26495=== modified file 'gcc/testsuite/gcc.target/arm/neon/vzipu32.c'
26496--- old/gcc/testsuite/gcc.target/arm/neon/vzipu32.c 2007-07-25 11:28:31 +0000
26497+++ new/gcc/testsuite/gcc.target/arm/neon/vzipu32.c 2010-07-29 15:38:15 +0000
26498@@ -3,7 +3,8 @@
26499
26500 /* { dg-do assemble } */
26501 /* { dg-require-effective-target arm_neon_ok } */
26502-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
26503+/* { dg-options "-save-temps -O0" } */
26504+/* { dg-add-options arm_neon } */
26505
26506 #include "arm_neon.h"
26507
26508
26509=== modified file 'gcc/testsuite/gcc.target/arm/neon/vzipu8.c'
26510--- old/gcc/testsuite/gcc.target/arm/neon/vzipu8.c 2007-07-25 11:28:31 +0000
26511+++ new/gcc/testsuite/gcc.target/arm/neon/vzipu8.c 2010-07-29 15:38:15 +0000
26512@@ -3,7 +3,8 @@
26513
26514 /* { dg-do assemble } */
26515 /* { dg-require-effective-target arm_neon_ok } */
26516-/* { dg-options "-save-temps -O0 -mfpu=neon -mfloat-abi=softfp" } */
26517+/* { dg-options "-save-temps -O0" } */
26518+/* { dg-add-options arm_neon } */
26519
26520 #include "arm_neon.h"
26521
26522
26523=== modified file 'gcc/testsuite/gfortran.dg/vect/vect.exp'
26524--- old/gcc/testsuite/gfortran.dg/vect/vect.exp 2009-09-25 04:52:46 +0000
26525+++ new/gcc/testsuite/gfortran.dg/vect/vect.exp 2010-07-29 15:38:15 +0000
26526@@ -102,7 +102,7 @@
26527 } elseif [istarget "ia64-*-*"] {
26528 set dg-do-what-default run
26529 } elseif [is-effective-target arm_neon_ok] {
26530- lappend DEFAULT_VECTCFLAGS "-mfpu=neon" "-mfloat-abi=softfp"
26531+ eval lappend DEFAULT_VECTCFLAGS [add_options_for_arm_neon ""]
26532 if [is-effective-target arm_neon_hw] {
26533 set dg-do-what-default run
26534 } else {
26535
26536=== modified file 'gcc/testsuite/lib/target-supports.exp'
26537--- old/gcc/testsuite/lib/target-supports.exp 2010-03-24 22:51:08 +0000
26538+++ new/gcc/testsuite/lib/target-supports.exp 2010-07-29 15:38:15 +0000
26539@@ -1603,19 +1603,87 @@
26540 }
26541 }
26542
26543+# Add the options needed for NEON. We need either -mfloat-abi=softfp
26544+# or -mfloat-abi=hard, but if one is already specified by the
26545+# multilib, use it. Similarly, if a -mfpu option already enables
26546+# NEON, do not add -mfpu=neon.
26547+
26548+proc add_options_for_arm_neon { flags } {
26549+ if { ! [check_effective_target_arm_neon_ok] } {
26550+ return "$flags"
26551+ }
26552+ global et_arm_neon_flags
26553+ return "$flags $et_arm_neon_flags"
26554+}
26555+
26556 # Return 1 if this is an ARM target supporting -mfpu=neon
26557-# -mfloat-abi=softfp. Some multilibs may be incompatible with these
26558-# options.
26559+# -mfloat-abi=softfp or equivalent options. Some multilibs may be
26560+# incompatible with these options. Also set et_arm_neon_flags to the
26561+# best options to add.
26562+
26563+proc check_effective_target_arm_neon_ok_nocache { } {
26564+ global et_arm_neon_flags
26565+ set et_arm_neon_flags ""
26566+ if { [check_effective_target_arm32] } {
26567+ foreach flags {"" "-mfloat-abi=softfp" "-mfpu=neon" "-mfpu=neon -mfloat-abi=softfp"} {
26568+ if { [check_no_compiler_messages_nocache arm_neon_ok object {
26569+ #include "arm_neon.h"
26570+ int dummy;
26571+ } "$flags"] } {
26572+ set et_arm_neon_flags $flags
26573+ return 1
26574+ }
26575+ }
26576+ }
26577+
26578+ return 0
26579+}
26580
26581 proc check_effective_target_arm_neon_ok { } {
26582+ return [check_cached_effective_target arm_neon_ok \
26583+ check_effective_target_arm_neon_ok_nocache]
26584+}
26585+
26586+# Add the options needed for NEON. We need either -mfloat-abi=softfp
26587+# or -mfloat-abi=hard, but if one is already specified by the
26588+# multilib, use it.
26589+
26590+proc add_options_for_arm_neon_fp16 { flags } {
26591+ if { ! [check_effective_target_arm_neon_fp16_ok] } {
26592+ return "$flags"
26593+ }
26594+ global et_arm_neon_fp16_flags
26595+ return "$flags $et_arm_neon_fp16_flags"
26596+}
26597+
26598+# Return 1 if this is an ARM target supporting -mfpu=neon-fp16
26599+# -mfloat-abi=softfp or equivalent options. Some multilibs may be
26600+# incompatible with these options. Also set et_arm_neon_flags to the
26601+# best options to add.
26602+
26603+proc check_effective_target_arm_neon_fp16_ok_nocache { } {
26604+ global et_arm_neon_fp16_flags
26605+ set et_arm_neon_fp16_flags ""
26606 if { [check_effective_target_arm32] } {
26607- return [check_no_compiler_messages arm_neon_ok object {
26608- #include "arm_neon.h"
26609- int dummy;
26610- } "-mfpu=neon -mfloat-abi=softfp"]
26611- } else {
26612- return 0
26613+ # Always add -mfpu=neon-fp16, since there is no preprocessor
26614+ # macro for FP16 support.
26615+ foreach flags {"-mfpu=neon-fp16" "-mfpu=neon-fp16 -mfloat-abi=softfp"} {
26616+ if { [check_no_compiler_messages_nocache arm_neon_fp16_ok object {
26617+ #include "arm_neon.h"
26618+ int dummy;
26619+ } "$flags"] } {
26620+ set et_arm_neon_fp16_flags $flags
26621+ return 1
26622+ }
26623+ }
26624 }
26625+
26626+ return 0
26627+}
26628+
26629+proc check_effective_target_arm_neon_fp16_ok { } {
26630+ return [check_cached_effective_target arm_neon_fp16_ok \
26631+ check_effective_target_arm_neon_fp16_ok_nocache]
26632 }
26633
26634 # Return 1 is this is an ARM target where -mthumb causes Thumb-1 to be
26635@@ -1654,7 +1722,7 @@
26636 : "0" (a), "w" (b));
26637 return (a != 1);
26638 }
26639- } "-mfpu=neon -mfloat-abi=softfp"]
26640+ } [add_options_for_arm_neon ""]]
26641 }
26642
26643 # Return 1 if this is a ARM target with NEON enabled.
26644
diff --git a/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99299.patch b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99299.patch
new file mode 100644
index 0000000000..7dea4303a9
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99299.patch
@@ -0,0 +1,62 @@
12010-07-07 Sandra Loosemore <sandra@codesourcery.com>
2
3 Merge from Sourcery G++ 4.4:
4
5 2010-03-08 Paul Brook <paul@codesourcery.com>
6
7 gcc/
8 * doc/invoke.texi: Document ARM -mcpu=cortex-m4.
9 * config/arm/arm.c (all_architectures): Change v7e-m default to
10 cortexm4.
11 * config/arm/arm-cores.def: Add cortex-m4.
12 * config/arm/arm-tune.md: Regenerate.
13
14=== modified file 'gcc/config/arm/arm-cores.def'
15--- old/gcc/config/arm/arm-cores.def 2009-11-20 17:37:30 +0000
16+++ new/gcc/config/arm/arm-cores.def 2010-07-29 15:53:39 +0000
17@@ -123,6 +123,7 @@
18 ARM_CORE("cortex-a9", cortexa9, 7A, FL_LDSCHED, 9e)
19 ARM_CORE("cortex-r4", cortexr4, 7R, FL_LDSCHED, 9e)
20 ARM_CORE("cortex-r4f", cortexr4f, 7R, FL_LDSCHED, 9e)
21+ARM_CORE("cortex-m4", cortexm4, 7EM, FL_LDSCHED, 9e)
22 ARM_CORE("cortex-m3", cortexm3, 7M, FL_LDSCHED, 9e)
23 ARM_CORE("cortex-m1", cortexm1, 6M, FL_LDSCHED, 9e)
24 ARM_CORE("cortex-m0", cortexm0, 6M, FL_LDSCHED, 9e)
25
26=== modified file 'gcc/config/arm/arm-tune.md'
27--- old/gcc/config/arm/arm-tune.md 2009-11-20 17:37:30 +0000
28+++ new/gcc/config/arm/arm-tune.md 2010-07-29 15:53:39 +0000
29@@ -1,5 +1,5 @@
30 ;; -*- buffer-read-only: t -*-
31 ;; Generated automatically by gentune.sh from arm-cores.def
32 (define_attr "tune"
33- "arm2,arm250,arm3,arm6,arm60,arm600,arm610,arm620,arm7,arm7d,arm7di,arm70,arm700,arm700i,arm710,arm720,arm710c,arm7100,arm7500,arm7500fe,arm7m,arm7dm,arm7dmi,arm8,arm810,strongarm,strongarm110,strongarm1100,strongarm1110,arm7tdmi,arm7tdmis,arm710t,arm720t,arm740t,arm9,arm9tdmi,arm920,arm920t,arm922t,arm940t,ep9312,arm10tdmi,arm1020t,arm9e,arm946es,arm966es,arm968es,arm10e,arm1020e,arm1022e,xscale,iwmmxt,iwmmxt2,arm926ejs,arm1026ejs,arm1136js,arm1136jfs,arm1176jzs,arm1176jzfs,mpcorenovfp,mpcore,arm1156t2s,arm1156t2fs,cortexa5,cortexa8,cortexa9,cortexr4,cortexr4f,cortexm3,cortexm1,cortexm0"
34+ "arm2,arm250,arm3,arm6,arm60,arm600,arm610,arm620,arm7,arm7d,arm7di,arm70,arm700,arm700i,arm710,arm720,arm710c,arm7100,arm7500,arm7500fe,arm7m,arm7dm,arm7dmi,arm8,arm810,strongarm,strongarm110,strongarm1100,strongarm1110,arm7tdmi,arm7tdmis,arm710t,arm720t,arm740t,arm9,arm9tdmi,arm920,arm920t,arm922t,arm940t,ep9312,arm10tdmi,arm1020t,arm9e,arm946es,arm966es,arm968es,arm10e,arm1020e,arm1022e,xscale,iwmmxt,iwmmxt2,arm926ejs,arm1026ejs,arm1136js,arm1136jfs,arm1176jzs,arm1176jzfs,mpcorenovfp,mpcore,arm1156t2s,arm1156t2fs,cortexa5,cortexa8,cortexa9,cortexr4,cortexr4f,cortexm4,cortexm3,cortexm1,cortexm0"
35 (const (symbol_ref "((enum attr_tune) arm_tune)")))
36
37=== modified file 'gcc/config/arm/arm.c'
38--- old/gcc/config/arm/arm.c 2010-04-02 07:32:00 +0000
39+++ new/gcc/config/arm/arm.c 2010-07-29 15:53:39 +0000
40@@ -782,7 +782,7 @@
41 {"armv7-a", cortexa8, "7A", FL_CO_PROC | FL_FOR_ARCH7A, NULL},
42 {"armv7-r", cortexr4, "7R", FL_CO_PROC | FL_FOR_ARCH7R, NULL},
43 {"armv7-m", cortexm3, "7M", FL_CO_PROC | FL_FOR_ARCH7M, NULL},
44- {"armv7e-m", cortexm3, "7EM", FL_CO_PROC | FL_FOR_ARCH7EM, NULL},
45+ {"armv7e-m", cortexm4, "7EM", FL_CO_PROC | FL_FOR_ARCH7EM, NULL},
46 {"ep9312", ep9312, "4T", FL_LDSCHED | FL_CIRRUS | FL_FOR_ARCH4, NULL},
47 {"iwmmxt", iwmmxt, "5TE", FL_LDSCHED | FL_STRONG | FL_FOR_ARCH5TE | FL_XSCALE | FL_IWMMXT , NULL},
48 {"iwmmxt2", iwmmxt2, "5TE", FL_LDSCHED | FL_STRONG | FL_FOR_ARCH5TE | FL_XSCALE | FL_IWMMXT , NULL},
49
50=== modified file 'gcc/doc/invoke.texi'
51--- old/gcc/doc/invoke.texi 2010-07-29 14:59:35 +0000
52+++ new/gcc/doc/invoke.texi 2010-07-29 15:53:39 +0000
53@@ -9826,7 +9826,7 @@
54 @samp{arm1136j-s}, @samp{arm1136jf-s}, @samp{mpcore}, @samp{mpcorenovfp},
55 @samp{arm1156t2-s}, @samp{arm1156t2f-s}, @samp{arm1176jz-s}, @samp{arm1176jzf-s},
56 @samp{cortex-a5}, @samp{cortex-a8}, @samp{cortex-a9},
57-@samp{cortex-r4}, @samp{cortex-r4f}, @samp{cortex-m3},
58+@samp{cortex-r4}, @samp{cortex-r4f}, @samp{cortex-m4}, @samp{cortex-m3},
59 @samp{cortex-m1},
60 @samp{cortex-m0},
61 @samp{xscale}, @samp{iwmmxt}, @samp{iwmmxt2}, @samp{ep9312}.
62
diff --git a/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99300.patch b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99300.patch
new file mode 100644
index 0000000000..ae417a18f5
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99300.patch
@@ -0,0 +1,3094 @@
12010-07-08 Sandra Loosemore <sandra@codesourcery.com>
2
3 Backport from upstream (originally from Sourcery G++ 4.4):
4
5 2010-07-02 Sandra Loosemore <sandra@codesourcery.com>
6
7 gcc/
8 * config/arm/neon.md (vec_extractv2di): Correct error in register
9 numbering to reconcile with neon_vget_lanev2di.
10
11 2010-07-02 Sandra Loosemore <sandra@codesourcery.com>
12
13 gcc/
14 * config/arm/arm.c (neon_vdup_constant): Expand into canonical RTL
15 instead of an unspec.
16 (neon_expand_vector_init): Likewise.
17 * config/arm/neon.md (UNSPEC_VCOMBINE): Delete.
18 (UNSPEC_VDUP_LANE): Delete.
19 (UNSPEC VDUP_N): Delete.
20 (UNSPEC_VGET_HIGH): Delete.
21 (UNSPEC_VGET_LANE): Delete.
22 (UNSPEC_VGET_LOW): Delete.
23 (UNSPEC_VMVN): Delete.
24 (UNSPEC_VSET_LANE): Delete.
25 (V_double_vector_mode): New.
26 (vec_set<mode>_internal): Make code emitted match that for the
27 corresponding intrinsics.
28 (vec_setv2di_internal): Likewise.
29 (neon_vget_lanedi): Rewrite to expand into emit_move_insn.
30 (neon_vget_lanev2di): Rewrite to expand into vec_extractv2di.
31 (neon_vset_lane<mode>): Combine double and quad patterns and
32 expand into vec_set<mode>_internal instead of UNSPEC_VSET_LANE.
33 (neon_vset_lanedi): Rewrite to expand into emit_move_insn.
34 (neon_vdup_n<mode>): Rewrite RTL without unspec.
35 (neon_vdup_ndi): Rewrite as define_expand and use emit_move_insn.
36 (neon_vdup_nv2di): Rewrite RTL without unspec and merge with
37 with neon_vdup_lanev2di, adjusting the pattern from the latter
38 to be predicable for consistency.
39 (neon_vdup_lane<mode>_internal): New.
40 (neon_vdup_lane<mode>): Turn into a define_expand and rewrite
41 to avoid using an unspec.
42 (neon_vdup_lanedi): Rewrite RTL pattern to avoid unspec.
43 (neon_vdup_lanev2di): Turn into a define_expand.
44 (neon_vcombine): Rewrite pattern to eliminate UNPSEC_VCOMBINE.
45 (neon_vget_high<mode>): Replace with....
46 (neon_vget_highv16qi): New pattern using canonical RTL.
47 (neon_vget_highv8hi): Likewise.
48 (neon_vget_highv4si): Likewise.
49 (neon_vget_highv4sf): Likewise.
50 (neon_vget_highv2di): Likewise.
51 (neon_vget_low<mode>): Replace with....
52 (neon_vget_lowv16qi): New pattern using canonical RTL.
53 (neon_vget_lowv8hi): Likewise.
54 (neon_vget_lowv4si): Likewise.
55 (neon_vget_lowv4sf): Likewise.
56 (neon_vget_lowv2di): Likewise.
57
58 * config/arm/neon.ml (Vget_lane): Add No_op attribute to suppress
59 test for this emitting vmov.
60 (Vset_lane): Likewise.
61 (Vdup_n): Likewise.
62 (Vmov_n): Likewise.
63
64 * doc/arm-neon-intrinsics.texi: Regenerated.
65
66 gcc/testsuite/
67 * gcc.target/arm/neon/vdup_ns64.c: Regenerated.
68 * gcc.target/arm/neon/vdup_nu64.c: Regenerated.
69 * gcc.target/arm/neon/vdupQ_ns64.c: Regenerated.
70 * gcc.target/arm/neon/vdupQ_nu64.c: Regenerated.
71 * gcc.target/arm/neon/vmov_ns64.c: Regenerated.
72 * gcc.target/arm/neon/vmov_nu64.c: Regenerated.
73 * gcc.target/arm/neon/vmovQ_ns64.c: Regenerated.
74 * gcc.target/arm/neon/vmovQ_nu64.c: Regenerated.
75 * gcc.target/arm/neon/vget_lanes64.c: Regenerated.
76 * gcc.target/arm/neon/vget_laneu64.c: Regenerated.
77 * gcc.target/arm/neon/vset_lanes64.c: Regenerated.
78 * gcc.target/arm/neon/vset_laneu64.c: Regenerated.
79 * gcc.target/arm/neon-vdup_ns64.c: New.
80 * gcc.target/arm/neon-vdup_nu64.c: New.
81 * gcc.target/arm/neon-vdupQ_ns64.c: New.
82 * gcc.target/arm/neon-vdupQ_nu64.c: New.
83 * gcc.target/arm/neon-vdupQ_lanes64.c: New.
84 * gcc.target/arm/neon-vdupQ_laneu64.c: New.
85 * gcc.target/arm/neon-vmov_ns64.c: New.
86 * gcc.target/arm/neon-vmov_nu64.c: New.
87 * gcc.target/arm/neon-vmovQ_ns64.c: New.
88 * gcc.target/arm/neon-vmovQ_nu64.c: New.
89 * gcc.target/arm/neon-vget_lanes64.c: New.
90 * gcc.target/arm/neon-vget_laneu64.c: New.
91 * gcc.target/arm/neon-vset_lanes64.c: New.
92 * gcc.target/arm/neon-vset_laneu64.c: New.
93
94 2010-07-02 Sandra Loosemore <sandra@codesourcery.com>
95 Julian Brown <julian@codesourcery.com>
96
97 gcc/
98 * config/arm/neon.md (UNSPEC_VABA): Delete.
99 (UNSPEC_VABAL): Delete.
100 (UNSPEC_VABS): Delete.
101 (UNSPEC_VMUL_N): Delete.
102 (adddi3_neon): New.
103 (subdi3_neon): New.
104 (mul<mode>3add<mode>_neon): Make the pattern named.
105 (mul<mode>3neg<mode>add<mode>_neon): Likewise.
106 (neon_vadd<mode>): Replace with define_expand, and move the remaining
107 unspec parts...
108 (neon_vadd<mode>_unspec): ...to this.
109 (neon_vmla<mode>, neon_vmla<mode>_unspec): Likewise.
110 (neon_vlms<mode>, neon_vmls<mode>_unspec): Likewise.
111 (neon_vsub<mode>, neon_vsub<mode>_unspec): Likewise.
112 (neon_vaba<mode>): Rewrite in terms of vabd.
113 (neon_vabal<mode>): Rewrite in terms of vabdl.
114 (neon_vabs<mode>): Rewrite without unspec.
115 * config/arm/arm.md (*arm_adddi3): Disable for TARGET_NEON.
116 (*arm_subdi3): Likewise.
117 * config/arm/neon.ml (Vadd, Vsub): Split out 64-bit variants and add
118 No_op attribute to disable assembly output checks.
119 * config/arm/arm_neon.h: Regenerated.
120 * doc/arm-neon-intrinsics.texi: Regenerated.
121
122 gcc/testsuite/
123 * gcc.target/arm/neon/vadds64.c: Regenerated.
124 * gcc.target/arm/neon/vaddu64.c: Regenerated.
125 * gcc.target/arm/neon/vsubs64.c: Regenerated.
126 * gcc.target/arm/neon/vsubu64.c: Regenerated.
127 * gcc.target/arm/neon-vmla-1.c: Add -ffast-math to options.
128 * gcc.target/arm/neon-vmls-1.c: Likewise.
129 * gcc.target/arm/neon-vsubs64.c: New execution test.
130 * gcc.target/arm/neon-vsubu64.c: New execution test.
131 * gcc.target/arm/neon-vadds64.c: New execution test.
132 * gcc.target/arm/neon-vaddu64.c: New execution test.
133
134=== modified file 'gcc/config/arm/arm.c'
135--- old/gcc/config/arm/arm.c 2010-07-29 15:53:39 +0000
136+++ new/gcc/config/arm/arm.c 2010-07-29 15:59:12 +0000
137@@ -8110,8 +8110,7 @@
138 load. */
139
140 x = copy_to_mode_reg (inner_mode, XVECEXP (vals, 0, 0));
141- return gen_rtx_UNSPEC (mode, gen_rtvec (1, x),
142- UNSPEC_VDUP_N);
143+ return gen_rtx_VEC_DUPLICATE (mode, x);
144 }
145
146 /* Generate code to load VALS, which is a PARALLEL containing only
147@@ -8207,8 +8206,7 @@
148 {
149 x = copy_to_mode_reg (inner_mode, XVECEXP (vals, 0, 0));
150 emit_insn (gen_rtx_SET (VOIDmode, target,
151- gen_rtx_UNSPEC (mode, gen_rtvec (1, x),
152- UNSPEC_VDUP_N)));
153+ gen_rtx_VEC_DUPLICATE (mode, x)));
154 return;
155 }
156
157@@ -8217,7 +8215,7 @@
158 if (n_var == 1)
159 {
160 rtx copy = copy_rtx (vals);
161- rtvec ops;
162+ rtx index = GEN_INT (one_var);
163
164 /* Load constant part of vector, substitute neighboring value for
165 varying element. */
166@@ -8226,9 +8224,38 @@
167
168 /* Insert variable. */
169 x = copy_to_mode_reg (inner_mode, XVECEXP (vals, 0, one_var));
170- ops = gen_rtvec (3, x, target, GEN_INT (one_var));
171- emit_insn (gen_rtx_SET (VOIDmode, target,
172- gen_rtx_UNSPEC (mode, ops, UNSPEC_VSET_LANE)));
173+ switch (mode)
174+ {
175+ case V8QImode:
176+ emit_insn (gen_neon_vset_lanev8qi (target, x, target, index));
177+ break;
178+ case V16QImode:
179+ emit_insn (gen_neon_vset_lanev16qi (target, x, target, index));
180+ break;
181+ case V4HImode:
182+ emit_insn (gen_neon_vset_lanev4hi (target, x, target, index));
183+ break;
184+ case V8HImode:
185+ emit_insn (gen_neon_vset_lanev8hi (target, x, target, index));
186+ break;
187+ case V2SImode:
188+ emit_insn (gen_neon_vset_lanev2si (target, x, target, index));
189+ break;
190+ case V4SImode:
191+ emit_insn (gen_neon_vset_lanev4si (target, x, target, index));
192+ break;
193+ case V2SFmode:
194+ emit_insn (gen_neon_vset_lanev2sf (target, x, target, index));
195+ break;
196+ case V4SFmode:
197+ emit_insn (gen_neon_vset_lanev4sf (target, x, target, index));
198+ break;
199+ case V2DImode:
200+ emit_insn (gen_neon_vset_lanev2di (target, x, target, index));
201+ break;
202+ default:
203+ gcc_unreachable ();
204+ }
205 return;
206 }
207
208
209=== modified file 'gcc/config/arm/arm.md'
210--- old/gcc/config/arm/arm.md 2010-04-02 18:54:46 +0000
211+++ new/gcc/config/arm/arm.md 2010-07-29 15:59:12 +0000
212@@ -497,9 +497,10 @@
213 (plus:DI (match_operand:DI 1 "s_register_operand" "%0, 0")
214 (match_operand:DI 2 "s_register_operand" "r, 0")))
215 (clobber (reg:CC CC_REGNUM))]
216- "TARGET_32BIT && !(TARGET_HARD_FLOAT && TARGET_MAVERICK)"
217+ "TARGET_32BIT && !(TARGET_HARD_FLOAT && TARGET_MAVERICK) && !TARGET_NEON"
218 "#"
219- "TARGET_32BIT && reload_completed"
220+ "TARGET_32BIT && reload_completed
221+ && ! (TARGET_NEON && IS_VFP_REGNUM (REGNO (operands[0])))"
222 [(parallel [(set (reg:CC_C CC_REGNUM)
223 (compare:CC_C (plus:SI (match_dup 1) (match_dup 2))
224 (match_dup 1)))
225@@ -997,7 +998,7 @@
226 (minus:DI (match_operand:DI 1 "s_register_operand" "0,r,0")
227 (match_operand:DI 2 "s_register_operand" "r,0,0")))
228 (clobber (reg:CC CC_REGNUM))]
229- "TARGET_32BIT"
230+ "TARGET_32BIT && !TARGET_NEON"
231 "subs\\t%Q0, %Q1, %Q2\;sbc\\t%R0, %R1, %R2"
232 [(set_attr "conds" "clob")
233 (set_attr "length" "8")]
234@@ -1784,6 +1785,7 @@
235 [(match_operand:DI 1 "s_register_operand" "")
236 (match_operand:DI 2 "s_register_operand" "")]))]
237 "TARGET_32BIT && reload_completed
238+ && ! (TARGET_NEON && IS_VFP_REGNUM (REGNO (operands[0])))
239 && ! IS_IWMMXT_REGNUM (REGNO (operands[0]))"
240 [(set (match_dup 0) (match_op_dup:SI 6 [(match_dup 1) (match_dup 2)]))
241 (set (match_dup 3) (match_op_dup:SI 6 [(match_dup 4) (match_dup 5)]))]
242@@ -1857,11 +1859,19 @@
243 }"
244 )
245
246-(define_insn "anddi3"
247+(define_expand "anddi3"
248+ [(set (match_operand:DI 0 "s_register_operand" "")
249+ (and:DI (match_operand:DI 1 "s_register_operand" "")
250+ (match_operand:DI 2 "neon_inv_logic_op2" "")))]
251+ "TARGET_32BIT"
252+ ""
253+)
254+
255+(define_insn "*anddi3_insn"
256 [(set (match_operand:DI 0 "s_register_operand" "=&r,&r")
257 (and:DI (match_operand:DI 1 "s_register_operand" "%0,r")
258 (match_operand:DI 2 "s_register_operand" "r,r")))]
259- "TARGET_32BIT && ! TARGET_IWMMXT"
260+ "TARGET_32BIT && !TARGET_IWMMXT && !TARGET_NEON"
261 "#"
262 [(set_attr "length" "8")]
263 )
264@@ -2461,7 +2471,9 @@
265 (match_operand:DI 2 "s_register_operand" "r,0")))]
266 "TARGET_32BIT"
267 "#"
268- "TARGET_32BIT && reload_completed && ! IS_IWMMXT_REGNUM (REGNO (operands[0]))"
269+ "TARGET_32BIT && reload_completed
270+ && ! (TARGET_NEON && IS_VFP_REGNUM (REGNO (operands[0])))
271+ && ! IS_IWMMXT_REGNUM (REGNO (operands[0]))"
272 [(set (match_dup 0) (and:SI (not:SI (match_dup 1)) (match_dup 2)))
273 (set (match_dup 3) (and:SI (not:SI (match_dup 4)) (match_dup 5)))]
274 "
275@@ -2585,11 +2597,19 @@
276 [(set_attr "conds" "set")]
277 )
278
279-(define_insn "iordi3"
280+(define_expand "iordi3"
281+ [(set (match_operand:DI 0 "s_register_operand" "")
282+ (ior:DI (match_operand:DI 1 "s_register_operand" "")
283+ (match_operand:DI 2 "neon_logic_op2" "")))]
284+ "TARGET_32BIT"
285+ ""
286+)
287+
288+(define_insn "*iordi3_insn"
289 [(set (match_operand:DI 0 "s_register_operand" "=&r,&r")
290 (ior:DI (match_operand:DI 1 "s_register_operand" "%0,r")
291 (match_operand:DI 2 "s_register_operand" "r,r")))]
292- "TARGET_32BIT && ! TARGET_IWMMXT"
293+ "TARGET_32BIT && !TARGET_IWMMXT && !TARGET_NEON"
294 "#"
295 [(set_attr "length" "8")
296 (set_attr "predicable" "yes")]
297@@ -2715,11 +2735,19 @@
298 [(set_attr "conds" "set")]
299 )
300
301-(define_insn "xordi3"
302+(define_expand "xordi3"
303+ [(set (match_operand:DI 0 "s_register_operand" "")
304+ (xor:DI (match_operand:DI 1 "s_register_operand" "")
305+ (match_operand:DI 2 "s_register_operand" "")))]
306+ "TARGET_32BIT"
307+ ""
308+)
309+
310+(define_insn "*xordi3_insn"
311 [(set (match_operand:DI 0 "s_register_operand" "=&r,&r")
312 (xor:DI (match_operand:DI 1 "s_register_operand" "%0,r")
313 (match_operand:DI 2 "s_register_operand" "r,r")))]
314- "TARGET_32BIT && !TARGET_IWMMXT"
315+ "TARGET_32BIT && !TARGET_IWMMXT && !TARGET_NEON"
316 "#"
317 [(set_attr "length" "8")
318 (set_attr "predicable" "yes")]
319
320=== modified file 'gcc/config/arm/arm_neon.h'
321--- old/gcc/config/arm/arm_neon.h 2009-11-03 17:58:59 +0000
322+++ new/gcc/config/arm/arm_neon.h 2010-07-29 15:59:12 +0000
323@@ -414,12 +414,6 @@
324 return (int32x2_t)__builtin_neon_vaddv2si (__a, __b, 1);
325 }
326
327-__extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
328-vadd_s64 (int64x1_t __a, int64x1_t __b)
329-{
330- return (int64x1_t)__builtin_neon_vadddi (__a, __b, 1);
331-}
332-
333 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
334 vadd_f32 (float32x2_t __a, float32x2_t __b)
335 {
336@@ -444,6 +438,12 @@
337 return (uint32x2_t)__builtin_neon_vaddv2si ((int32x2_t) __a, (int32x2_t) __b, 0);
338 }
339
340+__extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
341+vadd_s64 (int64x1_t __a, int64x1_t __b)
342+{
343+ return (int64x1_t)__builtin_neon_vadddi (__a, __b, 1);
344+}
345+
346 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
347 vadd_u64 (uint64x1_t __a, uint64x1_t __b)
348 {
349@@ -1368,12 +1368,6 @@
350 return (int32x2_t)__builtin_neon_vsubv2si (__a, __b, 1);
351 }
352
353-__extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
354-vsub_s64 (int64x1_t __a, int64x1_t __b)
355-{
356- return (int64x1_t)__builtin_neon_vsubdi (__a, __b, 1);
357-}
358-
359 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
360 vsub_f32 (float32x2_t __a, float32x2_t __b)
361 {
362@@ -1398,6 +1392,12 @@
363 return (uint32x2_t)__builtin_neon_vsubv2si ((int32x2_t) __a, (int32x2_t) __b, 0);
364 }
365
366+__extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
367+vsub_s64 (int64x1_t __a, int64x1_t __b)
368+{
369+ return (int64x1_t)__builtin_neon_vsubdi (__a, __b, 1);
370+}
371+
372 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
373 vsub_u64 (uint64x1_t __a, uint64x1_t __b)
374 {
375@@ -5808,12 +5808,6 @@
376 return (int32x2_t)__builtin_neon_vget_lowv4si (__a);
377 }
378
379-__extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
380-vget_low_s64 (int64x2_t __a)
381-{
382- return (int64x1_t)__builtin_neon_vget_lowv2di (__a);
383-}
384-
385 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
386 vget_low_f32 (float32x4_t __a)
387 {
388@@ -5838,12 +5832,6 @@
389 return (uint32x2_t)__builtin_neon_vget_lowv4si ((int32x4_t) __a);
390 }
391
392-__extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
393-vget_low_u64 (uint64x2_t __a)
394-{
395- return (uint64x1_t)__builtin_neon_vget_lowv2di ((int64x2_t) __a);
396-}
397-
398 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
399 vget_low_p8 (poly8x16_t __a)
400 {
401@@ -5856,6 +5844,18 @@
402 return (poly16x4_t)__builtin_neon_vget_lowv8hi ((int16x8_t) __a);
403 }
404
405+__extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
406+vget_low_s64 (int64x2_t __a)
407+{
408+ return (int64x1_t)__builtin_neon_vget_lowv2di (__a);
409+}
410+
411+__extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
412+vget_low_u64 (uint64x2_t __a)
413+{
414+ return (uint64x1_t)__builtin_neon_vget_lowv2di ((int64x2_t) __a);
415+}
416+
417 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
418 vcvt_s32_f32 (float32x2_t __a)
419 {
420@@ -10386,12 +10386,6 @@
421 return (int32x2_t)__builtin_neon_vandv2si (__a, __b, 1);
422 }
423
424-__extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
425-vand_s64 (int64x1_t __a, int64x1_t __b)
426-{
427- return (int64x1_t)__builtin_neon_vanddi (__a, __b, 1);
428-}
429-
430 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
431 vand_u8 (uint8x8_t __a, uint8x8_t __b)
432 {
433@@ -10410,6 +10404,12 @@
434 return (uint32x2_t)__builtin_neon_vandv2si ((int32x2_t) __a, (int32x2_t) __b, 0);
435 }
436
437+__extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
438+vand_s64 (int64x1_t __a, int64x1_t __b)
439+{
440+ return (int64x1_t)__builtin_neon_vanddi (__a, __b, 1);
441+}
442+
443 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
444 vand_u64 (uint64x1_t __a, uint64x1_t __b)
445 {
446@@ -10482,12 +10482,6 @@
447 return (int32x2_t)__builtin_neon_vorrv2si (__a, __b, 1);
448 }
449
450-__extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
451-vorr_s64 (int64x1_t __a, int64x1_t __b)
452-{
453- return (int64x1_t)__builtin_neon_vorrdi (__a, __b, 1);
454-}
455-
456 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
457 vorr_u8 (uint8x8_t __a, uint8x8_t __b)
458 {
459@@ -10506,6 +10500,12 @@
460 return (uint32x2_t)__builtin_neon_vorrv2si ((int32x2_t) __a, (int32x2_t) __b, 0);
461 }
462
463+__extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
464+vorr_s64 (int64x1_t __a, int64x1_t __b)
465+{
466+ return (int64x1_t)__builtin_neon_vorrdi (__a, __b, 1);
467+}
468+
469 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
470 vorr_u64 (uint64x1_t __a, uint64x1_t __b)
471 {
472@@ -10578,12 +10578,6 @@
473 return (int32x2_t)__builtin_neon_veorv2si (__a, __b, 1);
474 }
475
476-__extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
477-veor_s64 (int64x1_t __a, int64x1_t __b)
478-{
479- return (int64x1_t)__builtin_neon_veordi (__a, __b, 1);
480-}
481-
482 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
483 veor_u8 (uint8x8_t __a, uint8x8_t __b)
484 {
485@@ -10602,6 +10596,12 @@
486 return (uint32x2_t)__builtin_neon_veorv2si ((int32x2_t) __a, (int32x2_t) __b, 0);
487 }
488
489+__extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
490+veor_s64 (int64x1_t __a, int64x1_t __b)
491+{
492+ return (int64x1_t)__builtin_neon_veordi (__a, __b, 1);
493+}
494+
495 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
496 veor_u64 (uint64x1_t __a, uint64x1_t __b)
497 {
498@@ -10674,12 +10674,6 @@
499 return (int32x2_t)__builtin_neon_vbicv2si (__a, __b, 1);
500 }
501
502-__extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
503-vbic_s64 (int64x1_t __a, int64x1_t __b)
504-{
505- return (int64x1_t)__builtin_neon_vbicdi (__a, __b, 1);
506-}
507-
508 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
509 vbic_u8 (uint8x8_t __a, uint8x8_t __b)
510 {
511@@ -10698,6 +10692,12 @@
512 return (uint32x2_t)__builtin_neon_vbicv2si ((int32x2_t) __a, (int32x2_t) __b, 0);
513 }
514
515+__extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
516+vbic_s64 (int64x1_t __a, int64x1_t __b)
517+{
518+ return (int64x1_t)__builtin_neon_vbicdi (__a, __b, 1);
519+}
520+
521 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
522 vbic_u64 (uint64x1_t __a, uint64x1_t __b)
523 {
524@@ -10770,12 +10770,6 @@
525 return (int32x2_t)__builtin_neon_vornv2si (__a, __b, 1);
526 }
527
528-__extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
529-vorn_s64 (int64x1_t __a, int64x1_t __b)
530-{
531- return (int64x1_t)__builtin_neon_vorndi (__a, __b, 1);
532-}
533-
534 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
535 vorn_u8 (uint8x8_t __a, uint8x8_t __b)
536 {
537@@ -10794,6 +10788,12 @@
538 return (uint32x2_t)__builtin_neon_vornv2si ((int32x2_t) __a, (int32x2_t) __b, 0);
539 }
540
541+__extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
542+vorn_s64 (int64x1_t __a, int64x1_t __b)
543+{
544+ return (int64x1_t)__builtin_neon_vorndi (__a, __b, 1);
545+}
546+
547 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
548 vorn_u64 (uint64x1_t __a, uint64x1_t __b)
549 {
550
551=== modified file 'gcc/config/arm/neon.md'
552--- old/gcc/config/arm/neon.md 2009-11-11 14:23:03 +0000
553+++ new/gcc/config/arm/neon.md 2010-07-29 15:59:12 +0000
554@@ -22,17 +22,12 @@
555 (define_constants
556 [(UNSPEC_ASHIFT_SIGNED 65)
557 (UNSPEC_ASHIFT_UNSIGNED 66)
558- (UNSPEC_VABA 67)
559- (UNSPEC_VABAL 68)
560 (UNSPEC_VABD 69)
561 (UNSPEC_VABDL 70)
562- (UNSPEC_VABS 71)
563 (UNSPEC_VADD 72)
564 (UNSPEC_VADDHN 73)
565 (UNSPEC_VADDL 74)
566 (UNSPEC_VADDW 75)
567- (UNSPEC_VAND 76)
568- (UNSPEC_VBIC 77)
569 (UNSPEC_VBSL 78)
570 (UNSPEC_VCAGE 79)
571 (UNSPEC_VCAGT 80)
572@@ -40,18 +35,9 @@
573 (UNSPEC_VCGE 82)
574 (UNSPEC_VCGT 83)
575 (UNSPEC_VCLS 84)
576- (UNSPEC_VCLZ 85)
577- (UNSPEC_VCNT 86)
578- (UNSPEC_VCOMBINE 87)
579 (UNSPEC_VCVT 88)
580 (UNSPEC_VCVT_N 89)
581- (UNSPEC_VDUP_LANE 90)
582- (UNSPEC_VDUP_N 91)
583- (UNSPEC_VEOR 92)
584 (UNSPEC_VEXT 93)
585- (UNSPEC_VGET_HIGH 94)
586- (UNSPEC_VGET_LANE 95)
587- (UNSPEC_VGET_LOW 96)
588 (UNSPEC_VHADD 97)
589 (UNSPEC_VHSUB 98)
590 (UNSPEC_VLD1 99)
591@@ -86,10 +72,6 @@
592 (UNSPEC_VMULL 128)
593 (UNSPEC_VMUL_LANE 129)
594 (UNSPEC_VMULL_LANE 130)
595- (UNSPEC_VMUL_N 131)
596- (UNSPEC_VMVN 132)
597- (UNSPEC_VORN 133)
598- (UNSPEC_VORR 134)
599 (UNSPEC_VPADAL 135)
600 (UNSPEC_VPADD 136)
601 (UNSPEC_VPADDL 137)
602@@ -125,7 +107,6 @@
603 (UNSPEC_VREV64 167)
604 (UNSPEC_VRSQRTE 168)
605 (UNSPEC_VRSQRTS 169)
606- (UNSPEC_VSET_LANE 170)
607 (UNSPEC_VSHL 171)
608 (UNSPEC_VSHLL_N 172)
609 (UNSPEC_VSHL_N 173)
610@@ -335,6 +316,14 @@
611 (V4HI "V2SI") (V8HI "V4SI")
612 (V2SI "DI") (V4SI "V2DI")])
613
614+;; Double-sized modes with the same element size.
615+;; Used for neon_vdup_lane, where the second operand is double-sized
616+;; even when the first one is quad.
617+(define_mode_attr V_double_vector_mode [(V16QI "V8QI") (V8HI "V4HI")
618+ (V4SI "V2SI") (V4SF "V2SF")
619+ (V8QI "V8QI") (V4HI "V4HI")
620+ (V2SI "V2SI") (V2SF "V2SF")])
621+
622 ;; Mode of result of comparison operations (and bit-select operand 1).
623 (define_mode_attr V_cmp_result [(V8QI "V8QI") (V16QI "V16QI")
624 (V4HI "V4HI") (V8HI "V8HI")
625@@ -688,7 +677,7 @@
626 elt = GET_MODE_NUNITS (<MODE>mode) - 1 - elt;
627 operands[2] = GEN_INT (elt);
628
629- return "vmov%?.<V_uf_sclr>\t%P0[%c2], %1";
630+ return "vmov%?.<V_sz_elem>\t%P0[%c2], %1";
631 }
632 [(set_attr "predicable" "yes")
633 (set_attr "neon_type" "neon_mcr")])
634@@ -714,7 +703,7 @@
635 operands[0] = gen_rtx_REG (<V_HALF>mode, regno + hi);
636 operands[2] = GEN_INT (elt);
637
638- return "vmov%?.<V_uf_sclr>\t%P0[%c2], %1";
639+ return "vmov%?.<V_sz_elem>\t%P0[%c2], %1";
640 }
641 [(set_attr "predicable" "yes")
642 (set_attr "neon_type" "neon_mcr")]
643@@ -734,7 +723,7 @@
644
645 operands[0] = gen_rtx_REG (DImode, regno);
646
647- return "vmov%?.64\t%P0, %Q1, %R1";
648+ return "vmov%?\t%P0, %Q1, %R1";
649 }
650 [(set_attr "predicable" "yes")
651 (set_attr "neon_type" "neon_mcr_2_mcrr")]
652@@ -802,11 +791,11 @@
653 (parallel [(match_operand:SI 2 "immediate_operand" "i")])))]
654 "TARGET_NEON"
655 {
656- int regno = REGNO (operands[1]) + INTVAL (operands[2]);
657+ int regno = REGNO (operands[1]) + 2 * INTVAL (operands[2]);
658
659 operands[1] = gen_rtx_REG (DImode, regno);
660
661- return "vmov%?.64\t%Q0, %R0, %P1";
662+ return "vmov%?\t%Q0, %R0, %P1 @ v2di";
663 }
664 [(set_attr "predicable" "yes")
665 (set_attr "neon_type" "neon_int_1")]
666@@ -823,11 +812,8 @@
667
668 ;; Doubleword and quadword arithmetic.
669
670-;; NOTE: vadd/vsub and some other instructions also support 64-bit integer
671-;; element size, which we could potentially use for "long long" operations. We
672-;; don't want to do this at present though, because moving values from the
673-;; vector unit to the ARM core is currently slow and 64-bit addition (etc.) is
674-;; easy to do with ARM instructions anyway.
675+;; NOTE: some other instructions also support 64-bit integer
676+;; element size, which we could potentially use for "long long" operations.
677
678 (define_insn "*add<mode>3_neon"
679 [(set (match_operand:VDQ 0 "s_register_operand" "=w")
680@@ -843,6 +829,26 @@
681 (const_string "neon_int_1")))]
682 )
683
684+(define_insn "adddi3_neon"
685+ [(set (match_operand:DI 0 "s_register_operand" "=w,?&r,?&r")
686+ (plus:DI (match_operand:DI 1 "s_register_operand" "%w,0,0")
687+ (match_operand:DI 2 "s_register_operand" "w,r,0")))
688+ (clobber (reg:CC CC_REGNUM))]
689+ "TARGET_NEON"
690+{
691+ switch (which_alternative)
692+ {
693+ case 0: return "vadd.i64\t%P0, %P1, %P2";
694+ case 1: return "#";
695+ case 2: return "#";
696+ default: gcc_unreachable ();
697+ }
698+}
699+ [(set_attr "neon_type" "neon_int_1,*,*")
700+ (set_attr "conds" "*,clob,clob")
701+ (set_attr "length" "*,8,8")]
702+)
703+
704 (define_insn "*sub<mode>3_neon"
705 [(set (match_operand:VDQ 0 "s_register_operand" "=w")
706 (minus:VDQ (match_operand:VDQ 1 "s_register_operand" "w")
707@@ -857,6 +863,27 @@
708 (const_string "neon_int_2")))]
709 )
710
711+(define_insn "subdi3_neon"
712+ [(set (match_operand:DI 0 "s_register_operand" "=w,?&r,?&r,?&r")
713+ (minus:DI (match_operand:DI 1 "s_register_operand" "w,0,r,0")
714+ (match_operand:DI 2 "s_register_operand" "w,r,0,0")))
715+ (clobber (reg:CC CC_REGNUM))]
716+ "TARGET_NEON"
717+{
718+ switch (which_alternative)
719+ {
720+ case 0: return "vsub.i64\t%P0, %P1, %P2";
721+ case 1: /* fall through */
722+ case 2: /* fall through */
723+ case 3: return "subs\\t%Q0, %Q1, %Q2\;sbc\\t%R0, %R1, %R2";
724+ default: gcc_unreachable ();
725+ }
726+}
727+ [(set_attr "neon_type" "neon_int_2,*,*,*")
728+ (set_attr "conds" "*,clob,clob,clob")
729+ (set_attr "length" "*,8,8,8")]
730+)
731+
732 (define_insn "*mul<mode>3_neon"
733 [(set (match_operand:VDQ 0 "s_register_operand" "=w")
734 (mult:VDQ (match_operand:VDQ 1 "s_register_operand" "w")
735@@ -878,7 +905,7 @@
736 (const_string "neon_mul_qqq_8_16_32_ddd_32")))))]
737 )
738
739-(define_insn "*mul<mode>3add<mode>_neon"
740+(define_insn "mul<mode>3add<mode>_neon"
741 [(set (match_operand:VDQ 0 "s_register_operand" "=w")
742 (plus:VDQ (mult:VDQ (match_operand:VDQ 2 "s_register_operand" "w")
743 (match_operand:VDQ 3 "s_register_operand" "w"))
744@@ -900,7 +927,7 @@
745 (const_string "neon_mla_qqq_32_qqd_32_scalar")))))]
746 )
747
748-(define_insn "*mul<mode>3neg<mode>add<mode>_neon"
749+(define_insn "mul<mode>3neg<mode>add<mode>_neon"
750 [(set (match_operand:VDQ 0 "s_register_operand" "=w")
751 (minus:VDQ (match_operand:VDQ 1 "s_register_operand" "0")
752 (mult:VDQ (match_operand:VDQ 2 "s_register_operand" "w")
753@@ -940,10 +967,9 @@
754 )
755
756 (define_insn "iordi3_neon"
757- [(set (match_operand:DI 0 "s_register_operand" "=w,w")
758- (unspec:DI [(match_operand:DI 1 "s_register_operand" "w,0")
759- (match_operand:DI 2 "neon_logic_op2" "w,Dl")]
760- UNSPEC_VORR))]
761+ [(set (match_operand:DI 0 "s_register_operand" "=w,w,?&r,?&r")
762+ (ior:DI (match_operand:DI 1 "s_register_operand" "%w,0,0,r")
763+ (match_operand:DI 2 "neon_logic_op2" "w,Dl,r,r")))]
764 "TARGET_NEON"
765 {
766 switch (which_alternative)
767@@ -951,10 +977,13 @@
768 case 0: return "vorr\t%P0, %P1, %P2";
769 case 1: return neon_output_logic_immediate ("vorr", &operands[2],
770 DImode, 0, VALID_NEON_QREG_MODE (DImode));
771+ case 2: return "#";
772+ case 3: return "#";
773 default: gcc_unreachable ();
774 }
775 }
776- [(set_attr "neon_type" "neon_int_1")]
777+ [(set_attr "neon_type" "neon_int_1,neon_int_1,*,*")
778+ (set_attr "length" "*,*,8,8")]
779 )
780
781 ;; The concrete forms of the Neon immediate-logic instructions are vbic and
782@@ -980,10 +1009,9 @@
783 )
784
785 (define_insn "anddi3_neon"
786- [(set (match_operand:DI 0 "s_register_operand" "=w,w")
787- (unspec:DI [(match_operand:DI 1 "s_register_operand" "w,0")
788- (match_operand:DI 2 "neon_inv_logic_op2" "w,DL")]
789- UNSPEC_VAND))]
790+ [(set (match_operand:DI 0 "s_register_operand" "=w,w,?&r,?&r")
791+ (and:DI (match_operand:DI 1 "s_register_operand" "%w,0,0,r")
792+ (match_operand:DI 2 "neon_inv_logic_op2" "w,DL,r,r")))]
793 "TARGET_NEON"
794 {
795 switch (which_alternative)
796@@ -991,10 +1019,13 @@
797 case 0: return "vand\t%P0, %P1, %P2";
798 case 1: return neon_output_logic_immediate ("vand", &operands[2],
799 DImode, 1, VALID_NEON_QREG_MODE (DImode));
800+ case 2: return "#";
801+ case 3: return "#";
802 default: gcc_unreachable ();
803 }
804 }
805- [(set_attr "neon_type" "neon_int_1")]
806+ [(set_attr "neon_type" "neon_int_1,neon_int_1,*,*")
807+ (set_attr "length" "*,*,8,8")]
808 )
809
810 (define_insn "orn<mode>3_neon"
811@@ -1007,13 +1038,16 @@
812 )
813
814 (define_insn "orndi3_neon"
815- [(set (match_operand:DI 0 "s_register_operand" "=w")
816- (unspec:DI [(match_operand:DI 1 "s_register_operand" "w")
817- (match_operand:DI 2 "s_register_operand" "w")]
818- UNSPEC_VORN))]
819+ [(set (match_operand:DI 0 "s_register_operand" "=w,?=&r,?&r")
820+ (ior:DI (match_operand:DI 1 "s_register_operand" "w,r,0")
821+ (not:DI (match_operand:DI 2 "s_register_operand" "w,0,r"))))]
822 "TARGET_NEON"
823- "vorn\t%P0, %P1, %P2"
824- [(set_attr "neon_type" "neon_int_1")]
825+ "@
826+ vorn\t%P0, %P1, %P2
827+ #
828+ #"
829+ [(set_attr "neon_type" "neon_int_1,*,*")
830+ (set_attr "length" "*,8,8")]
831 )
832
833 (define_insn "bic<mode>3_neon"
834@@ -1025,14 +1059,18 @@
835 [(set_attr "neon_type" "neon_int_1")]
836 )
837
838+;; Compare to *anddi_notdi_di.
839 (define_insn "bicdi3_neon"
840- [(set (match_operand:DI 0 "s_register_operand" "=w")
841- (unspec:DI [(match_operand:DI 1 "s_register_operand" "w")
842- (match_operand:DI 2 "s_register_operand" "w")]
843- UNSPEC_VBIC))]
844+ [(set (match_operand:DI 0 "s_register_operand" "=w,?=&r,?&r")
845+ (and:DI (not:DI (match_operand:DI 2 "s_register_operand" "w,r,0"))
846+ (match_operand:DI 1 "s_register_operand" "w,0,r")))]
847 "TARGET_NEON"
848- "vbic\t%P0, %P1, %P2"
849- [(set_attr "neon_type" "neon_int_1")]
850+ "@
851+ vbic\t%P0, %P1, %P2
852+ #
853+ #"
854+ [(set_attr "neon_type" "neon_int_1,*,*")
855+ (set_attr "length" "*,8,8")]
856 )
857
858 (define_insn "xor<mode>3"
859@@ -1045,13 +1083,16 @@
860 )
861
862 (define_insn "xordi3_neon"
863- [(set (match_operand:DI 0 "s_register_operand" "=w")
864- (unspec:DI [(match_operand:DI 1 "s_register_operand" "w")
865- (match_operand:DI 2 "s_register_operand" "w")]
866- UNSPEC_VEOR))]
867+ [(set (match_operand:DI 0 "s_register_operand" "=w,?&r,?&r")
868+ (xor:DI (match_operand:DI 1 "s_register_operand" "%w,0,r")
869+ (match_operand:DI 2 "s_register_operand" "w,r,r")))]
870 "TARGET_NEON"
871- "veor\t%P0, %P1, %P2"
872- [(set_attr "neon_type" "neon_int_1")]
873+ "@
874+ veor\t%P0, %P1, %P2
875+ #
876+ #"
877+ [(set_attr "neon_type" "neon_int_1,*,*")
878+ (set_attr "length" "*,8,8")]
879 )
880
881 (define_insn "one_cmpl<mode>2"
882@@ -1711,11 +1752,37 @@
883
884 ; good for plain vadd, vaddq.
885
886-(define_insn "neon_vadd<mode>"
887+(define_expand "neon_vadd<mode>"
888+ [(match_operand:VDQX 0 "s_register_operand" "=w")
889+ (match_operand:VDQX 1 "s_register_operand" "w")
890+ (match_operand:VDQX 2 "s_register_operand" "w")
891+ (match_operand:SI 3 "immediate_operand" "i")]
892+ "TARGET_NEON"
893+{
894+ if (!<Is_float_mode> || flag_unsafe_math_optimizations)
895+ emit_insn (gen_add<mode>3 (operands[0], operands[1], operands[2]));
896+ else
897+ emit_insn (gen_neon_vadd<mode>_unspec (operands[0], operands[1],
898+ operands[2]));
899+ DONE;
900+})
901+
902+; Note that NEON operations don't support the full IEEE 754 standard: in
903+; particular, denormal values are flushed to zero. This means that GCC cannot
904+; use those instructions for autovectorization, etc. unless
905+; -funsafe-math-optimizations is in effect (in which case flush-to-zero
906+; behaviour is permissible). Intrinsic operations (provided by the arm_neon.h
907+; header) must work in either case: if -funsafe-math-optimizations is given,
908+; intrinsics expand to "canonical" RTL where possible, otherwise intrinsics
909+; expand to unspecs (which may potentially limit the extent to which they might
910+; be optimized by generic code).
911+
912+; Used for intrinsics when flag_unsafe_math_optimizations is false.
913+
914+(define_insn "neon_vadd<mode>_unspec"
915 [(set (match_operand:VDQX 0 "s_register_operand" "=w")
916 (unspec:VDQX [(match_operand:VDQX 1 "s_register_operand" "w")
917- (match_operand:VDQX 2 "s_register_operand" "w")
918- (match_operand:SI 3 "immediate_operand" "i")]
919+ (match_operand:VDQX 2 "s_register_operand" "w")]
920 UNSPEC_VADD))]
921 "TARGET_NEON"
922 "vadd.<V_if_elem>\t%<V_reg>0, %<V_reg>1, %<V_reg>2"
923@@ -1788,6 +1855,8 @@
924 [(set_attr "neon_type" "neon_int_4")]
925 )
926
927+;; We cannot replace this unspec with mul<mode>3 because of the odd
928+;; polynomial multiplication case that can specified by operand 3.
929 (define_insn "neon_vmul<mode>"
930 [(set (match_operand:VDQW 0 "s_register_operand" "=w")
931 (unspec:VDQW [(match_operand:VDQW 1 "s_register_operand" "w")
932@@ -1811,13 +1880,31 @@
933 (const_string "neon_mul_qqq_8_16_32_ddd_32")))))]
934 )
935
936-(define_insn "neon_vmla<mode>"
937- [(set (match_operand:VDQW 0 "s_register_operand" "=w")
938- (unspec:VDQW [(match_operand:VDQW 1 "s_register_operand" "0")
939- (match_operand:VDQW 2 "s_register_operand" "w")
940- (match_operand:VDQW 3 "s_register_operand" "w")
941- (match_operand:SI 4 "immediate_operand" "i")]
942- UNSPEC_VMLA))]
943+(define_expand "neon_vmla<mode>"
944+ [(match_operand:VDQW 0 "s_register_operand" "=w")
945+ (match_operand:VDQW 1 "s_register_operand" "0")
946+ (match_operand:VDQW 2 "s_register_operand" "w")
947+ (match_operand:VDQW 3 "s_register_operand" "w")
948+ (match_operand:SI 4 "immediate_operand" "i")]
949+ "TARGET_NEON"
950+{
951+ if (!<Is_float_mode> || flag_unsafe_math_optimizations)
952+ emit_insn (gen_mul<mode>3add<mode>_neon (operands[0], operands[1],
953+ operands[2], operands[3]));
954+ else
955+ emit_insn (gen_neon_vmla<mode>_unspec (operands[0], operands[1],
956+ operands[2], operands[3]));
957+ DONE;
958+})
959+
960+; Used for intrinsics when flag_unsafe_math_optimizations is false.
961+
962+(define_insn "neon_vmla<mode>_unspec"
963+ [(set (match_operand:VDQ 0 "s_register_operand" "=w")
964+ (unspec:VDQ [(match_operand:VDQ 1 "s_register_operand" "0")
965+ (match_operand:VDQ 2 "s_register_operand" "w")
966+ (match_operand:VDQ 3 "s_register_operand" "w")]
967+ UNSPEC_VMLA))]
968 "TARGET_NEON"
969 "vmla.<V_if_elem>\t%<V_reg>0, %<V_reg>2, %<V_reg>3"
970 [(set (attr "neon_type")
971@@ -1850,13 +1937,31 @@
972 (const_string "neon_mla_ddd_32_qqd_16_ddd_32_scalar_qdd_64_32_long_scalar_qdd_64_32_long")))]
973 )
974
975-(define_insn "neon_vmls<mode>"
976- [(set (match_operand:VDQW 0 "s_register_operand" "=w")
977- (unspec:VDQW [(match_operand:VDQW 1 "s_register_operand" "0")
978- (match_operand:VDQW 2 "s_register_operand" "w")
979- (match_operand:VDQW 3 "s_register_operand" "w")
980- (match_operand:SI 4 "immediate_operand" "i")]
981- UNSPEC_VMLS))]
982+(define_expand "neon_vmls<mode>"
983+ [(match_operand:VDQW 0 "s_register_operand" "=w")
984+ (match_operand:VDQW 1 "s_register_operand" "0")
985+ (match_operand:VDQW 2 "s_register_operand" "w")
986+ (match_operand:VDQW 3 "s_register_operand" "w")
987+ (match_operand:SI 4 "immediate_operand" "i")]
988+ "TARGET_NEON"
989+{
990+ if (!<Is_float_mode> || flag_unsafe_math_optimizations)
991+ emit_insn (gen_mul<mode>3neg<mode>add<mode>_neon (operands[0],
992+ operands[1], operands[2], operands[3]));
993+ else
994+ emit_insn (gen_neon_vmls<mode>_unspec (operands[0], operands[1],
995+ operands[2], operands[3]));
996+ DONE;
997+})
998+
999+; Used for intrinsics when flag_unsafe_math_optimizations is false.
1000+
1001+(define_insn "neon_vmls<mode>_unspec"
1002+ [(set (match_operand:VDQ 0 "s_register_operand" "=w")
1003+ (unspec:VDQ [(match_operand:VDQ 1 "s_register_operand" "0")
1004+ (match_operand:VDQ 2 "s_register_operand" "w")
1005+ (match_operand:VDQ 3 "s_register_operand" "w")]
1006+ UNSPEC_VMLS))]
1007 "TARGET_NEON"
1008 "vmls.<V_if_elem>\t%<V_reg>0, %<V_reg>2, %<V_reg>3"
1009 [(set (attr "neon_type")
1010@@ -1966,11 +2071,27 @@
1011 (const_string "neon_mul_qdd_64_32_long_qqd_16_ddd_32_scalar_64_32_long_scalar")))]
1012 )
1013
1014-(define_insn "neon_vsub<mode>"
1015+(define_expand "neon_vsub<mode>"
1016+ [(match_operand:VDQX 0 "s_register_operand" "=w")
1017+ (match_operand:VDQX 1 "s_register_operand" "w")
1018+ (match_operand:VDQX 2 "s_register_operand" "w")
1019+ (match_operand:SI 3 "immediate_operand" "i")]
1020+ "TARGET_NEON"
1021+{
1022+ if (!<Is_float_mode> || flag_unsafe_math_optimizations)
1023+ emit_insn (gen_sub<mode>3 (operands[0], operands[1], operands[2]));
1024+ else
1025+ emit_insn (gen_neon_vsub<mode>_unspec (operands[0], operands[1],
1026+ operands[2]));
1027+ DONE;
1028+})
1029+
1030+; Used for intrinsics when flag_unsafe_math_optimizations is false.
1031+
1032+(define_insn "neon_vsub<mode>_unspec"
1033 [(set (match_operand:VDQX 0 "s_register_operand" "=w")
1034 (unspec:VDQX [(match_operand:VDQX 1 "s_register_operand" "w")
1035- (match_operand:VDQX 2 "s_register_operand" "w")
1036- (match_operand:SI 3 "immediate_operand" "i")]
1037+ (match_operand:VDQX 2 "s_register_operand" "w")]
1038 UNSPEC_VSUB))]
1039 "TARGET_NEON"
1040 "vsub.<V_if_elem>\t%<V_reg>0, %<V_reg>1, %<V_reg>2"
1041@@ -2153,11 +2274,11 @@
1042
1043 (define_insn "neon_vaba<mode>"
1044 [(set (match_operand:VDQIW 0 "s_register_operand" "=w")
1045- (unspec:VDQIW [(match_operand:VDQIW 1 "s_register_operand" "0")
1046- (match_operand:VDQIW 2 "s_register_operand" "w")
1047- (match_operand:VDQIW 3 "s_register_operand" "w")
1048- (match_operand:SI 4 "immediate_operand" "i")]
1049- UNSPEC_VABA))]
1050+ (plus:VDQIW (match_operand:VDQIW 1 "s_register_operand" "0")
1051+ (unspec:VDQIW [(match_operand:VDQIW 2 "s_register_operand" "w")
1052+ (match_operand:VDQIW 3 "s_register_operand" "w")
1053+ (match_operand:SI 4 "immediate_operand" "i")]
1054+ UNSPEC_VABD)))]
1055 "TARGET_NEON"
1056 "vaba.%T4%#<V_sz_elem>\t%<V_reg>0, %<V_reg>2, %<V_reg>3"
1057 [(set (attr "neon_type")
1058@@ -2167,11 +2288,11 @@
1059
1060 (define_insn "neon_vabal<mode>"
1061 [(set (match_operand:<V_widen> 0 "s_register_operand" "=w")
1062- (unspec:<V_widen> [(match_operand:<V_widen> 1 "s_register_operand" "0")
1063- (match_operand:VW 2 "s_register_operand" "w")
1064- (match_operand:VW 3 "s_register_operand" "w")
1065- (match_operand:SI 4 "immediate_operand" "i")]
1066- UNSPEC_VABAL))]
1067+ (plus:<V_widen> (match_operand:<V_widen> 1 "s_register_operand" "0")
1068+ (unspec:<V_widen> [(match_operand:VW 2 "s_register_operand" "w")
1069+ (match_operand:VW 3 "s_register_operand" "w")
1070+ (match_operand:SI 4 "immediate_operand" "i")]
1071+ UNSPEC_VABDL)))]
1072 "TARGET_NEON"
1073 "vabal.%T4%#<V_sz_elem>\t%q0, %P2, %P3"
1074 [(set_attr "neon_type" "neon_vaba")]
1075@@ -2302,22 +2423,15 @@
1076 (const_string "neon_fp_vrecps_vrsqrts_qqq")))]
1077 )
1078
1079-(define_insn "neon_vabs<mode>"
1080- [(set (match_operand:VDQW 0 "s_register_operand" "=w")
1081- (unspec:VDQW [(match_operand:VDQW 1 "s_register_operand" "w")
1082- (match_operand:SI 2 "immediate_operand" "i")]
1083- UNSPEC_VABS))]
1084+(define_expand "neon_vabs<mode>"
1085+ [(match_operand:VDQW 0 "s_register_operand" "")
1086+ (match_operand:VDQW 1 "s_register_operand" "")
1087+ (match_operand:SI 2 "immediate_operand" "")]
1088 "TARGET_NEON"
1089- "vabs.<V_s_elem>\t%<V_reg>0, %<V_reg>1"
1090- [(set (attr "neon_type")
1091- (if_then_else (ior (ne (symbol_ref "<Is_float_mode>") (const_int 0))
1092- (ne (symbol_ref "<Is_float_mode>") (const_int 0)))
1093- (if_then_else
1094- (ne (symbol_ref "<Is_d_reg>") (const_int 0))
1095- (const_string "neon_fp_vadd_ddd_vabs_dd")
1096- (const_string "neon_fp_vadd_qqq_vabs_qq"))
1097- (const_string "neon_vqneg_vqabs")))]
1098-)
1099+{
1100+ emit_insn (gen_abs<mode>2 (operands[0], operands[1]));
1101+ DONE;
1102+})
1103
1104 (define_insn "neon_vqabs<mode>"
1105 [(set (match_operand:VDQIW 0 "s_register_operand" "=w")
1106@@ -2359,26 +2473,42 @@
1107 [(set_attr "neon_type" "neon_int_1")]
1108 )
1109
1110-(define_insn "neon_vclz<mode>"
1111+(define_insn "clz<mode>2"
1112 [(set (match_operand:VDQIW 0 "s_register_operand" "=w")
1113- (unspec:VDQIW [(match_operand:VDQIW 1 "s_register_operand" "w")
1114- (match_operand:SI 2 "immediate_operand" "i")]
1115- UNSPEC_VCLZ))]
1116+ (clz:VDQIW (match_operand:VDQIW 1 "s_register_operand" "w")))]
1117 "TARGET_NEON"
1118 "vclz.<V_if_elem>\t%<V_reg>0, %<V_reg>1"
1119 [(set_attr "neon_type" "neon_int_1")]
1120 )
1121
1122-(define_insn "neon_vcnt<mode>"
1123+(define_expand "neon_vclz<mode>"
1124+ [(match_operand:VDQIW 0 "s_register_operand" "")
1125+ (match_operand:VDQIW 1 "s_register_operand" "")
1126+ (match_operand:SI 2 "immediate_operand" "")]
1127+ "TARGET_NEON"
1128+{
1129+ emit_insn (gen_clz<mode>2 (operands[0], operands[1]));
1130+ DONE;
1131+})
1132+
1133+(define_insn "popcount<mode>2"
1134 [(set (match_operand:VE 0 "s_register_operand" "=w")
1135- (unspec:VE [(match_operand:VE 1 "s_register_operand" "w")
1136- (match_operand:SI 2 "immediate_operand" "i")]
1137- UNSPEC_VCNT))]
1138+ (popcount:VE (match_operand:VE 1 "s_register_operand" "w")))]
1139 "TARGET_NEON"
1140 "vcnt.<V_sz_elem>\t%<V_reg>0, %<V_reg>1"
1141 [(set_attr "neon_type" "neon_int_1")]
1142 )
1143
1144+(define_expand "neon_vcnt<mode>"
1145+ [(match_operand:VE 0 "s_register_operand" "=w")
1146+ (match_operand:VE 1 "s_register_operand" "w")
1147+ (match_operand:SI 2 "immediate_operand" "i")]
1148+ "TARGET_NEON"
1149+{
1150+ emit_insn (gen_popcount<mode>2 (operands[0], operands[1]));
1151+ DONE;
1152+})
1153+
1154 (define_insn "neon_vrecpe<mode>"
1155 [(set (match_operand:V32 0 "s_register_operand" "=w")
1156 (unspec:V32 [(match_operand:V32 1 "s_register_operand" "w")
1157@@ -2555,126 +2685,65 @@
1158 ; Operand 3 (info word) is ignored because it does nothing useful with 64-bit
1159 ; elements.
1160
1161-(define_insn "neon_vget_lanedi"
1162- [(set (match_operand:DI 0 "s_register_operand" "=r")
1163- (unspec:DI [(match_operand:DI 1 "s_register_operand" "w")
1164- (match_operand:SI 2 "immediate_operand" "i")
1165- (match_operand:SI 3 "immediate_operand" "i")]
1166- UNSPEC_VGET_LANE))]
1167+(define_expand "neon_vget_lanedi"
1168+ [(match_operand:DI 0 "s_register_operand" "=r")
1169+ (match_operand:DI 1 "s_register_operand" "w")
1170+ (match_operand:SI 2 "immediate_operand" "i")
1171+ (match_operand:SI 3 "immediate_operand" "i")]
1172 "TARGET_NEON"
1173 {
1174 neon_lane_bounds (operands[2], 0, 1);
1175- return "vmov%?\t%Q0, %R0, %P1 @ di";
1176-}
1177- [(set_attr "predicable" "yes")
1178- (set_attr "neon_type" "neon_bp_simple")]
1179-)
1180+ emit_move_insn (operands[0], operands[1]);
1181+ DONE;
1182+})
1183
1184-(define_insn "neon_vget_lanev2di"
1185- [(set (match_operand:DI 0 "s_register_operand" "=r")
1186- (unspec:DI [(match_operand:V2DI 1 "s_register_operand" "w")
1187- (match_operand:SI 2 "immediate_operand" "i")
1188- (match_operand:SI 3 "immediate_operand" "i")]
1189- UNSPEC_VGET_LANE))]
1190+(define_expand "neon_vget_lanev2di"
1191+ [(match_operand:DI 0 "s_register_operand" "=r")
1192+ (match_operand:V2DI 1 "s_register_operand" "w")
1193+ (match_operand:SI 2 "immediate_operand" "i")
1194+ (match_operand:SI 3 "immediate_operand" "i")]
1195 "TARGET_NEON"
1196 {
1197- rtx ops[2];
1198- unsigned int regno = REGNO (operands[1]);
1199- unsigned int elt = INTVAL (operands[2]);
1200-
1201 neon_lane_bounds (operands[2], 0, 2);
1202-
1203- ops[0] = operands[0];
1204- ops[1] = gen_rtx_REG (DImode, regno + 2 * elt);
1205- output_asm_insn ("vmov%?\t%Q0, %R0, %P1 @ v2di", ops);
1206-
1207- return "";
1208-}
1209- [(set_attr "predicable" "yes")
1210- (set_attr "neon_type" "neon_bp_simple")]
1211-)
1212-
1213-(define_insn "neon_vset_lane<mode>"
1214- [(set (match_operand:VD 0 "s_register_operand" "=w")
1215- (unspec:VD [(match_operand:<V_elem> 1 "s_register_operand" "r")
1216- (match_operand:VD 2 "s_register_operand" "0")
1217- (match_operand:SI 3 "immediate_operand" "i")]
1218- UNSPEC_VSET_LANE))]
1219+ emit_insn (gen_vec_extractv2di (operands[0], operands[1], operands[2]));
1220+ DONE;
1221+})
1222+
1223+(define_expand "neon_vset_lane<mode>"
1224+ [(match_operand:VDQ 0 "s_register_operand" "=w")
1225+ (match_operand:<V_elem> 1 "s_register_operand" "r")
1226+ (match_operand:VDQ 2 "s_register_operand" "0")
1227+ (match_operand:SI 3 "immediate_operand" "i")]
1228 "TARGET_NEON"
1229 {
1230+ unsigned int elt = INTVAL (operands[3]);
1231 neon_lane_bounds (operands[3], 0, GET_MODE_NUNITS (<MODE>mode));
1232- return "vmov%?.<V_sz_elem>\t%P0[%c3], %1";
1233-}
1234- [(set_attr "predicable" "yes")
1235- (set_attr "neon_type" "neon_bp_simple")]
1236-)
1237+
1238+ if (BYTES_BIG_ENDIAN)
1239+ {
1240+ unsigned int reg_nelts
1241+ = 64 / GET_MODE_BITSIZE (GET_MODE_INNER (<MODE>mode));
1242+ elt ^= reg_nelts - 1;
1243+ }
1244+
1245+ emit_insn (gen_vec_set<mode>_internal (operands[0], operands[1],
1246+ GEN_INT (1 << elt), operands[2]));
1247+ DONE;
1248+})
1249
1250 ; See neon_vget_lanedi comment for reasons operands 2 & 3 are ignored.
1251
1252-(define_insn "neon_vset_lanedi"
1253- [(set (match_operand:DI 0 "s_register_operand" "=w")
1254- (unspec:DI [(match_operand:DI 1 "s_register_operand" "r")
1255- (match_operand:DI 2 "s_register_operand" "0")
1256- (match_operand:SI 3 "immediate_operand" "i")]
1257- UNSPEC_VSET_LANE))]
1258+(define_expand "neon_vset_lanedi"
1259+ [(match_operand:DI 0 "s_register_operand" "=w")
1260+ (match_operand:DI 1 "s_register_operand" "r")
1261+ (match_operand:DI 2 "s_register_operand" "0")
1262+ (match_operand:SI 3 "immediate_operand" "i")]
1263 "TARGET_NEON"
1264 {
1265 neon_lane_bounds (operands[3], 0, 1);
1266- return "vmov%?\t%P0, %Q1, %R1 @ di";
1267-}
1268- [(set_attr "predicable" "yes")
1269- (set_attr "neon_type" "neon_bp_simple")]
1270-)
1271-
1272-(define_insn "neon_vset_lane<mode>"
1273- [(set (match_operand:VQ 0 "s_register_operand" "=w")
1274- (unspec:VQ [(match_operand:<V_elem> 1 "s_register_operand" "r")
1275- (match_operand:VQ 2 "s_register_operand" "0")
1276- (match_operand:SI 3 "immediate_operand" "i")]
1277- UNSPEC_VSET_LANE))]
1278- "TARGET_NEON"
1279-{
1280- rtx ops[4];
1281- unsigned int regno = REGNO (operands[0]);
1282- unsigned int halfelts = GET_MODE_NUNITS (<MODE>mode) / 2;
1283- unsigned int elt = INTVAL (operands[3]);
1284-
1285- neon_lane_bounds (operands[3], 0, halfelts * 2);
1286-
1287- ops[0] = gen_rtx_REG (<V_HALF>mode, regno + 2 * (elt / halfelts));
1288- ops[1] = operands[1];
1289- ops[2] = GEN_INT (elt % halfelts);
1290- output_asm_insn ("vmov%?.<V_sz_elem>\t%P0[%c2], %1", ops);
1291-
1292- return "";
1293-}
1294- [(set_attr "predicable" "yes")
1295- (set_attr "neon_type" "neon_bp_simple")]
1296-)
1297-
1298-(define_insn "neon_vset_lanev2di"
1299- [(set (match_operand:V2DI 0 "s_register_operand" "=w")
1300- (unspec:V2DI [(match_operand:DI 1 "s_register_operand" "r")
1301- (match_operand:V2DI 2 "s_register_operand" "0")
1302- (match_operand:SI 3 "immediate_operand" "i")]
1303- UNSPEC_VSET_LANE))]
1304- "TARGET_NEON"
1305-{
1306- rtx ops[2];
1307- unsigned int regno = REGNO (operands[0]);
1308- unsigned int elt = INTVAL (operands[3]);
1309-
1310- neon_lane_bounds (operands[3], 0, 2);
1311-
1312- ops[0] = gen_rtx_REG (DImode, regno + 2 * elt);
1313- ops[1] = operands[1];
1314- output_asm_insn ("vmov%?\t%P0, %Q1, %R1 @ v2di", ops);
1315-
1316- return "";
1317-}
1318- [(set_attr "predicable" "yes")
1319- (set_attr "neon_type" "neon_bp_simple")]
1320-)
1321+ emit_move_insn (operands[0], operands[1]);
1322+ DONE;
1323+})
1324
1325 (define_expand "neon_vcreate<mode>"
1326 [(match_operand:VDX 0 "s_register_operand" "")
1327@@ -2688,8 +2757,7 @@
1328
1329 (define_insn "neon_vdup_n<mode>"
1330 [(set (match_operand:VX 0 "s_register_operand" "=w")
1331- (unspec:VX [(match_operand:<V_elem> 1 "s_register_operand" "r")]
1332- UNSPEC_VDUP_N))]
1333+ (vec_duplicate:VX (match_operand:<V_elem> 1 "s_register_operand" "r")))]
1334 "TARGET_NEON"
1335 "vdup%?.<V_sz_elem>\t%<V_reg>0, %1"
1336 ;; Assume this schedules like vmov.
1337@@ -2699,8 +2767,7 @@
1338
1339 (define_insn "neon_vdup_n<mode>"
1340 [(set (match_operand:V32 0 "s_register_operand" "=w,w")
1341- (unspec:V32 [(match_operand:<V_elem> 1 "s_register_operand" "r,t")]
1342- UNSPEC_VDUP_N))]
1343+ (vec_duplicate:V32 (match_operand:<V_elem> 1 "s_register_operand" "r,t")))]
1344 "TARGET_NEON"
1345 "@
1346 vdup%?.<V_sz_elem>\t%<V_reg>0, %1
1347@@ -2710,61 +2777,76 @@
1348 (set_attr "neon_type" "neon_bp_simple")]
1349 )
1350
1351-(define_insn "neon_vdup_ndi"
1352- [(set (match_operand:DI 0 "s_register_operand" "=w")
1353- (unspec:DI [(match_operand:DI 1 "s_register_operand" "r")]
1354- UNSPEC_VDUP_N))]
1355+(define_expand "neon_vdup_ndi"
1356+ [(match_operand:DI 0 "s_register_operand" "=w")
1357+ (match_operand:DI 1 "s_register_operand" "r")]
1358 "TARGET_NEON"
1359- "vmov%?\t%P0, %Q1, %R1"
1360- [(set_attr "predicable" "yes")
1361- (set_attr "neon_type" "neon_bp_simple")]
1362+{
1363+ emit_move_insn (operands[0], operands[1]);
1364+ DONE;
1365+}
1366 )
1367
1368 (define_insn "neon_vdup_nv2di"
1369- [(set (match_operand:V2DI 0 "s_register_operand" "=w")
1370- (unspec:V2DI [(match_operand:DI 1 "s_register_operand" "r")]
1371- UNSPEC_VDUP_N))]
1372+ [(set (match_operand:V2DI 0 "s_register_operand" "=w,w")
1373+ (vec_duplicate:V2DI (match_operand:DI 1 "s_register_operand" "r,w")))]
1374 "TARGET_NEON"
1375- "vmov%?\t%e0, %Q1, %R1\;vmov%?\t%f0, %Q1, %R1"
1376+ "@
1377+ vmov%?\t%e0, %Q1, %R1\;vmov%?\t%f0, %Q1, %R1
1378+ vmov%?\t%e0, %P1\;vmov%?\t%f0, %P1"
1379 [(set_attr "predicable" "yes")
1380 (set_attr "length" "8")
1381 (set_attr "neon_type" "neon_bp_simple")]
1382 )
1383
1384-(define_insn "neon_vdup_lane<mode>"
1385- [(set (match_operand:VD 0 "s_register_operand" "=w")
1386- (unspec:VD [(match_operand:VD 1 "s_register_operand" "w")
1387- (match_operand:SI 2 "immediate_operand" "i")]
1388- UNSPEC_VDUP_LANE))]
1389+(define_insn "neon_vdup_lane<mode>_internal"
1390+ [(set (match_operand:VDQW 0 "s_register_operand" "=w")
1391+ (vec_duplicate:VDQW
1392+ (vec_select:<V_elem>
1393+ (match_operand:<V_double_vector_mode> 1 "s_register_operand" "w")
1394+ (parallel [(match_operand:SI 2 "immediate_operand" "i")]))))]
1395 "TARGET_NEON"
1396 {
1397- neon_lane_bounds (operands[2], 0, GET_MODE_NUNITS (<MODE>mode));
1398- return "vdup.<V_sz_elem>\t%P0, %P1[%c2]";
1399+ if (BYTES_BIG_ENDIAN)
1400+ {
1401+ int elt = INTVAL (operands[2]);
1402+ elt = GET_MODE_NUNITS (<V_double_vector_mode>mode) - 1 - elt;
1403+ operands[2] = GEN_INT (elt);
1404+ }
1405+ if (<Is_d_reg>)
1406+ return "vdup.<V_sz_elem>\t%P0, %P1[%c2]";
1407+ else
1408+ return "vdup.<V_sz_elem>\t%q0, %P1[%c2]";
1409 }
1410 ;; Assume this schedules like vmov.
1411 [(set_attr "neon_type" "neon_bp_simple")]
1412 )
1413
1414-(define_insn "neon_vdup_lane<mode>"
1415- [(set (match_operand:VQ 0 "s_register_operand" "=w")
1416- (unspec:VQ [(match_operand:<V_HALF> 1 "s_register_operand" "w")
1417- (match_operand:SI 2 "immediate_operand" "i")]
1418- UNSPEC_VDUP_LANE))]
1419+(define_expand "neon_vdup_lane<mode>"
1420+ [(match_operand:VDQW 0 "s_register_operand" "=w")
1421+ (match_operand:<V_double_vector_mode> 1 "s_register_operand" "w")
1422+ (match_operand:SI 2 "immediate_operand" "i")]
1423 "TARGET_NEON"
1424 {
1425- neon_lane_bounds (operands[2], 0, GET_MODE_NUNITS (<V_HALF>mode));
1426- return "vdup.<V_sz_elem>\t%q0, %P1[%c2]";
1427-}
1428- ;; Assume this schedules like vmov.
1429- [(set_attr "neon_type" "neon_bp_simple")]
1430-)
1431+ neon_lane_bounds (operands[2], 0, GET_MODE_NUNITS (<V_double_vector_mode>mode));
1432+ if (BYTES_BIG_ENDIAN)
1433+ {
1434+ unsigned int elt = INTVAL (operands[2]);
1435+ unsigned int reg_nelts
1436+ = 64 / GET_MODE_BITSIZE (GET_MODE_INNER (<V_double_vector_mode>mode));
1437+ elt ^= reg_nelts - 1;
1438+ operands[2] = GEN_INT (elt);
1439+ }
1440+ emit_insn (gen_neon_vdup_lane<mode>_internal (operands[0], operands[1],
1441+ operands[2]));
1442+ DONE;
1443+})
1444
1445 ; Scalar index is ignored, since only zero is valid here.
1446 (define_expand "neon_vdup_lanedi"
1447- [(set (match_operand:DI 0 "s_register_operand" "=w")
1448- (unspec:DI [(match_operand:DI 1 "s_register_operand" "w")
1449- (match_operand:SI 2 "immediate_operand" "i")]
1450- UNSPEC_VDUP_LANE))]
1451+ [(match_operand:DI 0 "s_register_operand" "=w")
1452+ (match_operand:DI 1 "s_register_operand" "w")
1453+ (match_operand:SI 2 "immediate_operand" "i")]
1454 "TARGET_NEON"
1455 {
1456 neon_lane_bounds (operands[2], 0, 1);
1457@@ -2772,20 +2854,17 @@
1458 DONE;
1459 })
1460
1461-; Likewise.
1462-(define_insn "neon_vdup_lanev2di"
1463- [(set (match_operand:V2DI 0 "s_register_operand" "=w")
1464- (unspec:V2DI [(match_operand:DI 1 "s_register_operand" "w")
1465- (match_operand:SI 2 "immediate_operand" "i")]
1466- UNSPEC_VDUP_LANE))]
1467+; Likewise for v2di, as the DImode second operand has only a single element.
1468+(define_expand "neon_vdup_lanev2di"
1469+ [(match_operand:V2DI 0 "s_register_operand" "=w")
1470+ (match_operand:DI 1 "s_register_operand" "w")
1471+ (match_operand:SI 2 "immediate_operand" "i")]
1472 "TARGET_NEON"
1473 {
1474 neon_lane_bounds (operands[2], 0, 1);
1475- return "vmov\t%e0, %P1\;vmov\t%f0, %P1";
1476-}
1477- [(set_attr "length" "8")
1478- (set_attr "neon_type" "neon_bp_simple")]
1479-)
1480+ emit_insn (gen_neon_vdup_nv2di (operands[0], operands[1]));
1481+ DONE;
1482+})
1483
1484 ;; In this insn, operand 1 should be low, and operand 2 the high part of the
1485 ;; dest vector.
1486@@ -2796,9 +2875,8 @@
1487
1488 (define_insn "neon_vcombine<mode>"
1489 [(set (match_operand:<V_DOUBLE> 0 "s_register_operand" "=w")
1490- (unspec:<V_DOUBLE> [(match_operand:VDX 1 "s_register_operand" "w")
1491- (match_operand:VDX 2 "s_register_operand" "w")]
1492- UNSPEC_VCOMBINE))]
1493+ (vec_concat:<V_DOUBLE> (match_operand:VDX 1 "s_register_operand" "w")
1494+ (match_operand:VDX 2 "s_register_operand" "w")))]
1495 "TARGET_NEON"
1496 {
1497 int dest = REGNO (operands[0]);
1498@@ -2838,27 +2916,171 @@
1499 (set_attr "neon_type" "neon_bp_simple")]
1500 )
1501
1502-(define_insn "neon_vget_high<mode>"
1503- [(set (match_operand:<V_HALF> 0 "s_register_operand" "=w")
1504- (unspec:<V_HALF> [(match_operand:VQX 1 "s_register_operand" "w")]
1505- UNSPEC_VGET_HIGH))]
1506- "TARGET_NEON"
1507-{
1508- int dest = REGNO (operands[0]);
1509- int src = REGNO (operands[1]);
1510-
1511- if (dest != src + 2)
1512- return "vmov\t%P0, %f1";
1513- else
1514- return "";
1515-}
1516- [(set_attr "neon_type" "neon_bp_simple")]
1517-)
1518-
1519-(define_insn "neon_vget_low<mode>"
1520- [(set (match_operand:<V_HALF> 0 "s_register_operand" "=w")
1521- (unspec:<V_HALF> [(match_operand:VQX 1 "s_register_operand" "w")]
1522- UNSPEC_VGET_LOW))]
1523+(define_insn "neon_vget_highv16qi"
1524+ [(set (match_operand:V8QI 0 "s_register_operand" "=w")
1525+ (vec_select:V8QI (match_operand:V16QI 1 "s_register_operand" "w")
1526+ (parallel [(const_int 8) (const_int 9)
1527+ (const_int 10) (const_int 11)
1528+ (const_int 12) (const_int 13)
1529+ (const_int 14) (const_int 15)])))]
1530+ "TARGET_NEON"
1531+{
1532+ int dest = REGNO (operands[0]);
1533+ int src = REGNO (operands[1]);
1534+
1535+ if (dest != src + 2)
1536+ return "vmov\t%P0, %f1";
1537+ else
1538+ return "";
1539+}
1540+ [(set_attr "neon_type" "neon_bp_simple")]
1541+)
1542+
1543+(define_insn "neon_vget_highv8hi"
1544+ [(set (match_operand:V4HI 0 "s_register_operand" "=w")
1545+ (vec_select:V4HI (match_operand:V8HI 1 "s_register_operand" "w")
1546+ (parallel [(const_int 4) (const_int 5)
1547+ (const_int 6) (const_int 7)])))]
1548+ "TARGET_NEON"
1549+{
1550+ int dest = REGNO (operands[0]);
1551+ int src = REGNO (operands[1]);
1552+
1553+ if (dest != src + 2)
1554+ return "vmov\t%P0, %f1";
1555+ else
1556+ return "";
1557+}
1558+ [(set_attr "neon_type" "neon_bp_simple")]
1559+)
1560+
1561+(define_insn "neon_vget_highv4si"
1562+ [(set (match_operand:V2SI 0 "s_register_operand" "=w")
1563+ (vec_select:V2SI (match_operand:V4SI 1 "s_register_operand" "w")
1564+ (parallel [(const_int 2) (const_int 3)])))]
1565+ "TARGET_NEON"
1566+{
1567+ int dest = REGNO (operands[0]);
1568+ int src = REGNO (operands[1]);
1569+
1570+ if (dest != src + 2)
1571+ return "vmov\t%P0, %f1";
1572+ else
1573+ return "";
1574+}
1575+ [(set_attr "neon_type" "neon_bp_simple")]
1576+)
1577+
1578+(define_insn "neon_vget_highv4sf"
1579+ [(set (match_operand:V2SF 0 "s_register_operand" "=w")
1580+ (vec_select:V2SF (match_operand:V4SF 1 "s_register_operand" "w")
1581+ (parallel [(const_int 2) (const_int 3)])))]
1582+ "TARGET_NEON"
1583+{
1584+ int dest = REGNO (operands[0]);
1585+ int src = REGNO (operands[1]);
1586+
1587+ if (dest != src + 2)
1588+ return "vmov\t%P0, %f1";
1589+ else
1590+ return "";
1591+}
1592+ [(set_attr "neon_type" "neon_bp_simple")]
1593+)
1594+
1595+(define_insn "neon_vget_highv2di"
1596+ [(set (match_operand:DI 0 "s_register_operand" "=w")
1597+ (vec_select:DI (match_operand:V2DI 1 "s_register_operand" "w")
1598+ (parallel [(const_int 1)])))]
1599+ "TARGET_NEON"
1600+{
1601+ int dest = REGNO (operands[0]);
1602+ int src = REGNO (operands[1]);
1603+
1604+ if (dest != src + 2)
1605+ return "vmov\t%P0, %f1";
1606+ else
1607+ return "";
1608+}
1609+ [(set_attr "neon_type" "neon_bp_simple")]
1610+)
1611+
1612+(define_insn "neon_vget_lowv16qi"
1613+ [(set (match_operand:V8QI 0 "s_register_operand" "=w")
1614+ (vec_select:V8QI (match_operand:V16QI 1 "s_register_operand" "w")
1615+ (parallel [(const_int 0) (const_int 1)
1616+ (const_int 2) (const_int 3)
1617+ (const_int 4) (const_int 5)
1618+ (const_int 6) (const_int 7)])))]
1619+ "TARGET_NEON"
1620+{
1621+ int dest = REGNO (operands[0]);
1622+ int src = REGNO (operands[1]);
1623+
1624+ if (dest != src)
1625+ return "vmov\t%P0, %e1";
1626+ else
1627+ return "";
1628+}
1629+ [(set_attr "neon_type" "neon_bp_simple")]
1630+)
1631+
1632+(define_insn "neon_vget_lowv8hi"
1633+ [(set (match_operand:V4HI 0 "s_register_operand" "=w")
1634+ (vec_select:V4HI (match_operand:V8HI 1 "s_register_operand" "w")
1635+ (parallel [(const_int 0) (const_int 1)
1636+ (const_int 2) (const_int 3)])))]
1637+ "TARGET_NEON"
1638+{
1639+ int dest = REGNO (operands[0]);
1640+ int src = REGNO (operands[1]);
1641+
1642+ if (dest != src)
1643+ return "vmov\t%P0, %e1";
1644+ else
1645+ return "";
1646+}
1647+ [(set_attr "neon_type" "neon_bp_simple")]
1648+)
1649+
1650+(define_insn "neon_vget_lowv4si"
1651+ [(set (match_operand:V2SI 0 "s_register_operand" "=w")
1652+ (vec_select:V2SI (match_operand:V4SI 1 "s_register_operand" "w")
1653+ (parallel [(const_int 0) (const_int 1)])))]
1654+ "TARGET_NEON"
1655+{
1656+ int dest = REGNO (operands[0]);
1657+ int src = REGNO (operands[1]);
1658+
1659+ if (dest != src)
1660+ return "vmov\t%P0, %e1";
1661+ else
1662+ return "";
1663+}
1664+ [(set_attr "neon_type" "neon_bp_simple")]
1665+)
1666+
1667+(define_insn "neon_vget_lowv4sf"
1668+ [(set (match_operand:V2SF 0 "s_register_operand" "=w")
1669+ (vec_select:V2SF (match_operand:V4SF 1 "s_register_operand" "w")
1670+ (parallel [(const_int 0) (const_int 1)])))]
1671+ "TARGET_NEON"
1672+{
1673+ int dest = REGNO (operands[0]);
1674+ int src = REGNO (operands[1]);
1675+
1676+ if (dest != src)
1677+ return "vmov\t%P0, %e1";
1678+ else
1679+ return "";
1680+}
1681+ [(set_attr "neon_type" "neon_bp_simple")]
1682+)
1683+
1684+(define_insn "neon_vget_lowv2di"
1685+ [(set (match_operand:DI 0 "s_register_operand" "=w")
1686+ (vec_select:DI (match_operand:V2DI 1 "s_register_operand" "w")
1687+ (parallel [(const_int 0)])))]
1688 "TARGET_NEON"
1689 {
1690 int dest = REGNO (operands[0]);
1691
1692=== modified file 'gcc/config/arm/neon.ml'
1693--- old/gcc/config/arm/neon.ml 2010-01-19 14:21:14 +0000
1694+++ new/gcc/config/arm/neon.ml 2010-07-29 15:59:12 +0000
1695@@ -709,7 +709,8 @@
1696 let ops =
1697 [
1698 (* Addition. *)
1699- Vadd, [], All (3, Dreg), "vadd", sign_invar_2, F32 :: su_8_64;
1700+ Vadd, [], All (3, Dreg), "vadd", sign_invar_2, F32 :: su_8_32;
1701+ Vadd, [No_op], All (3, Dreg), "vadd", sign_invar_2, [S64; U64];
1702 Vadd, [], All (3, Qreg), "vaddQ", sign_invar_2, F32 :: su_8_64;
1703 Vadd, [], Long, "vaddl", elts_same_2, su_8_32;
1704 Vadd, [], Wide, "vaddw", elts_same_2, su_8_32;
1705@@ -758,7 +759,8 @@
1706 Vmls, [Saturating; Doubling], Long, "vqdmlsl", elts_same_io, [S16; S32];
1707
1708 (* Subtraction. *)
1709- Vsub, [], All (3, Dreg), "vsub", sign_invar_2, F32 :: su_8_64;
1710+ Vsub, [], All (3, Dreg), "vsub", sign_invar_2, F32 :: su_8_32;
1711+ Vsub, [No_op], All (3, Dreg), "vsub", sign_invar_2, [S64; U64];
1712 Vsub, [], All (3, Qreg), "vsubQ", sign_invar_2, F32 :: su_8_64;
1713 Vsub, [], Long, "vsubl", elts_same_2, su_8_32;
1714 Vsub, [], Wide, "vsubw", elts_same_2, su_8_32;
1715@@ -967,7 +969,8 @@
1716 Use_operands [| Corereg; Dreg; Immed |],
1717 "vget_lane", get_lane, pf_su_8_32;
1718 Vget_lane,
1719- [InfoWord;
1720+ [No_op;
1721+ InfoWord;
1722 Disassembles_as [Use_operands [| Corereg; Corereg; Dreg |]];
1723 Instruction_name ["vmov"]; Const_valuator (fun _ -> 0)],
1724 Use_operands [| Corereg; Dreg; Immed |],
1725@@ -989,7 +992,8 @@
1726 Instruction_name ["vmov"]],
1727 Use_operands [| Dreg; Corereg; Dreg; Immed |], "vset_lane",
1728 set_lane, pf_su_8_32;
1729- Vset_lane, [Disassembles_as [Use_operands [| Dreg; Corereg; Corereg |]];
1730+ Vset_lane, [No_op;
1731+ Disassembles_as [Use_operands [| Dreg; Corereg; Corereg |]];
1732 Instruction_name ["vmov"]; Const_valuator (fun _ -> 0)],
1733 Use_operands [| Dreg; Corereg; Dreg; Immed |], "vset_lane",
1734 set_lane_notype, [S64; U64];
1735@@ -1017,7 +1021,8 @@
1736 Use_operands [| Dreg; Corereg |], "vdup_n", bits_1,
1737 pf_su_8_32;
1738 Vdup_n,
1739- [Instruction_name ["vmov"];
1740+ [No_op;
1741+ Instruction_name ["vmov"];
1742 Disassembles_as [Use_operands [| Dreg; Corereg; Corereg |]]],
1743 Use_operands [| Dreg; Corereg |], "vdup_n", notype_1,
1744 [S64; U64];
1745@@ -1028,7 +1033,8 @@
1746 Use_operands [| Qreg; Corereg |], "vdupQ_n", bits_1,
1747 pf_su_8_32;
1748 Vdup_n,
1749- [Instruction_name ["vmov"];
1750+ [No_op;
1751+ Instruction_name ["vmov"];
1752 Disassembles_as [Use_operands [| Dreg; Corereg; Corereg |];
1753 Use_operands [| Dreg; Corereg; Corereg |]]],
1754 Use_operands [| Qreg; Corereg |], "vdupQ_n", notype_1,
1755@@ -1043,7 +1049,8 @@
1756 Use_operands [| Dreg; Corereg |],
1757 "vmov_n", bits_1, pf_su_8_32;
1758 Vmov_n,
1759- [Builtin_name "vdup_n";
1760+ [No_op;
1761+ Builtin_name "vdup_n";
1762 Instruction_name ["vmov"];
1763 Disassembles_as [Use_operands [| Dreg; Corereg; Corereg |]]],
1764 Use_operands [| Dreg; Corereg |],
1765@@ -1056,7 +1063,8 @@
1766 Use_operands [| Qreg; Corereg |],
1767 "vmovQ_n", bits_1, pf_su_8_32;
1768 Vmov_n,
1769- [Builtin_name "vdupQ_n";
1770+ [No_op;
1771+ Builtin_name "vdupQ_n";
1772 Instruction_name ["vmov"];
1773 Disassembles_as [Use_operands [| Dreg; Corereg; Corereg |];
1774 Use_operands [| Dreg; Corereg; Corereg |]]],
1775@@ -1613,23 +1621,28 @@
1776 store_3, [P16; F32; U16; U32; S16; S32];
1777
1778 (* Logical operations. And. *)
1779- Vand, [], All (3, Dreg), "vand", notype_2, su_8_64;
1780+ Vand, [], All (3, Dreg), "vand", notype_2, su_8_32;
1781+ Vand, [No_op], All (3, Dreg), "vand", notype_2, [S64; U64];
1782 Vand, [], All (3, Qreg), "vandQ", notype_2, su_8_64;
1783
1784 (* Or. *)
1785- Vorr, [], All (3, Dreg), "vorr", notype_2, su_8_64;
1786+ Vorr, [], All (3, Dreg), "vorr", notype_2, su_8_32;
1787+ Vorr, [No_op], All (3, Dreg), "vorr", notype_2, [S64; U64];
1788 Vorr, [], All (3, Qreg), "vorrQ", notype_2, su_8_64;
1789
1790 (* Eor. *)
1791- Veor, [], All (3, Dreg), "veor", notype_2, su_8_64;
1792+ Veor, [], All (3, Dreg), "veor", notype_2, su_8_32;
1793+ Veor, [No_op], All (3, Dreg), "veor", notype_2, [S64; U64];
1794 Veor, [], All (3, Qreg), "veorQ", notype_2, su_8_64;
1795
1796 (* Bic (And-not). *)
1797- Vbic, [], All (3, Dreg), "vbic", notype_2, su_8_64;
1798+ Vbic, [], All (3, Dreg), "vbic", notype_2, su_8_32;
1799+ Vbic, [No_op], All (3, Dreg), "vbic", notype_2, [S64; U64];
1800 Vbic, [], All (3, Qreg), "vbicQ", notype_2, su_8_64;
1801
1802 (* Or-not. *)
1803- Vorn, [], All (3, Dreg), "vorn", notype_2, su_8_64;
1804+ Vorn, [], All (3, Dreg), "vorn", notype_2, su_8_32;
1805+ Vorn, [No_op], All (3, Dreg), "vorn", notype_2, [S64; U64];
1806 Vorn, [], All (3, Qreg), "vornQ", notype_2, su_8_64;
1807 ]
1808
1809
1810=== modified file 'gcc/config/arm/predicates.md'
1811--- old/gcc/config/arm/predicates.md 2009-07-15 09:12:22 +0000
1812+++ new/gcc/config/arm/predicates.md 2010-07-29 15:59:12 +0000
1813@@ -499,13 +499,15 @@
1814 (define_predicate "imm_for_neon_logic_operand"
1815 (match_code "const_vector")
1816 {
1817- return neon_immediate_valid_for_logic (op, mode, 0, NULL, NULL);
1818+ return (TARGET_NEON
1819+ && neon_immediate_valid_for_logic (op, mode, 0, NULL, NULL));
1820 })
1821
1822 (define_predicate "imm_for_neon_inv_logic_operand"
1823 (match_code "const_vector")
1824 {
1825- return neon_immediate_valid_for_logic (op, mode, 1, NULL, NULL);
1826+ return (TARGET_NEON
1827+ && neon_immediate_valid_for_logic (op, mode, 1, NULL, NULL));
1828 })
1829
1830 (define_predicate "neon_logic_op2"
1831
1832=== modified file 'gcc/doc/arm-neon-intrinsics.texi'
1833--- old/gcc/doc/arm-neon-intrinsics.texi 2009-11-18 17:06:46 +0000
1834+++ new/gcc/doc/arm-neon-intrinsics.texi 2010-07-29 15:59:12 +0000
1835@@ -43,20 +43,18 @@
1836
1837
1838 @itemize @bullet
1839+@item float32x2_t vadd_f32 (float32x2_t, float32x2_t)
1840+@*@emph{Form of expected instruction(s):} @code{vadd.f32 @var{d0}, @var{d0}, @var{d0}}
1841+@end itemize
1842+
1843+
1844+@itemize @bullet
1845 @item uint64x1_t vadd_u64 (uint64x1_t, uint64x1_t)
1846-@*@emph{Form of expected instruction(s):} @code{vadd.i64 @var{d0}, @var{d0}, @var{d0}}
1847 @end itemize
1848
1849
1850 @itemize @bullet
1851 @item int64x1_t vadd_s64 (int64x1_t, int64x1_t)
1852-@*@emph{Form of expected instruction(s):} @code{vadd.i64 @var{d0}, @var{d0}, @var{d0}}
1853-@end itemize
1854-
1855-
1856-@itemize @bullet
1857-@item float32x2_t vadd_f32 (float32x2_t, float32x2_t)
1858-@*@emph{Form of expected instruction(s):} @code{vadd.f32 @var{d0}, @var{d0}, @var{d0}}
1859 @end itemize
1860
1861
1862@@ -1013,20 +1011,18 @@
1863
1864
1865 @itemize @bullet
1866+@item float32x2_t vsub_f32 (float32x2_t, float32x2_t)
1867+@*@emph{Form of expected instruction(s):} @code{vsub.f32 @var{d0}, @var{d0}, @var{d0}}
1868+@end itemize
1869+
1870+
1871+@itemize @bullet
1872 @item uint64x1_t vsub_u64 (uint64x1_t, uint64x1_t)
1873-@*@emph{Form of expected instruction(s):} @code{vsub.i64 @var{d0}, @var{d0}, @var{d0}}
1874 @end itemize
1875
1876
1877 @itemize @bullet
1878 @item int64x1_t vsub_s64 (int64x1_t, int64x1_t)
1879-@*@emph{Form of expected instruction(s):} @code{vsub.i64 @var{d0}, @var{d0}, @var{d0}}
1880-@end itemize
1881-
1882-
1883-@itemize @bullet
1884-@item float32x2_t vsub_f32 (float32x2_t, float32x2_t)
1885-@*@emph{Form of expected instruction(s):} @code{vsub.f32 @var{d0}, @var{d0}, @var{d0}}
1886 @end itemize
1887
1888
1889@@ -4750,13 +4746,11 @@
1890
1891 @itemize @bullet
1892 @item uint64_t vget_lane_u64 (uint64x1_t, const int)
1893-@*@emph{Form of expected instruction(s):} @code{vmov @var{r0}, @var{r0}, @var{d0}}
1894 @end itemize
1895
1896
1897 @itemize @bullet
1898 @item int64_t vget_lane_s64 (int64x1_t, const int)
1899-@*@emph{Form of expected instruction(s):} @code{vmov @var{r0}, @var{r0}, @var{d0}}
1900 @end itemize
1901
1902
1903@@ -4886,13 +4880,11 @@
1904
1905 @itemize @bullet
1906 @item uint64x1_t vset_lane_u64 (uint64_t, uint64x1_t, const int)
1907-@*@emph{Form of expected instruction(s):} @code{vmov @var{d0}, @var{r0}, @var{r0}}
1908 @end itemize
1909
1910
1911 @itemize @bullet
1912 @item int64x1_t vset_lane_s64 (int64_t, int64x1_t, const int)
1913-@*@emph{Form of expected instruction(s):} @code{vmov @var{d0}, @var{r0}, @var{r0}}
1914 @end itemize
1915
1916
1917@@ -5081,13 +5073,11 @@
1918
1919 @itemize @bullet
1920 @item uint64x1_t vdup_n_u64 (uint64_t)
1921-@*@emph{Form of expected instruction(s):} @code{vmov @var{d0}, @var{r0}, @var{r0}}
1922 @end itemize
1923
1924
1925 @itemize @bullet
1926 @item int64x1_t vdup_n_s64 (int64_t)
1927-@*@emph{Form of expected instruction(s):} @code{vmov @var{d0}, @var{r0}, @var{r0}}
1928 @end itemize
1929
1930
1931@@ -5147,13 +5137,11 @@
1932
1933 @itemize @bullet
1934 @item uint64x2_t vdupq_n_u64 (uint64_t)
1935-@*@emph{Form of expected instruction(s):} @code{vmov @var{d0}, @var{r0}, @var{r0}}
1936 @end itemize
1937
1938
1939 @itemize @bullet
1940 @item int64x2_t vdupq_n_s64 (int64_t)
1941-@*@emph{Form of expected instruction(s):} @code{vmov @var{d0}, @var{r0}, @var{r0}}
1942 @end itemize
1943
1944
1945@@ -5213,13 +5201,11 @@
1946
1947 @itemize @bullet
1948 @item uint64x1_t vmov_n_u64 (uint64_t)
1949-@*@emph{Form of expected instruction(s):} @code{vmov @var{d0}, @var{r0}, @var{r0}}
1950 @end itemize
1951
1952
1953 @itemize @bullet
1954 @item int64x1_t vmov_n_s64 (int64_t)
1955-@*@emph{Form of expected instruction(s):} @code{vmov @var{d0}, @var{r0}, @var{r0}}
1956 @end itemize
1957
1958
1959@@ -5279,13 +5265,11 @@
1960
1961 @itemize @bullet
1962 @item uint64x2_t vmovq_n_u64 (uint64_t)
1963-@*@emph{Form of expected instruction(s):} @code{vmov @var{d0}, @var{r0}, @var{r0}}
1964 @end itemize
1965
1966
1967 @itemize @bullet
1968 @item int64x2_t vmovq_n_s64 (int64_t)
1969-@*@emph{Form of expected instruction(s):} @code{vmov @var{d0}, @var{r0}, @var{r0}}
1970 @end itemize
1971
1972
1973@@ -5572,18 +5556,6 @@
1974
1975
1976 @itemize @bullet
1977-@item uint64x1_t vget_low_u64 (uint64x2_t)
1978-@*@emph{Form of expected instruction(s):} @code{vmov @var{d0}, @var{d0}}
1979-@end itemize
1980-
1981-
1982-@itemize @bullet
1983-@item int64x1_t vget_low_s64 (int64x2_t)
1984-@*@emph{Form of expected instruction(s):} @code{vmov @var{d0}, @var{d0}}
1985-@end itemize
1986-
1987-
1988-@itemize @bullet
1989 @item float32x2_t vget_low_f32 (float32x4_t)
1990 @*@emph{Form of expected instruction(s):} @code{vmov @var{d0}, @var{d0}}
1991 @end itemize
1992@@ -5601,6 +5573,16 @@
1993 @end itemize
1994
1995
1996+@itemize @bullet
1997+@item uint64x1_t vget_low_u64 (uint64x2_t)
1998+@end itemize
1999+
2000+
2001+@itemize @bullet
2002+@item int64x1_t vget_low_s64 (int64x2_t)
2003+@end itemize
2004+
2005+
2006
2007
2008 @subsubsection Conversions
2009@@ -9727,13 +9709,11 @@
2010
2011 @itemize @bullet
2012 @item uint64x1_t vand_u64 (uint64x1_t, uint64x1_t)
2013-@*@emph{Form of expected instruction(s):} @code{vand @var{d0}, @var{d0}, @var{d0}}
2014 @end itemize
2015
2016
2017 @itemize @bullet
2018 @item int64x1_t vand_s64 (int64x1_t, int64x1_t)
2019-@*@emph{Form of expected instruction(s):} @code{vand @var{d0}, @var{d0}, @var{d0}}
2020 @end itemize
2021
2022
2023@@ -9827,13 +9807,11 @@
2024
2025 @itemize @bullet
2026 @item uint64x1_t vorr_u64 (uint64x1_t, uint64x1_t)
2027-@*@emph{Form of expected instruction(s):} @code{vorr @var{d0}, @var{d0}, @var{d0}}
2028 @end itemize
2029
2030
2031 @itemize @bullet
2032 @item int64x1_t vorr_s64 (int64x1_t, int64x1_t)
2033-@*@emph{Form of expected instruction(s):} @code{vorr @var{d0}, @var{d0}, @var{d0}}
2034 @end itemize
2035
2036
2037@@ -9927,13 +9905,11 @@
2038
2039 @itemize @bullet
2040 @item uint64x1_t veor_u64 (uint64x1_t, uint64x1_t)
2041-@*@emph{Form of expected instruction(s):} @code{veor @var{d0}, @var{d0}, @var{d0}}
2042 @end itemize
2043
2044
2045 @itemize @bullet
2046 @item int64x1_t veor_s64 (int64x1_t, int64x1_t)
2047-@*@emph{Form of expected instruction(s):} @code{veor @var{d0}, @var{d0}, @var{d0}}
2048 @end itemize
2049
2050
2051@@ -10027,13 +10003,11 @@
2052
2053 @itemize @bullet
2054 @item uint64x1_t vbic_u64 (uint64x1_t, uint64x1_t)
2055-@*@emph{Form of expected instruction(s):} @code{vbic @var{d0}, @var{d0}, @var{d0}}
2056 @end itemize
2057
2058
2059 @itemize @bullet
2060 @item int64x1_t vbic_s64 (int64x1_t, int64x1_t)
2061-@*@emph{Form of expected instruction(s):} @code{vbic @var{d0}, @var{d0}, @var{d0}}
2062 @end itemize
2063
2064
2065@@ -10127,13 +10101,11 @@
2066
2067 @itemize @bullet
2068 @item uint64x1_t vorn_u64 (uint64x1_t, uint64x1_t)
2069-@*@emph{Form of expected instruction(s):} @code{vorn @var{d0}, @var{d0}, @var{d0}}
2070 @end itemize
2071
2072
2073 @itemize @bullet
2074 @item int64x1_t vorn_s64 (int64x1_t, int64x1_t)
2075-@*@emph{Form of expected instruction(s):} @code{vorn @var{d0}, @var{d0}, @var{d0}}
2076 @end itemize
2077
2078
2079
2080=== added file 'gcc/testsuite/gcc.target/arm/neon-vadds64.c'
2081--- old/gcc/testsuite/gcc.target/arm/neon-vadds64.c 1970-01-01 00:00:00 +0000
2082+++ new/gcc/testsuite/gcc.target/arm/neon-vadds64.c 2010-07-29 15:59:12 +0000
2083@@ -0,0 +1,21 @@
2084+/* Test the `vadd_s64' ARM Neon intrinsic. */
2085+
2086+/* { dg-do run } */
2087+/* { dg-require-effective-target arm_neon_hw } */
2088+/* { dg-options "-O0" } */
2089+/* { dg-add-options arm_neon } */
2090+
2091+#include "arm_neon.h"
2092+#include <stdlib.h>
2093+
2094+int main (void)
2095+{
2096+ int64x1_t out_int64x1_t = 0;
2097+ int64x1_t arg0_int64x1_t = (int64x1_t)0xdeadbeef00000000LL;
2098+ int64x1_t arg1_int64x1_t = (int64x1_t)0x00000000deadbeefLL;
2099+
2100+ out_int64x1_t = vadd_s64 (arg0_int64x1_t, arg1_int64x1_t);
2101+ if (out_int64x1_t != (int64x1_t)0xdeadbeefdeadbeefLL)
2102+ abort();
2103+ return 0;
2104+}
2105
2106=== added file 'gcc/testsuite/gcc.target/arm/neon-vaddu64.c'
2107--- old/gcc/testsuite/gcc.target/arm/neon-vaddu64.c 1970-01-01 00:00:00 +0000
2108+++ new/gcc/testsuite/gcc.target/arm/neon-vaddu64.c 2010-07-29 15:59:12 +0000
2109@@ -0,0 +1,21 @@
2110+/* Test the `vadd_u64' ARM Neon intrinsic. */
2111+
2112+/* { dg-do run } */
2113+/* { dg-require-effective-target arm_neon_hw } */
2114+/* { dg-options "-O0" } */
2115+/* { dg-add-options arm_neon } */
2116+
2117+#include "arm_neon.h"
2118+#include <stdlib.h>
2119+
2120+int main (void)
2121+{
2122+ uint64x1_t out_uint64x1_t = 0;
2123+ uint64x1_t arg0_uint64x1_t = (uint64x1_t)0xdeadbeef00000000LL;
2124+ uint64x1_t arg1_uint64x1_t = (uint64x1_t)0x00000000deadbeefLL;
2125+
2126+ out_uint64x1_t = vadd_u64 (arg0_uint64x1_t, arg1_uint64x1_t);
2127+ if (out_uint64x1_t != (uint64x1_t)0xdeadbeefdeadbeefLL)
2128+ abort();
2129+ return 0;
2130+}
2131
2132=== added file 'gcc/testsuite/gcc.target/arm/neon-vands64.c'
2133--- old/gcc/testsuite/gcc.target/arm/neon-vands64.c 1970-01-01 00:00:00 +0000
2134+++ new/gcc/testsuite/gcc.target/arm/neon-vands64.c 2010-07-29 15:59:12 +0000
2135@@ -0,0 +1,21 @@
2136+/* Test the `vand_s64' ARM Neon intrinsic. */
2137+
2138+/* { dg-do run } */
2139+/* { dg-require-effective-target arm_neon_hw } */
2140+/* { dg-options "-O0" } */
2141+/* { dg-add-options arm_neon } */
2142+
2143+#include "arm_neon.h"
2144+#include <stdlib.h>
2145+
2146+int main (void)
2147+{
2148+ int64x1_t out_int64x1_t = 0;
2149+ int64x1_t arg0_int64x1_t = (int64x1_t)0xdeadbeef00000000LL;
2150+ int64x1_t arg1_int64x1_t = (int64x1_t)0xdead00000000beefLL;
2151+
2152+ out_int64x1_t = vand_s64 (arg0_int64x1_t, arg1_int64x1_t);
2153+ if (out_int64x1_t != (int64x1_t)0xdead000000000000LL)
2154+ abort();
2155+ return 0;
2156+}
2157
2158=== added file 'gcc/testsuite/gcc.target/arm/neon-vandu64.c'
2159--- old/gcc/testsuite/gcc.target/arm/neon-vandu64.c 1970-01-01 00:00:00 +0000
2160+++ new/gcc/testsuite/gcc.target/arm/neon-vandu64.c 2010-07-29 15:59:12 +0000
2161@@ -0,0 +1,21 @@
2162+/* Test the `vand_u64' ARM Neon intrinsic. */
2163+
2164+/* { dg-do run } */
2165+/* { dg-require-effective-target arm_neon_hw } */
2166+/* { dg-options "-O0" } */
2167+/* { dg-add-options arm_neon } */
2168+
2169+#include "arm_neon.h"
2170+#include <stdlib.h>
2171+
2172+int main (void)
2173+{
2174+ uint64x1_t out_uint64x1_t = 0;
2175+ uint64x1_t arg0_uint64x1_t = (uint64x1_t)0xdeadbeef00000000LL;
2176+ uint64x1_t arg1_uint64x1_t = (uint64x1_t)0xdead00000000beefLL;
2177+
2178+ out_uint64x1_t = vand_u64 (arg0_uint64x1_t, arg1_uint64x1_t);
2179+ if (out_uint64x1_t != (uint64x1_t)0xdead000000000000LL)
2180+ abort();
2181+ return 0;
2182+}
2183
2184=== added file 'gcc/testsuite/gcc.target/arm/neon-vbics64.c'
2185--- old/gcc/testsuite/gcc.target/arm/neon-vbics64.c 1970-01-01 00:00:00 +0000
2186+++ new/gcc/testsuite/gcc.target/arm/neon-vbics64.c 2010-07-29 15:59:12 +0000
2187@@ -0,0 +1,21 @@
2188+/* Test the `vbic_s64' ARM Neon intrinsic. */
2189+
2190+/* { dg-do run } */
2191+/* { dg-require-effective-target arm_neon_hw } */
2192+/* { dg-options "-O0" } */
2193+/* { dg-add-options arm_neon } */
2194+
2195+#include "arm_neon.h"
2196+#include <stdlib.h>
2197+
2198+int main (void)
2199+{
2200+ int64x1_t out_int64x1_t = 0;
2201+ int64x1_t arg0_int64x1_t = (int64x1_t)0xdeadbeef00000000LL;
2202+ int64x1_t arg1_int64x1_t = (int64x1_t)(~0xdead00000000beefLL);
2203+
2204+ out_int64x1_t = vbic_s64 (arg0_int64x1_t, arg1_int64x1_t);
2205+ if (out_int64x1_t != (int64x1_t)0xdead000000000000LL)
2206+ abort();
2207+ return 0;
2208+}
2209
2210=== added file 'gcc/testsuite/gcc.target/arm/neon-vbicu64.c'
2211--- old/gcc/testsuite/gcc.target/arm/neon-vbicu64.c 1970-01-01 00:00:00 +0000
2212+++ new/gcc/testsuite/gcc.target/arm/neon-vbicu64.c 2010-07-29 15:59:12 +0000
2213@@ -0,0 +1,21 @@
2214+/* Test the `vbic_u64' ARM Neon intrinsic. */
2215+
2216+/* { dg-do run } */
2217+/* { dg-require-effective-target arm_neon_hw } */
2218+/* { dg-options "-O0" } */
2219+/* { dg-add-options arm_neon } */
2220+
2221+#include "arm_neon.h"
2222+#include <stdlib.h>
2223+
2224+int main (void)
2225+{
2226+ uint64x1_t out_uint64x1_t = 0;
2227+ uint64x1_t arg0_uint64x1_t = (uint64x1_t)0xdeadbeef00000000LL;
2228+ uint64x1_t arg1_uint64x1_t = (uint64x1_t)(~0xdead00000000beefLL);
2229+
2230+ out_uint64x1_t = vbic_u64 (arg0_uint64x1_t, arg1_uint64x1_t);
2231+ if (out_uint64x1_t != (uint64x1_t)0xdead000000000000LL)
2232+ abort();
2233+ return 0;
2234+}
2235
2236=== added file 'gcc/testsuite/gcc.target/arm/neon-vdupQ_lanes64.c'
2237--- old/gcc/testsuite/gcc.target/arm/neon-vdupQ_lanes64.c 1970-01-01 00:00:00 +0000
2238+++ new/gcc/testsuite/gcc.target/arm/neon-vdupQ_lanes64.c 2010-07-29 15:59:12 +0000
2239@@ -0,0 +1,22 @@
2240+/* Test the `vdupq_lanes64' ARM Neon intrinsic. */
2241+
2242+/* { dg-do run } */
2243+/* { dg-require-effective-target arm_neon_hw } */
2244+/* { dg-options "-O0" } */
2245+/* { dg-add-options arm_neon } */
2246+
2247+#include "arm_neon.h"
2248+#include <stdlib.h>
2249+
2250+int main (void)
2251+{
2252+ int64x2_t out_int64x2_t = {0, 0};
2253+ int64_t arg0_int64_t = (int64_t) 0xdeadbeef;
2254+
2255+ out_int64x2_t = vdupq_lane_s64 ((int64x1_t)arg0_int64_t, 0);
2256+ if (vgetq_lane_s64 (out_int64x2_t, 0) != arg0_int64_t)
2257+ abort();
2258+ if (vgetq_lane_s64 (out_int64x2_t, 1) != arg0_int64_t)
2259+ abort();
2260+ return 0;
2261+}
2262
2263=== added file 'gcc/testsuite/gcc.target/arm/neon-vdupQ_laneu64.c'
2264--- old/gcc/testsuite/gcc.target/arm/neon-vdupQ_laneu64.c 1970-01-01 00:00:00 +0000
2265+++ new/gcc/testsuite/gcc.target/arm/neon-vdupQ_laneu64.c 2010-07-29 15:59:12 +0000
2266@@ -0,0 +1,22 @@
2267+/* Test the `vdupq_laneu64' ARM Neon intrinsic. */
2268+
2269+/* { dg-do run } */
2270+/* { dg-require-effective-target arm_neon_hw } */
2271+/* { dg-options "-O0" } */
2272+/* { dg-add-options arm_neon } */
2273+
2274+#include "arm_neon.h"
2275+#include <stdlib.h>
2276+
2277+int main (void)
2278+{
2279+ uint64x2_t out_uint64x2_t = {0, 0};
2280+ uint64_t arg0_uint64_t = (uint64_t) 0xdeadbeef;
2281+
2282+ out_uint64x2_t = vdupq_lane_u64 ((uint64x1_t)arg0_uint64_t, 0);
2283+ if (vgetq_lane_u64 (out_uint64x2_t, 0) != arg0_uint64_t)
2284+ abort();
2285+ if (vgetq_lane_u64 (out_uint64x2_t, 1) != arg0_uint64_t)
2286+ abort();
2287+ return 0;
2288+}
2289
2290=== added file 'gcc/testsuite/gcc.target/arm/neon-vdupQ_ns64.c'
2291--- old/gcc/testsuite/gcc.target/arm/neon-vdupQ_ns64.c 1970-01-01 00:00:00 +0000
2292+++ new/gcc/testsuite/gcc.target/arm/neon-vdupQ_ns64.c 2010-07-29 15:59:12 +0000
2293@@ -0,0 +1,22 @@
2294+/* Test the `vdupq_ns64' ARM Neon intrinsic. */
2295+
2296+/* { dg-do run } */
2297+/* { dg-require-effective-target arm_neon_hw } */
2298+/* { dg-options "-O0" } */
2299+/* { dg-add-options arm_neon } */
2300+
2301+#include "arm_neon.h"
2302+#include <stdlib.h>
2303+
2304+int main (void)
2305+{
2306+ int64x2_t out_int64x2_t = {0, 0};
2307+ int64_t arg0_int64_t = (int64_t) 0xdeadbeef;
2308+
2309+ out_int64x2_t = vdupq_n_s64 (arg0_int64_t);
2310+ if (vgetq_lane_s64 (out_int64x2_t, 0) != arg0_int64_t)
2311+ abort();
2312+ if (vgetq_lane_s64 (out_int64x2_t, 1) != arg0_int64_t)
2313+ abort();
2314+ return 0;
2315+}
2316
2317=== added file 'gcc/testsuite/gcc.target/arm/neon-vdupQ_nu64.c'
2318--- old/gcc/testsuite/gcc.target/arm/neon-vdupQ_nu64.c 1970-01-01 00:00:00 +0000
2319+++ new/gcc/testsuite/gcc.target/arm/neon-vdupQ_nu64.c 2010-07-29 15:59:12 +0000
2320@@ -0,0 +1,22 @@
2321+/* Test the `vdupq_nu64' ARM Neon intrinsic. */
2322+
2323+/* { dg-do run } */
2324+/* { dg-require-effective-target arm_neon_hw } */
2325+/* { dg-options "-O0" } */
2326+/* { dg-add-options arm_neon } */
2327+
2328+#include "arm_neon.h"
2329+#include <stdlib.h>
2330+
2331+int main (void)
2332+{
2333+ uint64x2_t out_uint64x2_t = {0, 0};
2334+ uint64_t arg0_uint64_t = (uint64_t) 0xdeadbeef;
2335+
2336+ out_uint64x2_t = vdupq_n_u64 (arg0_uint64_t);
2337+ if (vgetq_lane_u64 (out_uint64x2_t, 0) != arg0_uint64_t)
2338+ abort();
2339+ if (vgetq_lane_u64 (out_uint64x2_t, 1) != arg0_uint64_t)
2340+ abort();
2341+ return 0;
2342+}
2343
2344=== added file 'gcc/testsuite/gcc.target/arm/neon-vdup_ns64.c'
2345--- old/gcc/testsuite/gcc.target/arm/neon-vdup_ns64.c 1970-01-01 00:00:00 +0000
2346+++ new/gcc/testsuite/gcc.target/arm/neon-vdup_ns64.c 2010-07-29 15:59:12 +0000
2347@@ -0,0 +1,20 @@
2348+/* Test the `vdup_ns64' ARM Neon intrinsic. */
2349+
2350+/* { dg-do run } */
2351+/* { dg-require-effective-target arm_neon_hw } */
2352+/* { dg-options "-O0" } */
2353+/* { dg-add-options arm_neon } */
2354+
2355+#include "arm_neon.h"
2356+#include <stdlib.h>
2357+
2358+int main (void)
2359+{
2360+ int64x1_t out_int64x1_t = 0;
2361+ int64_t arg0_int64_t = (int64_t) 0xdeadbeef;
2362+
2363+ out_int64x1_t = vdup_n_s64 (arg0_int64_t);
2364+ if ((int64_t)out_int64x1_t != arg0_int64_t)
2365+ abort();
2366+ return 0;
2367+}
2368
2369=== added file 'gcc/testsuite/gcc.target/arm/neon-vdup_nu64.c'
2370--- old/gcc/testsuite/gcc.target/arm/neon-vdup_nu64.c 1970-01-01 00:00:00 +0000
2371+++ new/gcc/testsuite/gcc.target/arm/neon-vdup_nu64.c 2010-07-29 15:59:12 +0000
2372@@ -0,0 +1,20 @@
2373+/* Test the `vdup_nu64' ARM Neon intrinsic. */
2374+
2375+/* { dg-do run } */
2376+/* { dg-require-effective-target arm_neon_hw } */
2377+/* { dg-options "-O0" } */
2378+/* { dg-add-options arm_neon } */
2379+
2380+#include "arm_neon.h"
2381+#include <stdlib.h>
2382+
2383+int main (void)
2384+{
2385+ uint64x1_t out_uint64x1_t = 0;
2386+ uint64_t arg0_uint64_t = (uint64_t) 0xdeadbeef;
2387+
2388+ out_uint64x1_t = vdup_n_u64 (arg0_uint64_t);
2389+ if ((uint64_t)out_uint64x1_t != arg0_uint64_t)
2390+ abort();
2391+ return 0;
2392+}
2393
2394=== added file 'gcc/testsuite/gcc.target/arm/neon-veors64.c'
2395--- old/gcc/testsuite/gcc.target/arm/neon-veors64.c 1970-01-01 00:00:00 +0000
2396+++ new/gcc/testsuite/gcc.target/arm/neon-veors64.c 2010-07-29 15:59:12 +0000
2397@@ -0,0 +1,21 @@
2398+/* Test the `veor_s64' ARM Neon intrinsic. */
2399+
2400+/* { dg-do run } */
2401+/* { dg-require-effective-target arm_neon_hw } */
2402+/* { dg-options "-O0" } */
2403+/* { dg-add-options arm_neon } */
2404+
2405+#include "arm_neon.h"
2406+#include <stdlib.h>
2407+
2408+int main (void)
2409+{
2410+ int64x1_t out_int64x1_t = 0;
2411+ int64x1_t arg0_int64x1_t = (int64x1_t)0xdeadbeef00000000LL;
2412+ int64x1_t arg1_int64x1_t = (int64x1_t)0xdead00000000beefLL;
2413+
2414+ out_int64x1_t = veor_s64 (arg0_int64x1_t, arg1_int64x1_t);
2415+ if (out_int64x1_t != (int64x1_t)0x0000beef0000beefLL)
2416+ abort();
2417+ return 0;
2418+}
2419
2420=== added file 'gcc/testsuite/gcc.target/arm/neon-veoru64.c'
2421--- old/gcc/testsuite/gcc.target/arm/neon-veoru64.c 1970-01-01 00:00:00 +0000
2422+++ new/gcc/testsuite/gcc.target/arm/neon-veoru64.c 2010-07-29 15:59:12 +0000
2423@@ -0,0 +1,21 @@
2424+/* Test the `veor_u64' ARM Neon intrinsic. */
2425+
2426+/* { dg-do run } */
2427+/* { dg-require-effective-target arm_neon_hw } */
2428+/* { dg-options "-O0" } */
2429+/* { dg-add-options arm_neon } */
2430+
2431+#include "arm_neon.h"
2432+#include <stdlib.h>
2433+
2434+int main (void)
2435+{
2436+ uint64x1_t out_uint64x1_t = 0;
2437+ uint64x1_t arg0_uint64x1_t = (uint64x1_t)0xdeadbeef00000000LL;
2438+ uint64x1_t arg1_uint64x1_t = (uint64x1_t)0xdead00000000beefLL;
2439+
2440+ out_uint64x1_t = veor_u64 (arg0_uint64x1_t, arg1_uint64x1_t);
2441+ if (out_uint64x1_t != (uint64x1_t)0x0000beef0000beefLL)
2442+ abort();
2443+ return 0;
2444+}
2445
2446=== added file 'gcc/testsuite/gcc.target/arm/neon-vget_lanes64.c'
2447--- old/gcc/testsuite/gcc.target/arm/neon-vget_lanes64.c 1970-01-01 00:00:00 +0000
2448+++ new/gcc/testsuite/gcc.target/arm/neon-vget_lanes64.c 2010-07-29 15:59:12 +0000
2449@@ -0,0 +1,20 @@
2450+/* Test the `vget_lane_s64' ARM Neon intrinsic. */
2451+
2452+/* { dg-do run } */
2453+/* { dg-require-effective-target arm_neon_hw } */
2454+/* { dg-options "-O0" } */
2455+/* { dg-add-options arm_neon } */
2456+
2457+#include "arm_neon.h"
2458+#include <stdlib.h>
2459+
2460+int main (void)
2461+{
2462+ int64_t out_int64_t = 0;
2463+ int64x1_t arg0_int64x1_t = (int64x1_t) 0xdeadbeefbadf00dLL;
2464+
2465+ out_int64_t = vget_lane_s64 (arg0_int64x1_t, 0);
2466+ if (out_int64_t != (int64_t)arg0_int64x1_t)
2467+ abort();
2468+ return 0;
2469+}
2470
2471=== added file 'gcc/testsuite/gcc.target/arm/neon-vget_laneu64.c'
2472--- old/gcc/testsuite/gcc.target/arm/neon-vget_laneu64.c 1970-01-01 00:00:00 +0000
2473+++ new/gcc/testsuite/gcc.target/arm/neon-vget_laneu64.c 2010-07-29 15:59:12 +0000
2474@@ -0,0 +1,20 @@
2475+/* Test the `vget_lane_u64' ARM Neon intrinsic. */
2476+
2477+/* { dg-do run } */
2478+/* { dg-require-effective-target arm_neon_hw } */
2479+/* { dg-options "-O0" } */
2480+/* { dg-add-options arm_neon } */
2481+
2482+#include "arm_neon.h"
2483+#include <stdlib.h>
2484+
2485+int main (void)
2486+{
2487+ uint64_t out_uint64_t = 0;
2488+ uint64x1_t arg0_uint64x1_t = (uint64x1_t) 0xdeadbeefbadf00dLL;
2489+
2490+ out_uint64_t = vget_lane_u64 (arg0_uint64x1_t, 0);
2491+ if (out_uint64_t != (uint64_t)arg0_uint64x1_t)
2492+ abort();
2493+ return 0;
2494+}
2495
2496=== modified file 'gcc/testsuite/gcc.target/arm/neon-vmla-1.c'
2497--- old/gcc/testsuite/gcc.target/arm/neon-vmla-1.c 2010-07-29 15:38:15 +0000
2498+++ new/gcc/testsuite/gcc.target/arm/neon-vmla-1.c 2010-07-29 15:59:12 +0000
2499@@ -1,5 +1,5 @@
2500 /* { dg-require-effective-target arm_neon_hw } */
2501-/* { dg-options "-O2 -ftree-vectorize" } */
2502+/* { dg-options "-O2 -ftree-vectorize -ffast-math" } */
2503 /* { dg-add-options arm_neon } */
2504 /* { dg-final { scan-assembler "vmla\\.f32" } } */
2505
2506
2507=== modified file 'gcc/testsuite/gcc.target/arm/neon-vmls-1.c'
2508--- old/gcc/testsuite/gcc.target/arm/neon-vmls-1.c 2010-07-29 15:38:15 +0000
2509+++ new/gcc/testsuite/gcc.target/arm/neon-vmls-1.c 2010-07-29 15:59:12 +0000
2510@@ -1,5 +1,5 @@
2511 /* { dg-require-effective-target arm_neon_hw } */
2512-/* { dg-options "-O2 -ftree-vectorize" } */
2513+/* { dg-options "-O2 -ftree-vectorize -ffast-math" } */
2514 /* { dg-add-options arm_neon } */
2515 /* { dg-final { scan-assembler "vmls\\.f32" } } */
2516
2517
2518=== added file 'gcc/testsuite/gcc.target/arm/neon-vmovQ_ns64.c'
2519--- old/gcc/testsuite/gcc.target/arm/neon-vmovQ_ns64.c 1970-01-01 00:00:00 +0000
2520+++ new/gcc/testsuite/gcc.target/arm/neon-vmovQ_ns64.c 2010-07-29 15:59:12 +0000
2521@@ -0,0 +1,22 @@
2522+/* Test the `vmovq_ns64' ARM Neon intrinsic. */
2523+
2524+/* { dg-do run } */
2525+/* { dg-require-effective-target arm_neon_hw } */
2526+/* { dg-options "-O0" } */
2527+/* { dg-add-options arm_neon } */
2528+
2529+#include "arm_neon.h"
2530+#include <stdlib.h>
2531+
2532+int main (void)
2533+{
2534+ int64x2_t out_int64x2_t = {0, 0};
2535+ int64_t arg0_int64_t = (int64_t) 0xdeadbeef;
2536+
2537+ out_int64x2_t = vmovq_n_s64 (arg0_int64_t);
2538+ if (vgetq_lane_s64 (out_int64x2_t, 0) != arg0_int64_t)
2539+ abort();
2540+ if (vgetq_lane_s64 (out_int64x2_t, 1) != arg0_int64_t)
2541+ abort();
2542+ return 0;
2543+}
2544
2545=== added file 'gcc/testsuite/gcc.target/arm/neon-vmovQ_nu64.c'
2546--- old/gcc/testsuite/gcc.target/arm/neon-vmovQ_nu64.c 1970-01-01 00:00:00 +0000
2547+++ new/gcc/testsuite/gcc.target/arm/neon-vmovQ_nu64.c 2010-07-29 15:59:12 +0000
2548@@ -0,0 +1,23 @@
2549+/* Test the `vmovq_nu64' ARM Neon intrinsic. */
2550+
2551+/* { dg-do run } */
2552+/* { dg-require-effective-target arm_neon_hw } */
2553+/* { dg-options "-O0" } */
2554+/* { dg-add-options arm_neon } */
2555+
2556+#include "arm_neon.h"
2557+#include <stdlib.h>
2558+
2559+int main (void)
2560+{
2561+ uint64x2_t out_uint64x2_t = {0, 0};
2562+ uint64_t arg0_uint64_t = (uint64_t) 0xdeadbeef;
2563+
2564+ out_uint64x2_t = vmovq_n_u64 (arg0_uint64_t);
2565+ if (vgetq_lane_u64 (out_uint64x2_t, 0) != arg0_uint64_t)
2566+ abort();
2567+ if (vgetq_lane_u64 (out_uint64x2_t, 1) != arg0_uint64_t)
2568+ abort();
2569+ return 0;
2570+}
2571+
2572
2573=== added file 'gcc/testsuite/gcc.target/arm/neon-vmov_ns64.c'
2574--- old/gcc/testsuite/gcc.target/arm/neon-vmov_ns64.c 1970-01-01 00:00:00 +0000
2575+++ new/gcc/testsuite/gcc.target/arm/neon-vmov_ns64.c 2010-07-29 15:59:12 +0000
2576@@ -0,0 +1,20 @@
2577+/* Test the `vmov_ns64' ARM Neon intrinsic. */
2578+
2579+/* { dg-do run } */
2580+/* { dg-require-effective-target arm_neon_hw } */
2581+/* { dg-options "-O0" } */
2582+/* { dg-add-options arm_neon } */
2583+
2584+#include "arm_neon.h"
2585+#include <stdlib.h>
2586+
2587+int main (void)
2588+{
2589+ int64x1_t out_int64x1_t = 0;
2590+ int64_t arg0_int64_t = (int64_t) 0xdeadbeef;
2591+
2592+ out_int64x1_t = vmov_n_s64 (arg0_int64_t);
2593+ if ((int64_t)out_int64x1_t != arg0_int64_t)
2594+ abort();
2595+ return 0;
2596+}
2597
2598=== added file 'gcc/testsuite/gcc.target/arm/neon-vmov_nu64.c'
2599--- old/gcc/testsuite/gcc.target/arm/neon-vmov_nu64.c 1970-01-01 00:00:00 +0000
2600+++ new/gcc/testsuite/gcc.target/arm/neon-vmov_nu64.c 2010-07-29 15:59:12 +0000
2601@@ -0,0 +1,20 @@
2602+/* Test the `vmov_nu64' ARM Neon intrinsic. */
2603+
2604+/* { dg-do run } */
2605+/* { dg-require-effective-target arm_neon_hw } */
2606+/* { dg-options "-O0" } */
2607+/* { dg-add-options arm_neon } */
2608+
2609+#include "arm_neon.h"
2610+#include <stdlib.h>
2611+
2612+int main (void)
2613+{
2614+ uint64x1_t out_uint64x1_t = 0;
2615+ uint64_t arg0_uint64_t = (uint64_t) 0xdeadbeef;
2616+
2617+ out_uint64x1_t = vmov_n_u64 (arg0_uint64_t);
2618+ if ((uint64_t)out_uint64x1_t != arg0_uint64_t)
2619+ abort();
2620+ return 0;
2621+}
2622
2623=== added file 'gcc/testsuite/gcc.target/arm/neon-vorns64.c'
2624--- old/gcc/testsuite/gcc.target/arm/neon-vorns64.c 1970-01-01 00:00:00 +0000
2625+++ new/gcc/testsuite/gcc.target/arm/neon-vorns64.c 2010-07-29 15:59:12 +0000
2626@@ -0,0 +1,21 @@
2627+/* Test the `vorn_s64' ARM Neon intrinsic. */
2628+
2629+/* { dg-do run } */
2630+/* { dg-require-effective-target arm_neon_hw } */
2631+/* { dg-options "-O0" } */
2632+/* { dg-add-options arm_neon } */
2633+
2634+#include "arm_neon.h"
2635+#include <stdlib.h>
2636+
2637+int main (void)
2638+{
2639+ int64x1_t out_int64x1_t = 0;
2640+ int64x1_t arg0_int64x1_t = (int64x1_t)0xdeadbeef00000000LL;
2641+ int64x1_t arg1_int64x1_t = (int64x1_t)(~0xdead00000000beefLL);
2642+
2643+ out_int64x1_t = vorn_s64 (arg0_int64x1_t, arg1_int64x1_t);
2644+ if (out_int64x1_t != (int64x1_t)0xdeadbeef0000beefLL)
2645+ abort();
2646+ return 0;
2647+}
2648
2649=== added file 'gcc/testsuite/gcc.target/arm/neon-vornu64.c'
2650--- old/gcc/testsuite/gcc.target/arm/neon-vornu64.c 1970-01-01 00:00:00 +0000
2651+++ new/gcc/testsuite/gcc.target/arm/neon-vornu64.c 2010-07-29 15:59:12 +0000
2652@@ -0,0 +1,21 @@
2653+/* Test the `vorn_u64' ARM Neon intrinsic. */
2654+
2655+/* { dg-do run } */
2656+/* { dg-require-effective-target arm_neon_hw } */
2657+/* { dg-options "-O0" } */
2658+/* { dg-add-options arm_neon } */
2659+
2660+#include "arm_neon.h"
2661+#include <stdlib.h>
2662+
2663+int main (void)
2664+{
2665+ uint64x1_t out_uint64x1_t = 0;
2666+ uint64x1_t arg0_uint64x1_t = (uint64x1_t)0xdeadbeef00000000LL;
2667+ uint64x1_t arg1_uint64x1_t = (uint64x1_t)(~0xdead00000000beefLL);
2668+
2669+ out_uint64x1_t = vorn_u64 (arg0_uint64x1_t, arg1_uint64x1_t);
2670+ if (out_uint64x1_t != (uint64x1_t)0xdeadbeef0000beefLL)
2671+ abort();
2672+ return 0;
2673+}
2674
2675=== added file 'gcc/testsuite/gcc.target/arm/neon-vorrs64.c'
2676--- old/gcc/testsuite/gcc.target/arm/neon-vorrs64.c 1970-01-01 00:00:00 +0000
2677+++ new/gcc/testsuite/gcc.target/arm/neon-vorrs64.c 2010-07-29 15:59:12 +0000
2678@@ -0,0 +1,21 @@
2679+/* Test the `vorr_s64' ARM Neon intrinsic. */
2680+
2681+/* { dg-do run } */
2682+/* { dg-require-effective-target arm_neon_hw } */
2683+/* { dg-options "-O0" } */
2684+/* { dg-add-options arm_neon } */
2685+
2686+#include "arm_neon.h"
2687+#include <stdlib.h>
2688+
2689+int main (void)
2690+{
2691+ int64x1_t out_int64x1_t = 0;
2692+ int64x1_t arg0_int64x1_t = (int64x1_t)0xdeadbeef00000000LL;
2693+ int64x1_t arg1_int64x1_t = (int64x1_t)0xdead00000000beefLL;
2694+
2695+ out_int64x1_t = vorr_s64 (arg0_int64x1_t, arg1_int64x1_t);
2696+ if (out_int64x1_t != (int64x1_t)0xdeadbeef0000beefLL)
2697+ abort();
2698+ return 0;
2699+}
2700
2701=== added file 'gcc/testsuite/gcc.target/arm/neon-vorru64.c'
2702--- old/gcc/testsuite/gcc.target/arm/neon-vorru64.c 1970-01-01 00:00:00 +0000
2703+++ new/gcc/testsuite/gcc.target/arm/neon-vorru64.c 2010-07-29 15:59:12 +0000
2704@@ -0,0 +1,21 @@
2705+/* Test the `vorr_u64' ARM Neon intrinsic. */
2706+
2707+/* { dg-do run } */
2708+/* { dg-require-effective-target arm_neon_hw } */
2709+/* { dg-options "-O0" } */
2710+/* { dg-add-options arm_neon } */
2711+
2712+#include "arm_neon.h"
2713+#include <stdlib.h>
2714+
2715+int main (void)
2716+{
2717+ uint64x1_t out_uint64x1_t = 0;
2718+ uint64x1_t arg0_uint64x1_t = (uint64x1_t)0xdeadbeef00000000LL;
2719+ uint64x1_t arg1_uint64x1_t = (uint64x1_t)0xdead00000000beefLL;
2720+
2721+ out_uint64x1_t = vorr_u64 (arg0_uint64x1_t, arg1_uint64x1_t);
2722+ if (out_uint64x1_t != (uint64x1_t)0xdeadbeef0000beefLL)
2723+ abort();
2724+ return 0;
2725+}
2726
2727=== added file 'gcc/testsuite/gcc.target/arm/neon-vset_lanes64.c'
2728--- old/gcc/testsuite/gcc.target/arm/neon-vset_lanes64.c 1970-01-01 00:00:00 +0000
2729+++ new/gcc/testsuite/gcc.target/arm/neon-vset_lanes64.c 2010-07-29 15:59:12 +0000
2730@@ -0,0 +1,21 @@
2731+/* Test the `vset_lane_s64' ARM Neon intrinsic. */
2732+
2733+/* { dg-do run } */
2734+/* { dg-require-effective-target arm_neon_hw } */
2735+/* { dg-options "-O0" } */
2736+/* { dg-add-options arm_neon } */
2737+
2738+#include "arm_neon.h"
2739+#include <stdlib.h>
2740+
2741+int main (void)
2742+{
2743+ int64x1_t out_int64x1_t = 0;
2744+ int64_t arg0_int64_t = 0xf00f00f00LL;
2745+ int64x1_t arg1_int64x1_t = (int64x1_t) 0xdeadbeefbadf00dLL;
2746+
2747+ out_int64x1_t = vset_lane_s64 (arg0_int64_t, arg1_int64x1_t, 0);
2748+ if ((int64_t)out_int64x1_t != arg0_int64_t)
2749+ abort();
2750+ return 0;
2751+}
2752
2753=== added file 'gcc/testsuite/gcc.target/arm/neon-vset_laneu64.c'
2754--- old/gcc/testsuite/gcc.target/arm/neon-vset_laneu64.c 1970-01-01 00:00:00 +0000
2755+++ new/gcc/testsuite/gcc.target/arm/neon-vset_laneu64.c 2010-07-29 15:59:12 +0000
2756@@ -0,0 +1,21 @@
2757+/* Test the `vset_lane_s64' ARM Neon intrinsic. */
2758+
2759+/* { dg-do run } */
2760+/* { dg-require-effective-target arm_neon_hw } */
2761+/* { dg-options "-O0" } */
2762+/* { dg-add-options arm_neon } */
2763+
2764+#include "arm_neon.h"
2765+#include <stdlib.h>
2766+
2767+int main (void)
2768+{
2769+ uint64x1_t out_uint64x1_t = 0;
2770+ uint64_t arg0_uint64_t = 0xf00f00f00LL;
2771+ uint64x1_t arg1_uint64x1_t = (uint64x1_t) 0xdeadbeefbadf00dLL;
2772+
2773+ out_uint64x1_t = vset_lane_u64 (arg0_uint64_t, arg1_uint64x1_t, 0);
2774+ if ((uint64_t)out_uint64x1_t != arg0_uint64_t)
2775+ abort();
2776+ return 0;
2777+}
2778
2779=== added file 'gcc/testsuite/gcc.target/arm/neon-vsubs64.c'
2780--- old/gcc/testsuite/gcc.target/arm/neon-vsubs64.c 1970-01-01 00:00:00 +0000
2781+++ new/gcc/testsuite/gcc.target/arm/neon-vsubs64.c 2010-07-29 15:59:12 +0000
2782@@ -0,0 +1,21 @@
2783+/* Test the `vsub_s64' ARM Neon intrinsic. */
2784+
2785+/* { dg-do run } */
2786+/* { dg-require-effective-target arm_neon_hw } */
2787+/* { dg-options "-O0" } */
2788+/* { dg-add-options arm_neon } */
2789+
2790+#include "arm_neon.h"
2791+#include <stdlib.h>
2792+
2793+int main (void)
2794+{
2795+ int64x1_t out_int64x1_t = 0;
2796+ int64x1_t arg0_int64x1_t = (int64x1_t)0xdeadbeefdeadbeefLL;
2797+ int64x1_t arg1_int64x1_t = (int64x1_t)0x0000beefdead0000LL;
2798+
2799+ out_int64x1_t = vsub_s64 (arg0_int64x1_t, arg1_int64x1_t);
2800+ if (out_int64x1_t != (int64x1_t)0xdead00000000beefLL)
2801+ abort();
2802+ return 0;
2803+}
2804
2805=== added file 'gcc/testsuite/gcc.target/arm/neon-vsubu64.c'
2806--- old/gcc/testsuite/gcc.target/arm/neon-vsubu64.c 1970-01-01 00:00:00 +0000
2807+++ new/gcc/testsuite/gcc.target/arm/neon-vsubu64.c 2010-07-29 15:59:12 +0000
2808@@ -0,0 +1,21 @@
2809+/* Test the `vsub_u64' ARM Neon intrinsic. */
2810+
2811+/* { dg-do run } */
2812+/* { dg-require-effective-target arm_neon_hw } */
2813+/* { dg-options "-O0" } */
2814+/* { dg-add-options arm_neon } */
2815+
2816+#include "arm_neon.h"
2817+#include <stdlib.h>
2818+
2819+int main (void)
2820+{
2821+ uint64x1_t out_uint64x1_t = 0;
2822+ uint64x1_t arg0_uint64x1_t = (uint64x1_t)0xdeadbeefdeadbeefLL;
2823+ uint64x1_t arg1_uint64x1_t = (uint64x1_t)0x0000beefdead0000LL;
2824+
2825+ out_uint64x1_t = vsub_u64 (arg0_uint64x1_t, arg1_uint64x1_t);
2826+ if (out_uint64x1_t != (uint64x1_t)0xdead00000000beefLL)
2827+ abort();
2828+ return 0;
2829+}
2830
2831=== modified file 'gcc/testsuite/gcc.target/arm/neon/vadds64.c'
2832--- old/gcc/testsuite/gcc.target/arm/neon/vadds64.c 2010-07-29 15:38:15 +0000
2833+++ new/gcc/testsuite/gcc.target/arm/neon/vadds64.c 2010-07-29 15:59:12 +0000
2834@@ -17,5 +17,4 @@
2835 out_int64x1_t = vadd_s64 (arg0_int64x1_t, arg1_int64x1_t);
2836 }
2837
2838-/* { dg-final { scan-assembler "vadd\.i64\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
2839 /* { dg-final { cleanup-saved-temps } } */
2840
2841=== modified file 'gcc/testsuite/gcc.target/arm/neon/vaddu64.c'
2842--- old/gcc/testsuite/gcc.target/arm/neon/vaddu64.c 2010-07-29 15:38:15 +0000
2843+++ new/gcc/testsuite/gcc.target/arm/neon/vaddu64.c 2010-07-29 15:59:12 +0000
2844@@ -17,5 +17,4 @@
2845 out_uint64x1_t = vadd_u64 (arg0_uint64x1_t, arg1_uint64x1_t);
2846 }
2847
2848-/* { dg-final { scan-assembler "vadd\.i64\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
2849 /* { dg-final { cleanup-saved-temps } } */
2850
2851=== modified file 'gcc/testsuite/gcc.target/arm/neon/vands64.c'
2852--- old/gcc/testsuite/gcc.target/arm/neon/vands64.c 2010-07-29 15:38:15 +0000
2853+++ new/gcc/testsuite/gcc.target/arm/neon/vands64.c 2010-07-29 15:59:12 +0000
2854@@ -17,5 +17,4 @@
2855 out_int64x1_t = vand_s64 (arg0_int64x1_t, arg1_int64x1_t);
2856 }
2857
2858-/* { dg-final { scan-assembler "vand\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
2859 /* { dg-final { cleanup-saved-temps } } */
2860
2861=== modified file 'gcc/testsuite/gcc.target/arm/neon/vandu64.c'
2862--- old/gcc/testsuite/gcc.target/arm/neon/vandu64.c 2010-07-29 15:38:15 +0000
2863+++ new/gcc/testsuite/gcc.target/arm/neon/vandu64.c 2010-07-29 15:59:12 +0000
2864@@ -17,5 +17,4 @@
2865 out_uint64x1_t = vand_u64 (arg0_uint64x1_t, arg1_uint64x1_t);
2866 }
2867
2868-/* { dg-final { scan-assembler "vand\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
2869 /* { dg-final { cleanup-saved-temps } } */
2870
2871=== modified file 'gcc/testsuite/gcc.target/arm/neon/vbics64.c'
2872--- old/gcc/testsuite/gcc.target/arm/neon/vbics64.c 2010-07-29 15:38:15 +0000
2873+++ new/gcc/testsuite/gcc.target/arm/neon/vbics64.c 2010-07-29 15:59:12 +0000
2874@@ -17,5 +17,4 @@
2875 out_int64x1_t = vbic_s64 (arg0_int64x1_t, arg1_int64x1_t);
2876 }
2877
2878-/* { dg-final { scan-assembler "vbic\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
2879 /* { dg-final { cleanup-saved-temps } } */
2880
2881=== modified file 'gcc/testsuite/gcc.target/arm/neon/vbicu64.c'
2882--- old/gcc/testsuite/gcc.target/arm/neon/vbicu64.c 2010-07-29 15:38:15 +0000
2883+++ new/gcc/testsuite/gcc.target/arm/neon/vbicu64.c 2010-07-29 15:59:12 +0000
2884@@ -17,5 +17,4 @@
2885 out_uint64x1_t = vbic_u64 (arg0_uint64x1_t, arg1_uint64x1_t);
2886 }
2887
2888-/* { dg-final { scan-assembler "vbic\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
2889 /* { dg-final { cleanup-saved-temps } } */
2890
2891=== modified file 'gcc/testsuite/gcc.target/arm/neon/vdupQ_ns64.c'
2892--- old/gcc/testsuite/gcc.target/arm/neon/vdupQ_ns64.c 2010-07-29 15:38:15 +0000
2893+++ new/gcc/testsuite/gcc.target/arm/neon/vdupQ_ns64.c 2010-07-29 15:59:12 +0000
2894@@ -16,6 +16,4 @@
2895 out_int64x2_t = vdupq_n_s64 (arg0_int64_t);
2896 }
2897
2898-/* { dg-final { scan-assembler "vmov\[ \]+\[dD\]\[0-9\]+, \[rR\]\[0-9\]+, \[rR\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
2899-/* { dg-final { scan-assembler "vmov\[ \]+\[dD\]\[0-9\]+, \[rR\]\[0-9\]+, \[rR\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
2900 /* { dg-final { cleanup-saved-temps } } */
2901
2902=== modified file 'gcc/testsuite/gcc.target/arm/neon/vdupQ_nu64.c'
2903--- old/gcc/testsuite/gcc.target/arm/neon/vdupQ_nu64.c 2010-07-29 15:38:15 +0000
2904+++ new/gcc/testsuite/gcc.target/arm/neon/vdupQ_nu64.c 2010-07-29 15:59:12 +0000
2905@@ -16,6 +16,4 @@
2906 out_uint64x2_t = vdupq_n_u64 (arg0_uint64_t);
2907 }
2908
2909-/* { dg-final { scan-assembler "vmov\[ \]+\[dD\]\[0-9\]+, \[rR\]\[0-9\]+, \[rR\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
2910-/* { dg-final { scan-assembler "vmov\[ \]+\[dD\]\[0-9\]+, \[rR\]\[0-9\]+, \[rR\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
2911 /* { dg-final { cleanup-saved-temps } } */
2912
2913=== modified file 'gcc/testsuite/gcc.target/arm/neon/vdup_ns64.c'
2914--- old/gcc/testsuite/gcc.target/arm/neon/vdup_ns64.c 2010-07-29 15:38:15 +0000
2915+++ new/gcc/testsuite/gcc.target/arm/neon/vdup_ns64.c 2010-07-29 15:59:12 +0000
2916@@ -16,5 +16,4 @@
2917 out_int64x1_t = vdup_n_s64 (arg0_int64_t);
2918 }
2919
2920-/* { dg-final { scan-assembler "vmov\[ \]+\[dD\]\[0-9\]+, \[rR\]\[0-9\]+, \[rR\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
2921 /* { dg-final { cleanup-saved-temps } } */
2922
2923=== modified file 'gcc/testsuite/gcc.target/arm/neon/vdup_nu64.c'
2924--- old/gcc/testsuite/gcc.target/arm/neon/vdup_nu64.c 2010-07-29 15:38:15 +0000
2925+++ new/gcc/testsuite/gcc.target/arm/neon/vdup_nu64.c 2010-07-29 15:59:12 +0000
2926@@ -16,5 +16,4 @@
2927 out_uint64x1_t = vdup_n_u64 (arg0_uint64_t);
2928 }
2929
2930-/* { dg-final { scan-assembler "vmov\[ \]+\[dD\]\[0-9\]+, \[rR\]\[0-9\]+, \[rR\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
2931 /* { dg-final { cleanup-saved-temps } } */
2932
2933=== modified file 'gcc/testsuite/gcc.target/arm/neon/veors64.c'
2934--- old/gcc/testsuite/gcc.target/arm/neon/veors64.c 2010-07-29 15:38:15 +0000
2935+++ new/gcc/testsuite/gcc.target/arm/neon/veors64.c 2010-07-29 15:59:12 +0000
2936@@ -17,5 +17,4 @@
2937 out_int64x1_t = veor_s64 (arg0_int64x1_t, arg1_int64x1_t);
2938 }
2939
2940-/* { dg-final { scan-assembler "veor\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
2941 /* { dg-final { cleanup-saved-temps } } */
2942
2943=== modified file 'gcc/testsuite/gcc.target/arm/neon/veoru64.c'
2944--- old/gcc/testsuite/gcc.target/arm/neon/veoru64.c 2010-07-29 15:38:15 +0000
2945+++ new/gcc/testsuite/gcc.target/arm/neon/veoru64.c 2010-07-29 15:59:12 +0000
2946@@ -17,5 +17,4 @@
2947 out_uint64x1_t = veor_u64 (arg0_uint64x1_t, arg1_uint64x1_t);
2948 }
2949
2950-/* { dg-final { scan-assembler "veor\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
2951 /* { dg-final { cleanup-saved-temps } } */
2952
2953=== modified file 'gcc/testsuite/gcc.target/arm/neon/vget_lanes64.c'
2954--- old/gcc/testsuite/gcc.target/arm/neon/vget_lanes64.c 2010-07-29 15:38:15 +0000
2955+++ new/gcc/testsuite/gcc.target/arm/neon/vget_lanes64.c 2010-07-29 15:59:12 +0000
2956@@ -16,5 +16,4 @@
2957 out_int64_t = vget_lane_s64 (arg0_int64x1_t, 0);
2958 }
2959
2960-/* { dg-final { scan-assembler "vmov\[ \]+\[rR\]\[0-9\]+, \[rR\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
2961 /* { dg-final { cleanup-saved-temps } } */
2962
2963=== modified file 'gcc/testsuite/gcc.target/arm/neon/vget_laneu64.c'
2964--- old/gcc/testsuite/gcc.target/arm/neon/vget_laneu64.c 2010-07-29 15:38:15 +0000
2965+++ new/gcc/testsuite/gcc.target/arm/neon/vget_laneu64.c 2010-07-29 15:59:12 +0000
2966@@ -16,5 +16,4 @@
2967 out_uint64_t = vget_lane_u64 (arg0_uint64x1_t, 0);
2968 }
2969
2970-/* { dg-final { scan-assembler "vmov\[ \]+\[rR\]\[0-9\]+, \[rR\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
2971 /* { dg-final { cleanup-saved-temps } } */
2972
2973=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmovQ_ns64.c'
2974--- old/gcc/testsuite/gcc.target/arm/neon/vmovQ_ns64.c 2010-07-29 15:38:15 +0000
2975+++ new/gcc/testsuite/gcc.target/arm/neon/vmovQ_ns64.c 2010-07-29 15:59:12 +0000
2976@@ -16,6 +16,4 @@
2977 out_int64x2_t = vmovq_n_s64 (arg0_int64_t);
2978 }
2979
2980-/* { dg-final { scan-assembler "vmov\[ \]+\[dD\]\[0-9\]+, \[rR\]\[0-9\]+, \[rR\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
2981-/* { dg-final { scan-assembler "vmov\[ \]+\[dD\]\[0-9\]+, \[rR\]\[0-9\]+, \[rR\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
2982 /* { dg-final { cleanup-saved-temps } } */
2983
2984=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmovQ_nu64.c'
2985--- old/gcc/testsuite/gcc.target/arm/neon/vmovQ_nu64.c 2010-07-29 15:38:15 +0000
2986+++ new/gcc/testsuite/gcc.target/arm/neon/vmovQ_nu64.c 2010-07-29 15:59:12 +0000
2987@@ -16,6 +16,4 @@
2988 out_uint64x2_t = vmovq_n_u64 (arg0_uint64_t);
2989 }
2990
2991-/* { dg-final { scan-assembler "vmov\[ \]+\[dD\]\[0-9\]+, \[rR\]\[0-9\]+, \[rR\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
2992-/* { dg-final { scan-assembler "vmov\[ \]+\[dD\]\[0-9\]+, \[rR\]\[0-9\]+, \[rR\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
2993 /* { dg-final { cleanup-saved-temps } } */
2994
2995=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmov_ns64.c'
2996--- old/gcc/testsuite/gcc.target/arm/neon/vmov_ns64.c 2010-07-29 15:38:15 +0000
2997+++ new/gcc/testsuite/gcc.target/arm/neon/vmov_ns64.c 2010-07-29 15:59:12 +0000
2998@@ -16,5 +16,4 @@
2999 out_int64x1_t = vmov_n_s64 (arg0_int64_t);
3000 }
3001
3002-/* { dg-final { scan-assembler "vmov\[ \]+\[dD\]\[0-9\]+, \[rR\]\[0-9\]+, \[rR\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
3003 /* { dg-final { cleanup-saved-temps } } */
3004
3005=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmov_nu64.c'
3006--- old/gcc/testsuite/gcc.target/arm/neon/vmov_nu64.c 2010-07-29 15:38:15 +0000
3007+++ new/gcc/testsuite/gcc.target/arm/neon/vmov_nu64.c 2010-07-29 15:59:12 +0000
3008@@ -16,5 +16,4 @@
3009 out_uint64x1_t = vmov_n_u64 (arg0_uint64_t);
3010 }
3011
3012-/* { dg-final { scan-assembler "vmov\[ \]+\[dD\]\[0-9\]+, \[rR\]\[0-9\]+, \[rR\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
3013 /* { dg-final { cleanup-saved-temps } } */
3014
3015=== modified file 'gcc/testsuite/gcc.target/arm/neon/vorns64.c'
3016--- old/gcc/testsuite/gcc.target/arm/neon/vorns64.c 2010-07-29 15:38:15 +0000
3017+++ new/gcc/testsuite/gcc.target/arm/neon/vorns64.c 2010-07-29 15:59:12 +0000
3018@@ -17,5 +17,4 @@
3019 out_int64x1_t = vorn_s64 (arg0_int64x1_t, arg1_int64x1_t);
3020 }
3021
3022-/* { dg-final { scan-assembler "vorn\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
3023 /* { dg-final { cleanup-saved-temps } } */
3024
3025=== modified file 'gcc/testsuite/gcc.target/arm/neon/vornu64.c'
3026--- old/gcc/testsuite/gcc.target/arm/neon/vornu64.c 2010-07-29 15:38:15 +0000
3027+++ new/gcc/testsuite/gcc.target/arm/neon/vornu64.c 2010-07-29 15:59:12 +0000
3028@@ -17,5 +17,4 @@
3029 out_uint64x1_t = vorn_u64 (arg0_uint64x1_t, arg1_uint64x1_t);
3030 }
3031
3032-/* { dg-final { scan-assembler "vorn\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
3033 /* { dg-final { cleanup-saved-temps } } */
3034
3035=== modified file 'gcc/testsuite/gcc.target/arm/neon/vorrs64.c'
3036--- old/gcc/testsuite/gcc.target/arm/neon/vorrs64.c 2010-07-29 15:38:15 +0000
3037+++ new/gcc/testsuite/gcc.target/arm/neon/vorrs64.c 2010-07-29 15:59:12 +0000
3038@@ -17,5 +17,4 @@
3039 out_int64x1_t = vorr_s64 (arg0_int64x1_t, arg1_int64x1_t);
3040 }
3041
3042-/* { dg-final { scan-assembler "vorr\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
3043 /* { dg-final { cleanup-saved-temps } } */
3044
3045=== modified file 'gcc/testsuite/gcc.target/arm/neon/vorru64.c'
3046--- old/gcc/testsuite/gcc.target/arm/neon/vorru64.c 2010-07-29 15:38:15 +0000
3047+++ new/gcc/testsuite/gcc.target/arm/neon/vorru64.c 2010-07-29 15:59:12 +0000
3048@@ -17,5 +17,4 @@
3049 out_uint64x1_t = vorr_u64 (arg0_uint64x1_t, arg1_uint64x1_t);
3050 }
3051
3052-/* { dg-final { scan-assembler "vorr\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
3053 /* { dg-final { cleanup-saved-temps } } */
3054
3055=== modified file 'gcc/testsuite/gcc.target/arm/neon/vset_lanes64.c'
3056--- old/gcc/testsuite/gcc.target/arm/neon/vset_lanes64.c 2010-07-29 15:38:15 +0000
3057+++ new/gcc/testsuite/gcc.target/arm/neon/vset_lanes64.c 2010-07-29 15:59:12 +0000
3058@@ -17,5 +17,4 @@
3059 out_int64x1_t = vset_lane_s64 (arg0_int64_t, arg1_int64x1_t, 0);
3060 }
3061
3062-/* { dg-final { scan-assembler "vmov\[ \]+\[dD\]\[0-9\]+, \[rR\]\[0-9\]+, \[rR\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
3063 /* { dg-final { cleanup-saved-temps } } */
3064
3065=== modified file 'gcc/testsuite/gcc.target/arm/neon/vset_laneu64.c'
3066--- old/gcc/testsuite/gcc.target/arm/neon/vset_laneu64.c 2010-07-29 15:38:15 +0000
3067+++ new/gcc/testsuite/gcc.target/arm/neon/vset_laneu64.c 2010-07-29 15:59:12 +0000
3068@@ -17,5 +17,4 @@
3069 out_uint64x1_t = vset_lane_u64 (arg0_uint64_t, arg1_uint64x1_t, 0);
3070 }
3071
3072-/* { dg-final { scan-assembler "vmov\[ \]+\[dD\]\[0-9\]+, \[rR\]\[0-9\]+, \[rR\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
3073 /* { dg-final { cleanup-saved-temps } } */
3074
3075=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsubs64.c'
3076--- old/gcc/testsuite/gcc.target/arm/neon/vsubs64.c 2010-07-29 15:38:15 +0000
3077+++ new/gcc/testsuite/gcc.target/arm/neon/vsubs64.c 2010-07-29 15:59:12 +0000
3078@@ -17,5 +17,4 @@
3079 out_int64x1_t = vsub_s64 (arg0_int64x1_t, arg1_int64x1_t);
3080 }
3081
3082-/* { dg-final { scan-assembler "vsub\.i64\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
3083 /* { dg-final { cleanup-saved-temps } } */
3084
3085=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsubu64.c'
3086--- old/gcc/testsuite/gcc.target/arm/neon/vsubu64.c 2010-07-29 15:38:15 +0000
3087+++ new/gcc/testsuite/gcc.target/arm/neon/vsubu64.c 2010-07-29 15:59:12 +0000
3088@@ -17,5 +17,4 @@
3089 out_uint64x1_t = vsub_u64 (arg0_uint64x1_t, arg1_uint64x1_t);
3090 }
3091
3092-/* { dg-final { scan-assembler "vsub\.i64\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
3093 /* { dg-final { cleanup-saved-temps } } */
3094
diff --git a/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99301.patch b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99301.patch
new file mode 100644
index 0000000000..95907eeb87
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99301.patch
@@ -0,0 +1,675 @@
1 2010-07-02 Daniel Jacobowitz <dan@codesourcery.com>
2 Julian Brown <julian@codesourcery.com>
3 Sandra Loosemore <sandra@codesourcery.com>
4
5 gcc/
6 * config/arm/arm.c (arm_canonicalize_comparison): Canonicalize DImode
7 comparisons. Adjust to take both operands.
8 (arm_select_cc_mode): Handle DImode comparisons.
9 (arm_gen_compare_reg): Generate a scratch register for DImode
10 comparisons which require one. Use xor for Thumb equality checks.
11 (arm_const_double_by_immediates): New.
12 (arm_print_operand): Allow 'Q' and 'R' for constants.
13 (get_arm_condition_code): Handle new CC_CZmode and CC_NCVmode.
14 * config/arm/arm.h (CANONICALIZE_COMPARISON): Always use
15 arm_canonicalize_comparison.
16 * config/arm/arm-modes.def: Add CC_CZmode and CC_NCVmode.
17 * config/arm/arm-protos.h (arm_canonicalize_comparison): Update
18 prototype.
19 (arm_const_double_by_immediates): Declare.
20 * config/arm/constraints.md (Di): New constraint.
21 * config/arm/predicates.md (arm_immediate_di_operand)
22 (arm_di_operand, cmpdi_operand): New.
23 * config/arm/arm.md (cbranchdi4): Handle non-Cirrus also.
24 (*arm_cmpdi_insn, *arm_cmpdi_unsigned)
25 (*arm_cmpdi_zero, *thumb_cmpdi_zero): New insns.
26 (cstoredi4): Handle non-Cirrus also.
27
28 gcc/testsuite/
29 * gcc.c-torture/execute/20100416-1.c: New test case.
30
312010-07-08 Sandra Loosemore <sandra@codesourcery.com>
32
33 Backport from upstream (originally from Sourcery G++ 4.4):
34
35 2010-07-02 Sandra Loosemore <sandra@codesourcery.com>
36
37 gcc/
38
39=== modified file 'gcc/config/arm/arm-modes.def'
40--- old/gcc/config/arm/arm-modes.def 2009-06-18 11:24:10 +0000
41+++ new/gcc/config/arm/arm-modes.def 2010-07-29 16:58:56 +0000
42@@ -35,10 +35,16 @@
43 CC_NOOVmode should be used with SImode integer equalities.
44 CC_Zmode should be used if only the Z flag is set correctly
45 CC_Nmode should be used if only the N (sign) flag is set correctly
46+ CC_CZmode should be used if only the C and Z flags are correct
47+ (used for DImode unsigned comparisons).
48+ CC_NCVmode should be used if only the N, C, and V flags are correct
49+ (used for DImode signed comparisons).
50 CCmode should be used otherwise. */
51
52 CC_MODE (CC_NOOV);
53 CC_MODE (CC_Z);
54+CC_MODE (CC_CZ);
55+CC_MODE (CC_NCV);
56 CC_MODE (CC_SWP);
57 CC_MODE (CCFP);
58 CC_MODE (CCFPE);
59
60=== modified file 'gcc/config/arm/arm-protos.h'
61--- old/gcc/config/arm/arm-protos.h 2009-11-11 14:23:03 +0000
62+++ new/gcc/config/arm/arm-protos.h 2010-07-29 16:58:56 +0000
63@@ -49,8 +49,7 @@
64 extern int const_ok_for_arm (HOST_WIDE_INT);
65 extern int arm_split_constant (RTX_CODE, enum machine_mode, rtx,
66 HOST_WIDE_INT, rtx, rtx, int);
67-extern RTX_CODE arm_canonicalize_comparison (RTX_CODE, enum machine_mode,
68- rtx *);
69+extern RTX_CODE arm_canonicalize_comparison (RTX_CODE, rtx *, rtx *);
70 extern int legitimate_pic_operand_p (rtx);
71 extern rtx legitimize_pic_address (rtx, enum machine_mode, rtx);
72 extern rtx legitimize_tls_address (rtx, rtx);
73@@ -116,6 +115,7 @@
74 extern void arm_reload_out_hi (rtx *);
75 extern int arm_const_double_inline_cost (rtx);
76 extern bool arm_const_double_by_parts (rtx);
77+extern bool arm_const_double_by_immediates (rtx);
78 extern const char *fp_immediate_constant (rtx);
79 extern void arm_emit_call_insn (rtx, rtx);
80 extern const char *output_call (rtx *);
81
82=== modified file 'gcc/config/arm/arm.c'
83--- old/gcc/config/arm/arm.c 2010-07-29 15:59:12 +0000
84+++ new/gcc/config/arm/arm.c 2010-07-29 16:58:56 +0000
85@@ -3190,13 +3190,82 @@
86 immediate value easier to load. */
87
88 enum rtx_code
89-arm_canonicalize_comparison (enum rtx_code code, enum machine_mode mode,
90- rtx * op1)
91+arm_canonicalize_comparison (enum rtx_code code, rtx *op0, rtx *op1)
92 {
93- unsigned HOST_WIDE_INT i = INTVAL (*op1);
94- unsigned HOST_WIDE_INT maxval;
95+ enum machine_mode mode;
96+ unsigned HOST_WIDE_INT i, maxval;
97+
98+ mode = GET_MODE (*op0);
99+ if (mode == VOIDmode)
100+ mode = GET_MODE (*op1);
101+
102 maxval = (((unsigned HOST_WIDE_INT) 1) << (GET_MODE_BITSIZE(mode) - 1)) - 1;
103
104+ /* For DImode, we have GE/LT/GEU/LTU comparisons. In ARM mode
105+ we can also use cmp/cmpeq for GTU/LEU. GT/LE must be either
106+ reversed or (for constant OP1) adjusted to GE/LT. Similarly
107+ for GTU/LEU in Thumb mode. */
108+ if (mode == DImode)
109+ {
110+ rtx tem;
111+
112+ /* To keep things simple, always use the Cirrus cfcmp64 if it is
113+ available. */
114+ if (TARGET_ARM && TARGET_HARD_FLOAT && TARGET_MAVERICK)
115+ return code;
116+
117+ if (code == GT || code == LE
118+ || (!TARGET_ARM && (code == GTU || code == LEU)))
119+ {
120+ /* Missing comparison. First try to use an available
121+ comparison. */
122+ if (GET_CODE (*op1) == CONST_INT)
123+ {
124+ i = INTVAL (*op1);
125+ switch (code)
126+ {
127+ case GT:
128+ case LE:
129+ if (i != maxval
130+ && arm_const_double_by_immediates (GEN_INT (i + 1)))
131+ {
132+ *op1 = GEN_INT (i + 1);
133+ return code == GT ? GE : LT;
134+ }
135+ break;
136+ case GTU:
137+ case LEU:
138+ if (i != ~((unsigned HOST_WIDE_INT) 0)
139+ && arm_const_double_by_immediates (GEN_INT (i + 1)))
140+ {
141+ *op1 = GEN_INT (i + 1);
142+ return code == GTU ? GEU : LTU;
143+ }
144+ break;
145+ default:
146+ gcc_unreachable ();
147+ }
148+ }
149+
150+ /* If that did not work, reverse the condition. */
151+ tem = *op0;
152+ *op0 = *op1;
153+ *op1 = tem;
154+ return swap_condition (code);
155+ }
156+
157+ return code;
158+ }
159+
160+ /* Comparisons smaller than DImode. Only adjust comparisons against
161+ an out-of-range constant. */
162+ if (GET_CODE (*op1) != CONST_INT
163+ || const_ok_for_arm (INTVAL (*op1))
164+ || const_ok_for_arm (- INTVAL (*op1)))
165+ return code;
166+
167+ i = INTVAL (*op1);
168+
169 switch (code)
170 {
171 case EQ:
172@@ -9912,6 +9981,55 @@
173 && (rtx_equal_p (XEXP (x, 0), y) || rtx_equal_p (XEXP (x, 1), y)))
174 return CC_Cmode;
175
176+ if (GET_MODE (x) == DImode || GET_MODE (y) == DImode)
177+ {
178+ /* To keep things simple, always use the Cirrus cfcmp64 if it is
179+ available. */
180+ if (TARGET_ARM && TARGET_HARD_FLOAT && TARGET_MAVERICK)
181+ return CCmode;
182+
183+ switch (op)
184+ {
185+ case EQ:
186+ case NE:
187+ /* A DImode comparison against zero can be implemented by
188+ or'ing the two halves together. */
189+ if (y == const0_rtx)
190+ return CC_Zmode;
191+
192+ /* We can do an equality test in three Thumb instructions. */
193+ if (!TARGET_ARM)
194+ return CC_Zmode;
195+
196+ /* FALLTHROUGH */
197+
198+ case LTU:
199+ case LEU:
200+ case GTU:
201+ case GEU:
202+ /* DImode unsigned comparisons can be implemented by cmp +
203+ cmpeq without a scratch register. Not worth doing in
204+ Thumb-2. */
205+ if (TARGET_ARM)
206+ return CC_CZmode;
207+
208+ /* FALLTHROUGH */
209+
210+ case LT:
211+ case LE:
212+ case GT:
213+ case GE:
214+ /* DImode signed and unsigned comparisons can be implemented
215+ by cmp + sbcs with a scratch register, but that does not
216+ set the Z flag - we must reverse GT/LE/GTU/LEU. */
217+ gcc_assert (op != EQ && op != NE);
218+ return CC_NCVmode;
219+
220+ default:
221+ gcc_unreachable ();
222+ }
223+ }
224+
225 return CCmode;
226 }
227
228@@ -9921,10 +10039,39 @@
229 rtx
230 arm_gen_compare_reg (enum rtx_code code, rtx x, rtx y)
231 {
232- enum machine_mode mode = SELECT_CC_MODE (code, x, y);
233- rtx cc_reg = gen_rtx_REG (mode, CC_REGNUM);
234-
235- emit_set_insn (cc_reg, gen_rtx_COMPARE (mode, x, y));
236+ enum machine_mode mode;
237+ rtx cc_reg;
238+ int dimode_comparison = GET_MODE (x) == DImode || GET_MODE (y) == DImode;
239+
240+ /* We might have X as a constant, Y as a register because of the predicates
241+ used for cmpdi. If so, force X to a register here. */
242+ if (dimode_comparison && !REG_P (x))
243+ x = force_reg (DImode, x);
244+
245+ mode = SELECT_CC_MODE (code, x, y);
246+ cc_reg = gen_rtx_REG (mode, CC_REGNUM);
247+
248+ if (dimode_comparison
249+ && !(TARGET_HARD_FLOAT && TARGET_MAVERICK)
250+ && mode != CC_CZmode)
251+ {
252+ rtx clobber, set;
253+
254+ /* To compare two non-zero values for equality, XOR them and
255+ then compare against zero. Not used for ARM mode; there
256+ CC_CZmode is cheaper. */
257+ if (mode == CC_Zmode && y != const0_rtx)
258+ {
259+ x = expand_binop (DImode, xor_optab, x, y, NULL_RTX, 0, OPTAB_WIDEN);
260+ y = const0_rtx;
261+ }
262+ /* A scratch register is required. */
263+ clobber = gen_rtx_CLOBBER (VOIDmode, gen_rtx_SCRATCH (SImode));
264+ set = gen_rtx_SET (VOIDmode, cc_reg, gen_rtx_COMPARE (mode, x, y));
265+ emit_insn (gen_rtx_PARALLEL (VOIDmode, gen_rtvec (2, set, clobber)));
266+ }
267+ else
268+ emit_set_insn (cc_reg, gen_rtx_COMPARE (mode, x, y));
269
270 return cc_reg;
271 }
272@@ -11253,6 +11400,34 @@
273 return false;
274 }
275
276+/* Return true if it is possible to inline both the high and low parts
277+ of a 64-bit constant into 32-bit data processing instructions. */
278+bool
279+arm_const_double_by_immediates (rtx val)
280+{
281+ enum machine_mode mode = GET_MODE (val);
282+ rtx part;
283+
284+ if (mode == VOIDmode)
285+ mode = DImode;
286+
287+ part = gen_highpart_mode (SImode, mode, val);
288+
289+ gcc_assert (GET_CODE (part) == CONST_INT);
290+
291+ if (!const_ok_for_arm (INTVAL (part)))
292+ return false;
293+
294+ part = gen_lowpart (SImode, val);
295+
296+ gcc_assert (GET_CODE (part) == CONST_INT);
297+
298+ if (!const_ok_for_arm (INTVAL (part)))
299+ return false;
300+
301+ return true;
302+}
303+
304 /* Scan INSN and note any of its operands that need fixing.
305 If DO_PUSHES is false we do not actually push any of the fixups
306 needed. The function returns TRUE if any fixups were needed/pushed.
307@@ -15097,8 +15272,18 @@
308 the value being loaded is big-wordian or little-wordian. The
309 order of the two register loads can matter however, if the address
310 of the memory location is actually held in one of the registers
311- being overwritten by the load. */
312+ being overwritten by the load.
313+
314+ The 'Q' and 'R' constraints are also available for 64-bit
315+ constants. */
316 case 'Q':
317+ if (GET_CODE (x) == CONST_INT || GET_CODE (x) == CONST_DOUBLE)
318+ {
319+ rtx part = gen_lowpart (SImode, x);
320+ fprintf (stream, "#" HOST_WIDE_INT_PRINT_DEC, INTVAL (part));
321+ return;
322+ }
323+
324 if (GET_CODE (x) != REG || REGNO (x) > LAST_ARM_REGNUM)
325 {
326 output_operand_lossage ("invalid operand for code '%c'", code);
327@@ -15109,6 +15294,18 @@
328 return;
329
330 case 'R':
331+ if (GET_CODE (x) == CONST_INT || GET_CODE (x) == CONST_DOUBLE)
332+ {
333+ enum machine_mode mode = GET_MODE (x);
334+ rtx part;
335+
336+ if (mode == VOIDmode)
337+ mode = DImode;
338+ part = gen_highpart_mode (SImode, mode, x);
339+ fprintf (stream, "#" HOST_WIDE_INT_PRINT_DEC, INTVAL (part));
340+ return;
341+ }
342+
343 if (GET_CODE (x) != REG || REGNO (x) > LAST_ARM_REGNUM)
344 {
345 output_operand_lossage ("invalid operand for code '%c'", code);
346@@ -15801,6 +15998,28 @@
347 default: gcc_unreachable ();
348 }
349
350+ case CC_CZmode:
351+ switch (comp_code)
352+ {
353+ case NE: return ARM_NE;
354+ case EQ: return ARM_EQ;
355+ case GEU: return ARM_CS;
356+ case GTU: return ARM_HI;
357+ case LEU: return ARM_LS;
358+ case LTU: return ARM_CC;
359+ default: gcc_unreachable ();
360+ }
361+
362+ case CC_NCVmode:
363+ switch (comp_code)
364+ {
365+ case GE: return ARM_GE;
366+ case LT: return ARM_LT;
367+ case GEU: return ARM_CS;
368+ case LTU: return ARM_CC;
369+ default: gcc_unreachable ();
370+ }
371+
372 case CCmode:
373 switch (comp_code)
374 {
375
376=== modified file 'gcc/config/arm/arm.h'
377--- old/gcc/config/arm/arm.h 2009-12-23 16:36:40 +0000
378+++ new/gcc/config/arm/arm.h 2010-07-29 16:58:56 +0000
379@@ -2253,19 +2253,7 @@
380 : reverse_condition (code))
381
382 #define CANONICALIZE_COMPARISON(CODE, OP0, OP1) \
383- do \
384- { \
385- if (GET_CODE (OP1) == CONST_INT \
386- && ! (const_ok_for_arm (INTVAL (OP1)) \
387- || (const_ok_for_arm (- INTVAL (OP1))))) \
388- { \
389- rtx const_op = OP1; \
390- CODE = arm_canonicalize_comparison ((CODE), GET_MODE (OP0), \
391- &const_op); \
392- OP1 = const_op; \
393- } \
394- } \
395- while (0)
396+ (CODE) = arm_canonicalize_comparison (CODE, &(OP0), &(OP1))
397
398 /* The arm5 clz instruction returns 32. */
399 #define CLZ_DEFINED_VALUE_AT_ZERO(MODE, VALUE) ((VALUE) = 32, 1)
400
401=== modified file 'gcc/config/arm/arm.md'
402--- old/gcc/config/arm/arm.md 2010-07-29 15:59:12 +0000
403+++ new/gcc/config/arm/arm.md 2010-07-29 16:58:56 +0000
404@@ -6718,17 +6718,45 @@
405 operands[3])); DONE;"
406 )
407
408-;; this uses the Cirrus DI compare instruction
409 (define_expand "cbranchdi4"
410 [(set (pc) (if_then_else
411 (match_operator 0 "arm_comparison_operator"
412- [(match_operand:DI 1 "cirrus_fp_register" "")
413- (match_operand:DI 2 "cirrus_fp_register" "")])
414+ [(match_operand:DI 1 "cmpdi_operand" "")
415+ (match_operand:DI 2 "cmpdi_operand" "")])
416 (label_ref (match_operand 3 "" ""))
417 (pc)))]
418- "TARGET_ARM && TARGET_HARD_FLOAT && TARGET_MAVERICK"
419- "emit_jump_insn (gen_cbranch_cc (operands[0], operands[1], operands[2],
420- operands[3])); DONE;"
421+ "TARGET_32BIT"
422+ "{
423+ rtx swap = NULL_RTX;
424+ enum rtx_code code = GET_CODE (operands[0]);
425+
426+ /* We should not have two constants. */
427+ gcc_assert (GET_MODE (operands[1]) == DImode
428+ || GET_MODE (operands[2]) == DImode);
429+
430+ /* Flip unimplemented DImode comparisons to a form that
431+ arm_gen_compare_reg can handle. */
432+ switch (code)
433+ {
434+ case GT:
435+ swap = gen_rtx_LT (VOIDmode, operands[2], operands[1]); break;
436+ case LE:
437+ swap = gen_rtx_GE (VOIDmode, operands[2], operands[1]); break;
438+ case GTU:
439+ swap = gen_rtx_LTU (VOIDmode, operands[2], operands[1]); break;
440+ case LEU:
441+ swap = gen_rtx_GEU (VOIDmode, operands[2], operands[1]); break;
442+ default:
443+ break;
444+ }
445+ if (swap)
446+ emit_jump_insn (gen_cbranch_cc (swap, operands[2], operands[1],
447+ operands[3]));
448+ else
449+ emit_jump_insn (gen_cbranch_cc (operands[0], operands[1], operands[2],
450+ operands[3]));
451+ DONE;
452+ }"
453 )
454
455 (define_insn "*cbranchsi4_insn"
456@@ -7880,6 +7908,52 @@
457 (const_string "alu_shift_reg")))]
458 )
459
460+;; DImode comparisons. The generic code generates branches that
461+;; if-conversion can not reduce to a conditional compare, so we do
462+;; that directly.
463+
464+(define_insn "*arm_cmpdi_insn"
465+ [(set (reg:CC_NCV CC_REGNUM)
466+ (compare:CC_NCV (match_operand:DI 0 "s_register_operand" "r")
467+ (match_operand:DI 1 "arm_di_operand" "rDi")))
468+ (clobber (match_scratch:SI 2 "=r"))]
469+ "TARGET_32BIT && !(TARGET_HARD_FLOAT && TARGET_MAVERICK)"
470+ "cmp\\t%Q0, %Q1\;sbcs\\t%2, %R0, %R1"
471+ [(set_attr "conds" "set")
472+ (set_attr "length" "8")]
473+)
474+
475+(define_insn "*arm_cmpdi_unsigned"
476+ [(set (reg:CC_CZ CC_REGNUM)
477+ (compare:CC_CZ (match_operand:DI 0 "s_register_operand" "r")
478+ (match_operand:DI 1 "arm_di_operand" "rDi")))]
479+ "TARGET_ARM"
480+ "cmp%?\\t%R0, %R1\;cmpeq\\t%Q0, %Q1"
481+ [(set_attr "conds" "set")
482+ (set_attr "length" "8")]
483+)
484+
485+(define_insn "*arm_cmpdi_zero"
486+ [(set (reg:CC_Z CC_REGNUM)
487+ (compare:CC_Z (match_operand:DI 0 "s_register_operand" "r")
488+ (const_int 0)))
489+ (clobber (match_scratch:SI 1 "=r"))]
490+ "TARGET_32BIT"
491+ "orr%.\\t%1, %Q0, %R0"
492+ [(set_attr "conds" "set")]
493+)
494+
495+(define_insn "*thumb_cmpdi_zero"
496+ [(set (reg:CC_Z CC_REGNUM)
497+ (compare:CC_Z (match_operand:DI 0 "s_register_operand" "l")
498+ (const_int 0)))
499+ (clobber (match_scratch:SI 1 "=l"))]
500+ "TARGET_THUMB1"
501+ "orr\\t%1, %Q0, %R0"
502+ [(set_attr "conds" "set")
503+ (set_attr "length" "2")]
504+)
505+
506 ;; Cirrus SF compare instruction
507 (define_insn "*cirrus_cmpsf"
508 [(set (reg:CCFP CC_REGNUM)
509@@ -8183,18 +8257,45 @@
510 operands[2], operands[3])); DONE;"
511 )
512
513-;; this uses the Cirrus DI compare instruction
514 (define_expand "cstoredi4"
515 [(set (match_operand:SI 0 "s_register_operand" "")
516 (match_operator:SI 1 "arm_comparison_operator"
517- [(match_operand:DI 2 "cirrus_fp_register" "")
518- (match_operand:DI 3 "cirrus_fp_register" "")]))]
519- "TARGET_ARM && TARGET_HARD_FLOAT && TARGET_MAVERICK"
520- "emit_insn (gen_cstore_cc (operands[0], operands[1],
521- operands[2], operands[3])); DONE;"
522+ [(match_operand:DI 2 "cmpdi_operand" "")
523+ (match_operand:DI 3 "cmpdi_operand" "")]))]
524+ "TARGET_32BIT"
525+ "{
526+ rtx swap = NULL_RTX;
527+ enum rtx_code code = GET_CODE (operands[1]);
528+
529+ /* We should not have two constants. */
530+ gcc_assert (GET_MODE (operands[2]) == DImode
531+ || GET_MODE (operands[3]) == DImode);
532+
533+ /* Flip unimplemented DImode comparisons to a form that
534+ arm_gen_compare_reg can handle. */
535+ switch (code)
536+ {
537+ case GT:
538+ swap = gen_rtx_LT (VOIDmode, operands[3], operands[2]); break;
539+ case LE:
540+ swap = gen_rtx_GE (VOIDmode, operands[3], operands[2]); break;
541+ case GTU:
542+ swap = gen_rtx_LTU (VOIDmode, operands[3], operands[2]); break;
543+ case LEU:
544+ swap = gen_rtx_GEU (VOIDmode, operands[3], operands[2]); break;
545+ default:
546+ break;
547+ }
548+ if (swap)
549+ emit_insn (gen_cstore_cc (operands[0], swap, operands[3],
550+ operands[2]));
551+ else
552+ emit_insn (gen_cstore_cc (operands[0], operands[1], operands[2],
553+ operands[3]));
554+ DONE;
555+ }"
556 )
557
558-
559 (define_expand "cstoresi_eq0_thumb1"
560 [(parallel
561 [(set (match_operand:SI 0 "s_register_operand" "")
562
563=== modified file 'gcc/config/arm/constraints.md'
564--- old/gcc/config/arm/constraints.md 2009-12-07 20:34:53 +0000
565+++ new/gcc/config/arm/constraints.md 2010-07-29 16:58:56 +0000
566@@ -29,7 +29,7 @@
567 ;; in Thumb-1 state: I, J, K, L, M, N, O
568
569 ;; The following multi-letter normal constraints have been used:
570-;; in ARM/Thumb-2 state: Da, Db, Dc, Dn, Dl, DL, Dv, Dy
571+;; in ARM/Thumb-2 state: Da, Db, Dc, Dn, Dl, DL, Dv, Dy, Di
572 ;; in Thumb-1 state: Pa, Pb
573 ;; in Thumb-2 state: Ps, Pt
574
575@@ -191,6 +191,13 @@
576 (match_test "TARGET_32BIT && arm_const_double_inline_cost (op) == 4
577 && !(optimize_size || arm_ld_sched)")))
578
579+(define_constraint "Di"
580+ "@internal
581+ In ARM/Thumb-2 state a const_int or const_double where both the high
582+ and low SImode words can be generated as immediates in 32-bit instructions."
583+ (and (match_code "const_double,const_int")
584+ (match_test "TARGET_32BIT && arm_const_double_by_immediates (op)")))
585+
586 (define_constraint "Dn"
587 "@internal
588 In ARM/Thumb-2 state a const_vector which can be loaded with a Neon vmov
589
590=== modified file 'gcc/config/arm/predicates.md'
591--- old/gcc/config/arm/predicates.md 2010-07-29 15:59:12 +0000
592+++ new/gcc/config/arm/predicates.md 2010-07-29 16:58:56 +0000
593@@ -86,6 +86,12 @@
594 (and (match_code "const_int")
595 (match_test "const_ok_for_arm (INTVAL (op))")))
596
597+;; A constant value which fits into two instructions, each taking
598+;; an arithmetic constant operand for one of the words.
599+(define_predicate "arm_immediate_di_operand"
600+ (and (match_code "const_int,const_double")
601+ (match_test "arm_const_double_by_immediates (op)")))
602+
603 (define_predicate "arm_neg_immediate_operand"
604 (and (match_code "const_int")
605 (match_test "const_ok_for_arm (-INTVAL (op))")))
606@@ -115,6 +121,10 @@
607 (ior (match_operand 0 "arm_rhs_operand")
608 (match_operand 0 "arm_not_immediate_operand")))
609
610+(define_predicate "arm_di_operand"
611+ (ior (match_operand 0 "s_register_operand")
612+ (match_operand 0 "arm_immediate_di_operand")))
613+
614 ;; True if the operand is a memory reference which contains an
615 ;; offsettable address.
616 (define_predicate "offsettable_memory_operand"
617@@ -522,4 +532,12 @@
618 (define_predicate "neon_lane_number"
619 (and (match_code "const_int")
620 (match_test "INTVAL (op) >= 0 && INTVAL (op) <= 7")))
621+;; Predicates for named expanders that overlap multiple ISAs.
622+
623+(define_predicate "cmpdi_operand"
624+ (if_then_else (match_test "TARGET_HARD_FLOAT && TARGET_MAVERICK")
625+ (and (match_test "TARGET_ARM")
626+ (match_operand 0 "cirrus_fp_register"))
627+ (and (match_test "TARGET_32BIT")
628+ (match_operand 0 "arm_di_operand"))))
629
630
631=== added file 'gcc/testsuite/gcc.c-torture/execute/20100416-1.c'
632--- old/gcc/testsuite/gcc.c-torture/execute/20100416-1.c 1970-01-01 00:00:00 +0000
633+++ new/gcc/testsuite/gcc.c-torture/execute/20100416-1.c 2010-07-29 16:58:56 +0000
634@@ -0,0 +1,40 @@
635+void abort(void);
636+
637+int
638+movegt(int x, int y, long long a)
639+{
640+ int i;
641+ int ret = 0;
642+ for (i = 0; i < y; i++)
643+ {
644+ if (a >= (long long) 0xf000000000000000LL)
645+ ret = x;
646+ else
647+ ret = y;
648+ }
649+ return ret;
650+}
651+
652+struct test
653+{
654+ long long val;
655+ int ret;
656+} tests[] = {
657+ { 0xf000000000000000LL, -1 },
658+ { 0xefffffffffffffffLL, 1 },
659+ { 0xf000000000000001LL, -1 },
660+ { 0x0000000000000000LL, -1 },
661+ { 0x8000000000000000LL, 1 },
662+};
663+
664+int
665+main()
666+{
667+ int i;
668+ for (i = 0; i < sizeof (tests) / sizeof (tests[0]); i++)
669+ {
670+ if (movegt (-1, 1, tests[i].val) != tests[i].ret)
671+ abort ();
672+ }
673+ return 0;
674+}
675
diff --git a/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99302.patch b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99302.patch
new file mode 100644
index 0000000000..635d3f8bd5
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99302.patch
@@ -0,0 +1,244 @@
12010-07-09 Sandra Loosemore <sandra@codesourcery.com>
2
3 Backport from mainline (originally on Sourcery G++ 4.4):
4
5 2010-07-02 Julian Brown <julian@codesourcery.com>
6 Sandra Loosemore <sandra@codesourcery.com>
7
8 PR target/43703
9
10 gcc/
11 * config/arm/vec-common.md (add<mode>3, sub<mode>3, smin<mode>3)
12 (smax<mode>3): Disable for NEON float modes when
13 flag_unsafe_math_optimizations is false.
14 * config/arm/neon.md (*add<mode>3_neon, *sub<mode>3_neon)
15 (*mul<mode>3_neon)
16 (mul<mode>3add<mode>_neon, mul<mode>3neg<mode>add<mode>_neon)
17 (reduc_splus_<mode>, reduc_smin_<mode>, reduc_smax_<mode>): Disable
18 for NEON float modes when flag_unsafe_math_optimizations is false.
19 (quad_halves_<code>v4sf): Only enable if flag_unsafe_math_optimizations
20 is true.
21 * doc/invoke.texi (ARM Options): Add note about floating point
22 vectorization requiring -funsafe-math-optimizations.
23
24 gcc/testsuite/
25 * gcc.dg/vect/vect.exp: Add -ffast-math for NEON.
26 * gcc.dg/vect/vect-reduc-6.c: Add XFAIL for NEON.
27
28 2010-07-08 Sandra Loosemore <sandra@codesourcery.com>
29
30 Backport from upstream (originally from Sourcery G++ 4.4):
31
32=== modified file 'gcc/config/arm/neon.md'
33--- old/gcc/config/arm/neon.md 2010-07-29 15:59:12 +0000
34+++ new/gcc/config/arm/neon.md 2010-07-29 17:03:20 +0000
35@@ -819,7 +819,7 @@
36 [(set (match_operand:VDQ 0 "s_register_operand" "=w")
37 (plus:VDQ (match_operand:VDQ 1 "s_register_operand" "w")
38 (match_operand:VDQ 2 "s_register_operand" "w")))]
39- "TARGET_NEON"
40+ "TARGET_NEON && (!<Is_float_mode> || flag_unsafe_math_optimizations)"
41 "vadd.<V_if_elem>\t%<V_reg>0, %<V_reg>1, %<V_reg>2"
42 [(set (attr "neon_type")
43 (if_then_else (ne (symbol_ref "<Is_float_mode>") (const_int 0))
44@@ -853,7 +853,7 @@
45 [(set (match_operand:VDQ 0 "s_register_operand" "=w")
46 (minus:VDQ (match_operand:VDQ 1 "s_register_operand" "w")
47 (match_operand:VDQ 2 "s_register_operand" "w")))]
48- "TARGET_NEON"
49+ "TARGET_NEON && (!<Is_float_mode> || flag_unsafe_math_optimizations)"
50 "vsub.<V_if_elem>\t%<V_reg>0, %<V_reg>1, %<V_reg>2"
51 [(set (attr "neon_type")
52 (if_then_else (ne (symbol_ref "<Is_float_mode>") (const_int 0))
53@@ -888,7 +888,7 @@
54 [(set (match_operand:VDQ 0 "s_register_operand" "=w")
55 (mult:VDQ (match_operand:VDQ 1 "s_register_operand" "w")
56 (match_operand:VDQ 2 "s_register_operand" "w")))]
57- "TARGET_NEON"
58+ "TARGET_NEON && (!<Is_float_mode> || flag_unsafe_math_optimizations)"
59 "vmul.<V_if_elem>\t%<V_reg>0, %<V_reg>1, %<V_reg>2"
60 [(set (attr "neon_type")
61 (if_then_else (ne (symbol_ref "<Is_float_mode>") (const_int 0))
62@@ -910,7 +910,7 @@
63 (plus:VDQ (mult:VDQ (match_operand:VDQ 2 "s_register_operand" "w")
64 (match_operand:VDQ 3 "s_register_operand" "w"))
65 (match_operand:VDQ 1 "s_register_operand" "0")))]
66- "TARGET_NEON"
67+ "TARGET_NEON && (!<Is_float_mode> || flag_unsafe_math_optimizations)"
68 "vmla.<V_if_elem>\t%<V_reg>0, %<V_reg>2, %<V_reg>3"
69 [(set (attr "neon_type")
70 (if_then_else (ne (symbol_ref "<Is_float_mode>") (const_int 0))
71@@ -932,7 +932,7 @@
72 (minus:VDQ (match_operand:VDQ 1 "s_register_operand" "0")
73 (mult:VDQ (match_operand:VDQ 2 "s_register_operand" "w")
74 (match_operand:VDQ 3 "s_register_operand" "w"))))]
75- "TARGET_NEON"
76+ "TARGET_NEON && (!<Is_float_mode> || flag_unsafe_math_optimizations)"
77 "vmls.<V_if_elem>\t%<V_reg>0, %<V_reg>2, %<V_reg>3"
78 [(set (attr "neon_type")
79 (if_then_else (ne (symbol_ref "<Is_float_mode>") (const_int 0))
80@@ -1361,7 +1361,7 @@
81 (parallel [(const_int 0) (const_int 1)]))
82 (vec_select:V2SF (match_dup 1)
83 (parallel [(const_int 2) (const_int 3)]))))]
84- "TARGET_NEON"
85+ "TARGET_NEON && flag_unsafe_math_optimizations"
86 "<VQH_mnem>.f32\t%P0, %e1, %f1"
87 [(set_attr "vqh_mnem" "<VQH_mnem>")
88 (set (attr "neon_type")
89@@ -1496,7 +1496,7 @@
90 (define_expand "reduc_splus_<mode>"
91 [(match_operand:VD 0 "s_register_operand" "")
92 (match_operand:VD 1 "s_register_operand" "")]
93- "TARGET_NEON"
94+ "TARGET_NEON && (!<Is_float_mode> || flag_unsafe_math_optimizations)"
95 {
96 neon_pairwise_reduce (operands[0], operands[1], <MODE>mode,
97 &gen_neon_vpadd_internal<mode>);
98@@ -1506,7 +1506,7 @@
99 (define_expand "reduc_splus_<mode>"
100 [(match_operand:VQ 0 "s_register_operand" "")
101 (match_operand:VQ 1 "s_register_operand" "")]
102- "TARGET_NEON"
103+ "TARGET_NEON && (!<Is_float_mode> || flag_unsafe_math_optimizations)"
104 {
105 rtx step1 = gen_reg_rtx (<V_HALF>mode);
106 rtx res_d = gen_reg_rtx (<V_HALF>mode);
107@@ -1541,7 +1541,7 @@
108 (define_expand "reduc_smin_<mode>"
109 [(match_operand:VD 0 "s_register_operand" "")
110 (match_operand:VD 1 "s_register_operand" "")]
111- "TARGET_NEON"
112+ "TARGET_NEON && (!<Is_float_mode> || flag_unsafe_math_optimizations)"
113 {
114 neon_pairwise_reduce (operands[0], operands[1], <MODE>mode,
115 &gen_neon_vpsmin<mode>);
116@@ -1551,7 +1551,7 @@
117 (define_expand "reduc_smin_<mode>"
118 [(match_operand:VQ 0 "s_register_operand" "")
119 (match_operand:VQ 1 "s_register_operand" "")]
120- "TARGET_NEON"
121+ "TARGET_NEON && (!<Is_float_mode> || flag_unsafe_math_optimizations)"
122 {
123 rtx step1 = gen_reg_rtx (<V_HALF>mode);
124 rtx res_d = gen_reg_rtx (<V_HALF>mode);
125@@ -1566,7 +1566,7 @@
126 (define_expand "reduc_smax_<mode>"
127 [(match_operand:VD 0 "s_register_operand" "")
128 (match_operand:VD 1 "s_register_operand" "")]
129- "TARGET_NEON"
130+ "TARGET_NEON && (!<Is_float_mode> || flag_unsafe_math_optimizations)"
131 {
132 neon_pairwise_reduce (operands[0], operands[1], <MODE>mode,
133 &gen_neon_vpsmax<mode>);
134@@ -1576,7 +1576,7 @@
135 (define_expand "reduc_smax_<mode>"
136 [(match_operand:VQ 0 "s_register_operand" "")
137 (match_operand:VQ 1 "s_register_operand" "")]
138- "TARGET_NEON"
139+ "TARGET_NEON && (!<Is_float_mode> || flag_unsafe_math_optimizations)"
140 {
141 rtx step1 = gen_reg_rtx (<V_HALF>mode);
142 rtx res_d = gen_reg_rtx (<V_HALF>mode);
143
144=== modified file 'gcc/config/arm/vec-common.md'
145--- old/gcc/config/arm/vec-common.md 2009-11-11 14:23:03 +0000
146+++ new/gcc/config/arm/vec-common.md 2010-07-29 17:03:20 +0000
147@@ -57,7 +57,8 @@
148 [(set (match_operand:VALL 0 "s_register_operand" "")
149 (plus:VALL (match_operand:VALL 1 "s_register_operand" "")
150 (match_operand:VALL 2 "s_register_operand" "")))]
151- "TARGET_NEON
152+ "(TARGET_NEON && ((<MODE>mode != V2SFmode && <MODE>mode != V4SFmode)
153+ || flag_unsafe_math_optimizations))
154 || (TARGET_REALLY_IWMMXT && VALID_IWMMXT_REG_MODE (<MODE>mode))"
155 {
156 })
157@@ -66,7 +67,8 @@
158 [(set (match_operand:VALL 0 "s_register_operand" "")
159 (minus:VALL (match_operand:VALL 1 "s_register_operand" "")
160 (match_operand:VALL 2 "s_register_operand" "")))]
161- "TARGET_NEON
162+ "(TARGET_NEON && ((<MODE>mode != V2SFmode && <MODE>mode != V4SFmode)
163+ || flag_unsafe_math_optimizations))
164 || (TARGET_REALLY_IWMMXT && VALID_IWMMXT_REG_MODE (<MODE>mode))"
165 {
166 })
167@@ -75,7 +77,9 @@
168 [(set (match_operand:VALLW 0 "s_register_operand" "")
169 (mult:VALLW (match_operand:VALLW 1 "s_register_operand" "")
170 (match_operand:VALLW 2 "s_register_operand" "")))]
171- "TARGET_NEON || (<MODE>mode == V4HImode && TARGET_REALLY_IWMMXT)"
172+ "(TARGET_NEON && ((<MODE>mode != V2SFmode && <MODE>mode != V4SFmode)
173+ || flag_unsafe_math_optimizations))
174+ || (<MODE>mode == V4HImode && TARGET_REALLY_IWMMXT)"
175 {
176 })
177
178@@ -83,7 +87,8 @@
179 [(set (match_operand:VALLW 0 "s_register_operand" "")
180 (smin:VALLW (match_operand:VALLW 1 "s_register_operand" "")
181 (match_operand:VALLW 2 "s_register_operand" "")))]
182- "TARGET_NEON
183+ "(TARGET_NEON && ((<MODE>mode != V2SFmode && <MODE>mode != V4SFmode)
184+ || flag_unsafe_math_optimizations))
185 || (TARGET_REALLY_IWMMXT && VALID_IWMMXT_REG_MODE (<MODE>mode))"
186 {
187 })
188@@ -101,7 +106,8 @@
189 [(set (match_operand:VALLW 0 "s_register_operand" "")
190 (smax:VALLW (match_operand:VALLW 1 "s_register_operand" "")
191 (match_operand:VALLW 2 "s_register_operand" "")))]
192- "TARGET_NEON
193+ "(TARGET_NEON && ((<MODE>mode != V2SFmode && <MODE>mode != V4SFmode)
194+ || flag_unsafe_math_optimizations))
195 || (TARGET_REALLY_IWMMXT && VALID_IWMMXT_REG_MODE (<MODE>mode))"
196 {
197 })
198
199=== modified file 'gcc/doc/invoke.texi'
200--- old/gcc/doc/invoke.texi 2010-07-29 15:53:39 +0000
201+++ new/gcc/doc/invoke.texi 2010-07-29 17:03:20 +0000
202@@ -9874,6 +9874,14 @@
203 If @option{-msoft-float} is specified this specifies the format of
204 floating point values.
205
206+If the selected floating-point hardware includes the NEON extension
207+(e.g. @option{-mfpu}=@samp{neon}), note that floating-point
208+operations will not be used by GCC's auto-vectorization pass unless
209+@option{-funsafe-math-optimizations} is also specified. This is
210+because NEON hardware does not fully implement the IEEE 754 standard for
211+floating-point arithmetic (in particular denormal values are treated as
212+zero), so the use of NEON instructions may lead to a loss of precision.
213+
214 @item -mfp16-format=@var{name}
215 @opindex mfp16-format
216 Specify the format of the @code{__fp16} half-precision floating-point type.
217
218=== modified file 'gcc/testsuite/gcc.dg/vect/vect-reduc-6.c'
219--- old/gcc/testsuite/gcc.dg/vect/vect-reduc-6.c 2007-09-04 12:05:19 +0000
220+++ new/gcc/testsuite/gcc.dg/vect/vect-reduc-6.c 2010-07-29 17:03:20 +0000
221@@ -49,5 +49,6 @@
222 }
223
224 /* need -ffast-math to vectorizer these loops. */
225-/* { dg-final { scan-tree-dump-times "vectorized 0 loops" 1 "vect" } } */
226+/* ARM NEON passes -ffast-math to these tests, so expect this to fail. */
227+/* { dg-final { scan-tree-dump-times "vectorized 0 loops" 1 "vect" { xfail arm_neon_ok } } } */
228 /* { dg-final { cleanup-tree-dump "vect" } } */
229
230=== modified file 'gcc/testsuite/gcc.dg/vect/vect.exp'
231--- old/gcc/testsuite/gcc.dg/vect/vect.exp 2010-07-29 15:38:15 +0000
232+++ new/gcc/testsuite/gcc.dg/vect/vect.exp 2010-07-29 17:03:20 +0000
233@@ -102,6 +102,10 @@
234 set dg-do-what-default run
235 } elseif [is-effective-target arm_neon_ok] {
236 eval lappend DEFAULT_VECTCFLAGS [add_options_for_arm_neon ""]
237+ # NEON does not support denormals, so is not used for vectorization by
238+ # default to avoid loss of precision. We must pass -ffast-math to test
239+ # vectorization of float operations.
240+ lappend DEFAULT_VECTCFLAGS "-ffast-math"
241 if [is-effective-target arm_neon_hw] {
242 set dg-do-what-default run
243 } else {
244
diff --git a/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99303.patch b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99303.patch
new file mode 100644
index 0000000000..53d1d08d52
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99303.patch
@@ -0,0 +1,131 @@
1 Merge from Sourcery G++ 4.4:
2
3 2009-05-21 Sandra Loosemore <sandra@codesourcery.com>
4
5 Merge from Sourcery G++ 4.3:
6
7 2009-04-04 Sandra Loosemore <sandra@codesourcery.com>
8
9 Issue #5104
10 PR tree-optimization/39604
11
12 gcc/testsuite
13 * g++.dg/tree-ssa/sink-1.C: New.
14
15 gcc/
16 * tree_ssa-sink.c (sink_code_in_bb): Do not sink statements out
17 of a lexical block containing variable definitions.
18
192010-07-09 Sandra Loosemore <sandra@codesourcery.com>
20
21 Backport from mainline (originally on Sourcery G++ 4.4):
22
23 2010-07-02 Julian Brown <julian@codesourcery.com>
24
25=== added file 'gcc/testsuite/g++.dg/tree-ssa/sink-1.C'
26--- old/gcc/testsuite/g++.dg/tree-ssa/sink-1.C 1970-01-01 00:00:00 +0000
27+++ new/gcc/testsuite/g++.dg/tree-ssa/sink-1.C 2010-07-30 12:14:18 +0000
28@@ -0,0 +1,50 @@
29+/* { dg-do run } */
30+/* { dg-options "-O1" } */
31+
32+class A {
33+ public:
34+ A() {}
35+ virtual ~A() {}
36+ void * dostuff();
37+
38+ virtual int dovirtual() = 0;
39+};
40+
41+
42+class B : public A {
43+ public:
44+ B() {}
45+ int dovirtual() { return 0;}
46+ virtual ~B() {};
47+};
48+
49+class C : public B {
50+ public:
51+ C() {}
52+ virtual ~C() {};
53+};
54+
55+void* A::dostuff()
56+{
57+ return (void*)dovirtual();
58+}
59+
60+/* tree-ssa-sink was sinking the inlined destructor for STUFF out of
61+ the first inner block and into the second one, where it was ending up
62+ after the inlined constructor for STUFF2. This is bad because
63+ cfgexpand aliases STUFF and STUFF2 to the same storage at -O1
64+ (i.e., without -fstrict-aliasing), with the result that STUFF2's
65+ vtable was getting trashed. */
66+
67+int main() {
68+ {
69+ B stuff;
70+ stuff.dostuff();
71+ }
72+ {
73+ C stuff2;
74+ stuff2.dostuff();
75+ }
76+ return 0;
77+}
78+
79
80=== modified file 'gcc/tree-ssa-sink.c'
81--- old/gcc/tree-ssa-sink.c 2009-11-28 16:21:00 +0000
82+++ new/gcc/tree-ssa-sink.c 2010-07-30 12:14:18 +0000
83@@ -470,6 +470,47 @@
84 last = false;
85 continue;
86 }
87+
88+ /* We cannot move statements that contain references to block-scope
89+ variables out of that block, as this may lead to incorrect aliasing
90+ when we lay out the stack frame in cfgexpand.c.
91+ In lieu of more sophisticated analysis, be very conservative here
92+ and prohibit moving any statement that references memory out of a
93+ block with variables. */
94+ if (gimple_references_memory_p (stmt))
95+ {
96+ tree fromblock = gimple_block (stmt);
97+ while (fromblock
98+ && fromblock != current_function_decl
99+ && !BLOCK_VARS (fromblock))
100+ fromblock = BLOCK_SUPERCONTEXT (fromblock);
101+ if (fromblock && fromblock != current_function_decl)
102+ {
103+ gimple tostmt;
104+ tree toblock;
105+
106+ if (gsi_end_p (togsi))
107+ tostmt = gimple_seq_last_stmt (gsi_seq (togsi));
108+ else
109+ tostmt = gsi_stmt (togsi);
110+ if (tostmt)
111+ toblock = gimple_block (tostmt);
112+ else
113+ toblock = NULL;
114+ while (toblock
115+ && toblock != current_function_decl
116+ && toblock != fromblock)
117+ toblock = BLOCK_SUPERCONTEXT (toblock);
118+ if (!toblock || toblock != fromblock)
119+ {
120+ if (!gsi_end_p (gsi))
121+ gsi_prev (&gsi);
122+ last = false;
123+ continue;
124+ }
125+ }
126+ }
127+
128 if (dump_file)
129 {
130 fprintf (dump_file, "Sinking ");
131
diff --git a/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99304.patch b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99304.patch
new file mode 100644
index 0000000000..ab1296347b
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99304.patch
@@ -0,0 +1,81 @@
12010-07-10 Yao Qi <yao@codesourcery.com>
2
3 Merge from Sourcery G++ 4.4:
4
5 2009-05-28 Julian Brown <julian@codesourcery.com>
6
7 Merged from Sourcery G++ 4.3:
8
9 libgcc/
10 * config.host (arm*-*-linux*, arm*-*-uclinux*, arm*-*-eabi*)
11 (arm*-*-symbianelf): Add arm/t-divmod-ef to tmake_file.
12 * Makefile.in (LIB2_DIVMOD_EXCEPTION_FLAGS): Set to previous
13 default if not set by a target-specific Makefile fragment.
14 (lib2-divmod-o, lib2-divmod-s-o): Use above.
15 * config/arm/t-divmod-ef: New.
16
17 2010-07-09 Sandra Loosemore <sandra@codesourcery.com>
18
19 Merge from Sourcery G++ 4.4:
20
21=== modified file 'libgcc/Makefile.in'
22--- old/libgcc/Makefile.in 2010-03-30 12:08:52 +0000
23+++ new/libgcc/Makefile.in 2010-07-30 12:21:02 +0000
24@@ -400,18 +400,24 @@
25 endif
26 endif
27
28+ifeq ($(LIB2_DIVMOD_EXCEPTION_FLAGS),)
29+# Provide default flags for compiling divmod functions, if they haven't been
30+# set already by a target-specific Makefile fragment.
31+LIB2_DIVMOD_EXCEPTION_FLAGS := -fexceptions -fnon-call-exceptions
32+endif
33+
34 # Build LIB2_DIVMOD_FUNCS.
35 lib2-divmod-o = $(patsubst %,%$(objext),$(LIB2_DIVMOD_FUNCS))
36 $(lib2-divmod-o): %$(objext): $(gcc_srcdir)/libgcc2.c
37 $(gcc_compile) -DL$* -c $(gcc_srcdir)/libgcc2.c \
38- -fexceptions -fnon-call-exceptions $(vis_hide)
39+ $(LIB2_DIVMOD_EXCEPTION_FLAGS) $(vis_hide)
40 libgcc-objects += $(lib2-divmod-o)
41
42 ifeq ($(enable_shared),yes)
43 lib2-divmod-s-o = $(patsubst %,%_s$(objext),$(LIB2_DIVMOD_FUNCS))
44 $(lib2-divmod-s-o): %_s$(objext): $(gcc_srcdir)/libgcc2.c
45 $(gcc_s_compile) -DL$* -c $(gcc_srcdir)/libgcc2.c \
46- -fexceptions -fnon-call-exceptions
47+ $(LIB2_DIVMOD_EXCEPTION_FLAGS)
48 libgcc-s-objects += $(lib2-divmod-s-o)
49 endif
50
51
52=== modified file 'libgcc/config.host'
53--- old/libgcc/config.host 2010-04-02 02:02:18 +0000
54+++ new/libgcc/config.host 2010-07-30 12:21:02 +0000
55@@ -208,12 +208,15 @@
56 arm*-*-netbsd*)
57 ;;
58 arm*-*-linux*) # ARM GNU/Linux with ELF
59+ tmake_file="${tmake_file} arm/t-divmod-ef"
60 ;;
61 arm*-*-uclinux*) # ARM ucLinux
62+ tmake_file="${tmake_file} arm/t-divmod-ef"
63 ;;
64 arm*-*-ecos-elf)
65 ;;
66 arm*-*-eabi* | arm*-*-symbianelf* )
67+ tmake_file="${tmake_file} arm/t-divmod-ef"
68 ;;
69 arm*-*-rtems*)
70 ;;
71
72=== added directory 'libgcc/config/arm'
73=== added file 'libgcc/config/arm/t-divmod-ef'
74--- old/libgcc/config/arm/t-divmod-ef 1970-01-01 00:00:00 +0000
75+++ new/libgcc/config/arm/t-divmod-ef 2010-07-30 12:21:02 +0000
76@@ -0,0 +1,4 @@
77+# On ARM, specifying -fnon-call-exceptions will needlessly pull in
78+# the unwinder in simple programs which use 64-bit division. Omitting
79+# the option is safe.
80+LIB2_DIVMOD_EXCEPTION_FLAGS := -fexceptions
81
diff --git a/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99305.patch b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99305.patch
new file mode 100644
index 0000000000..ed25334dfb
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99305.patch
@@ -0,0 +1,52 @@
1 2009-09-02 Daniel Jacobowitz <dan@codesourcery.com>
2
3 libgcc/
4 * shared-object.mk (c_flags-$(base)$(objext)): New.
5 ($(base)$(objext)): Use above.
6 ($(base)_s$(objext)): Likewise.
7 * static-object.mk (c_flags-$(base)$(objext)): New.
8 ($(base)$(objext)): Use above.
9
102010-07-10 Yao Qi <yao@codesourcery.com>
11
12 Merge from Sourcery G++ 4.4:
13
14 2009-05-28 Julian Brown <julian@codesourcery.com>
15
16 Merged from Sourcery G++ 4.3:
17
18=== modified file 'libgcc/shared-object.mk'
19--- old/libgcc/shared-object.mk 2008-07-03 18:22:00 +0000
20+++ new/libgcc/shared-object.mk 2010-07-30 13:11:02 +0000
21@@ -8,11 +8,13 @@
22
23 ifeq ($(suffix $o),.c)
24
25+c_flags-$(base)$(objext) := $(c_flags)
26 $(base)$(objext): $o
27- $(gcc_compile) $(c_flags) -c $< $(vis_hide)
28+ $(gcc_compile) $(c_flags-$@) -c $< $(vis_hide)
29
30+c_flags-$(base)_s$(objext) := $(c_flags)
31 $(base)_s$(objext): $o
32- $(gcc_s_compile) $(c_flags) -c $<
33+ $(gcc_s_compile) $(c_flags-$@) -c $<
34
35 else
36
37
38=== modified file 'libgcc/static-object.mk'
39--- old/libgcc/static-object.mk 2007-01-04 04:22:37 +0000
40+++ new/libgcc/static-object.mk 2010-07-30 13:11:02 +0000
41@@ -8,8 +8,9 @@
42
43 ifeq ($(suffix $o),.c)
44
45+c_flags-$(base)$(objext) := $(c_flags)
46 $(base)$(objext): $o
47- $(gcc_compile) $(c_flags) -c $< $(vis_hide)
48+ $(gcc_compile) $(c_flags-$@) -c $< $(vis_hide)
49
50 else
51
52
diff --git a/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99306.patch b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99306.patch
new file mode 100644
index 0000000000..423cd56528
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99306.patch
@@ -0,0 +1,1401 @@
12010-07-10 Sandra Loosemore <sandra@codesourcery.com>
2
3 Backport from mainline:
4
5 2010-05-08 Sandra Loosemore <sandra@codesourcery.com>
6
7 PR middle-end/28685
8
9 gcc/
10 * tree-ssa-reassoc.c (eliminate_redundant_comparison): New function.
11 (optimize_ops_list): Call it.
12
13 gcc/testsuite/
14 * gcc.dg/pr28685-1.c: New file.
15
16 2010-06-08 Sandra Loosemore <sandra@codesourcery.com>
17
18 PR tree-optimization/39874
19 PR middle-end/28685
20
21 gcc/
22 * gimple.h (maybe_fold_and_comparisons, maybe_fold_or_comparisons):
23 Declare.
24 * gimple-fold.c (canonicalize_bool, same_bool_comparison_p,
25 same_bool_result_p): New.
26 (and_var_with_comparison, and_var_with_comparison_1,
27 and_comparisons_1, and_comparisons, maybe_fold_and_comparisons): New.
28 (or_var_with_comparison, or_var_with_comparison_1,
29 or_comparisons_1, or_comparisons, maybe_fold_or_comparisons): New.
30 * tree-ssa-reassoc.c (eliminate_redundant_comparison): Use
31 maybe_fold_and_comparisons or maybe_fold_or_comparisons instead
32 of combine_comparisons.
33 * tree-ssa-ifcombine.c (ifcombine_ifandif, ifcombine_iforif): Likewise.
34
35 gcc/testsuite/
36 * gcc.dg/pr39874.c: New file.
37
38 2010-07-10 Yao Qi <yao@codesourcery.com>
39
40 Merge from Sourcery G++ 4.4:
41
42=== modified file 'gcc/gimple.h'
43--- old/gcc/gimple.h 2010-04-02 18:54:46 +0000
44+++ new/gcc/gimple.h 2010-07-30 13:21:51 +0000
45@@ -4743,4 +4743,9 @@
46
47 extern void dump_gimple_statistics (void);
48
49+extern tree maybe_fold_and_comparisons (enum tree_code, tree, tree,
50+ enum tree_code, tree, tree);
51+extern tree maybe_fold_or_comparisons (enum tree_code, tree, tree,
52+ enum tree_code, tree, tree);
53+
54 #endif /* GCC_GIMPLE_H */
55
56=== added file 'gcc/testsuite/gcc.dg/pr28685-1.c'
57--- old/gcc/testsuite/gcc.dg/pr28685-1.c 1970-01-01 00:00:00 +0000
58+++ new/gcc/testsuite/gcc.dg/pr28685-1.c 2010-07-30 13:21:51 +0000
59@@ -0,0 +1,50 @@
60+/* { dg-do compile } */
61+/* { dg-options "-O2 -fdump-tree-optimized" } */
62+
63+/* Should produce <=. */
64+int test1 (int a, int b)
65+{
66+ return (a < b || a == b);
67+}
68+
69+/* Should produce <=. */
70+int test2 (int a, int b)
71+{
72+ int lt = a < b;
73+ int eq = a == b;
74+
75+ return (lt || eq);
76+}
77+
78+/* Should produce <= (just deleting redundant test). */
79+int test3 (int a, int b)
80+{
81+ int lt = a <= b;
82+ int eq = a == b;
83+
84+ return (lt || eq);
85+}
86+
87+/* Should produce <= (operands reversed to test the swap logic). */
88+int test4 (int a, int b)
89+{
90+ int lt = a < b;
91+ int eq = b == a;
92+
93+ return (lt || eq);
94+}
95+
96+/* Should produce constant 0. */
97+int test5 (int a, int b)
98+{
99+ int lt = a < b;
100+ int eq = a == b;
101+
102+ return (lt && eq);
103+}
104+
105+/* { dg-final { scan-tree-dump-times " <= " 4 "optimized" } } */
106+/* { dg-final { scan-tree-dump-times "return 0" 1 "optimized" } } */
107+/* { dg-final { scan-tree-dump-not " < " "optimized" } } */
108+/* { dg-final { scan-tree-dump-not " == " "optimized" } } */
109+/* { dg-final { cleanup-tree-dump "optimized" } } */
110
111=== added file 'gcc/testsuite/gcc.dg/pr39874.c'
112--- old/gcc/testsuite/gcc.dg/pr39874.c 1970-01-01 00:00:00 +0000
113+++ new/gcc/testsuite/gcc.dg/pr39874.c 2010-07-30 13:21:51 +0000
114@@ -0,0 +1,29 @@
115+/* { dg-do compile } */
116+/* { dg-options "-O2 -fdump-tree-optimized" } */
117+
118+extern void func();
119+
120+void test1(char *signature)
121+{
122+ char ch = signature[0];
123+ if (ch == 15 || ch == 3)
124+ {
125+ if (ch == 15) func();
126+ }
127+}
128+
129+
130+void test2(char *signature)
131+{
132+ char ch = signature[0];
133+ if (ch == 15 || ch == 3)
134+ {
135+ if (ch > 14) func();
136+ }
137+}
138+
139+/* { dg-final { scan-tree-dump-times " == 15" 2 "optimized" } } */
140+/* { dg-final { scan-tree-dump-not " == 3" "optimized" } } */
141+/* { dg-final { cleanup-tree-dump "optimized" } } */
142+
143+
144
145=== modified file 'gcc/tree-ssa-ccp.c'
146--- old/gcc/tree-ssa-ccp.c 2010-04-02 15:50:04 +0000
147+++ new/gcc/tree-ssa-ccp.c 2010-07-30 13:21:51 +0000
148@@ -3176,6 +3176,1056 @@
149 return changed;
150 }
151
152+/* Canonicalize and possibly invert the boolean EXPR; return NULL_TREE
153+ if EXPR is null or we don't know how.
154+ If non-null, the result always has boolean type. */
155+
156+static tree
157+canonicalize_bool (tree expr, bool invert)
158+{
159+ if (!expr)
160+ return NULL_TREE;
161+ else if (invert)
162+ {
163+ if (integer_nonzerop (expr))
164+ return boolean_false_node;
165+ else if (integer_zerop (expr))
166+ return boolean_true_node;
167+ else if (TREE_CODE (expr) == SSA_NAME)
168+ return fold_build2 (EQ_EXPR, boolean_type_node, expr,
169+ build_int_cst (TREE_TYPE (expr), 0));
170+ else if (TREE_CODE_CLASS (TREE_CODE (expr)) == tcc_comparison)
171+ return fold_build2 (invert_tree_comparison (TREE_CODE (expr), false),
172+ boolean_type_node,
173+ TREE_OPERAND (expr, 0),
174+ TREE_OPERAND (expr, 1));
175+ else
176+ return NULL_TREE;
177+ }
178+ else
179+ {
180+ if (TREE_CODE (TREE_TYPE (expr)) == BOOLEAN_TYPE)
181+ return expr;
182+ if (integer_nonzerop (expr))
183+ return boolean_true_node;
184+ else if (integer_zerop (expr))
185+ return boolean_false_node;
186+ else if (TREE_CODE (expr) == SSA_NAME)
187+ return fold_build2 (NE_EXPR, boolean_type_node, expr,
188+ build_int_cst (TREE_TYPE (expr), 0));
189+ else if (TREE_CODE_CLASS (TREE_CODE (expr)) == tcc_comparison)
190+ return fold_build2 (TREE_CODE (expr),
191+ boolean_type_node,
192+ TREE_OPERAND (expr, 0),
193+ TREE_OPERAND (expr, 1));
194+ else
195+ return NULL_TREE;
196+ }
197+}
198+
199+/* Check to see if a boolean expression EXPR is logically equivalent to the
200+ comparison (OP1 CODE OP2). Check for various identities involving
201+ SSA_NAMEs. */
202+
203+static bool
204+same_bool_comparison_p (const_tree expr, enum tree_code code,
205+ const_tree op1, const_tree op2)
206+{
207+ gimple s;
208+
209+ /* The obvious case. */
210+ if (TREE_CODE (expr) == code
211+ && operand_equal_p (TREE_OPERAND (expr, 0), op1, 0)
212+ && operand_equal_p (TREE_OPERAND (expr, 1), op2, 0))
213+ return true;
214+
215+ /* Check for comparing (name, name != 0) and the case where expr
216+ is an SSA_NAME with a definition matching the comparison. */
217+ if (TREE_CODE (expr) == SSA_NAME
218+ && TREE_CODE (TREE_TYPE (expr)) == BOOLEAN_TYPE)
219+ {
220+ if (operand_equal_p (expr, op1, 0))
221+ return ((code == NE_EXPR && integer_zerop (op2))
222+ || (code == EQ_EXPR && integer_nonzerop (op2)));
223+ s = SSA_NAME_DEF_STMT (expr);
224+ if (is_gimple_assign (s)
225+ && gimple_assign_rhs_code (s) == code
226+ && operand_equal_p (gimple_assign_rhs1 (s), op1, 0)
227+ && operand_equal_p (gimple_assign_rhs2 (s), op2, 0))
228+ return true;
229+ }
230+
231+ /* If op1 is of the form (name != 0) or (name == 0), and the definition
232+ of name is a comparison, recurse. */
233+ if (TREE_CODE (op1) == SSA_NAME
234+ && TREE_CODE (TREE_TYPE (op1)) == BOOLEAN_TYPE)
235+ {
236+ s = SSA_NAME_DEF_STMT (op1);
237+ if (is_gimple_assign (s)
238+ && TREE_CODE_CLASS (gimple_assign_rhs_code (s)) == tcc_comparison)
239+ {
240+ enum tree_code c = gimple_assign_rhs_code (s);
241+ if ((c == NE_EXPR && integer_zerop (op2))
242+ || (c == EQ_EXPR && integer_nonzerop (op2)))
243+ return same_bool_comparison_p (expr, c,
244+ gimple_assign_rhs1 (s),
245+ gimple_assign_rhs2 (s));
246+ if ((c == EQ_EXPR && integer_zerop (op2))
247+ || (c == NE_EXPR && integer_nonzerop (op2)))
248+ return same_bool_comparison_p (expr,
249+ invert_tree_comparison (c, false),
250+ gimple_assign_rhs1 (s),
251+ gimple_assign_rhs2 (s));
252+ }
253+ }
254+ return false;
255+}
256+
257+/* Check to see if two boolean expressions OP1 and OP2 are logically
258+ equivalent. */
259+
260+static bool
261+same_bool_result_p (const_tree op1, const_tree op2)
262+{
263+ /* Simple cases first. */
264+ if (operand_equal_p (op1, op2, 0))
265+ return true;
266+
267+ /* Check the cases where at least one of the operands is a comparison.
268+ These are a bit smarter than operand_equal_p in that they apply some
269+ identifies on SSA_NAMEs. */
270+ if (TREE_CODE_CLASS (TREE_CODE (op2)) == tcc_comparison
271+ && same_bool_comparison_p (op1, TREE_CODE (op2),
272+ TREE_OPERAND (op2, 0),
273+ TREE_OPERAND (op2, 1)))
274+ return true;
275+ if (TREE_CODE_CLASS (TREE_CODE (op1)) == tcc_comparison
276+ && same_bool_comparison_p (op2, TREE_CODE (op1),
277+ TREE_OPERAND (op1, 0),
278+ TREE_OPERAND (op1, 1)))
279+ return true;
280+
281+ /* Default case. */
282+ return false;
283+}
284+
285+/* Forward declarations for some mutually recursive functions. */
286+
287+static tree
288+and_comparisons_1 (enum tree_code code1, tree op1a, tree op1b,
289+ enum tree_code code2, tree op2a, tree op2b);
290+static tree
291+and_var_with_comparison (tree var, bool invert,
292+ enum tree_code code2, tree op2a, tree op2b);
293+static tree
294+and_var_with_comparison_1 (gimple stmt,
295+ enum tree_code code2, tree op2a, tree op2b);
296+static tree
297+or_comparisons_1 (enum tree_code code1, tree op1a, tree op1b,
298+ enum tree_code code2, tree op2a, tree op2b);
299+static tree
300+or_var_with_comparison (tree var, bool invert,
301+ enum tree_code code2, tree op2a, tree op2b);
302+static tree
303+or_var_with_comparison_1 (gimple stmt,
304+ enum tree_code code2, tree op2a, tree op2b);
305+
306+/* Helper function for and_comparisons_1: try to simplify the AND of the
307+ ssa variable VAR with the comparison specified by (OP2A CODE2 OP2B).
308+ If INVERT is true, invert the value of the VAR before doing the AND.
309+ Return NULL_EXPR if we can't simplify this to a single expression. */
310+
311+static tree
312+and_var_with_comparison (tree var, bool invert,
313+ enum tree_code code2, tree op2a, tree op2b)
314+{
315+ tree t;
316+ gimple stmt = SSA_NAME_DEF_STMT (var);
317+
318+ /* We can only deal with variables whose definitions are assignments. */
319+ if (!is_gimple_assign (stmt))
320+ return NULL_TREE;
321+
322+ /* If we have an inverted comparison, apply DeMorgan's law and rewrite
323+ !var AND (op2a code2 op2b) => !(var OR !(op2a code2 op2b))
324+ Then we only have to consider the simpler non-inverted cases. */
325+ if (invert)
326+ t = or_var_with_comparison_1 (stmt,
327+ invert_tree_comparison (code2, false),
328+ op2a, op2b);
329+ else
330+ t = and_var_with_comparison_1 (stmt, code2, op2a, op2b);
331+ return canonicalize_bool (t, invert);
332+}
333+
334+/* Try to simplify the AND of the ssa variable defined by the assignment
335+ STMT with the comparison specified by (OP2A CODE2 OP2B).
336+ Return NULL_EXPR if we can't simplify this to a single expression. */
337+
338+static tree
339+and_var_with_comparison_1 (gimple stmt,
340+ enum tree_code code2, tree op2a, tree op2b)
341+{
342+ tree var = gimple_assign_lhs (stmt);
343+ tree true_test_var = NULL_TREE;
344+ tree false_test_var = NULL_TREE;
345+ enum tree_code innercode = gimple_assign_rhs_code (stmt);
346+
347+ /* Check for identities like (var AND (var == 0)) => false. */
348+ if (TREE_CODE (op2a) == SSA_NAME
349+ && TREE_CODE (TREE_TYPE (var)) == BOOLEAN_TYPE)
350+ {
351+ if ((code2 == NE_EXPR && integer_zerop (op2b))
352+ || (code2 == EQ_EXPR && integer_nonzerop (op2b)))
353+ {
354+ true_test_var = op2a;
355+ if (var == true_test_var)
356+ return var;
357+ }
358+ else if ((code2 == EQ_EXPR && integer_zerop (op2b))
359+ || (code2 == NE_EXPR && integer_nonzerop (op2b)))
360+ {
361+ false_test_var = op2a;
362+ if (var == false_test_var)
363+ return boolean_false_node;
364+ }
365+ }
366+
367+ /* If the definition is a comparison, recurse on it. */
368+ if (TREE_CODE_CLASS (innercode) == tcc_comparison)
369+ {
370+ tree t = and_comparisons_1 (innercode,
371+ gimple_assign_rhs1 (stmt),
372+ gimple_assign_rhs2 (stmt),
373+ code2,
374+ op2a,
375+ op2b);
376+ if (t)
377+ return t;
378+ }
379+
380+ /* If the definition is an AND or OR expression, we may be able to
381+ simplify by reassociating. */
382+ if (innercode == TRUTH_AND_EXPR
383+ || innercode == TRUTH_OR_EXPR
384+ || (TREE_CODE (TREE_TYPE (var)) == BOOLEAN_TYPE
385+ && (innercode == BIT_AND_EXPR || innercode == BIT_IOR_EXPR)))
386+ {
387+ tree inner1 = gimple_assign_rhs1 (stmt);
388+ tree inner2 = gimple_assign_rhs2 (stmt);
389+ gimple s;
390+ tree t;
391+ tree partial = NULL_TREE;
392+ bool is_and = (innercode == TRUTH_AND_EXPR || innercode == BIT_AND_EXPR);
393+
394+ /* Check for boolean identities that don't require recursive examination
395+ of inner1/inner2:
396+ inner1 AND (inner1 AND inner2) => inner1 AND inner2 => var
397+ inner1 AND (inner1 OR inner2) => inner1
398+ !inner1 AND (inner1 AND inner2) => false
399+ !inner1 AND (inner1 OR inner2) => !inner1 AND inner2
400+ Likewise for similar cases involving inner2. */
401+ if (inner1 == true_test_var)
402+ return (is_and ? var : inner1);
403+ else if (inner2 == true_test_var)
404+ return (is_and ? var : inner2);
405+ else if (inner1 == false_test_var)
406+ return (is_and
407+ ? boolean_false_node
408+ : and_var_with_comparison (inner2, false, code2, op2a, op2b));
409+ else if (inner2 == false_test_var)
410+ return (is_and
411+ ? boolean_false_node
412+ : and_var_with_comparison (inner1, false, code2, op2a, op2b));
413+
414+ /* Next, redistribute/reassociate the AND across the inner tests.
415+ Compute the first partial result, (inner1 AND (op2a code op2b)) */
416+ if (TREE_CODE (inner1) == SSA_NAME
417+ && is_gimple_assign (s = SSA_NAME_DEF_STMT (inner1))
418+ && TREE_CODE_CLASS (gimple_assign_rhs_code (s)) == tcc_comparison
419+ && (t = maybe_fold_and_comparisons (gimple_assign_rhs_code (s),
420+ gimple_assign_rhs1 (s),
421+ gimple_assign_rhs2 (s),
422+ code2, op2a, op2b)))
423+ {
424+ /* Handle the AND case, where we are reassociating:
425+ (inner1 AND inner2) AND (op2a code2 op2b)
426+ => (t AND inner2)
427+ If the partial result t is a constant, we win. Otherwise
428+ continue on to try reassociating with the other inner test. */
429+ if (is_and)
430+ {
431+ if (integer_onep (t))
432+ return inner2;
433+ else if (integer_zerop (t))
434+ return boolean_false_node;
435+ }
436+
437+ /* Handle the OR case, where we are redistributing:
438+ (inner1 OR inner2) AND (op2a code2 op2b)
439+ => (t OR (inner2 AND (op2a code2 op2b))) */
440+ else
441+ {
442+ if (integer_onep (t))
443+ return boolean_true_node;
444+ else
445+ /* Save partial result for later. */
446+ partial = t;
447+ }
448+ }
449+
450+ /* Compute the second partial result, (inner2 AND (op2a code op2b)) */
451+ if (TREE_CODE (inner2) == SSA_NAME
452+ && is_gimple_assign (s = SSA_NAME_DEF_STMT (inner2))
453+ && TREE_CODE_CLASS (gimple_assign_rhs_code (s)) == tcc_comparison
454+ && (t = maybe_fold_and_comparisons (gimple_assign_rhs_code (s),
455+ gimple_assign_rhs1 (s),
456+ gimple_assign_rhs2 (s),
457+ code2, op2a, op2b)))
458+ {
459+ /* Handle the AND case, where we are reassociating:
460+ (inner1 AND inner2) AND (op2a code2 op2b)
461+ => (inner1 AND t) */
462+ if (is_and)
463+ {
464+ if (integer_onep (t))
465+ return inner1;
466+ else if (integer_zerop (t))
467+ return boolean_false_node;
468+ }
469+
470+ /* Handle the OR case. where we are redistributing:
471+ (inner1 OR inner2) AND (op2a code2 op2b)
472+ => (t OR (inner1 AND (op2a code2 op2b)))
473+ => (t OR partial) */
474+ else
475+ {
476+ if (integer_onep (t))
477+ return boolean_true_node;
478+ else if (partial)
479+ {
480+ /* We already got a simplification for the other
481+ operand to the redistributed OR expression. The
482+ interesting case is when at least one is false.
483+ Or, if both are the same, we can apply the identity
484+ (x OR x) == x. */
485+ if (integer_zerop (partial))
486+ return t;
487+ else if (integer_zerop (t))
488+ return partial;
489+ else if (same_bool_result_p (t, partial))
490+ return t;
491+ }
492+ }
493+ }
494+ }
495+ return NULL_TREE;
496+}
497+
498+/* Try to simplify the AND of two comparisons defined by
499+ (OP1A CODE1 OP1B) and (OP2A CODE2 OP2B), respectively.
500+ If this can be done without constructing an intermediate value,
501+ return the resulting tree; otherwise NULL_TREE is returned.
502+ This function is deliberately asymmetric as it recurses on SSA_DEFs
503+ in the first comparison but not the second. */
504+
505+static tree
506+and_comparisons_1 (enum tree_code code1, tree op1a, tree op1b,
507+ enum tree_code code2, tree op2a, tree op2b)
508+{
509+ /* First check for ((x CODE1 y) AND (x CODE2 y)). */
510+ if (operand_equal_p (op1a, op2a, 0)
511+ && operand_equal_p (op1b, op2b, 0))
512+ {
513+ tree t = combine_comparisons (UNKNOWN_LOCATION,
514+ TRUTH_ANDIF_EXPR, code1, code2,
515+ boolean_type_node, op1a, op1b);
516+ if (t)
517+ return t;
518+ }
519+
520+ /* Likewise the swapped case of the above. */
521+ if (operand_equal_p (op1a, op2b, 0)
522+ && operand_equal_p (op1b, op2a, 0))
523+ {
524+ tree t = combine_comparisons (UNKNOWN_LOCATION,
525+ TRUTH_ANDIF_EXPR, code1,
526+ swap_tree_comparison (code2),
527+ boolean_type_node, op1a, op1b);
528+ if (t)
529+ return t;
530+ }
531+
532+ /* If both comparisons are of the same value against constants, we might
533+ be able to merge them. */
534+ if (operand_equal_p (op1a, op2a, 0)
535+ && TREE_CODE (op1b) == INTEGER_CST
536+ && TREE_CODE (op2b) == INTEGER_CST)
537+ {
538+ int cmp = tree_int_cst_compare (op1b, op2b);
539+
540+ /* If we have (op1a == op1b), we should either be able to
541+ return that or FALSE, depending on whether the constant op1b
542+ also satisfies the other comparison against op2b. */
543+ if (code1 == EQ_EXPR)
544+ {
545+ bool done = true;
546+ bool val;
547+ switch (code2)
548+ {
549+ case EQ_EXPR: val = (cmp == 0); break;
550+ case NE_EXPR: val = (cmp != 0); break;
551+ case LT_EXPR: val = (cmp < 0); break;
552+ case GT_EXPR: val = (cmp > 0); break;
553+ case LE_EXPR: val = (cmp <= 0); break;
554+ case GE_EXPR: val = (cmp >= 0); break;
555+ default: done = false;
556+ }
557+ if (done)
558+ {
559+ if (val)
560+ return fold_build2 (code1, boolean_type_node, op1a, op1b);
561+ else
562+ return boolean_false_node;
563+ }
564+ }
565+ /* Likewise if the second comparison is an == comparison. */
566+ else if (code2 == EQ_EXPR)
567+ {
568+ bool done = true;
569+ bool val;
570+ switch (code1)
571+ {
572+ case EQ_EXPR: val = (cmp == 0); break;
573+ case NE_EXPR: val = (cmp != 0); break;
574+ case LT_EXPR: val = (cmp > 0); break;
575+ case GT_EXPR: val = (cmp < 0); break;
576+ case LE_EXPR: val = (cmp >= 0); break;
577+ case GE_EXPR: val = (cmp <= 0); break;
578+ default: done = false;
579+ }
580+ if (done)
581+ {
582+ if (val)
583+ return fold_build2 (code2, boolean_type_node, op2a, op2b);
584+ else
585+ return boolean_false_node;
586+ }
587+ }
588+
589+ /* Same business with inequality tests. */
590+ else if (code1 == NE_EXPR)
591+ {
592+ bool val;
593+ switch (code2)
594+ {
595+ case EQ_EXPR: val = (cmp != 0); break;
596+ case NE_EXPR: val = (cmp == 0); break;
597+ case LT_EXPR: val = (cmp >= 0); break;
598+ case GT_EXPR: val = (cmp <= 0); break;
599+ case LE_EXPR: val = (cmp > 0); break;
600+ case GE_EXPR: val = (cmp < 0); break;
601+ default:
602+ val = false;
603+ }
604+ if (val)
605+ return fold_build2 (code2, boolean_type_node, op2a, op2b);
606+ }
607+ else if (code2 == NE_EXPR)
608+ {
609+ bool val;
610+ switch (code1)
611+ {
612+ case EQ_EXPR: val = (cmp == 0); break;
613+ case NE_EXPR: val = (cmp != 0); break;
614+ case LT_EXPR: val = (cmp <= 0); break;
615+ case GT_EXPR: val = (cmp >= 0); break;
616+ case LE_EXPR: val = (cmp < 0); break;
617+ case GE_EXPR: val = (cmp > 0); break;
618+ default:
619+ val = false;
620+ }
621+ if (val)
622+ return fold_build2 (code1, boolean_type_node, op1a, op1b);
623+ }
624+
625+ /* Chose the more restrictive of two < or <= comparisons. */
626+ else if ((code1 == LT_EXPR || code1 == LE_EXPR)
627+ && (code2 == LT_EXPR || code2 == LE_EXPR))
628+ {
629+ if ((cmp < 0) || (cmp == 0 && code1 == LT_EXPR))
630+ return fold_build2 (code1, boolean_type_node, op1a, op1b);
631+ else
632+ return fold_build2 (code2, boolean_type_node, op2a, op2b);
633+ }
634+
635+ /* Likewise chose the more restrictive of two > or >= comparisons. */
636+ else if ((code1 == GT_EXPR || code1 == GE_EXPR)
637+ && (code2 == GT_EXPR || code2 == GE_EXPR))
638+ {
639+ if ((cmp > 0) || (cmp == 0 && code1 == GT_EXPR))
640+ return fold_build2 (code1, boolean_type_node, op1a, op1b);
641+ else
642+ return fold_build2 (code2, boolean_type_node, op2a, op2b);
643+ }
644+
645+ /* Check for singleton ranges. */
646+ else if (cmp == 0
647+ && ((code1 == LE_EXPR && code2 == GE_EXPR)
648+ || (code1 == GE_EXPR && code2 == LE_EXPR)))
649+ return fold_build2 (EQ_EXPR, boolean_type_node, op1a, op2b);
650+
651+ /* Check for disjoint ranges. */
652+ else if (cmp <= 0
653+ && (code1 == LT_EXPR || code1 == LE_EXPR)
654+ && (code2 == GT_EXPR || code2 == GE_EXPR))
655+ return boolean_false_node;
656+ else if (cmp >= 0
657+ && (code1 == GT_EXPR || code1 == GE_EXPR)
658+ && (code2 == LT_EXPR || code2 == LE_EXPR))
659+ return boolean_false_node;
660+ }
661+
662+ /* Perhaps the first comparison is (NAME != 0) or (NAME == 1) where
663+ NAME's definition is a truth value. See if there are any simplifications
664+ that can be done against the NAME's definition. */
665+ if (TREE_CODE (op1a) == SSA_NAME
666+ && (code1 == NE_EXPR || code1 == EQ_EXPR)
667+ && (integer_zerop (op1b) || integer_onep (op1b)))
668+ {
669+ bool invert = ((code1 == EQ_EXPR && integer_zerop (op1b))
670+ || (code1 == NE_EXPR && integer_onep (op1b)));
671+ gimple stmt = SSA_NAME_DEF_STMT (op1a);
672+ switch (gimple_code (stmt))
673+ {
674+ case GIMPLE_ASSIGN:
675+ /* Try to simplify by copy-propagating the definition. */
676+ return and_var_with_comparison (op1a, invert, code2, op2a, op2b);
677+
678+ case GIMPLE_PHI:
679+ /* If every argument to the PHI produces the same result when
680+ ANDed with the second comparison, we win.
681+ Do not do this unless the type is bool since we need a bool
682+ result here anyway. */
683+ if (TREE_CODE (TREE_TYPE (op1a)) == BOOLEAN_TYPE)
684+ {
685+ tree result = NULL_TREE;
686+ unsigned i;
687+ for (i = 0; i < gimple_phi_num_args (stmt); i++)
688+ {
689+ tree arg = gimple_phi_arg_def (stmt, i);
690+
691+ /* If this PHI has itself as an argument, ignore it.
692+ If all the other args produce the same result,
693+ we're still OK. */
694+ if (arg == gimple_phi_result (stmt))
695+ continue;
696+ else if (TREE_CODE (arg) == INTEGER_CST)
697+ {
698+ if (invert ? integer_nonzerop (arg) : integer_zerop (arg))
699+ {
700+ if (!result)
701+ result = boolean_false_node;
702+ else if (!integer_zerop (result))
703+ return NULL_TREE;
704+ }
705+ else if (!result)
706+ result = fold_build2 (code2, boolean_type_node,
707+ op2a, op2b);
708+ else if (!same_bool_comparison_p (result,
709+ code2, op2a, op2b))
710+ return NULL_TREE;
711+ }
712+ else if (TREE_CODE (arg) == SSA_NAME)
713+ {
714+ tree temp = and_var_with_comparison (arg, invert,
715+ code2, op2a, op2b);
716+ if (!temp)
717+ return NULL_TREE;
718+ else if (!result)
719+ result = temp;
720+ else if (!same_bool_result_p (result, temp))
721+ return NULL_TREE;
722+ }
723+ else
724+ return NULL_TREE;
725+ }
726+ return result;
727+ }
728+
729+ default:
730+ break;
731+ }
732+ }
733+ return NULL_TREE;
734+}
735+
736+/* Try to simplify the AND of two comparisons, specified by
737+ (OP1A CODE1 OP1B) and (OP2B CODE2 OP2B), respectively.
738+ If this can be simplified to a single expression (without requiring
739+ introducing more SSA variables to hold intermediate values),
740+ return the resulting tree. Otherwise return NULL_TREE.
741+ If the result expression is non-null, it has boolean type. */
742+
743+tree
744+maybe_fold_and_comparisons (enum tree_code code1, tree op1a, tree op1b,
745+ enum tree_code code2, tree op2a, tree op2b)
746+{
747+ tree t = and_comparisons_1 (code1, op1a, op1b, code2, op2a, op2b);
748+ if (t)
749+ return t;
750+ else
751+ return and_comparisons_1 (code2, op2a, op2b, code1, op1a, op1b);
752+}
753+
754+/* Helper function for or_comparisons_1: try to simplify the OR of the
755+ ssa variable VAR with the comparison specified by (OP2A CODE2 OP2B).
756+ If INVERT is true, invert the value of VAR before doing the OR.
757+ Return NULL_EXPR if we can't simplify this to a single expression. */
758+
759+static tree
760+or_var_with_comparison (tree var, bool invert,
761+ enum tree_code code2, tree op2a, tree op2b)
762+{
763+ tree t;
764+ gimple stmt = SSA_NAME_DEF_STMT (var);
765+
766+ /* We can only deal with variables whose definitions are assignments. */
767+ if (!is_gimple_assign (stmt))
768+ return NULL_TREE;
769+
770+ /* If we have an inverted comparison, apply DeMorgan's law and rewrite
771+ !var OR (op2a code2 op2b) => !(var AND !(op2a code2 op2b))
772+ Then we only have to consider the simpler non-inverted cases. */
773+ if (invert)
774+ t = and_var_with_comparison_1 (stmt,
775+ invert_tree_comparison (code2, false),
776+ op2a, op2b);
777+ else
778+ t = or_var_with_comparison_1 (stmt, code2, op2a, op2b);
779+ return canonicalize_bool (t, invert);
780+}
781+
782+/* Try to simplify the OR of the ssa variable defined by the assignment
783+ STMT with the comparison specified by (OP2A CODE2 OP2B).
784+ Return NULL_EXPR if we can't simplify this to a single expression. */
785+
786+static tree
787+or_var_with_comparison_1 (gimple stmt,
788+ enum tree_code code2, tree op2a, tree op2b)
789+{
790+ tree var = gimple_assign_lhs (stmt);
791+ tree true_test_var = NULL_TREE;
792+ tree false_test_var = NULL_TREE;
793+ enum tree_code innercode = gimple_assign_rhs_code (stmt);
794+
795+ /* Check for identities like (var OR (var != 0)) => true . */
796+ if (TREE_CODE (op2a) == SSA_NAME
797+ && TREE_CODE (TREE_TYPE (var)) == BOOLEAN_TYPE)
798+ {
799+ if ((code2 == NE_EXPR && integer_zerop (op2b))
800+ || (code2 == EQ_EXPR && integer_nonzerop (op2b)))
801+ {
802+ true_test_var = op2a;
803+ if (var == true_test_var)
804+ return var;
805+ }
806+ else if ((code2 == EQ_EXPR && integer_zerop (op2b))
807+ || (code2 == NE_EXPR && integer_nonzerop (op2b)))
808+ {
809+ false_test_var = op2a;
810+ if (var == false_test_var)
811+ return boolean_true_node;
812+ }
813+ }
814+
815+ /* If the definition is a comparison, recurse on it. */
816+ if (TREE_CODE_CLASS (innercode) == tcc_comparison)
817+ {
818+ tree t = or_comparisons_1 (innercode,
819+ gimple_assign_rhs1 (stmt),
820+ gimple_assign_rhs2 (stmt),
821+ code2,
822+ op2a,
823+ op2b);
824+ if (t)
825+ return t;
826+ }
827+
828+ /* If the definition is an AND or OR expression, we may be able to
829+ simplify by reassociating. */
830+ if (innercode == TRUTH_AND_EXPR
831+ || innercode == TRUTH_OR_EXPR
832+ || (TREE_CODE (TREE_TYPE (var)) == BOOLEAN_TYPE
833+ && (innercode == BIT_AND_EXPR || innercode == BIT_IOR_EXPR)))
834+ {
835+ tree inner1 = gimple_assign_rhs1 (stmt);
836+ tree inner2 = gimple_assign_rhs2 (stmt);
837+ gimple s;
838+ tree t;
839+ tree partial = NULL_TREE;
840+ bool is_or = (innercode == TRUTH_OR_EXPR || innercode == BIT_IOR_EXPR);
841+
842+ /* Check for boolean identities that don't require recursive examination
843+ of inner1/inner2:
844+ inner1 OR (inner1 OR inner2) => inner1 OR inner2 => var
845+ inner1 OR (inner1 AND inner2) => inner1
846+ !inner1 OR (inner1 OR inner2) => true
847+ !inner1 OR (inner1 AND inner2) => !inner1 OR inner2
848+ */
849+ if (inner1 == true_test_var)
850+ return (is_or ? var : inner1);
851+ else if (inner2 == true_test_var)
852+ return (is_or ? var : inner2);
853+ else if (inner1 == false_test_var)
854+ return (is_or
855+ ? boolean_true_node
856+ : or_var_with_comparison (inner2, false, code2, op2a, op2b));
857+ else if (inner2 == false_test_var)
858+ return (is_or
859+ ? boolean_true_node
860+ : or_var_with_comparison (inner1, false, code2, op2a, op2b));
861+
862+ /* Next, redistribute/reassociate the OR across the inner tests.
863+ Compute the first partial result, (inner1 OR (op2a code op2b)) */
864+ if (TREE_CODE (inner1) == SSA_NAME
865+ && is_gimple_assign (s = SSA_NAME_DEF_STMT (inner1))
866+ && TREE_CODE_CLASS (gimple_assign_rhs_code (s)) == tcc_comparison
867+ && (t = maybe_fold_or_comparisons (gimple_assign_rhs_code (s),
868+ gimple_assign_rhs1 (s),
869+ gimple_assign_rhs2 (s),
870+ code2, op2a, op2b)))
871+ {
872+ /* Handle the OR case, where we are reassociating:
873+ (inner1 OR inner2) OR (op2a code2 op2b)
874+ => (t OR inner2)
875+ If the partial result t is a constant, we win. Otherwise
876+ continue on to try reassociating with the other inner test. */
877+ if (innercode == TRUTH_OR_EXPR)
878+ {
879+ if (integer_onep (t))
880+ return boolean_true_node;
881+ else if (integer_zerop (t))
882+ return inner2;
883+ }
884+
885+ /* Handle the AND case, where we are redistributing:
886+ (inner1 AND inner2) OR (op2a code2 op2b)
887+ => (t AND (inner2 OR (op2a code op2b))) */
888+ else
889+ {
890+ if (integer_zerop (t))
891+ return boolean_false_node;
892+ else
893+ /* Save partial result for later. */
894+ partial = t;
895+ }
896+ }
897+
898+ /* Compute the second partial result, (inner2 OR (op2a code op2b)) */
899+ if (TREE_CODE (inner2) == SSA_NAME
900+ && is_gimple_assign (s = SSA_NAME_DEF_STMT (inner2))
901+ && TREE_CODE_CLASS (gimple_assign_rhs_code (s)) == tcc_comparison
902+ && (t = maybe_fold_or_comparisons (gimple_assign_rhs_code (s),
903+ gimple_assign_rhs1 (s),
904+ gimple_assign_rhs2 (s),
905+ code2, op2a, op2b)))
906+ {
907+ /* Handle the OR case, where we are reassociating:
908+ (inner1 OR inner2) OR (op2a code2 op2b)
909+ => (inner1 OR t) */
910+ if (innercode == TRUTH_OR_EXPR)
911+ {
912+ if (integer_zerop (t))
913+ return inner1;
914+ else if (integer_onep (t))
915+ return boolean_true_node;
916+ }
917+
918+ /* Handle the AND case, where we are redistributing:
919+ (inner1 AND inner2) OR (op2a code2 op2b)
920+ => (t AND (inner1 OR (op2a code2 op2b)))
921+ => (t AND partial) */
922+ else
923+ {
924+ if (integer_zerop (t))
925+ return boolean_false_node;
926+ else if (partial)
927+ {
928+ /* We already got a simplification for the other
929+ operand to the redistributed AND expression. The
930+ interesting case is when at least one is true.
931+ Or, if both are the same, we can apply the identity
932+ (x AND x) == true. */
933+ if (integer_onep (partial))
934+ return t;
935+ else if (integer_onep (t))
936+ return partial;
937+ else if (same_bool_result_p (t, partial))
938+ return boolean_true_node;
939+ }
940+ }
941+ }
942+ }
943+ return NULL_TREE;
944+}
945+
946+/* Try to simplify the OR of two comparisons defined by
947+ (OP1A CODE1 OP1B) and (OP2A CODE2 OP2B), respectively.
948+ If this can be done without constructing an intermediate value,
949+ return the resulting tree; otherwise NULL_TREE is returned.
950+ This function is deliberately asymmetric as it recurses on SSA_DEFs
951+ in the first comparison but not the second. */
952+
953+static tree
954+or_comparisons_1 (enum tree_code code1, tree op1a, tree op1b,
955+ enum tree_code code2, tree op2a, tree op2b)
956+{
957+ /* First check for ((x CODE1 y) OR (x CODE2 y)). */
958+ if (operand_equal_p (op1a, op2a, 0)
959+ && operand_equal_p (op1b, op2b, 0))
960+ {
961+ tree t = combine_comparisons (UNKNOWN_LOCATION,
962+ TRUTH_ORIF_EXPR, code1, code2,
963+ boolean_type_node, op1a, op1b);
964+ if (t)
965+ return t;
966+ }
967+
968+ /* Likewise the swapped case of the above. */
969+ if (operand_equal_p (op1a, op2b, 0)
970+ && operand_equal_p (op1b, op2a, 0))
971+ {
972+ tree t = combine_comparisons (UNKNOWN_LOCATION,
973+ TRUTH_ORIF_EXPR, code1,
974+ swap_tree_comparison (code2),
975+ boolean_type_node, op1a, op1b);
976+ if (t)
977+ return t;
978+ }
979+
980+ /* If both comparisons are of the same value against constants, we might
981+ be able to merge them. */
982+ if (operand_equal_p (op1a, op2a, 0)
983+ && TREE_CODE (op1b) == INTEGER_CST
984+ && TREE_CODE (op2b) == INTEGER_CST)
985+ {
986+ int cmp = tree_int_cst_compare (op1b, op2b);
987+
988+ /* If we have (op1a != op1b), we should either be able to
989+ return that or TRUE, depending on whether the constant op1b
990+ also satisfies the other comparison against op2b. */
991+ if (code1 == NE_EXPR)
992+ {
993+ bool done = true;
994+ bool val;
995+ switch (code2)
996+ {
997+ case EQ_EXPR: val = (cmp == 0); break;
998+ case NE_EXPR: val = (cmp != 0); break;
999+ case LT_EXPR: val = (cmp < 0); break;
1000+ case GT_EXPR: val = (cmp > 0); break;
1001+ case LE_EXPR: val = (cmp <= 0); break;
1002+ case GE_EXPR: val = (cmp >= 0); break;
1003+ default: done = false;
1004+ }
1005+ if (done)
1006+ {
1007+ if (val)
1008+ return boolean_true_node;
1009+ else
1010+ return fold_build2 (code1, boolean_type_node, op1a, op1b);
1011+ }
1012+ }
1013+ /* Likewise if the second comparison is a != comparison. */
1014+ else if (code2 == NE_EXPR)
1015+ {
1016+ bool done = true;
1017+ bool val;
1018+ switch (code1)
1019+ {
1020+ case EQ_EXPR: val = (cmp == 0); break;
1021+ case NE_EXPR: val = (cmp != 0); break;
1022+ case LT_EXPR: val = (cmp > 0); break;
1023+ case GT_EXPR: val = (cmp < 0); break;
1024+ case LE_EXPR: val = (cmp >= 0); break;
1025+ case GE_EXPR: val = (cmp <= 0); break;
1026+ default: done = false;
1027+ }
1028+ if (done)
1029+ {
1030+ if (val)
1031+ return boolean_true_node;
1032+ else
1033+ return fold_build2 (code2, boolean_type_node, op2a, op2b);
1034+ }
1035+ }
1036+
1037+ /* See if an equality test is redundant with the other comparison. */
1038+ else if (code1 == EQ_EXPR)
1039+ {
1040+ bool val;
1041+ switch (code2)
1042+ {
1043+ case EQ_EXPR: val = (cmp == 0); break;
1044+ case NE_EXPR: val = (cmp != 0); break;
1045+ case LT_EXPR: val = (cmp < 0); break;
1046+ case GT_EXPR: val = (cmp > 0); break;
1047+ case LE_EXPR: val = (cmp <= 0); break;
1048+ case GE_EXPR: val = (cmp >= 0); break;
1049+ default:
1050+ val = false;
1051+ }
1052+ if (val)
1053+ return fold_build2 (code2, boolean_type_node, op2a, op2b);
1054+ }
1055+ else if (code2 == EQ_EXPR)
1056+ {
1057+ bool val;
1058+ switch (code1)
1059+ {
1060+ case EQ_EXPR: val = (cmp == 0); break;
1061+ case NE_EXPR: val = (cmp != 0); break;
1062+ case LT_EXPR: val = (cmp > 0); break;
1063+ case GT_EXPR: val = (cmp < 0); break;
1064+ case LE_EXPR: val = (cmp >= 0); break;
1065+ case GE_EXPR: val = (cmp <= 0); break;
1066+ default:
1067+ val = false;
1068+ }
1069+ if (val)
1070+ return fold_build2 (code1, boolean_type_node, op1a, op1b);
1071+ }
1072+
1073+ /* Chose the less restrictive of two < or <= comparisons. */
1074+ else if ((code1 == LT_EXPR || code1 == LE_EXPR)
1075+ && (code2 == LT_EXPR || code2 == LE_EXPR))
1076+ {
1077+ if ((cmp < 0) || (cmp == 0 && code1 == LT_EXPR))
1078+ return fold_build2 (code2, boolean_type_node, op2a, op2b);
1079+ else
1080+ return fold_build2 (code1, boolean_type_node, op1a, op1b);
1081+ }
1082+
1083+ /* Likewise chose the less restrictive of two > or >= comparisons. */
1084+ else if ((code1 == GT_EXPR || code1 == GE_EXPR)
1085+ && (code2 == GT_EXPR || code2 == GE_EXPR))
1086+ {
1087+ if ((cmp > 0) || (cmp == 0 && code1 == GT_EXPR))
1088+ return fold_build2 (code2, boolean_type_node, op2a, op2b);
1089+ else
1090+ return fold_build2 (code1, boolean_type_node, op1a, op1b);
1091+ }
1092+
1093+ /* Check for singleton ranges. */
1094+ else if (cmp == 0
1095+ && ((code1 == LT_EXPR && code2 == GT_EXPR)
1096+ || (code1 == GT_EXPR && code2 == LT_EXPR)))
1097+ return fold_build2 (NE_EXPR, boolean_type_node, op1a, op2b);
1098+
1099+ /* Check for less/greater pairs that don't restrict the range at all. */
1100+ else if (cmp >= 0
1101+ && (code1 == LT_EXPR || code1 == LE_EXPR)
1102+ && (code2 == GT_EXPR || code2 == GE_EXPR))
1103+ return boolean_true_node;
1104+ else if (cmp <= 0
1105+ && (code1 == GT_EXPR || code1 == GE_EXPR)
1106+ && (code2 == LT_EXPR || code2 == LE_EXPR))
1107+ return boolean_true_node;
1108+ }
1109+
1110+ /* Perhaps the first comparison is (NAME != 0) or (NAME == 1) where
1111+ NAME's definition is a truth value. See if there are any simplifications
1112+ that can be done against the NAME's definition. */
1113+ if (TREE_CODE (op1a) == SSA_NAME
1114+ && (code1 == NE_EXPR || code1 == EQ_EXPR)
1115+ && (integer_zerop (op1b) || integer_onep (op1b)))
1116+ {
1117+ bool invert = ((code1 == EQ_EXPR && integer_zerop (op1b))
1118+ || (code1 == NE_EXPR && integer_onep (op1b)));
1119+ gimple stmt = SSA_NAME_DEF_STMT (op1a);
1120+ switch (gimple_code (stmt))
1121+ {
1122+ case GIMPLE_ASSIGN:
1123+ /* Try to simplify by copy-propagating the definition. */
1124+ return or_var_with_comparison (op1a, invert, code2, op2a, op2b);
1125+
1126+ case GIMPLE_PHI:
1127+ /* If every argument to the PHI produces the same result when
1128+ ORed with the second comparison, we win.
1129+ Do not do this unless the type is bool since we need a bool
1130+ result here anyway. */
1131+ if (TREE_CODE (TREE_TYPE (op1a)) == BOOLEAN_TYPE)
1132+ {
1133+ tree result = NULL_TREE;
1134+ unsigned i;
1135+ for (i = 0; i < gimple_phi_num_args (stmt); i++)
1136+ {
1137+ tree arg = gimple_phi_arg_def (stmt, i);
1138+
1139+ /* If this PHI has itself as an argument, ignore it.
1140+ If all the other args produce the same result,
1141+ we're still OK. */
1142+ if (arg == gimple_phi_result (stmt))
1143+ continue;
1144+ else if (TREE_CODE (arg) == INTEGER_CST)
1145+ {
1146+ if (invert ? integer_zerop (arg) : integer_nonzerop (arg))
1147+ {
1148+ if (!result)
1149+ result = boolean_true_node;
1150+ else if (!integer_onep (result))
1151+ return NULL_TREE;
1152+ }
1153+ else if (!result)
1154+ result = fold_build2 (code2, boolean_type_node,
1155+ op2a, op2b);
1156+ else if (!same_bool_comparison_p (result,
1157+ code2, op2a, op2b))
1158+ return NULL_TREE;
1159+ }
1160+ else if (TREE_CODE (arg) == SSA_NAME)
1161+ {
1162+ tree temp = or_var_with_comparison (arg, invert,
1163+ code2, op2a, op2b);
1164+ if (!temp)
1165+ return NULL_TREE;
1166+ else if (!result)
1167+ result = temp;
1168+ else if (!same_bool_result_p (result, temp))
1169+ return NULL_TREE;
1170+ }
1171+ else
1172+ return NULL_TREE;
1173+ }
1174+ return result;
1175+ }
1176+
1177+ default:
1178+ break;
1179+ }
1180+ }
1181+ return NULL_TREE;
1182+}
1183+
1184+/* Try to simplify the OR of two comparisons, specified by
1185+ (OP1A CODE1 OP1B) and (OP2B CODE2 OP2B), respectively.
1186+ If this can be simplified to a single expression (without requiring
1187+ introducing more SSA variables to hold intermediate values),
1188+ return the resulting tree. Otherwise return NULL_TREE.
1189+ If the result expression is non-null, it has boolean type. */
1190+
1191+tree
1192+maybe_fold_or_comparisons (enum tree_code code1, tree op1a, tree op1b,
1193+ enum tree_code code2, tree op2a, tree op2b)
1194+{
1195+ tree t = or_comparisons_1 (code1, op1a, op1b, code2, op2a, op2b);
1196+ if (t)
1197+ return t;
1198+ else
1199+ return or_comparisons_1 (code2, op2a, op2b, code1, op1a, op1b);
1200+}
1201+
1202 /* Try to optimize out __builtin_stack_restore. Optimize it out
1203 if there is another __builtin_stack_restore in the same basic
1204 block and no calls or ASM_EXPRs are in between, or if this block's
1205
1206=== modified file 'gcc/tree-ssa-ifcombine.c'
1207--- old/gcc/tree-ssa-ifcombine.c 2009-11-25 10:55:54 +0000
1208+++ new/gcc/tree-ssa-ifcombine.c 2010-07-30 13:21:51 +0000
1209@@ -366,21 +366,16 @@
1210
1211 /* See if we have two comparisons that we can merge into one. */
1212 else if (TREE_CODE_CLASS (gimple_cond_code (inner_cond)) == tcc_comparison
1213- && TREE_CODE_CLASS (gimple_cond_code (outer_cond)) == tcc_comparison
1214- && operand_equal_p (gimple_cond_lhs (inner_cond),
1215- gimple_cond_lhs (outer_cond), 0)
1216- && operand_equal_p (gimple_cond_rhs (inner_cond),
1217- gimple_cond_rhs (outer_cond), 0))
1218+ && TREE_CODE_CLASS (gimple_cond_code (outer_cond)) == tcc_comparison)
1219 {
1220- enum tree_code code1 = gimple_cond_code (inner_cond);
1221- enum tree_code code2 = gimple_cond_code (outer_cond);
1222 tree t;
1223
1224- if (!(t = combine_comparisons (UNKNOWN_LOCATION,
1225- TRUTH_ANDIF_EXPR, code1, code2,
1226- boolean_type_node,
1227- gimple_cond_lhs (outer_cond),
1228- gimple_cond_rhs (outer_cond))))
1229+ if (!(t = maybe_fold_and_comparisons (gimple_cond_code (inner_cond),
1230+ gimple_cond_lhs (inner_cond),
1231+ gimple_cond_rhs (inner_cond),
1232+ gimple_cond_code (outer_cond),
1233+ gimple_cond_lhs (outer_cond),
1234+ gimple_cond_rhs (outer_cond))))
1235 return false;
1236 t = canonicalize_cond_expr_cond (t);
1237 if (!t)
1238@@ -518,22 +513,17 @@
1239 /* See if we have two comparisons that we can merge into one.
1240 This happens for C++ operator overloading where for example
1241 GE_EXPR is implemented as GT_EXPR || EQ_EXPR. */
1242- else if (TREE_CODE_CLASS (gimple_cond_code (inner_cond)) == tcc_comparison
1243- && TREE_CODE_CLASS (gimple_cond_code (outer_cond)) == tcc_comparison
1244- && operand_equal_p (gimple_cond_lhs (inner_cond),
1245- gimple_cond_lhs (outer_cond), 0)
1246- && operand_equal_p (gimple_cond_rhs (inner_cond),
1247- gimple_cond_rhs (outer_cond), 0))
1248+ else if (TREE_CODE_CLASS (gimple_cond_code (inner_cond)) == tcc_comparison
1249+ && TREE_CODE_CLASS (gimple_cond_code (outer_cond)) == tcc_comparison)
1250 {
1251- enum tree_code code1 = gimple_cond_code (inner_cond);
1252- enum tree_code code2 = gimple_cond_code (outer_cond);
1253 tree t;
1254
1255- if (!(t = combine_comparisons (UNKNOWN_LOCATION,
1256- TRUTH_ORIF_EXPR, code1, code2,
1257- boolean_type_node,
1258- gimple_cond_lhs (outer_cond),
1259- gimple_cond_rhs (outer_cond))))
1260+ if (!(t = maybe_fold_or_comparisons (gimple_cond_code (inner_cond),
1261+ gimple_cond_lhs (inner_cond),
1262+ gimple_cond_rhs (inner_cond),
1263+ gimple_cond_code (outer_cond),
1264+ gimple_cond_lhs (outer_cond),
1265+ gimple_cond_rhs (outer_cond))))
1266 return false;
1267 t = canonicalize_cond_expr_cond (t);
1268 if (!t)
1269
1270=== modified file 'gcc/tree-ssa-reassoc.c'
1271--- old/gcc/tree-ssa-reassoc.c 2010-01-13 15:04:38 +0000
1272+++ new/gcc/tree-ssa-reassoc.c 2010-07-30 13:21:51 +0000
1273@@ -1159,6 +1159,117 @@
1274 return changed;
1275 }
1276
1277+/* If OPCODE is BIT_IOR_EXPR or BIT_AND_EXPR and CURR is a comparison
1278+ expression, examine the other OPS to see if any of them are comparisons
1279+ of the same values, which we may be able to combine or eliminate.
1280+ For example, we can rewrite (a < b) | (a == b) as (a <= b). */
1281+
1282+static bool
1283+eliminate_redundant_comparison (enum tree_code opcode,
1284+ VEC (operand_entry_t, heap) **ops,
1285+ unsigned int currindex,
1286+ operand_entry_t curr)
1287+{
1288+ tree op1, op2;
1289+ enum tree_code lcode, rcode;
1290+ gimple def1, def2;
1291+ int i;
1292+ operand_entry_t oe;
1293+
1294+ if (opcode != BIT_IOR_EXPR && opcode != BIT_AND_EXPR)
1295+ return false;
1296+
1297+ /* Check that CURR is a comparison. */
1298+ if (TREE_CODE (curr->op) != SSA_NAME)
1299+ return false;
1300+ def1 = SSA_NAME_DEF_STMT (curr->op);
1301+ if (!is_gimple_assign (def1))
1302+ return false;
1303+ lcode = gimple_assign_rhs_code (def1);
1304+ if (TREE_CODE_CLASS (lcode) != tcc_comparison)
1305+ return false;
1306+ op1 = gimple_assign_rhs1 (def1);
1307+ op2 = gimple_assign_rhs2 (def1);
1308+
1309+ /* Now look for a similar comparison in the remaining OPS. */
1310+ for (i = currindex + 1;
1311+ VEC_iterate (operand_entry_t, *ops, i, oe);
1312+ i++)
1313+ {
1314+ tree t;
1315+
1316+ if (TREE_CODE (oe->op) != SSA_NAME)
1317+ continue;
1318+ def2 = SSA_NAME_DEF_STMT (oe->op);
1319+ if (!is_gimple_assign (def2))
1320+ continue;
1321+ rcode = gimple_assign_rhs_code (def2);
1322+ if (TREE_CODE_CLASS (rcode) != tcc_comparison)
1323+ continue;
1324+
1325+ /* If we got here, we have a match. See if we can combine the
1326+ two comparisons. */
1327+ if (opcode == BIT_IOR_EXPR)
1328+ t = maybe_fold_or_comparisons (lcode, op1, op2,
1329+ rcode, gimple_assign_rhs1 (def2),
1330+ gimple_assign_rhs2 (def2));
1331+ else
1332+ t = maybe_fold_and_comparisons (lcode, op1, op2,
1333+ rcode, gimple_assign_rhs1 (def2),
1334+ gimple_assign_rhs2 (def2));
1335+ if (!t)
1336+ continue;
1337+
1338+ /* maybe_fold_and_comparisons and maybe_fold_or_comparisons
1339+ always give us a boolean_type_node value back. If the original
1340+ BIT_AND_EXPR or BIT_IOR_EXPR was of a wider integer type,
1341+ we need to convert. */
1342+ if (!useless_type_conversion_p (TREE_TYPE (curr->op), TREE_TYPE (t)))
1343+ t = fold_convert (TREE_TYPE (curr->op), t);
1344+
1345+ if (dump_file && (dump_flags & TDF_DETAILS))
1346+ {
1347+ fprintf (dump_file, "Equivalence: ");
1348+ print_generic_expr (dump_file, curr->op, 0);
1349+ fprintf (dump_file, " %s ", op_symbol_code (opcode));
1350+ print_generic_expr (dump_file, oe->op, 0);
1351+ fprintf (dump_file, " -> ");
1352+ print_generic_expr (dump_file, t, 0);
1353+ fprintf (dump_file, "\n");
1354+ }
1355+
1356+ /* Now we can delete oe, as it has been subsumed by the new combined
1357+ expression t. */
1358+ VEC_ordered_remove (operand_entry_t, *ops, i);
1359+ reassociate_stats.ops_eliminated ++;
1360+
1361+ /* If t is the same as curr->op, we're done. Otherwise we must
1362+ replace curr->op with t. Special case is if we got a constant
1363+ back, in which case we add it to the end instead of in place of
1364+ the current entry. */
1365+ if (TREE_CODE (t) == INTEGER_CST)
1366+ {
1367+ VEC_ordered_remove (operand_entry_t, *ops, currindex);
1368+ add_to_ops_vec (ops, t);
1369+ }
1370+ else if (!operand_equal_p (t, curr->op, 0))
1371+ {
1372+ tree tmpvar;
1373+ gimple sum;
1374+ enum tree_code subcode;
1375+ tree newop1;
1376+ tree newop2;
1377+ tmpvar = create_tmp_var (TREE_TYPE (t), NULL);
1378+ add_referenced_var (tmpvar);
1379+ extract_ops_from_tree (t, &subcode, &newop1, &newop2);
1380+ sum = build_and_add_sum (tmpvar, newop1, newop2, subcode);
1381+ curr->op = gimple_get_lhs (sum);
1382+ }
1383+ return true;
1384+ }
1385+
1386+ return false;
1387+}
1388
1389 /* Perform various identities and other optimizations on the list of
1390 operand entries, stored in OPS. The tree code for the binary
1391@@ -1220,7 +1331,8 @@
1392 if (eliminate_not_pairs (opcode, ops, i, oe))
1393 return;
1394 if (eliminate_duplicate_pair (opcode, ops, &done, i, oe, oelast)
1395- || (!done && eliminate_plus_minus_pair (opcode, ops, i, oe)))
1396+ || (!done && eliminate_plus_minus_pair (opcode, ops, i, oe))
1397+ || (!done && eliminate_redundant_comparison (opcode, ops, i, oe)))
1398 {
1399 if (done)
1400 return;
1401
diff --git a/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99307.patch b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99307.patch
new file mode 100644
index 0000000000..9c936d4fad
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99307.patch
@@ -0,0 +1,138 @@
12010-07-12 Yao Qi <yao@codesourcery.com>
2
3 Merge from Sourcery G++ 4.4:
4
5 2009-10-06 Paul Brook <paul@codesourcery.com>
6 Issue #3869
7 gcc/
8 * target.h (gcc_target): Add warn_func_result.
9 * target-def.h (TARGET_WARN_FUNC_RESULT): Define and use.
10 * tree-cfg.h (execute_warn_function_return): Use
11 targetm.warn_func_result.
12 * config/arm/arm.c (TARGET_WARN_FUNC_RESULT): Define.
13 (arm_warn_func_result): New function.
14
15 gcc/testuite/
16 * gcc.target/arm/naked-3.c: New test.
17
18 2010-07-10 Sandra Loosemore <sandra@codesourcery.com>
19
20 Backport from mainline:
21
22=== modified file 'gcc/config/arm/arm.c'
23--- old/gcc/config/arm/arm.c 2010-07-29 16:58:56 +0000
24+++ new/gcc/config/arm/arm.c 2010-07-30 13:58:02 +0000
25@@ -214,6 +214,7 @@
26 static int arm_issue_rate (void);
27 static void arm_output_dwarf_dtprel (FILE *, int, rtx) ATTRIBUTE_UNUSED;
28 static bool arm_allocate_stack_slots_for_args (void);
29+static bool arm_warn_func_result (void);
30 static const char *arm_invalid_parameter_type (const_tree t);
31 static const char *arm_invalid_return_type (const_tree t);
32 static tree arm_promoted_type (const_tree t);
33@@ -378,6 +379,9 @@
34 #undef TARGET_TRAMPOLINE_ADJUST_ADDRESS
35 #define TARGET_TRAMPOLINE_ADJUST_ADDRESS arm_trampoline_adjust_address
36
37+#undef TARGET_WARN_FUNC_RESULT
38+#define TARGET_WARN_FUNC_RESULT arm_warn_func_result
39+
40 #undef TARGET_DEFAULT_SHORT_ENUMS
41 #define TARGET_DEFAULT_SHORT_ENUMS arm_default_short_enums
42
43@@ -2008,6 +2012,14 @@
44 return !IS_NAKED (arm_current_func_type ());
45 }
46
47+static bool
48+arm_warn_func_result (void)
49+{
50+ /* Naked functions are implemented entirely in assembly, including the
51+ return sequence, so suppress warnings about this. */
52+ return !IS_NAKED (arm_current_func_type ());
53+}
54+
55
56 /* Output assembler code for a block containing the constant parts
57 of a trampoline, leaving space for the variable parts.
58
59=== modified file 'gcc/target-def.h'
60--- old/gcc/target-def.h 2010-03-24 20:44:48 +0000
61+++ new/gcc/target-def.h 2010-07-30 13:58:02 +0000
62@@ -212,6 +212,10 @@
63 #define TARGET_EXTRA_LIVE_ON_ENTRY hook_void_bitmap
64 #endif
65
66+#ifndef TARGET_WARN_FUNC_RESULT
67+#define TARGET_WARN_FUNC_RESULT hook_bool_void_true
68+#endif
69+
70 #ifndef TARGET_ASM_FILE_START_APP_OFF
71 #define TARGET_ASM_FILE_START_APP_OFF false
72 #endif
73@@ -1020,6 +1024,7 @@
74 TARGET_EMUTLS, \
75 TARGET_OPTION_HOOKS, \
76 TARGET_EXTRA_LIVE_ON_ENTRY, \
77+ TARGET_WARN_FUNC_RESULT, \
78 TARGET_UNWIND_TABLES_DEFAULT, \
79 TARGET_HAVE_NAMED_SECTIONS, \
80 TARGET_HAVE_SWITCHABLE_BSS_SECTIONS, \
81
82=== modified file 'gcc/target.h'
83--- old/gcc/target.h 2010-03-27 10:27:39 +0000
84+++ new/gcc/target.h 2010-07-30 13:58:02 +0000
85@@ -1171,6 +1171,10 @@
86 bits in the bitmap passed in. */
87 void (*live_on_entry) (bitmap);
88
89+ /* Return false if warnings about missing return statements or suspect
90+ noreturn attributes should be suppressed for the current function. */
91+ bool (*warn_func_result) (void);
92+
93 /* True if unwinding tables should be generated by default. */
94 bool unwind_tables_default;
95
96
97=== added file 'gcc/testsuite/gcc.target/arm/naked-3.c'
98--- old/gcc/testsuite/gcc.target/arm/naked-3.c 1970-01-01 00:00:00 +0000
99+++ new/gcc/testsuite/gcc.target/arm/naked-3.c 2010-07-30 13:58:02 +0000
100@@ -0,0 +1,15 @@
101+/* { dg-do compile } */
102+/* { dg-options "-O2 -Wall" } */
103+/* Check that we do not get warnings about missing return statements
104+ or bogus looking noreturn functions. */
105+int __attribute__((naked))
106+foo(void)
107+{
108+ __asm__ volatile ("mov r0, #1\r\nbx lr\n");
109+}
110+
111+int __attribute__((naked,noreturn))
112+bar(void)
113+{
114+ __asm__ volatile ("frob r0\n");
115+}
116
117=== modified file 'gcc/tree-cfg.c'
118--- old/gcc/tree-cfg.c 2010-03-16 12:31:38 +0000
119+++ new/gcc/tree-cfg.c 2010-07-30 13:58:02 +0000
120@@ -47,6 +47,7 @@
121 #include "value-prof.h"
122 #include "pointer-set.h"
123 #include "tree-inline.h"
124+#include "target.h"
125
126 /* This file contains functions for building the Control Flow Graph (CFG)
127 for a function tree. */
128@@ -7092,6 +7093,9 @@
129 edge e;
130 edge_iterator ei;
131
132+ if (!targetm.warn_func_result())
133+ return 0;
134+
135 /* If we have a path to EXIT, then we do return. */
136 if (TREE_THIS_VOLATILE (cfun->decl)
137 && EDGE_COUNT (EXIT_BLOCK_PTR->preds) > 0)
138
diff --git a/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99308.patch b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99308.patch
new file mode 100644
index 0000000000..bf35a2ed4e
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99308.patch
@@ -0,0 +1,112 @@
12010-07-15 Jie Zhang <jie@codesourcery.com>
2
3 Backport from mainline (originally from Sourcery G++ 4.4):
4
5 gcc/cp/
6 2010-04-07 Jie Zhang <jie@codesourcery.com>
7
8 PR c++/42556
9 * typeck2.c (split_nonconstant_init_1): Drop empty CONSTRUCTOR
10 when all of its elements are non-constant and have been split out.
11
12 gcc/testsuite/
13 2010-04-07 Jie Zhang <jie@codesourcery.com>
14
15 PR c++/42556
16 * g++.dg/init/pr42556.C: New test.
17
18 2010-07-12 Yao Qi <yao@codesourcery.com>
19
20 Merge from Sourcery G++ 4.4:
21
22=== modified file 'gcc/cp/typeck2.c'
23--- old/gcc/cp/typeck2.c 2010-02-23 18:32:20 +0000
24+++ new/gcc/cp/typeck2.c 2010-07-30 14:05:57 +0000
25@@ -549,13 +549,15 @@
26 expression to which INIT should be assigned. INIT is a CONSTRUCTOR. */
27
28 static void
29-split_nonconstant_init_1 (tree dest, tree init)
30+split_nonconstant_init_1 (tree dest, tree *initp)
31 {
32 unsigned HOST_WIDE_INT idx;
33+ tree init = *initp;
34 tree field_index, value;
35 tree type = TREE_TYPE (dest);
36 tree inner_type = NULL;
37 bool array_type_p = false;
38+ HOST_WIDE_INT num_type_elements, num_initialized_elements;
39
40 switch (TREE_CODE (type))
41 {
42@@ -567,6 +569,7 @@
43 case RECORD_TYPE:
44 case UNION_TYPE:
45 case QUAL_UNION_TYPE:
46+ num_initialized_elements = 0;
47 FOR_EACH_CONSTRUCTOR_ELT (CONSTRUCTOR_ELTS (init), idx,
48 field_index, value)
49 {
50@@ -589,12 +592,13 @@
51 sub = build3 (COMPONENT_REF, inner_type, dest, field_index,
52 NULL_TREE);
53
54- split_nonconstant_init_1 (sub, value);
55+ split_nonconstant_init_1 (sub, &value);
56 }
57 else if (!initializer_constant_valid_p (value, inner_type))
58 {
59 tree code;
60 tree sub;
61+ HOST_WIDE_INT inner_elements;
62
63 /* FIXME: Ordered removal is O(1) so the whole function is
64 worst-case quadratic. This could be fixed using an aside
65@@ -617,9 +621,22 @@
66 code = build2 (INIT_EXPR, inner_type, sub, value);
67 code = build_stmt (input_location, EXPR_STMT, code);
68 add_stmt (code);
69+
70+ inner_elements = count_type_elements (inner_type, true);
71+ if (inner_elements < 0)
72+ num_initialized_elements = -1;
73+ else if (num_initialized_elements >= 0)
74+ num_initialized_elements += inner_elements;
75 continue;
76 }
77 }
78+
79+ num_type_elements = count_type_elements (type, true);
80+ /* If all elements of the initializer are non-constant and
81+ have been split out, we don't need the empty CONSTRUCTOR. */
82+ if (num_type_elements > 0
83+ && num_type_elements == num_initialized_elements)
84+ *initp = NULL;
85 break;
86
87 case VECTOR_TYPE:
88@@ -655,7 +672,7 @@
89 if (TREE_CODE (init) == CONSTRUCTOR)
90 {
91 code = push_stmt_list ();
92- split_nonconstant_init_1 (dest, init);
93+ split_nonconstant_init_1 (dest, &init);
94 code = pop_stmt_list (code);
95 DECL_INITIAL (dest) = init;
96 TREE_READONLY (dest) = 0;
97
98=== added file 'gcc/testsuite/g++.dg/init/pr42556.C'
99--- old/gcc/testsuite/g++.dg/init/pr42556.C 1970-01-01 00:00:00 +0000
100+++ new/gcc/testsuite/g++.dg/init/pr42556.C 2010-07-30 14:05:57 +0000
101@@ -0,0 +1,10 @@
102+// { dg-do compile }
103+// { dg-options "-fdump-tree-gimple" }
104+
105+void foo (int a, int b, int c, int d)
106+{
107+ int v[4] = {a, b, c, d};
108+}
109+
110+// { dg-final { scan-tree-dump-not "v = {}" "gimple" } }
111+// { dg-final { cleanup-tree-dump "gimple" } }
112
diff --git a/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99310.patch b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99310.patch
new file mode 100644
index 0000000000..da95fba790
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99310.patch
@@ -0,0 +1,36 @@
1 Backport from mainline (originally from Sourcery G++ 4.4):
2
3 gcc/
4 2010-07-07 Jie Zhang <jie@codesourcery.com>
5 * genautomata.c (output_automata_list_min_issue_delay_code):
6 Correctly decompress min_issue_delay.
7
82010-07-15 Jie Zhang <jie@codesourcery.com>
9
10 Issue #8980
11
12 Backport from mainline (originally from Sourcery G++ 4.4):
13
14=== modified file 'gcc/genautomata.c'
15--- old/gcc/genautomata.c 2009-11-25 10:55:54 +0000
16+++ new/gcc/genautomata.c 2010-07-30 14:21:58 +0000
17@@ -7865,12 +7865,15 @@
18 {
19 fprintf (output_file, ") / %d];\n",
20 automaton->min_issue_delay_table_compression_factor);
21- fprintf (output_file, " %s = (%s >> (8 - (",
22+ fprintf (output_file, " %s = (%s >> (8 - ((",
23 TEMPORARY_VARIABLE_NAME, TEMPORARY_VARIABLE_NAME);
24 output_translate_vect_name (output_file, automaton);
25+ fprintf (output_file, " [%s] + ", INTERNAL_INSN_CODE_NAME);
26+ fprintf (output_file, "%s->", CHIP_PARAMETER_NAME);
27+ output_chip_member_name (output_file, automaton);
28+ fprintf (output_file, " * %d)", automaton->insn_equiv_classes_num);
29 fprintf
30- (output_file, " [%s] %% %d + 1) * %d)) & %d;\n",
31- INTERNAL_INSN_CODE_NAME,
32+ (output_file, " %% %d + 1) * %d)) & %d;\n",
33 automaton->min_issue_delay_table_compression_factor,
34 8 / automaton->min_issue_delay_table_compression_factor,
35 (1 << (8 / automaton->min_issue_delay_table_compression_factor))
36
diff --git a/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99312.patch b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99312.patch
new file mode 100644
index 0000000000..9f0c98e9c9
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99312.patch
@@ -0,0 +1,714 @@
12010-07-15 Sandra Loosemore <sandra@codesourcery.com>
2
3 Backport from mainline:
4
5 2010-06-09 Sandra Loosemore <sandra@codesourcery.com>
6
7 gcc/
8 * tree-ssa-loop-ivopts.c (adjust_setup_cost): New function.
9 (get_computation_cost_at): Use it.
10 (determine_use_iv_cost_condition): Likewise.
11 (determine_iv_cost): Likewise.
12
13 2010-07-05 Sandra Loosemore <sandra@codesourcery.com>
14
15 PR middle-end/42505
16
17 gcc/
18 * tree-ssa-loop-ivopts.c (determine_set_costs): Delete obsolete
19 comments about cost model.
20 (try_add_cand_for): Add second strategy for choosing initial set
21 based on original IVs, controlled by ORIGINALP argument.
22 (get_initial_solution): Add ORIGINALP argument.
23 (find_optimal_iv_set_1): New function, split from find_optimal_iv_set.
24 (find_optimal_iv_set): Try two different strategies for choosing
25 the IV set, and return the one with lower cost.
26
27 gcc/testsuite/
28 * gcc.target/arm/pr42505.c: New test case.
29
30 2010-07-10 Sandra Loosemore <sandra@codesourcery.com>
31
32 PR middle-end/42505
33
34 gcc/
35 * tree-inline.c (estimate_num_insns): Refactor builtin complexity
36 lookup code into....
37 * builtins.c (is_simple_builtin, is_inexpensive_builtin): ...these
38 new functions.
39 * tree.h (is_simple_builtin, is_inexpensive_builtin): Declare.
40 * cfgloopanal.c (target_clobbered_regs): Define.
41 (init_set_costs): Initialize target_clobbered_regs.
42 (estimate_reg_pressure_cost): Add call_p argument. When true,
43 adjust the number of available registers to exclude the
44 call-clobbered registers.
45 * cfgloop.h (target_clobbered_regs): Declare.
46 (estimate_reg_pressure_cost): Adjust declaration.
47 * tree-ssa-loop-ivopts.c (struct ivopts_data): Add body_includes_call.
48 (ivopts_global_cost_for_size): Pass it to estimate_reg_pressure_cost.
49 (determine_set_costs): Dump target_clobbered_regs.
50 (loop_body_includes_call): New function.
51 (tree_ssa_iv_optimize_loop): Use it to initialize new field.
52 * loop-invariant.c (gain_for_invariant): Adjust arguments to pass
53 call_p flag through.
54 (best_gain_for_invariant): Likewise.
55 (find_invariants_to_move): Likewise.
56 (move_single_loop_invariants): Likewise, using already-computed
57 has_call field.
58
59 2010-07-15 Jie Zhang <jie@codesourcery.com>
60
61 Issue #8497, #8893
62
63=== modified file 'gcc/builtins.c'
64--- old/gcc/builtins.c 2010-04-13 12:47:11 +0000
65+++ new/gcc/builtins.c 2010-08-02 13:51:23 +0000
66@@ -13624,3 +13624,123 @@
67 break;
68 }
69 }
70+
71+/* Return true if DECL is a builtin that expands to a constant or similarly
72+ simple code. */
73+bool
74+is_simple_builtin (tree decl)
75+{
76+ if (decl && DECL_BUILT_IN_CLASS (decl) == BUILT_IN_NORMAL)
77+ switch (DECL_FUNCTION_CODE (decl))
78+ {
79+ /* Builtins that expand to constants. */
80+ case BUILT_IN_CONSTANT_P:
81+ case BUILT_IN_EXPECT:
82+ case BUILT_IN_OBJECT_SIZE:
83+ case BUILT_IN_UNREACHABLE:
84+ /* Simple register moves or loads from stack. */
85+ case BUILT_IN_RETURN_ADDRESS:
86+ case BUILT_IN_EXTRACT_RETURN_ADDR:
87+ case BUILT_IN_FROB_RETURN_ADDR:
88+ case BUILT_IN_RETURN:
89+ case BUILT_IN_AGGREGATE_INCOMING_ADDRESS:
90+ case BUILT_IN_FRAME_ADDRESS:
91+ case BUILT_IN_VA_END:
92+ case BUILT_IN_STACK_SAVE:
93+ case BUILT_IN_STACK_RESTORE:
94+ /* Exception state returns or moves registers around. */
95+ case BUILT_IN_EH_FILTER:
96+ case BUILT_IN_EH_POINTER:
97+ case BUILT_IN_EH_COPY_VALUES:
98+ return true;
99+
100+ default:
101+ return false;
102+ }
103+
104+ return false;
105+}
106+
107+/* Return true if DECL is a builtin that is not expensive, i.e., they are
108+ most probably expanded inline into reasonably simple code. This is a
109+ superset of is_simple_builtin. */
110+bool
111+is_inexpensive_builtin (tree decl)
112+{
113+ if (!decl)
114+ return false;
115+ else if (DECL_BUILT_IN_CLASS (decl) == BUILT_IN_MD)
116+ return true;
117+ else if (DECL_BUILT_IN_CLASS (decl) == BUILT_IN_NORMAL)
118+ switch (DECL_FUNCTION_CODE (decl))
119+ {
120+ case BUILT_IN_ABS:
121+ case BUILT_IN_ALLOCA:
122+ case BUILT_IN_BSWAP32:
123+ case BUILT_IN_BSWAP64:
124+ case BUILT_IN_CLZ:
125+ case BUILT_IN_CLZIMAX:
126+ case BUILT_IN_CLZL:
127+ case BUILT_IN_CLZLL:
128+ case BUILT_IN_CTZ:
129+ case BUILT_IN_CTZIMAX:
130+ case BUILT_IN_CTZL:
131+ case BUILT_IN_CTZLL:
132+ case BUILT_IN_FFS:
133+ case BUILT_IN_FFSIMAX:
134+ case BUILT_IN_FFSL:
135+ case BUILT_IN_FFSLL:
136+ case BUILT_IN_IMAXABS:
137+ case BUILT_IN_FINITE:
138+ case BUILT_IN_FINITEF:
139+ case BUILT_IN_FINITEL:
140+ case BUILT_IN_FINITED32:
141+ case BUILT_IN_FINITED64:
142+ case BUILT_IN_FINITED128:
143+ case BUILT_IN_FPCLASSIFY:
144+ case BUILT_IN_ISFINITE:
145+ case BUILT_IN_ISINF_SIGN:
146+ case BUILT_IN_ISINF:
147+ case BUILT_IN_ISINFF:
148+ case BUILT_IN_ISINFL:
149+ case BUILT_IN_ISINFD32:
150+ case BUILT_IN_ISINFD64:
151+ case BUILT_IN_ISINFD128:
152+ case BUILT_IN_ISNAN:
153+ case BUILT_IN_ISNANF:
154+ case BUILT_IN_ISNANL:
155+ case BUILT_IN_ISNAND32:
156+ case BUILT_IN_ISNAND64:
157+ case BUILT_IN_ISNAND128:
158+ case BUILT_IN_ISNORMAL:
159+ case BUILT_IN_ISGREATER:
160+ case BUILT_IN_ISGREATEREQUAL:
161+ case BUILT_IN_ISLESS:
162+ case BUILT_IN_ISLESSEQUAL:
163+ case BUILT_IN_ISLESSGREATER:
164+ case BUILT_IN_ISUNORDERED:
165+ case BUILT_IN_VA_ARG_PACK:
166+ case BUILT_IN_VA_ARG_PACK_LEN:
167+ case BUILT_IN_VA_COPY:
168+ case BUILT_IN_TRAP:
169+ case BUILT_IN_SAVEREGS:
170+ case BUILT_IN_POPCOUNTL:
171+ case BUILT_IN_POPCOUNTLL:
172+ case BUILT_IN_POPCOUNTIMAX:
173+ case BUILT_IN_POPCOUNT:
174+ case BUILT_IN_PARITYL:
175+ case BUILT_IN_PARITYLL:
176+ case BUILT_IN_PARITYIMAX:
177+ case BUILT_IN_PARITY:
178+ case BUILT_IN_LABS:
179+ case BUILT_IN_LLABS:
180+ case BUILT_IN_PREFETCH:
181+ return true;
182+
183+ default:
184+ return is_simple_builtin (decl);
185+ }
186+
187+ return false;
188+}
189+
190
191=== modified file 'gcc/cfgloop.h'
192--- old/gcc/cfgloop.h 2009-11-25 10:55:54 +0000
193+++ new/gcc/cfgloop.h 2010-08-02 13:51:23 +0000
194@@ -622,13 +622,14 @@
195 /* The properties of the target. */
196
197 extern unsigned target_avail_regs;
198+extern unsigned target_clobbered_regs;
199 extern unsigned target_res_regs;
200 extern unsigned target_reg_cost [2];
201 extern unsigned target_spill_cost [2];
202
203 /* Register pressure estimation for induction variable optimizations & loop
204 invariant motion. */
205-extern unsigned estimate_reg_pressure_cost (unsigned, unsigned, bool);
206+extern unsigned estimate_reg_pressure_cost (unsigned, unsigned, bool, bool);
207 extern void init_set_costs (void);
208
209 /* Loop optimizer initialization. */
210
211=== modified file 'gcc/cfgloopanal.c'
212--- old/gcc/cfgloopanal.c 2009-09-30 08:57:56 +0000
213+++ new/gcc/cfgloopanal.c 2010-08-02 13:51:23 +0000
214@@ -320,6 +320,8 @@
215 /* The properties of the target. */
216
217 unsigned target_avail_regs; /* Number of available registers. */
218+unsigned target_clobbered_regs; /* Number of available registers that are
219+ call-clobbered. */
220 unsigned target_res_regs; /* Number of registers reserved for temporary
221 expressions. */
222 unsigned target_reg_cost[2]; /* The cost for register when there still
223@@ -342,10 +344,15 @@
224 unsigned i;
225
226 target_avail_regs = 0;
227+ target_clobbered_regs = 0;
228 for (i = 0; i < FIRST_PSEUDO_REGISTER; i++)
229 if (TEST_HARD_REG_BIT (reg_class_contents[GENERAL_REGS], i)
230 && !fixed_regs[i])
231- target_avail_regs++;
232+ {
233+ target_avail_regs++;
234+ if (call_used_regs[i])
235+ target_clobbered_regs++;
236+ }
237
238 target_res_regs = 3;
239
240@@ -379,20 +386,29 @@
241
242 /* Estimates cost of increased register pressure caused by making N_NEW new
243 registers live around the loop. N_OLD is the number of registers live
244- around the loop. */
245+ around the loop. If CALL_P is true, also take into account that
246+ call-used registers may be clobbered in the loop body, reducing the
247+ number of available registers before we spill. */
248
249 unsigned
250-estimate_reg_pressure_cost (unsigned n_new, unsigned n_old, bool speed)
251+estimate_reg_pressure_cost (unsigned n_new, unsigned n_old, bool speed,
252+ bool call_p)
253 {
254 unsigned cost;
255 unsigned regs_needed = n_new + n_old;
256+ unsigned available_regs = target_avail_regs;
257+
258+ /* If there is a call in the loop body, the call-clobbered registers
259+ are not available for loop invariants. */
260+ if (call_p)
261+ available_regs = available_regs - target_clobbered_regs;
262
263 /* If we have enough registers, we should use them and not restrict
264 the transformations unnecessarily. */
265- if (regs_needed + target_res_regs <= target_avail_regs)
266+ if (regs_needed + target_res_regs <= available_regs)
267 return 0;
268
269- if (regs_needed <= target_avail_regs)
270+ if (regs_needed <= available_regs)
271 /* If we are close to running out of registers, try to preserve
272 them. */
273 cost = target_reg_cost [speed] * n_new;
274
275=== modified file 'gcc/loop-invariant.c'
276--- old/gcc/loop-invariant.c 2010-04-02 18:54:46 +0000
277+++ new/gcc/loop-invariant.c 2010-08-02 13:51:23 +0000
278@@ -1173,11 +1173,13 @@
279 /* Calculates gain for eliminating invariant INV. REGS_USED is the number
280 of registers used in the loop, NEW_REGS is the number of new variables
281 already added due to the invariant motion. The number of registers needed
282- for it is stored in *REGS_NEEDED. */
283+ for it is stored in *REGS_NEEDED. SPEED and CALL_P are flags passed
284+ through to estimate_reg_pressure_cost. */
285
286 static int
287 gain_for_invariant (struct invariant *inv, unsigned *regs_needed,
288- unsigned *new_regs, unsigned regs_used, bool speed)
289+ unsigned *new_regs, unsigned regs_used,
290+ bool speed, bool call_p)
291 {
292 int comp_cost, size_cost;
293
294@@ -1188,9 +1190,9 @@
295 if (! flag_ira_loop_pressure)
296 {
297 size_cost = (estimate_reg_pressure_cost (new_regs[0] + regs_needed[0],
298- regs_used, speed)
299+ regs_used, speed, call_p)
300 - estimate_reg_pressure_cost (new_regs[0],
301- regs_used, speed));
302+ regs_used, speed, call_p));
303 }
304 else
305 {
306@@ -1245,7 +1247,8 @@
307
308 static int
309 best_gain_for_invariant (struct invariant **best, unsigned *regs_needed,
310- unsigned *new_regs, unsigned regs_used, bool speed)
311+ unsigned *new_regs, unsigned regs_used,
312+ bool speed, bool call_p)
313 {
314 struct invariant *inv;
315 int i, gain = 0, again;
316@@ -1261,7 +1264,7 @@
317 continue;
318
319 again = gain_for_invariant (inv, aregs_needed, new_regs, regs_used,
320- speed);
321+ speed, call_p);
322 if (again > gain)
323 {
324 gain = again;
325@@ -1314,7 +1317,7 @@
326 /* Determines which invariants to move. */
327
328 static void
329-find_invariants_to_move (bool speed)
330+find_invariants_to_move (bool speed, bool call_p)
331 {
332 int gain;
333 unsigned i, regs_used, regs_needed[N_REG_CLASSES], new_regs[N_REG_CLASSES];
334@@ -1353,7 +1356,8 @@
335 new_regs[ira_reg_class_cover[i]] = 0;
336 }
337 while ((gain = best_gain_for_invariant (&inv, regs_needed,
338- new_regs, regs_used, speed)) > 0)
339+ new_regs, regs_used,
340+ speed, call_p)) > 0)
341 {
342 set_move_mark (inv->invno, gain);
343 if (! flag_ira_loop_pressure)
344@@ -1554,7 +1558,8 @@
345 init_inv_motion_data ();
346
347 find_invariants (loop);
348- find_invariants_to_move (optimize_loop_for_speed_p (loop));
349+ find_invariants_to_move (optimize_loop_for_speed_p (loop),
350+ LOOP_DATA (loop)->has_call);
351 move_invariants (loop);
352
353 free_inv_motion_data ();
354
355=== added file 'gcc/testsuite/gcc.target/arm/pr42505.c'
356--- old/gcc/testsuite/gcc.target/arm/pr42505.c 1970-01-01 00:00:00 +0000
357+++ new/gcc/testsuite/gcc.target/arm/pr42505.c 2010-08-02 13:51:23 +0000
358@@ -0,0 +1,23 @@
359+/* { dg-options "-mthumb -Os -march=armv5te" } */
360+/* { dg-require-effective-target arm_thumb1_ok } */
361+/* { dg-final { scan-assembler-not "str\[\\t \]*r.,\[\\t \]*.sp," } } */
362+
363+struct A {
364+ int f1;
365+ int f2;
366+};
367+
368+int func(int c);
369+
370+/* This function should not need to spill anything to the stack. */
371+int test(struct A* src, struct A* dst, int count)
372+{
373+ while (count--) {
374+ if (!func(src->f2)) {
375+ return 0;
376+ }
377+ *dst++ = *src++;
378+ }
379+
380+ return 1;
381+}
382
383=== modified file 'gcc/tree-inline.c'
384--- old/gcc/tree-inline.c 2010-03-18 20:07:13 +0000
385+++ new/gcc/tree-inline.c 2010-08-02 13:51:23 +0000
386@@ -3246,34 +3246,13 @@
387 if (POINTER_TYPE_P (funtype))
388 funtype = TREE_TYPE (funtype);
389
390- if (decl && DECL_BUILT_IN_CLASS (decl) == BUILT_IN_MD)
391+ if (is_simple_builtin (decl))
392+ return 0;
393+ else if (is_inexpensive_builtin (decl))
394 cost = weights->target_builtin_call_cost;
395 else
396 cost = weights->call_cost;
397
398- if (decl && DECL_BUILT_IN_CLASS (decl) == BUILT_IN_NORMAL)
399- switch (DECL_FUNCTION_CODE (decl))
400- {
401- case BUILT_IN_CONSTANT_P:
402- return 0;
403- case BUILT_IN_EXPECT:
404- return 0;
405-
406- /* Prefetch instruction is not expensive. */
407- case BUILT_IN_PREFETCH:
408- cost = weights->target_builtin_call_cost;
409- break;
410-
411- /* Exception state returns or moves registers around. */
412- case BUILT_IN_EH_FILTER:
413- case BUILT_IN_EH_POINTER:
414- case BUILT_IN_EH_COPY_VALUES:
415- return 0;
416-
417- default:
418- break;
419- }
420-
421 if (decl)
422 funtype = TREE_TYPE (decl);
423
424
425=== modified file 'gcc/tree-ssa-loop-ivopts.c'
426--- old/gcc/tree-ssa-loop-ivopts.c 2010-04-01 15:18:07 +0000
427+++ new/gcc/tree-ssa-loop-ivopts.c 2010-08-02 13:51:23 +0000
428@@ -257,6 +257,9 @@
429
430 /* Are we optimizing for speed? */
431 bool speed;
432+
433+ /* Whether the loop body includes any function calls. */
434+ bool body_includes_call;
435 };
436
437 /* An assignment of iv candidates to uses. */
438@@ -2926,6 +2929,20 @@
439 return get_computation_at (loop, use, cand, use->stmt);
440 }
441
442+/* Adjust the cost COST for being in loop setup rather than loop body.
443+ If we're optimizing for space, the loop setup overhead is constant;
444+ if we're optimizing for speed, amortize it over the per-iteration cost. */
445+static unsigned
446+adjust_setup_cost (struct ivopts_data *data, unsigned cost)
447+{
448+ if (cost == INFTY)
449+ return cost;
450+ else if (optimize_loop_for_speed_p (data->current_loop))
451+ return cost / AVG_LOOP_NITER (data->current_loop);
452+ else
453+ return cost;
454+}
455+
456 /* Returns cost of addition in MODE. */
457
458 static unsigned
459@@ -3838,8 +3855,8 @@
460 /* Symbol + offset should be compile-time computable so consider that they
461 are added once to the variable, if present. */
462 if (var_present && (symbol_present || offset))
463- cost.cost += add_cost (TYPE_MODE (ctype), speed)
464- / AVG_LOOP_NITER (data->current_loop);
465+ cost.cost += adjust_setup_cost (data,
466+ add_cost (TYPE_MODE (ctype), speed));
467
468 /* Having offset does not affect runtime cost in case it is added to
469 symbol, but it increases complexity. */
470@@ -4104,7 +4121,7 @@
471 elim_cost = force_var_cost (data, bound, &depends_on_elim);
472 /* The bound is a loop invariant, so it will be only computed
473 once. */
474- elim_cost.cost /= AVG_LOOP_NITER (data->current_loop);
475+ elim_cost.cost = adjust_setup_cost (data, elim_cost.cost);
476 }
477 else
478 elim_cost = infinite_cost;
479@@ -4351,7 +4368,7 @@
480 cost_base = force_var_cost (data, base, NULL);
481 cost_step = add_cost (TYPE_MODE (TREE_TYPE (base)), data->speed);
482
483- cost = cost_step + cost_base.cost / AVG_LOOP_NITER (current_loop);
484+ cost = cost_step + adjust_setup_cost (data, cost_base.cost);
485
486 /* Prefer the original ivs unless we may gain something by replacing it.
487 The reason is to make debugging simpler; so this is not relevant for
488@@ -4404,7 +4421,8 @@
489 {
490 /* We add size to the cost, so that we prefer eliminating ivs
491 if possible. */
492- return size + estimate_reg_pressure_cost (size, data->regs_used, data->speed);
493+ return size + estimate_reg_pressure_cost (size, data->regs_used, data->speed,
494+ data->body_includes_call);
495 }
496
497 /* For each size of the induction variable set determine the penalty. */
498@@ -4419,30 +4437,11 @@
499 struct loop *loop = data->current_loop;
500 bitmap_iterator bi;
501
502- /* We use the following model (definitely improvable, especially the
503- cost function -- TODO):
504-
505- We estimate the number of registers available (using MD data), name it A.
506-
507- We estimate the number of registers used by the loop, name it U. This
508- number is obtained as the number of loop phi nodes (not counting virtual
509- registers and bivs) + the number of variables from outside of the loop.
510-
511- We set a reserve R (free regs that are used for temporary computations,
512- etc.). For now the reserve is a constant 3.
513-
514- Let I be the number of induction variables.
515-
516- -- if U + I + R <= A, the cost is I * SMALL_COST (just not to encourage
517- make a lot of ivs without a reason).
518- -- if A - R < U + I <= A, the cost is I * PRES_COST
519- -- if U + I > A, the cost is I * PRES_COST and
520- number of uses * SPILL_COST * (U + I - A) / (U + I) is added. */
521-
522 if (dump_file && (dump_flags & TDF_DETAILS))
523 {
524 fprintf (dump_file, "Global costs:\n");
525 fprintf (dump_file, " target_avail_regs %d\n", target_avail_regs);
526+ fprintf (dump_file, " target_clobbered_regs %d\n", target_clobbered_regs);
527 fprintf (dump_file, " target_reg_cost %d\n", target_reg_cost[data->speed]);
528 fprintf (dump_file, " target_spill_cost %d\n", target_spill_cost[data->speed]);
529 }
530@@ -5062,11 +5061,13 @@
531 }
532
533 /* Tries to extend the sets IVS in the best possible way in order
534- to express the USE. */
535+ to express the USE. If ORIGINALP is true, prefer candidates from
536+ the original set of IVs, otherwise favor important candidates not
537+ based on any memory object. */
538
539 static bool
540 try_add_cand_for (struct ivopts_data *data, struct iv_ca *ivs,
541- struct iv_use *use)
542+ struct iv_use *use, bool originalp)
543 {
544 comp_cost best_cost, act_cost;
545 unsigned i;
546@@ -5085,7 +5086,8 @@
547 iv_ca_set_no_cp (data, ivs, use);
548 }
549
550- /* First try important candidates not based on any memory object. Only if
551+ /* If ORIGINALP is true, try to find the original IV for the use. Otherwise
552+ first try important candidates not based on any memory object. Only if
553 this fails, try the specific ones. Rationale -- in loops with many
554 variables the best choice often is to use just one generic biv. If we
555 added here many ivs specific to the uses, the optimization algorithm later
556@@ -5097,7 +5099,10 @@
557 {
558 cand = iv_cand (data, i);
559
560- if (cand->iv->base_object != NULL_TREE)
561+ if (originalp && cand->pos !=IP_ORIGINAL)
562+ continue;
563+
564+ if (!originalp && cand->iv->base_object != NULL_TREE)
565 continue;
566
567 if (iv_ca_cand_used_p (ivs, cand))
568@@ -5133,8 +5138,13 @@
569 continue;
570
571 /* Already tried this. */
572- if (cand->important && cand->iv->base_object == NULL_TREE)
573- continue;
574+ if (cand->important)
575+ {
576+ if (originalp && cand->pos == IP_ORIGINAL)
577+ continue;
578+ if (!originalp && cand->iv->base_object == NULL_TREE)
579+ continue;
580+ }
581
582 if (iv_ca_cand_used_p (ivs, cand))
583 continue;
584@@ -5168,13 +5178,13 @@
585 /* Finds an initial assignment of candidates to uses. */
586
587 static struct iv_ca *
588-get_initial_solution (struct ivopts_data *data)
589+get_initial_solution (struct ivopts_data *data, bool originalp)
590 {
591 struct iv_ca *ivs = iv_ca_new (data);
592 unsigned i;
593
594 for (i = 0; i < n_iv_uses (data); i++)
595- if (!try_add_cand_for (data, ivs, iv_use (data, i)))
596+ if (!try_add_cand_for (data, ivs, iv_use (data, i), originalp))
597 {
598 iv_ca_free (&ivs);
599 return NULL;
600@@ -5246,14 +5256,12 @@
601 solution and remove the unused ivs while this improves the cost. */
602
603 static struct iv_ca *
604-find_optimal_iv_set (struct ivopts_data *data)
605+find_optimal_iv_set_1 (struct ivopts_data *data, bool originalp)
606 {
607- unsigned i;
608 struct iv_ca *set;
609- struct iv_use *use;
610
611 /* Get the initial solution. */
612- set = get_initial_solution (data);
613+ set = get_initial_solution (data, originalp);
614 if (!set)
615 {
616 if (dump_file && (dump_flags & TDF_DETAILS))
617@@ -5276,11 +5284,46 @@
618 }
619 }
620
621+ return set;
622+}
623+
624+static struct iv_ca *
625+find_optimal_iv_set (struct ivopts_data *data)
626+{
627+ unsigned i;
628+ struct iv_ca *set, *origset;
629+ struct iv_use *use;
630+ comp_cost cost, origcost;
631+
632+ /* Determine the cost based on a strategy that starts with original IVs,
633+ and try again using a strategy that prefers candidates not based
634+ on any IVs. */
635+ origset = find_optimal_iv_set_1 (data, true);
636+ set = find_optimal_iv_set_1 (data, false);
637+
638+ if (!origset && !set)
639+ return NULL;
640+
641+ origcost = origset ? iv_ca_cost (origset) : infinite_cost;
642+ cost = set ? iv_ca_cost (set) : infinite_cost;
643+
644 if (dump_file && (dump_flags & TDF_DETAILS))
645 {
646- comp_cost cost = iv_ca_cost (set);
647- fprintf (dump_file, "Final cost %d (complexity %d)\n\n", cost.cost, cost.complexity);
648- }
649+ fprintf (dump_file, "Original cost %d (complexity %d)\n\n",
650+ origcost.cost, origcost.complexity);
651+ fprintf (dump_file, "Final cost %d (complexity %d)\n\n",
652+ cost.cost, cost.complexity);
653+ }
654+
655+ /* Choose the one with the best cost. */
656+ if (compare_costs (origcost, cost) <= 0)
657+ {
658+ if (set)
659+ iv_ca_free (&set);
660+ set = origset;
661+ }
662+ else if (origset)
663+ iv_ca_free (&origset);
664
665 for (i = 0; i < n_iv_uses (data); i++)
666 {
667@@ -5768,6 +5811,25 @@
668 VEC_free (iv_cand_p, heap, data->iv_candidates);
669 }
670
671+/* Returns true if the loop body BODY includes any function calls. */
672+
673+static bool
674+loop_body_includes_call (basic_block *body, unsigned num_nodes)
675+{
676+ gimple_stmt_iterator gsi;
677+ unsigned i;
678+
679+ for (i = 0; i < num_nodes; i++)
680+ for (gsi = gsi_start_bb (body[i]); !gsi_end_p (gsi); gsi_next (&gsi))
681+ {
682+ gimple stmt = gsi_stmt (gsi);
683+ if (is_gimple_call (stmt)
684+ && !is_inexpensive_builtin (gimple_call_fndecl (stmt)))
685+ return true;
686+ }
687+ return false;
688+}
689+
690 /* Optimizes the LOOP. Returns true if anything changed. */
691
692 static bool
693@@ -5799,6 +5861,7 @@
694 }
695
696 body = get_loop_body (loop);
697+ data->body_includes_call = loop_body_includes_call (body, loop->num_nodes);
698 renumber_gimple_stmt_uids_in_blocks (body, loop->num_nodes);
699 free (body);
700
701
702=== modified file 'gcc/tree.h'
703--- old/gcc/tree.h 2010-04-02 18:54:46 +0000
704+++ new/gcc/tree.h 2010-08-02 13:51:23 +0000
705@@ -4962,6 +4962,8 @@
706 extern bool merge_ranges (int *, tree *, tree *, int, tree, tree, int,
707 tree, tree);
708 extern void set_builtin_user_assembler_name (tree decl, const char *asmspec);
709+extern bool is_simple_builtin (tree);
710+extern bool is_inexpensive_builtin (tree);
711
712 /* In convert.c */
713 extern tree strip_float_extensions (tree);
714
diff --git a/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99313.patch b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99313.patch
new file mode 100644
index 0000000000..eadce6ec6c
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99313.patch
@@ -0,0 +1,37 @@
12010-07-15 Yao Qi <yao@codesourcery.com>
2
3 Merge from Sourcery G++ 4.4:
4
5 2010-02-25 Maxim Kuvyrkov <maxim@codesourcery.com>
6
7 gcc/
8 * tree.c (initializer_zerop): Handle STRING_CST.
9
10 2010-07-15 Sandra Loosemore <sandra@codesourcery.com>
11
12 Backport from mainline:
13
14=== modified file 'gcc/tree.c'
15--- old/gcc/tree.c 2010-04-01 15:18:07 +0000
16+++ new/gcc/tree.c 2010-08-02 16:32:37 +0000
17@@ -9335,6 +9335,19 @@
18 return true;
19 }
20
21+ case STRING_CST:
22+ {
23+ int i;
24+
25+ /* We need to loop through all elements to handle cases like
26+ "\0" and "\0foobar". */
27+ for (i = 0; i < TREE_STRING_LENGTH (init); ++i)
28+ if (TREE_STRING_POINTER (init)[i] != '\0')
29+ return false;
30+
31+ return true;
32+ }
33+
34 default:
35 return false;
36 }
37
diff --git a/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99314.patch b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99314.patch
new file mode 100644
index 0000000000..216fcac723
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99314.patch
@@ -0,0 +1,433 @@
12010-07-16 Jie Zhang <jie@codesourcery.com>
2
3 Issue #7688
4
5 Backport from mainline:
6
7 gcc/
8 2010-07-12 Jie Zhang <jie@codesourcery.com>
9 * postreload.c (reg_symbol_ref[]): New.
10 (move2add_use_add2_insn): New.
11 (move2add_use_add3_insn): New.
12 (reload_cse_move2add): Handle SYMBOL + OFFSET case.
13 (move2add_note_store): Likewise.
14
15 2010-07-15 Yao Qi <yao@codesourcery.com>
16
17 Merge from Sourcery G++ 4.4:
18
19=== modified file 'gcc/postreload.c'
20--- old/gcc/postreload.c 2010-03-16 10:50:42 +0000
21+++ new/gcc/postreload.c 2010-08-02 16:55:34 +0000
22@@ -1160,17 +1160,19 @@
23 information about register contents we have would be costly, so we
24 use move2add_last_label_luid to note where the label is and then
25 later disable any optimization that would cross it.
26- reg_offset[n] / reg_base_reg[n] / reg_mode[n] are only valid if
27- reg_set_luid[n] is greater than move2add_last_label_luid. */
28+ reg_offset[n] / reg_base_reg[n] / reg_symbol_ref[n] / reg_mode[n]
29+ are only valid if reg_set_luid[n] is greater than
30+ move2add_last_label_luid. */
31 static int reg_set_luid[FIRST_PSEUDO_REGISTER];
32
33 /* If reg_base_reg[n] is negative, register n has been set to
34- reg_offset[n] in mode reg_mode[n] .
35+ reg_offset[n] or reg_symbol_ref[n] + reg_offset[n] in mode reg_mode[n].
36 If reg_base_reg[n] is non-negative, register n has been set to the
37 sum of reg_offset[n] and the value of register reg_base_reg[n]
38 before reg_set_luid[n], calculated in mode reg_mode[n] . */
39 static HOST_WIDE_INT reg_offset[FIRST_PSEUDO_REGISTER];
40 static int reg_base_reg[FIRST_PSEUDO_REGISTER];
41+static rtx reg_symbol_ref[FIRST_PSEUDO_REGISTER];
42 static enum machine_mode reg_mode[FIRST_PSEUDO_REGISTER];
43
44 /* move2add_luid is linearly increased while scanning the instructions
45@@ -1190,6 +1192,151 @@
46 && TRULY_NOOP_TRUNCATION (GET_MODE_BITSIZE (OUTMODE), \
47 GET_MODE_BITSIZE (INMODE))))
48
49+/* This function is called with INSN that sets REG to (SYM + OFF),
50+ while REG is known to already have value (SYM + offset).
51+ This function tries to change INSN into an add instruction
52+ (set (REG) (plus (REG) (OFF - offset))) using the known value.
53+ It also updates the information about REG's known value. */
54+
55+static void
56+move2add_use_add2_insn (rtx reg, rtx sym, rtx off, rtx insn)
57+{
58+ rtx pat = PATTERN (insn);
59+ rtx src = SET_SRC (pat);
60+ int regno = REGNO (reg);
61+ rtx new_src = gen_int_mode (INTVAL (off) - reg_offset[regno],
62+ GET_MODE (reg));
63+ bool speed = optimize_bb_for_speed_p (BLOCK_FOR_INSN (insn));
64+
65+ /* (set (reg) (plus (reg) (const_int 0))) is not canonical;
66+ use (set (reg) (reg)) instead.
67+ We don't delete this insn, nor do we convert it into a
68+ note, to avoid losing register notes or the return
69+ value flag. jump2 already knows how to get rid of
70+ no-op moves. */
71+ if (new_src == const0_rtx)
72+ {
73+ /* If the constants are different, this is a
74+ truncation, that, if turned into (set (reg)
75+ (reg)), would be discarded. Maybe we should
76+ try a truncMN pattern? */
77+ if (INTVAL (off) == reg_offset [regno])
78+ validate_change (insn, &SET_SRC (pat), reg, 0);
79+ }
80+ else if (rtx_cost (new_src, PLUS, speed) < rtx_cost (src, SET, speed)
81+ && have_add2_insn (reg, new_src))
82+ {
83+ rtx tem = gen_rtx_PLUS (GET_MODE (reg), reg, new_src);
84+ validate_change (insn, &SET_SRC (pat), tem, 0);
85+ }
86+ else if (sym == NULL_RTX && GET_MODE (reg) != BImode)
87+ {
88+ enum machine_mode narrow_mode;
89+ for (narrow_mode = GET_CLASS_NARROWEST_MODE (MODE_INT);
90+ narrow_mode != VOIDmode
91+ && narrow_mode != GET_MODE (reg);
92+ narrow_mode = GET_MODE_WIDER_MODE (narrow_mode))
93+ {
94+ if (have_insn_for (STRICT_LOW_PART, narrow_mode)
95+ && ((reg_offset[regno]
96+ & ~GET_MODE_MASK (narrow_mode))
97+ == (INTVAL (off)
98+ & ~GET_MODE_MASK (narrow_mode))))
99+ {
100+ rtx narrow_reg = gen_rtx_REG (narrow_mode,
101+ REGNO (reg));
102+ rtx narrow_src = gen_int_mode (INTVAL (off),
103+ narrow_mode);
104+ rtx new_set =
105+ gen_rtx_SET (VOIDmode,
106+ gen_rtx_STRICT_LOW_PART (VOIDmode,
107+ narrow_reg),
108+ narrow_src);
109+ if (validate_change (insn, &PATTERN (insn),
110+ new_set, 0))
111+ break;
112+ }
113+ }
114+ }
115+ reg_set_luid[regno] = move2add_luid;
116+ reg_base_reg[regno] = -1;
117+ reg_mode[regno] = GET_MODE (reg);
118+ reg_symbol_ref[regno] = sym;
119+ reg_offset[regno] = INTVAL (off);
120+}
121+
122+
123+/* This function is called with INSN that sets REG to (SYM + OFF),
124+ but REG doesn't have known value (SYM + offset). This function
125+ tries to find another register which is known to already have
126+ value (SYM + offset) and change INSN into an add instruction
127+ (set (REG) (plus (the found register) (OFF - offset))) if such
128+ a register is found. It also updates the information about
129+ REG's known value. */
130+
131+static void
132+move2add_use_add3_insn (rtx reg, rtx sym, rtx off, rtx insn)
133+{
134+ rtx pat = PATTERN (insn);
135+ rtx src = SET_SRC (pat);
136+ int regno = REGNO (reg);
137+ int min_cost = INT_MAX;
138+ int min_regno;
139+ bool speed = optimize_bb_for_speed_p (BLOCK_FOR_INSN (insn));
140+ int i;
141+
142+ for (i = 0; i < FIRST_PSEUDO_REGISTER; i++)
143+ if (reg_set_luid[i] > move2add_last_label_luid
144+ && reg_mode[i] == GET_MODE (reg)
145+ && reg_base_reg[i] < 0
146+ && reg_symbol_ref[i] != NULL_RTX
147+ && rtx_equal_p (sym, reg_symbol_ref[i]))
148+ {
149+ rtx new_src = gen_int_mode (INTVAL (off) - reg_offset[i],
150+ GET_MODE (reg));
151+ /* (set (reg) (plus (reg) (const_int 0))) is not canonical;
152+ use (set (reg) (reg)) instead.
153+ We don't delete this insn, nor do we convert it into a
154+ note, to avoid losing register notes or the return
155+ value flag. jump2 already knows how to get rid of
156+ no-op moves. */
157+ if (new_src == const0_rtx)
158+ {
159+ min_cost = 0;
160+ min_regno = i;
161+ break;
162+ }
163+ else
164+ {
165+ int cost = rtx_cost (new_src, PLUS, speed);
166+ if (cost < min_cost)
167+ {
168+ min_cost = cost;
169+ min_regno = i;
170+ }
171+ }
172+ }
173+
174+ if (min_cost < rtx_cost (src, SET, speed))
175+ {
176+ rtx tem;
177+
178+ tem = gen_rtx_REG (GET_MODE (reg), min_regno);
179+ if (i != min_regno)
180+ {
181+ rtx new_src = gen_int_mode (INTVAL (off) - reg_offset[min_regno],
182+ GET_MODE (reg));
183+ tem = gen_rtx_PLUS (GET_MODE (reg), tem, new_src);
184+ }
185+ validate_change (insn, &SET_SRC (pat), tem, 0);
186+ }
187+ reg_set_luid[regno] = move2add_luid;
188+ reg_base_reg[regno] = -1;
189+ reg_mode[regno] = GET_MODE (reg);
190+ reg_symbol_ref[regno] = sym;
191+ reg_offset[regno] = INTVAL (off);
192+}
193+
194 static void
195 reload_cse_move2add (rtx first)
196 {
197@@ -1197,7 +1344,13 @@
198 rtx insn;
199
200 for (i = FIRST_PSEUDO_REGISTER - 1; i >= 0; i--)
201- reg_set_luid[i] = 0;
202+ {
203+ reg_set_luid[i] = 0;
204+ reg_offset[i] = 0;
205+ reg_base_reg[i] = 0;
206+ reg_symbol_ref[i] = NULL_RTX;
207+ reg_mode[i] = VOIDmode;
208+ }
209
210 move2add_last_label_luid = 0;
211 move2add_luid = 2;
212@@ -1245,65 +1398,11 @@
213 (set (STRICT_LOW_PART (REGX)) (CONST_INT B))
214 */
215
216- if (CONST_INT_P (src) && reg_base_reg[regno] < 0)
217+ if (CONST_INT_P (src)
218+ && reg_base_reg[regno] < 0
219+ && reg_symbol_ref[regno] == NULL_RTX)
220 {
221- rtx new_src = gen_int_mode (INTVAL (src) - reg_offset[regno],
222- GET_MODE (reg));
223- bool speed = optimize_bb_for_speed_p (BLOCK_FOR_INSN (insn));
224-
225- /* (set (reg) (plus (reg) (const_int 0))) is not canonical;
226- use (set (reg) (reg)) instead.
227- We don't delete this insn, nor do we convert it into a
228- note, to avoid losing register notes or the return
229- value flag. jump2 already knows how to get rid of
230- no-op moves. */
231- if (new_src == const0_rtx)
232- {
233- /* If the constants are different, this is a
234- truncation, that, if turned into (set (reg)
235- (reg)), would be discarded. Maybe we should
236- try a truncMN pattern? */
237- if (INTVAL (src) == reg_offset [regno])
238- validate_change (insn, &SET_SRC (pat), reg, 0);
239- }
240- else if (rtx_cost (new_src, PLUS, speed) < rtx_cost (src, SET, speed)
241- && have_add2_insn (reg, new_src))
242- {
243- rtx tem = gen_rtx_PLUS (GET_MODE (reg), reg, new_src);
244- validate_change (insn, &SET_SRC (pat), tem, 0);
245- }
246- else if (GET_MODE (reg) != BImode)
247- {
248- enum machine_mode narrow_mode;
249- for (narrow_mode = GET_CLASS_NARROWEST_MODE (MODE_INT);
250- narrow_mode != VOIDmode
251- && narrow_mode != GET_MODE (reg);
252- narrow_mode = GET_MODE_WIDER_MODE (narrow_mode))
253- {
254- if (have_insn_for (STRICT_LOW_PART, narrow_mode)
255- && ((reg_offset[regno]
256- & ~GET_MODE_MASK (narrow_mode))
257- == (INTVAL (src)
258- & ~GET_MODE_MASK (narrow_mode))))
259- {
260- rtx narrow_reg = gen_rtx_REG (narrow_mode,
261- REGNO (reg));
262- rtx narrow_src = gen_int_mode (INTVAL (src),
263- narrow_mode);
264- rtx new_set =
265- gen_rtx_SET (VOIDmode,
266- gen_rtx_STRICT_LOW_PART (VOIDmode,
267- narrow_reg),
268- narrow_src);
269- if (validate_change (insn, &PATTERN (insn),
270- new_set, 0))
271- break;
272- }
273- }
274- }
275- reg_set_luid[regno] = move2add_luid;
276- reg_mode[regno] = GET_MODE (reg);
277- reg_offset[regno] = INTVAL (src);
278+ move2add_use_add2_insn (reg, NULL_RTX, src, insn);
279 continue;
280 }
281
282@@ -1373,6 +1472,51 @@
283 }
284 }
285 }
286+
287+ /* Try to transform
288+ (set (REGX) (CONST (PLUS (SYMBOL_REF) (CONST_INT A))))
289+ ...
290+ (set (REGY) (CONST (PLUS (SYMBOL_REF) (CONST_INT B))))
291+ to
292+ (set (REGX) (CONST (PLUS (SYMBOL_REF) (CONST_INT A))))
293+ ...
294+ (set (REGY) (CONST (PLUS (REGX) (CONST_INT B-A)))) */
295+ if ((GET_CODE (src) == SYMBOL_REF
296+ || (GET_CODE (src) == CONST
297+ && GET_CODE (XEXP (src, 0)) == PLUS
298+ && GET_CODE (XEXP (XEXP (src, 0), 0)) == SYMBOL_REF
299+ && CONST_INT_P (XEXP (XEXP (src, 0), 1))))
300+ && dbg_cnt (cse2_move2add))
301+ {
302+ rtx sym, off;
303+
304+ if (GET_CODE (src) == SYMBOL_REF)
305+ {
306+ sym = src;
307+ off = const0_rtx;
308+ }
309+ else
310+ {
311+ sym = XEXP (XEXP (src, 0), 0);
312+ off = XEXP (XEXP (src, 0), 1);
313+ }
314+
315+ /* If the reg already contains the value which is sum of
316+ sym and some constant value, we can use an add2 insn. */
317+ if (reg_set_luid[regno] > move2add_last_label_luid
318+ && MODES_OK_FOR_MOVE2ADD (GET_MODE (reg), reg_mode[regno])
319+ && reg_base_reg[regno] < 0
320+ && reg_symbol_ref[regno] != NULL_RTX
321+ && rtx_equal_p (sym, reg_symbol_ref[regno]))
322+ move2add_use_add2_insn (reg, sym, off, insn);
323+
324+ /* Otherwise, we have to find a register whose value is sum
325+ of sym and some constant value. */
326+ else
327+ move2add_use_add3_insn (reg, sym, off, insn);
328+
329+ continue;
330+ }
331 }
332
333 for (note = REG_NOTES (insn); note; note = XEXP (note, 1))
334@@ -1386,7 +1530,7 @@
335 reg_set_luid[regno] = 0;
336 }
337 }
338- note_stores (PATTERN (insn), move2add_note_store, NULL);
339+ note_stores (PATTERN (insn), move2add_note_store, insn);
340
341 /* If INSN is a conditional branch, we try to extract an
342 implicit set out of it. */
343@@ -1408,7 +1552,7 @@
344 {
345 rtx implicit_set =
346 gen_rtx_SET (VOIDmode, XEXP (cnd, 0), XEXP (cnd, 1));
347- move2add_note_store (SET_DEST (implicit_set), implicit_set, 0);
348+ move2add_note_store (SET_DEST (implicit_set), implicit_set, insn);
349 }
350 }
351
352@@ -1426,13 +1570,15 @@
353 }
354 }
355
356-/* SET is a SET or CLOBBER that sets DST.
357+/* SET is a SET or CLOBBER that sets DST. DATA is the insn which
358+ contains SET.
359 Update reg_set_luid, reg_offset and reg_base_reg accordingly.
360 Called from reload_cse_move2add via note_stores. */
361
362 static void
363-move2add_note_store (rtx dst, const_rtx set, void *data ATTRIBUTE_UNUSED)
364+move2add_note_store (rtx dst, const_rtx set, void *data)
365 {
366+ rtx insn = (rtx) data;
367 unsigned int regno = 0;
368 unsigned int nregs = 0;
369 unsigned int i;
370@@ -1466,6 +1612,38 @@
371 nregs = hard_regno_nregs[regno][mode];
372
373 if (SCALAR_INT_MODE_P (GET_MODE (dst))
374+ && nregs == 1 && GET_CODE (set) == SET)
375+ {
376+ rtx note, sym = NULL_RTX;
377+ HOST_WIDE_INT off;
378+
379+ note = find_reg_equal_equiv_note (insn);
380+ if (note && GET_CODE (XEXP (note, 0)) == SYMBOL_REF)
381+ {
382+ sym = XEXP (note, 0);
383+ off = 0;
384+ }
385+ else if (note && GET_CODE (XEXP (note, 0)) == CONST
386+ && GET_CODE (XEXP (XEXP (note, 0), 0)) == PLUS
387+ && GET_CODE (XEXP (XEXP (XEXP (note, 0), 0), 0)) == SYMBOL_REF
388+ && CONST_INT_P (XEXP (XEXP (XEXP (note, 0), 0), 1)))
389+ {
390+ sym = XEXP (XEXP (XEXP (note, 0), 0), 0);
391+ off = INTVAL (XEXP (XEXP (XEXP (note, 0), 0), 1));
392+ }
393+
394+ if (sym != NULL_RTX)
395+ {
396+ reg_base_reg[regno] = -1;
397+ reg_symbol_ref[regno] = sym;
398+ reg_offset[regno] = off;
399+ reg_mode[regno] = mode;
400+ reg_set_luid[regno] = move2add_luid;
401+ return;
402+ }
403+ }
404+
405+ if (SCALAR_INT_MODE_P (GET_MODE (dst))
406 && nregs == 1 && GET_CODE (set) == SET
407 && GET_CODE (SET_DEST (set)) != ZERO_EXTRACT
408 && GET_CODE (SET_DEST (set)) != STRICT_LOW_PART)
409@@ -1525,6 +1703,7 @@
410 case CONST_INT:
411 /* Start tracking the register as a constant. */
412 reg_base_reg[regno] = -1;
413+ reg_symbol_ref[regno] = NULL_RTX;
414 reg_offset[regno] = INTVAL (SET_SRC (set));
415 /* We assign the same luid to all registers set to constants. */
416 reg_set_luid[regno] = move2add_last_label_luid + 1;
417@@ -1545,6 +1724,7 @@
418 if (reg_set_luid[base_regno] <= move2add_last_label_luid)
419 {
420 reg_base_reg[base_regno] = base_regno;
421+ reg_symbol_ref[base_regno] = NULL_RTX;
422 reg_offset[base_regno] = 0;
423 reg_set_luid[base_regno] = move2add_luid;
424 reg_mode[base_regno] = mode;
425@@ -1558,6 +1738,7 @@
426 /* Copy base information from our base register. */
427 reg_set_luid[regno] = reg_set_luid[base_regno];
428 reg_base_reg[regno] = reg_base_reg[base_regno];
429+ reg_symbol_ref[regno] = reg_symbol_ref[base_regno];
430
431 /* Compute the sum of the offsets or constants. */
432 reg_offset[regno] = trunc_int_for_mode (offset
433
diff --git a/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99315.patch b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99315.patch
new file mode 100644
index 0000000000..3d5dd5f9ab
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99315.patch
@@ -0,0 +1,57 @@
12010-08-03 Chung-Lin Tang <cltang@codesourcery.com>
2
3 Backport from mainline:
4
5 gcc/
6 2010-07-28 Chung-Lin Tang <cltang@codesourcery.com>
7 * config/arm/arm.c (arm_pcs_default): Remove static.
8 * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Define __ARM_PCS or
9 __ARM_PCS_VFP to indicate soft/hard-float calling convention.
10 (arm_pcs_default): Declare.
11
12 2010-07-16 Jie Zhang <jie@codesourcery.com>
13
14 Issue #7688
15
16=== modified file 'gcc/config/arm/arm.c'
17--- old/gcc/config/arm/arm.c 2010-08-02 13:42:24 +0000
18+++ new/gcc/config/arm/arm.c 2010-08-03 13:55:46 +0000
19@@ -704,7 +704,7 @@
20 /* The maximum number of insns to be used when loading a constant. */
21 static int arm_constant_limit = 3;
22
23-static enum arm_pcs arm_pcs_default;
24+enum arm_pcs arm_pcs_default;
25
26 /* For an explanation of these variables, see final_prescan_insn below. */
27 int arm_ccfsm_state;
28
29=== modified file 'gcc/config/arm/arm.h'
30--- old/gcc/config/arm/arm.h 2010-07-29 16:58:56 +0000
31+++ new/gcc/config/arm/arm.h 2010-08-03 10:40:56 +0000
32@@ -94,7 +94,13 @@
33 if (arm_arch_iwmmxt) \
34 builtin_define ("__IWMMXT__"); \
35 if (TARGET_AAPCS_BASED) \
36- builtin_define ("__ARM_EABI__"); \
37+ { \
38+ if (arm_pcs_default == ARM_PCS_AAPCS_VFP) \
39+ builtin_define ("__ARM_PCS_VFP"); \
40+ else if (arm_pcs_default == ARM_PCS_AAPCS) \
41+ builtin_define ("__ARM_PCS"); \
42+ builtin_define ("__ARM_EABI__"); \
43+ } \
44 } while (0)
45
46 /* The various ARM cores. */
47@@ -1648,6 +1654,9 @@
48 ARM_PCS_UNKNOWN
49 };
50
51+/* Default procedure calling standard of current compilation unit. */
52+extern enum arm_pcs arm_pcs_default;
53+
54 /* A C type for declaring a variable that is used as the first argument of
55 `FUNCTION_ARG' and other related values. */
56 typedef struct
57
diff --git a/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99316.patch b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99316.patch
new file mode 100644
index 0000000000..c7f92b6fcb
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99316.patch
@@ -0,0 +1,76 @@
12010-07-20 Yao Qi <yao@codesourcery.com>
2
3 Merge from Sourcery G++ 4.4:
4 2010-06-07 Kazu Hirata <kazu@codesourcery.com>
5
6 Issue #8535
7
8 Backport from mainline:
9 gcc/
10 2010-06-07 Kazu Hirata <kazu@codesourcery.com>
11 PR rtl-optimization/44404
12 * auto-inc-dec.c (find_inc): Use reg_overlap_mentioned_p instead
13 of count_occurrences to see if it's safe to modify mem_insn.insn.
14
15 gcc/testsuite/
16 2010-06-07 Kazu Hirata <kazu@codesourcery.com>
17 PR rtl-optimization/44404
18 * gcc.dg/pr44404.c: New.
19
20 2010-08-03 Chung-Lin Tang <cltang@codesourcery.com>
21
22 Backport from mainline:
23
24=== modified file 'gcc/auto-inc-dec.c'
25--- old/gcc/auto-inc-dec.c 2010-04-02 18:54:46 +0000
26+++ new/gcc/auto-inc-dec.c 2010-08-05 11:30:21 +0000
27@@ -1068,7 +1068,7 @@
28 /* For the post_add to work, the result_reg of the inc must not be
29 used in the mem insn since this will become the new index
30 register. */
31- if (count_occurrences (PATTERN (mem_insn.insn), inc_insn.reg_res, 1) != 0)
32+ if (reg_overlap_mentioned_p (inc_insn.reg_res, PATTERN (mem_insn.insn)))
33 {
34 if (dump_file)
35 fprintf (dump_file, "base reg replacement failure.\n");
36
37=== added file 'gcc/testsuite/gcc.dg/pr44404.c'
38--- old/gcc/testsuite/gcc.dg/pr44404.c 1970-01-01 00:00:00 +0000
39+++ new/gcc/testsuite/gcc.dg/pr44404.c 2010-08-05 11:30:21 +0000
40@@ -0,0 +1,35 @@
41+/* PR rtl-optimization/44404
42+ foo() used to be miscompiled on ARM due to a bug in auto-inc-dec.c,
43+ which resulted in "strb r1, [r1], #-36". */
44+
45+/* { dg-do run } */
46+/* { dg-options "-O2 -fno-unroll-loops" } */
47+
48+extern char *strcpy (char *, const char *);
49+extern int strcmp (const char*, const char*);
50+extern void abort (void);
51+
52+char buf[128];
53+
54+void __attribute__((noinline))
55+bar (int a, const char *p)
56+{
57+ if (strcmp (p, "0123456789abcdefghijklmnopqrstuvwxyz") != 0)
58+ abort ();
59+}
60+
61+void __attribute__((noinline))
62+foo (int a)
63+{
64+ if (a)
65+ bar (0, buf);
66+ strcpy (buf, "0123456789abcdefghijklmnopqrstuvwxyz");
67+ bar (0, buf);
68+}
69+
70+int
71+main (void)
72+{
73+ foo (0);
74+ return 0;
75+}
76
diff --git a/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99318.patch b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99318.patch
new file mode 100644
index 0000000000..ad4943a0a9
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99318.patch
@@ -0,0 +1,118 @@
12010-07-24 Jie Zhang <jie@codesourcery.com>
2
3 Issue #9079
4
5 Backport from mainline:
6
7 gcc/
8 2010-07-23 Jie Zhang <jie@codesourcery.com>
9 PR target/44290
10 * attribs.c (decl_attributes): Insert "noinline" and "noclone"
11 if "naked".
12 * tree-sra.c (ipa_sra_preliminary_function_checks): Return
13 false if ! tree_versionable_function_p.
14
15 gcc/testsuite/
16 2010-07-23 Jie Zhang <jie@codesourcery.com>
17 PR target/44290
18 * gcc.dg/pr44290-1.c: New test.
19 * gcc.dg/pr44290-2.c: New test.
20
21 2010-07-22 Maxim Kuvyrkov <maxim@codesourcery.com>
22
23 Backport from FSF GCC 4.5 branch to fix PR45015:
24
25=== modified file 'gcc/attribs.c'
26--- old/gcc/attribs.c 2010-04-02 18:54:46 +0000
27+++ new/gcc/attribs.c 2010-08-05 11:39:36 +0000
28@@ -278,6 +278,19 @@
29 TREE_VALUE (cur_attr) = chainon (opts, TREE_VALUE (cur_attr));
30 }
31
32+ /* A "naked" function attribute implies "noinline" and "noclone" for
33+ those targets that support it. */
34+ if (TREE_CODE (*node) == FUNCTION_DECL
35+ && lookup_attribute_spec (get_identifier ("naked"))
36+ && lookup_attribute ("naked", attributes) != NULL)
37+ {
38+ if (lookup_attribute ("noinline", attributes) == NULL)
39+ attributes = tree_cons (get_identifier ("noinline"), NULL, attributes);
40+
41+ if (lookup_attribute ("noclone", attributes) == NULL)
42+ attributes = tree_cons (get_identifier ("noclone"), NULL, attributes);
43+ }
44+
45 targetm.insert_attributes (*node, &attributes);
46
47 for (a = attributes; a; a = TREE_CHAIN (a))
48
49=== added file 'gcc/testsuite/gcc.dg/pr44290-1.c'
50--- old/gcc/testsuite/gcc.dg/pr44290-1.c 1970-01-01 00:00:00 +0000
51+++ new/gcc/testsuite/gcc.dg/pr44290-1.c 2010-08-05 11:39:36 +0000
52@@ -0,0 +1,18 @@
53+/* { dg-do compile { target arm*-*-* avr-*-* mcore-*-* rx-*-* spu-*-* } } */
54+/* { dg-options "-O2 -fdump-tree-optimized" } */
55+
56+static void __attribute__((naked))
57+foo(void *from, void *to)
58+{
59+ asm volatile("dummy"::"r"(from), "r"(to));
60+}
61+
62+unsigned int fie[2];
63+
64+void fum(void *to)
65+{
66+ foo(fie, to);
67+}
68+
69+/* { dg-final { scan-tree-dump "foo \\\(void \\\* from, void \\\* to\\\)" "optimized" } } */
70+/* { dg-final { cleanup-tree-dump "optimized" } } */
71
72=== added file 'gcc/testsuite/gcc.dg/pr44290-2.c'
73--- old/gcc/testsuite/gcc.dg/pr44290-2.c 1970-01-01 00:00:00 +0000
74+++ new/gcc/testsuite/gcc.dg/pr44290-2.c 2010-08-05 11:39:36 +0000
75@@ -0,0 +1,24 @@
76+/* { dg-do compile { target arm*-*-* avr-*-* mcore-*-* rx-*-* spu-*-* } } */
77+/* { dg-options "-O2 -fdump-tree-optimized" } */
78+
79+static unsigned long __attribute__((naked))
80+foo (unsigned long base)
81+{
82+ asm volatile ("dummy");
83+}
84+unsigned long
85+bar (void)
86+{
87+ static int start, set;
88+
89+ if (!set)
90+ {
91+ set = 1;
92+ start = foo (0);
93+ }
94+
95+ return foo (start);
96+}
97+
98+/* { dg-final { scan-tree-dump "foo \\\(long unsigned int base\\\)" "optimized" } } */
99+/* { dg-final { cleanup-tree-dump "optimized" } } */
100
101=== modified file 'gcc/tree-sra.c'
102--- old/gcc/tree-sra.c 2010-03-17 12:02:35 +0000
103+++ new/gcc/tree-sra.c 2010-08-05 11:39:36 +0000
104@@ -4096,6 +4096,13 @@
105 static bool
106 ipa_sra_preliminary_function_checks (struct cgraph_node *node)
107 {
108+ if (!tree_versionable_function_p (current_function_decl))
109+ {
110+ if (dump_file)
111+ fprintf (dump_file, "Function isn't allowed to be versioned.\n");
112+ return false;
113+ }
114+
115 if (!cgraph_node_can_be_local_p (node))
116 {
117 if (dump_file)
118
diff --git a/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99319.patch b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99319.patch
new file mode 100644
index 0000000000..a649c9542a
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99319.patch
@@ -0,0 +1,197 @@
12010-07-24 Sandra Loosemore <sandra@codesourcery.com>
2
3 Backport from mainline:
4
5 2010-04-10 Wei Guozhi <carrot@google.com>
6
7 PR target/42601
8 gcc/
9 * config/arm/arm.c (arm_pic_static_addr): New function.
10 (legitimize_pic_address): Call arm_pic_static_addr when it detects
11 a static symbol.
12 (arm_output_addr_const_extra): Output expression for new pattern.
13 * config/arm/arm.md (UNSPEC_SYMBOL_OFFSET): New unspec symbol.
14
15 2010-07-22 Sandra Loosemore <sandra@codesourcery.com>
16
17 PR tree-optimization/39839
18 gcc/testsuite/
19 * gcc.target/arm/pr39839.c: New test case.
20
21 2010-07-24 Jie Zhang <jie@codesourcery.com>
22
23 Issue #9079
24
25=== modified file 'gcc/config/arm/arm.c'
26--- old/gcc/config/arm/arm.c 2010-08-03 13:55:46 +0000
27+++ new/gcc/config/arm/arm.c 2010-08-05 12:06:40 +0000
28@@ -225,6 +225,7 @@
29 static void arm_asm_trampoline_template (FILE *);
30 static void arm_trampoline_init (rtx, tree, rtx);
31 static rtx arm_trampoline_adjust_address (rtx);
32+static rtx arm_pic_static_addr (rtx orig, rtx reg);
33
34
35 /* Table of machine attributes. */
36@@ -4986,29 +4987,16 @@
37 {
38 rtx pic_ref, address;
39 rtx insn;
40- int subregs = 0;
41-
42- /* If this function doesn't have a pic register, create one now. */
43- require_pic_register ();
44
45 if (reg == 0)
46 {
47 gcc_assert (can_create_pseudo_p ());
48 reg = gen_reg_rtx (Pmode);
49-
50- subregs = 1;
51+ address = gen_reg_rtx (Pmode);
52 }
53-
54- if (subregs)
55- address = gen_reg_rtx (Pmode);
56 else
57 address = reg;
58
59- if (TARGET_32BIT)
60- emit_insn (gen_pic_load_addr_32bit (address, orig));
61- else /* TARGET_THUMB1 */
62- emit_insn (gen_pic_load_addr_thumb1 (address, orig));
63-
64 /* VxWorks does not impose a fixed gap between segments; the run-time
65 gap can be different from the object-file gap. We therefore can't
66 use GOTOFF unless we are absolutely sure that the symbol is in the
67@@ -5020,16 +5008,23 @@
68 SYMBOL_REF_LOCAL_P (orig)))
69 && NEED_GOT_RELOC
70 && !TARGET_VXWORKS_RTP)
71- pic_ref = gen_rtx_PLUS (Pmode, cfun->machine->pic_reg, address);
72+ insn = arm_pic_static_addr (orig, reg);
73 else
74 {
75+ /* If this function doesn't have a pic register, create one now. */
76+ require_pic_register ();
77+
78+ if (TARGET_32BIT)
79+ emit_insn (gen_pic_load_addr_32bit (address, orig));
80+ else /* TARGET_THUMB1 */
81+ emit_insn (gen_pic_load_addr_thumb1 (address, orig));
82+
83 pic_ref = gen_const_mem (Pmode,
84 gen_rtx_PLUS (Pmode, cfun->machine->pic_reg,
85 address));
86+ insn = emit_move_insn (reg, pic_ref);
87 }
88
89- insn = emit_move_insn (reg, pic_ref);
90-
91 /* Put a REG_EQUAL note on this insn, so that it can be optimized
92 by loop. */
93 set_unique_reg_note (insn, REG_EQUAL, orig);
94@@ -5236,6 +5231,43 @@
95 emit_use (pic_reg);
96 }
97
98+/* Generate code to load the address of a static var when flag_pic is set. */
99+static rtx
100+arm_pic_static_addr (rtx orig, rtx reg)
101+{
102+ rtx l1, labelno, offset_rtx, insn;
103+
104+ gcc_assert (flag_pic);
105+
106+ /* We use an UNSPEC rather than a LABEL_REF because this label
107+ never appears in the code stream. */
108+ labelno = GEN_INT (pic_labelno++);
109+ l1 = gen_rtx_UNSPEC (Pmode, gen_rtvec (1, labelno), UNSPEC_PIC_LABEL);
110+ l1 = gen_rtx_CONST (VOIDmode, l1);
111+
112+ /* On the ARM the PC register contains 'dot + 8' at the time of the
113+ addition, on the Thumb it is 'dot + 4'. */
114+ offset_rtx = plus_constant (l1, TARGET_ARM ? 8 : 4);
115+ offset_rtx = gen_rtx_UNSPEC (Pmode, gen_rtvec (2, orig, offset_rtx),
116+ UNSPEC_SYMBOL_OFFSET);
117+ offset_rtx = gen_rtx_CONST (Pmode, offset_rtx);
118+
119+ if (TARGET_32BIT)
120+ {
121+ emit_insn (gen_pic_load_addr_32bit (reg, offset_rtx));
122+ if (TARGET_ARM)
123+ insn = emit_insn (gen_pic_add_dot_plus_eight (reg, reg, labelno));
124+ else
125+ insn = emit_insn (gen_pic_add_dot_plus_four (reg, reg, labelno));
126+ }
127+ else /* TARGET_THUMB1 */
128+ {
129+ emit_insn (gen_pic_load_addr_thumb1 (reg, offset_rtx));
130+ insn = emit_insn (gen_pic_add_dot_plus_four (reg, reg, labelno));
131+ }
132+
133+ return insn;
134+}
135
136 /* Return nonzero if X is valid as an ARM state addressing register. */
137 static int
138@@ -21461,6 +21493,16 @@
139 fputc (')', fp);
140 return TRUE;
141 }
142+ else if (GET_CODE (x) == UNSPEC && XINT (x, 1) == UNSPEC_SYMBOL_OFFSET)
143+ {
144+ output_addr_const (fp, XVECEXP (x, 0, 0));
145+ if (GOT_PCREL)
146+ fputs ("+.", fp);
147+ fputs ("-(", fp);
148+ output_addr_const (fp, XVECEXP (x, 0, 1));
149+ fputc (')', fp);
150+ return TRUE;
151+ }
152 else if (GET_CODE (x) == CONST_VECTOR)
153 return arm_emit_vector_const (fp, x);
154
155
156=== modified file 'gcc/config/arm/arm.md'
157--- old/gcc/config/arm/arm.md 2010-07-30 14:17:05 +0000
158+++ new/gcc/config/arm/arm.md 2010-08-05 12:06:40 +0000
159@@ -101,6 +101,8 @@
160 ; a given symbolic address.
161 (UNSPEC_THUMB1_CASESI 25) ; A Thumb1 compressed dispatch-table call.
162 (UNSPEC_RBIT 26) ; rbit operation.
163+ (UNSPEC_SYMBOL_OFFSET 27) ; The offset of the start of the symbol from
164+ ; another symbolic address.
165 ]
166 )
167
168
169=== added file 'gcc/testsuite/gcc.target/arm/pr39839.c'
170--- old/gcc/testsuite/gcc.target/arm/pr39839.c 1970-01-01 00:00:00 +0000
171+++ new/gcc/testsuite/gcc.target/arm/pr39839.c 2010-08-05 12:06:40 +0000
172@@ -0,0 +1,24 @@
173+/* { dg-options "-mthumb -Os -march=armv5te -mthumb-interwork -fpic" } */
174+/* { dg-require-effective-target arm_thumb1_ok } */
175+/* { dg-final { scan-assembler-not "str\[\\t \]*r.,\[\\t \]*.sp," } } */
176+
177+struct S
178+{
179+ int count;
180+ char *addr;
181+};
182+
183+void func(const char*, const char*, int, const char*);
184+
185+/* This function should not need to spill to the stack. */
186+void test(struct S *p)
187+{
188+ int off = p->count;
189+ while (p->count >= 0)
190+ {
191+ const char *s = "xyz";
192+ if (*p->addr) s = "pqr";
193+ func("abcde", p->addr + off, off, s);
194+ p->count--;
195+ }
196+}
197
diff --git a/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99320.patch b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99320.patch
new file mode 100644
index 0000000000..669523218c
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99320.patch
@@ -0,0 +1,138 @@
12010-08-05 Andrew Stubbs <ams@codesourcery.com>
2
3 gcc/testsuite/
4 * gcc.dg/vect/vect-shift-2.c: Revert all previous changes.
5 * gcc.dg/vect/vect-shift-4.c: New file.
6
7 2010-07-20 Yao Qi <yao@codesourcery.com>
8
9 Merge from Sourcery G++ 4.4:
10 2009-06-16 Daniel Jacobowitz <dan@codesourcery.com>
11
12 Merge from Sourcery G++ 4.3:
13 2008-12-03 Daniel Jacobowitz <dan@codesourcery.com>
14
15 gcc/testsuite/
16 * gcc.dg/vect/vect-shift-2.c, gcc.dg/vect/vect-shift-3.c: New.
17 * lib/target-supports.exp (check_effective_target_vect_shift_char): New
18 function.
19
20 2010-07-24 Sandra Loosemore <sandra@codesourcery.com>
21
22 Backport from mainline:
23
24=== added file 'gcc/testsuite/gcc.dg/vect/vect-shift-3.c'
25--- old/gcc/testsuite/gcc.dg/vect/vect-shift-3.c 1970-01-01 00:00:00 +0000
26+++ new/gcc/testsuite/gcc.dg/vect/vect-shift-3.c 2010-08-05 14:13:43 +0000
27@@ -0,0 +1,37 @@
28+/* { dg-require-effective-target vect_shift } */
29+/* { dg-require-effective-target vect_int } */
30+
31+#include "tree-vect.h"
32+
33+#define N 32
34+
35+unsigned short dst[N] __attribute__((aligned(N)));
36+unsigned short src[N] __attribute__((aligned(N)));
37+
38+__attribute__ ((noinline))
39+void array_shift(void)
40+{
41+ int i;
42+ for (i = 0; i < N; i++)
43+ dst[i] = src[i] >> 3;
44+}
45+
46+int main()
47+{
48+ volatile int i;
49+ check_vect ();
50+
51+ for (i = 0; i < N; i++)
52+ src[i] = i << 3;
53+
54+ array_shift ();
55+
56+ for (i = 0; i < N; i++)
57+ if (dst[i] != i)
58+ abort ();
59+
60+ return 0;
61+}
62+
63+/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */
64+/* { dg-final { cleanup-tree-dump "vect" } } */
65
66=== added file 'gcc/testsuite/gcc.dg/vect/vect-shift-4.c'
67--- old/gcc/testsuite/gcc.dg/vect/vect-shift-4.c 1970-01-01 00:00:00 +0000
68+++ new/gcc/testsuite/gcc.dg/vect/vect-shift-4.c 2010-08-05 14:13:43 +0000
69@@ -0,0 +1,37 @@
70+/* { dg-require-effective-target vect_shift_char } */
71+/* { dg-require-effective-target vect_int } */
72+
73+#include "tree-vect.h"
74+
75+#define N 32
76+
77+unsigned char dst[N] __attribute__((aligned(N)));
78+unsigned char src[N] __attribute__((aligned(N)));
79+
80+__attribute__ ((noinline))
81+void array_shift(void)
82+{
83+ int i;
84+ for (i = 0; i < N; i++)
85+ dst[i] = src[i] >> 3;
86+}
87+
88+int main()
89+{
90+ volatile int i;
91+ check_vect ();
92+
93+ for (i = 0; i < N; i++)
94+ src[i] = i << 3;
95+
96+ array_shift ();
97+
98+ for (i = 0; i < N; i++)
99+ if (dst[i] != i)
100+ abort ();
101+
102+ return 0;
103+}
104+
105+/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */
106+/* { dg-final { cleanup-tree-dump "vect" } } */
107
108=== modified file 'gcc/testsuite/lib/target-supports.exp'
109--- old/gcc/testsuite/lib/target-supports.exp 2010-07-29 15:38:15 +0000
110+++ new/gcc/testsuite/lib/target-supports.exp 2010-08-05 14:13:43 +0000
111@@ -2001,6 +2001,26 @@
112 return $et_vect_shift_saved
113 }
114
115+# Return 1 if the target supports hardware vector shift operation for char.
116+
117+proc check_effective_target_vect_shift_char { } {
118+ global et_vect_shift_char_saved
119+
120+ if [info exists et_vect_shift_char_saved] {
121+ verbose "check_effective_target_vect_shift_char: using cached result" 2
122+ } else {
123+ set et_vect_shift_char_saved 0
124+ if { ([istarget powerpc*-*-*]
125+ && ![istarget powerpc-*-linux*paired*])
126+ || [check_effective_target_arm32] } {
127+ set et_vect_shift_char_saved 1
128+ }
129+ }
130+
131+ verbose "check_effective_target_vect_shift_char: returning $et_vect_shift_char_saved" 2
132+ return $et_vect_shift_char_saved
133+}
134+
135 # Return 1 if the target supports hardware vectors of long, 0 otherwise.
136 #
137 # This can change for different subtargets so do not cache the result.
138
diff --git a/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99321.patch b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99321.patch
new file mode 100644
index 0000000000..b122ab10f8
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99321.patch
@@ -0,0 +1,28 @@
12010-07-26 Julian Brown <julian@codesourcery.com>
2
3 Merge from Sourcery G++ 4.4:
4
5 2007-07-05 Mark Shinwell <shinwell@codesourcery.com>
6
7 gcc/
8 * config/arm/arm.h (BRANCH_COST): Set to 1 when optimizing for size
9 on Thumb-2.
10
11 2010-08-05 Andrew Stubbs <ams@codesourcery.com>
12
13 gcc/testsuite/
14
15=== modified file 'gcc/config/arm/arm.h'
16--- old/gcc/config/arm/arm.h 2010-08-03 10:40:56 +0000
17+++ new/gcc/config/arm/arm.h 2010-08-05 14:29:52 +0000
18@@ -2210,7 +2210,8 @@
19 /* Try to generate sequences that don't involve branches, we can then use
20 conditional instructions */
21 #define BRANCH_COST(speed_p, predictable_p) \
22- (TARGET_32BIT ? 4 : (optimize > 0 ? 2 : 0))
23+ (TARGET_32BIT ? (TARGET_THUMB2 && optimize_size ? 1 : 4) \
24+ : (optimize > 0 ? 2 : 0))
25
26 /* Position Independent Code. */
27 /* We decide which register to use based on the compilation options and
28
diff --git a/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99322.patch b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99322.patch
new file mode 100644
index 0000000000..6962c1cecf
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99322.patch
@@ -0,0 +1,53 @@
1 2007-06-06 Joseph Myers <joseph@codesourcery.com>
2
3 gcc/
4 * config/arm/arm.h (VALID_IWMMXT_REG_MODE): Allow SImode.
5 (ARM_LEGITIMIZE_RELOAD_ADDRESS): Reduce range allowed for SImode
6 offsets with iWMMXt.
7 * config/arm/arm.c (arm_hard_regno_mode_ok): Update for change to
8 VALID_IWMMXT_REG_MODE.
9
102010-07-26 Julian Brown <julian@codesourcery.com>
11
12 Merge from Sourcery G++ 4.4:
13
14 2007-07-05 Mark Shinwell <shinwell@codesourcery.com>
15
16 gcc/
17
18=== modified file 'gcc/config/arm/arm.c'
19--- old/gcc/config/arm/arm.c 2010-08-05 12:06:40 +0000
20+++ new/gcc/config/arm/arm.c 2010-08-05 14:33:31 +0000
21@@ -16538,7 +16538,7 @@
22 return mode == SImode;
23
24 if (IS_IWMMXT_REGNUM (regno))
25- return VALID_IWMMXT_REG_MODE (mode);
26+ return VALID_IWMMXT_REG_MODE (mode) && mode != SImode;
27 }
28
29 /* We allow almost any value to be stored in the general registers.
30
31=== modified file 'gcc/config/arm/arm.h'
32--- old/gcc/config/arm/arm.h 2010-08-05 14:29:52 +0000
33+++ new/gcc/config/arm/arm.h 2010-08-05 14:33:31 +0000
34@@ -1077,7 +1077,7 @@
35 (GET_MODE_CLASS (MODE1) == GET_MODE_CLASS (MODE2))
36
37 #define VALID_IWMMXT_REG_MODE(MODE) \
38- (arm_vector_mode_supported_p (MODE) || (MODE) == DImode)
39+ (arm_vector_mode_supported_p (MODE) || (MODE) == DImode || (MODE) == SImode)
40
41 /* Modes valid for Neon D registers. */
42 #define VALID_NEON_DREG_MODE(MODE) \
43@@ -1364,6 +1364,9 @@
44 else if (TARGET_MAVERICK && TARGET_HARD_FLOAT) \
45 /* Need to be careful, -256 is not a valid offset. */ \
46 low = val >= 0 ? (val & 0xff) : -((-val) & 0xff); \
47+ else if (TARGET_REALLY_IWMMXT && MODE == SImode) \
48+ /* Need to be careful, -1024 is not a valid offset. */ \
49+ low = val >= 0 ? (val & 0x3ff) : -((-val) & 0x3ff); \
50 else if (MODE == SImode \
51 || (MODE == SFmode && TARGET_SOFT_FLOAT) \
52 || ((MODE == HImode || MODE == QImode) && ! arm_arch4)) \
53
diff --git a/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99323.patch b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99323.patch
new file mode 100644
index 0000000000..38b6fa3f0e
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99323.patch
@@ -0,0 +1,688 @@
1 Vladimir Prus <vladimir@codesourcery.com>
2 Julian Brown <julian@codesourcery.com>
3
4 gcc/
5 * config/arm/arm.c (arm_override_options): Warn if mlow-irq-latency is
6 specified in Thumb mode.
7 (load_multiple_sequence): Return 0 if low irq latency is requested.
8 (store_multiple_sequence): Likewise.
9 (arm_gen_load_multiple): Load registers one-by-one if low irq latency
10 is requested.
11 (arm_gen_store_multiple): Likewise.
12 (vfp_output_fldmd): When low_irq_latency is non zero, pop each
13 register separately.
14 (vfp_emit_fstmd): When low_irq_latency is non zero, save each register
15 separately.
16 (arm_get_vfp_saved_size): Adjust saved register size calculation for
17 the above changes.
18 (print_pop_reg_by_ldr): New.
19 (arm_output_epilogue): Use print_pop_reg_by_ldr when low irq latency
20 is requested.
21 (emit_multi_reg_push): Push registers separately if low irq latency
22 is requested.
23 * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Set __low_irq_latency__.
24 (low_irq_latency): Define.
25 (USE_RETURN_INSN): Don't use return insn when low irq latency is
26 requested.
27 * config/arm/lib1funcs.asm (do_pop, do_push): Define as variadic
28 macros. When __low_irq_latency__ is defined, push and pop registers
29 individually.
30 (div0): Use correct punctuation.
31 * config/arm/ieee754-df.S: Adjust syntax of using do_push.
32 * config/arm/ieee754-sf.S: Likewise.
33 * config/arm/bpabi.S: Likewise.
34 * config/arm/arm.opt (mlow-irq-latency): New option.
35 * config/arm/predicates.md (load_multiple_operation): Return false is
36 low irq latency is requested.
37 (store_multiple_operation): Likewise.
38 * config/arm/arm.md (movmemqi): Don't use it if low irq latency is
39 requested.
40 * doc/invoke.texi (-mlow-irq-latency): Add documentation.
41
422010-07-26 Julian Brown <julian@codesourcery.com>
43
44 Merge from Sourcery G++ 4.4:
45
46 2007-06-06 Joseph Myers <joseph@codesourcery.com>
47
48 gcc/
49
50=== modified file 'gcc/config/arm/arm.c'
51--- old/gcc/config/arm/arm.c 2010-08-05 14:33:31 +0000
52+++ new/gcc/config/arm/arm.c 2010-08-05 15:20:54 +0000
53@@ -1884,6 +1884,13 @@
54
55 /* Register global variables with the garbage collector. */
56 arm_add_gc_roots ();
57+
58+ if (low_irq_latency && TARGET_THUMB)
59+ {
60+ warning (0,
61+ "-mlow-irq-latency has no effect when compiling for Thumb");
62+ low_irq_latency = 0;
63+ }
64 }
65
66 static void
67@@ -9053,6 +9060,9 @@
68 int base_reg = -1;
69 int i;
70
71+ if (low_irq_latency)
72+ return 0;
73+
74 /* Can only handle 2, 3, or 4 insns at present,
75 though could be easily extended if required. */
76 gcc_assert (nops >= 2 && nops <= 4);
77@@ -9282,6 +9292,9 @@
78 int base_reg = -1;
79 int i;
80
81+ if (low_irq_latency)
82+ return 0;
83+
84 /* Can only handle 2, 3, or 4 insns at present, though could be easily
85 extended if required. */
86 gcc_assert (nops >= 2 && nops <= 4);
87@@ -9489,7 +9502,7 @@
88
89 As a compromise, we use ldr for counts of 1 or 2 regs, and ldm
90 for counts of 3 or 4 regs. */
91- if (arm_tune_xscale && count <= 2 && ! optimize_size)
92+ if (low_irq_latency || (arm_tune_xscale && count <= 2 && ! optimize_size))
93 {
94 rtx seq;
95
96@@ -9552,7 +9565,7 @@
97
98 /* See arm_gen_load_multiple for discussion of
99 the pros/cons of ldm/stm usage for XScale. */
100- if (arm_tune_xscale && count <= 2 && ! optimize_size)
101+ if (low_irq_latency || (arm_tune_xscale && count <= 2 && ! optimize_size))
102 {
103 rtx seq;
104
105@@ -11795,6 +11808,21 @@
106 vfp_output_fldmd (FILE * stream, unsigned int base, int reg, int count)
107 {
108 int i;
109+ int offset;
110+
111+ if (low_irq_latency)
112+ {
113+ /* Output a sequence of FLDD instructions. */
114+ offset = 0;
115+ for (i = reg; i < reg + count; ++i, offset += 8)
116+ {
117+ fputc ('\t', stream);
118+ asm_fprintf (stream, "fldd\td%d, [%r,#%d]\n", i, base, offset);
119+ }
120+ asm_fprintf (stream, "\tadd\tsp, sp, #%d\n", count * 8);
121+ return;
122+ }
123+
124
125 /* Workaround ARM10 VFPr1 bug. */
126 if (count == 2 && !arm_arch6)
127@@ -11865,6 +11893,56 @@
128 rtx tmp, reg;
129 int i;
130
131+ if (low_irq_latency)
132+ {
133+ int saved_size;
134+ rtx sp_insn;
135+
136+ if (!count)
137+ return 0;
138+
139+ saved_size = count * GET_MODE_SIZE (DFmode);
140+
141+ /* Since fstd does not have postdecrement addressing mode,
142+ we first decrement stack pointer and then use base+offset
143+ stores for VFP registers. The ARM EABI unwind information
144+ can't easily describe base+offset loads, so we attach
145+ a note for the effects of the whole block in the first insn,
146+ and avoid marking the subsequent instructions
147+ with RTX_FRAME_RELATED_P. */
148+ sp_insn = gen_addsi3 (stack_pointer_rtx, stack_pointer_rtx,
149+ GEN_INT (-saved_size));
150+ sp_insn = emit_insn (sp_insn);
151+ RTX_FRAME_RELATED_P (sp_insn) = 1;
152+
153+ dwarf = gen_rtx_SEQUENCE (VOIDmode, rtvec_alloc (count + 1));
154+ XVECEXP (dwarf, 0, 0) =
155+ gen_rtx_SET (VOIDmode, stack_pointer_rtx,
156+ plus_constant (stack_pointer_rtx, -saved_size));
157+
158+ /* push double VFP registers to stack */
159+ for (i = 0; i < count; ++i )
160+ {
161+ rtx reg;
162+ rtx mem;
163+ rtx addr;
164+ rtx insn;
165+ reg = gen_rtx_REG (DFmode, base_reg + 2*i);
166+ addr = (i == 0) ? stack_pointer_rtx
167+ : gen_rtx_PLUS (SImode, stack_pointer_rtx,
168+ GEN_INT (i * GET_MODE_SIZE (DFmode)));
169+ mem = gen_frame_mem (DFmode, addr);
170+ insn = emit_move_insn (mem, reg);
171+ XVECEXP (dwarf, 0, i+1) =
172+ gen_rtx_SET (VOIDmode, mem, reg);
173+ }
174+
175+ REG_NOTES (sp_insn) = gen_rtx_EXPR_LIST (REG_FRAME_RELATED_EXPR, dwarf,
176+ REG_NOTES (sp_insn));
177+
178+ return saved_size;
179+ }
180+
181 /* Workaround ARM10 VFPr1 bug. Data corruption can occur when exactly two
182 register pairs are stored by a store multiple insn. We avoid this
183 by pushing an extra pair. */
184@@ -13307,7 +13385,7 @@
185 if (count > 0)
186 {
187 /* Workaround ARM10 VFPr1 bug. */
188- if (count == 2 && !arm_arch6)
189+ if (count == 2 && !arm_arch6 && !low_irq_latency)
190 count++;
191 saved += count * 8;
192 }
193@@ -13645,6 +13723,41 @@
194
195 }
196
197+/* Generate to STREAM a code sequence that pops registers identified
198+ in REGS_MASK from SP. SP is incremented as the result.
199+*/
200+static void
201+print_pop_reg_by_ldr (FILE *stream, int regs_mask, int rfe)
202+{
203+ int reg;
204+
205+ gcc_assert (! (regs_mask & (1 << SP_REGNUM)));
206+
207+ for (reg = 0; reg < PC_REGNUM; ++reg)
208+ if (regs_mask & (1 << reg))
209+ asm_fprintf (stream, "\tldr\t%r, [%r], #4\n",
210+ reg, SP_REGNUM);
211+
212+ if (regs_mask & (1 << PC_REGNUM))
213+ {
214+ if (rfe)
215+ /* When returning from exception, we need to
216+ copy SPSR to CPSR. There are two ways to do
217+ that: the ldm instruction with "^" suffix,
218+ and movs instruction. The latter would
219+ require that we load from stack to some
220+ scratch register, and then move to PC.
221+ Therefore, we'd need extra instruction and
222+ have to make sure we actually have a spare
223+ register. Using ldm with a single register
224+ is simler. */
225+ asm_fprintf (stream, "\tldm\tsp!, {pc}^\n");
226+ else
227+ asm_fprintf (stream, "\tldr\t%r, [%r], #4\n",
228+ PC_REGNUM, SP_REGNUM);
229+ }
230+}
231+
232 const char *
233 arm_output_epilogue (rtx sibling)
234 {
235@@ -14018,22 +14131,19 @@
236 to load use the LDR instruction - it is faster. For Thumb-2
237 always use pop and the assembler will pick the best instruction.*/
238 if (TARGET_ARM && saved_regs_mask == (1 << LR_REGNUM)
239- && !IS_INTERRUPT(func_type))
240+ && !IS_INTERRUPT (func_type))
241 {
242 asm_fprintf (f, "\tldr\t%r, [%r], #4\n", LR_REGNUM, SP_REGNUM);
243 }
244 else if (saved_regs_mask)
245 {
246- if (saved_regs_mask & (1 << SP_REGNUM))
247- /* Note - write back to the stack register is not enabled
248- (i.e. "ldmfd sp!..."). We know that the stack pointer is
249- in the list of registers and if we add writeback the
250- instruction becomes UNPREDICTABLE. */
251- print_multi_reg (f, "ldmfd\t%r, ", SP_REGNUM, saved_regs_mask,
252- rfe);
253- else if (TARGET_ARM)
254- print_multi_reg (f, "ldmfd\t%r!, ", SP_REGNUM, saved_regs_mask,
255- rfe);
256+ gcc_assert ( ! (saved_regs_mask & (1 << SP_REGNUM)));
257+ if (TARGET_ARM)
258+ if (low_irq_latency)
259+ print_pop_reg_by_ldr (f, saved_regs_mask, rfe);
260+ else
261+ print_multi_reg (f, "ldmfd\t%r!, ", SP_REGNUM, saved_regs_mask,
262+ rfe);
263 else
264 print_multi_reg (f, "pop\t", SP_REGNUM, saved_regs_mask, 0);
265 }
266@@ -14154,6 +14264,32 @@
267
268 gcc_assert (num_regs && num_regs <= 16);
269
270+ if (low_irq_latency)
271+ {
272+ rtx insn = 0;
273+
274+ /* Emit a series of ldr instructions rather rather than a single ldm. */
275+ /* TODO: Use ldrd where possible. */
276+ gcc_assert (! (mask & (1 << SP_REGNUM)));
277+
278+ for (i = LAST_ARM_REGNUM; i >= 0; --i)
279+ {
280+ if (mask & (1 << i))
281+
282+ {
283+ rtx reg, where, mem;
284+
285+ reg = gen_rtx_REG (SImode, i);
286+ where = gen_rtx_PRE_DEC (SImode, stack_pointer_rtx);
287+ mem = gen_rtx_MEM (SImode, where);
288+ insn = emit_move_insn (mem, reg);
289+ RTX_FRAME_RELATED_P (insn) = 1;
290+ }
291+ }
292+
293+ return insn;
294+ }
295+
296 /* We don't record the PC in the dwarf frame information. */
297 num_dwarf_regs = num_regs;
298 if (mask & (1 << PC_REGNUM))
299
300=== modified file 'gcc/config/arm/arm.h'
301--- old/gcc/config/arm/arm.h 2010-08-05 14:33:31 +0000
302+++ new/gcc/config/arm/arm.h 2010-08-05 15:20:54 +0000
303@@ -101,6 +101,8 @@
304 builtin_define ("__ARM_PCS"); \
305 builtin_define ("__ARM_EABI__"); \
306 } \
307+ if (low_irq_latency) \
308+ builtin_define ("__low_irq_latency__"); \
309 } while (0)
310
311 /* The various ARM cores. */
312@@ -449,6 +451,10 @@
313 /* Nonzero if chip supports integer division instruction. */
314 extern int arm_arch_hwdiv;
315
316+/* Nonzero if we should minimize interrupt latency of the
317+ generated code. */
318+extern int low_irq_latency;
319+
320 #ifndef TARGET_DEFAULT
321 #define TARGET_DEFAULT (MASK_APCS_FRAME)
322 #endif
323@@ -1823,9 +1829,10 @@
324 /* Determine if the epilogue should be output as RTL.
325 You should override this if you define FUNCTION_EXTRA_EPILOGUE. */
326 /* This is disabled for Thumb-2 because it will confuse the
327- conditional insn counter. */
328+ conditional insn counter.
329+ Do not use a return insn if we're avoiding ldm/stm instructions. */
330 #define USE_RETURN_INSN(ISCOND) \
331- (TARGET_ARM ? use_return_insn (ISCOND, NULL) : 0)
332+ ((TARGET_ARM && !low_irq_latency) ? use_return_insn (ISCOND, NULL) : 0)
333
334 /* Definitions for register eliminations.
335
336
337=== modified file 'gcc/config/arm/arm.md'
338--- old/gcc/config/arm/arm.md 2010-08-05 12:06:40 +0000
339+++ new/gcc/config/arm/arm.md 2010-08-05 15:20:54 +0000
340@@ -6587,7 +6587,7 @@
341 (match_operand:BLK 1 "general_operand" "")
342 (match_operand:SI 2 "const_int_operand" "")
343 (match_operand:SI 3 "const_int_operand" "")]
344- "TARGET_EITHER"
345+ "TARGET_EITHER && !low_irq_latency"
346 "
347 if (TARGET_32BIT)
348 {
349
350=== modified file 'gcc/config/arm/arm.opt'
351--- old/gcc/config/arm/arm.opt 2009-06-18 11:24:10 +0000
352+++ new/gcc/config/arm/arm.opt 2010-08-05 15:20:54 +0000
353@@ -161,6 +161,10 @@
354 Target Report Mask(NEON_VECTORIZE_QUAD)
355 Use Neon quad-word (rather than double-word) registers for vectorization
356
357+mlow-irq-latency
358+Target Report Var(low_irq_latency)
359+Try to reduce interrupt latency of the generated code
360+
361 mword-relocations
362 Target Report Var(target_word_relocations) Init(TARGET_DEFAULT_WORD_RELOCATIONS)
363 Only generate absolute relocations on word sized values.
364
365=== modified file 'gcc/config/arm/bpabi.S'
366--- old/gcc/config/arm/bpabi.S 2009-12-17 15:37:23 +0000
367+++ new/gcc/config/arm/bpabi.S 2010-08-05 15:20:54 +0000
368@@ -116,16 +116,17 @@
369 test_div_by_zero signed
370
371 sub sp, sp, #8
372-#if defined(__thumb2__)
373+/* Low latency and Thumb-2 do_push implementations can't push sp directly. */
374+#if defined(__thumb2__) || defined(__irq_low_latency__)
375 mov ip, sp
376- push {ip, lr}
377+ do_push (ip, lr)
378 #else
379- do_push {sp, lr}
380+ stmfd sp!, {sp, lr}
381 #endif
382 bl SYM(__gnu_ldivmod_helper) __PLT__
383 ldr lr, [sp, #4]
384 add sp, sp, #8
385- do_pop {r2, r3}
386+ do_pop (r2, r3)
387 RET
388
389 #endif /* L_aeabi_ldivmod */
390@@ -136,16 +137,17 @@
391 test_div_by_zero unsigned
392
393 sub sp, sp, #8
394-#if defined(__thumb2__)
395+/* Low latency and Thumb-2 do_push implementations can't push sp directly. */
396+#if defined(__thumb2__) || defined(__irq_low_latency__)
397 mov ip, sp
398- push {ip, lr}
399+ do_push (ip, lr)
400 #else
401- do_push {sp, lr}
402+ stmfd sp!, {sp, lr}
403 #endif
404 bl SYM(__gnu_uldivmod_helper) __PLT__
405 ldr lr, [sp, #4]
406 add sp, sp, #8
407- do_pop {r2, r3}
408+ do_pop (r2, r3)
409 RET
410
411 #endif /* L_aeabi_divmod */
412
413=== modified file 'gcc/config/arm/ieee754-df.S'
414--- old/gcc/config/arm/ieee754-df.S 2009-06-05 12:52:36 +0000
415+++ new/gcc/config/arm/ieee754-df.S 2010-08-05 15:20:54 +0000
416@@ -83,7 +83,7 @@
417 ARM_FUNC_START adddf3
418 ARM_FUNC_ALIAS aeabi_dadd adddf3
419
420-1: do_push {r4, r5, lr}
421+1: do_push (r4, r5, lr)
422
423 @ Look for zeroes, equal values, INF, or NAN.
424 shift1 lsl, r4, xh, #1
425@@ -427,7 +427,7 @@
426 do_it eq, t
427 moveq r1, #0
428 RETc(eq)
429- do_push {r4, r5, lr}
430+ do_push (r4, r5, lr)
431 mov r4, #0x400 @ initial exponent
432 add r4, r4, #(52-1 - 1)
433 mov r5, #0 @ sign bit is 0
434@@ -447,7 +447,7 @@
435 do_it eq, t
436 moveq r1, #0
437 RETc(eq)
438- do_push {r4, r5, lr}
439+ do_push (r4, r5, lr)
440 mov r4, #0x400 @ initial exponent
441 add r4, r4, #(52-1 - 1)
442 ands r5, r0, #0x80000000 @ sign bit in r5
443@@ -481,7 +481,7 @@
444 RETc(eq) @ we are done already.
445
446 @ value was denormalized. We can normalize it now.
447- do_push {r4, r5, lr}
448+ do_push (r4, r5, lr)
449 mov r4, #0x380 @ setup corresponding exponent
450 and r5, xh, #0x80000000 @ move sign bit in r5
451 bic xh, xh, #0x80000000
452@@ -508,9 +508,9 @@
453 @ compatibility.
454 adr ip, LSYM(f0_ret)
455 @ Push pc as well so that RETLDM works correctly.
456- do_push {r4, r5, ip, lr, pc}
457+ do_push (r4, r5, ip, lr, pc)
458 #else
459- do_push {r4, r5, lr}
460+ do_push (r4, r5, lr)
461 #endif
462
463 mov r5, #0
464@@ -534,9 +534,9 @@
465 @ compatibility.
466 adr ip, LSYM(f0_ret)
467 @ Push pc as well so that RETLDM works correctly.
468- do_push {r4, r5, ip, lr, pc}
469+ do_push (r4, r5, ip, lr, pc)
470 #else
471- do_push {r4, r5, lr}
472+ do_push (r4, r5, lr)
473 #endif
474
475 ands r5, ah, #0x80000000 @ sign bit in r5
476@@ -585,7 +585,7 @@
477 @ Legacy code expects the result to be returned in f0. Copy it
478 @ there as well.
479 LSYM(f0_ret):
480- do_push {r0, r1}
481+ do_push (r0, r1)
482 ldfd f0, [sp], #8
483 RETLDM
484
485@@ -602,7 +602,7 @@
486
487 ARM_FUNC_START muldf3
488 ARM_FUNC_ALIAS aeabi_dmul muldf3
489- do_push {r4, r5, r6, lr}
490+ do_push (r4, r5, r6, lr)
491
492 @ Mask out exponents, trap any zero/denormal/INF/NAN.
493 mov ip, #0xff
494@@ -910,7 +910,7 @@
495 ARM_FUNC_START divdf3
496 ARM_FUNC_ALIAS aeabi_ddiv divdf3
497
498- do_push {r4, r5, r6, lr}
499+ do_push (r4, r5, r6, lr)
500
501 @ Mask out exponents, trap any zero/denormal/INF/NAN.
502 mov ip, #0xff
503@@ -1195,7 +1195,7 @@
504
505 @ The status-returning routines are required to preserve all
506 @ registers except ip, lr, and cpsr.
507-6: do_push {r0, lr}
508+6: do_push (r0, lr)
509 ARM_CALL cmpdf2
510 @ Set the Z flag correctly, and the C flag unconditionally.
511 cmp r0, #0
512
513=== modified file 'gcc/config/arm/ieee754-sf.S'
514--- old/gcc/config/arm/ieee754-sf.S 2009-06-05 12:52:36 +0000
515+++ new/gcc/config/arm/ieee754-sf.S 2010-08-05 15:20:54 +0000
516@@ -481,7 +481,7 @@
517 and r3, ip, #0x80000000
518
519 @ Well, no way to make it shorter without the umull instruction.
520- do_push {r3, r4, r5}
521+ do_push (r3, r4, r5)
522 mov r4, r0, lsr #16
523 mov r5, r1, lsr #16
524 bic r0, r0, r4, lsl #16
525@@ -492,7 +492,7 @@
526 mla r0, r4, r1, r0
527 adds r3, r3, r0, lsl #16
528 adc r1, ip, r0, lsr #16
529- do_pop {r0, r4, r5}
530+ do_pop (r0, r4, r5)
531
532 #else
533
534@@ -882,7 +882,7 @@
535
536 @ The status-returning routines are required to preserve all
537 @ registers except ip, lr, and cpsr.
538-6: do_push {r0, r1, r2, r3, lr}
539+6: do_push (r0, r1, r2, r3, lr)
540 ARM_CALL cmpsf2
541 @ Set the Z flag correctly, and the C flag unconditionally.
542 cmp r0, #0
543
544=== modified file 'gcc/config/arm/lib1funcs.asm'
545--- old/gcc/config/arm/lib1funcs.asm 2010-04-02 18:54:46 +0000
546+++ new/gcc/config/arm/lib1funcs.asm 2010-08-05 15:20:54 +0000
547@@ -254,8 +254,8 @@
548 .macro shift1 op, arg0, arg1, arg2
549 \op \arg0, \arg1, \arg2
550 .endm
551-#define do_push push
552-#define do_pop pop
553+#define do_push(...) push {__VA_ARGS__}
554+#define do_pop(...) pop {__VA_ARGS__}
555 #define COND(op1, op2, cond) op1 ## op2 ## cond
556 /* Perform an arithmetic operation with a variable shift operand. This
557 requires two instructions and a scratch register on Thumb-2. */
558@@ -269,8 +269,42 @@
559 .macro shift1 op, arg0, arg1, arg2
560 mov \arg0, \arg1, \op \arg2
561 .endm
562-#define do_push stmfd sp!,
563-#define do_pop ldmfd sp!,
564+#if defined(__low_irq_latency__)
565+#define do_push(...) \
566+ _buildN1(do_push, _buildC1(__VA_ARGS__))( __VA_ARGS__)
567+#define _buildN1(BASE, X) _buildN2(BASE, X)
568+#define _buildN2(BASE, X) BASE##X
569+#define _buildC1(...) _buildC2(__VA_ARGS__,9,8,7,6,5,4,3,2,1)
570+#define _buildC2(a1,a2,a3,a4,a5,a6,a7,a8,a9,c,...) c
571+
572+#define do_push1(r1) str r1, [sp, #-4]!
573+#define do_push2(r1, r2) str r2, [sp, #-4]! ; str r1, [sp, #-4]!
574+#define do_push3(r1, r2, r3) str r3, [sp, #-4]! ; str r2, [sp, #-4]!; str r1, [sp, #-4]!
575+#define do_push4(r1, r2, r3, r4) \
576+ do_push3 (r2, r3, r4);\
577+ do_push1 (r1)
578+#define do_push5(r1, r2, r3, r4, r5) \
579+ do_push4 (r2, r3, r4, r5);\
580+ do_push1 (r1)
581+
582+#define do_pop(...) \
583+_buildN1(do_pop, _buildC1(__VA_ARGS__))( __VA_ARGS__)
584+
585+#define do_pop1(r1) ldr r1, [sp], #4
586+#define do_pop2(r1, r2) ldr r1, [sp], #4 ; ldr r2, [sp], #4
587+#define do_pop3(r1, r2, r3) ldr r1, [sp], #4 ; str r2, [sp], #4; str r3, [sp], #4
588+#define do_pop4(r1, r2, r3, r4) \
589+ do_pop1 (r1);\
590+ do_pup3 (r2, r3, r4)
591+#define do_pop5(r1, r2, r3, r4, r5) \
592+ do_pop1 (r1);\
593+ do_pop4 (r2, r3, r4, r5)
594+#else
595+#define do_push(...) stmfd sp!, { __VA_ARGS__}
596+#define do_pop(...) ldmfd sp!, {__VA_ARGS__}
597+#endif
598+
599+
600 #define COND(op1, op2, cond) op1 ## cond ## op2
601 .macro shiftop name, dest, src1, src2, shiftop, shiftreg, tmp
602 \name \dest, \src1, \src2, \shiftop \shiftreg
603@@ -1260,7 +1294,7 @@
604 ARM_FUNC_START div0
605 #endif
606
607- do_push {r1, lr}
608+ do_push (r1, lr)
609 mov r0, #SIGFPE
610 bl SYM(raise) __PLT__
611 RETLDM r1
612@@ -1277,7 +1311,7 @@
613 #if defined __ARM_EABI__ && defined __linux__
614 @ EABI GNU/Linux call to cacheflush syscall.
615 ARM_FUNC_START clear_cache
616- do_push {r7}
617+ do_push (r7)
618 #if __ARM_ARCH__ >= 7 || defined(__ARM_ARCH_6T2__)
619 movw r7, #2
620 movt r7, #0xf
621@@ -1287,7 +1321,7 @@
622 #endif
623 mov r2, #0
624 swi 0
625- do_pop {r7}
626+ do_pop (r7)
627 RET
628 FUNC_END clear_cache
629 #else
630@@ -1490,7 +1524,7 @@
631 push {r4, lr}
632 # else
633 ARM_FUNC_START clzdi2
634- do_push {r4, lr}
635+ do_push (r4, lr)
636 # endif
637 cmp xxh, #0
638 bne 1f
639
640=== modified file 'gcc/config/arm/predicates.md'
641--- old/gcc/config/arm/predicates.md 2010-07-30 14:17:05 +0000
642+++ new/gcc/config/arm/predicates.md 2010-08-05 15:20:54 +0000
643@@ -328,6 +328,9 @@
644 HOST_WIDE_INT i = 1, base = 0;
645 rtx elt;
646
647+ if (low_irq_latency)
648+ return false;
649+
650 if (count <= 1
651 || GET_CODE (XVECEXP (op, 0, 0)) != SET)
652 return false;
653@@ -385,6 +388,9 @@
654 HOST_WIDE_INT i = 1, base = 0;
655 rtx elt;
656
657+ if (low_irq_latency)
658+ return false;
659+
660 if (count <= 1
661 || GET_CODE (XVECEXP (op, 0, 0)) != SET)
662 return false;
663
664=== modified file 'gcc/doc/invoke.texi'
665--- old/gcc/doc/invoke.texi 2010-07-29 17:03:20 +0000
666+++ new/gcc/doc/invoke.texi 2010-08-05 15:20:54 +0000
667@@ -469,6 +469,7 @@
668 -mtpcs-frame -mtpcs-leaf-frame @gol
669 -mcaller-super-interworking -mcallee-super-interworking @gol
670 -mtp=@var{name} @gol
671+-mlow-irq-latency @gol
672 -mword-relocations @gol
673 -mfix-cortex-m3-ldrd}
674
675@@ -9489,6 +9490,12 @@
676 @code{,}, @code{!}, @code{|}, and @code{*} as needed.
677
678
679+@item -mlow-irq-latency
680+@opindex mlow-irq-latency
681+Avoid instructions with high interrupt latency when generating
682+code. This can increase code size and reduce performance.
683+The option is off by default.
684+
685 @end table
686
687 The conditional text @code{X} in a %@{@code{S}:@code{X}@} or similar
688
diff --git a/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99324.patch b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99324.patch
new file mode 100644
index 0000000000..40b368862d
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99324.patch
@@ -0,0 +1,109 @@
1 Julian Brown <julian@codesourcery.com>
2 Mark Shinwell <mark@codesourcery.com>
3
4 gcc/
5 * regrename.c (addresses.h): Move include of addresses.h after
6 include of flags.h.
7 * recog.c: Likewise.
8 * regcprop.c: Likewise.
9 * config/arm/arm.h (CLASS_LIKELY_SPILLED_P): Check against
10 LO_REGS only for Thumb-1.
11 (MODE_BASE_REG_CLASS): Restrict base registers to those which can
12 be used in short instructions when optimising for size on Thumb-2.
13
142010-07-26 Julian Brown <julian@codesourcery.com>
15
16 Merge from Sourcery G++ 4.4:
17
18 Vladimir Prus <vladimir@codesourcery.com>
19 Julian Brown <julian@codesourcery.com>
20
21
22=== modified file 'gcc/config/arm/arm.h'
23--- old/gcc/config/arm/arm.h 2010-08-05 15:20:54 +0000
24+++ new/gcc/config/arm/arm.h 2010-08-05 15:28:47 +0000
25@@ -1254,11 +1254,14 @@
26 || reg_classes_intersect_p (VFP_REGS, (CLASS)) \
27 : 0)
28
29-/* We need to define this for LO_REGS on thumb. Otherwise we can end up
30- using r0-r4 for function arguments, r7 for the stack frame and don't
31- have enough left over to do doubleword arithmetic. */
32+/* We need to define this for LO_REGS on Thumb-1. Otherwise we can end up
33+ using r0-r4 for function arguments, r7 for the stack frame and don't have
34+ enough left over to do doubleword arithmetic. For Thumb-2 all the
35+ potentially problematic instructions accept high registers so this is not
36+ necessary. Care needs to be taken to avoid adding new Thumb-2 patterns
37+ that require many low registers. */
38 #define CLASS_LIKELY_SPILLED_P(CLASS) \
39- ((TARGET_THUMB && (CLASS) == LO_REGS) \
40+ ((TARGET_THUMB1 && (CLASS) == LO_REGS) \
41 || (CLASS) == CC_REG)
42
43 /* The class value for index registers, and the one for base regs. */
44@@ -1269,7 +1272,7 @@
45 when addressing quantities in QI or HI mode; if we don't know the
46 mode, then we must be conservative. */
47 #define MODE_BASE_REG_CLASS(MODE) \
48- (TARGET_32BIT ? CORE_REGS : \
49+ (TARGET_ARM || (TARGET_THUMB2 && !optimize_size) ? CORE_REGS : \
50 (((MODE) == SImode) ? BASE_REGS : LO_REGS))
51
52 /* For Thumb we can not support SP+reg addressing, so we return LO_REGS
53
54=== modified file 'gcc/recog.c'
55--- old/gcc/recog.c 2010-04-02 18:54:46 +0000
56+++ new/gcc/recog.c 2010-08-05 15:28:47 +0000
57@@ -31,10 +31,10 @@
58 #include "hard-reg-set.h"
59 #include "recog.h"
60 #include "regs.h"
61-#include "addresses.h"
62 #include "expr.h"
63 #include "function.h"
64 #include "flags.h"
65+#include "addresses.h"
66 #include "real.h"
67 #include "toplev.h"
68 #include "basic-block.h"
69
70=== modified file 'gcc/regcprop.c'
71--- old/gcc/regcprop.c 2010-02-26 11:01:28 +0000
72+++ new/gcc/regcprop.c 2010-08-05 15:28:47 +0000
73@@ -26,7 +26,6 @@
74 #include "tm_p.h"
75 #include "insn-config.h"
76 #include "regs.h"
77-#include "addresses.h"
78 #include "hard-reg-set.h"
79 #include "basic-block.h"
80 #include "reload.h"
81@@ -34,6 +33,7 @@
82 #include "function.h"
83 #include "recog.h"
84 #include "flags.h"
85+#include "addresses.h"
86 #include "toplev.h"
87 #include "obstack.h"
88 #include "timevar.h"
89
90=== modified file 'gcc/regrename.c'
91--- old/gcc/regrename.c 2010-04-02 18:54:46 +0000
92+++ new/gcc/regrename.c 2010-08-05 15:28:47 +0000
93@@ -26,7 +26,6 @@
94 #include "tm_p.h"
95 #include "insn-config.h"
96 #include "regs.h"
97-#include "addresses.h"
98 #include "hard-reg-set.h"
99 #include "basic-block.h"
100 #include "reload.h"
101@@ -34,6 +33,7 @@
102 #include "function.h"
103 #include "recog.h"
104 #include "flags.h"
105+#include "addresses.h"
106 #include "toplev.h"
107 #include "obstack.h"
108 #include "timevar.h"
109
diff --git a/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99325.patch b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99325.patch
new file mode 100644
index 0000000000..0dbb3dbf7f
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99325.patch
@@ -0,0 +1,174 @@
1 http://gcc.gnu.org/ml/gcc-patches/2006-04/msg00811.html
2
3 Kazu Hirata <kazu@codesourcery.com>
4
5 gcc/testsuite/
6 * gcc.target/arm/vfp-ldmdbd.c, gcc.target/arm/vfp-ldmdbs.c,
7 gcc.target/arm/vfp-ldmiad.c, gcc.target/arm/vfp-ldmias.c,
8 gcc.target/arm/vfp-stmdbd.c, gcc.target/arm/vfp-stmdbs.c,
9 gcc.target/arm/vfp-stmiad.c, gcc.target/arm/vfp-stmias.c: New.
10
112010-07-26 Julian Brown <julian@codesourcery.com>
12
13 Merge from Sourcery G++ 4.4:
14
15 Julian Brown <julian@codesourcery.com>
16 Mark Shinwell <mark@codesourcery.com>
17
18
19=== added file 'gcc/testsuite/gcc.target/arm/vfp-ldmdbd.c'
20--- old/gcc/testsuite/gcc.target/arm/vfp-ldmdbd.c 1970-01-01 00:00:00 +0000
21+++ new/gcc/testsuite/gcc.target/arm/vfp-ldmdbd.c 2010-08-05 15:37:24 +0000
22@@ -0,0 +1,15 @@
23+/* { dg-do compile } */
24+/* { dg-require-effective-target arm_vfp_ok } */
25+/* { dg-options "-O2 -mfpu=vfp -mfloat-abi=softfp" } */
26+
27+extern void bar (double);
28+
29+void
30+foo (double *p, double a, int n)
31+{
32+ do
33+ bar (*--p + a);
34+ while (n--);
35+}
36+
37+/* { dg-final { scan-assembler "fldmdbd" } } */
38
39=== added file 'gcc/testsuite/gcc.target/arm/vfp-ldmdbs.c'
40--- old/gcc/testsuite/gcc.target/arm/vfp-ldmdbs.c 1970-01-01 00:00:00 +0000
41+++ new/gcc/testsuite/gcc.target/arm/vfp-ldmdbs.c 2010-08-05 15:37:24 +0000
42@@ -0,0 +1,15 @@
43+/* { dg-do compile } */
44+/* { dg-require-effective-target arm_vfp_ok } */
45+/* { dg-options "-O2 -mfpu=vfp -mfloat-abi=softfp" } */
46+
47+extern void baz (float);
48+
49+void
50+foo (float *p, float a, int n)
51+{
52+ do
53+ bar (*--p + a);
54+ while (n--);
55+}
56+
57+/* { dg-final { scan-assembler "fldmdbs" } } */
58
59=== added file 'gcc/testsuite/gcc.target/arm/vfp-ldmiad.c'
60--- old/gcc/testsuite/gcc.target/arm/vfp-ldmiad.c 1970-01-01 00:00:00 +0000
61+++ new/gcc/testsuite/gcc.target/arm/vfp-ldmiad.c 2010-08-05 15:37:24 +0000
62@@ -0,0 +1,15 @@
63+/* { dg-do compile } */
64+/* { dg-require-effective-target arm_vfp_ok } */
65+/* { dg-options "-O2 -mfpu=vfp -mfloat-abi=softfp" } */
66+
67+extern void bar (double);
68+
69+void
70+foo (double *p, double a, int n)
71+{
72+ do
73+ bar (*p++ + a);
74+ while (n--);
75+}
76+
77+/* { dg-final { scan-assembler "fldmiad" } } */
78
79=== added file 'gcc/testsuite/gcc.target/arm/vfp-ldmias.c'
80--- old/gcc/testsuite/gcc.target/arm/vfp-ldmias.c 1970-01-01 00:00:00 +0000
81+++ new/gcc/testsuite/gcc.target/arm/vfp-ldmias.c 2010-08-05 15:37:24 +0000
82@@ -0,0 +1,15 @@
83+/* { dg-do compile } */
84+/* { dg-require-effective-target arm_vfp_ok } */
85+/* { dg-options "-O2 -mfpu=vfp -mfloat-abi=softfp" } */
86+
87+extern void baz (float);
88+
89+void
90+foo (float *p, float a, int n)
91+{
92+ do
93+ bar (*p++ + a);
94+ while (n--);
95+}
96+
97+/* { dg-final { scan-assembler "fldmias" } } */
98
99=== added file 'gcc/testsuite/gcc.target/arm/vfp-stmdbd.c'
100--- old/gcc/testsuite/gcc.target/arm/vfp-stmdbd.c 1970-01-01 00:00:00 +0000
101+++ new/gcc/testsuite/gcc.target/arm/vfp-stmdbd.c 2010-08-05 15:37:24 +0000
102@@ -0,0 +1,14 @@
103+/* { dg-do compile } */
104+/* { dg-require-effective-target arm_vfp_ok } */
105+/* { dg-options "-O2 -mfpu=vfp -mfloat-abi=softfp" } */
106+
107+void
108+foo (double *p, double a, double b, int n)
109+{
110+ double c = a + b;
111+ do
112+ *--p = c;
113+ while (n--);
114+}
115+
116+/* { dg-final { scan-assembler "fstmdbd" } } */
117
118=== added file 'gcc/testsuite/gcc.target/arm/vfp-stmdbs.c'
119--- old/gcc/testsuite/gcc.target/arm/vfp-stmdbs.c 1970-01-01 00:00:00 +0000
120+++ new/gcc/testsuite/gcc.target/arm/vfp-stmdbs.c 2010-08-05 15:37:24 +0000
121@@ -0,0 +1,14 @@
122+/* { dg-do compile } */
123+/* { dg-require-effective-target arm_vfp_ok } */
124+/* { dg-options "-O2 -mfpu=vfp -mfloat-abi=softfp" } */
125+
126+void
127+foo (float *p, float a, float b, int n)
128+{
129+ float c = a + b;
130+ do
131+ *--p = c;
132+ while (n--);
133+}
134+
135+/* { dg-final { scan-assembler "fstmdbs" } } */
136
137=== added file 'gcc/testsuite/gcc.target/arm/vfp-stmiad.c'
138--- old/gcc/testsuite/gcc.target/arm/vfp-stmiad.c 1970-01-01 00:00:00 +0000
139+++ new/gcc/testsuite/gcc.target/arm/vfp-stmiad.c 2010-08-05 15:37:24 +0000
140@@ -0,0 +1,14 @@
141+/* { dg-do compile } */
142+/* { dg-require-effective-target arm_vfp_ok } */
143+/* { dg-options "-O2 -mfpu=vfp -mfloat-abi=softfp" } */
144+
145+void
146+foo (double *p, double a, double b, int n)
147+{
148+ double c = a + b;
149+ do
150+ *p++ = c;
151+ while (n--);
152+}
153+
154+/* { dg-final { scan-assembler "fstmiad" } } */
155
156=== added file 'gcc/testsuite/gcc.target/arm/vfp-stmias.c'
157--- old/gcc/testsuite/gcc.target/arm/vfp-stmias.c 1970-01-01 00:00:00 +0000
158+++ new/gcc/testsuite/gcc.target/arm/vfp-stmias.c 2010-08-05 15:37:24 +0000
159@@ -0,0 +1,14 @@
160+/* { dg-do compile } */
161+/* { dg-require-effective-target arm_vfp_ok } */
162+/* { dg-options "-O2 -mfpu=vfp -mfloat-abi=softfp" } */
163+
164+void
165+foo (float *p, float a, float b, int n)
166+{
167+ float c = a + b;
168+ do
169+ *p++ = c;
170+ while (n--);
171+}
172+
173+/* { dg-final { scan-assembler "fstmias" } } */
174
diff --git a/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99326.patch b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99326.patch
new file mode 100644
index 0000000000..59b598ba70
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99326.patch
@@ -0,0 +1,86 @@
1
2 http://gcc.gnu.org/ml/gcc-patches/2006-03/msg00038.html
3
4 * g++.dg/other/armv7m-1.C: New.
5
62010-07-26 Julian Brown <julian@codesourcery.com>
7
8 Merge from Sourcery G++ 4.4:
9
10 http://gcc.gnu.org/ml/gcc-patches/2006-04/msg00811.html
11
12
13=== added file 'gcc/testsuite/g++.dg/other/armv7m-1.C'
14--- old/gcc/testsuite/g++.dg/other/armv7m-1.C 1970-01-01 00:00:00 +0000
15+++ new/gcc/testsuite/g++.dg/other/armv7m-1.C 2010-08-05 16:23:43 +0000
16@@ -0,0 +1,69 @@
17+/* { dg-do run { target arm*-*-* } } */
18+/* Test Armv7m interrupt routines. */
19+#include <stdlib.h>
20+
21+#ifdef __ARM_ARCH_7M__
22+void __attribute__((interrupt))
23+foo(void)
24+{
25+ long long n;
26+ long p;
27+ asm volatile ("" : "=r" (p) : "0" (&n));
28+ if (p & 4)
29+ abort ();
30+ return;
31+}
32+
33+void __attribute__((interrupt))
34+bar(void)
35+{
36+ throw 42;
37+}
38+
39+int main()
40+{
41+ int a;
42+ int before;
43+ int after;
44+ volatile register int sp asm("sp");
45+
46+ asm volatile ("mov %0, sp\n"
47+ "blx %2\n"
48+ "mov %1, sp\n"
49+ : "=&r" (before), "=r" (after) : "r" (foo)
50+ : "memory", "cc", "r0", "r1", "r2", "r3", "ip", "lr");
51+ if (before != after)
52+ abort();
53+ asm volatile ("mov %0, sp\n"
54+ "sub sp, sp, #4\n"
55+ "blx %2\n"
56+ "add sp, sp, #4\n"
57+ "mov %1, sp\n"
58+ : "=&r" (before), "=r" (after) : "r" (foo)
59+ : "memory", "cc", "r0", "r1", "r2", "r3", "ip", "lr");
60+ if (before != after)
61+ abort();
62+ before = sp;
63+ try
64+ {
65+ bar();
66+ }
67+ catch (int i)
68+ {
69+ if (i != 42)
70+ abort();
71+ }
72+ catch (...)
73+ {
74+ abort();
75+ }
76+ if (before != sp)
77+ abort();
78+ exit(0);
79+}
80+#else
81+int main()
82+{
83+ exit (0);
84+}
85+#endif
86
diff --git a/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99327.patch b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99327.patch
new file mode 100644
index 0000000000..5d489aab69
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99327.patch
@@ -0,0 +1,132 @@
1 Backport from FSF mainline:
2
3 Mark Shinwell <shinwell@codesourcery.com>
4 Julian Brown <julian@codesourcery.com>
5
6 gcc/
7 * config/arm/thumb2.md (thumb2_movsi_insn): Split ldr and str
8 alternatives according to use of high and low regs.
9 * config/arm/vfp.md (thumb2_movsi_vfp): Likewise.
10 * config/arm/arm.h (CONDITIONAL_REGISTER_USAGE): Use high regs when
11 optimizing for size on Thumb-2.
12
132010-07-26 Julian Brown <julian@codesourcery.com>
14
15 Merge from Sourcery G++ 4.4:
16
17 http://gcc.gnu.org/ml/gcc-patches/2006-03/msg00038.html
18
19=== modified file 'gcc/config/arm/arm.h'
20--- old/gcc/config/arm/arm.h 2010-08-05 15:28:47 +0000
21+++ new/gcc/config/arm/arm.h 2010-08-05 16:34:46 +0000
22@@ -783,12 +783,11 @@
23 fixed_regs[regno] = call_used_regs[regno] = 1; \
24 } \
25 \
26- if (TARGET_THUMB && optimize_size) \
27- { \
28- /* When optimizing for size, it's better not to use \
29- the HI regs, because of the overhead of stacking \
30- them. */ \
31- /* ??? Is this still true for thumb2? */ \
32+ if (TARGET_THUMB1 && optimize_size) \
33+ { \
34+ /* When optimizing for size on Thumb-1, it's better not \
35+ to use the HI regs, because of the overhead of \
36+ stacking them. */ \
37 for (regno = FIRST_HI_REGNUM; \
38 regno <= LAST_HI_REGNUM; ++regno) \
39 fixed_regs[regno] = call_used_regs[regno] = 1; \
40
41=== modified file 'gcc/config/arm/thumb2.md'
42--- old/gcc/config/arm/thumb2.md 2010-04-02 07:32:00 +0000
43+++ new/gcc/config/arm/thumb2.md 2010-08-05 16:34:46 +0000
44@@ -223,9 +223,14 @@
45 (set_attr "neg_pool_range" "*,*,*,0,*")]
46 )
47
48+;; We have two alternatives here for memory loads (and similarly for stores)
49+;; to reflect the fact that the permissible constant pool ranges differ
50+;; between ldr instructions taking low regs and ldr instructions taking high
51+;; regs. The high register alternatives are not taken into account when
52+;; choosing register preferences in order to reflect their expense.
53 (define_insn "*thumb2_movsi_insn"
54- [(set (match_operand:SI 0 "nonimmediate_operand" "=rk,r,r,r,rk,m")
55- (match_operand:SI 1 "general_operand" "rk ,I,K,j,mi,rk"))]
56+ [(set (match_operand:SI 0 "nonimmediate_operand" "=rk,r,r,r,l, *hk,m,*m")
57+ (match_operand:SI 1 "general_operand" "rk ,I,K,j,mi,*mi,l,*hk"))]
58 "TARGET_THUMB2 && ! TARGET_IWMMXT
59 && !(TARGET_HARD_FLOAT && TARGET_VFP)
60 && ( register_operand (operands[0], SImode)
61@@ -236,11 +241,13 @@
62 mvn%?\\t%0, #%B1
63 movw%?\\t%0, %1
64 ldr%?\\t%0, %1
65+ ldr%?\\t%0, %1
66+ str%?\\t%1, %0
67 str%?\\t%1, %0"
68- [(set_attr "type" "*,*,*,*,load1,store1")
69+ [(set_attr "type" "*,*,*,*,load1,load1,store1,store1")
70 (set_attr "predicable" "yes")
71- (set_attr "pool_range" "*,*,*,*,4096,*")
72- (set_attr "neg_pool_range" "*,*,*,*,0,*")]
73+ (set_attr "pool_range" "*,*,*,*,1020,4096,*,*")
74+ (set_attr "neg_pool_range" "*,*,*,*,0,0,*,*")]
75 )
76
77 (define_insn "tls_load_dot_plus_four"
78
79=== modified file 'gcc/config/arm/vfp.md'
80--- old/gcc/config/arm/vfp.md 2010-07-30 14:17:05 +0000
81+++ new/gcc/config/arm/vfp.md 2010-08-05 16:34:46 +0000
82@@ -86,9 +86,11 @@
83 (set_attr "neg_pool_range" "*,*,*,*,4084,*,*,*,*,1008,*")]
84 )
85
86+;; See thumb2.md:thumb2_movsi_insn for an explanation of the split
87+;; high/low register alternatives for loads and stores here.
88 (define_insn "*thumb2_movsi_vfp"
89- [(set (match_operand:SI 0 "nonimmediate_operand" "=rk,r,r,r,rk,m,*t,r, *t,*t, *Uv")
90- (match_operand:SI 1 "general_operand" "rk, I,K,j,mi,rk,r,*t,*t,*Uvi,*t"))]
91+ [(set (match_operand:SI 0 "nonimmediate_operand" "=rk,r,r,r,l,*hk,m,*m,*t,r, *t,*t, *Uv")
92+ (match_operand:SI 1 "general_operand" "rk, I,K,j,mi,*mi,l,*hk,r,*t,*t,*Uvi,*t"))]
93 "TARGET_THUMB2 && TARGET_VFP && TARGET_HARD_FLOAT
94 && ( s_register_operand (operands[0], SImode)
95 || s_register_operand (operands[1], SImode))"
96@@ -102,25 +104,27 @@
97 case 3:
98 return \"movw%?\\t%0, %1\";
99 case 4:
100+ case 5:
101 return \"ldr%?\\t%0, %1\";
102- case 5:
103+ case 6:
104+ case 7:
105 return \"str%?\\t%1, %0\";
106- case 6:
107+ case 8:
108 return \"fmsr%?\\t%0, %1\\t%@ int\";
109- case 7:
110+ case 9:
111 return \"fmrs%?\\t%0, %1\\t%@ int\";
112- case 8:
113+ case 10:
114 return \"fcpys%?\\t%0, %1\\t%@ int\";
115- case 9: case 10:
116+ case 11: case 12:
117 return output_move_vfp (operands);
118 default:
119 gcc_unreachable ();
120 }
121 "
122 [(set_attr "predicable" "yes")
123- (set_attr "type" "*,*,*,*,load1,store1,r_2_f,f_2_r,fcpys,f_load,f_store")
124- (set_attr "pool_range" "*,*,*,*,4096,*,*,*,*,1020,*")
125- (set_attr "neg_pool_range" "*,*,*,*, 0,*,*,*,*,1008,*")]
126+ (set_attr "type" "*,*,*,*,load1,load1,store1,store1,r_2_f,f_2_r,fcpys,f_load,f_store")
127+ (set_attr "pool_range" "*,*,*,*,1020,4096,*,*,*,*,*,1020,*")
128+ (set_attr "neg_pool_range" "*,*,*,*, 0, 0,*,*,*,*,*,1008,*")]
129 )
130
131
132
diff --git a/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99332.patch b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99332.patch
new file mode 100644
index 0000000000..3e63611305
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99332.patch
@@ -0,0 +1,68 @@
12010-08-06 Yao Qi <yao@codesourcery.com>
2
3 LP: #612011
4 gcc/
5 * config/arm/arm.c (output_move_double): Fix typo generating
6 instructions ('ldr'->'str').
7
8 gcc/testsuite/
9 * gcc.target/arm/pr45094.c: New test.
10
11 2010-08-02 Ulrich Weigand <uweigand@de.ibm.com>
12
13 LP: #604874
14
15=== modified file 'gcc/config/arm/arm.c'
16--- old/gcc/config/arm/arm.c 2010-08-10 13:31:21 +0000
17+++ new/gcc/config/arm/arm.c 2010-08-10 14:03:02 +0000
18@@ -12506,13 +12506,13 @@
19 {
20 if (GET_CODE (XEXP (operands[0], 0)) == PRE_MODIFY)
21 {
22- output_asm_insn ("ldr%?\t%0, [%1, %2]!", otherops);
23- output_asm_insn ("ldr%?\t%H0, [%1, #4]", otherops);
24+ output_asm_insn ("str%?\t%0, [%1, %2]!", otherops);
25+ output_asm_insn ("str%?\t%H0, [%1, #4]", otherops);
26 }
27 else
28 {
29- output_asm_insn ("ldr%?\t%H0, [%1, #4]", otherops);
30- output_asm_insn ("ldr%?\t%0, [%1], %2", otherops);
31+ output_asm_insn ("str%?\t%H0, [%1, #4]", otherops);
32+ output_asm_insn ("str%?\t%0, [%1], %2", otherops);
33 }
34 }
35 else if (GET_CODE (XEXP (operands[0], 0)) == PRE_MODIFY)
36
37=== added file 'gcc/testsuite/gcc.target/arm/pr45094.c'
38--- old/gcc/testsuite/gcc.target/arm/pr45094.c 1970-01-01 00:00:00 +0000
39+++ new/gcc/testsuite/gcc.target/arm/pr45094.c 2010-08-06 05:10:03 +0000
40@@ -0,0 +1,27 @@
41+/* { dg-do run } */
42+/* { dg-require-effective-target arm_neon_hw } */
43+/* { dg-options "-O2 -mcpu=cortex-a8" } */
44+/* { dg-add-options arm_neon } */
45+
46+#include <stdlib.h>
47+
48+long long buffer[32];
49+
50+void __attribute__((noinline)) f(long long *p, int n)
51+{
52+ while (--n >= 0)
53+ {
54+ *p = 1;
55+ p += 32;
56+ }
57+}
58+
59+int main(void)
60+{
61+ f(buffer, 1);
62+
63+ if (!buffer[0])
64+ abort();
65+
66+ return 0;
67+}
68
diff --git a/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99335.patch b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99335.patch
new file mode 100644
index 0000000000..f75a74091f
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99335.patch
@@ -0,0 +1,138 @@
12010-07-26 Julian Brown <julian@codesourcery.com>
2
3 Merge from Sourcery G++ 4.4:
4
5 Mark Shinwell <shinwell@codesourcery.com>
6
7 gcc/
8 * config/arm/vfp.md (*arm_movsi_vfp, *thumb2_movsi_vfp)
9 (*arm_movdi_vfp, *thumb2_movdi_vfp, *movsf_vfp, *thumb2_movsf_vfp)
10 (*movdf_vfp, *thumb2_movdf_vfp, *movsfcc_vfp, *thumb2_movsfcc_vfp)
11 (*movdfcc_vfp, *thumb2_movdfcc_vfp): Add neon_type.
12 * config/arm/arm.md (neon_type): Update comment.
13
14 2010-08-10 Andrew Stubbs <ams@codesourcery.com>
15
16 gcc/
17
18=== modified file 'gcc/config/arm/arm.md'
19--- old/gcc/config/arm/arm.md 2010-08-10 13:31:21 +0000
20+++ new/gcc/config/arm/arm.md 2010-08-12 11:29:02 +0000
21@@ -255,8 +255,6 @@
22 (define_attr "ldsched" "no,yes" (const (symbol_ref "arm_ld_sched")))
23
24 ;; Classification of NEON instructions for scheduling purposes.
25-;; Do not set this attribute and the "type" attribute together in
26-;; any one instruction pattern.
27 (define_attr "neon_type"
28 "neon_int_1,\
29 neon_int_2,\
30
31=== modified file 'gcc/config/arm/vfp.md'
32--- old/gcc/config/arm/vfp.md 2010-08-10 13:31:21 +0000
33+++ new/gcc/config/arm/vfp.md 2010-08-12 11:29:02 +0000
34@@ -82,6 +82,7 @@
35 "
36 [(set_attr "predicable" "yes")
37 (set_attr "type" "*,*,*,*,load1,store1,r_2_f,f_2_r,fcpys,f_loads,f_stores")
38+ (set_attr "neon_type" "*,*,*,*,*,*,neon_mcr,neon_mrc,neon_vmov,*,*")
39 (set_attr "pool_range" "*,*,*,*,4096,*,*,*,*,1020,*")
40 (set_attr "neg_pool_range" "*,*,*,*,4084,*,*,*,*,1008,*")]
41 )
42@@ -123,6 +124,7 @@
43 "
44 [(set_attr "predicable" "yes")
45 (set_attr "type" "*,*,*,*,load1,load1,store1,store1,r_2_f,f_2_r,fcpys,f_load,f_store")
46+ (set_attr "neon_type" "*,*,*,*,*,*,*,*,neon_mcr,neon_mrc,neon_vmov,*,*")
47 (set_attr "pool_range" "*,*,*,*,1020,4096,*,*,*,*,*,1020,*")
48 (set_attr "neg_pool_range" "*,*,*,*, 0, 0,*,*,*,*,*,1008,*")]
49 )
50@@ -160,6 +162,7 @@
51 }
52 "
53 [(set_attr "type" "*,load2,store2,r_2_f,f_2_r,ffarithd,f_loadd,f_stored")
54+ (set_attr "neon_type" "*,*,*,neon_mcr_2_mcrr,neon_mrrc,neon_vmov,*,*")
55 (set (attr "length") (cond [(eq_attr "alternative" "0,1,2") (const_int 8)
56 (eq_attr "alternative" "5")
57 (if_then_else
58@@ -198,6 +201,7 @@
59 }
60 "
61 [(set_attr "type" "*,load2,store2,r_2_f,f_2_r,ffarithd,f_load,f_store")
62+ (set_attr "neon_type" "*,*,*,neon_mcr_2_mcrr,neon_mrrc,neon_vmov,*,*")
63 (set (attr "length") (cond [(eq_attr "alternative" "0,1,2") (const_int 8)
64 (eq_attr "alternative" "5")
65 (if_then_else
66@@ -352,6 +356,7 @@
67 [(set_attr "predicable" "yes")
68 (set_attr "type"
69 "r_2_f,f_2_r,fconsts,f_loads,f_stores,load1,store1,fcpys,*")
70+ (set_attr "neon_type" "neon_mcr,neon_mrc,*,*,*,*,*,neon_vmov,*")
71 (set_attr "pool_range" "*,*,*,1020,*,4096,*,*,*")
72 (set_attr "neg_pool_range" "*,*,*,1008,*,4080,*,*,*")]
73 )
74@@ -388,6 +393,7 @@
75 [(set_attr "predicable" "yes")
76 (set_attr "type"
77 "r_2_f,f_2_r,fconsts,f_load,f_store,load1,store1,fcpys,*")
78+ (set_attr "neon_type" "neon_mcr,neon_mrc,*,*,*,*,*,neon_vmov,*")
79 (set_attr "pool_range" "*,*,*,1020,*,4092,*,*,*")
80 (set_attr "neg_pool_range" "*,*,*,1008,*,0,*,*,*")]
81 )
82@@ -430,6 +436,7 @@
83 "
84 [(set_attr "type"
85 "r_2_f,f_2_r,fconstd,f_loadd,f_stored,load2,store2,ffarithd,*")
86+ (set_attr "neon_type" "neon_mcr_2_mcrr,neon_mrrc,*,*,*,*,*,neon_vmov,*")
87 (set (attr "length") (cond [(eq_attr "alternative" "3,4,8") (const_int 8)
88 (eq_attr "alternative" "7")
89 (if_then_else
90@@ -474,6 +481,7 @@
91 "
92 [(set_attr "type"
93 "r_2_f,f_2_r,fconstd,load2,store2,f_load,f_store,ffarithd,*")
94+ (set_attr "neon_type" "neon_mcr_2_mcrr,neon_mrrc,*,*,*,*,*,neon_vmov,*")
95 (set (attr "length") (cond [(eq_attr "alternative" "3,4,8") (const_int 8)
96 (eq_attr "alternative" "7")
97 (if_then_else
98@@ -509,7 +517,8 @@
99 fmrs%D3\\t%0, %2\;fmrs%d3\\t%0, %1"
100 [(set_attr "conds" "use")
101 (set_attr "length" "4,4,8,4,4,8,4,4,8")
102- (set_attr "type" "fcpys,fcpys,fcpys,r_2_f,r_2_f,r_2_f,f_2_r,f_2_r,f_2_r")]
103+ (set_attr "type" "fcpys,fcpys,fcpys,r_2_f,r_2_f,r_2_f,f_2_r,f_2_r,f_2_r")
104+ (set_attr "neon_type" "neon_vmov,neon_vmov,neon_vmov,neon_mcr,neon_mcr,neon_mcr,neon_mrc,neon_mrc,neon_mrc")]
105 )
106
107 (define_insn "*thumb2_movsfcc_vfp"
108@@ -532,7 +541,8 @@
109 ite\\t%D3\;fmrs%D3\\t%0, %2\;fmrs%d3\\t%0, %1"
110 [(set_attr "conds" "use")
111 (set_attr "length" "6,6,10,6,6,10,6,6,10")
112- (set_attr "type" "fcpys,fcpys,fcpys,r_2_f,r_2_f,r_2_f,f_2_r,f_2_r,f_2_r")]
113+ (set_attr "type" "fcpys,fcpys,fcpys,r_2_f,r_2_f,r_2_f,f_2_r,f_2_r,f_2_r")
114+ (set_attr "neon_type" "neon_vmov,neon_vmov,neon_vmov,neon_mcr,neon_mcr,neon_mcr,neon_mrc,neon_mrc,neon_mrc")]
115 )
116
117 (define_insn "*movdfcc_vfp"
118@@ -555,7 +565,8 @@
119 fmrrd%D3\\t%Q0, %R0, %P2\;fmrrd%d3\\t%Q0, %R0, %P1"
120 [(set_attr "conds" "use")
121 (set_attr "length" "4,4,8,4,4,8,4,4,8")
122- (set_attr "type" "ffarithd,ffarithd,ffarithd,r_2_f,r_2_f,r_2_f,f_2_r,f_2_r,f_2_r")]
123+ (set_attr "type" "ffarithd,ffarithd,ffarithd,r_2_f,r_2_f,r_2_f,f_2_r,f_2_r,f_2_r")
124+ (set_attr "neon_type" "neon_vmov,neon_vmov,neon_vmov,neon_mcr_2_mcrr,neon_mcr_2_mcrr,neon_mcr_2_mcrr,neon_mrrc,neon_mrrc,neon_mrrc")]
125 )
126
127 (define_insn "*thumb2_movdfcc_vfp"
128@@ -578,7 +589,8 @@
129 ite\\t%D3\;fmrrd%D3\\t%Q0, %R0, %P2\;fmrrd%d3\\t%Q0, %R0, %P1"
130 [(set_attr "conds" "use")
131 (set_attr "length" "6,6,10,6,6,10,6,6,10")
132- (set_attr "type" "ffarithd,ffarithd,ffarithd,r_2_f,r_2_f,r_2_f,f_2_r,f_2_r,f_2_r")]
133+ (set_attr "type" "ffarithd,ffarithd,ffarithd,r_2_f,r_2_f,r_2_f,f_2_r,f_2_r,f_2_r")
134+ (set_attr "neon_type" "neon_vmov,neon_vmov,neon_vmov,neon_mcr_2_mcrr,neon_mcr_2_mcrr,neon_mcr_2_mcrr,neon_mrrc,neon_mrrc,neon_mrrc")]
135 )
136
137
138
diff --git a/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99336.patch b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99336.patch
new file mode 100644
index 0000000000..9b56560942
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99336.patch
@@ -0,0 +1,95 @@
1 gcc/
2 * config/arm/arm.c (arm_override_options): Override alignments if
3 tuning for Cortex-A8.
4 (create_fix_barrier, arm_reorg): If aligning to jumps or loops,
5 make labels have a size.
6 * config/arm/arm.md (VUNSPEC_ALIGN16, VUNSPEC_ALIGN32): New constants.
7 (align_16, align_32): New patterns.
8
92010-07-26 Julian Brown <julian@codesourcery.com>
10
11 Merge from Sourcery G++ 4.4:
12
13 Mark Shinwell <shinwell@codesourcery.com>
14
15
16=== modified file 'gcc/config/arm/arm.c'
17--- old/gcc/config/arm/arm.c 2010-08-10 14:03:02 +0000
18+++ new/gcc/config/arm/arm.c 2010-08-12 11:33:54 +0000
19@@ -1449,6 +1449,16 @@
20 chosen. */
21 gcc_assert (arm_tune != arm_none);
22
23+ if (arm_tune == cortexa8 && optimize >= 3)
24+ {
25+ /* These alignments were experimentally determined to improve SPECint
26+ performance on SPECCPU 2000. */
27+ if (align_functions <= 0)
28+ align_functions = 16;
29+ if (align_jumps <= 0)
30+ align_jumps = 16;
31+ }
32+
33 tune_flags = all_cores[(int)arm_tune].flags;
34
35 if (target_fp16_format_name)
36@@ -11263,7 +11273,10 @@
37 gcc_assert (GET_CODE (from) != BARRIER);
38
39 /* Count the length of this insn. */
40- count += get_attr_length (from);
41+ if (LABEL_P (from) && (align_jumps > 0 || align_loops > 0))
42+ count += MAX (align_jumps, align_loops);
43+ else
44+ count += get_attr_length (from);
45
46 /* If there is a jump table, add its length. */
47 tmp = is_jump_table (from);
48@@ -11603,6 +11616,8 @@
49 insn = table;
50 }
51 }
52+ else if (LABEL_P (insn) && (align_jumps > 0 || align_loops > 0))
53+ address += MAX (align_jumps, align_loops);
54 }
55
56 fix = minipool_fix_head;
57
58=== modified file 'gcc/config/arm/arm.md'
59--- old/gcc/config/arm/arm.md 2010-08-12 11:29:02 +0000
60+++ new/gcc/config/arm/arm.md 2010-08-12 11:33:54 +0000
61@@ -135,6 +135,8 @@
62 (VUNSPEC_WCMP_EQ 12) ; Used by the iWMMXt WCMPEQ instructions
63 (VUNSPEC_WCMP_GTU 13) ; Used by the iWMMXt WCMPGTU instructions
64 (VUNSPEC_WCMP_GT 14) ; Used by the iwMMXT WCMPGT instructions
65+ (VUNSPEC_ALIGN16 15) ; Used to force 16-byte alignment.
66+ (VUNSPEC_ALIGN32 16) ; Used to force 32-byte alignment.
67 (VUNSPEC_EH_RETURN 20); Use to override the return address for exception
68 ; handling.
69 ]
70@@ -11042,6 +11044,24 @@
71 "
72 )
73
74+(define_insn "align_16"
75+ [(unspec_volatile [(const_int 0)] VUNSPEC_ALIGN16)]
76+ "TARGET_EITHER"
77+ "*
78+ assemble_align (128);
79+ return \"\";
80+ "
81+)
82+
83+(define_insn "align_32"
84+ [(unspec_volatile [(const_int 0)] VUNSPEC_ALIGN32)]
85+ "TARGET_EITHER"
86+ "*
87+ assemble_align (256);
88+ return \"\";
89+ "
90+)
91+
92 (define_insn "consttable_end"
93 [(unspec_volatile [(const_int 0)] VUNSPEC_POOL_END)]
94 "TARGET_EITHER"
95
diff --git a/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99337.patch b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99337.patch
new file mode 100644
index 0000000000..850acb31b0
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99337.patch
@@ -0,0 +1,36 @@
1 2008-09-08 Daniel Jacobowitz <dan@codesourcery.com>
2
3 gcc/
4 * config/arm/unwind-arm.c (__gnu_unwind_pr_common): Correct test
5 for barrier handlers.
6
72010-07-26 Julian Brown <julian@codesourcery.com>
8
9 Merge from Sourcery G++ 4.4:
10
11 gcc/
12 * config/arm/arm.c (arm_override_options): Override alignments if
13 tuning for Cortex-A8.
14
15=== modified file 'gcc/config/arm/unwind-arm.c'
16--- old/gcc/config/arm/unwind-arm.c 2009-10-30 14:55:10 +0000
17+++ new/gcc/config/arm/unwind-arm.c 2010-08-12 12:39:35 +0000
18@@ -1196,8 +1196,6 @@
19 ucbp->barrier_cache.bitpattern[4] = (_uw) &data[1];
20
21 if (data[0] & uint32_highbit)
22- phase2_call_unexpected_after_unwind = 1;
23- else
24 {
25 data += rtti_count + 1;
26 /* Setup for entry to the handler. */
27@@ -1207,6 +1205,8 @@
28 _Unwind_SetGR (context, 0, (_uw) ucbp);
29 return _URC_INSTALL_CONTEXT;
30 }
31+ else
32+ phase2_call_unexpected_after_unwind = 1;
33 }
34 if (data[0] & uint32_highbit)
35 data++;
36
diff --git a/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99338.patch b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99338.patch
new file mode 100644
index 0000000000..632e80caf7
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99338.patch
@@ -0,0 +1,111 @@
1 2009-06-23 Kazu Hirata <kazu@codesourcery.com>
2
3 Issue #4613
4 gcc/
5 * config/arm/arm.c (arm_rtx_costs_1): Teach that the cost of MLS
6 is the same as its underlying multiplication.
7 * config/arm/arm.md (two splitters): New.
8 * config/arm/predicates.md (binary_operator): New.
9
102010-07-26 Julian Brown <julian@codesourcery.com>
11
12 Merge from Sourcery G++ 4.4:
13
14 2008-09-08 Daniel Jacobowitz <dan@codesourcery.com>
15
16 gcc/
17
18=== modified file 'gcc/config/arm/arm.c'
19--- old/gcc/config/arm/arm.c 2010-08-12 11:33:54 +0000
20+++ new/gcc/config/arm/arm.c 2010-08-12 13:35:39 +0000
21@@ -6604,6 +6604,19 @@
22 return true;
23 }
24
25+ /* MLS is just as expensive as its underlying multiplication.
26+ Exclude a shift by a constant, which is expressed as a
27+ multiplication. */
28+ if (TARGET_32BIT && arm_arch_thumb2
29+ && GET_CODE (XEXP (x, 1)) == MULT
30+ && ! (GET_CODE (XEXP (XEXP (x, 1), 1)) == CONST_INT
31+ && ((INTVAL (XEXP (XEXP (x, 1), 1)) &
32+ (INTVAL (XEXP (XEXP (x, 1), 1)) - 1)) == 0)))
33+ {
34+ /* The cost comes from the cost of the multiply. */
35+ return false;
36+ }
37+
38 /* Fall through */
39
40 case PLUS:
41
42=== modified file 'gcc/config/arm/arm.md'
43--- old/gcc/config/arm/arm.md 2010-08-12 11:33:54 +0000
44+++ new/gcc/config/arm/arm.md 2010-08-12 13:35:39 +0000
45@@ -1355,6 +1355,49 @@
46 (set_attr "predicable" "yes")]
47 )
48
49+; The combiner cannot combine the first and last insns in the
50+; following sequence because of the intervening insn, so help the
51+; combiner with this splitter. The combiner does attempt to split
52+; this particular combination but does not know this exact split.
53+; Note that the combiner puts the constant at the outermost operation
54+; as a part of canonicalization.
55+;
56+; mul r3, r2, r1
57+; <add/sub> r3, r3, <constant>
58+; add r3, r3, r4
59+
60+(define_split
61+ [(set (match_operand:SI 0 "s_register_operand" "")
62+ (match_operator:SI 1 "plusminus_operator"
63+ [(plus:SI (mult:SI (match_operand:SI 2 "s_register_operand" "")
64+ (match_operand:SI 3 "s_register_operand" ""))
65+ (match_operand:SI 4 "s_register_operand" ""))
66+ (match_operand:SI 5 "arm_immediate_operand" "")]))]
67+ "TARGET_32BIT"
68+ [(set (match_dup 0)
69+ (plus:SI (mult:SI (match_dup 2) (match_dup 3))
70+ (match_dup 4)))
71+ (set (match_dup 0)
72+ (match_op_dup:SI 1 [(match_dup 0) (match_dup 5)]))]
73+ "")
74+
75+; Likewise for MLS. MLS is available only on select architectures.
76+
77+(define_split
78+ [(set (match_operand:SI 0 "s_register_operand" "")
79+ (match_operator:SI 1 "plusminus_operator"
80+ [(minus:SI (match_operand:SI 2 "s_register_operand" "")
81+ (mult:SI (match_operand:SI 3 "s_register_operand" "")
82+ (match_operand:SI 4 "s_register_operand" "")))
83+ (match_operand:SI 5 "arm_immediate_operand" "")]))]
84+ "TARGET_32BIT && arm_arch_thumb2"
85+ [(set (match_dup 0)
86+ (minus:SI (match_dup 2)
87+ (mult:SI (match_dup 3) (match_dup 4))))
88+ (set (match_dup 0)
89+ (match_op_dup:SI 1 [(match_dup 0) (match_dup 5)]))]
90+ "")
91+
92 (define_insn "*mulsi3addsi_compare0"
93 [(set (reg:CC_NOOV CC_REGNUM)
94 (compare:CC_NOOV
95
96=== modified file 'gcc/config/arm/predicates.md'
97--- old/gcc/config/arm/predicates.md 2010-08-10 13:31:21 +0000
98+++ new/gcc/config/arm/predicates.md 2010-08-12 13:35:39 +0000
99@@ -197,6 +197,11 @@
100 (and (match_code "plus,minus,ior,xor,and")
101 (match_test "mode == GET_MODE (op)")))
102
103+;; True for plus/minus operators
104+(define_special_predicate "plusminus_operator"
105+ (and (match_code "plus,minus")
106+ (match_test "mode == GET_MODE (op)")))
107+
108 ;; True for logical binary operators.
109 (define_special_predicate "logical_binary_operator"
110 (and (match_code "ior,xor,and")
111
diff --git a/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99339.patch b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99339.patch
new file mode 100644
index 0000000000..f4a8e80ab7
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99339.patch
@@ -0,0 +1,236 @@
1 Backport from FSF mainline:
2
3 gcc/
4 * gengtype-lex.l: Add HARD_REG_SET.
5 * expr.c (expand_expr_real_1): Record writes to hard registers.
6 * function.h (rtl_data): Add asm_clobbers.
7 * ira.c (compute_regs_asm_clobbered): Use crtl->asm_clobbers.
8 (ira_setup_eliminable_regset): Remove regs_asm_clobbered.
9 Use crtl->asm_clobbers.
10
11 gcc/testsuite/
12 * gcc.target/arm/frame-pointer-1.c: New test.
13 * gcc.target/i386/pr9771-1.c: Move code out of main to allow frame
14 pointer elimination.
15
162010-07-26 Julian Brown <julian@codesourcery.com>
17
18 Merge from Sourcery G++ 4.4:
19
20 2009-06-23 Kazu Hirata <kazu@codesourcery.com>
21
22=== modified file 'gcc/expr.c'
23--- old/gcc/expr.c 2010-05-31 14:45:06 +0000
24+++ new/gcc/expr.c 2010-08-12 13:51:16 +0000
25@@ -8458,6 +8458,19 @@
26 expand_decl_rtl:
27 gcc_assert (decl_rtl);
28 decl_rtl = copy_rtx (decl_rtl);
29+ /* Record writes to register variables. */
30+ if (modifier == EXPAND_WRITE && REG_P (decl_rtl)
31+ && REGNO (decl_rtl) < FIRST_PSEUDO_REGISTER)
32+ {
33+ int i = REGNO (decl_rtl);
34+ int nregs = hard_regno_nregs[i][GET_MODE (decl_rtl)];
35+ while (nregs)
36+ {
37+ SET_HARD_REG_BIT (crtl->asm_clobbers, i);
38+ i++;
39+ nregs--;
40+ }
41+ }
42
43 /* Ensure variable marked as used even if it doesn't go through
44 a parser. If it hasn't be used yet, write out an external
45
46=== modified file 'gcc/function.h'
47--- old/gcc/function.h 2009-11-25 10:55:54 +0000
48+++ new/gcc/function.h 2010-08-12 13:51:16 +0000
49@@ -25,6 +25,7 @@
50 #include "tree.h"
51 #include "hashtab.h"
52 #include "vecprim.h"
53+#include "hard-reg-set.h"
54
55 /* Stack of pending (incomplete) sequences saved by `start_sequence'.
56 Each element describes one pending sequence.
57@@ -433,6 +434,12 @@
58 TREE_NOTHROW (current_function_decl) it is set even for overwritable
59 function where currently compiled version of it is nothrow. */
60 bool nothrow;
61+
62+ /* Like regs_ever_live, but 1 if a reg is set or clobbered from an
63+ asm. Unlike regs_ever_live, elements of this array corresponding
64+ to eliminable regs (like the frame pointer) are set if an asm
65+ sets them. */
66+ HARD_REG_SET asm_clobbers;
67 };
68
69 #define return_label (crtl->x_return_label)
70
71=== modified file 'gcc/gengtype-lex.l'
72--- old/gcc/gengtype-lex.l 2009-11-21 10:24:25 +0000
73+++ new/gcc/gengtype-lex.l 2010-08-12 13:51:16 +0000
74@@ -49,7 +49,7 @@
75 ID [[:alpha:]_][[:alnum:]_]*
76 WS [[:space:]]+
77 HWS [ \t\r\v\f]*
78-IWORD short|long|(un)?signed|char|int|HOST_WIDE_INT|HOST_WIDEST_INT|bool|size_t|BOOL_BITFIELD|CPPCHAR_SIGNED_T|ino_t|dev_t
79+IWORD short|long|(un)?signed|char|int|HOST_WIDE_INT|HOST_WIDEST_INT|bool|size_t|BOOL_BITFIELD|CPPCHAR_SIGNED_T|ino_t|dev_t|HARD_REG_SET
80 ITYPE {IWORD}({WS}{IWORD})*
81 EOID [^[:alnum:]_]
82
83
84=== modified file 'gcc/ira.c'
85--- old/gcc/ira.c 2010-03-31 01:44:10 +0000
86+++ new/gcc/ira.c 2010-08-12 13:51:16 +0000
87@@ -1385,14 +1385,12 @@
88 return for_each_rtx (&insn, insn_contains_asm_1, NULL);
89 }
90
91-/* Set up regs_asm_clobbered. */
92+/* Add register clobbers from asm statements. */
93 static void
94-compute_regs_asm_clobbered (char *regs_asm_clobbered)
95+compute_regs_asm_clobbered (void)
96 {
97 basic_block bb;
98
99- memset (regs_asm_clobbered, 0, sizeof (char) * FIRST_PSEUDO_REGISTER);
100-
101 FOR_EACH_BB (bb)
102 {
103 rtx insn;
104@@ -1413,7 +1411,7 @@
105 + hard_regno_nregs[dregno][mode] - 1;
106
107 for (i = dregno; i <= end; ++i)
108- regs_asm_clobbered[i] = 1;
109+ SET_HARD_REG_BIT(crtl->asm_clobbers, i);
110 }
111 }
112 }
113@@ -1425,12 +1423,6 @@
114 void
115 ira_setup_eliminable_regset (void)
116 {
117- /* Like regs_ever_live, but 1 if a reg is set or clobbered from an
118- asm. Unlike regs_ever_live, elements of this array corresponding
119- to eliminable regs (like the frame pointer) are set if an asm
120- sets them. */
121- char *regs_asm_clobbered
122- = (char *) alloca (FIRST_PSEUDO_REGISTER * sizeof (char));
123 #ifdef ELIMINABLE_REGS
124 int i;
125 static const struct {const int from, to; } eliminables[] = ELIMINABLE_REGS;
126@@ -1454,7 +1446,8 @@
127 COPY_HARD_REG_SET (ira_no_alloc_regs, no_unit_alloc_regs);
128 CLEAR_HARD_REG_SET (eliminable_regset);
129
130- compute_regs_asm_clobbered (regs_asm_clobbered);
131+ compute_regs_asm_clobbered ();
132+
133 /* Build the regset of all eliminable registers and show we can't
134 use those that we already know won't be eliminated. */
135 #ifdef ELIMINABLE_REGS
136@@ -1464,7 +1457,7 @@
137 = (! targetm.can_eliminate (eliminables[i].from, eliminables[i].to)
138 || (eliminables[i].to == STACK_POINTER_REGNUM && need_fp));
139
140- if (! regs_asm_clobbered[eliminables[i].from])
141+ if (!TEST_HARD_REG_BIT (crtl->asm_clobbers, eliminables[i].from))
142 {
143 SET_HARD_REG_BIT (eliminable_regset, eliminables[i].from);
144
145@@ -1478,7 +1471,7 @@
146 df_set_regs_ever_live (eliminables[i].from, true);
147 }
148 #if FRAME_POINTER_REGNUM != HARD_FRAME_POINTER_REGNUM
149- if (! regs_asm_clobbered[HARD_FRAME_POINTER_REGNUM])
150+ if (!TEST_HARD_REG_BIT (crtl->asm_clobbers, HARD_FRAME_POINTER_REGNUM))
151 {
152 SET_HARD_REG_BIT (eliminable_regset, HARD_FRAME_POINTER_REGNUM);
153 if (need_fp)
154@@ -1492,7 +1485,7 @@
155 #endif
156
157 #else
158- if (! regs_asm_clobbered[FRAME_POINTER_REGNUM])
159+ if (!TEST_HARD_REG_BIT (crtl->asm_clobbers, HARD_FRAME_POINTER_REGNUM))
160 {
161 SET_HARD_REG_BIT (eliminable_regset, FRAME_POINTER_REGNUM);
162 if (need_fp)
163
164=== added file 'gcc/testsuite/gcc.target/arm/frame-pointer-1.c'
165--- old/gcc/testsuite/gcc.target/arm/frame-pointer-1.c 1970-01-01 00:00:00 +0000
166+++ new/gcc/testsuite/gcc.target/arm/frame-pointer-1.c 2010-08-12 13:51:16 +0000
167@@ -0,0 +1,42 @@
168+/* Check local register variables using a register conventionally
169+ used as the frame pointer aren't clobbered under high register pressure. */
170+/* { dg-do run } */
171+/* { dg-options "-Os -mthumb -fomit-frame-pointer" } */
172+
173+#include <stdlib.h>
174+
175+int global=5;
176+
177+void __attribute__((noinline)) foo(int p1, int p2, int p3, int p4)
178+{
179+ if (global != 5 || p1 != 1 || p2 != 2 || p3 != 3 || p4 != 4)
180+ abort();
181+}
182+
183+int __attribute__((noinline)) test(int a, int b, int c, int d)
184+{
185+ register unsigned long r __asm__("r7") = 0xdeadbeef;
186+ int e;
187+
188+ /* ABCD are live after the call which should be enough
189+ to cause r7 to be used if it weren't for the register variable. */
190+ foo(a,b,c,d);
191+
192+ e = 0;
193+ __asm__ __volatile__ ("mov %0, %2"
194+ : "=r" (e)
195+ : "0" (e), "r" (r));
196+
197+ global = a+b+c+d;
198+
199+ return e;
200+}
201+
202+int main()
203+{
204+ if (test(1, 2, 3, 4) != 0xdeadbeef)
205+ abort();
206+ if (global != 10)
207+ abort();
208+ return 0;
209+}
210
211=== modified file 'gcc/testsuite/gcc.target/i386/pr9771-1.c'
212--- old/gcc/testsuite/gcc.target/i386/pr9771-1.c 2007-08-22 08:59:14 +0000
213+++ new/gcc/testsuite/gcc.target/i386/pr9771-1.c 2010-08-12 13:51:16 +0000
214@@ -28,7 +28,10 @@
215 *adr = save;
216 }
217
218-int main()
219+/* This must not be inlined becuase main() requires the frame pointer
220+ for stack alignment. */
221+void test(void) __attribute__((noinline));
222+void test(void)
223 {
224 B = &x;
225
226@@ -42,3 +45,9 @@
227 exit(0);
228 }
229
230+int main()
231+{
232+ test();
233+ return 0;
234+
235+}
236
diff --git a/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99340.patch b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99340.patch
new file mode 100644
index 0000000000..31fa99a2e3
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99340.patch
@@ -0,0 +1,43 @@
1 Merge from Sourcery G++ 4.4:
2
3 2009-08-26 Kazu Hirata <kazu@codesourcery.com>
4
5 Issue #6089
6 gcc/
7 * config/arm/arm.c (arm_rtx_costs_1): Don't special case for
8 Thumb-2 in the MINUS case.
9
102010-07-26 Julian Brown <julian@codesourcery.com>
11
12 Backport from FSF mainline:
13
14 gcc/
15
16=== modified file 'gcc/config/arm/arm.c'
17--- old/gcc/config/arm/arm.c 2010-08-12 13:35:39 +0000
18+++ new/gcc/config/arm/arm.c 2010-08-12 14:08:29 +0000
19@@ -6494,23 +6494,6 @@
20 return true;
21
22 case MINUS:
23- if (TARGET_THUMB2)
24- {
25- if (GET_MODE_CLASS (mode) == MODE_FLOAT)
26- {
27- if (TARGET_HARD_FLOAT && (mode == SFmode || mode == DFmode))
28- *total = COSTS_N_INSNS (1);
29- else
30- *total = COSTS_N_INSNS (20);
31- }
32- else
33- *total = COSTS_N_INSNS (ARM_NUM_REGS (mode));
34- /* Thumb2 does not have RSB, so all arguments must be
35- registers (subtracting a constant is canonicalized as
36- addition of the negated constant). */
37- return false;
38- }
39-
40 if (mode == DImode)
41 {
42 *total = COSTS_N_INSNS (ARM_NUM_REGS (mode));
43
diff --git a/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99341.patch b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99341.patch
new file mode 100644
index 0000000000..d9073123c4
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99341.patch
@@ -0,0 +1,28 @@
1 2009-08-26 Julian Brown <julian@codesourcery.com>
2
3 gcc/config/arm/
4 * uclinux-eabi.h (LINK_GCC_C_SEQUENCE_SPEC): Override definition
5 for uclinux.
6
72010-07-26 Julian Brown <julian@codesourcery.com>
8
9 Merge from Sourcery G++ 4.4:
10
11 2009-08-26 Kazu Hirata <kazu@codesourcery.com>
12
13
14=== modified file 'gcc/config/arm/uclinux-eabi.h'
15--- old/gcc/config/arm/uclinux-eabi.h 2009-02-20 15:20:38 +0000
16+++ new/gcc/config/arm/uclinux-eabi.h 2010-08-12 15:23:21 +0000
17@@ -50,6 +50,10 @@
18 #undef ARM_DEFAULT_ABI
19 #define ARM_DEFAULT_ABI ARM_ABI_AAPCS_LINUX
20
21+#undef LINK_GCC_C_SEQUENCE_SPEC
22+#define LINK_GCC_C_SEQUENCE_SPEC \
23+ "--start-group %G %L --end-group"
24+
25 /* Clear the instruction cache from `beg' to `end'. This makes an
26 inline system call to SYS_cacheflush. */
27 #undef CLEAR_INSN_CACHE
28
diff --git a/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99342.patch b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99342.patch
new file mode 100644
index 0000000000..02db2b4e7e
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99342.patch
@@ -0,0 +1,76 @@
1 2010-05-25 Julian Brown <julian@codesourcery.com>
2
3 gcc/
4 * config/arm/arm.c (arm_tune_cortex_a5): New.
5 (arm_override_options): Set above. Set max_insns_skipped to 1 for
6 Cortex-A5.
7 * config/arm/arm.h (arm_tune_cortex_a5): Add declaration.
8 (BRANCH_COST): Set to zero for Cortex-A5 unless optimising for
9 size.
10
112010-07-26 Julian Brown <julian@codesourcery.com>
12
13 Merge from Sourcery G++ 4.4:
14
15 2009-08-26 Julian Brown <julian@codesourcery.com>
16
17 gcc/config/arm/
18
19=== modified file 'gcc/config/arm/arm.c'
20--- old/gcc/config/arm/arm.c 2010-08-12 14:08:29 +0000
21+++ new/gcc/config/arm/arm.c 2010-08-12 16:18:41 +0000
22@@ -671,6 +671,9 @@
23 This typically means an ARM6 or ARM7 with MMU or MPU. */
24 int arm_tune_wbuf = 0;
25
26+/* Nonzero if tuning for Cortex-A5. */
27+int arm_tune_cortex_a5 = 0;
28+
29 /* Nonzero if tuning for Cortex-A9. */
30 int arm_tune_cortex_a9 = 0;
31
32@@ -1582,6 +1585,7 @@
33 arm_tune_xscale = (tune_flags & FL_XSCALE) != 0;
34 arm_arch_iwmmxt = (insn_flags & FL_IWMMXT) != 0;
35 arm_arch_hwdiv = (insn_flags & FL_DIV) != 0;
36+ arm_tune_cortex_a5 = (arm_tune == cortexa5) != 0;
37 arm_tune_cortex_a9 = (arm_tune == cortexa9) != 0;
38
39 /* If we are not using the default (ARM mode) section anchor offset
40@@ -1880,6 +1884,11 @@
41 that is worth skipping is shorter. */
42 if (arm_tune_strongarm)
43 max_insns_skipped = 3;
44+
45+ /* Branches can be dual-issued on Cortex-A5, so conditional execution is
46+ less appealing. */
47+ if (arm_tune_cortex_a5)
48+ max_insns_skipped = 1;
49 }
50
51 /* Hot/Cold partitioning is not currently supported, since we can't
52
53=== modified file 'gcc/config/arm/arm.h'
54--- old/gcc/config/arm/arm.h 2010-08-05 16:34:46 +0000
55+++ new/gcc/config/arm/arm.h 2010-08-12 16:18:41 +0000
56@@ -435,6 +435,9 @@
57 /* Nonzero if tuning for stores via the write buffer. */
58 extern int arm_tune_wbuf;
59
60+/* Nonzero if tuning for Cortex-A5. */
61+extern int arm_tune_cortex_a5;
62+
63 /* Nonzero if tuning for Cortex-A9. */
64 extern int arm_tune_cortex_a9;
65
66@@ -2222,7 +2225,8 @@
67 /* Try to generate sequences that don't involve branches, we can then use
68 conditional instructions */
69 #define BRANCH_COST(speed_p, predictable_p) \
70- (TARGET_32BIT ? (TARGET_THUMB2 && optimize_size ? 1 : 4) \
71+ (TARGET_32BIT ? ((arm_tune_cortex_a5 && !optimize_size) ? 0 \
72+ : (TARGET_THUMB2 && optimize_size ? 1 : 4)) \
73 : (optimize > 0 ? 2 : 0))
74
75 /* Position Independent Code. */
76
diff --git a/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99343.patch b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99343.patch
new file mode 100644
index 0000000000..86b2d81093
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99343.patch
@@ -0,0 +1,132 @@
1 Backport from FSF mainline:
2
3 gcc/
4 * config/arm/thumb2.md (*thumb2_addsi3_compare0): New.
5 (*thumb2_addsi3_compare0_scratch): New.
6 * config/arm/constraints.md (Pv): New.
7 * config/arm/arm.md (*addsi3_compare0): Remove FIXME comment. Use
8 for ARM mode only.
9 (*addsi3_compare0_scratch): Likewise.
10
112010-07-26 Julian Brown <julian@codesourcery.com>
12
13 Merge from Sourcery G++ 4.4:
14
15 2010-05-25 Julian Brown <julian@codesourcery.com>
16
17=== modified file 'gcc/config/arm/arm.md'
18--- old/gcc/config/arm/arm.md 2010-08-12 13:35:39 +0000
19+++ new/gcc/config/arm/arm.md 2010-08-12 16:47:21 +0000
20@@ -701,7 +701,6 @@
21 ""
22 )
23
24-;; ??? Make Thumb-2 variants which prefer low regs
25 (define_insn "*addsi3_compare0"
26 [(set (reg:CC_NOOV CC_REGNUM)
27 (compare:CC_NOOV
28@@ -710,7 +709,7 @@
29 (const_int 0)))
30 (set (match_operand:SI 0 "s_register_operand" "=r,r")
31 (plus:SI (match_dup 1) (match_dup 2)))]
32- "TARGET_32BIT"
33+ "TARGET_ARM"
34 "@
35 add%.\\t%0, %1, %2
36 sub%.\\t%0, %1, #%n2"
37@@ -723,7 +722,7 @@
38 (plus:SI (match_operand:SI 0 "s_register_operand" "r, r")
39 (match_operand:SI 1 "arm_add_operand" "rI,L"))
40 (const_int 0)))]
41- "TARGET_32BIT"
42+ "TARGET_ARM"
43 "@
44 cmn%?\\t%0, %1
45 cmp%?\\t%0, #%n1"
46
47=== modified file 'gcc/config/arm/constraints.md'
48--- old/gcc/config/arm/constraints.md 2010-07-29 16:58:56 +0000
49+++ new/gcc/config/arm/constraints.md 2010-08-12 16:47:21 +0000
50@@ -31,7 +31,7 @@
51 ;; The following multi-letter normal constraints have been used:
52 ;; in ARM/Thumb-2 state: Da, Db, Dc, Dn, Dl, DL, Dv, Dy, Di
53 ;; in Thumb-1 state: Pa, Pb
54-;; in Thumb-2 state: Ps, Pt
55+;; in Thumb-2 state: Ps, Pt, Pv
56
57 ;; The following memory constraints have been used:
58 ;; in ARM/Thumb-2 state: Q, Ut, Uv, Uy, Un, Um, Us
59@@ -158,6 +158,11 @@
60 (and (match_code "const_int")
61 (match_test "TARGET_THUMB2 && ival >= -7 && ival <= 7")))
62
63+(define_constraint "Pv"
64+ "@internal In Thumb-2 state a constant in the range -255 to 0"
65+ (and (match_code "const_int")
66+ (match_test "TARGET_THUMB2 && ival >= -255 && ival <= 0")))
67+
68 (define_constraint "G"
69 "In ARM/Thumb-2 state a valid FPA immediate constant."
70 (and (match_code "const_double")
71
72=== modified file 'gcc/config/arm/thumb2.md'
73--- old/gcc/config/arm/thumb2.md 2010-08-05 16:34:46 +0000
74+++ new/gcc/config/arm/thumb2.md 2010-08-12 16:47:21 +0000
75@@ -1241,6 +1241,56 @@
76 (set_attr "length" "2")]
77 )
78
79+(define_insn "*thumb2_addsi3_compare0"
80+ [(set (reg:CC_NOOV CC_REGNUM)
81+ (compare:CC_NOOV
82+ (plus:SI (match_operand:SI 1 "s_register_operand" "l, 0, r")
83+ (match_operand:SI 2 "arm_add_operand" "lPt,Ps,rIL"))
84+ (const_int 0)))
85+ (set (match_operand:SI 0 "s_register_operand" "=l,l,r")
86+ (plus:SI (match_dup 1) (match_dup 2)))]
87+ "TARGET_THUMB2"
88+ "*
89+ HOST_WIDE_INT val;
90+
91+ if (GET_CODE (operands[2]) == CONST_INT)
92+ val = INTVAL (operands[2]);
93+ else
94+ val = 0;
95+
96+ if (val < 0 && const_ok_for_arm (ARM_SIGN_EXTEND (-val)))
97+ return \"subs\\t%0, %1, #%n2\";
98+ else
99+ return \"adds\\t%0, %1, %2\";
100+ "
101+ [(set_attr "conds" "set")
102+ (set_attr "length" "2,2,4")]
103+)
104+
105+(define_insn "*thumb2_addsi3_compare0_scratch"
106+ [(set (reg:CC_NOOV CC_REGNUM)
107+ (compare:CC_NOOV
108+ (plus:SI (match_operand:SI 0 "s_register_operand" "l, r")
109+ (match_operand:SI 1 "arm_add_operand" "lPv,rIL"))
110+ (const_int 0)))]
111+ "TARGET_THUMB2"
112+ "*
113+ HOST_WIDE_INT val;
114+
115+ if (GET_CODE (operands[1]) == CONST_INT)
116+ val = INTVAL (operands[1]);
117+ else
118+ val = 0;
119+
120+ if (val < 0 && const_ok_for_arm (ARM_SIGN_EXTEND (-val)))
121+ return \"cmp\\t%0, #%n1\";
122+ else
123+ return \"cmn\\t%0, %1\";
124+ "
125+ [(set_attr "conds" "set")
126+ (set_attr "length" "2,4")]
127+)
128+
129 ;; 16-bit encodings of "muls" and "mul<c>". We only use these when
130 ;; optimizing for size since "muls" is slow on all known
131 ;; implementations and since "mul<c>" will be generated by
132
diff --git a/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99344.patch b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99344.patch
new file mode 100644
index 0000000000..d03ee9406e
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99344.patch
@@ -0,0 +1,30 @@
1 2010-02-03 Daniel Gutson <dgutson@codesourcery.com>
2
3 Issue #6472
4
5 gcc/
6 * config/arm/lib1funcs.asm (__ARM_ARCH__): __ARM_ARCH_7EM__
7 added to the preprocessor condition.
8
92010-07-26 Julian Brown <julian@codesourcery.com>
10
11 Backport from FSF mainline:
12
13 gcc/
14 * config/arm/thumb2.md (*thumb2_addsi3_compare0): New.
15 (*thumb2_addsi3_compare0_scratch): New.
16
17=== modified file 'gcc/config/arm/lib1funcs.asm'
18--- old/gcc/config/arm/lib1funcs.asm 2010-08-05 15:20:54 +0000
19+++ new/gcc/config/arm/lib1funcs.asm 2010-08-12 16:49:44 +0000
20@@ -104,7 +104,8 @@
21 #endif
22
23 #if defined(__ARM_ARCH_7__) || defined(__ARM_ARCH_7A__) \
24- || defined(__ARM_ARCH_7R__) || defined(__ARM_ARCH_7M__)
25+ || defined(__ARM_ARCH_7R__) || defined(__ARM_ARCH_7M__) \
26+ || defined(__ARM_ARCH_7EM__)
27 # define __ARM_ARCH__ 7
28 #endif
29
30
diff --git a/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99345.patch b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99345.patch
new file mode 100644
index 0000000000..757e66c8b4
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99345.patch
@@ -0,0 +1,30 @@
1 Merge from Sourcery G++ 4.4:
2
3 2010-02-04 Daniel Jacobowitz <dan@codesourcery.com>
4
5 Issue #7197 - backtrace() through throw()
6
7 libstdc++-v3/
8 * libsupc++/eh_personality.cc (PERSONALITY_FUNCTION): For
9 ARM EABI, skip handlers for _US_VIRTUAL_UNWIND_FRAME
10 | _US_FORCE_UNWIND.
11
122010-07-26 Julian Brown <julian@codesourcery.com>
13
14 Backport from FSF mainline:
15
16 2010-02-03 Daniel Gutson <dgutson@codesourcery.com>
17
18=== modified file 'libstdc++-v3/libsupc++/eh_personality.cc'
19--- old/libstdc++-v3/libsupc++/eh_personality.cc 2010-02-17 05:43:24 +0000
20+++ new/libstdc++-v3/libsupc++/eh_personality.cc 2010-08-12 16:53:10 +0000
21@@ -383,6 +383,8 @@
22 switch (state & _US_ACTION_MASK)
23 {
24 case _US_VIRTUAL_UNWIND_FRAME:
25+ if (state & _US_FORCE_UNWIND)
26+ CONTINUE_UNWINDING;
27 actions = _UA_SEARCH_PHASE;
28 break;
29
30
diff --git a/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99346.patch b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99346.patch
new file mode 100644
index 0000000000..4807195158
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99346.patch
@@ -0,0 +1,170 @@
1 Backport from FSF mainline:
2
3 Julian Brown <julian@codesourcery.com>
4 Mark Mitchell <mark@codesourcery.com>
5
6 gcc/
7 * config/arm/arm.c (arm_function_ok_for_sibcall): Only forbid
8 sibling calls for Thumb-1.
9 * config/arm/arm.h (USE_RETURN_INSN): Enable for Thumb-2.
10 * config/arm/arm.md (*call_symbol, *call_value_symbol): Use for
11 Thumb-2.
12 (*call_insn, *call_value_insn): Don't use for Thumb-2.
13 (sibcall, sibcall_value, *sibcall_insn, *sibcall_value_insn): Use
14 for Thumb-2.
15 (return): New expander.
16 (*arm_return): New name for ARM return insn.
17 * config/arm/thumb2.md (*thumb2_return): New insn pattern.
18
192010-07-26 Julian Brown <julian@codesourcery.com>
20
21 Merge from Sourcery G++ 4.4:
22
23 2010-02-04 Daniel Jacobowitz <dan@codesourcery.com>
24
25=== modified file 'gcc/config/arm/arm.c'
26--- old/gcc/config/arm/arm.c 2010-08-12 16:18:41 +0000
27+++ new/gcc/config/arm/arm.c 2010-08-13 10:30:35 +0000
28@@ -4886,8 +4886,8 @@
29 return false;
30
31 /* Never tailcall something for which we have no decl, or if we
32- are in Thumb mode. */
33- if (decl == NULL || TARGET_THUMB)
34+ are generating code for Thumb-1. */
35+ if (decl == NULL || TARGET_THUMB1)
36 return false;
37
38 /* The PIC register is live on entry to VxWorks PLT entries, so we
39
40=== modified file 'gcc/config/arm/arm.h'
41--- old/gcc/config/arm/arm.h 2010-08-12 16:18:41 +0000
42+++ new/gcc/config/arm/arm.h 2010-08-13 10:30:35 +0000
43@@ -1833,11 +1833,8 @@
44
45 /* Determine if the epilogue should be output as RTL.
46 You should override this if you define FUNCTION_EXTRA_EPILOGUE. */
47-/* This is disabled for Thumb-2 because it will confuse the
48- conditional insn counter.
49- Do not use a return insn if we're avoiding ldm/stm instructions. */
50 #define USE_RETURN_INSN(ISCOND) \
51- ((TARGET_ARM && !low_irq_latency) ? use_return_insn (ISCOND, NULL) : 0)
52+ ((TARGET_32BIT && !low_irq_latency) ? use_return_insn (ISCOND, NULL) : 0)
53
54 /* Definitions for register eliminations.
55
56
57=== modified file 'gcc/config/arm/arm.md'
58--- old/gcc/config/arm/arm.md 2010-08-12 16:47:21 +0000
59+++ new/gcc/config/arm/arm.md 2010-08-13 10:30:35 +0000
60@@ -8798,7 +8798,7 @@
61 (match_operand 1 "" ""))
62 (use (match_operand 2 "" ""))
63 (clobber (reg:SI LR_REGNUM))]
64- "TARGET_ARM
65+ "TARGET_32BIT
66 && (GET_CODE (operands[0]) == SYMBOL_REF)
67 && !arm_is_long_call_p (SYMBOL_REF_DECL (operands[0]))"
68 "*
69@@ -8814,7 +8814,7 @@
70 (match_operand:SI 2 "" "")))
71 (use (match_operand 3 "" ""))
72 (clobber (reg:SI LR_REGNUM))]
73- "TARGET_ARM
74+ "TARGET_32BIT
75 && (GET_CODE (operands[1]) == SYMBOL_REF)
76 && !arm_is_long_call_p (SYMBOL_REF_DECL (operands[1]))"
77 "*
78@@ -8829,7 +8829,7 @@
79 (match_operand:SI 1 "" ""))
80 (use (match_operand 2 "" ""))
81 (clobber (reg:SI LR_REGNUM))]
82- "TARGET_THUMB
83+ "TARGET_THUMB1
84 && GET_CODE (operands[0]) == SYMBOL_REF
85 && !arm_is_long_call_p (SYMBOL_REF_DECL (operands[0]))"
86 "bl\\t%a0"
87@@ -8843,7 +8843,7 @@
88 (match_operand 2 "" "")))
89 (use (match_operand 3 "" ""))
90 (clobber (reg:SI LR_REGNUM))]
91- "TARGET_THUMB
92+ "TARGET_THUMB1
93 && GET_CODE (operands[1]) == SYMBOL_REF
94 && !arm_is_long_call_p (SYMBOL_REF_DECL (operands[1]))"
95 "bl\\t%a1"
96@@ -8857,7 +8857,7 @@
97 (match_operand 1 "general_operand" ""))
98 (return)
99 (use (match_operand 2 "" ""))])]
100- "TARGET_ARM"
101+ "TARGET_32BIT"
102 "
103 {
104 if (operands[2] == NULL_RTX)
105@@ -8871,7 +8871,7 @@
106 (match_operand 2 "general_operand" "")))
107 (return)
108 (use (match_operand 3 "" ""))])]
109- "TARGET_ARM"
110+ "TARGET_32BIT"
111 "
112 {
113 if (operands[3] == NULL_RTX)
114@@ -8884,7 +8884,7 @@
115 (match_operand 1 "" ""))
116 (return)
117 (use (match_operand 2 "" ""))]
118- "TARGET_ARM && GET_CODE (operands[0]) == SYMBOL_REF"
119+ "TARGET_32BIT && GET_CODE (operands[0]) == SYMBOL_REF"
120 "*
121 return NEED_PLT_RELOC ? \"b%?\\t%a0(PLT)\" : \"b%?\\t%a0\";
122 "
123@@ -8897,15 +8897,20 @@
124 (match_operand 2 "" "")))
125 (return)
126 (use (match_operand 3 "" ""))]
127- "TARGET_ARM && GET_CODE (operands[1]) == SYMBOL_REF"
128+ "TARGET_32BIT && GET_CODE (operands[1]) == SYMBOL_REF"
129 "*
130 return NEED_PLT_RELOC ? \"b%?\\t%a1(PLT)\" : \"b%?\\t%a1\";
131 "
132 [(set_attr "type" "call")]
133 )
134
135+(define_expand "return"
136+ [(return)]
137+ "TARGET_32BIT && USE_RETURN_INSN (FALSE)"
138+ "")
139+
140 ;; Often the return insn will be the same as loading from memory, so set attr
141-(define_insn "return"
142+(define_insn "*arm_return"
143 [(return)]
144 "TARGET_ARM && USE_RETURN_INSN (FALSE)"
145 "*
146
147=== modified file 'gcc/config/arm/thumb2.md'
148--- old/gcc/config/arm/thumb2.md 2010-08-12 16:47:21 +0000
149+++ new/gcc/config/arm/thumb2.md 2010-08-13 10:30:35 +0000
150@@ -1054,6 +1054,19 @@
151 (set_attr "length" "20")]
152 )
153
154+;; Note: this is not predicable, to avoid issues with linker-generated
155+;; interworking stubs.
156+(define_insn "*thumb2_return"
157+ [(return)]
158+ "TARGET_THUMB2 && USE_RETURN_INSN (FALSE)"
159+ "*
160+ {
161+ return output_return_instruction (const_true_rtx, TRUE, FALSE);
162+ }"
163+ [(set_attr "type" "load1")
164+ (set_attr "length" "12")]
165+)
166+
167 (define_insn_and_split "thumb2_eh_return"
168 [(unspec_volatile [(match_operand:SI 0 "s_register_operand" "r")]
169 VUNSPEC_EH_RETURN)
170
diff --git a/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99347.patch b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99347.patch
new file mode 100644
index 0000000000..57b8605e55
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99347.patch
@@ -0,0 +1,83 @@
1 Merge from Sourcery G++ 4.4:
2
3 2010-02-15 Julian Brown <julian@codesourcery.com>
4
5 Issue #7486
6
7 gcc/
8 * config/arm/arm.c (arm_libcall_uses_aapcs_base)
9 (arm_init_cumulative_args): Use correct ABI for double-precision
10 helper functions in hard-float mode if only single-precision
11 arithmetic is supported in hardware.
12
132010-07-26 Julian Brown <julian@codesourcery.com>
14
15 Backport from FSF mainline:
16
17 Julian Brown <julian@codesourcery.com>
18
19=== modified file 'gcc/config/arm/arm.c'
20--- old/gcc/config/arm/arm.c 2010-08-13 10:30:35 +0000
21+++ new/gcc/config/arm/arm.c 2010-08-13 10:43:42 +0000
22@@ -3453,6 +3453,28 @@
23 convert_optab_libfunc (sfix_optab, DImode, SFmode));
24 add_libcall (libcall_htab,
25 convert_optab_libfunc (ufix_optab, DImode, SFmode));
26+
27+ /* Values from double-precision helper functions are returned in core
28+ registers if the selected core only supports single-precision
29+ arithmetic, even if we are using the hard-float ABI. */
30+ if (TARGET_VFP)
31+ {
32+ add_libcall (libcall_htab, optab_libfunc (add_optab, DFmode));
33+ add_libcall (libcall_htab, optab_libfunc (sdiv_optab, DFmode));
34+ add_libcall (libcall_htab, optab_libfunc (smul_optab, DFmode));
35+ add_libcall (libcall_htab, optab_libfunc (neg_optab, DFmode));
36+ add_libcall (libcall_htab, optab_libfunc (sub_optab, DFmode));
37+ add_libcall (libcall_htab, optab_libfunc (eq_optab, DFmode));
38+ add_libcall (libcall_htab, optab_libfunc (lt_optab, DFmode));
39+ add_libcall (libcall_htab, optab_libfunc (le_optab, DFmode));
40+ add_libcall (libcall_htab, optab_libfunc (ge_optab, DFmode));
41+ add_libcall (libcall_htab, optab_libfunc (gt_optab, DFmode));
42+ add_libcall (libcall_htab, optab_libfunc (unord_optab, DFmode));
43+ add_libcall (libcall_htab,
44+ convert_optab_libfunc (sext_optab, DFmode, SFmode));
45+ add_libcall (libcall_htab,
46+ convert_optab_libfunc (trunc_optab, SFmode, DFmode));
47+ }
48 }
49
50 return libcall && htab_find (libcall_htab, libcall) != NULL;
51@@ -4406,6 +4428,31 @@
52 if (arm_libcall_uses_aapcs_base (libname))
53 pcum->pcs_variant = ARM_PCS_AAPCS;
54
55+ /* We must pass arguments to double-precision helper functions in core
56+ registers if we only have hardware support for single-precision
57+ arithmetic, even if we are using the hard-float ABI. */
58+ if (TARGET_VFP
59+ && (rtx_equal_p (libname, optab_libfunc (add_optab, DFmode))
60+ || rtx_equal_p (libname, optab_libfunc (sdiv_optab, DFmode))
61+ || rtx_equal_p (libname, optab_libfunc (smul_optab, DFmode))
62+ || rtx_equal_p (libname, optab_libfunc (neg_optab, DFmode))
63+ || rtx_equal_p (libname, optab_libfunc (sub_optab, DFmode))
64+ || rtx_equal_p (libname, optab_libfunc (eq_optab, DFmode))
65+ || rtx_equal_p (libname, optab_libfunc (lt_optab, DFmode))
66+ || rtx_equal_p (libname, optab_libfunc (le_optab, DFmode))
67+ || rtx_equal_p (libname, optab_libfunc (ge_optab, DFmode))
68+ || rtx_equal_p (libname, optab_libfunc (gt_optab, DFmode))
69+ || rtx_equal_p (libname, optab_libfunc (unord_optab, DFmode))
70+ || rtx_equal_p (libname, convert_optab_libfunc (sext_optab,
71+ DFmode, SFmode))
72+ || rtx_equal_p (libname, convert_optab_libfunc (trunc_optab,
73+ SFmode, DFmode))
74+ || rtx_equal_p (libname, convert_optab_libfunc (sfix_optab,
75+ SImode, DFmode))
76+ || rtx_equal_p (libname, convert_optab_libfunc (ufix_optab,
77+ SImode, DFmode))))
78+ pcum->pcs_variant = ARM_PCS_AAPCS;
79+
80 pcum->aapcs_ncrn = pcum->aapcs_next_ncrn = 0;
81 pcum->aapcs_reg = NULL_RTX;
82 pcum->aapcs_partial = 0;
83
diff --git a/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99348.patch b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99348.patch
new file mode 100644
index 0000000000..f99938a7f1
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99348.patch
@@ -0,0 +1,37 @@
1 2010-02-23 Julian Brown <julian@codesourcery.com>
2
3 gcc/
4 * calls.c (precompute_register_parameters): Avoid generating a
5 register move if optimizing for size.
6
72010-07-26 Julian Brown <julian@codesourcery.com>
8
9 Merge from Sourcery G++ 4.4:
10
11 2010-02-15 Julian Brown <julian@codesourcery.com>
12
13 Issue #7486
14
15=== modified file 'gcc/calls.c'
16--- old/gcc/calls.c 2010-04-02 18:54:46 +0000
17+++ new/gcc/calls.c 2010-08-13 10:50:45 +0000
18@@ -703,7 +703,9 @@
19
20 For small register classes, also do this if this call uses
21 register parameters. This is to avoid reload conflicts while
22- loading the parameters registers. */
23+ loading the parameters registers.
24+
25+ Avoid creating the extra move if optimizing for size. */
26
27 else if ((! (REG_P (args[i].value)
28 || (GET_CODE (args[i].value) == SUBREG
29@@ -711,6 +713,7 @@
30 && args[i].mode != BLKmode
31 && rtx_cost (args[i].value, SET, optimize_insn_for_speed_p ())
32 > COSTS_N_INSNS (1)
33+ && !optimize_size
34 && ((SMALL_REGISTER_CLASSES && *reg_parm_seen)
35 || optimize))
36 args[i].value = copy_to_mode_reg (args[i].mode, args[i].value);
37
diff --git a/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99349.patch b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99349.patch
new file mode 100644
index 0000000000..a95b649e43
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99349.patch
@@ -0,0 +1,401 @@
1 * config/arm/arm.c (thumb2_size_rtx_costs): New.
2 (arm_rtx_costs): Call above for Thumb-2.
3
42010-07-26 Julian Brown <julian@codesourcery.com>
5
6 Merge from Sourcery G++ 4.4:
7
8 2010-02-23 Julian Brown <julian@codesourcery.com>
9
10 gcc/
11 * calls.c (precompute_register_parameters): Avoid generating a
12 register move if optimizing for size.
13
14
15=== modified file 'gcc/config/arm/arm.c'
16--- old/gcc/config/arm/arm.c 2010-08-13 10:43:42 +0000
17+++ new/gcc/config/arm/arm.c 2010-08-13 10:55:28 +0000
18@@ -141,6 +141,7 @@
19 static bool arm_have_conditional_execution (void);
20 static bool arm_rtx_costs_1 (rtx, enum rtx_code, int*, bool);
21 static bool arm_size_rtx_costs (rtx, enum rtx_code, enum rtx_code, int *);
22+static bool thumb2_size_rtx_costs (rtx, enum rtx_code, enum rtx_code, int *);
23 static bool arm_slowmul_rtx_costs (rtx, enum rtx_code, enum rtx_code, int *, bool);
24 static bool arm_fastmul_rtx_costs (rtx, enum rtx_code, enum rtx_code, int *, bool);
25 static bool arm_xscale_rtx_costs (rtx, enum rtx_code, enum rtx_code, int *, bool);
26@@ -7316,14 +7317,372 @@
27 }
28 }
29
30+static bool
31+thumb2_size_rtx_costs (rtx x, enum rtx_code code, enum rtx_code outer_code,
32+ int *total)
33+{
34+ /* Attempt to give a lower cost to RTXs which can optimistically be
35+ represented as short insns, assuming that the right conditions will hold
36+ later (e.g. low registers will be chosen if a short insn requires them).
37+
38+ Note that we don't make wide insns cost twice as much as narrow insns,
39+ because we can't prove that a particular RTX will actually use a narrow
40+ insn, because not enough information is available (e.g., we don't know
41+ which hard registers pseudos will be assigned). Consider these to be
42+ "expected" sizes/weightings.
43+
44+ (COSTS_NARROW_INSNS has the same weight as COSTS_N_INSNS.) */
45+
46+#define COSTS_NARROW_INSNS(N) ((N) * 4)
47+#define COSTS_WIDE_INSNS(N) ((N) * 6)
48+#define THUMB2_LIBCALL_COST COSTS_WIDE_INSNS (2)
49+ enum machine_mode mode = GET_MODE (x);
50+
51+ switch (code)
52+ {
53+ case MEM:
54+ if (REG_P (XEXP (x, 0)))
55+ {
56+ /* Hopefully this will use a narrow ldm/stm insn. */
57+ *total = COSTS_NARROW_INSNS (1);
58+ return true;
59+ }
60+ else if ((GET_CODE (XEXP (x, 0)) == SYMBOL_REF
61+ && CONSTANT_POOL_ADDRESS_P (XEXP (x, 0)))
62+ || reg_mentioned_p (virtual_stack_vars_rtx, XEXP (x, 0))
63+ || reg_mentioned_p (stack_pointer_rtx, XEXP (x, 0)))
64+ {
65+ *total = COSTS_NARROW_INSNS (ARM_NUM_REGS (mode));
66+ return true;
67+ }
68+ else if (GET_CODE (XEXP (x, 0)) == PLUS)
69+ {
70+ rtx plus = XEXP (x, 0);
71+
72+ if (GET_CODE (XEXP (plus, 1)) == CONST_INT)
73+ {
74+ HOST_WIDE_INT cst = INTVAL (XEXP (plus, 1));
75+
76+ if (cst >= 0 && cst < 256)
77+ *total = COSTS_NARROW_INSNS (ARM_NUM_REGS (mode));
78+ else
79+ *total = COSTS_WIDE_INSNS (ARM_NUM_REGS (mode));
80+
81+ *total += rtx_cost (XEXP (plus, 0), code, false);
82+
83+ return true;
84+ }
85+ }
86+
87+ *total = COSTS_NARROW_INSNS (ARM_NUM_REGS (mode));
88+ return false;
89+
90+ case DIV:
91+ case MOD:
92+ case UDIV:
93+ case UMOD:
94+ if (arm_arch_hwdiv)
95+ *total = COSTS_WIDE_INSNS (1);
96+ else
97+ *total = THUMB2_LIBCALL_COST;
98+ return false;
99+
100+ case ROTATE:
101+ if (mode == SImode && REG_P (XEXP (x, 1)))
102+ {
103+ *total = COSTS_WIDE_INSNS (1) + COSTS_NARROW_INSNS (1)
104+ + rtx_cost (XEXP (x, 0), code, false);
105+ return true;
106+ }
107+ /* Fall through */
108+
109+ case ASHIFT:
110+ case LSHIFTRT:
111+ case ASHIFTRT:
112+ if (mode == DImode && GET_CODE (XEXP (x, 1)) == CONST_INT)
113+ {
114+ *total = COSTS_WIDE_INSNS (3) + rtx_cost (XEXP (x, 0), code, false);
115+ return true;
116+ }
117+ else if (mode == SImode)
118+ {
119+ *total = COSTS_NARROW_INSNS (1);
120+ return false;
121+ }
122+
123+ /* Needs a libcall. */
124+ *total = THUMB2_LIBCALL_COST;
125+ return false;
126+
127+ case ROTATERT:
128+ if (mode == DImode && GET_CODE (XEXP (x, 1)) == CONST_INT)
129+ {
130+ *total = COSTS_WIDE_INSNS (3) + rtx_cost (XEXP (x, 0), code, false);
131+ return true;
132+ }
133+ else if (mode == SImode)
134+ {
135+ if (GET_CODE (XEXP (x, 1)) == CONST_INT)
136+ *total = COSTS_WIDE_INSNS (1) + rtx_cost (XEXP (x, 0), code, false);
137+ else
138+ *total = COSTS_NARROW_INSNS (1)
139+ + rtx_cost (XEXP (x, 0), code, false);
140+ return true;
141+ }
142+
143+ /* Needs a libcall. */
144+ *total = THUMB2_LIBCALL_COST;
145+ return false;
146+
147+ case MINUS:
148+ if (TARGET_HARD_FLOAT && GET_MODE_CLASS (mode) == MODE_FLOAT
149+ && (mode == SFmode || !TARGET_VFP_SINGLE))
150+ {
151+ *total = COSTS_WIDE_INSNS (1);
152+ return false;
153+ }
154+
155+ if (mode == SImode)
156+ {
157+ enum rtx_code subcode0 = GET_CODE (XEXP (x, 0));
158+ enum rtx_code subcode1 = GET_CODE (XEXP (x, 1));
159+
160+ if (subcode0 == ROTATE || subcode0 == ROTATERT || subcode0 == ASHIFT
161+ || subcode0 == LSHIFTRT || subcode0 == ASHIFTRT
162+ || subcode1 == ROTATE || subcode1 == ROTATERT
163+ || subcode1 == ASHIFT || subcode1 == LSHIFTRT
164+ || subcode1 == ASHIFTRT)
165+ {
166+ /* It's just the cost of the two operands. */
167+ *total = 0;
168+ return false;
169+ }
170+
171+ if (subcode1 == CONST_INT)
172+ {
173+ HOST_WIDE_INT cst = INTVAL (XEXP (x, 1));
174+
175+ if (cst >= 0 && cst < 256)
176+ *total = COSTS_NARROW_INSNS (1);
177+ else
178+ *total = COSTS_WIDE_INSNS (1);
179+
180+ *total += rtx_cost (XEXP (x, 0), code, false);
181+
182+ return true;
183+ }
184+
185+ *total = COSTS_NARROW_INSNS (1);
186+ return false;
187+ }
188+
189+ *total = COSTS_WIDE_INSNS (ARM_NUM_REGS (mode));
190+ return false;
191+
192+ case PLUS:
193+ if (TARGET_HARD_FLOAT && GET_MODE_CLASS (mode) == MODE_FLOAT
194+ && (mode == SFmode || !TARGET_VFP_SINGLE))
195+ {
196+ *total = COSTS_WIDE_INSNS (1);
197+ return false;
198+ }
199+
200+ /* Fall through */
201+ case AND: case XOR: case IOR:
202+ if (mode == SImode)
203+ {
204+ enum rtx_code subcode = GET_CODE (XEXP (x, 0));
205+
206+ if (subcode == ROTATE || subcode == ROTATERT || subcode == ASHIFT
207+ || subcode == LSHIFTRT || subcode == ASHIFTRT
208+ || (code == AND && subcode == NOT))
209+ {
210+ /* It's just the cost of the two operands. */
211+ *total = 0;
212+ return false;
213+ }
214+
215+ if (code == PLUS && GET_CODE (XEXP (x, 1)) == CONST_INT)
216+ {
217+ HOST_WIDE_INT cst = INTVAL (XEXP (x, 1));
218+
219+ if ((reg_mentioned_p (virtual_stack_vars_rtx, XEXP (x, 0))
220+ || reg_mentioned_p (stack_pointer_rtx, XEXP (x, 0)))
221+ && cst > -512 && cst < 1024)
222+ /* Only approximately correct, depending on destination
223+ register. */
224+ *total = COSTS_NARROW_INSNS (1);
225+ else if (cst > -256 && cst < 256)
226+ *total = COSTS_NARROW_INSNS (1);
227+ else
228+ *total = COSTS_WIDE_INSNS (1);
229+
230+ *total += rtx_cost (XEXP (x, 0), code, false);
231+
232+ return true;
233+ }
234+
235+ if (subcode == MULT
236+ && power_of_two_operand (XEXP (XEXP (x, 0), 1), mode))
237+ {
238+ *total = COSTS_WIDE_INSNS (1)
239+ + rtx_cost (XEXP (x, 1), code, false);
240+ return true;
241+ }
242+ }
243+
244+ *total = COSTS_NARROW_INSNS (ARM_NUM_REGS (mode));
245+ return false;
246+
247+ case MULT:
248+ if (mode == SImode && GET_CODE (XEXP (x, 1)) != CONST_INT)
249+ {
250+ /* Might be using muls. */
251+ *total = COSTS_NARROW_INSNS (1);
252+ return false;
253+ }
254+ *total = COSTS_WIDE_INSNS (ARM_NUM_REGS (mode));
255+ return false;
256+
257+ case NEG:
258+ if (TARGET_HARD_FLOAT && GET_MODE_CLASS (mode) == MODE_FLOAT
259+ && (mode == SFmode || !TARGET_VFP_SINGLE))
260+ {
261+ *total = COSTS_WIDE_INSNS (1);
262+ return false;
263+ }
264+
265+ /* Fall through */
266+ case NOT:
267+ if (mode == SImode)
268+ {
269+ *total = COSTS_NARROW_INSNS (1);
270+ return false;
271+ }
272+ *total = COSTS_WIDE_INSNS (ARM_NUM_REGS (mode));
273+ return false;
274+
275+ case IF_THEN_ELSE:
276+ *total = COSTS_NARROW_INSNS (1);
277+ return false;
278+
279+ case COMPARE:
280+ if (cc_register (XEXP (x, 0), VOIDmode))
281+ *total = 0;
282+ else
283+ *total = COSTS_NARROW_INSNS (1);
284+ return false;
285+
286+ case ABS:
287+ if (TARGET_HARD_FLOAT && GET_MODE_CLASS (mode) == MODE_FLOAT
288+ && (mode == SFmode || !TARGET_VFP_SINGLE))
289+ *total = COSTS_WIDE_INSNS (1);
290+ else
291+ *total = COSTS_NARROW_INSNS (ARM_NUM_REGS (mode)) * 2;
292+ return false;
293+
294+ case SIGN_EXTEND:
295+ if (GET_MODE_SIZE (mode) <= 4)
296+ *total = GET_CODE (XEXP (x, 0)) == MEM ? 0 : COSTS_NARROW_INSNS (1);
297+ else
298+ *total = COSTS_NARROW_INSNS (1)
299+ + COSTS_WIDE_INSNS (ARM_NUM_REGS (mode));
300+ return false;
301+
302+ case ZERO_EXTEND:
303+ if (GET_MODE_SIZE (mode) > 4)
304+ *total = COSTS_WIDE_INSNS (ARM_NUM_REGS (mode) - 1);
305+ else if (GET_CODE (XEXP (x, 0)) == MEM)
306+ *total = 0;
307+ else
308+ *total = COSTS_NARROW_INSNS (1);
309+ return false;
310+
311+ case CONST_INT:
312+ {
313+ HOST_WIDE_INT cst = INTVAL (x);
314+
315+ switch (outer_code)
316+ {
317+ case PLUS:
318+ if (cst > -256 && cst < 256)
319+ *total = 0;
320+ else
321+ /* See note about optabs below. */
322+ *total = COSTS_N_INSNS (1);
323+ return true;
324+
325+ case MINUS:
326+ case COMPARE:
327+ if (cst >= 0 && cst < 256)
328+ *total = 0;
329+ else
330+ /* See note about optabs below. */
331+ *total = COSTS_N_INSNS (1);
332+ return true;
333+
334+ case ASHIFT:
335+ case ASHIFTRT:
336+ case LSHIFTRT:
337+ *total = 0;
338+ return true;
339+
340+ default:
341+ /* Constants are compared explicitly against COSTS_N_INSNS (1) in
342+ optabs.c, creating an alternative, larger code sequence for more
343+ expensive constants). So, it doesn't pay to make some constants
344+ cost more than this. */
345+ *total = COSTS_N_INSNS (1);
346+ }
347+ return true;
348+ }
349+
350+ case CONST:
351+ case LABEL_REF:
352+ case SYMBOL_REF:
353+ *total = COSTS_WIDE_INSNS (2);
354+ return true;
355+
356+ case CONST_DOUBLE:
357+ *total = COSTS_WIDE_INSNS (4);
358+ return true;
359+
360+ case HIGH:
361+ case LO_SUM:
362+ /* We prefer constant pool entries to MOVW/MOVT pairs, so bump the
363+ cost of these slightly. */
364+ *total = COSTS_WIDE_INSNS (1) + 1;
365+ return true;
366+
367+ default:
368+ if (mode != VOIDmode)
369+ *total = COSTS_WIDE_INSNS (ARM_NUM_REGS (mode));
370+ else
371+ /* A guess (inherited from arm_size_rtx_costs). */
372+ *total = COSTS_WIDE_INSNS (4);
373+ return false;
374+ }
375+
376+ return true;
377+#undef THUMB2_LIBCALL_COST
378+#undef COSTS_WIDE_INSNS
379+#undef COSTS_NARROW_INSNS
380+}
381+
382 /* RTX costs when optimizing for size. */
383 static bool
384 arm_rtx_costs (rtx x, int code, int outer_code, int *total,
385 bool speed)
386 {
387 if (!speed)
388- return arm_size_rtx_costs (x, (enum rtx_code) code,
389- (enum rtx_code) outer_code, total);
390+ {
391+ if (TARGET_THUMB2)
392+ return thumb2_size_rtx_costs (x, (enum rtx_code) code,
393+ (enum rtx_code) outer_code, total);
394+ else
395+ return arm_size_rtx_costs (x, (enum rtx_code) code,
396+ (enum rtx_code) outer_code, total);
397+ }
398 else
399 return all_cores[(int)arm_tune].rtx_costs (x, (enum rtx_code) code,
400 (enum rtx_code) outer_code,
401
diff --git a/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99350.patch b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99350.patch
new file mode 100644
index 0000000000..3f66f9d157
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99350.patch
@@ -0,0 +1,184 @@
1 Jie Zhang <jie@codesourcery.com>
2
3 Issue #7122
4
5 gcc/
6 * config/arm/vfp.md (movdf_vfp): Add load double 0.0 case.
7 (thumb2_movdf_vfp): Likewise. Require that one of the operands be a
8 register.
9 * config/arm/constraints.md (D0): New constraint.
10
11 gcc/testsuite/
12 * gcc.target/arm/neon-load-df0.c: New test.
13
142010-07-26 Julian Brown <julian@codesourcery.com>
15
16 Merge from Sourcery G++ 4.4:
17
18 2010-02-23 Julian Brown <julian@codesourcery.com>
19
20 gcc/
21
22=== modified file 'gcc/config/arm/constraints.md'
23--- old/gcc/config/arm/constraints.md 2010-08-12 16:47:21 +0000
24+++ new/gcc/config/arm/constraints.md 2010-08-13 10:59:06 +0000
25@@ -29,7 +29,7 @@
26 ;; in Thumb-1 state: I, J, K, L, M, N, O
27
28 ;; The following multi-letter normal constraints have been used:
29-;; in ARM/Thumb-2 state: Da, Db, Dc, Dn, Dl, DL, Dv, Dy, Di
30+;; in ARM/Thumb-2 state: D0, Da, Db, Dc, Di, Dn, Dl, DL, Dv, Dy
31 ;; in Thumb-1 state: Pa, Pb
32 ;; in Thumb-2 state: Ps, Pt, Pv
33
34@@ -173,6 +173,13 @@
35 (and (match_code "const_double")
36 (match_test "TARGET_32BIT && neg_const_double_rtx_ok_for_fpa (op)")))
37
38+(define_constraint "D0"
39+ "@internal
40+ In ARM/Thumb-2 state a 0.0 floating point constant which can
41+ be loaded with a Neon vmov immediate instruction."
42+ (and (match_code "const_double")
43+ (match_test "TARGET_NEON && op == CONST0_RTX (mode)")))
44+
45 (define_constraint "Da"
46 "@internal
47 In ARM/Thumb-2 state a const_int, const_double or const_vector that can
48
49=== modified file 'gcc/config/arm/vfp.md'
50--- old/gcc/config/arm/vfp.md 2010-08-12 11:29:02 +0000
51+++ new/gcc/config/arm/vfp.md 2010-08-13 10:59:06 +0000
52@@ -402,8 +402,8 @@
53 ;; DFmode moves
54
55 (define_insn "*movdf_vfp"
56- [(set (match_operand:DF 0 "nonimmediate_soft_df_operand" "=w,?r,w ,r, m,w ,Uv,w,r")
57- (match_operand:DF 1 "soft_df_operand" " ?r,w,Dy,mF,r,UvF,w, w,r"))]
58+ [(set (match_operand:DF 0 "nonimmediate_soft_df_operand" "=w,?r,w ,w, r, m,w ,Uv,w,r")
59+ (match_operand:DF 1 "soft_df_operand" " ?r,w,Dy,D0,mF,r,UvF,w, w,r"))]
60 "TARGET_ARM && TARGET_HARD_FLOAT && TARGET_VFP
61 && ( register_operand (operands[0], DFmode)
62 || register_operand (operands[1], DFmode))"
63@@ -418,16 +418,18 @@
64 case 2:
65 gcc_assert (TARGET_VFP_DOUBLE);
66 return \"fconstd%?\\t%P0, #%G1\";
67- case 3: case 4:
68+ case 3:
69+ return \"vmov.i32\\t%P0, #0\";
70+ case 4: case 5:
71 return output_move_double (operands);
72- case 5: case 6:
73+ case 6: case 7:
74 return output_move_vfp (operands);
75- case 7:
76+ case 8:
77 if (TARGET_VFP_SINGLE)
78 return \"fcpys%?\\t%0, %1\;fcpys%?\\t%p0, %p1\";
79 else
80 return \"fcpyd%?\\t%P0, %P1\";
81- case 8:
82+ case 9:
83 return \"#\";
84 default:
85 gcc_unreachable ();
86@@ -435,10 +437,10 @@
87 }
88 "
89 [(set_attr "type"
90- "r_2_f,f_2_r,fconstd,f_loadd,f_stored,load2,store2,ffarithd,*")
91- (set_attr "neon_type" "neon_mcr_2_mcrr,neon_mrrc,*,*,*,*,*,neon_vmov,*")
92- (set (attr "length") (cond [(eq_attr "alternative" "3,4,8") (const_int 8)
93- (eq_attr "alternative" "7")
94+ "r_2_f,f_2_r,fconstd,*,f_loadd,f_stored,load2,store2,ffarithd,*")
95+ (set_attr "neon_type" "neon_mcr_2_mcrr,neon_mrrc,*,neon_vmov,*,*,*,*,neon_vmov,*")
96+ (set (attr "length") (cond [(eq_attr "alternative" "4,5,9") (const_int 8)
97+ (eq_attr "alternative" "8")
98 (if_then_else
99 (eq (symbol_ref "TARGET_VFP_SINGLE")
100 (const_int 1))
101@@ -446,14 +448,16 @@
102 (const_int 4))]
103 (const_int 4)))
104 (set_attr "predicable" "yes")
105- (set_attr "pool_range" "*,*,*,1020,*,1020,*,*,*")
106- (set_attr "neg_pool_range" "*,*,*,1008,*,1008,*,*,*")]
107+ (set_attr "pool_range" "*,*,*,*,1020,*,1020,*,*,*")
108+ (set_attr "neg_pool_range" "*,*,*,*,1008,*,1008,*,*,*")]
109 )
110
111 (define_insn "*thumb2_movdf_vfp"
112- [(set (match_operand:DF 0 "nonimmediate_soft_df_operand" "=w,?r,w ,r, m,w ,Uv,w,r")
113- (match_operand:DF 1 "soft_df_operand" " ?r,w,Dy,mF,r,UvF,w, w,r"))]
114- "TARGET_THUMB2 && TARGET_HARD_FLOAT && TARGET_VFP"
115+ [(set (match_operand:DF 0 "nonimmediate_soft_df_operand" "=w,?r,w ,w,r, m,w ,Uv,w,r")
116+ (match_operand:DF 1 "soft_df_operand" " ?r,w,Dy,D0,mF,r,UvF,w, w,r"))]
117+ "TARGET_THUMB2 && TARGET_HARD_FLOAT && TARGET_VFP
118+ && ( register_operand (operands[0], DFmode)
119+ || register_operand (operands[1], DFmode))"
120 "*
121 {
122 switch (which_alternative)
123@@ -465,11 +469,13 @@
124 case 2:
125 gcc_assert (TARGET_VFP_DOUBLE);
126 return \"fconstd%?\\t%P0, #%G1\";
127- case 3: case 4: case 8:
128+ case 3:
129+ return \"vmov.i32\\t%P0, #0\";
130+ case 4: case 5: case 9:
131 return output_move_double (operands);
132- case 5: case 6:
133+ case 6: case 7:
134 return output_move_vfp (operands);
135- case 7:
136+ case 8:
137 if (TARGET_VFP_SINGLE)
138 return \"fcpys%?\\t%0, %1\;fcpys%?\\t%p0, %p1\";
139 else
140@@ -480,18 +486,18 @@
141 }
142 "
143 [(set_attr "type"
144- "r_2_f,f_2_r,fconstd,load2,store2,f_load,f_store,ffarithd,*")
145- (set_attr "neon_type" "neon_mcr_2_mcrr,neon_mrrc,*,*,*,*,*,neon_vmov,*")
146- (set (attr "length") (cond [(eq_attr "alternative" "3,4,8") (const_int 8)
147- (eq_attr "alternative" "7")
148+ "r_2_f,f_2_r,fconstd,*,load2,store2,f_load,f_store,ffarithd,*")
149+ (set_attr "neon_type" "neon_mcr_2_mcrr,neon_mrrc,*,neon_vmov,*,*,*,*,neon_vmov,*")
150+ (set (attr "length") (cond [(eq_attr "alternative" "4,5,9") (const_int 8)
151+ (eq_attr "alternative" "8")
152 (if_then_else
153 (eq (symbol_ref "TARGET_VFP_SINGLE")
154 (const_int 1))
155 (const_int 8)
156 (const_int 4))]
157 (const_int 4)))
158- (set_attr "pool_range" "*,*,*,4096,*,1020,*,*,*")
159- (set_attr "neg_pool_range" "*,*,*,0,*,1008,*,*,*")]
160+ (set_attr "pool_range" "*,*,*,*,4096,*,1020,*,*,*")
161+ (set_attr "neg_pool_range" "*,*,*,*,0,*,1008,*,*,*")]
162 )
163
164
165
166=== added file 'gcc/testsuite/gcc.target/arm/neon-load-df0.c'
167--- old/gcc/testsuite/gcc.target/arm/neon-load-df0.c 1970-01-01 00:00:00 +0000
168+++ new/gcc/testsuite/gcc.target/arm/neon-load-df0.c 2010-08-13 10:59:06 +0000
169@@ -0,0 +1,14 @@
170+/* Test the optimization of loading 0.0 for ARM Neon. */
171+
172+/* { dg-do compile } */
173+/* { dg-require-effective-target arm_neon_ok } */
174+/* { dg-options "-O2" } */
175+/* { dg-add-options arm_neon } */
176+
177+double x;
178+void bar ()
179+{
180+ x = 0.0;
181+}
182+/* { dg-final { scan-assembler "vmov\.i32\[ \]+\[dD\]\[0-9\]+, #0\n" } } */
183+/* { dg-final { cleanup-saved-temps } } */
184
diff --git a/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99351.patch b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99351.patch
new file mode 100644
index 0000000000..a1a2c2ad81
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99351.patch
@@ -0,0 +1,552 @@
1 * config/arm/arm.c (arm_rtx_costs_1): Adjust cost for
2 CONST_VECTOR.
3 (arm_size_rtx_costs): Likewise.
4 (thumb2_size_rtx_costs): Likewise.
5 (neon_valid_immediate): Add a case for double 0.0.
6
7 gcc/testsuite/
8 * gcc.target/arm/neon-vdup-1.c: New test case.
9 * gcc.target/arm/neon-vdup-2.c: New test case.
10 * gcc.target/arm/neon-vdup-3.c: New test case.
11 * gcc.target/arm/neon-vdup-4.c: New test case.
12 * gcc.target/arm/neon-vdup-5.c: New test case.
13 * gcc.target/arm/neon-vdup-6.c: New test case.
14 * gcc.target/arm/neon-vdup-7.c: New test case.
15 * gcc.target/arm/neon-vdup-8.c: New test case.
16 * gcc.target/arm/neon-vdup-9.c: New test case.
17 * gcc.target/arm/neon-vdup-10.c: New test case.
18 * gcc.target/arm/neon-vdup-11.c: New test case.
19 * gcc.target/arm/neon-vdup-12.c: New test case.
20 * gcc.target/arm/neon-vdup-13.c: New test case.
21 * gcc.target/arm/neon-vdup-14.c: New test case.
22 * gcc.target/arm/neon-vdup-15.c: New test case.
23 * gcc.target/arm/neon-vdup-16.c: New test case.
24 * gcc.target/arm/neon-vdup-17.c: New test case.
25 * gcc.target/arm/neon-vdup-18.c: New test case.
26 * gcc.target/arm/neon-vdup-19.c: New test case.
27
282010-07-26 Julian Brown <julian@codesourcery.com>
29
30 Merge from Sourcery G++ 4.4:
31
32 Jie Zhang <jie@codesourcery.com>
33
34 Issue #7122
35
36 gcc/
37 * config/arm/vfp.md (movdf_vfp): Add load double 0.0 case.
38 (thumb2_movdf_vfp): Likewise. Require that one of the operands be a
39 register.
40
41=== modified file 'gcc/config/arm/arm.c'
42--- old/gcc/config/arm/arm.c 2010-08-13 10:55:28 +0000
43+++ new/gcc/config/arm/arm.c 2010-08-13 11:02:47 +0000
44@@ -7061,6 +7061,17 @@
45 *total = COSTS_N_INSNS (4);
46 return true;
47
48+ case CONST_VECTOR:
49+ if (TARGET_NEON
50+ && TARGET_HARD_FLOAT
51+ && outer == SET
52+ && (VALID_NEON_DREG_MODE (mode) || VALID_NEON_QREG_MODE (mode))
53+ && neon_immediate_valid_for_move (x, mode, NULL, NULL))
54+ *total = COSTS_N_INSNS (1);
55+ else
56+ *total = COSTS_N_INSNS (4);
57+ return true;
58+
59 default:
60 *total = COSTS_N_INSNS (4);
61 return false;
62@@ -7301,6 +7312,17 @@
63 *total = COSTS_N_INSNS (4);
64 return true;
65
66+ case CONST_VECTOR:
67+ if (TARGET_NEON
68+ && TARGET_HARD_FLOAT
69+ && outer_code == SET
70+ && (VALID_NEON_DREG_MODE (mode) || VALID_NEON_QREG_MODE (mode))
71+ && neon_immediate_valid_for_move (x, mode, NULL, NULL))
72+ *total = COSTS_N_INSNS (1);
73+ else
74+ *total = COSTS_N_INSNS (4);
75+ return true;
76+
77 case HIGH:
78 case LO_SUM:
79 /* We prefer constant pool entries to MOVW/MOVT pairs, so bump the
80@@ -7647,6 +7669,17 @@
81 *total = COSTS_WIDE_INSNS (4);
82 return true;
83
84+ case CONST_VECTOR:
85+ if (TARGET_NEON
86+ && TARGET_HARD_FLOAT
87+ && outer_code == SET
88+ && (VALID_NEON_DREG_MODE (mode) || VALID_NEON_QREG_MODE (mode))
89+ && neon_immediate_valid_for_move (x, mode, NULL, NULL))
90+ *total = COSTS_WIDE_INSNS (1);
91+ else
92+ *total = COSTS_WIDE_INSNS (4);
93+ return true;
94+
95 case HIGH:
96 case LO_SUM:
97 /* We prefer constant pool entries to MOVW/MOVT pairs, so bump the
98@@ -8315,11 +8348,14 @@
99 vmov i64 17 aaaaaaaa bbbbbbbb cccccccc dddddddd
100 eeeeeeee ffffffff gggggggg hhhhhhhh
101 vmov f32 18 aBbbbbbc defgh000 00000000 00000000
102+ vmov f32 19 00000000 00000000 00000000 00000000
103
104 For case 18, B = !b. Representable values are exactly those accepted by
105 vfp3_const_double_index, but are output as floating-point numbers rather
106 than indices.
107
108+ For case 19, we will change it to vmov.i32 when assembling.
109+
110 Variants 0-5 (inclusive) may also be used as immediates for the second
111 operand of VORR/VBIC instructions.
112
113@@ -8362,7 +8398,7 @@
114 rtx el0 = CONST_VECTOR_ELT (op, 0);
115 REAL_VALUE_TYPE r0;
116
117- if (!vfp3_const_double_rtx (el0))
118+ if (!vfp3_const_double_rtx (el0) && el0 != CONST0_RTX (GET_MODE (el0)))
119 return -1;
120
121 REAL_VALUE_FROM_CONST_DOUBLE (r0, el0);
122@@ -8384,7 +8420,10 @@
123 if (elementwidth)
124 *elementwidth = 0;
125
126- return 18;
127+ if (el0 == CONST0_RTX (GET_MODE (el0)))
128+ return 19;
129+ else
130+ return 18;
131 }
132
133 /* Splat vector constant out into a byte vector. */
134
135=== added file 'gcc/testsuite/gcc.target/arm/neon-vdup-1.c'
136--- old/gcc/testsuite/gcc.target/arm/neon-vdup-1.c 1970-01-01 00:00:00 +0000
137+++ new/gcc/testsuite/gcc.target/arm/neon-vdup-1.c 2010-08-13 11:02:47 +0000
138@@ -0,0 +1,17 @@
139+/* Test the optimization of `vdupq_n_f32' ARM Neon intrinsic. */
140+
141+/* { dg-do compile } */
142+/* { dg-require-effective-target arm_neon_ok } */
143+/* { dg-options "-O2" } */
144+/* { dg-add-options arm_neon } */
145+
146+#include <arm_neon.h>
147+
148+float32x4_t out_float32x4_t;
149+void test_vdupq_nf32 (void)
150+{
151+ out_float32x4_t = vdupq_n_f32 (0.0);
152+}
153+
154+/* { dg-final { scan-assembler "vmov\.f32\[ \]+\[qQ\]\[0-9\]+, #0\.0\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
155+/* { dg-final { cleanup-saved-temps } } */
156
157=== added file 'gcc/testsuite/gcc.target/arm/neon-vdup-10.c'
158--- old/gcc/testsuite/gcc.target/arm/neon-vdup-10.c 1970-01-01 00:00:00 +0000
159+++ new/gcc/testsuite/gcc.target/arm/neon-vdup-10.c 2010-08-13 11:02:47 +0000
160@@ -0,0 +1,17 @@
161+/* Test the optimization of `vdupq_n_u32' ARM Neon intrinsic. */
162+
163+/* { dg-do compile } */
164+/* { dg-require-effective-target arm_neon_ok } */
165+/* { dg-options "-O2" } */
166+/* { dg-add-options arm_neon } */
167+
168+#include <arm_neon.h>
169+
170+uint32x4_t out_uint32x4_t;
171+void test_vdupq_nu32 (void)
172+{
173+ out_uint32x4_t = vdupq_n_u32 (~0x12000000);
174+}
175+
176+/* { dg-final { scan-assembler "vmov\.i32\[ \]+\[qQ\]\[0-9\]+, #3992977407\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
177+/* { dg-final { cleanup-saved-temps } } */
178
179=== added file 'gcc/testsuite/gcc.target/arm/neon-vdup-11.c'
180--- old/gcc/testsuite/gcc.target/arm/neon-vdup-11.c 1970-01-01 00:00:00 +0000
181+++ new/gcc/testsuite/gcc.target/arm/neon-vdup-11.c 2010-08-13 11:02:47 +0000
182@@ -0,0 +1,17 @@
183+/* Test the optimization of `vdupq_n_u16' ARM Neon intrinsic. */
184+
185+/* { dg-do compile } */
186+/* { dg-require-effective-target arm_neon_ok } */
187+/* { dg-options "-O2" } */
188+/* { dg-add-options arm_neon } */
189+
190+#include <arm_neon.h>
191+
192+uint16x8_t out_uint16x8_t;
193+void test_vdupq_nu16 (void)
194+{
195+ out_uint16x8_t = vdupq_n_u16 (0x12);
196+}
197+
198+/* { dg-final { scan-assembler "vmov\.i16\[ \]+\[qQ\]\[0-9\]+, #18\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
199+/* { dg-final { cleanup-saved-temps } } */
200
201=== added file 'gcc/testsuite/gcc.target/arm/neon-vdup-12.c'
202--- old/gcc/testsuite/gcc.target/arm/neon-vdup-12.c 1970-01-01 00:00:00 +0000
203+++ new/gcc/testsuite/gcc.target/arm/neon-vdup-12.c 2010-08-13 11:02:47 +0000
204@@ -0,0 +1,17 @@
205+/* Test the optimization of `vdupq_n_u16' ARM Neon intrinsic. */
206+
207+/* { dg-do compile } */
208+/* { dg-require-effective-target arm_neon_ok } */
209+/* { dg-options "-O2" } */
210+/* { dg-add-options arm_neon } */
211+
212+#include <arm_neon.h>
213+
214+uint16x8_t out_uint16x8_t;
215+void test_vdupq_nu16 (void)
216+{
217+ out_uint16x8_t = vdupq_n_u16 (0x1200);
218+}
219+
220+/* { dg-final { scan-assembler "vmov\.i16\[ \]+\[qQ\]\[0-9\]+, #4608\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
221+/* { dg-final { cleanup-saved-temps } } */
222
223=== added file 'gcc/testsuite/gcc.target/arm/neon-vdup-13.c'
224--- old/gcc/testsuite/gcc.target/arm/neon-vdup-13.c 1970-01-01 00:00:00 +0000
225+++ new/gcc/testsuite/gcc.target/arm/neon-vdup-13.c 2010-08-13 11:02:47 +0000
226@@ -0,0 +1,17 @@
227+/* Test the optimization of `vdupq_n_u16' ARM Neon intrinsic. */
228+
229+/* { dg-do compile } */
230+/* { dg-require-effective-target arm_neon_ok } */
231+/* { dg-options "-O2" } */
232+/* { dg-add-options arm_neon } */
233+
234+#include <arm_neon.h>
235+
236+uint16x8_t out_uint16x8_t;
237+void test_vdupq_nu16 (void)
238+{
239+ out_uint16x8_t = vdupq_n_u16 (~0x12);
240+}
241+
242+/* { dg-final { scan-assembler "vmov\.i16\[ \]+\[qQ\]\[0-9\]+, #65517\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
243+/* { dg-final { cleanup-saved-temps } } */
244
245=== added file 'gcc/testsuite/gcc.target/arm/neon-vdup-14.c'
246--- old/gcc/testsuite/gcc.target/arm/neon-vdup-14.c 1970-01-01 00:00:00 +0000
247+++ new/gcc/testsuite/gcc.target/arm/neon-vdup-14.c 2010-08-13 11:02:47 +0000
248@@ -0,0 +1,17 @@
249+/* Test the optimization of `vdupq_n_u16' ARM Neon intrinsic. */
250+
251+/* { dg-do compile } */
252+/* { dg-require-effective-target arm_neon_ok } */
253+/* { dg-options "-O2" } */
254+/* { dg-add-options arm_neon } */
255+
256+#include <arm_neon.h>
257+
258+uint16x8_t out_uint16x8_t;
259+void test_vdupq_nu16 (void)
260+{
261+ out_uint16x8_t = vdupq_n_u16 (~0x1200);
262+}
263+
264+/* { dg-final { scan-assembler "vmov\.i16\[ \]+\[qQ\]\[0-9\]+, #60927\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
265+/* { dg-final { cleanup-saved-temps } } */
266
267=== added file 'gcc/testsuite/gcc.target/arm/neon-vdup-15.c'
268--- old/gcc/testsuite/gcc.target/arm/neon-vdup-15.c 1970-01-01 00:00:00 +0000
269+++ new/gcc/testsuite/gcc.target/arm/neon-vdup-15.c 2010-08-13 11:02:47 +0000
270@@ -0,0 +1,17 @@
271+/* Test the optimization of `vdupq_n_u8' ARM Neon intrinsic. */
272+
273+/* { dg-do compile } */
274+/* { dg-require-effective-target arm_neon_ok } */
275+/* { dg-options "-O2" } */
276+/* { dg-add-options arm_neon } */
277+
278+#include <arm_neon.h>
279+
280+uint8x16_t out_uint8x16_t;
281+void test_vdupq_nu8 (void)
282+{
283+ out_uint8x16_t = vdupq_n_u8 (0x12);
284+}
285+
286+/* { dg-final { scan-assembler "vmov\.i8\[ \]+\[qQ\]\[0-9\]+, #18\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
287+/* { dg-final { cleanup-saved-temps } } */
288
289=== added file 'gcc/testsuite/gcc.target/arm/neon-vdup-16.c'
290--- old/gcc/testsuite/gcc.target/arm/neon-vdup-16.c 1970-01-01 00:00:00 +0000
291+++ new/gcc/testsuite/gcc.target/arm/neon-vdup-16.c 2010-08-13 11:02:47 +0000
292@@ -0,0 +1,17 @@
293+/* Test the optimization of `vdupq_n_u32' ARM Neon intrinsic. */
294+
295+/* { dg-do compile } */
296+/* { dg-require-effective-target arm_neon_ok } */
297+/* { dg-options "-O2" } */
298+/* { dg-add-options arm_neon } */
299+
300+#include <arm_neon.h>
301+
302+uint32x4_t out_uint32x4_t;
303+void test_vdupq_nu32 (void)
304+{
305+ out_uint32x4_t = vdupq_n_u32 (0x12ff);
306+}
307+
308+/* { dg-final { scan-assembler "vmov\.i32\[ \]+\[qQ\]\[0-9\]+, #4863\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
309+/* { dg-final { cleanup-saved-temps } } */
310
311=== added file 'gcc/testsuite/gcc.target/arm/neon-vdup-17.c'
312--- old/gcc/testsuite/gcc.target/arm/neon-vdup-17.c 1970-01-01 00:00:00 +0000
313+++ new/gcc/testsuite/gcc.target/arm/neon-vdup-17.c 2010-08-13 11:02:47 +0000
314@@ -0,0 +1,17 @@
315+/* Test the optimization of `vdupq_n_u32' ARM Neon intrinsic. */
316+
317+/* { dg-do compile } */
318+/* { dg-require-effective-target arm_neon_ok } */
319+/* { dg-options "-O2" } */
320+/* { dg-add-options arm_neon } */
321+
322+#include <arm_neon.h>
323+
324+uint32x4_t out_uint32x4_t;
325+void test_vdupq_nu32 (void)
326+{
327+ out_uint32x4_t = vdupq_n_u32 (0x12ffff);
328+}
329+
330+/* { dg-final { scan-assembler "vmov\.i32\[ \]+\[qQ\]\[0-9\]+, #1245183\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
331+/* { dg-final { cleanup-saved-temps } } */
332
333=== added file 'gcc/testsuite/gcc.target/arm/neon-vdup-18.c'
334--- old/gcc/testsuite/gcc.target/arm/neon-vdup-18.c 1970-01-01 00:00:00 +0000
335+++ new/gcc/testsuite/gcc.target/arm/neon-vdup-18.c 2010-08-13 11:02:47 +0000
336@@ -0,0 +1,17 @@
337+/* Test the optimization of `vdupq_n_u32' ARM Neon intrinsic. */
338+
339+/* { dg-do compile } */
340+/* { dg-require-effective-target arm_neon_ok } */
341+/* { dg-options "-O2" } */
342+/* { dg-add-options arm_neon } */
343+
344+#include <arm_neon.h>
345+
346+uint32x4_t out_uint32x4_t;
347+void test_vdupq_nu32 (void)
348+{
349+ out_uint32x4_t = vdupq_n_u32 (~0x12ff);
350+}
351+
352+/* { dg-final { scan-assembler "vmov\.i32\[ \]+\[qQ\]\[0-9\]+, #4294962432\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
353+/* { dg-final { cleanup-saved-temps } } */
354
355=== added file 'gcc/testsuite/gcc.target/arm/neon-vdup-19.c'
356--- old/gcc/testsuite/gcc.target/arm/neon-vdup-19.c 1970-01-01 00:00:00 +0000
357+++ new/gcc/testsuite/gcc.target/arm/neon-vdup-19.c 2010-08-13 11:02:47 +0000
358@@ -0,0 +1,17 @@
359+/* Test the optimization of `vdupq_n_u32' ARM Neon intrinsic. */
360+
361+/* { dg-do compile } */
362+/* { dg-require-effective-target arm_neon_ok } */
363+/* { dg-options "-O2" } */
364+/* { dg-add-options arm_neon } */
365+
366+#include <arm_neon.h>
367+
368+uint32x4_t out_uint32x4_t;
369+void test_vdupq_nu32 (void)
370+{
371+ out_uint32x4_t = vdupq_n_u32 (~0x12ffff);
372+}
373+
374+/* { dg-final { scan-assembler "vmov\.i32\[ \]+\[qQ\]\[0-9\]+, #4293722112\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
375+/* { dg-final { cleanup-saved-temps } } */
376
377=== added file 'gcc/testsuite/gcc.target/arm/neon-vdup-2.c'
378--- old/gcc/testsuite/gcc.target/arm/neon-vdup-2.c 1970-01-01 00:00:00 +0000
379+++ new/gcc/testsuite/gcc.target/arm/neon-vdup-2.c 2010-08-13 11:02:47 +0000
380@@ -0,0 +1,17 @@
381+/* Test the optimization of `vdupq_n_f32' ARM Neon intrinsic. */
382+
383+/* { dg-do compile } */
384+/* { dg-require-effective-target arm_neon_ok } */
385+/* { dg-options "-O2" } */
386+/* { dg-add-options arm_neon } */
387+
388+#include <arm_neon.h>
389+
390+float32x4_t out_float32x4_t;
391+void test_vdupq_nf32 (void)
392+{
393+ out_float32x4_t = vdupq_n_f32 (0.125);
394+}
395+
396+/* { dg-final { scan-assembler "vmov\.f32\[ \]+\[qQ\]\[0-9\]+, #1\.25e-1\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
397+/* { dg-final { cleanup-saved-temps } } */
398
399=== added file 'gcc/testsuite/gcc.target/arm/neon-vdup-3.c'
400--- old/gcc/testsuite/gcc.target/arm/neon-vdup-3.c 1970-01-01 00:00:00 +0000
401+++ new/gcc/testsuite/gcc.target/arm/neon-vdup-3.c 2010-08-13 11:02:47 +0000
402@@ -0,0 +1,17 @@
403+/* Test the optimization of `vdupq_n_u32' ARM Neon intrinsic. */
404+
405+/* { dg-do compile } */
406+/* { dg-require-effective-target arm_neon_ok } */
407+/* { dg-options "-O2" } */
408+/* { dg-add-options arm_neon } */
409+
410+#include <arm_neon.h>
411+
412+uint32x4_t out_uint32x4_t;
413+void test_vdupq_nu32 (void)
414+{
415+ out_uint32x4_t = vdupq_n_u32 (0x12);
416+}
417+
418+/* { dg-final { scan-assembler "vmov\.i32\[ \]+\[qQ\]\[0-9\]+, #18\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
419+/* { dg-final { cleanup-saved-temps } } */
420
421=== added file 'gcc/testsuite/gcc.target/arm/neon-vdup-4.c'
422--- old/gcc/testsuite/gcc.target/arm/neon-vdup-4.c 1970-01-01 00:00:00 +0000
423+++ new/gcc/testsuite/gcc.target/arm/neon-vdup-4.c 2010-08-13 11:02:47 +0000
424@@ -0,0 +1,17 @@
425+/* Test the optimization of `vdupq_n_u32' ARM Neon intrinsic. */
426+
427+/* { dg-do compile } */
428+/* { dg-require-effective-target arm_neon_ok } */
429+/* { dg-options "-O2" } */
430+/* { dg-add-options arm_neon } */
431+
432+#include <arm_neon.h>
433+
434+uint32x4_t out_uint32x4_t;
435+void test_vdupq_nu32 (void)
436+{
437+ out_uint32x4_t = vdupq_n_u32 (0x1200);
438+}
439+
440+/* { dg-final { scan-assembler "vmov\.i32\[ \]+\[qQ\]\[0-9\]+, #4608\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
441+/* { dg-final { cleanup-saved-temps } } */
442
443=== added file 'gcc/testsuite/gcc.target/arm/neon-vdup-5.c'
444--- old/gcc/testsuite/gcc.target/arm/neon-vdup-5.c 1970-01-01 00:00:00 +0000
445+++ new/gcc/testsuite/gcc.target/arm/neon-vdup-5.c 2010-08-13 11:02:47 +0000
446@@ -0,0 +1,17 @@
447+/* Test the optimization of `vdupq_n_u32' ARM Neon intrinsic. */
448+
449+/* { dg-do compile } */
450+/* { dg-require-effective-target arm_neon_ok } */
451+/* { dg-options "-O2" } */
452+/* { dg-add-options arm_neon } */
453+
454+#include <arm_neon.h>
455+
456+uint32x4_t out_uint32x4_t;
457+void test_vdupq_nu32 (void)
458+{
459+ out_uint32x4_t = vdupq_n_u32 (0x120000);
460+}
461+
462+/* { dg-final { scan-assembler "vmov\.i32\[ \]+\[qQ\]\[0-9\]+, #1179648\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
463+/* { dg-final { cleanup-saved-temps } } */
464
465=== added file 'gcc/testsuite/gcc.target/arm/neon-vdup-6.c'
466--- old/gcc/testsuite/gcc.target/arm/neon-vdup-6.c 1970-01-01 00:00:00 +0000
467+++ new/gcc/testsuite/gcc.target/arm/neon-vdup-6.c 2010-08-13 11:02:47 +0000
468@@ -0,0 +1,17 @@
469+/* Test the optimization of `vdupq_n_u32' ARM Neon intrinsic. */
470+
471+/* { dg-do compile } */
472+/* { dg-require-effective-target arm_neon_ok } */
473+/* { dg-options "-O2" } */
474+/* { dg-add-options arm_neon } */
475+
476+#include <arm_neon.h>
477+
478+uint32x4_t out_uint32x4_t;
479+void test_vdupq_nu32 (void)
480+{
481+ out_uint32x4_t = vdupq_n_u32 (0x12000000);
482+}
483+
484+/* { dg-final { scan-assembler "vmov\.i32\[ \]+\[qQ\]\[0-9\]+, #301989888\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
485+/* { dg-final { cleanup-saved-temps } } */
486
487=== added file 'gcc/testsuite/gcc.target/arm/neon-vdup-7.c'
488--- old/gcc/testsuite/gcc.target/arm/neon-vdup-7.c 1970-01-01 00:00:00 +0000
489+++ new/gcc/testsuite/gcc.target/arm/neon-vdup-7.c 2010-08-13 11:02:47 +0000
490@@ -0,0 +1,17 @@
491+/* Test the optimization of `vdupq_n_u32' ARM Neon intrinsic. */
492+
493+/* { dg-do compile } */
494+/* { dg-require-effective-target arm_neon_ok } */
495+/* { dg-options "-O2" } */
496+/* { dg-add-options arm_neon } */
497+
498+#include <arm_neon.h>
499+
500+uint32x4_t out_uint32x4_t;
501+void test_vdupq_nu32 (void)
502+{
503+ out_uint32x4_t = vdupq_n_u32 (~0x12);
504+}
505+
506+/* { dg-final { scan-assembler "vmov\.i32\[ \]+\[qQ\]\[0-9\]+, #4294967277\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
507+/* { dg-final { cleanup-saved-temps } } */
508
509=== added file 'gcc/testsuite/gcc.target/arm/neon-vdup-8.c'
510--- old/gcc/testsuite/gcc.target/arm/neon-vdup-8.c 1970-01-01 00:00:00 +0000
511+++ new/gcc/testsuite/gcc.target/arm/neon-vdup-8.c 2010-08-13 11:02:47 +0000
512@@ -0,0 +1,17 @@
513+/* Test the optimization of `vdupq_n_u32' ARM Neon intrinsic. */
514+
515+/* { dg-do compile } */
516+/* { dg-require-effective-target arm_neon_ok } */
517+/* { dg-options "-O2" } */
518+/* { dg-add-options arm_neon } */
519+
520+#include <arm_neon.h>
521+
522+uint32x4_t out_uint32x4_t;
523+void test_vdupq_nu32 (void)
524+{
525+ out_uint32x4_t = vdupq_n_u32 (~0x1200);
526+}
527+
528+/* { dg-final { scan-assembler "vmov\.i32\[ \]+\[qQ\]\[0-9\]+, #4294962687\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
529+/* { dg-final { cleanup-saved-temps } } */
530
531=== added file 'gcc/testsuite/gcc.target/arm/neon-vdup-9.c'
532--- old/gcc/testsuite/gcc.target/arm/neon-vdup-9.c 1970-01-01 00:00:00 +0000
533+++ new/gcc/testsuite/gcc.target/arm/neon-vdup-9.c 2010-08-13 11:02:47 +0000
534@@ -0,0 +1,17 @@
535+/* Test the optimization of `vdupq_n_u32' ARM Neon intrinsic. */
536+
537+/* { dg-do compile } */
538+/* { dg-require-effective-target arm_neon_ok } */
539+/* { dg-options "-O2" } */
540+/* { dg-add-options arm_neon } */
541+
542+#include <arm_neon.h>
543+
544+uint32x4_t out_uint32x4_t;
545+void test_vdupq_nu32 (void)
546+{
547+ out_uint32x4_t = vdupq_n_u32 (~0x120000);
548+}
549+
550+/* { dg-final { scan-assembler "vmov\.i32\[ \]+\[qQ\]\[0-9\]+, #4293787647\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
551+/* { dg-final { cleanup-saved-temps } } */
552
diff --git a/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99352.patch b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99352.patch
new file mode 100644
index 0000000000..675c2f3ceb
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99352.patch
@@ -0,0 +1,121 @@
1 2010-04-07 Thomas Schwinge <thomas@codesourcery.com>
2 Daniel Jacobowitz <dan@codesourcery.com>
3
4 Issue #6715
5
6 PR debug/40521
7
8 gcc/
9 * dwarf2out.c (NEED_UNWIND_TABLES): Define.
10 (dwarf2out_do_frame, dwarf2out_do_cfi_asm, dwarf2out_begin_prologue)
11 (dwarf2out_frame_finish, dwarf2out_assembly_start): Use it.
12 (dwarf2out_assembly_start): Correct logic for TARGET_UNWIND_INFO.
13 * config/arm/arm.h (DWARF2_UNWIND_INFO): Remove definition.
14 * config/arm/bpabi.h (DWARF2_UNWIND_INFO): Define to zero.
15
162010-07-26 Julian Brown <julian@codesourcery.com>
17
18 Merge from Sourcery G++ 4.4:
19
20 Jie Zhang <jie@codesourcery.com>
21
22 Issue #7122
23
24=== modified file 'gcc/config/arm/arm.h'
25--- old/gcc/config/arm/arm.h 2010-08-13 10:30:35 +0000
26+++ new/gcc/config/arm/arm.h 2010-08-13 11:11:15 +0000
27@@ -932,9 +932,6 @@
28 #define MUST_USE_SJLJ_EXCEPTIONS 1
29 #endif
30
31-/* We can generate DWARF2 Unwind info, even though we don't use it. */
32-#define DWARF2_UNWIND_INFO 1
33-
34 /* Use r0 and r1 to pass exception handling information. */
35 #define EH_RETURN_DATA_REGNO(N) (((N) < 2) ? N : INVALID_REGNUM)
36
37
38=== modified file 'gcc/config/arm/bpabi.h'
39--- old/gcc/config/arm/bpabi.h 2009-11-20 17:37:30 +0000
40+++ new/gcc/config/arm/bpabi.h 2010-08-13 11:11:15 +0000
41@@ -26,6 +26,7 @@
42 #define TARGET_BPABI (TARGET_AAPCS_BASED)
43
44 /* BPABI targets use EABI frame unwinding tables. */
45+#define DWARF2_UNWIND_INFO 0
46 #define TARGET_UNWIND_INFO 1
47
48 /* Section 4.1 of the AAPCS requires the use of VFP format. */
49
50=== modified file 'gcc/dwarf2out.c'
51--- old/gcc/dwarf2out.c 2010-07-01 11:31:19 +0000
52+++ new/gcc/dwarf2out.c 2010-08-13 11:11:15 +0000
53@@ -124,6 +124,9 @@
54 # endif
55 #endif
56
57+#define NEED_UNWIND_TABLES \
58+ (flag_unwind_tables || (flag_exceptions && ! USING_SJLJ_EXCEPTIONS))
59+
60 /* Map register numbers held in the call frame info that gcc has
61 collected using DWARF_FRAME_REGNUM to those that should be output in
62 .debug_frame and .eh_frame. */
63@@ -147,9 +150,7 @@
64 || write_symbols == VMS_AND_DWARF2_DEBUG
65 || DWARF2_FRAME_INFO || saved_do_cfi_asm
66 #ifdef DWARF2_UNWIND_INFO
67- || (DWARF2_UNWIND_INFO
68- && (flag_unwind_tables
69- || (flag_exceptions && ! USING_SJLJ_EXCEPTIONS)))
70+ || (DWARF2_UNWIND_INFO && NEED_UNWIND_TABLES)
71 #endif
72 );
73 }
74@@ -185,7 +186,7 @@
75 #ifdef TARGET_UNWIND_INFO
76 return false;
77 #else
78- if (USING_SJLJ_EXCEPTIONS || (!flag_unwind_tables && !flag_exceptions))
79+ if (!NEED_UNWIND_TABLES)
80 return false;
81 #endif
82 }
83@@ -3906,8 +3907,7 @@
84 /* ??? current_function_func_begin_label is also used by except.c
85 for call-site information. We must emit this label if it might
86 be used. */
87- if ((! flag_exceptions || USING_SJLJ_EXCEPTIONS)
88- && ! dwarf2out_do_frame ())
89+ if (! NEED_UNWIND_TABLES && ! dwarf2out_do_frame ())
90 return;
91 #else
92 if (! dwarf2out_do_frame ())
93@@ -4067,7 +4067,7 @@
94
95 #ifndef TARGET_UNWIND_INFO
96 /* Output another copy for the unwinder. */
97- if (! USING_SJLJ_EXCEPTIONS && (flag_unwind_tables || flag_exceptions))
98+ if (NEED_UNWIND_TABLES)
99 output_call_frame_info (1);
100 #endif
101 }
102@@ -20732,10 +20732,15 @@
103 {
104 if (HAVE_GAS_CFI_SECTIONS_DIRECTIVE && dwarf2out_do_cfi_asm ())
105 {
106-#ifndef TARGET_UNWIND_INFO
107- if (USING_SJLJ_EXCEPTIONS || (!flag_unwind_tables && !flag_exceptions))
108-#endif
109+#ifdef TARGET_UNWIND_INFO
110+ /* We're only ever interested in .debug_frame. */
111+ fprintf (asm_out_file, "\t.cfi_sections\t.debug_frame\n");
112+#else
113+ /* GAS defaults to emitting .eh_frame only, and .debug_frame is not
114+ wanted in case that the former one is present. */
115+ if (! NEED_UNWIND_TABLES)
116 fprintf (asm_out_file, "\t.cfi_sections\t.debug_frame\n");
117+#endif
118 }
119 }
120
121
diff --git a/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99353.patch b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99353.patch
new file mode 100644
index 0000000000..239251d2b5
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99353.patch
@@ -0,0 +1,298 @@
1 2010-04-08 Bernd Schmidt <bernds@codesourcery.com>
2
3 Issue #6952
4
5 gcc/
6 * ira-costs.c (record_reg_classes): Ignore alternatives that are
7 not enabled.
8 * config/arm/vfp.md (arm_movdi_vfp): Enable only when not tuning
9 for Cortex-A8.
10 (arm_movdi_vfp_cortexa8): New pattern.
11 * config/arm/neon.md (adddi3_neon, subdi3_neon, anddi3_neon,
12 iordi3_neon, xordi3_neon): Add alternatives to discourage Neon
13 instructions when tuning for Cortex-A8. Set attribute "alt_tune".
14 * config/arm/arm.md (define_attr "alt_tune", define_attr "enabled"):
15 New.
16
172010-07-26 Julian Brown <julian@codesourcery.com>
18
19 Merge from Sourcery G++ 4.4:
20
21 2010-04-07 Thomas Schwinge <thomas@codesourcery.com>
22 Daniel Jacobowitz <dan@codesourcery.com>
23
24
25=== modified file 'gcc/config/arm/arm.md'
26--- old/gcc/config/arm/arm.md 2010-08-13 10:30:35 +0000
27+++ new/gcc/config/arm/arm.md 2010-08-13 11:40:17 +0000
28@@ -432,6 +432,20 @@
29 (const_string "yes")
30 (const_string "no"))))
31
32+; Specifies which machine an alternative is tuned for. Used to compute
33+; attribute ENABLED.
34+(define_attr "alt_tune" "all,onlya8,nota8" (const_string "all"))
35+
36+(define_attr "enabled" ""
37+ (cond [(and (eq_attr "alt_tune" "onlya8")
38+ (not (eq_attr "tune" "cortexa8")))
39+ (const_int 0)
40+
41+ (and (eq_attr "alt_tune" "nota8")
42+ (eq_attr "tune" "cortexa8"))
43+ (const_int 0)]
44+ (const_int 1)))
45+
46 (include "arm-generic.md")
47 (include "arm926ejs.md")
48 (include "arm1020e.md")
49
50=== modified file 'gcc/config/arm/neon.md'
51--- old/gcc/config/arm/neon.md 2010-08-10 13:31:21 +0000
52+++ new/gcc/config/arm/neon.md 2010-08-13 11:40:17 +0000
53@@ -827,23 +827,25 @@
54 )
55
56 (define_insn "adddi3_neon"
57- [(set (match_operand:DI 0 "s_register_operand" "=w,?&r,?&r")
58- (plus:DI (match_operand:DI 1 "s_register_operand" "%w,0,0")
59- (match_operand:DI 2 "s_register_operand" "w,r,0")))
60+ [(set (match_operand:DI 0 "s_register_operand" "=w,?w,?&r,?&r")
61+ (plus:DI (match_operand:DI 1 "s_register_operand" "%w,w,0,0")
62+ (match_operand:DI 2 "s_register_operand" "w,w,r,0")))
63 (clobber (reg:CC CC_REGNUM))]
64 "TARGET_NEON"
65 {
66 switch (which_alternative)
67 {
68- case 0: return "vadd.i64\t%P0, %P1, %P2";
69- case 1: return "#";
70+ case 0: /* fall through */
71+ case 1: return "vadd.i64\t%P0, %P1, %P2";
72 case 2: return "#";
73+ case 3: return "#";
74 default: gcc_unreachable ();
75 }
76 }
77- [(set_attr "neon_type" "neon_int_1,*,*")
78- (set_attr "conds" "*,clob,clob")
79- (set_attr "length" "*,8,8")]
80+ [(set_attr "neon_type" "neon_int_1,neon_int_1,*,*")
81+ (set_attr "conds" "*,*,clob,clob")
82+ (set_attr "length" "*,*,8,8")
83+ (set_attr "alt_tune" "nota8,onlya8,*,*")]
84 )
85
86 (define_insn "*sub<mode>3_neon"
87@@ -861,24 +863,26 @@
88 )
89
90 (define_insn "subdi3_neon"
91- [(set (match_operand:DI 0 "s_register_operand" "=w,?&r,?&r,?&r")
92- (minus:DI (match_operand:DI 1 "s_register_operand" "w,0,r,0")
93- (match_operand:DI 2 "s_register_operand" "w,r,0,0")))
94+ [(set (match_operand:DI 0 "s_register_operand" "=w,?w,?&r,?&r,?&r")
95+ (minus:DI (match_operand:DI 1 "s_register_operand" "w,w,0,r,0")
96+ (match_operand:DI 2 "s_register_operand" "w,w,r,0,0")))
97 (clobber (reg:CC CC_REGNUM))]
98 "TARGET_NEON"
99 {
100 switch (which_alternative)
101 {
102- case 0: return "vsub.i64\t%P0, %P1, %P2";
103- case 1: /* fall through */
104- case 2: /* fall through */
105- case 3: return "subs\\t%Q0, %Q1, %Q2\;sbc\\t%R0, %R1, %R2";
106+ case 0: /* fall through */
107+ case 1: return "vsub.i64\t%P0, %P1, %P2";
108+ case 2: /* fall through */
109+ case 3: /* fall through */
110+ case 4: return "subs\\t%Q0, %Q1, %Q2\;sbc\\t%R0, %R1, %R2";
111 default: gcc_unreachable ();
112 }
113 }
114- [(set_attr "neon_type" "neon_int_2,*,*,*")
115- (set_attr "conds" "*,clob,clob,clob")
116- (set_attr "length" "*,8,8,8")]
117+ [(set_attr "neon_type" "neon_int_2,neon_int_2,*,*,*")
118+ (set_attr "conds" "*,*,clob,clob,clob")
119+ (set_attr "length" "*,*,8,8,8")
120+ (set_attr "alt_tune" "nota8,onlya8,*,*,*")]
121 )
122
123 (define_insn "*mul<mode>3_neon"
124@@ -964,23 +968,26 @@
125 )
126
127 (define_insn "iordi3_neon"
128- [(set (match_operand:DI 0 "s_register_operand" "=w,w,?&r,?&r")
129- (ior:DI (match_operand:DI 1 "s_register_operand" "%w,0,0,r")
130- (match_operand:DI 2 "neon_logic_op2" "w,Dl,r,r")))]
131+ [(set (match_operand:DI 0 "s_register_operand" "=w,?w,w,?w,?&r,?&r")
132+ (ior:DI (match_operand:DI 1 "s_register_operand" "%w,w,0,0,0,r")
133+ (match_operand:DI 2 "neon_logic_op2" "w,w,Dl,Dl,r,r")))]
134 "TARGET_NEON"
135 {
136 switch (which_alternative)
137 {
138- case 0: return "vorr\t%P0, %P1, %P2";
139- case 1: return neon_output_logic_immediate ("vorr", &operands[2],
140+ case 0: /* fall through */
141+ case 1: return "vorr\t%P0, %P1, %P2";
142+ case 2: /* fall through */
143+ case 3: return neon_output_logic_immediate ("vorr", &operands[2],
144 DImode, 0, VALID_NEON_QREG_MODE (DImode));
145- case 2: return "#";
146- case 3: return "#";
147+ case 4: return "#";
148+ case 5: return "#";
149 default: gcc_unreachable ();
150 }
151 }
152- [(set_attr "neon_type" "neon_int_1,neon_int_1,*,*")
153- (set_attr "length" "*,*,8,8")]
154+ [(set_attr "neon_type" "neon_int_1,neon_int_1,neon_int_1,neon_int_1,*,*")
155+ (set_attr "length" "*,*,*,*,8,8")
156+ (set_attr "alt_tune" "nota8,onlya8,nota8,onlya8,*,*")]
157 )
158
159 ;; The concrete forms of the Neon immediate-logic instructions are vbic and
160@@ -1006,23 +1013,26 @@
161 )
162
163 (define_insn "anddi3_neon"
164- [(set (match_operand:DI 0 "s_register_operand" "=w,w,?&r,?&r")
165- (and:DI (match_operand:DI 1 "s_register_operand" "%w,0,0,r")
166- (match_operand:DI 2 "neon_inv_logic_op2" "w,DL,r,r")))]
167+ [(set (match_operand:DI 0 "s_register_operand" "=w,?w,w,?w,?&r,?&r")
168+ (and:DI (match_operand:DI 1 "s_register_operand" "%w,w,0,0,0,r")
169+ (match_operand:DI 2 "neon_inv_logic_op2" "w,w,DL,DL,r,r")))]
170 "TARGET_NEON"
171 {
172 switch (which_alternative)
173 {
174- case 0: return "vand\t%P0, %P1, %P2";
175- case 1: return neon_output_logic_immediate ("vand", &operands[2],
176+ case 0: /* fall through */
177+ case 1: return "vand\t%P0, %P1, %P2";
178+ case 2: /* fall through */
179+ case 3: return neon_output_logic_immediate ("vand", &operands[2],
180 DImode, 1, VALID_NEON_QREG_MODE (DImode));
181- case 2: return "#";
182- case 3: return "#";
183+ case 4: return "#";
184+ case 5: return "#";
185 default: gcc_unreachable ();
186 }
187 }
188- [(set_attr "neon_type" "neon_int_1,neon_int_1,*,*")
189- (set_attr "length" "*,*,8,8")]
190+ [(set_attr "neon_type" "neon_int_1,neon_int_1,neon_int_1,neon_int_1,*,*")
191+ (set_attr "length" "*,*,*,*,8,8")
192+ (set_attr "alt_tune" "nota8,onlya8,nota8,onlya8,*,*")]
193 )
194
195 (define_insn "orn<mode>3_neon"
196@@ -1080,16 +1090,18 @@
197 )
198
199 (define_insn "xordi3_neon"
200- [(set (match_operand:DI 0 "s_register_operand" "=w,?&r,?&r")
201- (xor:DI (match_operand:DI 1 "s_register_operand" "%w,0,r")
202- (match_operand:DI 2 "s_register_operand" "w,r,r")))]
203+ [(set (match_operand:DI 0 "s_register_operand" "=w,?w,?&r,?&r")
204+ (xor:DI (match_operand:DI 1 "s_register_operand" "%w,w,0,r")
205+ (match_operand:DI 2 "s_register_operand" "w,w,r,r")))]
206 "TARGET_NEON"
207 "@
208 veor\t%P0, %P1, %P2
209+ veor\t%P0, %P1, %P2
210 #
211 #"
212- [(set_attr "neon_type" "neon_int_1,*,*")
213- (set_attr "length" "*,8,8")]
214+ [(set_attr "neon_type" "neon_int_1,neon_int_1,*,*")
215+ (set_attr "length" "*,*,8,8")
216+ (set_attr "alt_tune" "nota8,onlya8,*,*")]
217 )
218
219 (define_insn "one_cmpl<mode>2"
220
221=== modified file 'gcc/config/arm/vfp.md'
222--- old/gcc/config/arm/vfp.md 2010-08-13 10:59:06 +0000
223+++ new/gcc/config/arm/vfp.md 2010-08-13 11:40:17 +0000
224@@ -133,9 +133,51 @@
225 ;; DImode moves
226
227 (define_insn "*arm_movdi_vfp"
228- [(set (match_operand:DI 0 "nonimmediate_di_operand" "=r, r,m,w,r,w,w, Uv")
229- (match_operand:DI 1 "di_operand" "rIK,mi,r,r,w,w,Uvi,w"))]
230- "TARGET_ARM && TARGET_HARD_FLOAT && TARGET_VFP
231+ [(set (match_operand:DI 0 "nonimmediate_di_operand" "=r, r, m,w,r,w,w, Uv")
232+ (match_operand:DI 1 "di_operand" "rIK,mi,r,r,w,w,Uvi,w"))]
233+ "TARGET_ARM && TARGET_HARD_FLOAT && TARGET_VFP && arm_tune != cortexa8
234+ && ( register_operand (operands[0], DImode)
235+ || register_operand (operands[1], DImode))"
236+ "*
237+ switch (which_alternative)
238+ {
239+ case 0:
240+ return \"#\";
241+ case 1:
242+ case 2:
243+ return output_move_double (operands);
244+ case 3:
245+ return \"fmdrr%?\\t%P0, %Q1, %R1\\t%@ int\";
246+ case 4:
247+ return \"fmrrd%?\\t%Q0, %R0, %P1\\t%@ int\";
248+ case 5:
249+ if (TARGET_VFP_SINGLE)
250+ return \"fcpys%?\\t%0, %1\\t%@ int\;fcpys%?\\t%p0, %p1\\t%@ int\";
251+ else
252+ return \"fcpyd%?\\t%P0, %P1\\t%@ int\";
253+ case 6: case 7:
254+ return output_move_vfp (operands);
255+ default:
256+ gcc_unreachable ();
257+ }
258+ "
259+ [(set_attr "type" "*,load2,store2,r_2_f,f_2_r,ffarithd,f_loadd,f_stored")
260+ (set_attr "neon_type" "*,*,*,neon_mcr_2_mcrr,neon_mrrc,neon_vmov,*,*")
261+ (set (attr "length") (cond [(eq_attr "alternative" "0,1,2") (const_int 8)
262+ (eq_attr "alternative" "5")
263+ (if_then_else
264+ (eq (symbol_ref "TARGET_VFP_SINGLE") (const_int 1))
265+ (const_int 8)
266+ (const_int 4))]
267+ (const_int 4)))
268+ (set_attr "pool_range" "*,1020,*,*,*,*,1020,*")
269+ (set_attr "neg_pool_range" "*,1008,*,*,*,*,1008,*")]
270+)
271+
272+(define_insn "*arm_movdi_vfp_cortexa8"
273+ [(set (match_operand:DI 0 "nonimmediate_di_operand" "=r, r,m,w,!r,w,w, Uv")
274+ (match_operand:DI 1 "di_operand" "rIK,mi,r,r,w,w,Uvi,w"))]
275+ "TARGET_ARM && TARGET_HARD_FLOAT && TARGET_VFP && arm_tune == cortexa8
276 && ( register_operand (operands[0], DImode)
277 || register_operand (operands[1], DImode))"
278 "*
279
280=== modified file 'gcc/ira-costs.c'
281--- old/gcc/ira-costs.c 2009-11-25 10:55:54 +0000
282+++ new/gcc/ira-costs.c 2010-08-13 11:40:17 +0000
283@@ -224,6 +224,14 @@
284 int alt_fail = 0;
285 int alt_cost = 0, op_cost_add;
286
287+ if (!recog_data.alternative_enabled_p[alt])
288+ {
289+ for (i = 0; i < recog_data.n_operands; i++)
290+ constraints[i] = skip_alternative (constraints[i]);
291+
292+ continue;
293+ }
294+
295 for (i = 0; i < n_ops; i++)
296 {
297 unsigned char c;
298
diff --git a/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99354.patch b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99354.patch
new file mode 100644
index 0000000000..743e2751c7
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99354.patch
@@ -0,0 +1,384 @@
1 Richard Earnshaw <rearnsha@arm.com>
2
3 gcc/
4 * doc/tm.texi (OVERLAPPING_REGISTER_NAMES): Document new macro.
5 * output.h (decode_reg_name_and_count): Declare.
6 * varasm.c (decode_reg_name_and_count): New function.
7 (decode_reg_name): Reimplement using decode_reg_name_and_count.
8 * reginfo.c (fix_register): Use decode_reg_name_and_count and
9 iterate over all regs used.
10 * stmt.c (expand_asm_operands): Likewise.
11 * config/arm/aout.h (OVERLAPPING_REGISTER_NAMES): Define.
12 (ADDITIONAL_REGISTER_NAMES): Remove aliases that overlap
13 multiple machine registers.
14
152010-07-26 Julian Brown <julian@codesourcery.com>
16
17 Merge from Sourcery G++ 4.4:
18
19 2010-04-08 Bernd Schmidt <bernds@codesourcery.com>
20
21 Issue #6952
22
23=== modified file 'gcc/config/arm/aout.h'
24--- old/gcc/config/arm/aout.h 2009-06-21 19:48:15 +0000
25+++ new/gcc/config/arm/aout.h 2010-08-13 11:53:46 +0000
26@@ -163,31 +163,45 @@
27 {"mvdx12", 39}, \
28 {"mvdx13", 40}, \
29 {"mvdx14", 41}, \
30- {"mvdx15", 42}, \
31- {"d0", 63}, {"q0", 63}, \
32- {"d1", 65}, \
33- {"d2", 67}, {"q1", 67}, \
34- {"d3", 69}, \
35- {"d4", 71}, {"q2", 71}, \
36- {"d5", 73}, \
37- {"d6", 75}, {"q3", 75}, \
38- {"d7", 77}, \
39- {"d8", 79}, {"q4", 79}, \
40- {"d9", 81}, \
41- {"d10", 83}, {"q5", 83}, \
42- {"d11", 85}, \
43- {"d12", 87}, {"q6", 87}, \
44- {"d13", 89}, \
45- {"d14", 91}, {"q7", 91}, \
46- {"d15", 93}, \
47- {"q8", 95}, \
48- {"q9", 99}, \
49- {"q10", 103}, \
50- {"q11", 107}, \
51- {"q12", 111}, \
52- {"q13", 115}, \
53- {"q14", 119}, \
54- {"q15", 123} \
55+ {"mvdx15", 42} \
56+}
57+#endif
58+
59+#ifndef OVERLAPPING_REGISTER_NAMES
60+#define OVERLAPPING_REGISTER_NAMES \
61+{ \
62+ {"d0", 63, 2}, \
63+ {"d1", 65, 2}, \
64+ {"d2", 67, 2}, \
65+ {"d3", 69, 2}, \
66+ {"d4", 71, 2}, \
67+ {"d5", 73, 2}, \
68+ {"d6", 75, 2}, \
69+ {"d7", 77, 2}, \
70+ {"d8", 79, 2}, \
71+ {"d9", 81, 2}, \
72+ {"d10", 83, 2}, \
73+ {"d11", 85, 2}, \
74+ {"d12", 87, 2}, \
75+ {"d13", 89, 2}, \
76+ {"d14", 91, 2}, \
77+ {"d15", 93, 2}, \
78+ {"q0", 63, 4}, \
79+ {"q1", 67, 4}, \
80+ {"q2", 71, 4}, \
81+ {"q3", 75, 4}, \
82+ {"q4", 79, 4}, \
83+ {"q5", 83, 4}, \
84+ {"q6", 87, 4}, \
85+ {"q7", 91, 4}, \
86+ {"q8", 95, 4}, \
87+ {"q9", 99, 4}, \
88+ {"q10", 103, 4}, \
89+ {"q11", 107, 4}, \
90+ {"q12", 111, 4}, \
91+ {"q13", 115, 4}, \
92+ {"q14", 119, 4}, \
93+ {"q15", 123, 4} \
94 }
95 #endif
96
97
98=== modified file 'gcc/doc/tm.texi'
99--- old/gcc/doc/tm.texi 2010-06-24 20:06:37 +0000
100+++ new/gcc/doc/tm.texi 2010-08-13 11:53:46 +0000
101@@ -8339,6 +8339,22 @@
102 to registers using alternate names.
103 @end defmac
104
105+@defmac OVERLAPPING_REGISTER_NAMES
106+If defined, a C initializer for an array of structures containing a
107+name, a register number and a count of the number of consecutive
108+machine registers the name overlaps. This macro defines additional
109+names for hard registers, thus allowing the @code{asm} option in
110+declarations to refer to registers using alternate names. Unlike
111+@code{ADDITIONAL_REGISTER_NAMES}, this macro should be used when the
112+register name implies multiple underlying registers.
113+
114+This macro should be used when it is important that a clobber in an
115+@code{asm} statement clobbers all the underlying values implied by the
116+register name. For example, on ARM, clobbering the double-precision
117+VFP register ``d0'' implies clobbering both single-precision registers
118+``s0'' and ``s1''.
119+@end defmac
120+
121 @defmac ASM_OUTPUT_OPCODE (@var{stream}, @var{ptr})
122 Define this macro if you are using an unusual assembler that
123 requires different names for the machine instructions.
124
125=== modified file 'gcc/output.h'
126--- old/gcc/output.h 2009-10-26 21:57:10 +0000
127+++ new/gcc/output.h 2010-08-13 11:53:46 +0000
128@@ -173,6 +173,11 @@
129 Prefixes such as % are optional. */
130 extern int decode_reg_name (const char *);
131
132+/* Similar to decode_reg_name, but takes an extra parameter that is a
133+ pointer to the number of (internal) registers described by the
134+ external name. */
135+extern int decode_reg_name_and_count (const char *, int *);
136+
137 extern void assemble_alias (tree, tree);
138
139 extern void default_assemble_visibility (tree, int);
140
141=== modified file 'gcc/reginfo.c'
142--- old/gcc/reginfo.c 2010-04-19 09:04:43 +0000
143+++ new/gcc/reginfo.c 2010-08-13 11:53:46 +0000
144@@ -799,36 +799,41 @@
145 fix_register (const char *name, int fixed, int call_used)
146 {
147 int i;
148+ int reg, nregs;
149
150 /* Decode the name and update the primary form of
151 the register info. */
152
153- if ((i = decode_reg_name (name)) >= 0)
154+ if ((reg = decode_reg_name_and_count (name, &nregs)) >= 0)
155 {
156- if ((i == STACK_POINTER_REGNUM
157+ gcc_assert (nregs >= 1);
158+ for (i = reg; i < reg + nregs; i++)
159+ {
160+ if ((i == STACK_POINTER_REGNUM
161 #ifdef HARD_FRAME_POINTER_REGNUM
162- || i == HARD_FRAME_POINTER_REGNUM
163+ || i == HARD_FRAME_POINTER_REGNUM
164 #else
165- || i == FRAME_POINTER_REGNUM
166+ || i == FRAME_POINTER_REGNUM
167 #endif
168- )
169- && (fixed == 0 || call_used == 0))
170- {
171- static const char * const what_option[2][2] = {
172- { "call-saved", "call-used" },
173- { "no-such-option", "fixed" }};
174+ )
175+ && (fixed == 0 || call_used == 0))
176+ {
177+ static const char * const what_option[2][2] = {
178+ { "call-saved", "call-used" },
179+ { "no-such-option", "fixed" }};
180
181- error ("can't use '%s' as a %s register", name,
182- what_option[fixed][call_used]);
183- }
184- else
185- {
186- fixed_regs[i] = fixed;
187- call_used_regs[i] = call_used;
188+ error ("can't use '%s' as a %s register", name,
189+ what_option[fixed][call_used]);
190+ }
191+ else
192+ {
193+ fixed_regs[i] = fixed;
194+ call_used_regs[i] = call_used;
195 #ifdef CALL_REALLY_USED_REGISTERS
196- if (fixed == 0)
197- call_really_used_regs[i] = call_used;
198+ if (fixed == 0)
199+ call_really_used_regs[i] = call_used;
200 #endif
201+ }
202 }
203 }
204 else
205
206=== modified file 'gcc/stmt.c'
207--- old/gcc/stmt.c 2010-02-19 09:53:51 +0000
208+++ new/gcc/stmt.c 2010-08-13 11:53:46 +0000
209@@ -684,13 +684,14 @@
210 for (tail = clobbers; tail; tail = TREE_CHAIN (tail))
211 {
212 const char *regname;
213+ int nregs;
214
215 if (TREE_VALUE (tail) == error_mark_node)
216 return;
217 regname = TREE_STRING_POINTER (TREE_VALUE (tail));
218
219- i = decode_reg_name (regname);
220- if (i >= 0 || i == -4)
221+ i = decode_reg_name_and_count (regname, &nregs);
222+ if (i == -4)
223 ++nclobbers;
224 else if (i == -2)
225 error ("unknown register name %qs in %<asm%>", regname);
226@@ -698,14 +699,21 @@
227 /* Mark clobbered registers. */
228 if (i >= 0)
229 {
230- /* Clobbering the PIC register is an error. */
231- if (i == (int) PIC_OFFSET_TABLE_REGNUM)
232+ int reg;
233+
234+ for (reg = i; reg < i + nregs; reg++)
235 {
236- error ("PIC register %qs clobbered in %<asm%>", regname);
237- return;
238+ ++nclobbers;
239+
240+ /* Clobbering the PIC register is an error. */
241+ if (reg == (int) PIC_OFFSET_TABLE_REGNUM)
242+ {
243+ error ("PIC register clobbered by %qs in %<asm%>", regname);
244+ return;
245+ }
246+
247+ SET_HARD_REG_BIT (clobbered_regs, reg);
248 }
249-
250- SET_HARD_REG_BIT (clobbered_regs, i);
251 }
252 }
253
254@@ -1026,7 +1034,8 @@
255 for (tail = clobbers; tail; tail = TREE_CHAIN (tail))
256 {
257 const char *regname = TREE_STRING_POINTER (TREE_VALUE (tail));
258- int j = decode_reg_name (regname);
259+ int reg, nregs;
260+ int j = decode_reg_name_and_count (regname, &nregs);
261 rtx clobbered_reg;
262
263 if (j < 0)
264@@ -1048,30 +1057,39 @@
265 continue;
266 }
267
268- /* Use QImode since that's guaranteed to clobber just one reg. */
269- clobbered_reg = gen_rtx_REG (QImode, j);
270-
271- /* Do sanity check for overlap between clobbers and respectively
272- input and outputs that hasn't been handled. Such overlap
273- should have been detected and reported above. */
274- if (!clobber_conflict_found)
275+ for (reg = j; reg < j + nregs; reg++)
276 {
277- int opno;
278-
279- /* We test the old body (obody) contents to avoid tripping
280- over the under-construction body. */
281- for (opno = 0; opno < noutputs; opno++)
282- if (reg_overlap_mentioned_p (clobbered_reg, output_rtx[opno]))
283- internal_error ("asm clobber conflict with output operand");
284-
285- for (opno = 0; opno < ninputs - ninout; opno++)
286- if (reg_overlap_mentioned_p (clobbered_reg,
287- ASM_OPERANDS_INPUT (obody, opno)))
288- internal_error ("asm clobber conflict with input operand");
289+ /* Use QImode since that's guaranteed to clobber just
290+ * one reg. */
291+ clobbered_reg = gen_rtx_REG (QImode, reg);
292+
293+ /* Do sanity check for overlap between clobbers and
294+ respectively input and outputs that hasn't been
295+ handled. Such overlap should have been detected and
296+ reported above. */
297+ if (!clobber_conflict_found)
298+ {
299+ int opno;
300+
301+ /* We test the old body (obody) contents to avoid
302+ tripping over the under-construction body. */
303+ for (opno = 0; opno < noutputs; opno++)
304+ if (reg_overlap_mentioned_p (clobbered_reg,
305+ output_rtx[opno]))
306+ internal_error
307+ ("asm clobber conflict with output operand");
308+
309+ for (opno = 0; opno < ninputs - ninout; opno++)
310+ if (reg_overlap_mentioned_p (clobbered_reg,
311+ ASM_OPERANDS_INPUT (obody,
312+ opno)))
313+ internal_error
314+ ("asm clobber conflict with input operand");
315+ }
316+
317+ XVECEXP (body, 0, i++)
318+ = gen_rtx_CLOBBER (VOIDmode, clobbered_reg);
319 }
320-
321- XVECEXP (body, 0, i++)
322- = gen_rtx_CLOBBER (VOIDmode, clobbered_reg);
323 }
324
325 if (nlabels > 0)
326
327=== modified file 'gcc/varasm.c'
328--- old/gcc/varasm.c 2010-03-27 11:56:30 +0000
329+++ new/gcc/varasm.c 2010-08-13 11:53:46 +0000
330@@ -1043,8 +1043,11 @@
331 Prefixes such as % are optional. */
332
333 int
334-decode_reg_name (const char *asmspec)
335+decode_reg_name_and_count (const char *asmspec, int *pnregs)
336 {
337+ /* Presume just one register is clobbered. */
338+ *pnregs = 1;
339+
340 if (asmspec != 0)
341 {
342 int i;
343@@ -1070,6 +1073,25 @@
344 && ! strcmp (asmspec, strip_reg_name (reg_names[i])))
345 return i;
346
347+#ifdef OVERLAPPING_REGISTER_NAMES
348+ {
349+ static const struct
350+ {
351+ const char *const name;
352+ const int number;
353+ const int nregs;
354+ } table[] = OVERLAPPING_REGISTER_NAMES;
355+
356+ for (i = 0; i < (int) ARRAY_SIZE (table); i++)
357+ if (table[i].name[0]
358+ && ! strcmp (asmspec, table[i].name))
359+ {
360+ *pnregs = table[i].nregs;
361+ return table[i].number;
362+ }
363+ }
364+#endif /* OVERLAPPING_REGISTER_NAMES */
365+
366 #ifdef ADDITIONAL_REGISTER_NAMES
367 {
368 static const struct { const char *const name; const int number; } table[]
369@@ -1093,6 +1115,14 @@
370
371 return -1;
372 }
373+
374+int
375+decode_reg_name (const char *name)
376+{
377+ int count;
378+ return decode_reg_name_and_count (name, &count);
379+}
380+
381
382 /* Return true if DECL's initializer is suitable for a BSS section. */
383
384
diff --git a/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99355.patch b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99355.patch
new file mode 100644
index 0000000000..b47c2ceb4c
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99355.patch
@@ -0,0 +1,181 @@
1 2010-04-12 Andrew Stubbs <ams@codesourcery.com>
2
3 Issue #7178
4
5 gcc/
6 * config/arm/arm.c (arm_init_libfuncs): Change __gnu_f2h_ieee to
7 __aeabi_f2h, __gnu_f2h_alternative to __aeabi_f2h_alt, __gnu_h2f_ieee
8 to __aeabi_h2f, and __gnu_h2f_alternative to __aeabi_h2f_alt.
9 * config/arm/fp16.c (__gnu_f2h_internal): Change return type to
10 unsigned int. Change 'sign' variable likewise.
11 (__gnu_h2f_internal): Set to static inline.
12 Change return type to unsigned int. Change 'sign' variable likewise.
13 (ALIAS): New define.
14 (__gnu_f2h_ieee): Change unsigned short to unsigned int.
15 (__gnu_h2f_ieee): Likewise.
16 (__gnu_f2h_alternative): Likewise.
17 (__gnu_h2f_alternative): Likewise.
18 (__aeabi_f2h, __aeabi_h2f): New aliases.
19 (__aeabi_f2h_alt, __aeabi_h2f_alt): Likewise.
20 * config/arm/sfp-machine.h (__extendhfsf2): Set to __aeabi_h2f.
21 (__truncsfhf2): Set to __aeabi_f2h.
22
23 gcc/testsuite/
24 * g++.dg/ext/arm-fp16/arm-fp16-ops-5.C: Check for __aeabi_h2f
25 and __aeabi_f2h.
26 * g++.dg/ext/arm-fp16/arm-fp16-ops-6.C: Likewise.
27 * gcc.dg/torture/arm-fp16-ops-5.c: Likewise.
28 * gcc.dg/torture/arm-fp16-ops-6.c: Likewise.
29
302010-07-26 Julian Brown <julian@codesourcery.com>
31
32 Merge from Sourcery G++ 4.4:
33
34 Richard Earnshaw <rearnsha@arm.com>
35
36 gcc/
37
38=== modified file 'gcc/config/arm/arm.c'
39--- old/gcc/config/arm/arm.c 2010-08-13 11:02:47 +0000
40+++ new/gcc/config/arm/arm.c 2010-08-13 14:08:20 +0000
41@@ -1054,12 +1054,12 @@
42 /* Conversions. */
43 set_conv_libfunc (trunc_optab, HFmode, SFmode,
44 (arm_fp16_format == ARM_FP16_FORMAT_IEEE
45- ? "__gnu_f2h_ieee"
46- : "__gnu_f2h_alternative"));
47+ ? "__aeabi_f2h"
48+ : "__aeabi_f2h_alt"));
49 set_conv_libfunc (sext_optab, SFmode, HFmode,
50 (arm_fp16_format == ARM_FP16_FORMAT_IEEE
51- ? "__gnu_h2f_ieee"
52- : "__gnu_h2f_alternative"));
53+ ? "__aeabi_h2f"
54+ : "__aeabi_h2f_alt"));
55
56 /* Arithmetic. */
57 set_optab_libfunc (add_optab, HFmode, NULL);
58
59=== modified file 'gcc/config/arm/fp16.c'
60--- old/gcc/config/arm/fp16.c 2009-06-18 11:26:37 +0000
61+++ new/gcc/config/arm/fp16.c 2010-08-13 14:08:20 +0000
62@@ -22,10 +22,10 @@
63 see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
64 <http://www.gnu.org/licenses/>. */
65
66-static inline unsigned short
67+static inline unsigned int
68 __gnu_f2h_internal(unsigned int a, int ieee)
69 {
70- unsigned short sign = (a >> 16) & 0x8000;
71+ unsigned int sign = (a >> 16) & 0x8000;
72 int aexp = (a >> 23) & 0xff;
73 unsigned int mantissa = a & 0x007fffff;
74 unsigned int mask;
75@@ -95,10 +95,10 @@
76 return sign | (((aexp + 14) << 10) + (mantissa >> 13));
77 }
78
79-unsigned int
80-__gnu_h2f_internal(unsigned short a, int ieee)
81+static inline unsigned int
82+__gnu_h2f_internal(unsigned int a, int ieee)
83 {
84- unsigned int sign = (unsigned int)(a & 0x8000) << 16;
85+ unsigned int sign = (a & 0x00008000) << 16;
86 int aexp = (a >> 10) & 0x1f;
87 unsigned int mantissa = a & 0x3ff;
88
89@@ -120,26 +120,33 @@
90 return sign | (((aexp + 0x70) << 23) + (mantissa << 13));
91 }
92
93-unsigned short
94+#define ALIAS(src, dst) \
95+ typeof (src) dst __attribute__ ((alias (#src)));
96+
97+unsigned int
98 __gnu_f2h_ieee(unsigned int a)
99 {
100 return __gnu_f2h_internal(a, 1);
101 }
102+ALIAS (__gnu_f2h_ieee, __aeabi_f2h)
103
104 unsigned int
105-__gnu_h2f_ieee(unsigned short a)
106+__gnu_h2f_ieee(unsigned int a)
107 {
108 return __gnu_h2f_internal(a, 1);
109 }
110+ALIAS (__gnu_h2f_ieee, __aeabi_h2f)
111
112-unsigned short
113+unsigned int
114 __gnu_f2h_alternative(unsigned int x)
115 {
116 return __gnu_f2h_internal(x, 0);
117 }
118+ALIAS (__gnu_f2h_alternative, __aeabi_f2h_alt)
119
120 unsigned int
121-__gnu_h2f_alternative(unsigned short a)
122+__gnu_h2f_alternative(unsigned int a)
123 {
124 return __gnu_h2f_internal(a, 0);
125 }
126+ALIAS (__gnu_h2f_alternative, __aeabi_h2f_alt)
127
128=== modified file 'gcc/config/arm/sfp-machine.h'
129--- old/gcc/config/arm/sfp-machine.h 2009-06-18 11:26:37 +0000
130+++ new/gcc/config/arm/sfp-machine.h 2010-08-13 14:08:20 +0000
131@@ -99,7 +99,7 @@
132 #define __fixdfdi __aeabi_d2lz
133 #define __fixunsdfdi __aeabi_d2ulz
134 #define __floatdidf __aeabi_l2d
135-#define __extendhfsf2 __gnu_h2f_ieee
136-#define __truncsfhf2 __gnu_f2h_ieee
137+#define __extendhfsf2 __aeabi_h2f
138+#define __truncsfhf2 __aeabi_f2h
139
140 #endif /* __ARM_EABI__ */
141
142=== modified file 'gcc/testsuite/g++.dg/ext/arm-fp16/arm-fp16-ops-5.C'
143--- old/gcc/testsuite/g++.dg/ext/arm-fp16/arm-fp16-ops-5.C 2010-07-29 15:38:15 +0000
144+++ new/gcc/testsuite/g++.dg/ext/arm-fp16/arm-fp16-ops-5.C 2010-08-13 14:08:20 +0000
145@@ -13,3 +13,5 @@
146 /* { dg-final { scan-assembler-not "\tbl\t__gnu_h\[a-z\]*_ieee" } } */
147 /* { dg-final { scan-assembler-not "\tbl\t__gnu_h2f_ieee" } } */
148 /* { dg-final { scan-assembler-not "\tbl\t__gnu_f2h_ieee" } } */
149+/* { dg-final { scan-assembler-not "\tbl\t__aeabi_h2f" } } */
150+/* { dg-final { scan-assembler-not "\tbl\t__aeabi_f2h" } } */
151
152=== modified file 'gcc/testsuite/g++.dg/ext/arm-fp16/arm-fp16-ops-6.C'
153--- old/gcc/testsuite/g++.dg/ext/arm-fp16/arm-fp16-ops-6.C 2010-07-29 15:38:15 +0000
154+++ new/gcc/testsuite/g++.dg/ext/arm-fp16/arm-fp16-ops-6.C 2010-08-13 14:08:20 +0000
155@@ -13,3 +13,5 @@
156 /* { dg-final { scan-assembler-not "\tbl\t__gnu_h\[a-z\]*_ieee" } } */
157 /* { dg-final { scan-assembler-not "\tbl\t__gnu_h2f_ieee" } } */
158 /* { dg-final { scan-assembler-not "\tbl\t__gnu_f2h_ieee" } } */
159+/* { dg-final { scan-assembler-not "\tbl\t__aeabi_h2f" } } */
160+/* { dg-final { scan-assembler-not "\tbl\t__aeabi_f2h" } } */
161
162=== modified file 'gcc/testsuite/gcc.dg/torture/arm-fp16-ops-5.c'
163--- old/gcc/testsuite/gcc.dg/torture/arm-fp16-ops-5.c 2010-07-29 15:38:15 +0000
164+++ new/gcc/testsuite/gcc.dg/torture/arm-fp16-ops-5.c 2010-08-13 14:08:20 +0000
165@@ -13,3 +13,5 @@
166 /* { dg-final { scan-assembler-not "\tbl\t__gnu_h\[a-z\]*_ieee" } } */
167 /* { dg-final { scan-assembler-not "\tbl\t__gnu_h2f_ieee" } } */
168 /* { dg-final { scan-assembler-not "\tbl\t__gnu_f2h_ieee" } } */
169+/* { dg-final { scan-assembler-not "\tbl\t__aeabi_h2f" } } */
170+/* { dg-final { scan-assembler-not "\tbl\t__aeabi_f2h" } } */
171
172=== modified file 'gcc/testsuite/gcc.dg/torture/arm-fp16-ops-6.c'
173--- old/gcc/testsuite/gcc.dg/torture/arm-fp16-ops-6.c 2010-07-29 15:38:15 +0000
174+++ new/gcc/testsuite/gcc.dg/torture/arm-fp16-ops-6.c 2010-08-13 14:08:20 +0000
175@@ -13,3 +13,5 @@
176 /* { dg-final { scan-assembler-not "\tbl\t__gnu_h\[a-z\]*_ieee" } } */
177 /* { dg-final { scan-assembler-not "\tbl\t__gnu_h2f_ieee" } } */
178 /* { dg-final { scan-assembler-not "\tbl\t__gnu_f2h_ieee" } } */
179+/* { dg-final { scan-assembler-not "\tbl\t__aeabi_h2f" } } */
180+/* { dg-final { scan-assembler-not "\tbl\t__aeabi_f2h" } } */
181
diff --git a/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99356.patch b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99356.patch
new file mode 100644
index 0000000000..64efbc759e
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99356.patch
@@ -0,0 +1,376 @@
1
2 2010-04-11 Julian Brown <julian@codesourcery.com>
3
4 Issue #7326
5
6 gcc/
7 * config/arm/arm.c (arm_issue_rate): Return 2 for Cortex-A5.
8 * config/arm/arm.md (generic_sched): No for Cortex-A5.
9 (generic_vfp): Likewise.
10 (cortex-a5.md): Include.
11 * config/arm/cortex-a5.md: New.
12
132010-07-26 Julian Brown <julian@codesourcery.com>
14
15 Merge from Sourcery G++ 4.4:
16
17 2010-04-12 Andrew Stubbs <ams@codesourcery.com>
18
19
20=== modified file 'gcc/config/arm/arm.c'
21--- old/gcc/config/arm/arm.c 2010-08-13 14:08:20 +0000
22+++ new/gcc/config/arm/arm.c 2010-08-13 15:15:12 +0000
23@@ -22262,6 +22262,7 @@
24 {
25 case cortexr4:
26 case cortexr4f:
27+ case cortexa5:
28 case cortexa8:
29 case cortexa9:
30 return 2;
31
32=== modified file 'gcc/config/arm/arm.md'
33--- old/gcc/config/arm/arm.md 2010-08-13 11:40:17 +0000
34+++ new/gcc/config/arm/arm.md 2010-08-13 15:15:12 +0000
35@@ -419,7 +419,7 @@
36
37 (define_attr "generic_sched" "yes,no"
38 (const (if_then_else
39- (ior (eq_attr "tune" "arm926ejs,arm1020e,arm1026ejs,arm1136js,arm1136jfs,cortexa8,cortexa9")
40+ (ior (eq_attr "tune" "arm926ejs,arm1020e,arm1026ejs,arm1136js,arm1136jfs,cortexa5,cortexa8,cortexa9")
41 (eq_attr "tune_cortexr4" "yes"))
42 (const_string "no")
43 (const_string "yes"))))
44@@ -427,7 +427,7 @@
45 (define_attr "generic_vfp" "yes,no"
46 (const (if_then_else
47 (and (eq_attr "fpu" "vfp")
48- (eq_attr "tune" "!arm1020e,arm1022e,cortexa8,cortexa9")
49+ (eq_attr "tune" "!arm1020e,arm1022e,cortexa5,cortexa8,cortexa9")
50 (eq_attr "tune_cortexr4" "no"))
51 (const_string "yes")
52 (const_string "no"))))
53@@ -451,6 +451,7 @@
54 (include "arm1020e.md")
55 (include "arm1026ejs.md")
56 (include "arm1136jfs.md")
57+(include "cortex-a5.md")
58 (include "cortex-a8.md")
59 (include "cortex-a9.md")
60 (include "cortex-r4.md")
61
62=== added file 'gcc/config/arm/cortex-a5.md'
63--- old/gcc/config/arm/cortex-a5.md 1970-01-01 00:00:00 +0000
64+++ new/gcc/config/arm/cortex-a5.md 2010-08-13 15:15:12 +0000
65@@ -0,0 +1,310 @@
66+;; ARM Cortex-A5 pipeline description
67+;; Copyright (C) 2010 Free Software Foundation, Inc.
68+;; Contributed by CodeSourcery.
69+;;
70+;; This file is part of GCC.
71+;;
72+;; GCC is free software; you can redistribute it and/or modify it
73+;; under the terms of the GNU General Public License as published by
74+;; the Free Software Foundation; either version 3, or (at your option)
75+;; any later version.
76+;;
77+;; GCC is distributed in the hope that it will be useful, but
78+;; WITHOUT ANY WARRANTY; without even the implied warranty of
79+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
80+;; General Public License for more details.
81+;;
82+;; You should have received a copy of the GNU General Public License
83+;; along with GCC; see the file COPYING3. If not see
84+;; <http://www.gnu.org/licenses/>.
85+
86+(define_automaton "cortex_a5")
87+
88+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
89+;; Functional units.
90+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
91+
92+;; The integer (ALU) pipeline. There are five DPU pipeline stages. However the
93+;; decode/issue stages operate the same for all instructions, so do not model
94+;; them. We only need to model the first execute stage because instructions
95+;; always advance one stage per cycle in order. Only branch instructions may
96+;; dual-issue, so a single unit covers all of the LS, ALU, MAC and FPU
97+;; pipelines.
98+
99+(define_cpu_unit "cortex_a5_ex1" "cortex_a5")
100+
101+;; The branch pipeline. Branches can dual-issue with other instructions
102+;; (except when those instructions take multiple cycles to issue).
103+
104+(define_cpu_unit "cortex_a5_branch" "cortex_a5")
105+
106+;; Pseudo-unit for blocking the multiply pipeline when a double-precision
107+;; multiply is in progress.
108+
109+(define_cpu_unit "cortex_a5_fpmul_pipe" "cortex_a5")
110+
111+;; The floating-point add pipeline (ex1/f1 stage), used to model the usage
112+;; of the add pipeline by fmac instructions, etc.
113+
114+(define_cpu_unit "cortex_a5_fpadd_pipe" "cortex_a5")
115+
116+;; Floating-point div/sqrt (long latency, out-of-order completion).
117+
118+(define_cpu_unit "cortex_a5_fp_div_sqrt" "cortex_a5")
119+
120+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
121+;; ALU instructions.
122+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
123+
124+(define_insn_reservation "cortex_a5_alu" 2
125+ (and (eq_attr "tune" "cortexa5")
126+ (eq_attr "type" "alu"))
127+ "cortex_a5_ex1")
128+
129+(define_insn_reservation "cortex_a5_alu_shift" 2
130+ (and (eq_attr "tune" "cortexa5")
131+ (eq_attr "type" "alu_shift,alu_shift_reg"))
132+ "cortex_a5_ex1")
133+
134+;; Forwarding path for unshifted operands.
135+
136+(define_bypass 1 "cortex_a5_alu,cortex_a5_alu_shift"
137+ "cortex_a5_alu")
138+
139+(define_bypass 1 "cortex_a5_alu,cortex_a5_alu_shift"
140+ "cortex_a5_alu_shift"
141+ "arm_no_early_alu_shift_dep")
142+
143+;; The multiplier pipeline can forward results from wr stage only (so I don't
144+;; think there's any need to specify bypasses).
145+
146+(define_insn_reservation "cortex_a5_mul" 2
147+ (and (eq_attr "tune" "cortexa5")
148+ (eq_attr "type" "mult"))
149+ "cortex_a5_ex1")
150+
151+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
152+;; Load/store instructions.
153+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
154+
155+;; Address-generation happens in the issue stage, which is one stage behind
156+;; the ex1 stage (the first stage we care about for scheduling purposes). The
157+;; dc1 stage is parallel with ex1, dc2 with ex2 and rot with wr.
158+
159+;; FIXME: These might not be entirely accurate for load2, load3, load4. I think
160+;; they make sense since there's a 32-bit interface between the DPU and the DCU,
161+;; so we can't load more than that per cycle. The store2, store3, store4
162+;; reservations are similarly guessed.
163+
164+(define_insn_reservation "cortex_a5_load1" 2
165+ (and (eq_attr "tune" "cortexa5")
166+ (eq_attr "type" "load_byte,load1"))
167+ "cortex_a5_ex1")
168+
169+(define_insn_reservation "cortex_a5_store1" 0
170+ (and (eq_attr "tune" "cortexa5")
171+ (eq_attr "type" "store1"))
172+ "cortex_a5_ex1")
173+
174+(define_insn_reservation "cortex_a5_load2" 3
175+ (and (eq_attr "tune" "cortexa5")
176+ (eq_attr "type" "load2"))
177+ "cortex_a5_ex1+cortex_a5_branch, cortex_a5_ex1")
178+
179+(define_insn_reservation "cortex_a5_store2" 0
180+ (and (eq_attr "tune" "cortexa5")
181+ (eq_attr "type" "store2"))
182+ "cortex_a5_ex1+cortex_a5_branch, cortex_a5_ex1")
183+
184+(define_insn_reservation "cortex_a5_load3" 4
185+ (and (eq_attr "tune" "cortexa5")
186+ (eq_attr "type" "load3"))
187+ "cortex_a5_ex1+cortex_a5_branch, cortex_a5_ex1+cortex_a5_branch,\
188+ cortex_a5_ex1")
189+
190+(define_insn_reservation "cortex_a5_store3" 0
191+ (and (eq_attr "tune" "cortexa5")
192+ (eq_attr "type" "store3"))
193+ "cortex_a5_ex1+cortex_a5_branch, cortex_a5_ex1+cortex_a5_branch,\
194+ cortex_a5_ex1")
195+
196+(define_insn_reservation "cortex_a5_load4" 5
197+ (and (eq_attr "tune" "cortexa5")
198+ (eq_attr "type" "load3"))
199+ "cortex_a5_ex1+cortex_a5_branch, cortex_a5_ex1+cortex_a5_branch,\
200+ cortex_a5_ex1+cortex_a5_branch, cortex_a5_ex1")
201+
202+(define_insn_reservation "cortex_a5_store4" 0
203+ (and (eq_attr "tune" "cortexa5")
204+ (eq_attr "type" "store3"))
205+ "cortex_a5_ex1+cortex_a5_branch, cortex_a5_ex1+cortex_a5_branch,\
206+ cortex_a5_ex1+cortex_a5_branch, cortex_a5_ex1")
207+
208+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
209+;; Branches.
210+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
211+
212+;; Direct branches are the only instructions we can dual-issue (also IT and
213+;; nop, but those aren't very interesting for scheduling). (The latency here
214+;; is meant to represent when the branch actually takes place, but may not be
215+;; entirely correct.)
216+
217+(define_insn_reservation "cortex_a5_branch" 3
218+ (and (eq_attr "tune" "cortexa5")
219+ (eq_attr "type" "branch,call"))
220+ "cortex_a5_branch")
221+
222+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
223+;; Floating-point arithmetic.
224+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
225+
226+(define_insn_reservation "cortex_a5_fpalu" 4
227+ (and (eq_attr "tune" "cortexa5")
228+ (eq_attr "type" "ffariths, fadds, ffarithd, faddd, fcpys, fmuls, f_cvt,\
229+ fcmps, fcmpd"))
230+ "cortex_a5_ex1+cortex_a5_fpadd_pipe")
231+
232+;; For fconsts and fconstd, 8-bit immediate data is passed directly from
233+;; f1 to f3 (which I think reduces the latency by one cycle).
234+
235+(define_insn_reservation "cortex_a5_fconst" 3
236+ (and (eq_attr "tune" "cortexa5")
237+ (eq_attr "type" "fconsts,fconstd"))
238+ "cortex_a5_ex1+cortex_a5_fpadd_pipe")
239+
240+;; We should try not to attempt to issue a single-precision multiplication in
241+;; the middle of a double-precision multiplication operation (the usage of
242+;; cortex_a5_fpmul_pipe).
243+
244+(define_insn_reservation "cortex_a5_fpmuls" 4
245+ (and (eq_attr "tune" "cortexa5")
246+ (eq_attr "type" "fmuls"))
247+ "cortex_a5_ex1+cortex_a5_fpmul_pipe")
248+
249+;; For single-precision multiply-accumulate, the add (accumulate) is issued
250+;; whilst the multiply is in F4. The multiply result can then be forwarded
251+;; from F5 to F1. The issue unit is only used once (when we first start
252+;; processing the instruction), but the usage of the FP add pipeline could
253+;; block other instructions attempting to use it simultaneously. We try to
254+;; avoid that using cortex_a5_fpadd_pipe.
255+
256+(define_insn_reservation "cortex_a5_fpmacs" 8
257+ (and (eq_attr "tune" "cortexa5")
258+ (eq_attr "type" "fmacs"))
259+ "cortex_a5_ex1+cortex_a5_fpmul_pipe, nothing*3, cortex_a5_fpadd_pipe")
260+
261+;; Non-multiply instructions can issue in the middle two instructions of a
262+;; double-precision multiply. Note that it isn't entirely clear when a branch
263+;; can dual-issue when a multi-cycle multiplication is in progress; we ignore
264+;; that for now though.
265+
266+(define_insn_reservation "cortex_a5_fpmuld" 7
267+ (and (eq_attr "tune" "cortexa5")
268+ (eq_attr "type" "fmuld"))
269+ "cortex_a5_ex1+cortex_a5_fpmul_pipe, cortex_a5_fpmul_pipe*2,\
270+ cortex_a5_ex1+cortex_a5_fpmul_pipe")
271+
272+(define_insn_reservation "cortex_a5_fpmacd" 11
273+ (and (eq_attr "tune" "cortexa5")
274+ (eq_attr "type" "fmacd"))
275+ "cortex_a5_ex1+cortex_a5_fpmul_pipe, cortex_a5_fpmul_pipe*2,\
276+ cortex_a5_ex1+cortex_a5_fpmul_pipe, nothing*3, cortex_a5_fpadd_pipe")
277+
278+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
279+;; Floating-point divide/square root instructions.
280+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
281+
282+;; ??? Not sure if the 14 cycles taken for single-precision divide to complete
283+;; includes the time taken for the special instruction used to collect the
284+;; result to travel down the multiply pipeline, or not. Assuming so. (If
285+;; that's wrong, the latency should be increased by a few cycles.)
286+
287+;; fsqrt takes one cycle less, but that is not modelled, nor is the use of the
288+;; multiply pipeline to collect the divide/square-root result.
289+
290+(define_insn_reservation "cortex_a5_fdivs" 14
291+ (and (eq_attr "tune" "cortexa5")
292+ (eq_attr "type" "fdivs"))
293+ "cortex_a5_ex1, cortex_a5_fp_div_sqrt * 13")
294+
295+;; ??? Similarly for fdivd.
296+
297+(define_insn_reservation "cortex_a5_fdivd" 29
298+ (and (eq_attr "tune" "cortexa5")
299+ (eq_attr "type" "fdivd"))
300+ "cortex_a5_ex1, cortex_a5_fp_div_sqrt * 28")
301+
302+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
303+;; VFP to/from core transfers.
304+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
305+
306+;; FP loads take data from wr/rot/f3. Might need to define bypasses to model
307+;; this?
308+
309+;; Core-to-VFP transfers use the multiply pipeline.
310+;; Not sure about this at all... I think we need some bypasses too.
311+
312+(define_insn_reservation "cortex_a5_r2f" 4
313+ (and (eq_attr "tune" "cortexa5")
314+ (eq_attr "type" "r_2_f"))
315+ "cortex_a5_ex1")
316+
317+;; Not sure about this either. 6.8.7 says "Additionally, the store pipe used
318+;; for store and FP->core register transfers can forward into the F2 and F3
319+;; stages."
320+;; This doesn't correspond to what we have though.
321+
322+(define_insn_reservation "cortex_a5_f2r" 2
323+ (and (eq_attr "tune" "cortexa5")
324+ (eq_attr "type" "f_2_r"))
325+ "cortex_a5_ex1")
326+
327+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
328+;; VFP flag transfer.
329+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
330+
331+;; ??? The flag forwarding described in section 6.8.11 of the Cortex-A5 DPU
332+;; specification (from fmstat to the ex2 stage of the second instruction) is
333+;; not modeled at present.
334+
335+(define_insn_reservation "cortex_a5_f_flags" 4
336+ (and (eq_attr "tune" "cortexa5")
337+ (eq_attr "type" "f_flag"))
338+ "cortex_a5_ex1")
339+
340+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
341+;; VFP load/store.
342+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
343+
344+(define_insn_reservation "cortex_a5_f_loads" 4
345+ (and (eq_attr "tune" "cortexa5")
346+ (eq_attr "type" "f_loads"))
347+ "cortex_a5_ex1")
348+
349+(define_insn_reservation "cortex_a5_f_loadd" 5
350+ (and (eq_attr "tune" "cortexa5")
351+ (eq_attr "type" "f_load,f_loadd"))
352+ "cortex_a5_ex1+cortex_a5_branch, cortex_a5_ex1")
353+
354+(define_insn_reservation "cortex_a5_f_stores" 0
355+ (and (eq_attr "tune" "cortexa5")
356+ (eq_attr "type" "f_stores"))
357+ "cortex_a5_ex1")
358+
359+(define_insn_reservation "cortex_a5_f_stored" 0
360+ (and (eq_attr "tune" "cortexa5")
361+ (eq_attr "type" "f_store,f_stored"))
362+ "cortex_a5_ex1+cortex_a5_branch, cortex_a5_ex1")
363+
364+;; Load-to-use for floating-point values has a penalty of one cycle, i.e. a
365+;; latency of two (6.8.3).
366+
367+(define_bypass 2 "cortex_a5_f_loads"
368+ "cortex_a5_fpalu, cortex_a5_fpmacs, cortex_a5_fpmuld,\
369+ cortex_a5_fpmacd, cortex_a5_fdivs, cortex_a5_fdivd,\
370+ cortex_a5_f2r")
371+
372+(define_bypass 3 "cortex_a5_f_loadd"
373+ "cortex_a5_fpalu, cortex_a5_fpmacs, cortex_a5_fpmuld,\
374+ cortex_a5_fpmacd, cortex_a5_fdivs, cortex_a5_fdivd,\
375+ cortex_a5_f2r")
376
diff --git a/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99357.patch b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99357.patch
new file mode 100644
index 0000000000..bbdd38b559
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99357.patch
@@ -0,0 +1,27 @@
1 2010-06-12 Jie Zhang <jie@codesourcery.com>
2
3 gcc/
4 * config/arm/vfp.md (arm_movsi_vfp): Set neon_type correctly
5 for neon_ldr and neon_str instructions.
6
72010-07-26 Julian Brown <julian@codesourcery.com>
8
9 Merge from Sourcery G++ 4.4:
10
11 2010-04-11 Julian Brown <julian@codesourcery.com>
12
13 Issue #7326
14
15=== modified file 'gcc/config/arm/vfp.md'
16--- old/gcc/config/arm/vfp.md 2010-08-13 11:40:17 +0000
17+++ new/gcc/config/arm/vfp.md 2010-08-13 15:28:31 +0000
18@@ -82,7 +82,7 @@
19 "
20 [(set_attr "predicable" "yes")
21 (set_attr "type" "*,*,*,*,load1,store1,r_2_f,f_2_r,fcpys,f_loads,f_stores")
22- (set_attr "neon_type" "*,*,*,*,*,*,neon_mcr,neon_mrc,neon_vmov,*,*")
23+ (set_attr "neon_type" "*,*,*,*,*,*,neon_mcr,neon_mrc,neon_vmov,neon_ldr,neon_str")
24 (set_attr "pool_range" "*,*,*,*,4096,*,*,*,*,1020,*")
25 (set_attr "neg_pool_range" "*,*,*,*,4084,*,*,*,*,1008,*")]
26 )
27
diff --git a/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99358.patch b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99358.patch
new file mode 100644
index 0000000000..eedcf62d1e
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99358.patch
@@ -0,0 +1,38 @@
1 2010-06-14 Paul Brook <paul@codesourcery.com>
2
3 Issue #8879
4 gcc/
5 * config/arm/arm.c (use_vfp_abi): Add sorry() for Thumb-1
6 hard-float ABI.
7
82010-07-26 Julian Brown <julian@codesourcery.com>
9
10 Merge from Sourcery G++ 4.4:
11
12 2010-06-12 Jie Zhang <jie@codesourcery.com>
13
14
15=== modified file 'gcc/config/arm/arm.c'
16--- old/gcc/config/arm/arm.c 2010-08-13 15:15:12 +0000
17+++ new/gcc/config/arm/arm.c 2010-08-13 15:37:39 +0000
18@@ -3969,7 +3969,18 @@
19 use_vfp_abi (enum arm_pcs pcs_variant, bool is_double)
20 {
21 if (pcs_variant == ARM_PCS_AAPCS_VFP)
22- return true;
23+ {
24+ static bool seen_thumb1_vfp = false;
25+
26+ if (TARGET_THUMB1 && !seen_thumb1_vfp)
27+ {
28+ sorry ("Thumb-1 hard-float VFP ABI");
29+ /* sorry() is not immediately fatal, so only display this once. */
30+ seen_thumb1_vfp = true;
31+ }
32+
33+ return true;
34+ }
35
36 if (pcs_variant != ARM_PCS_AAPCS_LOCAL)
37 return false;
38
diff --git a/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99359.patch b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99359.patch
new file mode 100644
index 0000000000..92dfe00383
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99359.patch
@@ -0,0 +1,27 @@
12010-07-28 Julian Brown <julian@codesourcery.com>
2
3 Backport from FSF mainline:
4
5 gcc/
6 * config/arm/thumb2.md (*thumb2_movdf_soft_insn): Fix alternatives
7 for pool ranges.
8
9 2010-07-26 Julian Brown <julian@codesourcery.com>
10
11 Merge from Sourcery G++ 4.4:
12
13=== modified file 'gcc/config/arm/thumb2.md'
14--- old/gcc/config/arm/thumb2.md 2010-08-13 10:30:35 +0000
15+++ new/gcc/config/arm/thumb2.md 2010-08-13 16:00:58 +0000
16@@ -319,8 +319,8 @@
17 "
18 [(set_attr "length" "8,12,16,8,8")
19 (set_attr "type" "*,*,*,load2,store2")
20- (set_attr "pool_range" "1020")
21- (set_attr "neg_pool_range" "0")]
22+ (set_attr "pool_range" "*,*,*,1020,*")
23+ (set_attr "neg_pool_range" "*,*,*,0,*")]
24 )
25
26 (define_insn "*thumb2_cmpsi_shiftsi"
27
diff --git a/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99360.patch b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99360.patch
new file mode 100644
index 0000000000..a58dd24416
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99360.patch
@@ -0,0 +1,1759 @@
12010-07-28 Maxim Kuvyrkov <maxim@codesourcery.com>
2
3 Backport code hoisting improvements from mainline:
4
5 2010-07-28 Jakub Jelinek <jakub@redhat.com>
6 PR debug/45105
7 * gcc.dg/pr45105.c: New test.
8
9 2010-07-28 Jakub Jelinek <jakub@redhat.com>
10 PR debug/45105
11 * gcse.c (hoist_code): Use FOR_BB_INSNS macro.
12
13 2010-07-28 Maxim Kuvyrkov <maxim@codesourcery.com>
14 PR rtl-optimization/45107
15 * gcc.dg/pr45107.c: New test.
16
17 2010-07-28 Maxim Kuvyrkov <maxim@codesourcery.com>
18 PR rtl-optimization/45107
19 * gcse.c (hash_scan_set): Use max_distance for gcse-las.
20
21 2010-07-28 Maxim Kuvyrkov <maxim@codesourcery.com>
22 PR rtl-optimization/45101
23 * gcc.dg/pr45101.c: New test.
24
25 2010-07-28 Maxim Kuvyrkov <maxim@codesourcery.com>
26 PR rtl-optimization/45101
27 * gcse.c (hash_scan_set): Fix argument ordering of insert_expr_in_table
28 for gcse-las.
29
30 2010-07-27 Maxim Kuvyrkov <maxim@codesourcery.com>
31 PR rtl-optimization/40956
32 PR target/42495
33 PR middle-end/42574
34 * gcc.target/arm/pr40956.c, gcc.target/arm/pr42495.c,
35 * gcc.target/arm/pr42574.c: Add tests.
36
37 2010-07-27 Maxim Kuvyrkov <maxim@codesourcery.com>
38 * config/arm/arm.c (params.h): Include.
39 (arm_override_options): Tune gcse-unrestricted-cost.
40 * config/arm/t-arm (arm.o): Define dependencies.
41
42 2010-07-27 Maxim Kuvyrkov <maxim@codesourcery.com>
43 PR target/42495
44 PR middle-end/42574
45 * basic-block.h (get_dominated_to_depth): Declare.
46 * dominance.c (get_dominated_to_depth): New function, use
47 get_all_dominated_blocks as a base.
48 (get_all_dominated_blocks): Use get_dominated_to_depth.
49 * gcse.c (occr_t, VEC (occr_t, heap)): Define.
50 (hoist_exprs): Remove.
51 (alloc_code_hoist_mem, free_code_hoist_mem): Update.
52 (compute_code_hoist_vbeinout): Add debug print outs.
53 (hoist_code): Partially rewrite, simplify. Use get_dominated_to_depth.
54 * params.def (PARAM_MAX_HOIST_DEPTH): New parameter to avoid
55 quadratic behavior.
56 * params.h (MAX_HOIST_DEPTH): New macro.
57 * doc/invoke.texi (max-hoist-depth): Document.
58
59 2010-07-27 Maxim Kuvyrkov <maxim@codesourcery.com>
60 PR rtl-optimization/40956
61 * config/arm/arm.c (thumb1_size_rtx_costs): Fix cost of simple
62 constants.
63
64 2010-07-27 Maxim Kuvyrkov <maxim@codesourcery.com>
65 PR target/42495
66 PR middle-end/42574
67 * config/arm/arm.c (legitimize_pic_address): Use
68 gen_calculate_pic_address pattern to emit calculation of PIC address.
69 (will_be_in_index_register): New function.
70 (arm_legitimate_address_outer_p, thumb2_legitimate_address_p,)
71 (thumb1_legitimate_address_p): Use it provided !strict_p.
72 * config/arm/arm.md (calculate_pic_address): New expand and split.
73
74 2010-07-27 Maxim Kuvyrkov <maxim@codesourcery.com>
75 PR target/42495
76 PR middle-end/42574
77 * config/arm/arm.c (thumb1_size_rtx_costs): Add cost for "J" constants.
78 * config/arm/arm.md (define_split "J", define_split "K"): Make
79 IRA/reload friendly.
80
81 2010-07-27 Maxim Kuvyrkov <maxim@codesourcery.com>
82 * gcse.c (insert_insn_end_basic_block): Update signature, remove
83 unused checks.
84 (pre_edge_insert, hoist_code): Update.
85
86 2010-07-27 Maxim Kuvyrkov <maxim@codesourcery.com>
87 PR target/42495
88 PR middle-end/42574
89 * gcse.c (hoist_expr_reaches_here_p): Remove excessive check.
90
91 2010-07-27 Maxim Kuvyrkov <maxim@codesourcery.com>
92 * gcse.c (hoist_code): Generate new pseudo for every new set insn.
93
94 2010-07-27 Maxim Kuvyrkov <maxim@codesourcery.com>
95 PR rtl-optimization/40956
96 PR target/42495
97 PR middle-end/42574
98 * gcse.c (compute_code_hoist_vbeinout): Consider more expressions
99 for hoisting.
100 (hoist_code): Count occurences in current block too.
101
102 2010-07-27 Maxim Kuvyrkov <maxim@codesourcery.com>
103 * gcse.c (struct expr:max_distance): New field.
104 (doing_code_hoisting_p): New static variable.
105 (want_to_gcse_p): Change signature. Allow constrained hoisting of
106 simple expressions, don't change behavior for PRE. Set max_distance.
107 (insert_expr_in_table): Set new max_distance field.
108 (hash_scan_set): Update.
109 (hoist_expr_reaches_here_p): Stop search after max_distance
110 instructions.
111 (find_occr_in_bb): New static function. Use it in ...
112 (hoist_code): Calculate sizes of basic block before any changes are
113 done. Pass max_distance to hoist_expr_reaches_here_p.
114 (one_code_hoisting_pass): Set doing_code_hoisting_p.
115 * params.def (PARAM_GCSE_COST_DISTANCE_RATIO,)
116 (PARAM_GCSE_UNRESTRICTED_COST): New parameters.
117 * params.h (GCSE_COST_DISTANCE_RATIO, GCSE_UNRESTRICTED_COST): New
118 macros.
119 * doc/invoke.texi (gcse-cost-distance-ratio, gcse-unrestricted-cost):
120 Document.
121
122 2010-07-27 Jeff Law <law@redhat.com>
123 Maxim Kuvyrkov <maxim@codesourcery.com>
124 * gcse.c (compute_transpout, transpout): Remove, move logic
125 to prune_expressions.
126 (compute_pre_data): Move pruning of trapping expressions ...
127 (prune_expressions): ... here. New static function.
128 (compute_code_hoist_data): Use it.
129 (alloc_code_hoist_mem, free_code_hoist_mem, hoist_code): Update.
130
131 2010-07-27 Maxim Kuvyrkov <maxim@codesourcery.com>
132 * dbgcnt.def (hoist_insn): New debug counter.
133 * gcse.c (hoist_code): Use it.
134
135 2010-07-28 Julian Brown <julian@codesourcery.com>
136
137 Backport from FSF mainline:
138
139=== modified file 'gcc/basic-block.h'
140--- old/gcc/basic-block.h 2010-04-02 18:54:46 +0000
141+++ new/gcc/basic-block.h 2010-08-16 09:41:58 +0000
142@@ -932,6 +932,8 @@
143 extern VEC (basic_block, heap) *get_dominated_by_region (enum cdi_direction,
144 basic_block *,
145 unsigned);
146+extern VEC (basic_block, heap) *get_dominated_to_depth (enum cdi_direction,
147+ basic_block, int);
148 extern VEC (basic_block, heap) *get_all_dominated_blocks (enum cdi_direction,
149 basic_block);
150 extern void add_to_dominance_info (enum cdi_direction, basic_block);
151
152=== modified file 'gcc/config/arm/arm.c'
153--- old/gcc/config/arm/arm.c 2010-08-13 15:37:39 +0000
154+++ new/gcc/config/arm/arm.c 2010-08-16 09:41:58 +0000
155@@ -56,6 +56,7 @@
156 #include "df.h"
157 #include "intl.h"
158 #include "libfuncs.h"
159+#include "params.h"
160
161 /* Forward definitions of types. */
162 typedef struct minipool_node Mnode;
163@@ -1902,6 +1903,14 @@
164 flag_reorder_blocks = 1;
165 }
166
167+ if (!PARAM_SET_P (PARAM_GCSE_UNRESTRICTED_COST)
168+ && flag_pic)
169+ /* Hoisting PIC address calculations more aggressively provides a small,
170+ but measurable, size reduction for PIC code. Therefore, we decrease
171+ the bar for unrestricted expression hoisting to the cost of PIC address
172+ calculation, which is 2 instructions. */
173+ set_param_value ("gcse-unrestricted-cost", 2);
174+
175 /* Register global variables with the garbage collector. */
176 arm_add_gc_roots ();
177
178@@ -5070,17 +5079,13 @@
179 if (GET_CODE (orig) == SYMBOL_REF
180 || GET_CODE (orig) == LABEL_REF)
181 {
182- rtx pic_ref, address;
183 rtx insn;
184
185 if (reg == 0)
186 {
187 gcc_assert (can_create_pseudo_p ());
188 reg = gen_reg_rtx (Pmode);
189- address = gen_reg_rtx (Pmode);
190 }
191- else
192- address = reg;
193
194 /* VxWorks does not impose a fixed gap between segments; the run-time
195 gap can be different from the object-file gap. We therefore can't
196@@ -5096,18 +5101,21 @@
197 insn = arm_pic_static_addr (orig, reg);
198 else
199 {
200+ rtx pat;
201+ rtx mem;
202+
203 /* If this function doesn't have a pic register, create one now. */
204 require_pic_register ();
205
206- if (TARGET_32BIT)
207- emit_insn (gen_pic_load_addr_32bit (address, orig));
208- else /* TARGET_THUMB1 */
209- emit_insn (gen_pic_load_addr_thumb1 (address, orig));
210-
211- pic_ref = gen_const_mem (Pmode,
212- gen_rtx_PLUS (Pmode, cfun->machine->pic_reg,
213- address));
214- insn = emit_move_insn (reg, pic_ref);
215+ pat = gen_calculate_pic_address (reg, cfun->machine->pic_reg, orig);
216+
217+ /* Make the MEM as close to a constant as possible. */
218+ mem = SET_SRC (pat);
219+ gcc_assert (MEM_P (mem) && !MEM_VOLATILE_P (mem));
220+ MEM_READONLY_P (mem) = 1;
221+ MEM_NOTRAP_P (mem) = 1;
222+
223+ insn = emit_insn (pat);
224 }
225
226 /* Put a REG_EQUAL note on this insn, so that it can be optimized
227@@ -5387,6 +5395,15 @@
228 return FALSE;
229 }
230
231+/* Return true if X will surely end up in an index register after next
232+ splitting pass. */
233+static bool
234+will_be_in_index_register (const_rtx x)
235+{
236+ /* arm.md: calculate_pic_address will split this into a register. */
237+ return GET_CODE (x) == UNSPEC && XINT (x, 1) == UNSPEC_PIC_SYM;
238+}
239+
240 /* Return nonzero if X is a valid ARM state address operand. */
241 int
242 arm_legitimate_address_outer_p (enum machine_mode mode, rtx x, RTX_CODE outer,
243@@ -5444,8 +5461,9 @@
244 rtx xop1 = XEXP (x, 1);
245
246 return ((arm_address_register_rtx_p (xop0, strict_p)
247- && GET_CODE(xop1) == CONST_INT
248- && arm_legitimate_index_p (mode, xop1, outer, strict_p))
249+ && ((GET_CODE(xop1) == CONST_INT
250+ && arm_legitimate_index_p (mode, xop1, outer, strict_p))
251+ || (!strict_p && will_be_in_index_register (xop1))))
252 || (arm_address_register_rtx_p (xop1, strict_p)
253 && arm_legitimate_index_p (mode, xop0, outer, strict_p)));
254 }
255@@ -5531,7 +5549,8 @@
256 rtx xop1 = XEXP (x, 1);
257
258 return ((arm_address_register_rtx_p (xop0, strict_p)
259- && thumb2_legitimate_index_p (mode, xop1, strict_p))
260+ && (thumb2_legitimate_index_p (mode, xop1, strict_p)
261+ || (!strict_p && will_be_in_index_register (xop1))))
262 || (arm_address_register_rtx_p (xop1, strict_p)
263 && thumb2_legitimate_index_p (mode, xop0, strict_p)));
264 }
265@@ -5834,7 +5853,8 @@
266 && XEXP (x, 0) != frame_pointer_rtx
267 && XEXP (x, 1) != frame_pointer_rtx
268 && thumb1_index_register_rtx_p (XEXP (x, 0), strict_p)
269- && thumb1_index_register_rtx_p (XEXP (x, 1), strict_p))
270+ && (thumb1_index_register_rtx_p (XEXP (x, 1), strict_p)
271+ || (!strict_p && will_be_in_index_register (XEXP (x, 1)))))
272 return 1;
273
274 /* REG+const has 5-7 bit offset for non-SP registers. */
275@@ -6413,12 +6433,16 @@
276
277 case CONST_INT:
278 if (outer == SET)
279- {
280- if ((unsigned HOST_WIDE_INT) INTVAL (x) < 256)
281- return 0;
282- if (thumb_shiftable_const (INTVAL (x)))
283- return COSTS_N_INSNS (2);
284- return COSTS_N_INSNS (3);
285+ {
286+ if ((unsigned HOST_WIDE_INT) INTVAL (x) < 256)
287+ return COSTS_N_INSNS (1);
288+ /* See split "TARGET_THUMB1 && satisfies_constraint_J". */
289+ if (INTVAL (x) >= -255 && INTVAL (x) <= -1)
290+ return COSTS_N_INSNS (2);
291+ /* See split "TARGET_THUMB1 && satisfies_constraint_K". */
292+ if (thumb_shiftable_const (INTVAL (x)))
293+ return COSTS_N_INSNS (2);
294+ return COSTS_N_INSNS (3);
295 }
296 else if ((outer == PLUS || outer == COMPARE)
297 && INTVAL (x) < 256 && INTVAL (x) > -256)
298@@ -7110,6 +7134,12 @@
299 a single register, otherwise it costs one insn per word. */
300 if (REG_P (XEXP (x, 0)))
301 *total = COSTS_N_INSNS (1);
302+ else if (flag_pic
303+ && GET_CODE (XEXP (x, 0)) == PLUS
304+ && will_be_in_index_register (XEXP (XEXP (x, 0), 1)))
305+ /* This will be split into two instructions.
306+ See arm.md:calculate_pic_address. */
307+ *total = COSTS_N_INSNS (2);
308 else
309 *total = COSTS_N_INSNS (ARM_NUM_REGS (mode));
310 return true;
311
312=== modified file 'gcc/config/arm/arm.md'
313--- old/gcc/config/arm/arm.md 2010-08-13 15:15:12 +0000
314+++ new/gcc/config/arm/arm.md 2010-08-16 09:41:58 +0000
315@@ -5290,17 +5290,21 @@
316 [(set (match_operand:SI 0 "register_operand" "")
317 (match_operand:SI 1 "const_int_operand" ""))]
318 "TARGET_THUMB1 && satisfies_constraint_J (operands[1])"
319- [(set (match_dup 0) (match_dup 1))
320- (set (match_dup 0) (neg:SI (match_dup 0)))]
321- "operands[1] = GEN_INT (- INTVAL (operands[1]));"
322+ [(set (match_dup 2) (match_dup 1))
323+ (set (match_dup 0) (neg:SI (match_dup 2)))]
324+ "
325+ {
326+ operands[1] = GEN_INT (- INTVAL (operands[1]));
327+ operands[2] = can_create_pseudo_p () ? gen_reg_rtx (SImode) : operands[0];
328+ }"
329 )
330
331 (define_split
332 [(set (match_operand:SI 0 "register_operand" "")
333 (match_operand:SI 1 "const_int_operand" ""))]
334 "TARGET_THUMB1 && satisfies_constraint_K (operands[1])"
335- [(set (match_dup 0) (match_dup 1))
336- (set (match_dup 0) (ashift:SI (match_dup 0) (match_dup 2)))]
337+ [(set (match_dup 2) (match_dup 1))
338+ (set (match_dup 0) (ashift:SI (match_dup 2) (match_dup 3)))]
339 "
340 {
341 unsigned HOST_WIDE_INT val = INTVAL (operands[1]) & 0xffffffffu;
342@@ -5311,12 +5315,13 @@
343 if ((val & (mask << i)) == val)
344 break;
345
346- /* Shouldn't happen, but we don't want to split if the shift is zero. */
347+ /* Don't split if the shift is zero. */
348 if (i == 0)
349 FAIL;
350
351 operands[1] = GEN_INT (val >> i);
352- operands[2] = GEN_INT (i);
353+ operands[2] = can_create_pseudo_p () ? gen_reg_rtx (SImode) : operands[0];
354+ operands[3] = GEN_INT (i);
355 }"
356 )
357
358@@ -5325,6 +5330,34 @@
359 ;; we use an unspec. The offset will be loaded from a constant pool entry,
360 ;; since that is the only type of relocation we can use.
361
362+;; Wrap calculation of the whole PIC address in a single pattern for the
363+;; benefit of optimizers, particularly, PRE and HOIST. Calculation of
364+;; a PIC address involves two loads from memory, so we want to CSE it
365+;; as often as possible.
366+;; This pattern will be split into one of the pic_load_addr_* patterns
367+;; and a move after GCSE optimizations.
368+;;
369+;; Note: Update arm.c: legitimize_pic_address() when changing this pattern.
370+(define_expand "calculate_pic_address"
371+ [(set (match_operand:SI 0 "register_operand" "")
372+ (mem:SI (plus:SI (match_operand:SI 1 "register_operand" "")
373+ (unspec:SI [(match_operand:SI 2 "" "")]
374+ UNSPEC_PIC_SYM))))]
375+ "flag_pic"
376+)
377+
378+;; Split calculate_pic_address into pic_load_addr_* and a move.
379+(define_split
380+ [(set (match_operand:SI 0 "register_operand" "")
381+ (mem:SI (plus:SI (match_operand:SI 1 "register_operand" "")
382+ (unspec:SI [(match_operand:SI 2 "" "")]
383+ UNSPEC_PIC_SYM))))]
384+ "flag_pic"
385+ [(set (match_dup 3) (unspec:SI [(match_dup 2)] UNSPEC_PIC_SYM))
386+ (set (match_dup 0) (mem:SI (plus:SI (match_dup 1) (match_dup 3))))]
387+ "operands[3] = can_create_pseudo_p () ? gen_reg_rtx (SImode) : operands[0];"
388+)
389+
390 ;; The rather odd constraints on the following are to force reload to leave
391 ;; the insn alone, and to force the minipool generation pass to then move
392 ;; the GOT symbol to memory.
393
394=== modified file 'gcc/config/arm/t-arm'
395--- old/gcc/config/arm/t-arm 2009-06-21 19:48:15 +0000
396+++ new/gcc/config/arm/t-arm 2010-08-16 09:41:58 +0000
397@@ -45,6 +45,15 @@
398 $(srcdir)/config/arm/arm-cores.def > \
399 $(srcdir)/config/arm/arm-tune.md
400
401+arm.o: $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
402+ $(RTL_H) $(TREE_H) $(OBSTACK_H) $(REGS_H) hard-reg-set.h \
403+ insn-config.h conditions.h output.h \
404+ $(INSN_ATTR_H) $(FLAGS_H) reload.h $(FUNCTION_H) \
405+ $(EXPR_H) $(OPTABS_H) toplev.h $(RECOG_H) $(CGRAPH_H) \
406+ $(GGC_H) except.h $(C_PRAGMA_H) $(INTEGRATE_H) $(TM_P_H) \
407+ $(TARGET_H) $(TARGET_DEF_H) debug.h langhooks.h $(DF_H) \
408+ intl.h libfuncs.h $(PARAMS_H)
409+
410 arm-c.o: $(srcdir)/config/arm/arm-c.c $(CONFIG_H) $(SYSTEM_H) \
411 coretypes.h $(TM_H) $(TREE_H) output.h $(C_COMMON_H)
412 $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
413
414=== modified file 'gcc/dbgcnt.def'
415--- old/gcc/dbgcnt.def 2009-11-25 10:55:54 +0000
416+++ new/gcc/dbgcnt.def 2010-08-16 09:41:58 +0000
417@@ -158,6 +158,7 @@
418 DEBUG_COUNTER (global_alloc_at_func)
419 DEBUG_COUNTER (global_alloc_at_reg)
420 DEBUG_COUNTER (hoist)
421+DEBUG_COUNTER (hoist_insn)
422 DEBUG_COUNTER (ia64_sched2)
423 DEBUG_COUNTER (if_conversion)
424 DEBUG_COUNTER (if_after_combine)
425
426=== modified file 'gcc/doc/invoke.texi'
427--- old/gcc/doc/invoke.texi 2010-08-05 15:20:54 +0000
428+++ new/gcc/doc/invoke.texi 2010-08-16 09:41:58 +0000
429@@ -8086,6 +8086,29 @@
430 vectorization needs to be greater than the value specified by this option
431 to allow vectorization. The default value is 0.
432
433+@item gcse-cost-distance-ratio
434+Scaling factor in calculation of maximum distance an expression
435+can be moved by GCSE optimizations. This is currently supported only in
436+code hoisting pass. The bigger the ratio, the more agressive code hoisting
437+will be with simple expressions, i.e., the expressions which have cost
438+less than @option{gcse-unrestricted-cost}. Specifying 0 will disable
439+hoisting of simple expressions. The default value is 10.
440+
441+@item gcse-unrestricted-cost
442+Cost, roughly measured as the cost of a single typical machine
443+instruction, at which GCSE optimizations will not constrain
444+the distance an expression can travel. This is currently
445+supported only in code hoisting pass. The lesser the cost,
446+the more aggressive code hoisting will be. Specifying 0 will
447+allow all expressions to travel unrestricted distances.
448+The default value is 3.
449+
450+@item max-hoist-depth
451+The depth of search in the dominator tree for expressions to hoist.
452+This is used to avoid quadratic behavior in hoisting algorithm.
453+The value of 0 will avoid limiting the search, but may slow down compilation
454+of huge functions. The default value is 30.
455+
456 @item max-unrolled-insns
457 The maximum number of instructions that a loop should have if that loop
458 is unrolled, and if the loop is unrolled, it determines how many times
459
460=== modified file 'gcc/dominance.c'
461--- old/gcc/dominance.c 2010-04-02 18:54:46 +0000
462+++ new/gcc/dominance.c 2010-08-16 09:41:58 +0000
463@@ -782,16 +782,20 @@
464 }
465
466 /* Returns the list of basic blocks including BB dominated by BB, in the
467- direction DIR. The vector will be sorted in preorder. */
468+ direction DIR up to DEPTH in the dominator tree. The DEPTH of zero will
469+ produce a vector containing all dominated blocks. The vector will be sorted
470+ in preorder. */
471
472 VEC (basic_block, heap) *
473-get_all_dominated_blocks (enum cdi_direction dir, basic_block bb)
474+get_dominated_to_depth (enum cdi_direction dir, basic_block bb, int depth)
475 {
476 VEC(basic_block, heap) *bbs = NULL;
477 unsigned i;
478+ unsigned next_level_start;
479
480 i = 0;
481 VEC_safe_push (basic_block, heap, bbs, bb);
482+ next_level_start = 1; /* = VEC_length (basic_block, bbs); */
483
484 do
485 {
486@@ -802,12 +806,24 @@
487 son;
488 son = next_dom_son (dir, son))
489 VEC_safe_push (basic_block, heap, bbs, son);
490+
491+ if (i == next_level_start && --depth)
492+ next_level_start = VEC_length (basic_block, bbs);
493 }
494- while (i < VEC_length (basic_block, bbs));
495+ while (i < next_level_start);
496
497 return bbs;
498 }
499
500+/* Returns the list of basic blocks including BB dominated by BB, in the
501+ direction DIR. The vector will be sorted in preorder. */
502+
503+VEC (basic_block, heap) *
504+get_all_dominated_blocks (enum cdi_direction dir, basic_block bb)
505+{
506+ return get_dominated_to_depth (dir, bb, 0);
507+}
508+
509 /* Redirect all edges pointing to BB to TO. */
510 void
511 redirect_immediate_dominators (enum cdi_direction dir, basic_block bb,
512
513=== modified file 'gcc/gcse.c'
514--- old/gcc/gcse.c 2010-03-16 10:50:42 +0000
515+++ new/gcc/gcse.c 2010-08-16 09:41:58 +0000
516@@ -296,6 +296,12 @@
517 The value is the newly created pseudo-reg to record a copy of the
518 expression in all the places that reach the redundant copy. */
519 rtx reaching_reg;
520+ /* Maximum distance in instructions this expression can travel.
521+ We avoid moving simple expressions for more than a few instructions
522+ to keep register pressure under control.
523+ A value of "0" removes restrictions on how far the expression can
524+ travel. */
525+ int max_distance;
526 };
527
528 /* Occurrence of an expression.
529@@ -317,6 +323,10 @@
530 char copied_p;
531 };
532
533+typedef struct occr *occr_t;
534+DEF_VEC_P (occr_t);
535+DEF_VEC_ALLOC_P (occr_t, heap);
536+
537 /* Expression and copy propagation hash tables.
538 Each hash table is an array of buckets.
539 ??? It is known that if it were an array of entries, structure elements
540@@ -419,6 +429,9 @@
541 /* Number of global copies propagated. */
542 static int global_copy_prop_count;
543
544+/* Doing code hoisting. */
545+static bool doing_code_hoisting_p = false;
546+
547 /* For available exprs */
548 static sbitmap *ae_kill;
549
550@@ -432,12 +445,12 @@
551 static void hash_scan_set (rtx, rtx, struct hash_table_d *);
552 static void hash_scan_clobber (rtx, rtx, struct hash_table_d *);
553 static void hash_scan_call (rtx, rtx, struct hash_table_d *);
554-static int want_to_gcse_p (rtx);
555+static int want_to_gcse_p (rtx, int *);
556 static bool gcse_constant_p (const_rtx);
557 static int oprs_unchanged_p (const_rtx, const_rtx, int);
558 static int oprs_anticipatable_p (const_rtx, const_rtx);
559 static int oprs_available_p (const_rtx, const_rtx);
560-static void insert_expr_in_table (rtx, enum machine_mode, rtx, int, int,
561+static void insert_expr_in_table (rtx, enum machine_mode, rtx, int, int, int,
562 struct hash_table_d *);
563 static void insert_set_in_table (rtx, rtx, struct hash_table_d *);
564 static unsigned int hash_expr (const_rtx, enum machine_mode, int *, int);
565@@ -462,7 +475,6 @@
566 static void alloc_cprop_mem (int, int);
567 static void free_cprop_mem (void);
568 static void compute_transp (const_rtx, int, sbitmap *, int);
569-static void compute_transpout (void);
570 static void compute_local_properties (sbitmap *, sbitmap *, sbitmap *,
571 struct hash_table_d *);
572 static void compute_cprop_data (void);
573@@ -486,7 +498,7 @@
574 static void compute_pre_data (void);
575 static int pre_expr_reaches_here_p (basic_block, struct expr *,
576 basic_block);
577-static void insert_insn_end_basic_block (struct expr *, basic_block, int);
578+static void insert_insn_end_basic_block (struct expr *, basic_block);
579 static void pre_insert_copy_insn (struct expr *, rtx);
580 static void pre_insert_copies (void);
581 static int pre_delete (void);
582@@ -497,7 +509,8 @@
583 static void free_code_hoist_mem (void);
584 static void compute_code_hoist_vbeinout (void);
585 static void compute_code_hoist_data (void);
586-static int hoist_expr_reaches_here_p (basic_block, int, basic_block, char *);
587+static int hoist_expr_reaches_here_p (basic_block, int, basic_block, char *,
588+ int, int *);
589 static int hoist_code (void);
590 static int one_code_hoisting_pass (void);
591 static rtx process_insert_insn (struct expr *);
592@@ -755,7 +768,7 @@
593 GCSE. */
594
595 static int
596-want_to_gcse_p (rtx x)
597+want_to_gcse_p (rtx x, int *max_distance_ptr)
598 {
599 #ifdef STACK_REGS
600 /* On register stack architectures, don't GCSE constants from the
601@@ -765,18 +778,67 @@
602 x = avoid_constant_pool_reference (x);
603 #endif
604
605+ /* GCSE'ing constants:
606+
607+ We do not specifically distinguish between constant and non-constant
608+ expressions in PRE and Hoist. We use rtx_cost below to limit
609+ the maximum distance simple expressions can travel.
610+
611+ Nevertheless, constants are much easier to GCSE, and, hence,
612+ it is easy to overdo the optimizations. Usually, excessive PRE and
613+ Hoisting of constant leads to increased register pressure.
614+
615+ RA can deal with this by rematerialing some of the constants.
616+ Therefore, it is important that the back-end generates sets of constants
617+ in a way that allows reload rematerialize them under high register
618+ pressure, i.e., a pseudo register with REG_EQUAL to constant
619+ is set only once. Failing to do so will result in IRA/reload
620+ spilling such constants under high register pressure instead of
621+ rematerializing them. */
622+
623 switch (GET_CODE (x))
624 {
625 case REG:
626 case SUBREG:
627- case CONST_INT:
628- case CONST_DOUBLE:
629- case CONST_FIXED:
630- case CONST_VECTOR:
631 case CALL:
632 return 0;
633
634+ case CONST_INT:
635+ case CONST_DOUBLE:
636+ case CONST_FIXED:
637+ case CONST_VECTOR:
638+ if (!doing_code_hoisting_p)
639+ /* Do not PRE constants. */
640+ return 0;
641+
642+ /* FALLTHRU */
643+
644 default:
645+ if (doing_code_hoisting_p)
646+ /* PRE doesn't implement max_distance restriction. */
647+ {
648+ int cost;
649+ int max_distance;
650+
651+ gcc_assert (!optimize_function_for_speed_p (cfun)
652+ && optimize_function_for_size_p (cfun));
653+ cost = rtx_cost (x, SET, 0);
654+
655+ if (cost < COSTS_N_INSNS (GCSE_UNRESTRICTED_COST))
656+ {
657+ max_distance = (GCSE_COST_DISTANCE_RATIO * cost) / 10;
658+ if (max_distance == 0)
659+ return 0;
660+
661+ gcc_assert (max_distance > 0);
662+ }
663+ else
664+ max_distance = 0;
665+
666+ if (max_distance_ptr)
667+ *max_distance_ptr = max_distance;
668+ }
669+
670 return can_assign_to_reg_without_clobbers_p (x);
671 }
672 }
673@@ -1090,11 +1152,14 @@
674 It is only used if X is a CONST_INT.
675
676 ANTIC_P is nonzero if X is an anticipatable expression.
677- AVAIL_P is nonzero if X is an available expression. */
678+ AVAIL_P is nonzero if X is an available expression.
679+
680+ MAX_DISTANCE is the maximum distance in instructions this expression can
681+ be moved. */
682
683 static void
684 insert_expr_in_table (rtx x, enum machine_mode mode, rtx insn, int antic_p,
685- int avail_p, struct hash_table_d *table)
686+ int avail_p, int max_distance, struct hash_table_d *table)
687 {
688 int found, do_not_record_p;
689 unsigned int hash;
690@@ -1137,7 +1202,11 @@
691 cur_expr->next_same_hash = NULL;
692 cur_expr->antic_occr = NULL;
693 cur_expr->avail_occr = NULL;
694+ gcc_assert (max_distance >= 0);
695+ cur_expr->max_distance = max_distance;
696 }
697+ else
698+ gcc_assert (cur_expr->max_distance == max_distance);
699
700 /* Now record the occurrence(s). */
701 if (antic_p)
702@@ -1238,6 +1307,8 @@
703 cur_expr->next_same_hash = NULL;
704 cur_expr->antic_occr = NULL;
705 cur_expr->avail_occr = NULL;
706+ /* Not used for set_p tables. */
707+ cur_expr->max_distance = 0;
708 }
709
710 /* Now record the occurrence. */
711@@ -1307,6 +1378,7 @@
712 {
713 unsigned int regno = REGNO (dest);
714 rtx tmp;
715+ int max_distance = 0;
716
717 /* See if a REG_EQUAL note shows this equivalent to a simpler expression.
718
719@@ -1329,7 +1401,7 @@
720 && !REG_P (src)
721 && (table->set_p
722 ? gcse_constant_p (XEXP (note, 0))
723- : want_to_gcse_p (XEXP (note, 0))))
724+ : want_to_gcse_p (XEXP (note, 0), NULL)))
725 src = XEXP (note, 0), pat = gen_rtx_SET (VOIDmode, dest, src);
726
727 /* Only record sets of pseudo-regs in the hash table. */
728@@ -1344,7 +1416,7 @@
729 can't do the same thing at the rtl level. */
730 && !can_throw_internal (insn)
731 /* Is SET_SRC something we want to gcse? */
732- && want_to_gcse_p (src)
733+ && want_to_gcse_p (src, &max_distance)
734 /* Don't CSE a nop. */
735 && ! set_noop_p (pat)
736 /* Don't GCSE if it has attached REG_EQUIV note.
737@@ -1368,7 +1440,8 @@
738 int avail_p = (oprs_available_p (src, insn)
739 && ! JUMP_P (insn));
740
741- insert_expr_in_table (src, GET_MODE (dest), insn, antic_p, avail_p, table);
742+ insert_expr_in_table (src, GET_MODE (dest), insn, antic_p, avail_p,
743+ max_distance, table);
744 }
745
746 /* Record sets for constant/copy propagation. */
747@@ -1394,6 +1467,7 @@
748 else if (flag_gcse_las && REG_P (src) && MEM_P (dest))
749 {
750 unsigned int regno = REGNO (src);
751+ int max_distance = 0;
752
753 /* Do not do this for constant/copy propagation. */
754 if (! table->set_p
755@@ -1405,7 +1479,7 @@
756 do that easily for EH edges so disable GCSE on these for now. */
757 && !can_throw_internal (insn)
758 /* Is SET_DEST something we want to gcse? */
759- && want_to_gcse_p (dest)
760+ && want_to_gcse_p (dest, &max_distance)
761 /* Don't CSE a nop. */
762 && ! set_noop_p (pat)
763 /* Don't GCSE if it has attached REG_EQUIV note.
764@@ -1427,7 +1501,7 @@
765
766 /* Record the memory expression (DEST) in the hash table. */
767 insert_expr_in_table (dest, GET_MODE (dest), insn,
768- antic_p, avail_p, table);
769+ antic_p, avail_p, max_distance, table);
770 }
771 }
772 }
773@@ -1513,8 +1587,8 @@
774 if (flat_table[i] != 0)
775 {
776 expr = flat_table[i];
777- fprintf (file, "Index %d (hash value %d)\n ",
778- expr->bitmap_index, hash_val[i]);
779+ fprintf (file, "Index %d (hash value %d; max distance %d)\n ",
780+ expr->bitmap_index, hash_val[i], expr->max_distance);
781 print_rtl (file, expr->expr);
782 fprintf (file, "\n");
783 }
784@@ -3168,11 +3242,6 @@
785 /* Nonzero for expressions that are transparent in the block. */
786 static sbitmap *transp;
787
788-/* Nonzero for expressions that are transparent at the end of the block.
789- This is only zero for expressions killed by abnormal critical edge
790- created by a calls. */
791-static sbitmap *transpout;
792-
793 /* Nonzero for expressions that are computed (available) in the block. */
794 static sbitmap *comp;
795
796@@ -3236,28 +3305,105 @@
797 pre_optimal = pre_redundant = pre_insert_map = pre_delete_map = NULL;
798 }
799
800-/* Top level routine to do the dataflow analysis needed by PRE. */
801+/* Remove certain expressions from anticipatable and transparent
802+ sets of basic blocks that have incoming abnormal edge.
803+ For PRE remove potentially trapping expressions to avoid placing
804+ them on abnormal edges. For hoisting remove memory references that
805+ can be clobbered by calls. */
806
807 static void
808-compute_pre_data (void)
809+prune_expressions (bool pre_p)
810 {
811- sbitmap trapping_expr;
812- basic_block bb;
813+ sbitmap prune_exprs;
814 unsigned int ui;
815-
816- compute_local_properties (transp, comp, antloc, &expr_hash_table);
817- sbitmap_vector_zero (ae_kill, last_basic_block);
818-
819- /* Collect expressions which might trap. */
820- trapping_expr = sbitmap_alloc (expr_hash_table.n_elems);
821- sbitmap_zero (trapping_expr);
822+ basic_block bb;
823+
824+ prune_exprs = sbitmap_alloc (expr_hash_table.n_elems);
825+ sbitmap_zero (prune_exprs);
826 for (ui = 0; ui < expr_hash_table.size; ui++)
827 {
828 struct expr *e;
829 for (e = expr_hash_table.table[ui]; e != NULL; e = e->next_same_hash)
830- if (may_trap_p (e->expr))
831- SET_BIT (trapping_expr, e->bitmap_index);
832- }
833+ {
834+ /* Note potentially trapping expressions. */
835+ if (may_trap_p (e->expr))
836+ {
837+ SET_BIT (prune_exprs, e->bitmap_index);
838+ continue;
839+ }
840+
841+ if (!pre_p && MEM_P (e->expr))
842+ /* Note memory references that can be clobbered by a call.
843+ We do not split abnormal edges in hoisting, so would
844+ a memory reference get hoisted along an abnormal edge,
845+ it would be placed /before/ the call. Therefore, only
846+ constant memory references can be hoisted along abnormal
847+ edges. */
848+ {
849+ if (GET_CODE (XEXP (e->expr, 0)) == SYMBOL_REF
850+ && CONSTANT_POOL_ADDRESS_P (XEXP (e->expr, 0)))
851+ continue;
852+
853+ if (MEM_READONLY_P (e->expr)
854+ && !MEM_VOLATILE_P (e->expr)
855+ && MEM_NOTRAP_P (e->expr))
856+ /* Constant memory reference, e.g., a PIC address. */
857+ continue;
858+
859+ /* ??? Optimally, we would use interprocedural alias
860+ analysis to determine if this mem is actually killed
861+ by this call. */
862+
863+ SET_BIT (prune_exprs, e->bitmap_index);
864+ }
865+ }
866+ }
867+
868+ FOR_EACH_BB (bb)
869+ {
870+ edge e;
871+ edge_iterator ei;
872+
873+ /* If the current block is the destination of an abnormal edge, we
874+ kill all trapping (for PRE) and memory (for hoist) expressions
875+ because we won't be able to properly place the instruction on
876+ the edge. So make them neither anticipatable nor transparent.
877+ This is fairly conservative.
878+
879+ ??? For hoisting it may be necessary to check for set-and-jump
880+ instructions here, not just for abnormal edges. The general problem
881+ is that when an expression cannot not be placed right at the end of
882+ a basic block we should account for any side-effects of a subsequent
883+ jump instructions that could clobber the expression. It would
884+ be best to implement this check along the lines of
885+ hoist_expr_reaches_here_p where the target block is already known
886+ and, hence, there's no need to conservatively prune expressions on
887+ "intermediate" set-and-jump instructions. */
888+ FOR_EACH_EDGE (e, ei, bb->preds)
889+ if ((e->flags & EDGE_ABNORMAL)
890+ && (pre_p || CALL_P (BB_END (e->src))))
891+ {
892+ sbitmap_difference (antloc[bb->index],
893+ antloc[bb->index], prune_exprs);
894+ sbitmap_difference (transp[bb->index],
895+ transp[bb->index], prune_exprs);
896+ break;
897+ }
898+ }
899+
900+ sbitmap_free (prune_exprs);
901+}
902+
903+/* Top level routine to do the dataflow analysis needed by PRE. */
904+
905+static void
906+compute_pre_data (void)
907+{
908+ basic_block bb;
909+
910+ compute_local_properties (transp, comp, antloc, &expr_hash_table);
911+ prune_expressions (true);
912+ sbitmap_vector_zero (ae_kill, last_basic_block);
913
914 /* Compute ae_kill for each basic block using:
915
916@@ -3266,21 +3412,6 @@
917
918 FOR_EACH_BB (bb)
919 {
920- edge e;
921- edge_iterator ei;
922-
923- /* If the current block is the destination of an abnormal edge, we
924- kill all trapping expressions because we won't be able to properly
925- place the instruction on the edge. So make them neither
926- anticipatable nor transparent. This is fairly conservative. */
927- FOR_EACH_EDGE (e, ei, bb->preds)
928- if (e->flags & EDGE_ABNORMAL)
929- {
930- sbitmap_difference (antloc[bb->index], antloc[bb->index], trapping_expr);
931- sbitmap_difference (transp[bb->index], transp[bb->index], trapping_expr);
932- break;
933- }
934-
935 sbitmap_a_or_b (ae_kill[bb->index], transp[bb->index], comp[bb->index]);
936 sbitmap_not (ae_kill[bb->index], ae_kill[bb->index]);
937 }
938@@ -3291,7 +3422,6 @@
939 antloc = NULL;
940 sbitmap_vector_free (ae_kill);
941 ae_kill = NULL;
942- sbitmap_free (trapping_expr);
943 }
944
945 /* PRE utilities */
946@@ -3406,14 +3536,10 @@
947
948 /* Add EXPR to the end of basic block BB.
949
950- This is used by both the PRE and code hoisting.
951-
952- For PRE, we want to verify that the expr is either transparent
953- or locally anticipatable in the target block. This check makes
954- no sense for code hoisting. */
955+ This is used by both the PRE and code hoisting. */
956
957 static void
958-insert_insn_end_basic_block (struct expr *expr, basic_block bb, int pre)
959+insert_insn_end_basic_block (struct expr *expr, basic_block bb)
960 {
961 rtx insn = BB_END (bb);
962 rtx new_insn;
963@@ -3440,12 +3566,6 @@
964 #ifdef HAVE_cc0
965 rtx note;
966 #endif
967- /* It should always be the case that we can put these instructions
968- anywhere in the basic block with performing PRE optimizations.
969- Check this. */
970- gcc_assert (!NONJUMP_INSN_P (insn) || !pre
971- || TEST_BIT (antloc[bb->index], expr->bitmap_index)
972- || TEST_BIT (transp[bb->index], expr->bitmap_index));
973
974 /* If this is a jump table, then we can't insert stuff here. Since
975 we know the previous real insn must be the tablejump, we insert
976@@ -3482,15 +3602,7 @@
977 /* Keeping in mind SMALL_REGISTER_CLASSES and parameters in registers,
978 we search backward and place the instructions before the first
979 parameter is loaded. Do this for everyone for consistency and a
980- presumption that we'll get better code elsewhere as well.
981-
982- It should always be the case that we can put these instructions
983- anywhere in the basic block with performing PRE optimizations.
984- Check this. */
985-
986- gcc_assert (!pre
987- || TEST_BIT (antloc[bb->index], expr->bitmap_index)
988- || TEST_BIT (transp[bb->index], expr->bitmap_index));
989+ presumption that we'll get better code elsewhere as well. */
990
991 /* Since different machines initialize their parameter registers
992 in different orders, assume nothing. Collect the set of all
993@@ -3587,7 +3699,7 @@
994 now. */
995
996 if (eg->flags & EDGE_ABNORMAL)
997- insert_insn_end_basic_block (index_map[j], bb, 0);
998+ insert_insn_end_basic_block (index_map[j], bb);
999 else
1000 {
1001 insn = process_insert_insn (index_map[j]);
1002@@ -4046,61 +4158,12 @@
1003 }
1004 }
1005
1006-/* Compute transparent outgoing information for each block.
1007-
1008- An expression is transparent to an edge unless it is killed by
1009- the edge itself. This can only happen with abnormal control flow,
1010- when the edge is traversed through a call. This happens with
1011- non-local labels and exceptions.
1012-
1013- This would not be necessary if we split the edge. While this is
1014- normally impossible for abnormal critical edges, with some effort
1015- it should be possible with exception handling, since we still have
1016- control over which handler should be invoked. But due to increased
1017- EH table sizes, this may not be worthwhile. */
1018-
1019-static void
1020-compute_transpout (void)
1021-{
1022- basic_block bb;
1023- unsigned int i;
1024- struct expr *expr;
1025-
1026- sbitmap_vector_ones (transpout, last_basic_block);
1027-
1028- FOR_EACH_BB (bb)
1029- {
1030- /* Note that flow inserted a nop at the end of basic blocks that
1031- end in call instructions for reasons other than abnormal
1032- control flow. */
1033- if (! CALL_P (BB_END (bb)))
1034- continue;
1035-
1036- for (i = 0; i < expr_hash_table.size; i++)
1037- for (expr = expr_hash_table.table[i]; expr ; expr = expr->next_same_hash)
1038- if (MEM_P (expr->expr))
1039- {
1040- if (GET_CODE (XEXP (expr->expr, 0)) == SYMBOL_REF
1041- && CONSTANT_POOL_ADDRESS_P (XEXP (expr->expr, 0)))
1042- continue;
1043-
1044- /* ??? Optimally, we would use interprocedural alias
1045- analysis to determine if this mem is actually killed
1046- by this call. */
1047- RESET_BIT (transpout[bb->index], expr->bitmap_index);
1048- }
1049- }
1050-}
1051-
1052 /* Code Hoisting variables and subroutines. */
1053
1054 /* Very busy expressions. */
1055 static sbitmap *hoist_vbein;
1056 static sbitmap *hoist_vbeout;
1057
1058-/* Hoistable expressions. */
1059-static sbitmap *hoist_exprs;
1060-
1061 /* ??? We could compute post dominators and run this algorithm in
1062 reverse to perform tail merging, doing so would probably be
1063 more effective than the tail merging code in jump.c.
1064@@ -4119,8 +4182,6 @@
1065
1066 hoist_vbein = sbitmap_vector_alloc (n_blocks, n_exprs);
1067 hoist_vbeout = sbitmap_vector_alloc (n_blocks, n_exprs);
1068- hoist_exprs = sbitmap_vector_alloc (n_blocks, n_exprs);
1069- transpout = sbitmap_vector_alloc (n_blocks, n_exprs);
1070 }
1071
1072 /* Free vars used for code hoisting analysis. */
1073@@ -4134,8 +4195,6 @@
1074
1075 sbitmap_vector_free (hoist_vbein);
1076 sbitmap_vector_free (hoist_vbeout);
1077- sbitmap_vector_free (hoist_exprs);
1078- sbitmap_vector_free (transpout);
1079
1080 free_dominance_info (CDI_DOMINATORS);
1081 }
1082@@ -4166,8 +4225,15 @@
1083 FOR_EACH_BB_REVERSE (bb)
1084 {
1085 if (bb->next_bb != EXIT_BLOCK_PTR)
1086- sbitmap_intersection_of_succs (hoist_vbeout[bb->index],
1087- hoist_vbein, bb->index);
1088+ {
1089+ sbitmap_intersection_of_succs (hoist_vbeout[bb->index],
1090+ hoist_vbein, bb->index);
1091+
1092+ /* Include expressions in VBEout that are calculated
1093+ in BB and available at its end. */
1094+ sbitmap_a_or_b (hoist_vbeout[bb->index],
1095+ hoist_vbeout[bb->index], comp[bb->index]);
1096+ }
1097
1098 changed |= sbitmap_a_or_b_and_c_cg (hoist_vbein[bb->index],
1099 antloc[bb->index],
1100@@ -4179,7 +4245,17 @@
1101 }
1102
1103 if (dump_file)
1104- fprintf (dump_file, "hoisting vbeinout computation: %d passes\n", passes);
1105+ {
1106+ fprintf (dump_file, "hoisting vbeinout computation: %d passes\n", passes);
1107+
1108+ FOR_EACH_BB (bb)
1109+ {
1110+ fprintf (dump_file, "vbein (%d): ", bb->index);
1111+ dump_sbitmap_file (dump_file, hoist_vbein[bb->index]);
1112+ fprintf (dump_file, "vbeout(%d): ", bb->index);
1113+ dump_sbitmap_file (dump_file, hoist_vbeout[bb->index]);
1114+ }
1115+ }
1116 }
1117
1118 /* Top level routine to do the dataflow analysis needed by code hoisting. */
1119@@ -4188,7 +4264,7 @@
1120 compute_code_hoist_data (void)
1121 {
1122 compute_local_properties (transp, comp, antloc, &expr_hash_table);
1123- compute_transpout ();
1124+ prune_expressions (false);
1125 compute_code_hoist_vbeinout ();
1126 calculate_dominance_info (CDI_DOMINATORS);
1127 if (dump_file)
1128@@ -4197,6 +4273,8 @@
1129
1130 /* Determine if the expression identified by EXPR_INDEX would
1131 reach BB unimpared if it was placed at the end of EXPR_BB.
1132+ Stop the search if the expression would need to be moved more
1133+ than DISTANCE instructions.
1134
1135 It's unclear exactly what Muchnick meant by "unimpared". It seems
1136 to me that the expression must either be computed or transparent in
1137@@ -4209,12 +4287,24 @@
1138 paths. */
1139
1140 static int
1141-hoist_expr_reaches_here_p (basic_block expr_bb, int expr_index, basic_block bb, char *visited)
1142+hoist_expr_reaches_here_p (basic_block expr_bb, int expr_index, basic_block bb,
1143+ char *visited, int distance, int *bb_size)
1144 {
1145 edge pred;
1146 edge_iterator ei;
1147 int visited_allocated_locally = 0;
1148
1149+ /* Terminate the search if distance, for which EXPR is allowed to move,
1150+ is exhausted. */
1151+ if (distance > 0)
1152+ {
1153+ distance -= bb_size[bb->index];
1154+
1155+ if (distance <= 0)
1156+ return 0;
1157+ }
1158+ else
1159+ gcc_assert (distance == 0);
1160
1161 if (visited == NULL)
1162 {
1163@@ -4233,9 +4323,6 @@
1164 else if (visited[pred_bb->index])
1165 continue;
1166
1167- /* Does this predecessor generate this expression? */
1168- else if (TEST_BIT (comp[pred_bb->index], expr_index))
1169- break;
1170 else if (! TEST_BIT (transp[pred_bb->index], expr_index))
1171 break;
1172
1173@@ -4243,8 +4330,8 @@
1174 else
1175 {
1176 visited[pred_bb->index] = 1;
1177- if (! hoist_expr_reaches_here_p (expr_bb, expr_index,
1178- pred_bb, visited))
1179+ if (! hoist_expr_reaches_here_p (expr_bb, expr_index, pred_bb,
1180+ visited, distance, bb_size))
1181 break;
1182 }
1183 }
1184@@ -4254,20 +4341,33 @@
1185 return (pred == NULL);
1186 }
1187
1188+/* Find occurence in BB. */
1189+static struct occr *
1190+find_occr_in_bb (struct occr *occr, basic_block bb)
1191+{
1192+ /* Find the right occurrence of this expression. */
1193+ while (occr && BLOCK_FOR_INSN (occr->insn) != bb)
1194+ occr = occr->next;
1195+
1196+ return occr;
1197+}
1198+
1199 /* Actually perform code hoisting. */
1200
1201 static int
1202 hoist_code (void)
1203 {
1204 basic_block bb, dominated;
1205+ VEC (basic_block, heap) *dom_tree_walk;
1206+ unsigned int dom_tree_walk_index;
1207 VEC (basic_block, heap) *domby;
1208 unsigned int i,j;
1209 struct expr **index_map;
1210 struct expr *expr;
1211+ int *to_bb_head;
1212+ int *bb_size;
1213 int changed = 0;
1214
1215- sbitmap_vector_zero (hoist_exprs, last_basic_block);
1216-
1217 /* Compute a mapping from expression number (`bitmap_index') to
1218 hash table entry. */
1219
1220@@ -4276,28 +4376,98 @@
1221 for (expr = expr_hash_table.table[i]; expr != NULL; expr = expr->next_same_hash)
1222 index_map[expr->bitmap_index] = expr;
1223
1224+ /* Calculate sizes of basic blocks and note how far
1225+ each instruction is from the start of its block. We then use this
1226+ data to restrict distance an expression can travel. */
1227+
1228+ to_bb_head = XCNEWVEC (int, get_max_uid ());
1229+ bb_size = XCNEWVEC (int, last_basic_block);
1230+
1231+ FOR_EACH_BB (bb)
1232+ {
1233+ rtx insn;
1234+ int to_head;
1235+
1236+ to_head = 0;
1237+ FOR_BB_INSNS (bb, insn)
1238+ {
1239+ /* Don't count debug instructions to avoid them affecting
1240+ decision choices. */
1241+ if (NONDEBUG_INSN_P (insn))
1242+ to_bb_head[INSN_UID (insn)] = to_head++;
1243+ }
1244+
1245+ bb_size[bb->index] = to_head;
1246+ }
1247+
1248+ gcc_assert (EDGE_COUNT (ENTRY_BLOCK_PTR->succs) == 1
1249+ && (EDGE_SUCC (ENTRY_BLOCK_PTR, 0)->dest
1250+ == ENTRY_BLOCK_PTR->next_bb));
1251+
1252+ dom_tree_walk = get_all_dominated_blocks (CDI_DOMINATORS,
1253+ ENTRY_BLOCK_PTR->next_bb);
1254+
1255 /* Walk over each basic block looking for potentially hoistable
1256 expressions, nothing gets hoisted from the entry block. */
1257- FOR_EACH_BB (bb)
1258+ for (dom_tree_walk_index = 0;
1259+ VEC_iterate (basic_block, dom_tree_walk, dom_tree_walk_index, bb);
1260+ dom_tree_walk_index++)
1261 {
1262- int found = 0;
1263- int insn_inserted_p;
1264-
1265- domby = get_dominated_by (CDI_DOMINATORS, bb);
1266+ domby = get_dominated_to_depth (CDI_DOMINATORS, bb, MAX_HOIST_DEPTH);
1267+
1268+ if (VEC_length (basic_block, domby) == 0)
1269+ continue;
1270+
1271 /* Examine each expression that is very busy at the exit of this
1272 block. These are the potentially hoistable expressions. */
1273 for (i = 0; i < hoist_vbeout[bb->index]->n_bits; i++)
1274 {
1275- int hoistable = 0;
1276-
1277- if (TEST_BIT (hoist_vbeout[bb->index], i)
1278- && TEST_BIT (transpout[bb->index], i))
1279+ if (TEST_BIT (hoist_vbeout[bb->index], i))
1280 {
1281+ /* Current expression. */
1282+ struct expr *expr = index_map[i];
1283+ /* Number of occurences of EXPR that can be hoisted to BB. */
1284+ int hoistable = 0;
1285+ /* Basic blocks that have occurences reachable from BB. */
1286+ bitmap_head _from_bbs, *from_bbs = &_from_bbs;
1287+ /* Occurences reachable from BB. */
1288+ VEC (occr_t, heap) *occrs_to_hoist = NULL;
1289+ /* We want to insert the expression into BB only once, so
1290+ note when we've inserted it. */
1291+ int insn_inserted_p;
1292+ occr_t occr;
1293+
1294+ bitmap_initialize (from_bbs, 0);
1295+
1296+ /* If an expression is computed in BB and is available at end of
1297+ BB, hoist all occurences dominated by BB to BB. */
1298+ if (TEST_BIT (comp[bb->index], i))
1299+ {
1300+ occr = find_occr_in_bb (expr->antic_occr, bb);
1301+
1302+ if (occr)
1303+ {
1304+ /* An occurence might've been already deleted
1305+ while processing a dominator of BB. */
1306+ if (occr->deleted_p)
1307+ gcc_assert (MAX_HOIST_DEPTH > 1);
1308+ else
1309+ {
1310+ gcc_assert (NONDEBUG_INSN_P (occr->insn));
1311+ hoistable++;
1312+ }
1313+ }
1314+ else
1315+ hoistable++;
1316+ }
1317+
1318 /* We've found a potentially hoistable expression, now
1319 we look at every block BB dominates to see if it
1320 computes the expression. */
1321 for (j = 0; VEC_iterate (basic_block, domby, j, dominated); j++)
1322 {
1323+ int max_distance;
1324+
1325 /* Ignore self dominance. */
1326 if (bb == dominated)
1327 continue;
1328@@ -4307,17 +4477,43 @@
1329 if (!TEST_BIT (antloc[dominated->index], i))
1330 continue;
1331
1332+ occr = find_occr_in_bb (expr->antic_occr, dominated);
1333+ gcc_assert (occr);
1334+
1335+ /* An occurence might've been already deleted
1336+ while processing a dominator of BB. */
1337+ if (occr->deleted_p)
1338+ {
1339+ gcc_assert (MAX_HOIST_DEPTH > 1);
1340+ continue;
1341+ }
1342+ gcc_assert (NONDEBUG_INSN_P (occr->insn));
1343+
1344+ max_distance = expr->max_distance;
1345+ if (max_distance > 0)
1346+ /* Adjust MAX_DISTANCE to account for the fact that
1347+ OCCR won't have to travel all of DOMINATED, but
1348+ only part of it. */
1349+ max_distance += (bb_size[dominated->index]
1350+ - to_bb_head[INSN_UID (occr->insn)]);
1351+
1352 /* Note if the expression would reach the dominated block
1353 unimpared if it was placed at the end of BB.
1354
1355 Keep track of how many times this expression is hoistable
1356 from a dominated block into BB. */
1357- if (hoist_expr_reaches_here_p (bb, i, dominated, NULL))
1358- hoistable++;
1359+ if (hoist_expr_reaches_here_p (bb, i, dominated, NULL,
1360+ max_distance, bb_size))
1361+ {
1362+ hoistable++;
1363+ VEC_safe_push (occr_t, heap,
1364+ occrs_to_hoist, occr);
1365+ bitmap_set_bit (from_bbs, dominated->index);
1366+ }
1367 }
1368
1369 /* If we found more than one hoistable occurrence of this
1370- expression, then note it in the bitmap of expressions to
1371+ expression, then note it in the vector of expressions to
1372 hoist. It makes no sense to hoist things which are computed
1373 in only one BB, and doing so tends to pessimize register
1374 allocation. One could increase this value to try harder
1375@@ -4326,91 +4522,80 @@
1376 the vast majority of hoistable expressions are only movable
1377 from two successors, so raising this threshold is likely
1378 to nullify any benefit we get from code hoisting. */
1379- if (hoistable > 1)
1380- {
1381- SET_BIT (hoist_exprs[bb->index], i);
1382- found = 1;
1383- }
1384- }
1385- }
1386- /* If we found nothing to hoist, then quit now. */
1387- if (! found)
1388- {
1389- VEC_free (basic_block, heap, domby);
1390- continue;
1391- }
1392-
1393- /* Loop over all the hoistable expressions. */
1394- for (i = 0; i < hoist_exprs[bb->index]->n_bits; i++)
1395- {
1396- /* We want to insert the expression into BB only once, so
1397- note when we've inserted it. */
1398- insn_inserted_p = 0;
1399-
1400- /* These tests should be the same as the tests above. */
1401- if (TEST_BIT (hoist_exprs[bb->index], i))
1402- {
1403- /* We've found a potentially hoistable expression, now
1404- we look at every block BB dominates to see if it
1405- computes the expression. */
1406- for (j = 0; VEC_iterate (basic_block, domby, j, dominated); j++)
1407- {
1408- /* Ignore self dominance. */
1409- if (bb == dominated)
1410- continue;
1411-
1412- /* We've found a dominated block, now see if it computes
1413- the busy expression and whether or not moving that
1414- expression to the "beginning" of that block is safe. */
1415- if (!TEST_BIT (antloc[dominated->index], i))
1416- continue;
1417-
1418- /* The expression is computed in the dominated block and
1419- it would be safe to compute it at the start of the
1420- dominated block. Now we have to determine if the
1421- expression would reach the dominated block if it was
1422- placed at the end of BB. */
1423- if (hoist_expr_reaches_here_p (bb, i, dominated, NULL))
1424- {
1425- struct expr *expr = index_map[i];
1426- struct occr *occr = expr->antic_occr;
1427- rtx insn;
1428- rtx set;
1429-
1430- /* Find the right occurrence of this expression. */
1431- while (BLOCK_FOR_INSN (occr->insn) != dominated && occr)
1432- occr = occr->next;
1433-
1434- gcc_assert (occr);
1435- insn = occr->insn;
1436- set = single_set (insn);
1437- gcc_assert (set);
1438-
1439- /* Create a pseudo-reg to store the result of reaching
1440- expressions into. Get the mode for the new pseudo
1441- from the mode of the original destination pseudo. */
1442- if (expr->reaching_reg == NULL)
1443- expr->reaching_reg
1444- = gen_reg_rtx_and_attrs (SET_DEST (set));
1445-
1446- gcse_emit_move_after (expr->reaching_reg, SET_DEST (set), insn);
1447- delete_insn (insn);
1448- occr->deleted_p = 1;
1449- changed = 1;
1450- gcse_subst_count++;
1451-
1452- if (!insn_inserted_p)
1453- {
1454- insert_insn_end_basic_block (index_map[i], bb, 0);
1455- insn_inserted_p = 1;
1456- }
1457- }
1458- }
1459+ if (hoistable > 1 && dbg_cnt (hoist_insn))
1460+ {
1461+ /* If (hoistable != VEC_length), then there is
1462+ an occurence of EXPR in BB itself. Don't waste
1463+ time looking for LCA in this case. */
1464+ if ((unsigned) hoistable
1465+ == VEC_length (occr_t, occrs_to_hoist))
1466+ {
1467+ basic_block lca;
1468+
1469+ lca = nearest_common_dominator_for_set (CDI_DOMINATORS,
1470+ from_bbs);
1471+ if (lca != bb)
1472+ /* Punt, it's better to hoist these occurences to
1473+ LCA. */
1474+ VEC_free (occr_t, heap, occrs_to_hoist);
1475+ }
1476+ }
1477+ else
1478+ /* Punt, no point hoisting a single occurence. */
1479+ VEC_free (occr_t, heap, occrs_to_hoist);
1480+
1481+ insn_inserted_p = 0;
1482+
1483+ /* Walk through occurences of I'th expressions we want
1484+ to hoist to BB and make the transformations. */
1485+ for (j = 0;
1486+ VEC_iterate (occr_t, occrs_to_hoist, j, occr);
1487+ j++)
1488+ {
1489+ rtx insn;
1490+ rtx set;
1491+
1492+ gcc_assert (!occr->deleted_p);
1493+
1494+ insn = occr->insn;
1495+ set = single_set (insn);
1496+ gcc_assert (set);
1497+
1498+ /* Create a pseudo-reg to store the result of reaching
1499+ expressions into. Get the mode for the new pseudo
1500+ from the mode of the original destination pseudo.
1501+
1502+ It is important to use new pseudos whenever we
1503+ emit a set. This will allow reload to use
1504+ rematerialization for such registers. */
1505+ if (!insn_inserted_p)
1506+ expr->reaching_reg
1507+ = gen_reg_rtx_and_attrs (SET_DEST (set));
1508+
1509+ gcse_emit_move_after (expr->reaching_reg, SET_DEST (set),
1510+ insn);
1511+ delete_insn (insn);
1512+ occr->deleted_p = 1;
1513+ changed = 1;
1514+ gcse_subst_count++;
1515+
1516+ if (!insn_inserted_p)
1517+ {
1518+ insert_insn_end_basic_block (expr, bb);
1519+ insn_inserted_p = 1;
1520+ }
1521+ }
1522+
1523+ VEC_free (occr_t, heap, occrs_to_hoist);
1524+ bitmap_clear (from_bbs);
1525 }
1526 }
1527 VEC_free (basic_block, heap, domby);
1528 }
1529
1530+ VEC_free (basic_block, heap, dom_tree_walk);
1531+ free (bb_size);
1532+ free (to_bb_head);
1533 free (index_map);
1534
1535 return changed;
1536@@ -4433,6 +4618,8 @@
1537 || is_too_expensive (_("GCSE disabled")))
1538 return 0;
1539
1540+ doing_code_hoisting_p = true;
1541+
1542 /* We need alias. */
1543 init_alias_analysis ();
1544
1545@@ -4468,6 +4655,8 @@
1546 gcse_subst_count, gcse_create_count);
1547 }
1548
1549+ doing_code_hoisting_p = false;
1550+
1551 return changed;
1552 }
1553
1554
1555=== modified file 'gcc/params.def'
1556--- old/gcc/params.def 2010-04-02 18:54:46 +0000
1557+++ new/gcc/params.def 2010-08-16 09:41:58 +0000
1558@@ -219,6 +219,29 @@
1559 "gcse-after-reload-critical-fraction",
1560 "The threshold ratio of critical edges execution count that permit performing redundancy elimination after reload",
1561 10, 0, 0)
1562+
1563+/* GCSE will use GCSE_COST_DISTANCE_RATION as a scaling factor
1564+ to calculate maximum distance for which an expression is allowed to move
1565+ from its rtx_cost. */
1566+DEFPARAM(PARAM_GCSE_COST_DISTANCE_RATIO,
1567+ "gcse-cost-distance-ratio",
1568+ "Scaling factor in calculation of maximum distance an expression can be moved by GCSE optimizations",
1569+ 10, 0, 0)
1570+/* GCSE won't restrict distance for which an expression with rtx_cost greater
1571+ than COSTS_N_INSN(GCSE_UNRESTRICTED_COST) is allowed to move. */
1572+DEFPARAM(PARAM_GCSE_UNRESTRICTED_COST,
1573+ "gcse-unrestricted-cost",
1574+ "Cost at which GCSE optimizations will not constraint the distance an expression can travel",
1575+ 3, 0, 0)
1576+
1577+/* How deep from a given basic block the dominator tree should be searched
1578+ for expressions to hoist to the block. The value of 0 will avoid limiting
1579+ the search. */
1580+DEFPARAM(PARAM_MAX_HOIST_DEPTH,
1581+ "max-hoist-depth",
1582+ "Maximum depth of search in the dominator tree for expressions to hoist",
1583+ 30, 0, 0)
1584+
1585 /* This parameter limits the number of insns in a loop that will be unrolled,
1586 and by how much the loop is unrolled.
1587
1588
1589=== modified file 'gcc/params.h'
1590--- old/gcc/params.h 2009-12-01 19:12:29 +0000
1591+++ new/gcc/params.h 2010-08-16 09:41:58 +0000
1592@@ -125,6 +125,12 @@
1593 PARAM_VALUE (PARAM_GCSE_AFTER_RELOAD_PARTIAL_FRACTION)
1594 #define GCSE_AFTER_RELOAD_CRITICAL_FRACTION \
1595 PARAM_VALUE (PARAM_GCSE_AFTER_RELOAD_CRITICAL_FRACTION)
1596+#define GCSE_COST_DISTANCE_RATIO \
1597+ PARAM_VALUE (PARAM_GCSE_COST_DISTANCE_RATIO)
1598+#define GCSE_UNRESTRICTED_COST \
1599+ PARAM_VALUE (PARAM_GCSE_UNRESTRICTED_COST)
1600+#define MAX_HOIST_DEPTH \
1601+ PARAM_VALUE (PARAM_MAX_HOIST_DEPTH)
1602 #define MAX_UNROLLED_INSNS \
1603 PARAM_VALUE (PARAM_MAX_UNROLLED_INSNS)
1604 #define MAX_SMS_LOOP_NUMBER \
1605
1606=== added file 'gcc/testsuite/gcc.dg/pr45101.c'
1607--- old/gcc/testsuite/gcc.dg/pr45101.c 1970-01-01 00:00:00 +0000
1608+++ new/gcc/testsuite/gcc.dg/pr45101.c 2010-08-16 09:41:58 +0000
1609@@ -0,0 +1,15 @@
1610+/* PR rtl-optimization/45101 */
1611+/* { dg-do compile } */
1612+/* { dg-options "-O2 -fgcse -fgcse-las" } */
1613+
1614+struct
1615+{
1616+ int i;
1617+} *s;
1618+
1619+extern void bar (void);
1620+
1621+void foo ()
1622+{
1623+ !s ? s->i++ : bar ();
1624+}
1625
1626=== added file 'gcc/testsuite/gcc.dg/pr45105.c'
1627--- old/gcc/testsuite/gcc.dg/pr45105.c 1970-01-01 00:00:00 +0000
1628+++ new/gcc/testsuite/gcc.dg/pr45105.c 2010-08-16 09:41:58 +0000
1629@@ -0,0 +1,27 @@
1630+/* PR debug/45105 */
1631+/* { dg-do compile } */
1632+/* { dg-options "-Os -fcompare-debug" } */
1633+
1634+extern int *baz (int *, int *);
1635+
1636+void
1637+bar (int *p1, int *p2)
1638+{
1639+ int n = *baz (0, 0);
1640+ p1[n] = p2[n];
1641+}
1642+
1643+void
1644+foo (int *p, int l)
1645+{
1646+ int a1[32];
1647+ int a2[32];
1648+ baz (a1, a2);
1649+ while (l)
1650+ {
1651+ if (l & 1)
1652+ p = baz (a2, p);
1653+ l--;
1654+ bar (a1, a2);
1655+ }
1656+}
1657
1658=== added file 'gcc/testsuite/gcc.dg/pr45107.c'
1659--- old/gcc/testsuite/gcc.dg/pr45107.c 1970-01-01 00:00:00 +0000
1660+++ new/gcc/testsuite/gcc.dg/pr45107.c 2010-08-16 09:41:58 +0000
1661@@ -0,0 +1,13 @@
1662+/* PR rtl-optimization/45107 */
1663+/* { dg-do compile } */
1664+/* { dg-options "-Os -fgcse-las" } */
1665+
1666+extern void bar(int *);
1667+
1668+int foo (int *p)
1669+{
1670+ int i = *p;
1671+ if (i != 1)
1672+ bar(&i);
1673+ *p = i;
1674+}
1675
1676=== added file 'gcc/testsuite/gcc.target/arm/pr40956.c'
1677--- old/gcc/testsuite/gcc.target/arm/pr40956.c 1970-01-01 00:00:00 +0000
1678+++ new/gcc/testsuite/gcc.target/arm/pr40956.c 2010-08-16 09:41:58 +0000
1679@@ -0,0 +1,14 @@
1680+/* { dg-options "-mthumb -Os -fpic -march=armv5te" } */
1681+/* { dg-require-effective-target arm_thumb1_ok } */
1682+/* { dg-require-effective-target fpic } */
1683+/* Make sure the constant "0" is loaded into register only once. */
1684+/* { dg-final { scan-assembler-times "mov\[\\t \]*r., #0" 1 } } */
1685+
1686+int foo(int p, int* q)
1687+{
1688+ if (p!=9)
1689+ *q = 0;
1690+ else
1691+ *(q+1) = 0;
1692+ return 3;
1693+}
1694
1695=== added file 'gcc/testsuite/gcc.target/arm/pr42495.c'
1696--- old/gcc/testsuite/gcc.target/arm/pr42495.c 1970-01-01 00:00:00 +0000
1697+++ new/gcc/testsuite/gcc.target/arm/pr42495.c 2010-08-16 09:41:58 +0000
1698@@ -0,0 +1,31 @@
1699+/* { dg-options "-mthumb -Os -fpic -march=armv5te -fdump-rtl-hoist" } */
1700+/* { dg-require-effective-target arm_thumb1_ok } */
1701+/* { dg-require-effective-target fpic } */
1702+/* Make sure all calculations of gObj's address get hoisted to one location. */
1703+/* { dg-final { scan-rtl-dump "PRE/HOIST: end of bb .* copying expression" "hoist" } } */
1704+
1705+struct st_a {
1706+ int data;
1707+};
1708+
1709+struct st_b {
1710+ struct st_a *p_a;
1711+ struct st_b *next;
1712+};
1713+
1714+extern struct st_b gObj;
1715+extern void foo(int, struct st_b*);
1716+
1717+int goo(struct st_b * obj) {
1718+ struct st_a *pa;
1719+ if (gObj.p_a->data != 0) {
1720+ foo(gObj.p_a->data, obj);
1721+ }
1722+ pa = obj->p_a;
1723+ if (pa == 0) {
1724+ return 0;
1725+ } else if (pa == gObj.p_a) {
1726+ return 0;
1727+ }
1728+ return pa->data;
1729+}
1730
1731=== added file 'gcc/testsuite/gcc.target/arm/pr42574.c'
1732--- old/gcc/testsuite/gcc.target/arm/pr42574.c 1970-01-01 00:00:00 +0000
1733+++ new/gcc/testsuite/gcc.target/arm/pr42574.c 2010-08-16 09:41:58 +0000
1734@@ -0,0 +1,24 @@
1735+/* { dg-options "-mthumb -Os -fpic -march=armv5te" } */
1736+/* { dg-require-effective-target arm_thumb1_ok } */
1737+/* { dg-require-effective-target fpic } */
1738+/* Make sure the address of glob.c is calculated only once and using
1739+ a logical shift for the offset (200<<1). */
1740+/* { dg-final { scan-assembler-times "lsl" 1 } } */
1741+
1742+struct A {
1743+ char a[400];
1744+ float* c;
1745+};
1746+struct A glob;
1747+void func();
1748+void func1(float*);
1749+int func2(float*, int*);
1750+void func3(float*);
1751+
1752+void test(int *p) {
1753+ func1(glob.c);
1754+ if (func2(glob.c, p)) {
1755+ func();
1756+ }
1757+ func3(glob.c);
1758+}
1759
diff --git a/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99361.patch b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99361.patch
new file mode 100644
index 0000000000..db9e63917d
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99361.patch
@@ -0,0 +1,17586 @@
12010-08-04 Julian Brown <julian@codesourcery.com>
2
3 gcc/
4 * config/arm/neon-testgen.ml (regexps): Allow any characters
5 in comments after assembly instructions.
6
7 gcc/testsuite/
8 * gcc.target/arm/neon/vfp-shift-a2t2.c: Allow any characters in
9 comments after assembly instructions.
10 * gcc.target/arm/neon/v*.c: Regenerate.
11
12 2010-07-28 Maxim Kuvyrkov <maxim@codesourcery.com>
13
14 Backport code hoisting improvements from mainline:
15
16=== modified file 'gcc/config/arm/neon-testgen.ml'
17--- old/gcc/config/arm/neon-testgen.ml 2010-07-29 15:38:15 +0000
18+++ new/gcc/config/arm/neon-testgen.ml 2010-08-20 13:27:11 +0000
19@@ -257,7 +257,7 @@
20 intrinsic expands to. Watch out for any writeback character and
21 comments after the instruction. *)
22 let regexps = List.map (fun regexp -> insn_regexp ^ "\\[ \t\\]+" ^ regexp ^
23- "!?\\(\\[ \t\\]+@\\[a-zA-Z0-9 \\]+\\)?\\n")
24+ "!?\\(\\[ \t\\]+@.*\\)?\\n")
25 (analyze_all_shapes features shape analyze_shape)
26 in
27 (* Emit file and function prologues. *)
28
29=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRaddhns16.c'
30--- old/gcc/testsuite/gcc.target/arm/neon/vRaddhns16.c 2010-07-29 15:38:15 +0000
31+++ new/gcc/testsuite/gcc.target/arm/neon/vRaddhns16.c 2010-08-20 13:27:11 +0000
32@@ -17,5 +17,5 @@
33 out_int8x8_t = vraddhn_s16 (arg0_int16x8_t, arg1_int16x8_t);
34 }
35
36-/* { dg-final { scan-assembler "vraddhn\.i16\[ \]+\[dD\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
37+/* { dg-final { scan-assembler "vraddhn\.i16\[ \]+\[dD\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
38 /* { dg-final { cleanup-saved-temps } } */
39
40=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRaddhns32.c'
41--- old/gcc/testsuite/gcc.target/arm/neon/vRaddhns32.c 2010-07-29 15:38:15 +0000
42+++ new/gcc/testsuite/gcc.target/arm/neon/vRaddhns32.c 2010-08-20 13:27:11 +0000
43@@ -17,5 +17,5 @@
44 out_int16x4_t = vraddhn_s32 (arg0_int32x4_t, arg1_int32x4_t);
45 }
46
47-/* { dg-final { scan-assembler "vraddhn\.i32\[ \]+\[dD\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
48+/* { dg-final { scan-assembler "vraddhn\.i32\[ \]+\[dD\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
49 /* { dg-final { cleanup-saved-temps } } */
50
51=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRaddhns64.c'
52--- old/gcc/testsuite/gcc.target/arm/neon/vRaddhns64.c 2010-07-29 15:38:15 +0000
53+++ new/gcc/testsuite/gcc.target/arm/neon/vRaddhns64.c 2010-08-20 13:27:11 +0000
54@@ -17,5 +17,5 @@
55 out_int32x2_t = vraddhn_s64 (arg0_int64x2_t, arg1_int64x2_t);
56 }
57
58-/* { dg-final { scan-assembler "vraddhn\.i64\[ \]+\[dD\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
59+/* { dg-final { scan-assembler "vraddhn\.i64\[ \]+\[dD\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
60 /* { dg-final { cleanup-saved-temps } } */
61
62=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRaddhnu16.c'
63--- old/gcc/testsuite/gcc.target/arm/neon/vRaddhnu16.c 2010-07-29 15:38:15 +0000
64+++ new/gcc/testsuite/gcc.target/arm/neon/vRaddhnu16.c 2010-08-20 13:27:11 +0000
65@@ -17,5 +17,5 @@
66 out_uint8x8_t = vraddhn_u16 (arg0_uint16x8_t, arg1_uint16x8_t);
67 }
68
69-/* { dg-final { scan-assembler "vraddhn\.i16\[ \]+\[dD\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
70+/* { dg-final { scan-assembler "vraddhn\.i16\[ \]+\[dD\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
71 /* { dg-final { cleanup-saved-temps } } */
72
73=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRaddhnu32.c'
74--- old/gcc/testsuite/gcc.target/arm/neon/vRaddhnu32.c 2010-07-29 15:38:15 +0000
75+++ new/gcc/testsuite/gcc.target/arm/neon/vRaddhnu32.c 2010-08-20 13:27:11 +0000
76@@ -17,5 +17,5 @@
77 out_uint16x4_t = vraddhn_u32 (arg0_uint32x4_t, arg1_uint32x4_t);
78 }
79
80-/* { dg-final { scan-assembler "vraddhn\.i32\[ \]+\[dD\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
81+/* { dg-final { scan-assembler "vraddhn\.i32\[ \]+\[dD\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
82 /* { dg-final { cleanup-saved-temps } } */
83
84=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRaddhnu64.c'
85--- old/gcc/testsuite/gcc.target/arm/neon/vRaddhnu64.c 2010-07-29 15:38:15 +0000
86+++ new/gcc/testsuite/gcc.target/arm/neon/vRaddhnu64.c 2010-08-20 13:27:11 +0000
87@@ -17,5 +17,5 @@
88 out_uint32x2_t = vraddhn_u64 (arg0_uint64x2_t, arg1_uint64x2_t);
89 }
90
91-/* { dg-final { scan-assembler "vraddhn\.i64\[ \]+\[dD\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
92+/* { dg-final { scan-assembler "vraddhn\.i64\[ \]+\[dD\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
93 /* { dg-final { cleanup-saved-temps } } */
94
95=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRhaddQs16.c'
96--- old/gcc/testsuite/gcc.target/arm/neon/vRhaddQs16.c 2010-07-29 15:38:15 +0000
97+++ new/gcc/testsuite/gcc.target/arm/neon/vRhaddQs16.c 2010-08-20 13:27:11 +0000
98@@ -17,5 +17,5 @@
99 out_int16x8_t = vrhaddq_s16 (arg0_int16x8_t, arg1_int16x8_t);
100 }
101
102-/* { dg-final { scan-assembler "vrhadd\.s16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
103+/* { dg-final { scan-assembler "vrhadd\.s16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
104 /* { dg-final { cleanup-saved-temps } } */
105
106=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRhaddQs32.c'
107--- old/gcc/testsuite/gcc.target/arm/neon/vRhaddQs32.c 2010-07-29 15:38:15 +0000
108+++ new/gcc/testsuite/gcc.target/arm/neon/vRhaddQs32.c 2010-08-20 13:27:11 +0000
109@@ -17,5 +17,5 @@
110 out_int32x4_t = vrhaddq_s32 (arg0_int32x4_t, arg1_int32x4_t);
111 }
112
113-/* { dg-final { scan-assembler "vrhadd\.s32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
114+/* { dg-final { scan-assembler "vrhadd\.s32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
115 /* { dg-final { cleanup-saved-temps } } */
116
117=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRhaddQs8.c'
118--- old/gcc/testsuite/gcc.target/arm/neon/vRhaddQs8.c 2010-07-29 15:38:15 +0000
119+++ new/gcc/testsuite/gcc.target/arm/neon/vRhaddQs8.c 2010-08-20 13:27:11 +0000
120@@ -17,5 +17,5 @@
121 out_int8x16_t = vrhaddq_s8 (arg0_int8x16_t, arg1_int8x16_t);
122 }
123
124-/* { dg-final { scan-assembler "vrhadd\.s8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
125+/* { dg-final { scan-assembler "vrhadd\.s8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
126 /* { dg-final { cleanup-saved-temps } } */
127
128=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRhaddQu16.c'
129--- old/gcc/testsuite/gcc.target/arm/neon/vRhaddQu16.c 2010-07-29 15:38:15 +0000
130+++ new/gcc/testsuite/gcc.target/arm/neon/vRhaddQu16.c 2010-08-20 13:27:11 +0000
131@@ -17,5 +17,5 @@
132 out_uint16x8_t = vrhaddq_u16 (arg0_uint16x8_t, arg1_uint16x8_t);
133 }
134
135-/* { dg-final { scan-assembler "vrhadd\.u16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
136+/* { dg-final { scan-assembler "vrhadd\.u16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
137 /* { dg-final { cleanup-saved-temps } } */
138
139=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRhaddQu32.c'
140--- old/gcc/testsuite/gcc.target/arm/neon/vRhaddQu32.c 2010-07-29 15:38:15 +0000
141+++ new/gcc/testsuite/gcc.target/arm/neon/vRhaddQu32.c 2010-08-20 13:27:11 +0000
142@@ -17,5 +17,5 @@
143 out_uint32x4_t = vrhaddq_u32 (arg0_uint32x4_t, arg1_uint32x4_t);
144 }
145
146-/* { dg-final { scan-assembler "vrhadd\.u32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
147+/* { dg-final { scan-assembler "vrhadd\.u32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
148 /* { dg-final { cleanup-saved-temps } } */
149
150=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRhaddQu8.c'
151--- old/gcc/testsuite/gcc.target/arm/neon/vRhaddQu8.c 2010-07-29 15:38:15 +0000
152+++ new/gcc/testsuite/gcc.target/arm/neon/vRhaddQu8.c 2010-08-20 13:27:11 +0000
153@@ -17,5 +17,5 @@
154 out_uint8x16_t = vrhaddq_u8 (arg0_uint8x16_t, arg1_uint8x16_t);
155 }
156
157-/* { dg-final { scan-assembler "vrhadd\.u8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
158+/* { dg-final { scan-assembler "vrhadd\.u8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
159 /* { dg-final { cleanup-saved-temps } } */
160
161=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRhadds16.c'
162--- old/gcc/testsuite/gcc.target/arm/neon/vRhadds16.c 2010-07-29 15:38:15 +0000
163+++ new/gcc/testsuite/gcc.target/arm/neon/vRhadds16.c 2010-08-20 13:27:11 +0000
164@@ -17,5 +17,5 @@
165 out_int16x4_t = vrhadd_s16 (arg0_int16x4_t, arg1_int16x4_t);
166 }
167
168-/* { dg-final { scan-assembler "vrhadd\.s16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
169+/* { dg-final { scan-assembler "vrhadd\.s16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
170 /* { dg-final { cleanup-saved-temps } } */
171
172=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRhadds32.c'
173--- old/gcc/testsuite/gcc.target/arm/neon/vRhadds32.c 2010-07-29 15:38:15 +0000
174+++ new/gcc/testsuite/gcc.target/arm/neon/vRhadds32.c 2010-08-20 13:27:11 +0000
175@@ -17,5 +17,5 @@
176 out_int32x2_t = vrhadd_s32 (arg0_int32x2_t, arg1_int32x2_t);
177 }
178
179-/* { dg-final { scan-assembler "vrhadd\.s32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
180+/* { dg-final { scan-assembler "vrhadd\.s32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
181 /* { dg-final { cleanup-saved-temps } } */
182
183=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRhadds8.c'
184--- old/gcc/testsuite/gcc.target/arm/neon/vRhadds8.c 2010-07-29 15:38:15 +0000
185+++ new/gcc/testsuite/gcc.target/arm/neon/vRhadds8.c 2010-08-20 13:27:11 +0000
186@@ -17,5 +17,5 @@
187 out_int8x8_t = vrhadd_s8 (arg0_int8x8_t, arg1_int8x8_t);
188 }
189
190-/* { dg-final { scan-assembler "vrhadd\.s8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
191+/* { dg-final { scan-assembler "vrhadd\.s8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
192 /* { dg-final { cleanup-saved-temps } } */
193
194=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRhaddu16.c'
195--- old/gcc/testsuite/gcc.target/arm/neon/vRhaddu16.c 2010-07-29 15:38:15 +0000
196+++ new/gcc/testsuite/gcc.target/arm/neon/vRhaddu16.c 2010-08-20 13:27:11 +0000
197@@ -17,5 +17,5 @@
198 out_uint16x4_t = vrhadd_u16 (arg0_uint16x4_t, arg1_uint16x4_t);
199 }
200
201-/* { dg-final { scan-assembler "vrhadd\.u16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
202+/* { dg-final { scan-assembler "vrhadd\.u16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
203 /* { dg-final { cleanup-saved-temps } } */
204
205=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRhaddu32.c'
206--- old/gcc/testsuite/gcc.target/arm/neon/vRhaddu32.c 2010-07-29 15:38:15 +0000
207+++ new/gcc/testsuite/gcc.target/arm/neon/vRhaddu32.c 2010-08-20 13:27:11 +0000
208@@ -17,5 +17,5 @@
209 out_uint32x2_t = vrhadd_u32 (arg0_uint32x2_t, arg1_uint32x2_t);
210 }
211
212-/* { dg-final { scan-assembler "vrhadd\.u32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
213+/* { dg-final { scan-assembler "vrhadd\.u32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
214 /* { dg-final { cleanup-saved-temps } } */
215
216=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRhaddu8.c'
217--- old/gcc/testsuite/gcc.target/arm/neon/vRhaddu8.c 2010-07-29 15:38:15 +0000
218+++ new/gcc/testsuite/gcc.target/arm/neon/vRhaddu8.c 2010-08-20 13:27:11 +0000
219@@ -17,5 +17,5 @@
220 out_uint8x8_t = vrhadd_u8 (arg0_uint8x8_t, arg1_uint8x8_t);
221 }
222
223-/* { dg-final { scan-assembler "vrhadd\.u8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
224+/* { dg-final { scan-assembler "vrhadd\.u8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
225 /* { dg-final { cleanup-saved-temps } } */
226
227=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRshlQs16.c'
228--- old/gcc/testsuite/gcc.target/arm/neon/vRshlQs16.c 2010-07-29 15:38:15 +0000
229+++ new/gcc/testsuite/gcc.target/arm/neon/vRshlQs16.c 2010-08-20 13:27:11 +0000
230@@ -17,5 +17,5 @@
231 out_int16x8_t = vrshlq_s16 (arg0_int16x8_t, arg1_int16x8_t);
232 }
233
234-/* { dg-final { scan-assembler "vrshl\.s16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
235+/* { dg-final { scan-assembler "vrshl\.s16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
236 /* { dg-final { cleanup-saved-temps } } */
237
238=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRshlQs32.c'
239--- old/gcc/testsuite/gcc.target/arm/neon/vRshlQs32.c 2010-07-29 15:38:15 +0000
240+++ new/gcc/testsuite/gcc.target/arm/neon/vRshlQs32.c 2010-08-20 13:27:11 +0000
241@@ -17,5 +17,5 @@
242 out_int32x4_t = vrshlq_s32 (arg0_int32x4_t, arg1_int32x4_t);
243 }
244
245-/* { dg-final { scan-assembler "vrshl\.s32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
246+/* { dg-final { scan-assembler "vrshl\.s32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
247 /* { dg-final { cleanup-saved-temps } } */
248
249=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRshlQs64.c'
250--- old/gcc/testsuite/gcc.target/arm/neon/vRshlQs64.c 2010-07-29 15:38:15 +0000
251+++ new/gcc/testsuite/gcc.target/arm/neon/vRshlQs64.c 2010-08-20 13:27:11 +0000
252@@ -17,5 +17,5 @@
253 out_int64x2_t = vrshlq_s64 (arg0_int64x2_t, arg1_int64x2_t);
254 }
255
256-/* { dg-final { scan-assembler "vrshl\.s64\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
257+/* { dg-final { scan-assembler "vrshl\.s64\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
258 /* { dg-final { cleanup-saved-temps } } */
259
260=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRshlQs8.c'
261--- old/gcc/testsuite/gcc.target/arm/neon/vRshlQs8.c 2010-07-29 15:38:15 +0000
262+++ new/gcc/testsuite/gcc.target/arm/neon/vRshlQs8.c 2010-08-20 13:27:11 +0000
263@@ -17,5 +17,5 @@
264 out_int8x16_t = vrshlq_s8 (arg0_int8x16_t, arg1_int8x16_t);
265 }
266
267-/* { dg-final { scan-assembler "vrshl\.s8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
268+/* { dg-final { scan-assembler "vrshl\.s8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
269 /* { dg-final { cleanup-saved-temps } } */
270
271=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRshlQu16.c'
272--- old/gcc/testsuite/gcc.target/arm/neon/vRshlQu16.c 2010-07-29 15:38:15 +0000
273+++ new/gcc/testsuite/gcc.target/arm/neon/vRshlQu16.c 2010-08-20 13:27:11 +0000
274@@ -17,5 +17,5 @@
275 out_uint16x8_t = vrshlq_u16 (arg0_uint16x8_t, arg1_int16x8_t);
276 }
277
278-/* { dg-final { scan-assembler "vrshl\.u16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
279+/* { dg-final { scan-assembler "vrshl\.u16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
280 /* { dg-final { cleanup-saved-temps } } */
281
282=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRshlQu32.c'
283--- old/gcc/testsuite/gcc.target/arm/neon/vRshlQu32.c 2010-07-29 15:38:15 +0000
284+++ new/gcc/testsuite/gcc.target/arm/neon/vRshlQu32.c 2010-08-20 13:27:11 +0000
285@@ -17,5 +17,5 @@
286 out_uint32x4_t = vrshlq_u32 (arg0_uint32x4_t, arg1_int32x4_t);
287 }
288
289-/* { dg-final { scan-assembler "vrshl\.u32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
290+/* { dg-final { scan-assembler "vrshl\.u32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
291 /* { dg-final { cleanup-saved-temps } } */
292
293=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRshlQu64.c'
294--- old/gcc/testsuite/gcc.target/arm/neon/vRshlQu64.c 2010-07-29 15:38:15 +0000
295+++ new/gcc/testsuite/gcc.target/arm/neon/vRshlQu64.c 2010-08-20 13:27:11 +0000
296@@ -17,5 +17,5 @@
297 out_uint64x2_t = vrshlq_u64 (arg0_uint64x2_t, arg1_int64x2_t);
298 }
299
300-/* { dg-final { scan-assembler "vrshl\.u64\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
301+/* { dg-final { scan-assembler "vrshl\.u64\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
302 /* { dg-final { cleanup-saved-temps } } */
303
304=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRshlQu8.c'
305--- old/gcc/testsuite/gcc.target/arm/neon/vRshlQu8.c 2010-07-29 15:38:15 +0000
306+++ new/gcc/testsuite/gcc.target/arm/neon/vRshlQu8.c 2010-08-20 13:27:11 +0000
307@@ -17,5 +17,5 @@
308 out_uint8x16_t = vrshlq_u8 (arg0_uint8x16_t, arg1_int8x16_t);
309 }
310
311-/* { dg-final { scan-assembler "vrshl\.u8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
312+/* { dg-final { scan-assembler "vrshl\.u8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
313 /* { dg-final { cleanup-saved-temps } } */
314
315=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRshls16.c'
316--- old/gcc/testsuite/gcc.target/arm/neon/vRshls16.c 2010-07-29 15:38:15 +0000
317+++ new/gcc/testsuite/gcc.target/arm/neon/vRshls16.c 2010-08-20 13:27:11 +0000
318@@ -17,5 +17,5 @@
319 out_int16x4_t = vrshl_s16 (arg0_int16x4_t, arg1_int16x4_t);
320 }
321
322-/* { dg-final { scan-assembler "vrshl\.s16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
323+/* { dg-final { scan-assembler "vrshl\.s16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
324 /* { dg-final { cleanup-saved-temps } } */
325
326=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRshls32.c'
327--- old/gcc/testsuite/gcc.target/arm/neon/vRshls32.c 2010-07-29 15:38:15 +0000
328+++ new/gcc/testsuite/gcc.target/arm/neon/vRshls32.c 2010-08-20 13:27:11 +0000
329@@ -17,5 +17,5 @@
330 out_int32x2_t = vrshl_s32 (arg0_int32x2_t, arg1_int32x2_t);
331 }
332
333-/* { dg-final { scan-assembler "vrshl\.s32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
334+/* { dg-final { scan-assembler "vrshl\.s32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
335 /* { dg-final { cleanup-saved-temps } } */
336
337=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRshls64.c'
338--- old/gcc/testsuite/gcc.target/arm/neon/vRshls64.c 2010-07-29 15:38:15 +0000
339+++ new/gcc/testsuite/gcc.target/arm/neon/vRshls64.c 2010-08-20 13:27:11 +0000
340@@ -17,5 +17,5 @@
341 out_int64x1_t = vrshl_s64 (arg0_int64x1_t, arg1_int64x1_t);
342 }
343
344-/* { dg-final { scan-assembler "vrshl\.s64\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
345+/* { dg-final { scan-assembler "vrshl\.s64\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
346 /* { dg-final { cleanup-saved-temps } } */
347
348=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRshls8.c'
349--- old/gcc/testsuite/gcc.target/arm/neon/vRshls8.c 2010-07-29 15:38:15 +0000
350+++ new/gcc/testsuite/gcc.target/arm/neon/vRshls8.c 2010-08-20 13:27:11 +0000
351@@ -17,5 +17,5 @@
352 out_int8x8_t = vrshl_s8 (arg0_int8x8_t, arg1_int8x8_t);
353 }
354
355-/* { dg-final { scan-assembler "vrshl\.s8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
356+/* { dg-final { scan-assembler "vrshl\.s8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
357 /* { dg-final { cleanup-saved-temps } } */
358
359=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRshlu16.c'
360--- old/gcc/testsuite/gcc.target/arm/neon/vRshlu16.c 2010-07-29 15:38:15 +0000
361+++ new/gcc/testsuite/gcc.target/arm/neon/vRshlu16.c 2010-08-20 13:27:11 +0000
362@@ -17,5 +17,5 @@
363 out_uint16x4_t = vrshl_u16 (arg0_uint16x4_t, arg1_int16x4_t);
364 }
365
366-/* { dg-final { scan-assembler "vrshl\.u16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
367+/* { dg-final { scan-assembler "vrshl\.u16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
368 /* { dg-final { cleanup-saved-temps } } */
369
370=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRshlu32.c'
371--- old/gcc/testsuite/gcc.target/arm/neon/vRshlu32.c 2010-07-29 15:38:15 +0000
372+++ new/gcc/testsuite/gcc.target/arm/neon/vRshlu32.c 2010-08-20 13:27:11 +0000
373@@ -17,5 +17,5 @@
374 out_uint32x2_t = vrshl_u32 (arg0_uint32x2_t, arg1_int32x2_t);
375 }
376
377-/* { dg-final { scan-assembler "vrshl\.u32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
378+/* { dg-final { scan-assembler "vrshl\.u32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
379 /* { dg-final { cleanup-saved-temps } } */
380
381=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRshlu64.c'
382--- old/gcc/testsuite/gcc.target/arm/neon/vRshlu64.c 2010-07-29 15:38:15 +0000
383+++ new/gcc/testsuite/gcc.target/arm/neon/vRshlu64.c 2010-08-20 13:27:11 +0000
384@@ -17,5 +17,5 @@
385 out_uint64x1_t = vrshl_u64 (arg0_uint64x1_t, arg1_int64x1_t);
386 }
387
388-/* { dg-final { scan-assembler "vrshl\.u64\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
389+/* { dg-final { scan-assembler "vrshl\.u64\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
390 /* { dg-final { cleanup-saved-temps } } */
391
392=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRshlu8.c'
393--- old/gcc/testsuite/gcc.target/arm/neon/vRshlu8.c 2010-07-29 15:38:15 +0000
394+++ new/gcc/testsuite/gcc.target/arm/neon/vRshlu8.c 2010-08-20 13:27:11 +0000
395@@ -17,5 +17,5 @@
396 out_uint8x8_t = vrshl_u8 (arg0_uint8x8_t, arg1_int8x8_t);
397 }
398
399-/* { dg-final { scan-assembler "vrshl\.u8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
400+/* { dg-final { scan-assembler "vrshl\.u8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
401 /* { dg-final { cleanup-saved-temps } } */
402
403=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRshrQ_ns16.c'
404--- old/gcc/testsuite/gcc.target/arm/neon/vRshrQ_ns16.c 2010-07-29 15:38:15 +0000
405+++ new/gcc/testsuite/gcc.target/arm/neon/vRshrQ_ns16.c 2010-08-20 13:27:11 +0000
406@@ -16,5 +16,5 @@
407 out_int16x8_t = vrshrq_n_s16 (arg0_int16x8_t, 1);
408 }
409
410-/* { dg-final { scan-assembler "vrshr\.s16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
411+/* { dg-final { scan-assembler "vrshr\.s16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
412 /* { dg-final { cleanup-saved-temps } } */
413
414=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRshrQ_ns32.c'
415--- old/gcc/testsuite/gcc.target/arm/neon/vRshrQ_ns32.c 2010-07-29 15:38:15 +0000
416+++ new/gcc/testsuite/gcc.target/arm/neon/vRshrQ_ns32.c 2010-08-20 13:27:11 +0000
417@@ -16,5 +16,5 @@
418 out_int32x4_t = vrshrq_n_s32 (arg0_int32x4_t, 1);
419 }
420
421-/* { dg-final { scan-assembler "vrshr\.s32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
422+/* { dg-final { scan-assembler "vrshr\.s32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
423 /* { dg-final { cleanup-saved-temps } } */
424
425=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRshrQ_ns64.c'
426--- old/gcc/testsuite/gcc.target/arm/neon/vRshrQ_ns64.c 2010-07-29 15:38:15 +0000
427+++ new/gcc/testsuite/gcc.target/arm/neon/vRshrQ_ns64.c 2010-08-20 13:27:11 +0000
428@@ -16,5 +16,5 @@
429 out_int64x2_t = vrshrq_n_s64 (arg0_int64x2_t, 1);
430 }
431
432-/* { dg-final { scan-assembler "vrshr\.s64\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
433+/* { dg-final { scan-assembler "vrshr\.s64\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
434 /* { dg-final { cleanup-saved-temps } } */
435
436=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRshrQ_ns8.c'
437--- old/gcc/testsuite/gcc.target/arm/neon/vRshrQ_ns8.c 2010-07-29 15:38:15 +0000
438+++ new/gcc/testsuite/gcc.target/arm/neon/vRshrQ_ns8.c 2010-08-20 13:27:11 +0000
439@@ -16,5 +16,5 @@
440 out_int8x16_t = vrshrq_n_s8 (arg0_int8x16_t, 1);
441 }
442
443-/* { dg-final { scan-assembler "vrshr\.s8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
444+/* { dg-final { scan-assembler "vrshr\.s8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
445 /* { dg-final { cleanup-saved-temps } } */
446
447=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRshrQ_nu16.c'
448--- old/gcc/testsuite/gcc.target/arm/neon/vRshrQ_nu16.c 2010-07-29 15:38:15 +0000
449+++ new/gcc/testsuite/gcc.target/arm/neon/vRshrQ_nu16.c 2010-08-20 13:27:11 +0000
450@@ -16,5 +16,5 @@
451 out_uint16x8_t = vrshrq_n_u16 (arg0_uint16x8_t, 1);
452 }
453
454-/* { dg-final { scan-assembler "vrshr\.u16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
455+/* { dg-final { scan-assembler "vrshr\.u16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
456 /* { dg-final { cleanup-saved-temps } } */
457
458=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRshrQ_nu32.c'
459--- old/gcc/testsuite/gcc.target/arm/neon/vRshrQ_nu32.c 2010-07-29 15:38:15 +0000
460+++ new/gcc/testsuite/gcc.target/arm/neon/vRshrQ_nu32.c 2010-08-20 13:27:11 +0000
461@@ -16,5 +16,5 @@
462 out_uint32x4_t = vrshrq_n_u32 (arg0_uint32x4_t, 1);
463 }
464
465-/* { dg-final { scan-assembler "vrshr\.u32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
466+/* { dg-final { scan-assembler "vrshr\.u32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
467 /* { dg-final { cleanup-saved-temps } } */
468
469=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRshrQ_nu64.c'
470--- old/gcc/testsuite/gcc.target/arm/neon/vRshrQ_nu64.c 2010-07-29 15:38:15 +0000
471+++ new/gcc/testsuite/gcc.target/arm/neon/vRshrQ_nu64.c 2010-08-20 13:27:11 +0000
472@@ -16,5 +16,5 @@
473 out_uint64x2_t = vrshrq_n_u64 (arg0_uint64x2_t, 1);
474 }
475
476-/* { dg-final { scan-assembler "vrshr\.u64\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
477+/* { dg-final { scan-assembler "vrshr\.u64\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
478 /* { dg-final { cleanup-saved-temps } } */
479
480=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRshrQ_nu8.c'
481--- old/gcc/testsuite/gcc.target/arm/neon/vRshrQ_nu8.c 2010-07-29 15:38:15 +0000
482+++ new/gcc/testsuite/gcc.target/arm/neon/vRshrQ_nu8.c 2010-08-20 13:27:11 +0000
483@@ -16,5 +16,5 @@
484 out_uint8x16_t = vrshrq_n_u8 (arg0_uint8x16_t, 1);
485 }
486
487-/* { dg-final { scan-assembler "vrshr\.u8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
488+/* { dg-final { scan-assembler "vrshr\.u8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
489 /* { dg-final { cleanup-saved-temps } } */
490
491=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRshr_ns16.c'
492--- old/gcc/testsuite/gcc.target/arm/neon/vRshr_ns16.c 2010-07-29 15:38:15 +0000
493+++ new/gcc/testsuite/gcc.target/arm/neon/vRshr_ns16.c 2010-08-20 13:27:11 +0000
494@@ -16,5 +16,5 @@
495 out_int16x4_t = vrshr_n_s16 (arg0_int16x4_t, 1);
496 }
497
498-/* { dg-final { scan-assembler "vrshr\.s16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
499+/* { dg-final { scan-assembler "vrshr\.s16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
500 /* { dg-final { cleanup-saved-temps } } */
501
502=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRshr_ns32.c'
503--- old/gcc/testsuite/gcc.target/arm/neon/vRshr_ns32.c 2010-07-29 15:38:15 +0000
504+++ new/gcc/testsuite/gcc.target/arm/neon/vRshr_ns32.c 2010-08-20 13:27:11 +0000
505@@ -16,5 +16,5 @@
506 out_int32x2_t = vrshr_n_s32 (arg0_int32x2_t, 1);
507 }
508
509-/* { dg-final { scan-assembler "vrshr\.s32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
510+/* { dg-final { scan-assembler "vrshr\.s32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
511 /* { dg-final { cleanup-saved-temps } } */
512
513=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRshr_ns64.c'
514--- old/gcc/testsuite/gcc.target/arm/neon/vRshr_ns64.c 2010-07-29 15:38:15 +0000
515+++ new/gcc/testsuite/gcc.target/arm/neon/vRshr_ns64.c 2010-08-20 13:27:11 +0000
516@@ -16,5 +16,5 @@
517 out_int64x1_t = vrshr_n_s64 (arg0_int64x1_t, 1);
518 }
519
520-/* { dg-final { scan-assembler "vrshr\.s64\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
521+/* { dg-final { scan-assembler "vrshr\.s64\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
522 /* { dg-final { cleanup-saved-temps } } */
523
524=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRshr_ns8.c'
525--- old/gcc/testsuite/gcc.target/arm/neon/vRshr_ns8.c 2010-07-29 15:38:15 +0000
526+++ new/gcc/testsuite/gcc.target/arm/neon/vRshr_ns8.c 2010-08-20 13:27:11 +0000
527@@ -16,5 +16,5 @@
528 out_int8x8_t = vrshr_n_s8 (arg0_int8x8_t, 1);
529 }
530
531-/* { dg-final { scan-assembler "vrshr\.s8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
532+/* { dg-final { scan-assembler "vrshr\.s8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
533 /* { dg-final { cleanup-saved-temps } } */
534
535=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRshr_nu16.c'
536--- old/gcc/testsuite/gcc.target/arm/neon/vRshr_nu16.c 2010-07-29 15:38:15 +0000
537+++ new/gcc/testsuite/gcc.target/arm/neon/vRshr_nu16.c 2010-08-20 13:27:11 +0000
538@@ -16,5 +16,5 @@
539 out_uint16x4_t = vrshr_n_u16 (arg0_uint16x4_t, 1);
540 }
541
542-/* { dg-final { scan-assembler "vrshr\.u16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
543+/* { dg-final { scan-assembler "vrshr\.u16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
544 /* { dg-final { cleanup-saved-temps } } */
545
546=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRshr_nu32.c'
547--- old/gcc/testsuite/gcc.target/arm/neon/vRshr_nu32.c 2010-07-29 15:38:15 +0000
548+++ new/gcc/testsuite/gcc.target/arm/neon/vRshr_nu32.c 2010-08-20 13:27:11 +0000
549@@ -16,5 +16,5 @@
550 out_uint32x2_t = vrshr_n_u32 (arg0_uint32x2_t, 1);
551 }
552
553-/* { dg-final { scan-assembler "vrshr\.u32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
554+/* { dg-final { scan-assembler "vrshr\.u32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
555 /* { dg-final { cleanup-saved-temps } } */
556
557=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRshr_nu64.c'
558--- old/gcc/testsuite/gcc.target/arm/neon/vRshr_nu64.c 2010-07-29 15:38:15 +0000
559+++ new/gcc/testsuite/gcc.target/arm/neon/vRshr_nu64.c 2010-08-20 13:27:11 +0000
560@@ -16,5 +16,5 @@
561 out_uint64x1_t = vrshr_n_u64 (arg0_uint64x1_t, 1);
562 }
563
564-/* { dg-final { scan-assembler "vrshr\.u64\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
565+/* { dg-final { scan-assembler "vrshr\.u64\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
566 /* { dg-final { cleanup-saved-temps } } */
567
568=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRshr_nu8.c'
569--- old/gcc/testsuite/gcc.target/arm/neon/vRshr_nu8.c 2010-07-29 15:38:15 +0000
570+++ new/gcc/testsuite/gcc.target/arm/neon/vRshr_nu8.c 2010-08-20 13:27:11 +0000
571@@ -16,5 +16,5 @@
572 out_uint8x8_t = vrshr_n_u8 (arg0_uint8x8_t, 1);
573 }
574
575-/* { dg-final { scan-assembler "vrshr\.u8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
576+/* { dg-final { scan-assembler "vrshr\.u8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
577 /* { dg-final { cleanup-saved-temps } } */
578
579=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRshrn_ns16.c'
580--- old/gcc/testsuite/gcc.target/arm/neon/vRshrn_ns16.c 2010-07-29 15:38:15 +0000
581+++ new/gcc/testsuite/gcc.target/arm/neon/vRshrn_ns16.c 2010-08-20 13:27:11 +0000
582@@ -16,5 +16,5 @@
583 out_int8x8_t = vrshrn_n_s16 (arg0_int16x8_t, 1);
584 }
585
586-/* { dg-final { scan-assembler "vrshrn\.i16\[ \]+\[dD\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
587+/* { dg-final { scan-assembler "vrshrn\.i16\[ \]+\[dD\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
588 /* { dg-final { cleanup-saved-temps } } */
589
590=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRshrn_ns32.c'
591--- old/gcc/testsuite/gcc.target/arm/neon/vRshrn_ns32.c 2010-07-29 15:38:15 +0000
592+++ new/gcc/testsuite/gcc.target/arm/neon/vRshrn_ns32.c 2010-08-20 13:27:11 +0000
593@@ -16,5 +16,5 @@
594 out_int16x4_t = vrshrn_n_s32 (arg0_int32x4_t, 1);
595 }
596
597-/* { dg-final { scan-assembler "vrshrn\.i32\[ \]+\[dD\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
598+/* { dg-final { scan-assembler "vrshrn\.i32\[ \]+\[dD\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
599 /* { dg-final { cleanup-saved-temps } } */
600
601=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRshrn_ns64.c'
602--- old/gcc/testsuite/gcc.target/arm/neon/vRshrn_ns64.c 2010-07-29 15:38:15 +0000
603+++ new/gcc/testsuite/gcc.target/arm/neon/vRshrn_ns64.c 2010-08-20 13:27:11 +0000
604@@ -16,5 +16,5 @@
605 out_int32x2_t = vrshrn_n_s64 (arg0_int64x2_t, 1);
606 }
607
608-/* { dg-final { scan-assembler "vrshrn\.i64\[ \]+\[dD\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
609+/* { dg-final { scan-assembler "vrshrn\.i64\[ \]+\[dD\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
610 /* { dg-final { cleanup-saved-temps } } */
611
612=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRshrn_nu16.c'
613--- old/gcc/testsuite/gcc.target/arm/neon/vRshrn_nu16.c 2010-07-29 15:38:15 +0000
614+++ new/gcc/testsuite/gcc.target/arm/neon/vRshrn_nu16.c 2010-08-20 13:27:11 +0000
615@@ -16,5 +16,5 @@
616 out_uint8x8_t = vrshrn_n_u16 (arg0_uint16x8_t, 1);
617 }
618
619-/* { dg-final { scan-assembler "vrshrn\.i16\[ \]+\[dD\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
620+/* { dg-final { scan-assembler "vrshrn\.i16\[ \]+\[dD\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
621 /* { dg-final { cleanup-saved-temps } } */
622
623=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRshrn_nu32.c'
624--- old/gcc/testsuite/gcc.target/arm/neon/vRshrn_nu32.c 2010-07-29 15:38:15 +0000
625+++ new/gcc/testsuite/gcc.target/arm/neon/vRshrn_nu32.c 2010-08-20 13:27:11 +0000
626@@ -16,5 +16,5 @@
627 out_uint16x4_t = vrshrn_n_u32 (arg0_uint32x4_t, 1);
628 }
629
630-/* { dg-final { scan-assembler "vrshrn\.i32\[ \]+\[dD\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
631+/* { dg-final { scan-assembler "vrshrn\.i32\[ \]+\[dD\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
632 /* { dg-final { cleanup-saved-temps } } */
633
634=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRshrn_nu64.c'
635--- old/gcc/testsuite/gcc.target/arm/neon/vRshrn_nu64.c 2010-07-29 15:38:15 +0000
636+++ new/gcc/testsuite/gcc.target/arm/neon/vRshrn_nu64.c 2010-08-20 13:27:11 +0000
637@@ -16,5 +16,5 @@
638 out_uint32x2_t = vrshrn_n_u64 (arg0_uint64x2_t, 1);
639 }
640
641-/* { dg-final { scan-assembler "vrshrn\.i64\[ \]+\[dD\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
642+/* { dg-final { scan-assembler "vrshrn\.i64\[ \]+\[dD\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
643 /* { dg-final { cleanup-saved-temps } } */
644
645=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRsraQ_ns16.c'
646--- old/gcc/testsuite/gcc.target/arm/neon/vRsraQ_ns16.c 2010-07-29 15:38:15 +0000
647+++ new/gcc/testsuite/gcc.target/arm/neon/vRsraQ_ns16.c 2010-08-20 13:27:11 +0000
648@@ -17,5 +17,5 @@
649 out_int16x8_t = vrsraq_n_s16 (arg0_int16x8_t, arg1_int16x8_t, 1);
650 }
651
652-/* { dg-final { scan-assembler "vrsra\.s16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
653+/* { dg-final { scan-assembler "vrsra\.s16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
654 /* { dg-final { cleanup-saved-temps } } */
655
656=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRsraQ_ns32.c'
657--- old/gcc/testsuite/gcc.target/arm/neon/vRsraQ_ns32.c 2010-07-29 15:38:15 +0000
658+++ new/gcc/testsuite/gcc.target/arm/neon/vRsraQ_ns32.c 2010-08-20 13:27:11 +0000
659@@ -17,5 +17,5 @@
660 out_int32x4_t = vrsraq_n_s32 (arg0_int32x4_t, arg1_int32x4_t, 1);
661 }
662
663-/* { dg-final { scan-assembler "vrsra\.s32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
664+/* { dg-final { scan-assembler "vrsra\.s32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
665 /* { dg-final { cleanup-saved-temps } } */
666
667=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRsraQ_ns64.c'
668--- old/gcc/testsuite/gcc.target/arm/neon/vRsraQ_ns64.c 2010-07-29 15:38:15 +0000
669+++ new/gcc/testsuite/gcc.target/arm/neon/vRsraQ_ns64.c 2010-08-20 13:27:11 +0000
670@@ -17,5 +17,5 @@
671 out_int64x2_t = vrsraq_n_s64 (arg0_int64x2_t, arg1_int64x2_t, 1);
672 }
673
674-/* { dg-final { scan-assembler "vrsra\.s64\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
675+/* { dg-final { scan-assembler "vrsra\.s64\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
676 /* { dg-final { cleanup-saved-temps } } */
677
678=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRsraQ_ns8.c'
679--- old/gcc/testsuite/gcc.target/arm/neon/vRsraQ_ns8.c 2010-07-29 15:38:15 +0000
680+++ new/gcc/testsuite/gcc.target/arm/neon/vRsraQ_ns8.c 2010-08-20 13:27:11 +0000
681@@ -17,5 +17,5 @@
682 out_int8x16_t = vrsraq_n_s8 (arg0_int8x16_t, arg1_int8x16_t, 1);
683 }
684
685-/* { dg-final { scan-assembler "vrsra\.s8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
686+/* { dg-final { scan-assembler "vrsra\.s8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
687 /* { dg-final { cleanup-saved-temps } } */
688
689=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRsraQ_nu16.c'
690--- old/gcc/testsuite/gcc.target/arm/neon/vRsraQ_nu16.c 2010-07-29 15:38:15 +0000
691+++ new/gcc/testsuite/gcc.target/arm/neon/vRsraQ_nu16.c 2010-08-20 13:27:11 +0000
692@@ -17,5 +17,5 @@
693 out_uint16x8_t = vrsraq_n_u16 (arg0_uint16x8_t, arg1_uint16x8_t, 1);
694 }
695
696-/* { dg-final { scan-assembler "vrsra\.u16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
697+/* { dg-final { scan-assembler "vrsra\.u16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
698 /* { dg-final { cleanup-saved-temps } } */
699
700=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRsraQ_nu32.c'
701--- old/gcc/testsuite/gcc.target/arm/neon/vRsraQ_nu32.c 2010-07-29 15:38:15 +0000
702+++ new/gcc/testsuite/gcc.target/arm/neon/vRsraQ_nu32.c 2010-08-20 13:27:11 +0000
703@@ -17,5 +17,5 @@
704 out_uint32x4_t = vrsraq_n_u32 (arg0_uint32x4_t, arg1_uint32x4_t, 1);
705 }
706
707-/* { dg-final { scan-assembler "vrsra\.u32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
708+/* { dg-final { scan-assembler "vrsra\.u32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
709 /* { dg-final { cleanup-saved-temps } } */
710
711=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRsraQ_nu64.c'
712--- old/gcc/testsuite/gcc.target/arm/neon/vRsraQ_nu64.c 2010-07-29 15:38:15 +0000
713+++ new/gcc/testsuite/gcc.target/arm/neon/vRsraQ_nu64.c 2010-08-20 13:27:11 +0000
714@@ -17,5 +17,5 @@
715 out_uint64x2_t = vrsraq_n_u64 (arg0_uint64x2_t, arg1_uint64x2_t, 1);
716 }
717
718-/* { dg-final { scan-assembler "vrsra\.u64\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
719+/* { dg-final { scan-assembler "vrsra\.u64\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
720 /* { dg-final { cleanup-saved-temps } } */
721
722=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRsraQ_nu8.c'
723--- old/gcc/testsuite/gcc.target/arm/neon/vRsraQ_nu8.c 2010-07-29 15:38:15 +0000
724+++ new/gcc/testsuite/gcc.target/arm/neon/vRsraQ_nu8.c 2010-08-20 13:27:11 +0000
725@@ -17,5 +17,5 @@
726 out_uint8x16_t = vrsraq_n_u8 (arg0_uint8x16_t, arg1_uint8x16_t, 1);
727 }
728
729-/* { dg-final { scan-assembler "vrsra\.u8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
730+/* { dg-final { scan-assembler "vrsra\.u8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
731 /* { dg-final { cleanup-saved-temps } } */
732
733=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRsra_ns16.c'
734--- old/gcc/testsuite/gcc.target/arm/neon/vRsra_ns16.c 2010-07-29 15:38:15 +0000
735+++ new/gcc/testsuite/gcc.target/arm/neon/vRsra_ns16.c 2010-08-20 13:27:11 +0000
736@@ -17,5 +17,5 @@
737 out_int16x4_t = vrsra_n_s16 (arg0_int16x4_t, arg1_int16x4_t, 1);
738 }
739
740-/* { dg-final { scan-assembler "vrsra\.s16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
741+/* { dg-final { scan-assembler "vrsra\.s16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
742 /* { dg-final { cleanup-saved-temps } } */
743
744=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRsra_ns32.c'
745--- old/gcc/testsuite/gcc.target/arm/neon/vRsra_ns32.c 2010-07-29 15:38:15 +0000
746+++ new/gcc/testsuite/gcc.target/arm/neon/vRsra_ns32.c 2010-08-20 13:27:11 +0000
747@@ -17,5 +17,5 @@
748 out_int32x2_t = vrsra_n_s32 (arg0_int32x2_t, arg1_int32x2_t, 1);
749 }
750
751-/* { dg-final { scan-assembler "vrsra\.s32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
752+/* { dg-final { scan-assembler "vrsra\.s32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
753 /* { dg-final { cleanup-saved-temps } } */
754
755=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRsra_ns64.c'
756--- old/gcc/testsuite/gcc.target/arm/neon/vRsra_ns64.c 2010-07-29 15:38:15 +0000
757+++ new/gcc/testsuite/gcc.target/arm/neon/vRsra_ns64.c 2010-08-20 13:27:11 +0000
758@@ -17,5 +17,5 @@
759 out_int64x1_t = vrsra_n_s64 (arg0_int64x1_t, arg1_int64x1_t, 1);
760 }
761
762-/* { dg-final { scan-assembler "vrsra\.s64\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
763+/* { dg-final { scan-assembler "vrsra\.s64\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
764 /* { dg-final { cleanup-saved-temps } } */
765
766=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRsra_ns8.c'
767--- old/gcc/testsuite/gcc.target/arm/neon/vRsra_ns8.c 2010-07-29 15:38:15 +0000
768+++ new/gcc/testsuite/gcc.target/arm/neon/vRsra_ns8.c 2010-08-20 13:27:11 +0000
769@@ -17,5 +17,5 @@
770 out_int8x8_t = vrsra_n_s8 (arg0_int8x8_t, arg1_int8x8_t, 1);
771 }
772
773-/* { dg-final { scan-assembler "vrsra\.s8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
774+/* { dg-final { scan-assembler "vrsra\.s8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
775 /* { dg-final { cleanup-saved-temps } } */
776
777=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRsra_nu16.c'
778--- old/gcc/testsuite/gcc.target/arm/neon/vRsra_nu16.c 2010-07-29 15:38:15 +0000
779+++ new/gcc/testsuite/gcc.target/arm/neon/vRsra_nu16.c 2010-08-20 13:27:11 +0000
780@@ -17,5 +17,5 @@
781 out_uint16x4_t = vrsra_n_u16 (arg0_uint16x4_t, arg1_uint16x4_t, 1);
782 }
783
784-/* { dg-final { scan-assembler "vrsra\.u16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
785+/* { dg-final { scan-assembler "vrsra\.u16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
786 /* { dg-final { cleanup-saved-temps } } */
787
788=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRsra_nu32.c'
789--- old/gcc/testsuite/gcc.target/arm/neon/vRsra_nu32.c 2010-07-29 15:38:15 +0000
790+++ new/gcc/testsuite/gcc.target/arm/neon/vRsra_nu32.c 2010-08-20 13:27:11 +0000
791@@ -17,5 +17,5 @@
792 out_uint32x2_t = vrsra_n_u32 (arg0_uint32x2_t, arg1_uint32x2_t, 1);
793 }
794
795-/* { dg-final { scan-assembler "vrsra\.u32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
796+/* { dg-final { scan-assembler "vrsra\.u32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
797 /* { dg-final { cleanup-saved-temps } } */
798
799=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRsra_nu64.c'
800--- old/gcc/testsuite/gcc.target/arm/neon/vRsra_nu64.c 2010-07-29 15:38:15 +0000
801+++ new/gcc/testsuite/gcc.target/arm/neon/vRsra_nu64.c 2010-08-20 13:27:11 +0000
802@@ -17,5 +17,5 @@
803 out_uint64x1_t = vrsra_n_u64 (arg0_uint64x1_t, arg1_uint64x1_t, 1);
804 }
805
806-/* { dg-final { scan-assembler "vrsra\.u64\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
807+/* { dg-final { scan-assembler "vrsra\.u64\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
808 /* { dg-final { cleanup-saved-temps } } */
809
810=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRsra_nu8.c'
811--- old/gcc/testsuite/gcc.target/arm/neon/vRsra_nu8.c 2010-07-29 15:38:15 +0000
812+++ new/gcc/testsuite/gcc.target/arm/neon/vRsra_nu8.c 2010-08-20 13:27:11 +0000
813@@ -17,5 +17,5 @@
814 out_uint8x8_t = vrsra_n_u8 (arg0_uint8x8_t, arg1_uint8x8_t, 1);
815 }
816
817-/* { dg-final { scan-assembler "vrsra\.u8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
818+/* { dg-final { scan-assembler "vrsra\.u8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
819 /* { dg-final { cleanup-saved-temps } } */
820
821=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRsubhns16.c'
822--- old/gcc/testsuite/gcc.target/arm/neon/vRsubhns16.c 2010-07-29 15:38:15 +0000
823+++ new/gcc/testsuite/gcc.target/arm/neon/vRsubhns16.c 2010-08-20 13:27:11 +0000
824@@ -17,5 +17,5 @@
825 out_int8x8_t = vrsubhn_s16 (arg0_int16x8_t, arg1_int16x8_t);
826 }
827
828-/* { dg-final { scan-assembler "vrsubhn\.i16\[ \]+\[dD\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
829+/* { dg-final { scan-assembler "vrsubhn\.i16\[ \]+\[dD\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
830 /* { dg-final { cleanup-saved-temps } } */
831
832=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRsubhns32.c'
833--- old/gcc/testsuite/gcc.target/arm/neon/vRsubhns32.c 2010-07-29 15:38:15 +0000
834+++ new/gcc/testsuite/gcc.target/arm/neon/vRsubhns32.c 2010-08-20 13:27:11 +0000
835@@ -17,5 +17,5 @@
836 out_int16x4_t = vrsubhn_s32 (arg0_int32x4_t, arg1_int32x4_t);
837 }
838
839-/* { dg-final { scan-assembler "vrsubhn\.i32\[ \]+\[dD\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
840+/* { dg-final { scan-assembler "vrsubhn\.i32\[ \]+\[dD\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
841 /* { dg-final { cleanup-saved-temps } } */
842
843=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRsubhns64.c'
844--- old/gcc/testsuite/gcc.target/arm/neon/vRsubhns64.c 2010-07-29 15:38:15 +0000
845+++ new/gcc/testsuite/gcc.target/arm/neon/vRsubhns64.c 2010-08-20 13:27:11 +0000
846@@ -17,5 +17,5 @@
847 out_int32x2_t = vrsubhn_s64 (arg0_int64x2_t, arg1_int64x2_t);
848 }
849
850-/* { dg-final { scan-assembler "vrsubhn\.i64\[ \]+\[dD\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
851+/* { dg-final { scan-assembler "vrsubhn\.i64\[ \]+\[dD\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
852 /* { dg-final { cleanup-saved-temps } } */
853
854=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRsubhnu16.c'
855--- old/gcc/testsuite/gcc.target/arm/neon/vRsubhnu16.c 2010-07-29 15:38:15 +0000
856+++ new/gcc/testsuite/gcc.target/arm/neon/vRsubhnu16.c 2010-08-20 13:27:11 +0000
857@@ -17,5 +17,5 @@
858 out_uint8x8_t = vrsubhn_u16 (arg0_uint16x8_t, arg1_uint16x8_t);
859 }
860
861-/* { dg-final { scan-assembler "vrsubhn\.i16\[ \]+\[dD\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
862+/* { dg-final { scan-assembler "vrsubhn\.i16\[ \]+\[dD\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
863 /* { dg-final { cleanup-saved-temps } } */
864
865=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRsubhnu32.c'
866--- old/gcc/testsuite/gcc.target/arm/neon/vRsubhnu32.c 2010-07-29 15:38:15 +0000
867+++ new/gcc/testsuite/gcc.target/arm/neon/vRsubhnu32.c 2010-08-20 13:27:11 +0000
868@@ -17,5 +17,5 @@
869 out_uint16x4_t = vrsubhn_u32 (arg0_uint32x4_t, arg1_uint32x4_t);
870 }
871
872-/* { dg-final { scan-assembler "vrsubhn\.i32\[ \]+\[dD\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
873+/* { dg-final { scan-assembler "vrsubhn\.i32\[ \]+\[dD\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
874 /* { dg-final { cleanup-saved-temps } } */
875
876=== modified file 'gcc/testsuite/gcc.target/arm/neon/vRsubhnu64.c'
877--- old/gcc/testsuite/gcc.target/arm/neon/vRsubhnu64.c 2010-07-29 15:38:15 +0000
878+++ new/gcc/testsuite/gcc.target/arm/neon/vRsubhnu64.c 2010-08-20 13:27:11 +0000
879@@ -17,5 +17,5 @@
880 out_uint32x2_t = vrsubhn_u64 (arg0_uint64x2_t, arg1_uint64x2_t);
881 }
882
883-/* { dg-final { scan-assembler "vrsubhn\.i64\[ \]+\[dD\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
884+/* { dg-final { scan-assembler "vrsubhn\.i64\[ \]+\[dD\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
885 /* { dg-final { cleanup-saved-temps } } */
886
887=== modified file 'gcc/testsuite/gcc.target/arm/neon/vabaQs16.c'
888--- old/gcc/testsuite/gcc.target/arm/neon/vabaQs16.c 2010-07-29 15:38:15 +0000
889+++ new/gcc/testsuite/gcc.target/arm/neon/vabaQs16.c 2010-08-20 13:27:11 +0000
890@@ -18,5 +18,5 @@
891 out_int16x8_t = vabaq_s16 (arg0_int16x8_t, arg1_int16x8_t, arg2_int16x8_t);
892 }
893
894-/* { dg-final { scan-assembler "vaba\.s16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
895+/* { dg-final { scan-assembler "vaba\.s16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
896 /* { dg-final { cleanup-saved-temps } } */
897
898=== modified file 'gcc/testsuite/gcc.target/arm/neon/vabaQs32.c'
899--- old/gcc/testsuite/gcc.target/arm/neon/vabaQs32.c 2010-07-29 15:38:15 +0000
900+++ new/gcc/testsuite/gcc.target/arm/neon/vabaQs32.c 2010-08-20 13:27:11 +0000
901@@ -18,5 +18,5 @@
902 out_int32x4_t = vabaq_s32 (arg0_int32x4_t, arg1_int32x4_t, arg2_int32x4_t);
903 }
904
905-/* { dg-final { scan-assembler "vaba\.s32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
906+/* { dg-final { scan-assembler "vaba\.s32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
907 /* { dg-final { cleanup-saved-temps } } */
908
909=== modified file 'gcc/testsuite/gcc.target/arm/neon/vabaQs8.c'
910--- old/gcc/testsuite/gcc.target/arm/neon/vabaQs8.c 2010-07-29 15:38:15 +0000
911+++ new/gcc/testsuite/gcc.target/arm/neon/vabaQs8.c 2010-08-20 13:27:11 +0000
912@@ -18,5 +18,5 @@
913 out_int8x16_t = vabaq_s8 (arg0_int8x16_t, arg1_int8x16_t, arg2_int8x16_t);
914 }
915
916-/* { dg-final { scan-assembler "vaba\.s8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
917+/* { dg-final { scan-assembler "vaba\.s8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
918 /* { dg-final { cleanup-saved-temps } } */
919
920=== modified file 'gcc/testsuite/gcc.target/arm/neon/vabaQu16.c'
921--- old/gcc/testsuite/gcc.target/arm/neon/vabaQu16.c 2010-07-29 15:38:15 +0000
922+++ new/gcc/testsuite/gcc.target/arm/neon/vabaQu16.c 2010-08-20 13:27:11 +0000
923@@ -18,5 +18,5 @@
924 out_uint16x8_t = vabaq_u16 (arg0_uint16x8_t, arg1_uint16x8_t, arg2_uint16x8_t);
925 }
926
927-/* { dg-final { scan-assembler "vaba\.u16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
928+/* { dg-final { scan-assembler "vaba\.u16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
929 /* { dg-final { cleanup-saved-temps } } */
930
931=== modified file 'gcc/testsuite/gcc.target/arm/neon/vabaQu32.c'
932--- old/gcc/testsuite/gcc.target/arm/neon/vabaQu32.c 2010-07-29 15:38:15 +0000
933+++ new/gcc/testsuite/gcc.target/arm/neon/vabaQu32.c 2010-08-20 13:27:11 +0000
934@@ -18,5 +18,5 @@
935 out_uint32x4_t = vabaq_u32 (arg0_uint32x4_t, arg1_uint32x4_t, arg2_uint32x4_t);
936 }
937
938-/* { dg-final { scan-assembler "vaba\.u32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
939+/* { dg-final { scan-assembler "vaba\.u32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
940 /* { dg-final { cleanup-saved-temps } } */
941
942=== modified file 'gcc/testsuite/gcc.target/arm/neon/vabaQu8.c'
943--- old/gcc/testsuite/gcc.target/arm/neon/vabaQu8.c 2010-07-29 15:38:15 +0000
944+++ new/gcc/testsuite/gcc.target/arm/neon/vabaQu8.c 2010-08-20 13:27:11 +0000
945@@ -18,5 +18,5 @@
946 out_uint8x16_t = vabaq_u8 (arg0_uint8x16_t, arg1_uint8x16_t, arg2_uint8x16_t);
947 }
948
949-/* { dg-final { scan-assembler "vaba\.u8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
950+/* { dg-final { scan-assembler "vaba\.u8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
951 /* { dg-final { cleanup-saved-temps } } */
952
953=== modified file 'gcc/testsuite/gcc.target/arm/neon/vabals16.c'
954--- old/gcc/testsuite/gcc.target/arm/neon/vabals16.c 2010-07-29 15:38:15 +0000
955+++ new/gcc/testsuite/gcc.target/arm/neon/vabals16.c 2010-08-20 13:27:11 +0000
956@@ -18,5 +18,5 @@
957 out_int32x4_t = vabal_s16 (arg0_int32x4_t, arg1_int16x4_t, arg2_int16x4_t);
958 }
959
960-/* { dg-final { scan-assembler "vabal\.s16\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
961+/* { dg-final { scan-assembler "vabal\.s16\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
962 /* { dg-final { cleanup-saved-temps } } */
963
964=== modified file 'gcc/testsuite/gcc.target/arm/neon/vabals32.c'
965--- old/gcc/testsuite/gcc.target/arm/neon/vabals32.c 2010-07-29 15:38:15 +0000
966+++ new/gcc/testsuite/gcc.target/arm/neon/vabals32.c 2010-08-20 13:27:11 +0000
967@@ -18,5 +18,5 @@
968 out_int64x2_t = vabal_s32 (arg0_int64x2_t, arg1_int32x2_t, arg2_int32x2_t);
969 }
970
971-/* { dg-final { scan-assembler "vabal\.s32\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
972+/* { dg-final { scan-assembler "vabal\.s32\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
973 /* { dg-final { cleanup-saved-temps } } */
974
975=== modified file 'gcc/testsuite/gcc.target/arm/neon/vabals8.c'
976--- old/gcc/testsuite/gcc.target/arm/neon/vabals8.c 2010-07-29 15:38:15 +0000
977+++ new/gcc/testsuite/gcc.target/arm/neon/vabals8.c 2010-08-20 13:27:11 +0000
978@@ -18,5 +18,5 @@
979 out_int16x8_t = vabal_s8 (arg0_int16x8_t, arg1_int8x8_t, arg2_int8x8_t);
980 }
981
982-/* { dg-final { scan-assembler "vabal\.s8\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
983+/* { dg-final { scan-assembler "vabal\.s8\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
984 /* { dg-final { cleanup-saved-temps } } */
985
986=== modified file 'gcc/testsuite/gcc.target/arm/neon/vabalu16.c'
987--- old/gcc/testsuite/gcc.target/arm/neon/vabalu16.c 2010-07-29 15:38:15 +0000
988+++ new/gcc/testsuite/gcc.target/arm/neon/vabalu16.c 2010-08-20 13:27:11 +0000
989@@ -18,5 +18,5 @@
990 out_uint32x4_t = vabal_u16 (arg0_uint32x4_t, arg1_uint16x4_t, arg2_uint16x4_t);
991 }
992
993-/* { dg-final { scan-assembler "vabal\.u16\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
994+/* { dg-final { scan-assembler "vabal\.u16\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
995 /* { dg-final { cleanup-saved-temps } } */
996
997=== modified file 'gcc/testsuite/gcc.target/arm/neon/vabalu32.c'
998--- old/gcc/testsuite/gcc.target/arm/neon/vabalu32.c 2010-07-29 15:38:15 +0000
999+++ new/gcc/testsuite/gcc.target/arm/neon/vabalu32.c 2010-08-20 13:27:11 +0000
1000@@ -18,5 +18,5 @@
1001 out_uint64x2_t = vabal_u32 (arg0_uint64x2_t, arg1_uint32x2_t, arg2_uint32x2_t);
1002 }
1003
1004-/* { dg-final { scan-assembler "vabal\.u32\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
1005+/* { dg-final { scan-assembler "vabal\.u32\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
1006 /* { dg-final { cleanup-saved-temps } } */
1007
1008=== modified file 'gcc/testsuite/gcc.target/arm/neon/vabalu8.c'
1009--- old/gcc/testsuite/gcc.target/arm/neon/vabalu8.c 2010-07-29 15:38:15 +0000
1010+++ new/gcc/testsuite/gcc.target/arm/neon/vabalu8.c 2010-08-20 13:27:11 +0000
1011@@ -18,5 +18,5 @@
1012 out_uint16x8_t = vabal_u8 (arg0_uint16x8_t, arg1_uint8x8_t, arg2_uint8x8_t);
1013 }
1014
1015-/* { dg-final { scan-assembler "vabal\.u8\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
1016+/* { dg-final { scan-assembler "vabal\.u8\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
1017 /* { dg-final { cleanup-saved-temps } } */
1018
1019=== modified file 'gcc/testsuite/gcc.target/arm/neon/vabas16.c'
1020--- old/gcc/testsuite/gcc.target/arm/neon/vabas16.c 2010-07-29 15:38:15 +0000
1021+++ new/gcc/testsuite/gcc.target/arm/neon/vabas16.c 2010-08-20 13:27:11 +0000
1022@@ -18,5 +18,5 @@
1023 out_int16x4_t = vaba_s16 (arg0_int16x4_t, arg1_int16x4_t, arg2_int16x4_t);
1024 }
1025
1026-/* { dg-final { scan-assembler "vaba\.s16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
1027+/* { dg-final { scan-assembler "vaba\.s16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
1028 /* { dg-final { cleanup-saved-temps } } */
1029
1030=== modified file 'gcc/testsuite/gcc.target/arm/neon/vabas32.c'
1031--- old/gcc/testsuite/gcc.target/arm/neon/vabas32.c 2010-07-29 15:38:15 +0000
1032+++ new/gcc/testsuite/gcc.target/arm/neon/vabas32.c 2010-08-20 13:27:11 +0000
1033@@ -18,5 +18,5 @@
1034 out_int32x2_t = vaba_s32 (arg0_int32x2_t, arg1_int32x2_t, arg2_int32x2_t);
1035 }
1036
1037-/* { dg-final { scan-assembler "vaba\.s32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
1038+/* { dg-final { scan-assembler "vaba\.s32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
1039 /* { dg-final { cleanup-saved-temps } } */
1040
1041=== modified file 'gcc/testsuite/gcc.target/arm/neon/vabas8.c'
1042--- old/gcc/testsuite/gcc.target/arm/neon/vabas8.c 2010-07-29 15:38:15 +0000
1043+++ new/gcc/testsuite/gcc.target/arm/neon/vabas8.c 2010-08-20 13:27:11 +0000
1044@@ -18,5 +18,5 @@
1045 out_int8x8_t = vaba_s8 (arg0_int8x8_t, arg1_int8x8_t, arg2_int8x8_t);
1046 }
1047
1048-/* { dg-final { scan-assembler "vaba\.s8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
1049+/* { dg-final { scan-assembler "vaba\.s8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
1050 /* { dg-final { cleanup-saved-temps } } */
1051
1052=== modified file 'gcc/testsuite/gcc.target/arm/neon/vabau16.c'
1053--- old/gcc/testsuite/gcc.target/arm/neon/vabau16.c 2010-07-29 15:38:15 +0000
1054+++ new/gcc/testsuite/gcc.target/arm/neon/vabau16.c 2010-08-20 13:27:11 +0000
1055@@ -18,5 +18,5 @@
1056 out_uint16x4_t = vaba_u16 (arg0_uint16x4_t, arg1_uint16x4_t, arg2_uint16x4_t);
1057 }
1058
1059-/* { dg-final { scan-assembler "vaba\.u16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
1060+/* { dg-final { scan-assembler "vaba\.u16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
1061 /* { dg-final { cleanup-saved-temps } } */
1062
1063=== modified file 'gcc/testsuite/gcc.target/arm/neon/vabau32.c'
1064--- old/gcc/testsuite/gcc.target/arm/neon/vabau32.c 2010-07-29 15:38:15 +0000
1065+++ new/gcc/testsuite/gcc.target/arm/neon/vabau32.c 2010-08-20 13:27:11 +0000
1066@@ -18,5 +18,5 @@
1067 out_uint32x2_t = vaba_u32 (arg0_uint32x2_t, arg1_uint32x2_t, arg2_uint32x2_t);
1068 }
1069
1070-/* { dg-final { scan-assembler "vaba\.u32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
1071+/* { dg-final { scan-assembler "vaba\.u32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
1072 /* { dg-final { cleanup-saved-temps } } */
1073
1074=== modified file 'gcc/testsuite/gcc.target/arm/neon/vabau8.c'
1075--- old/gcc/testsuite/gcc.target/arm/neon/vabau8.c 2010-07-29 15:38:15 +0000
1076+++ new/gcc/testsuite/gcc.target/arm/neon/vabau8.c 2010-08-20 13:27:11 +0000
1077@@ -18,5 +18,5 @@
1078 out_uint8x8_t = vaba_u8 (arg0_uint8x8_t, arg1_uint8x8_t, arg2_uint8x8_t);
1079 }
1080
1081-/* { dg-final { scan-assembler "vaba\.u8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
1082+/* { dg-final { scan-assembler "vaba\.u8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
1083 /* { dg-final { cleanup-saved-temps } } */
1084
1085=== modified file 'gcc/testsuite/gcc.target/arm/neon/vabdQf32.c'
1086--- old/gcc/testsuite/gcc.target/arm/neon/vabdQf32.c 2010-07-29 15:38:15 +0000
1087+++ new/gcc/testsuite/gcc.target/arm/neon/vabdQf32.c 2010-08-20 13:27:11 +0000
1088@@ -17,5 +17,5 @@
1089 out_float32x4_t = vabdq_f32 (arg0_float32x4_t, arg1_float32x4_t);
1090 }
1091
1092-/* { dg-final { scan-assembler "vabd\.f32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
1093+/* { dg-final { scan-assembler "vabd\.f32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
1094 /* { dg-final { cleanup-saved-temps } } */
1095
1096=== modified file 'gcc/testsuite/gcc.target/arm/neon/vabdQs16.c'
1097--- old/gcc/testsuite/gcc.target/arm/neon/vabdQs16.c 2010-07-29 15:38:15 +0000
1098+++ new/gcc/testsuite/gcc.target/arm/neon/vabdQs16.c 2010-08-20 13:27:11 +0000
1099@@ -17,5 +17,5 @@
1100 out_int16x8_t = vabdq_s16 (arg0_int16x8_t, arg1_int16x8_t);
1101 }
1102
1103-/* { dg-final { scan-assembler "vabd\.s16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
1104+/* { dg-final { scan-assembler "vabd\.s16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
1105 /* { dg-final { cleanup-saved-temps } } */
1106
1107=== modified file 'gcc/testsuite/gcc.target/arm/neon/vabdQs32.c'
1108--- old/gcc/testsuite/gcc.target/arm/neon/vabdQs32.c 2010-07-29 15:38:15 +0000
1109+++ new/gcc/testsuite/gcc.target/arm/neon/vabdQs32.c 2010-08-20 13:27:11 +0000
1110@@ -17,5 +17,5 @@
1111 out_int32x4_t = vabdq_s32 (arg0_int32x4_t, arg1_int32x4_t);
1112 }
1113
1114-/* { dg-final { scan-assembler "vabd\.s32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
1115+/* { dg-final { scan-assembler "vabd\.s32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
1116 /* { dg-final { cleanup-saved-temps } } */
1117
1118=== modified file 'gcc/testsuite/gcc.target/arm/neon/vabdQs8.c'
1119--- old/gcc/testsuite/gcc.target/arm/neon/vabdQs8.c 2010-07-29 15:38:15 +0000
1120+++ new/gcc/testsuite/gcc.target/arm/neon/vabdQs8.c 2010-08-20 13:27:11 +0000
1121@@ -17,5 +17,5 @@
1122 out_int8x16_t = vabdq_s8 (arg0_int8x16_t, arg1_int8x16_t);
1123 }
1124
1125-/* { dg-final { scan-assembler "vabd\.s8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
1126+/* { dg-final { scan-assembler "vabd\.s8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
1127 /* { dg-final { cleanup-saved-temps } } */
1128
1129=== modified file 'gcc/testsuite/gcc.target/arm/neon/vabdQu16.c'
1130--- old/gcc/testsuite/gcc.target/arm/neon/vabdQu16.c 2010-07-29 15:38:15 +0000
1131+++ new/gcc/testsuite/gcc.target/arm/neon/vabdQu16.c 2010-08-20 13:27:11 +0000
1132@@ -17,5 +17,5 @@
1133 out_uint16x8_t = vabdq_u16 (arg0_uint16x8_t, arg1_uint16x8_t);
1134 }
1135
1136-/* { dg-final { scan-assembler "vabd\.u16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
1137+/* { dg-final { scan-assembler "vabd\.u16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
1138 /* { dg-final { cleanup-saved-temps } } */
1139
1140=== modified file 'gcc/testsuite/gcc.target/arm/neon/vabdQu32.c'
1141--- old/gcc/testsuite/gcc.target/arm/neon/vabdQu32.c 2010-07-29 15:38:15 +0000
1142+++ new/gcc/testsuite/gcc.target/arm/neon/vabdQu32.c 2010-08-20 13:27:11 +0000
1143@@ -17,5 +17,5 @@
1144 out_uint32x4_t = vabdq_u32 (arg0_uint32x4_t, arg1_uint32x4_t);
1145 }
1146
1147-/* { dg-final { scan-assembler "vabd\.u32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
1148+/* { dg-final { scan-assembler "vabd\.u32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
1149 /* { dg-final { cleanup-saved-temps } } */
1150
1151=== modified file 'gcc/testsuite/gcc.target/arm/neon/vabdQu8.c'
1152--- old/gcc/testsuite/gcc.target/arm/neon/vabdQu8.c 2010-07-29 15:38:15 +0000
1153+++ new/gcc/testsuite/gcc.target/arm/neon/vabdQu8.c 2010-08-20 13:27:11 +0000
1154@@ -17,5 +17,5 @@
1155 out_uint8x16_t = vabdq_u8 (arg0_uint8x16_t, arg1_uint8x16_t);
1156 }
1157
1158-/* { dg-final { scan-assembler "vabd\.u8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
1159+/* { dg-final { scan-assembler "vabd\.u8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
1160 /* { dg-final { cleanup-saved-temps } } */
1161
1162=== modified file 'gcc/testsuite/gcc.target/arm/neon/vabdf32.c'
1163--- old/gcc/testsuite/gcc.target/arm/neon/vabdf32.c 2010-07-29 15:38:15 +0000
1164+++ new/gcc/testsuite/gcc.target/arm/neon/vabdf32.c 2010-08-20 13:27:11 +0000
1165@@ -17,5 +17,5 @@
1166 out_float32x2_t = vabd_f32 (arg0_float32x2_t, arg1_float32x2_t);
1167 }
1168
1169-/* { dg-final { scan-assembler "vabd\.f32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
1170+/* { dg-final { scan-assembler "vabd\.f32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
1171 /* { dg-final { cleanup-saved-temps } } */
1172
1173=== modified file 'gcc/testsuite/gcc.target/arm/neon/vabdls16.c'
1174--- old/gcc/testsuite/gcc.target/arm/neon/vabdls16.c 2010-07-29 15:38:15 +0000
1175+++ new/gcc/testsuite/gcc.target/arm/neon/vabdls16.c 2010-08-20 13:27:11 +0000
1176@@ -17,5 +17,5 @@
1177 out_int32x4_t = vabdl_s16 (arg0_int16x4_t, arg1_int16x4_t);
1178 }
1179
1180-/* { dg-final { scan-assembler "vabdl\.s16\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
1181+/* { dg-final { scan-assembler "vabdl\.s16\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
1182 /* { dg-final { cleanup-saved-temps } } */
1183
1184=== modified file 'gcc/testsuite/gcc.target/arm/neon/vabdls32.c'
1185--- old/gcc/testsuite/gcc.target/arm/neon/vabdls32.c 2010-07-29 15:38:15 +0000
1186+++ new/gcc/testsuite/gcc.target/arm/neon/vabdls32.c 2010-08-20 13:27:11 +0000
1187@@ -17,5 +17,5 @@
1188 out_int64x2_t = vabdl_s32 (arg0_int32x2_t, arg1_int32x2_t);
1189 }
1190
1191-/* { dg-final { scan-assembler "vabdl\.s32\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
1192+/* { dg-final { scan-assembler "vabdl\.s32\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
1193 /* { dg-final { cleanup-saved-temps } } */
1194
1195=== modified file 'gcc/testsuite/gcc.target/arm/neon/vabdls8.c'
1196--- old/gcc/testsuite/gcc.target/arm/neon/vabdls8.c 2010-07-29 15:38:15 +0000
1197+++ new/gcc/testsuite/gcc.target/arm/neon/vabdls8.c 2010-08-20 13:27:11 +0000
1198@@ -17,5 +17,5 @@
1199 out_int16x8_t = vabdl_s8 (arg0_int8x8_t, arg1_int8x8_t);
1200 }
1201
1202-/* { dg-final { scan-assembler "vabdl\.s8\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
1203+/* { dg-final { scan-assembler "vabdl\.s8\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
1204 /* { dg-final { cleanup-saved-temps } } */
1205
1206=== modified file 'gcc/testsuite/gcc.target/arm/neon/vabdlu16.c'
1207--- old/gcc/testsuite/gcc.target/arm/neon/vabdlu16.c 2010-07-29 15:38:15 +0000
1208+++ new/gcc/testsuite/gcc.target/arm/neon/vabdlu16.c 2010-08-20 13:27:11 +0000
1209@@ -17,5 +17,5 @@
1210 out_uint32x4_t = vabdl_u16 (arg0_uint16x4_t, arg1_uint16x4_t);
1211 }
1212
1213-/* { dg-final { scan-assembler "vabdl\.u16\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
1214+/* { dg-final { scan-assembler "vabdl\.u16\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
1215 /* { dg-final { cleanup-saved-temps } } */
1216
1217=== modified file 'gcc/testsuite/gcc.target/arm/neon/vabdlu32.c'
1218--- old/gcc/testsuite/gcc.target/arm/neon/vabdlu32.c 2010-07-29 15:38:15 +0000
1219+++ new/gcc/testsuite/gcc.target/arm/neon/vabdlu32.c 2010-08-20 13:27:11 +0000
1220@@ -17,5 +17,5 @@
1221 out_uint64x2_t = vabdl_u32 (arg0_uint32x2_t, arg1_uint32x2_t);
1222 }
1223
1224-/* { dg-final { scan-assembler "vabdl\.u32\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
1225+/* { dg-final { scan-assembler "vabdl\.u32\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
1226 /* { dg-final { cleanup-saved-temps } } */
1227
1228=== modified file 'gcc/testsuite/gcc.target/arm/neon/vabdlu8.c'
1229--- old/gcc/testsuite/gcc.target/arm/neon/vabdlu8.c 2010-07-29 15:38:15 +0000
1230+++ new/gcc/testsuite/gcc.target/arm/neon/vabdlu8.c 2010-08-20 13:27:11 +0000
1231@@ -17,5 +17,5 @@
1232 out_uint16x8_t = vabdl_u8 (arg0_uint8x8_t, arg1_uint8x8_t);
1233 }
1234
1235-/* { dg-final { scan-assembler "vabdl\.u8\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
1236+/* { dg-final { scan-assembler "vabdl\.u8\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
1237 /* { dg-final { cleanup-saved-temps } } */
1238
1239=== modified file 'gcc/testsuite/gcc.target/arm/neon/vabds16.c'
1240--- old/gcc/testsuite/gcc.target/arm/neon/vabds16.c 2010-07-29 15:38:15 +0000
1241+++ new/gcc/testsuite/gcc.target/arm/neon/vabds16.c 2010-08-20 13:27:11 +0000
1242@@ -17,5 +17,5 @@
1243 out_int16x4_t = vabd_s16 (arg0_int16x4_t, arg1_int16x4_t);
1244 }
1245
1246-/* { dg-final { scan-assembler "vabd\.s16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
1247+/* { dg-final { scan-assembler "vabd\.s16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
1248 /* { dg-final { cleanup-saved-temps } } */
1249
1250=== modified file 'gcc/testsuite/gcc.target/arm/neon/vabds32.c'
1251--- old/gcc/testsuite/gcc.target/arm/neon/vabds32.c 2010-07-29 15:38:15 +0000
1252+++ new/gcc/testsuite/gcc.target/arm/neon/vabds32.c 2010-08-20 13:27:11 +0000
1253@@ -17,5 +17,5 @@
1254 out_int32x2_t = vabd_s32 (arg0_int32x2_t, arg1_int32x2_t);
1255 }
1256
1257-/* { dg-final { scan-assembler "vabd\.s32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
1258+/* { dg-final { scan-assembler "vabd\.s32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
1259 /* { dg-final { cleanup-saved-temps } } */
1260
1261=== modified file 'gcc/testsuite/gcc.target/arm/neon/vabds8.c'
1262--- old/gcc/testsuite/gcc.target/arm/neon/vabds8.c 2010-07-29 15:38:15 +0000
1263+++ new/gcc/testsuite/gcc.target/arm/neon/vabds8.c 2010-08-20 13:27:11 +0000
1264@@ -17,5 +17,5 @@
1265 out_int8x8_t = vabd_s8 (arg0_int8x8_t, arg1_int8x8_t);
1266 }
1267
1268-/* { dg-final { scan-assembler "vabd\.s8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
1269+/* { dg-final { scan-assembler "vabd\.s8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
1270 /* { dg-final { cleanup-saved-temps } } */
1271
1272=== modified file 'gcc/testsuite/gcc.target/arm/neon/vabdu16.c'
1273--- old/gcc/testsuite/gcc.target/arm/neon/vabdu16.c 2010-07-29 15:38:15 +0000
1274+++ new/gcc/testsuite/gcc.target/arm/neon/vabdu16.c 2010-08-20 13:27:11 +0000
1275@@ -17,5 +17,5 @@
1276 out_uint16x4_t = vabd_u16 (arg0_uint16x4_t, arg1_uint16x4_t);
1277 }
1278
1279-/* { dg-final { scan-assembler "vabd\.u16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
1280+/* { dg-final { scan-assembler "vabd\.u16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
1281 /* { dg-final { cleanup-saved-temps } } */
1282
1283=== modified file 'gcc/testsuite/gcc.target/arm/neon/vabdu32.c'
1284--- old/gcc/testsuite/gcc.target/arm/neon/vabdu32.c 2010-07-29 15:38:15 +0000
1285+++ new/gcc/testsuite/gcc.target/arm/neon/vabdu32.c 2010-08-20 13:27:11 +0000
1286@@ -17,5 +17,5 @@
1287 out_uint32x2_t = vabd_u32 (arg0_uint32x2_t, arg1_uint32x2_t);
1288 }
1289
1290-/* { dg-final { scan-assembler "vabd\.u32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
1291+/* { dg-final { scan-assembler "vabd\.u32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
1292 /* { dg-final { cleanup-saved-temps } } */
1293
1294=== modified file 'gcc/testsuite/gcc.target/arm/neon/vabdu8.c'
1295--- old/gcc/testsuite/gcc.target/arm/neon/vabdu8.c 2010-07-29 15:38:15 +0000
1296+++ new/gcc/testsuite/gcc.target/arm/neon/vabdu8.c 2010-08-20 13:27:11 +0000
1297@@ -17,5 +17,5 @@
1298 out_uint8x8_t = vabd_u8 (arg0_uint8x8_t, arg1_uint8x8_t);
1299 }
1300
1301-/* { dg-final { scan-assembler "vabd\.u8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
1302+/* { dg-final { scan-assembler "vabd\.u8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
1303 /* { dg-final { cleanup-saved-temps } } */
1304
1305=== modified file 'gcc/testsuite/gcc.target/arm/neon/vabsQf32.c'
1306--- old/gcc/testsuite/gcc.target/arm/neon/vabsQf32.c 2010-07-29 15:38:15 +0000
1307+++ new/gcc/testsuite/gcc.target/arm/neon/vabsQf32.c 2010-08-20 13:27:11 +0000
1308@@ -16,5 +16,5 @@
1309 out_float32x4_t = vabsq_f32 (arg0_float32x4_t);
1310 }
1311
1312-/* { dg-final { scan-assembler "vabs\.f32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
1313+/* { dg-final { scan-assembler "vabs\.f32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
1314 /* { dg-final { cleanup-saved-temps } } */
1315
1316=== modified file 'gcc/testsuite/gcc.target/arm/neon/vabsQs16.c'
1317--- old/gcc/testsuite/gcc.target/arm/neon/vabsQs16.c 2010-07-29 15:38:15 +0000
1318+++ new/gcc/testsuite/gcc.target/arm/neon/vabsQs16.c 2010-08-20 13:27:11 +0000
1319@@ -16,5 +16,5 @@
1320 out_int16x8_t = vabsq_s16 (arg0_int16x8_t);
1321 }
1322
1323-/* { dg-final { scan-assembler "vabs\.s16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
1324+/* { dg-final { scan-assembler "vabs\.s16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
1325 /* { dg-final { cleanup-saved-temps } } */
1326
1327=== modified file 'gcc/testsuite/gcc.target/arm/neon/vabsQs32.c'
1328--- old/gcc/testsuite/gcc.target/arm/neon/vabsQs32.c 2010-07-29 15:38:15 +0000
1329+++ new/gcc/testsuite/gcc.target/arm/neon/vabsQs32.c 2010-08-20 13:27:11 +0000
1330@@ -16,5 +16,5 @@
1331 out_int32x4_t = vabsq_s32 (arg0_int32x4_t);
1332 }
1333
1334-/* { dg-final { scan-assembler "vabs\.s32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
1335+/* { dg-final { scan-assembler "vabs\.s32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
1336 /* { dg-final { cleanup-saved-temps } } */
1337
1338=== modified file 'gcc/testsuite/gcc.target/arm/neon/vabsQs8.c'
1339--- old/gcc/testsuite/gcc.target/arm/neon/vabsQs8.c 2010-07-29 15:38:15 +0000
1340+++ new/gcc/testsuite/gcc.target/arm/neon/vabsQs8.c 2010-08-20 13:27:11 +0000
1341@@ -16,5 +16,5 @@
1342 out_int8x16_t = vabsq_s8 (arg0_int8x16_t);
1343 }
1344
1345-/* { dg-final { scan-assembler "vabs\.s8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
1346+/* { dg-final { scan-assembler "vabs\.s8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
1347 /* { dg-final { cleanup-saved-temps } } */
1348
1349=== modified file 'gcc/testsuite/gcc.target/arm/neon/vabsf32.c'
1350--- old/gcc/testsuite/gcc.target/arm/neon/vabsf32.c 2010-07-29 15:38:15 +0000
1351+++ new/gcc/testsuite/gcc.target/arm/neon/vabsf32.c 2010-08-20 13:27:11 +0000
1352@@ -16,5 +16,5 @@
1353 out_float32x2_t = vabs_f32 (arg0_float32x2_t);
1354 }
1355
1356-/* { dg-final { scan-assembler "vabs\.f32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
1357+/* { dg-final { scan-assembler "vabs\.f32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
1358 /* { dg-final { cleanup-saved-temps } } */
1359
1360=== modified file 'gcc/testsuite/gcc.target/arm/neon/vabss16.c'
1361--- old/gcc/testsuite/gcc.target/arm/neon/vabss16.c 2010-07-29 15:38:15 +0000
1362+++ new/gcc/testsuite/gcc.target/arm/neon/vabss16.c 2010-08-20 13:27:11 +0000
1363@@ -16,5 +16,5 @@
1364 out_int16x4_t = vabs_s16 (arg0_int16x4_t);
1365 }
1366
1367-/* { dg-final { scan-assembler "vabs\.s16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
1368+/* { dg-final { scan-assembler "vabs\.s16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
1369 /* { dg-final { cleanup-saved-temps } } */
1370
1371=== modified file 'gcc/testsuite/gcc.target/arm/neon/vabss32.c'
1372--- old/gcc/testsuite/gcc.target/arm/neon/vabss32.c 2010-07-29 15:38:15 +0000
1373+++ new/gcc/testsuite/gcc.target/arm/neon/vabss32.c 2010-08-20 13:27:11 +0000
1374@@ -16,5 +16,5 @@
1375 out_int32x2_t = vabs_s32 (arg0_int32x2_t);
1376 }
1377
1378-/* { dg-final { scan-assembler "vabs\.s32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
1379+/* { dg-final { scan-assembler "vabs\.s32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
1380 /* { dg-final { cleanup-saved-temps } } */
1381
1382=== modified file 'gcc/testsuite/gcc.target/arm/neon/vabss8.c'
1383--- old/gcc/testsuite/gcc.target/arm/neon/vabss8.c 2010-07-29 15:38:15 +0000
1384+++ new/gcc/testsuite/gcc.target/arm/neon/vabss8.c 2010-08-20 13:27:11 +0000
1385@@ -16,5 +16,5 @@
1386 out_int8x8_t = vabs_s8 (arg0_int8x8_t);
1387 }
1388
1389-/* { dg-final { scan-assembler "vabs\.s8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
1390+/* { dg-final { scan-assembler "vabs\.s8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
1391 /* { dg-final { cleanup-saved-temps } } */
1392
1393=== modified file 'gcc/testsuite/gcc.target/arm/neon/vaddQf32.c'
1394--- old/gcc/testsuite/gcc.target/arm/neon/vaddQf32.c 2010-07-29 15:38:15 +0000
1395+++ new/gcc/testsuite/gcc.target/arm/neon/vaddQf32.c 2010-08-20 13:27:11 +0000
1396@@ -17,5 +17,5 @@
1397 out_float32x4_t = vaddq_f32 (arg0_float32x4_t, arg1_float32x4_t);
1398 }
1399
1400-/* { dg-final { scan-assembler "vadd\.f32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
1401+/* { dg-final { scan-assembler "vadd\.f32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
1402 /* { dg-final { cleanup-saved-temps } } */
1403
1404=== modified file 'gcc/testsuite/gcc.target/arm/neon/vaddQs16.c'
1405--- old/gcc/testsuite/gcc.target/arm/neon/vaddQs16.c 2010-07-29 15:38:15 +0000
1406+++ new/gcc/testsuite/gcc.target/arm/neon/vaddQs16.c 2010-08-20 13:27:11 +0000
1407@@ -17,5 +17,5 @@
1408 out_int16x8_t = vaddq_s16 (arg0_int16x8_t, arg1_int16x8_t);
1409 }
1410
1411-/* { dg-final { scan-assembler "vadd\.i16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
1412+/* { dg-final { scan-assembler "vadd\.i16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
1413 /* { dg-final { cleanup-saved-temps } } */
1414
1415=== modified file 'gcc/testsuite/gcc.target/arm/neon/vaddQs32.c'
1416--- old/gcc/testsuite/gcc.target/arm/neon/vaddQs32.c 2010-07-29 15:38:15 +0000
1417+++ new/gcc/testsuite/gcc.target/arm/neon/vaddQs32.c 2010-08-20 13:27:11 +0000
1418@@ -17,5 +17,5 @@
1419 out_int32x4_t = vaddq_s32 (arg0_int32x4_t, arg1_int32x4_t);
1420 }
1421
1422-/* { dg-final { scan-assembler "vadd\.i32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
1423+/* { dg-final { scan-assembler "vadd\.i32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
1424 /* { dg-final { cleanup-saved-temps } } */
1425
1426=== modified file 'gcc/testsuite/gcc.target/arm/neon/vaddQs64.c'
1427--- old/gcc/testsuite/gcc.target/arm/neon/vaddQs64.c 2010-07-29 15:38:15 +0000
1428+++ new/gcc/testsuite/gcc.target/arm/neon/vaddQs64.c 2010-08-20 13:27:11 +0000
1429@@ -17,5 +17,5 @@
1430 out_int64x2_t = vaddq_s64 (arg0_int64x2_t, arg1_int64x2_t);
1431 }
1432
1433-/* { dg-final { scan-assembler "vadd\.i64\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
1434+/* { dg-final { scan-assembler "vadd\.i64\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
1435 /* { dg-final { cleanup-saved-temps } } */
1436
1437=== modified file 'gcc/testsuite/gcc.target/arm/neon/vaddQs8.c'
1438--- old/gcc/testsuite/gcc.target/arm/neon/vaddQs8.c 2010-07-29 15:38:15 +0000
1439+++ new/gcc/testsuite/gcc.target/arm/neon/vaddQs8.c 2010-08-20 13:27:11 +0000
1440@@ -17,5 +17,5 @@
1441 out_int8x16_t = vaddq_s8 (arg0_int8x16_t, arg1_int8x16_t);
1442 }
1443
1444-/* { dg-final { scan-assembler "vadd\.i8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
1445+/* { dg-final { scan-assembler "vadd\.i8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
1446 /* { dg-final { cleanup-saved-temps } } */
1447
1448=== modified file 'gcc/testsuite/gcc.target/arm/neon/vaddQu16.c'
1449--- old/gcc/testsuite/gcc.target/arm/neon/vaddQu16.c 2010-07-29 15:38:15 +0000
1450+++ new/gcc/testsuite/gcc.target/arm/neon/vaddQu16.c 2010-08-20 13:27:11 +0000
1451@@ -17,5 +17,5 @@
1452 out_uint16x8_t = vaddq_u16 (arg0_uint16x8_t, arg1_uint16x8_t);
1453 }
1454
1455-/* { dg-final { scan-assembler "vadd\.i16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
1456+/* { dg-final { scan-assembler "vadd\.i16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
1457 /* { dg-final { cleanup-saved-temps } } */
1458
1459=== modified file 'gcc/testsuite/gcc.target/arm/neon/vaddQu32.c'
1460--- old/gcc/testsuite/gcc.target/arm/neon/vaddQu32.c 2010-07-29 15:38:15 +0000
1461+++ new/gcc/testsuite/gcc.target/arm/neon/vaddQu32.c 2010-08-20 13:27:11 +0000
1462@@ -17,5 +17,5 @@
1463 out_uint32x4_t = vaddq_u32 (arg0_uint32x4_t, arg1_uint32x4_t);
1464 }
1465
1466-/* { dg-final { scan-assembler "vadd\.i32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
1467+/* { dg-final { scan-assembler "vadd\.i32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
1468 /* { dg-final { cleanup-saved-temps } } */
1469
1470=== modified file 'gcc/testsuite/gcc.target/arm/neon/vaddQu64.c'
1471--- old/gcc/testsuite/gcc.target/arm/neon/vaddQu64.c 2010-07-29 15:38:15 +0000
1472+++ new/gcc/testsuite/gcc.target/arm/neon/vaddQu64.c 2010-08-20 13:27:11 +0000
1473@@ -17,5 +17,5 @@
1474 out_uint64x2_t = vaddq_u64 (arg0_uint64x2_t, arg1_uint64x2_t);
1475 }
1476
1477-/* { dg-final { scan-assembler "vadd\.i64\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
1478+/* { dg-final { scan-assembler "vadd\.i64\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
1479 /* { dg-final { cleanup-saved-temps } } */
1480
1481=== modified file 'gcc/testsuite/gcc.target/arm/neon/vaddQu8.c'
1482--- old/gcc/testsuite/gcc.target/arm/neon/vaddQu8.c 2010-07-29 15:38:15 +0000
1483+++ new/gcc/testsuite/gcc.target/arm/neon/vaddQu8.c 2010-08-20 13:27:11 +0000
1484@@ -17,5 +17,5 @@
1485 out_uint8x16_t = vaddq_u8 (arg0_uint8x16_t, arg1_uint8x16_t);
1486 }
1487
1488-/* { dg-final { scan-assembler "vadd\.i8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
1489+/* { dg-final { scan-assembler "vadd\.i8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
1490 /* { dg-final { cleanup-saved-temps } } */
1491
1492=== modified file 'gcc/testsuite/gcc.target/arm/neon/vaddf32.c'
1493--- old/gcc/testsuite/gcc.target/arm/neon/vaddf32.c 2010-07-29 15:38:15 +0000
1494+++ new/gcc/testsuite/gcc.target/arm/neon/vaddf32.c 2010-08-20 13:27:11 +0000
1495@@ -17,5 +17,5 @@
1496 out_float32x2_t = vadd_f32 (arg0_float32x2_t, arg1_float32x2_t);
1497 }
1498
1499-/* { dg-final { scan-assembler "vadd\.f32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
1500+/* { dg-final { scan-assembler "vadd\.f32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
1501 /* { dg-final { cleanup-saved-temps } } */
1502
1503=== modified file 'gcc/testsuite/gcc.target/arm/neon/vaddhns16.c'
1504--- old/gcc/testsuite/gcc.target/arm/neon/vaddhns16.c 2010-07-29 15:38:15 +0000
1505+++ new/gcc/testsuite/gcc.target/arm/neon/vaddhns16.c 2010-08-20 13:27:11 +0000
1506@@ -17,5 +17,5 @@
1507 out_int8x8_t = vaddhn_s16 (arg0_int16x8_t, arg1_int16x8_t);
1508 }
1509
1510-/* { dg-final { scan-assembler "vaddhn\.i16\[ \]+\[dD\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
1511+/* { dg-final { scan-assembler "vaddhn\.i16\[ \]+\[dD\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
1512 /* { dg-final { cleanup-saved-temps } } */
1513
1514=== modified file 'gcc/testsuite/gcc.target/arm/neon/vaddhns32.c'
1515--- old/gcc/testsuite/gcc.target/arm/neon/vaddhns32.c 2010-07-29 15:38:15 +0000
1516+++ new/gcc/testsuite/gcc.target/arm/neon/vaddhns32.c 2010-08-20 13:27:11 +0000
1517@@ -17,5 +17,5 @@
1518 out_int16x4_t = vaddhn_s32 (arg0_int32x4_t, arg1_int32x4_t);
1519 }
1520
1521-/* { dg-final { scan-assembler "vaddhn\.i32\[ \]+\[dD\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
1522+/* { dg-final { scan-assembler "vaddhn\.i32\[ \]+\[dD\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
1523 /* { dg-final { cleanup-saved-temps } } */
1524
1525=== modified file 'gcc/testsuite/gcc.target/arm/neon/vaddhns64.c'
1526--- old/gcc/testsuite/gcc.target/arm/neon/vaddhns64.c 2010-07-29 15:38:15 +0000
1527+++ new/gcc/testsuite/gcc.target/arm/neon/vaddhns64.c 2010-08-20 13:27:11 +0000
1528@@ -17,5 +17,5 @@
1529 out_int32x2_t = vaddhn_s64 (arg0_int64x2_t, arg1_int64x2_t);
1530 }
1531
1532-/* { dg-final { scan-assembler "vaddhn\.i64\[ \]+\[dD\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
1533+/* { dg-final { scan-assembler "vaddhn\.i64\[ \]+\[dD\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
1534 /* { dg-final { cleanup-saved-temps } } */
1535
1536=== modified file 'gcc/testsuite/gcc.target/arm/neon/vaddhnu16.c'
1537--- old/gcc/testsuite/gcc.target/arm/neon/vaddhnu16.c 2010-07-29 15:38:15 +0000
1538+++ new/gcc/testsuite/gcc.target/arm/neon/vaddhnu16.c 2010-08-20 13:27:11 +0000
1539@@ -17,5 +17,5 @@
1540 out_uint8x8_t = vaddhn_u16 (arg0_uint16x8_t, arg1_uint16x8_t);
1541 }
1542
1543-/* { dg-final { scan-assembler "vaddhn\.i16\[ \]+\[dD\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
1544+/* { dg-final { scan-assembler "vaddhn\.i16\[ \]+\[dD\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
1545 /* { dg-final { cleanup-saved-temps } } */
1546
1547=== modified file 'gcc/testsuite/gcc.target/arm/neon/vaddhnu32.c'
1548--- old/gcc/testsuite/gcc.target/arm/neon/vaddhnu32.c 2010-07-29 15:38:15 +0000
1549+++ new/gcc/testsuite/gcc.target/arm/neon/vaddhnu32.c 2010-08-20 13:27:11 +0000
1550@@ -17,5 +17,5 @@
1551 out_uint16x4_t = vaddhn_u32 (arg0_uint32x4_t, arg1_uint32x4_t);
1552 }
1553
1554-/* { dg-final { scan-assembler "vaddhn\.i32\[ \]+\[dD\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
1555+/* { dg-final { scan-assembler "vaddhn\.i32\[ \]+\[dD\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
1556 /* { dg-final { cleanup-saved-temps } } */
1557
1558=== modified file 'gcc/testsuite/gcc.target/arm/neon/vaddhnu64.c'
1559--- old/gcc/testsuite/gcc.target/arm/neon/vaddhnu64.c 2010-07-29 15:38:15 +0000
1560+++ new/gcc/testsuite/gcc.target/arm/neon/vaddhnu64.c 2010-08-20 13:27:11 +0000
1561@@ -17,5 +17,5 @@
1562 out_uint32x2_t = vaddhn_u64 (arg0_uint64x2_t, arg1_uint64x2_t);
1563 }
1564
1565-/* { dg-final { scan-assembler "vaddhn\.i64\[ \]+\[dD\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
1566+/* { dg-final { scan-assembler "vaddhn\.i64\[ \]+\[dD\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
1567 /* { dg-final { cleanup-saved-temps } } */
1568
1569=== modified file 'gcc/testsuite/gcc.target/arm/neon/vaddls16.c'
1570--- old/gcc/testsuite/gcc.target/arm/neon/vaddls16.c 2010-07-29 15:38:15 +0000
1571+++ new/gcc/testsuite/gcc.target/arm/neon/vaddls16.c 2010-08-20 13:27:11 +0000
1572@@ -17,5 +17,5 @@
1573 out_int32x4_t = vaddl_s16 (arg0_int16x4_t, arg1_int16x4_t);
1574 }
1575
1576-/* { dg-final { scan-assembler "vaddl\.s16\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
1577+/* { dg-final { scan-assembler "vaddl\.s16\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
1578 /* { dg-final { cleanup-saved-temps } } */
1579
1580=== modified file 'gcc/testsuite/gcc.target/arm/neon/vaddls32.c'
1581--- old/gcc/testsuite/gcc.target/arm/neon/vaddls32.c 2010-07-29 15:38:15 +0000
1582+++ new/gcc/testsuite/gcc.target/arm/neon/vaddls32.c 2010-08-20 13:27:11 +0000
1583@@ -17,5 +17,5 @@
1584 out_int64x2_t = vaddl_s32 (arg0_int32x2_t, arg1_int32x2_t);
1585 }
1586
1587-/* { dg-final { scan-assembler "vaddl\.s32\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
1588+/* { dg-final { scan-assembler "vaddl\.s32\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
1589 /* { dg-final { cleanup-saved-temps } } */
1590
1591=== modified file 'gcc/testsuite/gcc.target/arm/neon/vaddls8.c'
1592--- old/gcc/testsuite/gcc.target/arm/neon/vaddls8.c 2010-07-29 15:38:15 +0000
1593+++ new/gcc/testsuite/gcc.target/arm/neon/vaddls8.c 2010-08-20 13:27:11 +0000
1594@@ -17,5 +17,5 @@
1595 out_int16x8_t = vaddl_s8 (arg0_int8x8_t, arg1_int8x8_t);
1596 }
1597
1598-/* { dg-final { scan-assembler "vaddl\.s8\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
1599+/* { dg-final { scan-assembler "vaddl\.s8\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
1600 /* { dg-final { cleanup-saved-temps } } */
1601
1602=== modified file 'gcc/testsuite/gcc.target/arm/neon/vaddlu16.c'
1603--- old/gcc/testsuite/gcc.target/arm/neon/vaddlu16.c 2010-07-29 15:38:15 +0000
1604+++ new/gcc/testsuite/gcc.target/arm/neon/vaddlu16.c 2010-08-20 13:27:11 +0000
1605@@ -17,5 +17,5 @@
1606 out_uint32x4_t = vaddl_u16 (arg0_uint16x4_t, arg1_uint16x4_t);
1607 }
1608
1609-/* { dg-final { scan-assembler "vaddl\.u16\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
1610+/* { dg-final { scan-assembler "vaddl\.u16\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
1611 /* { dg-final { cleanup-saved-temps } } */
1612
1613=== modified file 'gcc/testsuite/gcc.target/arm/neon/vaddlu32.c'
1614--- old/gcc/testsuite/gcc.target/arm/neon/vaddlu32.c 2010-07-29 15:38:15 +0000
1615+++ new/gcc/testsuite/gcc.target/arm/neon/vaddlu32.c 2010-08-20 13:27:11 +0000
1616@@ -17,5 +17,5 @@
1617 out_uint64x2_t = vaddl_u32 (arg0_uint32x2_t, arg1_uint32x2_t);
1618 }
1619
1620-/* { dg-final { scan-assembler "vaddl\.u32\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
1621+/* { dg-final { scan-assembler "vaddl\.u32\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
1622 /* { dg-final { cleanup-saved-temps } } */
1623
1624=== modified file 'gcc/testsuite/gcc.target/arm/neon/vaddlu8.c'
1625--- old/gcc/testsuite/gcc.target/arm/neon/vaddlu8.c 2010-07-29 15:38:15 +0000
1626+++ new/gcc/testsuite/gcc.target/arm/neon/vaddlu8.c 2010-08-20 13:27:11 +0000
1627@@ -17,5 +17,5 @@
1628 out_uint16x8_t = vaddl_u8 (arg0_uint8x8_t, arg1_uint8x8_t);
1629 }
1630
1631-/* { dg-final { scan-assembler "vaddl\.u8\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
1632+/* { dg-final { scan-assembler "vaddl\.u8\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
1633 /* { dg-final { cleanup-saved-temps } } */
1634
1635=== modified file 'gcc/testsuite/gcc.target/arm/neon/vadds16.c'
1636--- old/gcc/testsuite/gcc.target/arm/neon/vadds16.c 2010-07-29 15:38:15 +0000
1637+++ new/gcc/testsuite/gcc.target/arm/neon/vadds16.c 2010-08-20 13:27:11 +0000
1638@@ -17,5 +17,5 @@
1639 out_int16x4_t = vadd_s16 (arg0_int16x4_t, arg1_int16x4_t);
1640 }
1641
1642-/* { dg-final { scan-assembler "vadd\.i16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
1643+/* { dg-final { scan-assembler "vadd\.i16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
1644 /* { dg-final { cleanup-saved-temps } } */
1645
1646=== modified file 'gcc/testsuite/gcc.target/arm/neon/vadds32.c'
1647--- old/gcc/testsuite/gcc.target/arm/neon/vadds32.c 2010-07-29 15:38:15 +0000
1648+++ new/gcc/testsuite/gcc.target/arm/neon/vadds32.c 2010-08-20 13:27:11 +0000
1649@@ -17,5 +17,5 @@
1650 out_int32x2_t = vadd_s32 (arg0_int32x2_t, arg1_int32x2_t);
1651 }
1652
1653-/* { dg-final { scan-assembler "vadd\.i32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
1654+/* { dg-final { scan-assembler "vadd\.i32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
1655 /* { dg-final { cleanup-saved-temps } } */
1656
1657=== modified file 'gcc/testsuite/gcc.target/arm/neon/vadds8.c'
1658--- old/gcc/testsuite/gcc.target/arm/neon/vadds8.c 2010-07-29 15:38:15 +0000
1659+++ new/gcc/testsuite/gcc.target/arm/neon/vadds8.c 2010-08-20 13:27:11 +0000
1660@@ -17,5 +17,5 @@
1661 out_int8x8_t = vadd_s8 (arg0_int8x8_t, arg1_int8x8_t);
1662 }
1663
1664-/* { dg-final { scan-assembler "vadd\.i8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
1665+/* { dg-final { scan-assembler "vadd\.i8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
1666 /* { dg-final { cleanup-saved-temps } } */
1667
1668=== modified file 'gcc/testsuite/gcc.target/arm/neon/vaddu16.c'
1669--- old/gcc/testsuite/gcc.target/arm/neon/vaddu16.c 2010-07-29 15:38:15 +0000
1670+++ new/gcc/testsuite/gcc.target/arm/neon/vaddu16.c 2010-08-20 13:27:11 +0000
1671@@ -17,5 +17,5 @@
1672 out_uint16x4_t = vadd_u16 (arg0_uint16x4_t, arg1_uint16x4_t);
1673 }
1674
1675-/* { dg-final { scan-assembler "vadd\.i16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
1676+/* { dg-final { scan-assembler "vadd\.i16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
1677 /* { dg-final { cleanup-saved-temps } } */
1678
1679=== modified file 'gcc/testsuite/gcc.target/arm/neon/vaddu32.c'
1680--- old/gcc/testsuite/gcc.target/arm/neon/vaddu32.c 2010-07-29 15:38:15 +0000
1681+++ new/gcc/testsuite/gcc.target/arm/neon/vaddu32.c 2010-08-20 13:27:11 +0000
1682@@ -17,5 +17,5 @@
1683 out_uint32x2_t = vadd_u32 (arg0_uint32x2_t, arg1_uint32x2_t);
1684 }
1685
1686-/* { dg-final { scan-assembler "vadd\.i32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
1687+/* { dg-final { scan-assembler "vadd\.i32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
1688 /* { dg-final { cleanup-saved-temps } } */
1689
1690=== modified file 'gcc/testsuite/gcc.target/arm/neon/vaddu8.c'
1691--- old/gcc/testsuite/gcc.target/arm/neon/vaddu8.c 2010-07-29 15:38:15 +0000
1692+++ new/gcc/testsuite/gcc.target/arm/neon/vaddu8.c 2010-08-20 13:27:11 +0000
1693@@ -17,5 +17,5 @@
1694 out_uint8x8_t = vadd_u8 (arg0_uint8x8_t, arg1_uint8x8_t);
1695 }
1696
1697-/* { dg-final { scan-assembler "vadd\.i8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
1698+/* { dg-final { scan-assembler "vadd\.i8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
1699 /* { dg-final { cleanup-saved-temps } } */
1700
1701=== modified file 'gcc/testsuite/gcc.target/arm/neon/vaddws16.c'
1702--- old/gcc/testsuite/gcc.target/arm/neon/vaddws16.c 2010-07-29 15:38:15 +0000
1703+++ new/gcc/testsuite/gcc.target/arm/neon/vaddws16.c 2010-08-20 13:27:11 +0000
1704@@ -17,5 +17,5 @@
1705 out_int32x4_t = vaddw_s16 (arg0_int32x4_t, arg1_int16x4_t);
1706 }
1707
1708-/* { dg-final { scan-assembler "vaddw\.s16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
1709+/* { dg-final { scan-assembler "vaddw\.s16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
1710 /* { dg-final { cleanup-saved-temps } } */
1711
1712=== modified file 'gcc/testsuite/gcc.target/arm/neon/vaddws32.c'
1713--- old/gcc/testsuite/gcc.target/arm/neon/vaddws32.c 2010-07-29 15:38:15 +0000
1714+++ new/gcc/testsuite/gcc.target/arm/neon/vaddws32.c 2010-08-20 13:27:11 +0000
1715@@ -17,5 +17,5 @@
1716 out_int64x2_t = vaddw_s32 (arg0_int64x2_t, arg1_int32x2_t);
1717 }
1718
1719-/* { dg-final { scan-assembler "vaddw\.s32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
1720+/* { dg-final { scan-assembler "vaddw\.s32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
1721 /* { dg-final { cleanup-saved-temps } } */
1722
1723=== modified file 'gcc/testsuite/gcc.target/arm/neon/vaddws8.c'
1724--- old/gcc/testsuite/gcc.target/arm/neon/vaddws8.c 2010-07-29 15:38:15 +0000
1725+++ new/gcc/testsuite/gcc.target/arm/neon/vaddws8.c 2010-08-20 13:27:11 +0000
1726@@ -17,5 +17,5 @@
1727 out_int16x8_t = vaddw_s8 (arg0_int16x8_t, arg1_int8x8_t);
1728 }
1729
1730-/* { dg-final { scan-assembler "vaddw\.s8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
1731+/* { dg-final { scan-assembler "vaddw\.s8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
1732 /* { dg-final { cleanup-saved-temps } } */
1733
1734=== modified file 'gcc/testsuite/gcc.target/arm/neon/vaddwu16.c'
1735--- old/gcc/testsuite/gcc.target/arm/neon/vaddwu16.c 2010-07-29 15:38:15 +0000
1736+++ new/gcc/testsuite/gcc.target/arm/neon/vaddwu16.c 2010-08-20 13:27:11 +0000
1737@@ -17,5 +17,5 @@
1738 out_uint32x4_t = vaddw_u16 (arg0_uint32x4_t, arg1_uint16x4_t);
1739 }
1740
1741-/* { dg-final { scan-assembler "vaddw\.u16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
1742+/* { dg-final { scan-assembler "vaddw\.u16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
1743 /* { dg-final { cleanup-saved-temps } } */
1744
1745=== modified file 'gcc/testsuite/gcc.target/arm/neon/vaddwu32.c'
1746--- old/gcc/testsuite/gcc.target/arm/neon/vaddwu32.c 2010-07-29 15:38:15 +0000
1747+++ new/gcc/testsuite/gcc.target/arm/neon/vaddwu32.c 2010-08-20 13:27:11 +0000
1748@@ -17,5 +17,5 @@
1749 out_uint64x2_t = vaddw_u32 (arg0_uint64x2_t, arg1_uint32x2_t);
1750 }
1751
1752-/* { dg-final { scan-assembler "vaddw\.u32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
1753+/* { dg-final { scan-assembler "vaddw\.u32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
1754 /* { dg-final { cleanup-saved-temps } } */
1755
1756=== modified file 'gcc/testsuite/gcc.target/arm/neon/vaddwu8.c'
1757--- old/gcc/testsuite/gcc.target/arm/neon/vaddwu8.c 2010-07-29 15:38:15 +0000
1758+++ new/gcc/testsuite/gcc.target/arm/neon/vaddwu8.c 2010-08-20 13:27:11 +0000
1759@@ -17,5 +17,5 @@
1760 out_uint16x8_t = vaddw_u8 (arg0_uint16x8_t, arg1_uint8x8_t);
1761 }
1762
1763-/* { dg-final { scan-assembler "vaddw\.u8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
1764+/* { dg-final { scan-assembler "vaddw\.u8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
1765 /* { dg-final { cleanup-saved-temps } } */
1766
1767=== modified file 'gcc/testsuite/gcc.target/arm/neon/vandQs16.c'
1768--- old/gcc/testsuite/gcc.target/arm/neon/vandQs16.c 2010-07-29 15:38:15 +0000
1769+++ new/gcc/testsuite/gcc.target/arm/neon/vandQs16.c 2010-08-20 13:27:11 +0000
1770@@ -17,5 +17,5 @@
1771 out_int16x8_t = vandq_s16 (arg0_int16x8_t, arg1_int16x8_t);
1772 }
1773
1774-/* { dg-final { scan-assembler "vand\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
1775+/* { dg-final { scan-assembler "vand\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
1776 /* { dg-final { cleanup-saved-temps } } */
1777
1778=== modified file 'gcc/testsuite/gcc.target/arm/neon/vandQs32.c'
1779--- old/gcc/testsuite/gcc.target/arm/neon/vandQs32.c 2010-07-29 15:38:15 +0000
1780+++ new/gcc/testsuite/gcc.target/arm/neon/vandQs32.c 2010-08-20 13:27:11 +0000
1781@@ -17,5 +17,5 @@
1782 out_int32x4_t = vandq_s32 (arg0_int32x4_t, arg1_int32x4_t);
1783 }
1784
1785-/* { dg-final { scan-assembler "vand\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
1786+/* { dg-final { scan-assembler "vand\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
1787 /* { dg-final { cleanup-saved-temps } } */
1788
1789=== modified file 'gcc/testsuite/gcc.target/arm/neon/vandQs64.c'
1790--- old/gcc/testsuite/gcc.target/arm/neon/vandQs64.c 2010-07-29 15:38:15 +0000
1791+++ new/gcc/testsuite/gcc.target/arm/neon/vandQs64.c 2010-08-20 13:27:11 +0000
1792@@ -17,5 +17,5 @@
1793 out_int64x2_t = vandq_s64 (arg0_int64x2_t, arg1_int64x2_t);
1794 }
1795
1796-/* { dg-final { scan-assembler "vand\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
1797+/* { dg-final { scan-assembler "vand\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
1798 /* { dg-final { cleanup-saved-temps } } */
1799
1800=== modified file 'gcc/testsuite/gcc.target/arm/neon/vandQs8.c'
1801--- old/gcc/testsuite/gcc.target/arm/neon/vandQs8.c 2010-07-29 15:38:15 +0000
1802+++ new/gcc/testsuite/gcc.target/arm/neon/vandQs8.c 2010-08-20 13:27:11 +0000
1803@@ -17,5 +17,5 @@
1804 out_int8x16_t = vandq_s8 (arg0_int8x16_t, arg1_int8x16_t);
1805 }
1806
1807-/* { dg-final { scan-assembler "vand\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
1808+/* { dg-final { scan-assembler "vand\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
1809 /* { dg-final { cleanup-saved-temps } } */
1810
1811=== modified file 'gcc/testsuite/gcc.target/arm/neon/vandQu16.c'
1812--- old/gcc/testsuite/gcc.target/arm/neon/vandQu16.c 2010-07-29 15:38:15 +0000
1813+++ new/gcc/testsuite/gcc.target/arm/neon/vandQu16.c 2010-08-20 13:27:11 +0000
1814@@ -17,5 +17,5 @@
1815 out_uint16x8_t = vandq_u16 (arg0_uint16x8_t, arg1_uint16x8_t);
1816 }
1817
1818-/* { dg-final { scan-assembler "vand\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
1819+/* { dg-final { scan-assembler "vand\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
1820 /* { dg-final { cleanup-saved-temps } } */
1821
1822=== modified file 'gcc/testsuite/gcc.target/arm/neon/vandQu32.c'
1823--- old/gcc/testsuite/gcc.target/arm/neon/vandQu32.c 2010-07-29 15:38:15 +0000
1824+++ new/gcc/testsuite/gcc.target/arm/neon/vandQu32.c 2010-08-20 13:27:11 +0000
1825@@ -17,5 +17,5 @@
1826 out_uint32x4_t = vandq_u32 (arg0_uint32x4_t, arg1_uint32x4_t);
1827 }
1828
1829-/* { dg-final { scan-assembler "vand\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
1830+/* { dg-final { scan-assembler "vand\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
1831 /* { dg-final { cleanup-saved-temps } } */
1832
1833=== modified file 'gcc/testsuite/gcc.target/arm/neon/vandQu64.c'
1834--- old/gcc/testsuite/gcc.target/arm/neon/vandQu64.c 2010-07-29 15:38:15 +0000
1835+++ new/gcc/testsuite/gcc.target/arm/neon/vandQu64.c 2010-08-20 13:27:11 +0000
1836@@ -17,5 +17,5 @@
1837 out_uint64x2_t = vandq_u64 (arg0_uint64x2_t, arg1_uint64x2_t);
1838 }
1839
1840-/* { dg-final { scan-assembler "vand\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
1841+/* { dg-final { scan-assembler "vand\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
1842 /* { dg-final { cleanup-saved-temps } } */
1843
1844=== modified file 'gcc/testsuite/gcc.target/arm/neon/vandQu8.c'
1845--- old/gcc/testsuite/gcc.target/arm/neon/vandQu8.c 2010-07-29 15:38:15 +0000
1846+++ new/gcc/testsuite/gcc.target/arm/neon/vandQu8.c 2010-08-20 13:27:11 +0000
1847@@ -17,5 +17,5 @@
1848 out_uint8x16_t = vandq_u8 (arg0_uint8x16_t, arg1_uint8x16_t);
1849 }
1850
1851-/* { dg-final { scan-assembler "vand\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
1852+/* { dg-final { scan-assembler "vand\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
1853 /* { dg-final { cleanup-saved-temps } } */
1854
1855=== modified file 'gcc/testsuite/gcc.target/arm/neon/vands16.c'
1856--- old/gcc/testsuite/gcc.target/arm/neon/vands16.c 2010-07-29 15:38:15 +0000
1857+++ new/gcc/testsuite/gcc.target/arm/neon/vands16.c 2010-08-20 13:27:11 +0000
1858@@ -17,5 +17,5 @@
1859 out_int16x4_t = vand_s16 (arg0_int16x4_t, arg1_int16x4_t);
1860 }
1861
1862-/* { dg-final { scan-assembler "vand\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
1863+/* { dg-final { scan-assembler "vand\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
1864 /* { dg-final { cleanup-saved-temps } } */
1865
1866=== modified file 'gcc/testsuite/gcc.target/arm/neon/vands32.c'
1867--- old/gcc/testsuite/gcc.target/arm/neon/vands32.c 2010-07-29 15:38:15 +0000
1868+++ new/gcc/testsuite/gcc.target/arm/neon/vands32.c 2010-08-20 13:27:11 +0000
1869@@ -17,5 +17,5 @@
1870 out_int32x2_t = vand_s32 (arg0_int32x2_t, arg1_int32x2_t);
1871 }
1872
1873-/* { dg-final { scan-assembler "vand\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
1874+/* { dg-final { scan-assembler "vand\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
1875 /* { dg-final { cleanup-saved-temps } } */
1876
1877=== modified file 'gcc/testsuite/gcc.target/arm/neon/vands8.c'
1878--- old/gcc/testsuite/gcc.target/arm/neon/vands8.c 2010-07-29 15:38:15 +0000
1879+++ new/gcc/testsuite/gcc.target/arm/neon/vands8.c 2010-08-20 13:27:11 +0000
1880@@ -17,5 +17,5 @@
1881 out_int8x8_t = vand_s8 (arg0_int8x8_t, arg1_int8x8_t);
1882 }
1883
1884-/* { dg-final { scan-assembler "vand\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
1885+/* { dg-final { scan-assembler "vand\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
1886 /* { dg-final { cleanup-saved-temps } } */
1887
1888=== modified file 'gcc/testsuite/gcc.target/arm/neon/vandu16.c'
1889--- old/gcc/testsuite/gcc.target/arm/neon/vandu16.c 2010-07-29 15:38:15 +0000
1890+++ new/gcc/testsuite/gcc.target/arm/neon/vandu16.c 2010-08-20 13:27:11 +0000
1891@@ -17,5 +17,5 @@
1892 out_uint16x4_t = vand_u16 (arg0_uint16x4_t, arg1_uint16x4_t);
1893 }
1894
1895-/* { dg-final { scan-assembler "vand\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
1896+/* { dg-final { scan-assembler "vand\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
1897 /* { dg-final { cleanup-saved-temps } } */
1898
1899=== modified file 'gcc/testsuite/gcc.target/arm/neon/vandu32.c'
1900--- old/gcc/testsuite/gcc.target/arm/neon/vandu32.c 2010-07-29 15:38:15 +0000
1901+++ new/gcc/testsuite/gcc.target/arm/neon/vandu32.c 2010-08-20 13:27:11 +0000
1902@@ -17,5 +17,5 @@
1903 out_uint32x2_t = vand_u32 (arg0_uint32x2_t, arg1_uint32x2_t);
1904 }
1905
1906-/* { dg-final { scan-assembler "vand\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
1907+/* { dg-final { scan-assembler "vand\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
1908 /* { dg-final { cleanup-saved-temps } } */
1909
1910=== modified file 'gcc/testsuite/gcc.target/arm/neon/vandu8.c'
1911--- old/gcc/testsuite/gcc.target/arm/neon/vandu8.c 2010-07-29 15:38:15 +0000
1912+++ new/gcc/testsuite/gcc.target/arm/neon/vandu8.c 2010-08-20 13:27:11 +0000
1913@@ -17,5 +17,5 @@
1914 out_uint8x8_t = vand_u8 (arg0_uint8x8_t, arg1_uint8x8_t);
1915 }
1916
1917-/* { dg-final { scan-assembler "vand\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
1918+/* { dg-final { scan-assembler "vand\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
1919 /* { dg-final { cleanup-saved-temps } } */
1920
1921=== modified file 'gcc/testsuite/gcc.target/arm/neon/vbicQs16.c'
1922--- old/gcc/testsuite/gcc.target/arm/neon/vbicQs16.c 2010-07-29 15:38:15 +0000
1923+++ new/gcc/testsuite/gcc.target/arm/neon/vbicQs16.c 2010-08-20 13:27:11 +0000
1924@@ -17,5 +17,5 @@
1925 out_int16x8_t = vbicq_s16 (arg0_int16x8_t, arg1_int16x8_t);
1926 }
1927
1928-/* { dg-final { scan-assembler "vbic\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
1929+/* { dg-final { scan-assembler "vbic\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
1930 /* { dg-final { cleanup-saved-temps } } */
1931
1932=== modified file 'gcc/testsuite/gcc.target/arm/neon/vbicQs32.c'
1933--- old/gcc/testsuite/gcc.target/arm/neon/vbicQs32.c 2010-07-29 15:38:15 +0000
1934+++ new/gcc/testsuite/gcc.target/arm/neon/vbicQs32.c 2010-08-20 13:27:11 +0000
1935@@ -17,5 +17,5 @@
1936 out_int32x4_t = vbicq_s32 (arg0_int32x4_t, arg1_int32x4_t);
1937 }
1938
1939-/* { dg-final { scan-assembler "vbic\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
1940+/* { dg-final { scan-assembler "vbic\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
1941 /* { dg-final { cleanup-saved-temps } } */
1942
1943=== modified file 'gcc/testsuite/gcc.target/arm/neon/vbicQs64.c'
1944--- old/gcc/testsuite/gcc.target/arm/neon/vbicQs64.c 2010-07-29 15:38:15 +0000
1945+++ new/gcc/testsuite/gcc.target/arm/neon/vbicQs64.c 2010-08-20 13:27:11 +0000
1946@@ -17,5 +17,5 @@
1947 out_int64x2_t = vbicq_s64 (arg0_int64x2_t, arg1_int64x2_t);
1948 }
1949
1950-/* { dg-final { scan-assembler "vbic\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
1951+/* { dg-final { scan-assembler "vbic\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
1952 /* { dg-final { cleanup-saved-temps } } */
1953
1954=== modified file 'gcc/testsuite/gcc.target/arm/neon/vbicQs8.c'
1955--- old/gcc/testsuite/gcc.target/arm/neon/vbicQs8.c 2010-07-29 15:38:15 +0000
1956+++ new/gcc/testsuite/gcc.target/arm/neon/vbicQs8.c 2010-08-20 13:27:11 +0000
1957@@ -17,5 +17,5 @@
1958 out_int8x16_t = vbicq_s8 (arg0_int8x16_t, arg1_int8x16_t);
1959 }
1960
1961-/* { dg-final { scan-assembler "vbic\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
1962+/* { dg-final { scan-assembler "vbic\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
1963 /* { dg-final { cleanup-saved-temps } } */
1964
1965=== modified file 'gcc/testsuite/gcc.target/arm/neon/vbicQu16.c'
1966--- old/gcc/testsuite/gcc.target/arm/neon/vbicQu16.c 2010-07-29 15:38:15 +0000
1967+++ new/gcc/testsuite/gcc.target/arm/neon/vbicQu16.c 2010-08-20 13:27:11 +0000
1968@@ -17,5 +17,5 @@
1969 out_uint16x8_t = vbicq_u16 (arg0_uint16x8_t, arg1_uint16x8_t);
1970 }
1971
1972-/* { dg-final { scan-assembler "vbic\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
1973+/* { dg-final { scan-assembler "vbic\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
1974 /* { dg-final { cleanup-saved-temps } } */
1975
1976=== modified file 'gcc/testsuite/gcc.target/arm/neon/vbicQu32.c'
1977--- old/gcc/testsuite/gcc.target/arm/neon/vbicQu32.c 2010-07-29 15:38:15 +0000
1978+++ new/gcc/testsuite/gcc.target/arm/neon/vbicQu32.c 2010-08-20 13:27:11 +0000
1979@@ -17,5 +17,5 @@
1980 out_uint32x4_t = vbicq_u32 (arg0_uint32x4_t, arg1_uint32x4_t);
1981 }
1982
1983-/* { dg-final { scan-assembler "vbic\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
1984+/* { dg-final { scan-assembler "vbic\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
1985 /* { dg-final { cleanup-saved-temps } } */
1986
1987=== modified file 'gcc/testsuite/gcc.target/arm/neon/vbicQu64.c'
1988--- old/gcc/testsuite/gcc.target/arm/neon/vbicQu64.c 2010-07-29 15:38:15 +0000
1989+++ new/gcc/testsuite/gcc.target/arm/neon/vbicQu64.c 2010-08-20 13:27:11 +0000
1990@@ -17,5 +17,5 @@
1991 out_uint64x2_t = vbicq_u64 (arg0_uint64x2_t, arg1_uint64x2_t);
1992 }
1993
1994-/* { dg-final { scan-assembler "vbic\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
1995+/* { dg-final { scan-assembler "vbic\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
1996 /* { dg-final { cleanup-saved-temps } } */
1997
1998=== modified file 'gcc/testsuite/gcc.target/arm/neon/vbicQu8.c'
1999--- old/gcc/testsuite/gcc.target/arm/neon/vbicQu8.c 2010-07-29 15:38:15 +0000
2000+++ new/gcc/testsuite/gcc.target/arm/neon/vbicQu8.c 2010-08-20 13:27:11 +0000
2001@@ -17,5 +17,5 @@
2002 out_uint8x16_t = vbicq_u8 (arg0_uint8x16_t, arg1_uint8x16_t);
2003 }
2004
2005-/* { dg-final { scan-assembler "vbic\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
2006+/* { dg-final { scan-assembler "vbic\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
2007 /* { dg-final { cleanup-saved-temps } } */
2008
2009=== modified file 'gcc/testsuite/gcc.target/arm/neon/vbics16.c'
2010--- old/gcc/testsuite/gcc.target/arm/neon/vbics16.c 2010-07-29 15:38:15 +0000
2011+++ new/gcc/testsuite/gcc.target/arm/neon/vbics16.c 2010-08-20 13:27:11 +0000
2012@@ -17,5 +17,5 @@
2013 out_int16x4_t = vbic_s16 (arg0_int16x4_t, arg1_int16x4_t);
2014 }
2015
2016-/* { dg-final { scan-assembler "vbic\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
2017+/* { dg-final { scan-assembler "vbic\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
2018 /* { dg-final { cleanup-saved-temps } } */
2019
2020=== modified file 'gcc/testsuite/gcc.target/arm/neon/vbics32.c'
2021--- old/gcc/testsuite/gcc.target/arm/neon/vbics32.c 2010-07-29 15:38:15 +0000
2022+++ new/gcc/testsuite/gcc.target/arm/neon/vbics32.c 2010-08-20 13:27:11 +0000
2023@@ -17,5 +17,5 @@
2024 out_int32x2_t = vbic_s32 (arg0_int32x2_t, arg1_int32x2_t);
2025 }
2026
2027-/* { dg-final { scan-assembler "vbic\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
2028+/* { dg-final { scan-assembler "vbic\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
2029 /* { dg-final { cleanup-saved-temps } } */
2030
2031=== modified file 'gcc/testsuite/gcc.target/arm/neon/vbics8.c'
2032--- old/gcc/testsuite/gcc.target/arm/neon/vbics8.c 2010-07-29 15:38:15 +0000
2033+++ new/gcc/testsuite/gcc.target/arm/neon/vbics8.c 2010-08-20 13:27:11 +0000
2034@@ -17,5 +17,5 @@
2035 out_int8x8_t = vbic_s8 (arg0_int8x8_t, arg1_int8x8_t);
2036 }
2037
2038-/* { dg-final { scan-assembler "vbic\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
2039+/* { dg-final { scan-assembler "vbic\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
2040 /* { dg-final { cleanup-saved-temps } } */
2041
2042=== modified file 'gcc/testsuite/gcc.target/arm/neon/vbicu16.c'
2043--- old/gcc/testsuite/gcc.target/arm/neon/vbicu16.c 2010-07-29 15:38:15 +0000
2044+++ new/gcc/testsuite/gcc.target/arm/neon/vbicu16.c 2010-08-20 13:27:11 +0000
2045@@ -17,5 +17,5 @@
2046 out_uint16x4_t = vbic_u16 (arg0_uint16x4_t, arg1_uint16x4_t);
2047 }
2048
2049-/* { dg-final { scan-assembler "vbic\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
2050+/* { dg-final { scan-assembler "vbic\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
2051 /* { dg-final { cleanup-saved-temps } } */
2052
2053=== modified file 'gcc/testsuite/gcc.target/arm/neon/vbicu32.c'
2054--- old/gcc/testsuite/gcc.target/arm/neon/vbicu32.c 2010-07-29 15:38:15 +0000
2055+++ new/gcc/testsuite/gcc.target/arm/neon/vbicu32.c 2010-08-20 13:27:11 +0000
2056@@ -17,5 +17,5 @@
2057 out_uint32x2_t = vbic_u32 (arg0_uint32x2_t, arg1_uint32x2_t);
2058 }
2059
2060-/* { dg-final { scan-assembler "vbic\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
2061+/* { dg-final { scan-assembler "vbic\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
2062 /* { dg-final { cleanup-saved-temps } } */
2063
2064=== modified file 'gcc/testsuite/gcc.target/arm/neon/vbicu8.c'
2065--- old/gcc/testsuite/gcc.target/arm/neon/vbicu8.c 2010-07-29 15:38:15 +0000
2066+++ new/gcc/testsuite/gcc.target/arm/neon/vbicu8.c 2010-08-20 13:27:11 +0000
2067@@ -17,5 +17,5 @@
2068 out_uint8x8_t = vbic_u8 (arg0_uint8x8_t, arg1_uint8x8_t);
2069 }
2070
2071-/* { dg-final { scan-assembler "vbic\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
2072+/* { dg-final { scan-assembler "vbic\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
2073 /* { dg-final { cleanup-saved-temps } } */
2074
2075=== modified file 'gcc/testsuite/gcc.target/arm/neon/vbslQf32.c'
2076--- old/gcc/testsuite/gcc.target/arm/neon/vbslQf32.c 2010-07-29 15:38:15 +0000
2077+++ new/gcc/testsuite/gcc.target/arm/neon/vbslQf32.c 2010-08-20 13:27:11 +0000
2078@@ -18,5 +18,5 @@
2079 out_float32x4_t = vbslq_f32 (arg0_uint32x4_t, arg1_float32x4_t, arg2_float32x4_t);
2080 }
2081
2082-/* { dg-final { scan-assembler "((vbsl)|(vbit)|(vbif))\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
2083+/* { dg-final { scan-assembler "((vbsl)|(vbit)|(vbif))\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
2084 /* { dg-final { cleanup-saved-temps } } */
2085
2086=== modified file 'gcc/testsuite/gcc.target/arm/neon/vbslQp16.c'
2087--- old/gcc/testsuite/gcc.target/arm/neon/vbslQp16.c 2010-07-29 15:38:15 +0000
2088+++ new/gcc/testsuite/gcc.target/arm/neon/vbslQp16.c 2010-08-20 13:27:11 +0000
2089@@ -18,5 +18,5 @@
2090 out_poly16x8_t = vbslq_p16 (arg0_uint16x8_t, arg1_poly16x8_t, arg2_poly16x8_t);
2091 }
2092
2093-/* { dg-final { scan-assembler "((vbsl)|(vbit)|(vbif))\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
2094+/* { dg-final { scan-assembler "((vbsl)|(vbit)|(vbif))\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
2095 /* { dg-final { cleanup-saved-temps } } */
2096
2097=== modified file 'gcc/testsuite/gcc.target/arm/neon/vbslQp8.c'
2098--- old/gcc/testsuite/gcc.target/arm/neon/vbslQp8.c 2010-07-29 15:38:15 +0000
2099+++ new/gcc/testsuite/gcc.target/arm/neon/vbslQp8.c 2010-08-20 13:27:11 +0000
2100@@ -18,5 +18,5 @@
2101 out_poly8x16_t = vbslq_p8 (arg0_uint8x16_t, arg1_poly8x16_t, arg2_poly8x16_t);
2102 }
2103
2104-/* { dg-final { scan-assembler "((vbsl)|(vbit)|(vbif))\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
2105+/* { dg-final { scan-assembler "((vbsl)|(vbit)|(vbif))\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
2106 /* { dg-final { cleanup-saved-temps } } */
2107
2108=== modified file 'gcc/testsuite/gcc.target/arm/neon/vbslQs16.c'
2109--- old/gcc/testsuite/gcc.target/arm/neon/vbslQs16.c 2010-07-29 15:38:15 +0000
2110+++ new/gcc/testsuite/gcc.target/arm/neon/vbslQs16.c 2010-08-20 13:27:11 +0000
2111@@ -18,5 +18,5 @@
2112 out_int16x8_t = vbslq_s16 (arg0_uint16x8_t, arg1_int16x8_t, arg2_int16x8_t);
2113 }
2114
2115-/* { dg-final { scan-assembler "((vbsl)|(vbit)|(vbif))\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
2116+/* { dg-final { scan-assembler "((vbsl)|(vbit)|(vbif))\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
2117 /* { dg-final { cleanup-saved-temps } } */
2118
2119=== modified file 'gcc/testsuite/gcc.target/arm/neon/vbslQs32.c'
2120--- old/gcc/testsuite/gcc.target/arm/neon/vbslQs32.c 2010-07-29 15:38:15 +0000
2121+++ new/gcc/testsuite/gcc.target/arm/neon/vbslQs32.c 2010-08-20 13:27:11 +0000
2122@@ -18,5 +18,5 @@
2123 out_int32x4_t = vbslq_s32 (arg0_uint32x4_t, arg1_int32x4_t, arg2_int32x4_t);
2124 }
2125
2126-/* { dg-final { scan-assembler "((vbsl)|(vbit)|(vbif))\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
2127+/* { dg-final { scan-assembler "((vbsl)|(vbit)|(vbif))\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
2128 /* { dg-final { cleanup-saved-temps } } */
2129
2130=== modified file 'gcc/testsuite/gcc.target/arm/neon/vbslQs64.c'
2131--- old/gcc/testsuite/gcc.target/arm/neon/vbslQs64.c 2010-07-29 15:38:15 +0000
2132+++ new/gcc/testsuite/gcc.target/arm/neon/vbslQs64.c 2010-08-20 13:27:11 +0000
2133@@ -18,5 +18,5 @@
2134 out_int64x2_t = vbslq_s64 (arg0_uint64x2_t, arg1_int64x2_t, arg2_int64x2_t);
2135 }
2136
2137-/* { dg-final { scan-assembler "((vbsl)|(vbit)|(vbif))\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
2138+/* { dg-final { scan-assembler "((vbsl)|(vbit)|(vbif))\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
2139 /* { dg-final { cleanup-saved-temps } } */
2140
2141=== modified file 'gcc/testsuite/gcc.target/arm/neon/vbslQs8.c'
2142--- old/gcc/testsuite/gcc.target/arm/neon/vbslQs8.c 2010-07-29 15:38:15 +0000
2143+++ new/gcc/testsuite/gcc.target/arm/neon/vbslQs8.c 2010-08-20 13:27:11 +0000
2144@@ -18,5 +18,5 @@
2145 out_int8x16_t = vbslq_s8 (arg0_uint8x16_t, arg1_int8x16_t, arg2_int8x16_t);
2146 }
2147
2148-/* { dg-final { scan-assembler "((vbsl)|(vbit)|(vbif))\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
2149+/* { dg-final { scan-assembler "((vbsl)|(vbit)|(vbif))\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
2150 /* { dg-final { cleanup-saved-temps } } */
2151
2152=== modified file 'gcc/testsuite/gcc.target/arm/neon/vbslQu16.c'
2153--- old/gcc/testsuite/gcc.target/arm/neon/vbslQu16.c 2010-07-29 15:38:15 +0000
2154+++ new/gcc/testsuite/gcc.target/arm/neon/vbslQu16.c 2010-08-20 13:27:11 +0000
2155@@ -18,5 +18,5 @@
2156 out_uint16x8_t = vbslq_u16 (arg0_uint16x8_t, arg1_uint16x8_t, arg2_uint16x8_t);
2157 }
2158
2159-/* { dg-final { scan-assembler "((vbsl)|(vbit)|(vbif))\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
2160+/* { dg-final { scan-assembler "((vbsl)|(vbit)|(vbif))\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
2161 /* { dg-final { cleanup-saved-temps } } */
2162
2163=== modified file 'gcc/testsuite/gcc.target/arm/neon/vbslQu32.c'
2164--- old/gcc/testsuite/gcc.target/arm/neon/vbslQu32.c 2010-07-29 15:38:15 +0000
2165+++ new/gcc/testsuite/gcc.target/arm/neon/vbslQu32.c 2010-08-20 13:27:11 +0000
2166@@ -18,5 +18,5 @@
2167 out_uint32x4_t = vbslq_u32 (arg0_uint32x4_t, arg1_uint32x4_t, arg2_uint32x4_t);
2168 }
2169
2170-/* { dg-final { scan-assembler "((vbsl)|(vbit)|(vbif))\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
2171+/* { dg-final { scan-assembler "((vbsl)|(vbit)|(vbif))\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
2172 /* { dg-final { cleanup-saved-temps } } */
2173
2174=== modified file 'gcc/testsuite/gcc.target/arm/neon/vbslQu64.c'
2175--- old/gcc/testsuite/gcc.target/arm/neon/vbslQu64.c 2010-07-29 15:38:15 +0000
2176+++ new/gcc/testsuite/gcc.target/arm/neon/vbslQu64.c 2010-08-20 13:27:11 +0000
2177@@ -18,5 +18,5 @@
2178 out_uint64x2_t = vbslq_u64 (arg0_uint64x2_t, arg1_uint64x2_t, arg2_uint64x2_t);
2179 }
2180
2181-/* { dg-final { scan-assembler "((vbsl)|(vbit)|(vbif))\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
2182+/* { dg-final { scan-assembler "((vbsl)|(vbit)|(vbif))\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
2183 /* { dg-final { cleanup-saved-temps } } */
2184
2185=== modified file 'gcc/testsuite/gcc.target/arm/neon/vbslQu8.c'
2186--- old/gcc/testsuite/gcc.target/arm/neon/vbslQu8.c 2010-07-29 15:38:15 +0000
2187+++ new/gcc/testsuite/gcc.target/arm/neon/vbslQu8.c 2010-08-20 13:27:11 +0000
2188@@ -18,5 +18,5 @@
2189 out_uint8x16_t = vbslq_u8 (arg0_uint8x16_t, arg1_uint8x16_t, arg2_uint8x16_t);
2190 }
2191
2192-/* { dg-final { scan-assembler "((vbsl)|(vbit)|(vbif))\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
2193+/* { dg-final { scan-assembler "((vbsl)|(vbit)|(vbif))\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
2194 /* { dg-final { cleanup-saved-temps } } */
2195
2196=== modified file 'gcc/testsuite/gcc.target/arm/neon/vbslf32.c'
2197--- old/gcc/testsuite/gcc.target/arm/neon/vbslf32.c 2010-07-29 15:38:15 +0000
2198+++ new/gcc/testsuite/gcc.target/arm/neon/vbslf32.c 2010-08-20 13:27:11 +0000
2199@@ -18,5 +18,5 @@
2200 out_float32x2_t = vbsl_f32 (arg0_uint32x2_t, arg1_float32x2_t, arg2_float32x2_t);
2201 }
2202
2203-/* { dg-final { scan-assembler "((vbsl)|(vbit)|(vbif))\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
2204+/* { dg-final { scan-assembler "((vbsl)|(vbit)|(vbif))\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
2205 /* { dg-final { cleanup-saved-temps } } */
2206
2207=== modified file 'gcc/testsuite/gcc.target/arm/neon/vbslp16.c'
2208--- old/gcc/testsuite/gcc.target/arm/neon/vbslp16.c 2010-07-29 15:38:15 +0000
2209+++ new/gcc/testsuite/gcc.target/arm/neon/vbslp16.c 2010-08-20 13:27:11 +0000
2210@@ -18,5 +18,5 @@
2211 out_poly16x4_t = vbsl_p16 (arg0_uint16x4_t, arg1_poly16x4_t, arg2_poly16x4_t);
2212 }
2213
2214-/* { dg-final { scan-assembler "((vbsl)|(vbit)|(vbif))\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
2215+/* { dg-final { scan-assembler "((vbsl)|(vbit)|(vbif))\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
2216 /* { dg-final { cleanup-saved-temps } } */
2217
2218=== modified file 'gcc/testsuite/gcc.target/arm/neon/vbslp8.c'
2219--- old/gcc/testsuite/gcc.target/arm/neon/vbslp8.c 2010-07-29 15:38:15 +0000
2220+++ new/gcc/testsuite/gcc.target/arm/neon/vbslp8.c 2010-08-20 13:27:11 +0000
2221@@ -18,5 +18,5 @@
2222 out_poly8x8_t = vbsl_p8 (arg0_uint8x8_t, arg1_poly8x8_t, arg2_poly8x8_t);
2223 }
2224
2225-/* { dg-final { scan-assembler "((vbsl)|(vbit)|(vbif))\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
2226+/* { dg-final { scan-assembler "((vbsl)|(vbit)|(vbif))\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
2227 /* { dg-final { cleanup-saved-temps } } */
2228
2229=== modified file 'gcc/testsuite/gcc.target/arm/neon/vbsls16.c'
2230--- old/gcc/testsuite/gcc.target/arm/neon/vbsls16.c 2010-07-29 15:38:15 +0000
2231+++ new/gcc/testsuite/gcc.target/arm/neon/vbsls16.c 2010-08-20 13:27:11 +0000
2232@@ -18,5 +18,5 @@
2233 out_int16x4_t = vbsl_s16 (arg0_uint16x4_t, arg1_int16x4_t, arg2_int16x4_t);
2234 }
2235
2236-/* { dg-final { scan-assembler "((vbsl)|(vbit)|(vbif))\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
2237+/* { dg-final { scan-assembler "((vbsl)|(vbit)|(vbif))\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
2238 /* { dg-final { cleanup-saved-temps } } */
2239
2240=== modified file 'gcc/testsuite/gcc.target/arm/neon/vbsls32.c'
2241--- old/gcc/testsuite/gcc.target/arm/neon/vbsls32.c 2010-07-29 15:38:15 +0000
2242+++ new/gcc/testsuite/gcc.target/arm/neon/vbsls32.c 2010-08-20 13:27:11 +0000
2243@@ -18,5 +18,5 @@
2244 out_int32x2_t = vbsl_s32 (arg0_uint32x2_t, arg1_int32x2_t, arg2_int32x2_t);
2245 }
2246
2247-/* { dg-final { scan-assembler "((vbsl)|(vbit)|(vbif))\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
2248+/* { dg-final { scan-assembler "((vbsl)|(vbit)|(vbif))\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
2249 /* { dg-final { cleanup-saved-temps } } */
2250
2251=== modified file 'gcc/testsuite/gcc.target/arm/neon/vbsls64.c'
2252--- old/gcc/testsuite/gcc.target/arm/neon/vbsls64.c 2010-07-29 15:38:15 +0000
2253+++ new/gcc/testsuite/gcc.target/arm/neon/vbsls64.c 2010-08-20 13:27:11 +0000
2254@@ -18,5 +18,5 @@
2255 out_int64x1_t = vbsl_s64 (arg0_uint64x1_t, arg1_int64x1_t, arg2_int64x1_t);
2256 }
2257
2258-/* { dg-final { scan-assembler "((vbsl)|(vbit)|(vbif))\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
2259+/* { dg-final { scan-assembler "((vbsl)|(vbit)|(vbif))\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
2260 /* { dg-final { cleanup-saved-temps } } */
2261
2262=== modified file 'gcc/testsuite/gcc.target/arm/neon/vbsls8.c'
2263--- old/gcc/testsuite/gcc.target/arm/neon/vbsls8.c 2010-07-29 15:38:15 +0000
2264+++ new/gcc/testsuite/gcc.target/arm/neon/vbsls8.c 2010-08-20 13:27:11 +0000
2265@@ -18,5 +18,5 @@
2266 out_int8x8_t = vbsl_s8 (arg0_uint8x8_t, arg1_int8x8_t, arg2_int8x8_t);
2267 }
2268
2269-/* { dg-final { scan-assembler "((vbsl)|(vbit)|(vbif))\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
2270+/* { dg-final { scan-assembler "((vbsl)|(vbit)|(vbif))\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
2271 /* { dg-final { cleanup-saved-temps } } */
2272
2273=== modified file 'gcc/testsuite/gcc.target/arm/neon/vbslu16.c'
2274--- old/gcc/testsuite/gcc.target/arm/neon/vbslu16.c 2010-07-29 15:38:15 +0000
2275+++ new/gcc/testsuite/gcc.target/arm/neon/vbslu16.c 2010-08-20 13:27:11 +0000
2276@@ -18,5 +18,5 @@
2277 out_uint16x4_t = vbsl_u16 (arg0_uint16x4_t, arg1_uint16x4_t, arg2_uint16x4_t);
2278 }
2279
2280-/* { dg-final { scan-assembler "((vbsl)|(vbit)|(vbif))\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
2281+/* { dg-final { scan-assembler "((vbsl)|(vbit)|(vbif))\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
2282 /* { dg-final { cleanup-saved-temps } } */
2283
2284=== modified file 'gcc/testsuite/gcc.target/arm/neon/vbslu32.c'
2285--- old/gcc/testsuite/gcc.target/arm/neon/vbslu32.c 2010-07-29 15:38:15 +0000
2286+++ new/gcc/testsuite/gcc.target/arm/neon/vbslu32.c 2010-08-20 13:27:11 +0000
2287@@ -18,5 +18,5 @@
2288 out_uint32x2_t = vbsl_u32 (arg0_uint32x2_t, arg1_uint32x2_t, arg2_uint32x2_t);
2289 }
2290
2291-/* { dg-final { scan-assembler "((vbsl)|(vbit)|(vbif))\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
2292+/* { dg-final { scan-assembler "((vbsl)|(vbit)|(vbif))\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
2293 /* { dg-final { cleanup-saved-temps } } */
2294
2295=== modified file 'gcc/testsuite/gcc.target/arm/neon/vbslu64.c'
2296--- old/gcc/testsuite/gcc.target/arm/neon/vbslu64.c 2010-07-29 15:38:15 +0000
2297+++ new/gcc/testsuite/gcc.target/arm/neon/vbslu64.c 2010-08-20 13:27:11 +0000
2298@@ -18,5 +18,5 @@
2299 out_uint64x1_t = vbsl_u64 (arg0_uint64x1_t, arg1_uint64x1_t, arg2_uint64x1_t);
2300 }
2301
2302-/* { dg-final { scan-assembler "((vbsl)|(vbit)|(vbif))\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
2303+/* { dg-final { scan-assembler "((vbsl)|(vbit)|(vbif))\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
2304 /* { dg-final { cleanup-saved-temps } } */
2305
2306=== modified file 'gcc/testsuite/gcc.target/arm/neon/vbslu8.c'
2307--- old/gcc/testsuite/gcc.target/arm/neon/vbslu8.c 2010-07-29 15:38:15 +0000
2308+++ new/gcc/testsuite/gcc.target/arm/neon/vbslu8.c 2010-08-20 13:27:11 +0000
2309@@ -18,5 +18,5 @@
2310 out_uint8x8_t = vbsl_u8 (arg0_uint8x8_t, arg1_uint8x8_t, arg2_uint8x8_t);
2311 }
2312
2313-/* { dg-final { scan-assembler "((vbsl)|(vbit)|(vbif))\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
2314+/* { dg-final { scan-assembler "((vbsl)|(vbit)|(vbif))\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
2315 /* { dg-final { cleanup-saved-temps } } */
2316
2317=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcageQf32.c'
2318--- old/gcc/testsuite/gcc.target/arm/neon/vcageQf32.c 2010-07-29 15:38:15 +0000
2319+++ new/gcc/testsuite/gcc.target/arm/neon/vcageQf32.c 2010-08-20 13:27:11 +0000
2320@@ -17,5 +17,5 @@
2321 out_uint32x4_t = vcageq_f32 (arg0_float32x4_t, arg1_float32x4_t);
2322 }
2323
2324-/* { dg-final { scan-assembler "vacge\.f32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
2325+/* { dg-final { scan-assembler "vacge\.f32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
2326 /* { dg-final { cleanup-saved-temps } } */
2327
2328=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcagef32.c'
2329--- old/gcc/testsuite/gcc.target/arm/neon/vcagef32.c 2010-07-29 15:38:15 +0000
2330+++ new/gcc/testsuite/gcc.target/arm/neon/vcagef32.c 2010-08-20 13:27:11 +0000
2331@@ -17,5 +17,5 @@
2332 out_uint32x2_t = vcage_f32 (arg0_float32x2_t, arg1_float32x2_t);
2333 }
2334
2335-/* { dg-final { scan-assembler "vacge\.f32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
2336+/* { dg-final { scan-assembler "vacge\.f32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
2337 /* { dg-final { cleanup-saved-temps } } */
2338
2339=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcagtQf32.c'
2340--- old/gcc/testsuite/gcc.target/arm/neon/vcagtQf32.c 2010-07-29 15:38:15 +0000
2341+++ new/gcc/testsuite/gcc.target/arm/neon/vcagtQf32.c 2010-08-20 13:27:11 +0000
2342@@ -17,5 +17,5 @@
2343 out_uint32x4_t = vcagtq_f32 (arg0_float32x4_t, arg1_float32x4_t);
2344 }
2345
2346-/* { dg-final { scan-assembler "vacgt\.f32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
2347+/* { dg-final { scan-assembler "vacgt\.f32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
2348 /* { dg-final { cleanup-saved-temps } } */
2349
2350=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcagtf32.c'
2351--- old/gcc/testsuite/gcc.target/arm/neon/vcagtf32.c 2010-07-29 15:38:15 +0000
2352+++ new/gcc/testsuite/gcc.target/arm/neon/vcagtf32.c 2010-08-20 13:27:11 +0000
2353@@ -17,5 +17,5 @@
2354 out_uint32x2_t = vcagt_f32 (arg0_float32x2_t, arg1_float32x2_t);
2355 }
2356
2357-/* { dg-final { scan-assembler "vacgt\.f32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
2358+/* { dg-final { scan-assembler "vacgt\.f32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
2359 /* { dg-final { cleanup-saved-temps } } */
2360
2361=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcaleQf32.c'
2362--- old/gcc/testsuite/gcc.target/arm/neon/vcaleQf32.c 2010-07-29 15:38:15 +0000
2363+++ new/gcc/testsuite/gcc.target/arm/neon/vcaleQf32.c 2010-08-20 13:27:11 +0000
2364@@ -17,5 +17,5 @@
2365 out_uint32x4_t = vcaleq_f32 (arg0_float32x4_t, arg1_float32x4_t);
2366 }
2367
2368-/* { dg-final { scan-assembler "vacge\.f32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
2369+/* { dg-final { scan-assembler "vacge\.f32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
2370 /* { dg-final { cleanup-saved-temps } } */
2371
2372=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcalef32.c'
2373--- old/gcc/testsuite/gcc.target/arm/neon/vcalef32.c 2010-07-29 15:38:15 +0000
2374+++ new/gcc/testsuite/gcc.target/arm/neon/vcalef32.c 2010-08-20 13:27:11 +0000
2375@@ -17,5 +17,5 @@
2376 out_uint32x2_t = vcale_f32 (arg0_float32x2_t, arg1_float32x2_t);
2377 }
2378
2379-/* { dg-final { scan-assembler "vacge\.f32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
2380+/* { dg-final { scan-assembler "vacge\.f32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
2381 /* { dg-final { cleanup-saved-temps } } */
2382
2383=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcaltQf32.c'
2384--- old/gcc/testsuite/gcc.target/arm/neon/vcaltQf32.c 2010-07-29 15:38:15 +0000
2385+++ new/gcc/testsuite/gcc.target/arm/neon/vcaltQf32.c 2010-08-20 13:27:11 +0000
2386@@ -17,5 +17,5 @@
2387 out_uint32x4_t = vcaltq_f32 (arg0_float32x4_t, arg1_float32x4_t);
2388 }
2389
2390-/* { dg-final { scan-assembler "vacgt\.f32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
2391+/* { dg-final { scan-assembler "vacgt\.f32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
2392 /* { dg-final { cleanup-saved-temps } } */
2393
2394=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcaltf32.c'
2395--- old/gcc/testsuite/gcc.target/arm/neon/vcaltf32.c 2010-07-29 15:38:15 +0000
2396+++ new/gcc/testsuite/gcc.target/arm/neon/vcaltf32.c 2010-08-20 13:27:11 +0000
2397@@ -17,5 +17,5 @@
2398 out_uint32x2_t = vcalt_f32 (arg0_float32x2_t, arg1_float32x2_t);
2399 }
2400
2401-/* { dg-final { scan-assembler "vacgt\.f32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
2402+/* { dg-final { scan-assembler "vacgt\.f32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
2403 /* { dg-final { cleanup-saved-temps } } */
2404
2405=== modified file 'gcc/testsuite/gcc.target/arm/neon/vceqQf32.c'
2406--- old/gcc/testsuite/gcc.target/arm/neon/vceqQf32.c 2010-07-29 15:38:15 +0000
2407+++ new/gcc/testsuite/gcc.target/arm/neon/vceqQf32.c 2010-08-20 13:27:11 +0000
2408@@ -17,5 +17,5 @@
2409 out_uint32x4_t = vceqq_f32 (arg0_float32x4_t, arg1_float32x4_t);
2410 }
2411
2412-/* { dg-final { scan-assembler "vceq\.f32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
2413+/* { dg-final { scan-assembler "vceq\.f32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
2414 /* { dg-final { cleanup-saved-temps } } */
2415
2416=== modified file 'gcc/testsuite/gcc.target/arm/neon/vceqQp8.c'
2417--- old/gcc/testsuite/gcc.target/arm/neon/vceqQp8.c 2010-07-29 15:38:15 +0000
2418+++ new/gcc/testsuite/gcc.target/arm/neon/vceqQp8.c 2010-08-20 13:27:11 +0000
2419@@ -17,5 +17,5 @@
2420 out_uint8x16_t = vceqq_p8 (arg0_poly8x16_t, arg1_poly8x16_t);
2421 }
2422
2423-/* { dg-final { scan-assembler "vceq\.i8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
2424+/* { dg-final { scan-assembler "vceq\.i8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
2425 /* { dg-final { cleanup-saved-temps } } */
2426
2427=== modified file 'gcc/testsuite/gcc.target/arm/neon/vceqQs16.c'
2428--- old/gcc/testsuite/gcc.target/arm/neon/vceqQs16.c 2010-07-29 15:38:15 +0000
2429+++ new/gcc/testsuite/gcc.target/arm/neon/vceqQs16.c 2010-08-20 13:27:11 +0000
2430@@ -17,5 +17,5 @@
2431 out_uint16x8_t = vceqq_s16 (arg0_int16x8_t, arg1_int16x8_t);
2432 }
2433
2434-/* { dg-final { scan-assembler "vceq\.i16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
2435+/* { dg-final { scan-assembler "vceq\.i16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
2436 /* { dg-final { cleanup-saved-temps } } */
2437
2438=== modified file 'gcc/testsuite/gcc.target/arm/neon/vceqQs32.c'
2439--- old/gcc/testsuite/gcc.target/arm/neon/vceqQs32.c 2010-07-29 15:38:15 +0000
2440+++ new/gcc/testsuite/gcc.target/arm/neon/vceqQs32.c 2010-08-20 13:27:11 +0000
2441@@ -17,5 +17,5 @@
2442 out_uint32x4_t = vceqq_s32 (arg0_int32x4_t, arg1_int32x4_t);
2443 }
2444
2445-/* { dg-final { scan-assembler "vceq\.i32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
2446+/* { dg-final { scan-assembler "vceq\.i32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
2447 /* { dg-final { cleanup-saved-temps } } */
2448
2449=== modified file 'gcc/testsuite/gcc.target/arm/neon/vceqQs8.c'
2450--- old/gcc/testsuite/gcc.target/arm/neon/vceqQs8.c 2010-07-29 15:38:15 +0000
2451+++ new/gcc/testsuite/gcc.target/arm/neon/vceqQs8.c 2010-08-20 13:27:11 +0000
2452@@ -17,5 +17,5 @@
2453 out_uint8x16_t = vceqq_s8 (arg0_int8x16_t, arg1_int8x16_t);
2454 }
2455
2456-/* { dg-final { scan-assembler "vceq\.i8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
2457+/* { dg-final { scan-assembler "vceq\.i8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
2458 /* { dg-final { cleanup-saved-temps } } */
2459
2460=== modified file 'gcc/testsuite/gcc.target/arm/neon/vceqQu16.c'
2461--- old/gcc/testsuite/gcc.target/arm/neon/vceqQu16.c 2010-07-29 15:38:15 +0000
2462+++ new/gcc/testsuite/gcc.target/arm/neon/vceqQu16.c 2010-08-20 13:27:11 +0000
2463@@ -17,5 +17,5 @@
2464 out_uint16x8_t = vceqq_u16 (arg0_uint16x8_t, arg1_uint16x8_t);
2465 }
2466
2467-/* { dg-final { scan-assembler "vceq\.i16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
2468+/* { dg-final { scan-assembler "vceq\.i16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
2469 /* { dg-final { cleanup-saved-temps } } */
2470
2471=== modified file 'gcc/testsuite/gcc.target/arm/neon/vceqQu32.c'
2472--- old/gcc/testsuite/gcc.target/arm/neon/vceqQu32.c 2010-07-29 15:38:15 +0000
2473+++ new/gcc/testsuite/gcc.target/arm/neon/vceqQu32.c 2010-08-20 13:27:11 +0000
2474@@ -17,5 +17,5 @@
2475 out_uint32x4_t = vceqq_u32 (arg0_uint32x4_t, arg1_uint32x4_t);
2476 }
2477
2478-/* { dg-final { scan-assembler "vceq\.i32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
2479+/* { dg-final { scan-assembler "vceq\.i32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
2480 /* { dg-final { cleanup-saved-temps } } */
2481
2482=== modified file 'gcc/testsuite/gcc.target/arm/neon/vceqQu8.c'
2483--- old/gcc/testsuite/gcc.target/arm/neon/vceqQu8.c 2010-07-29 15:38:15 +0000
2484+++ new/gcc/testsuite/gcc.target/arm/neon/vceqQu8.c 2010-08-20 13:27:11 +0000
2485@@ -17,5 +17,5 @@
2486 out_uint8x16_t = vceqq_u8 (arg0_uint8x16_t, arg1_uint8x16_t);
2487 }
2488
2489-/* { dg-final { scan-assembler "vceq\.i8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
2490+/* { dg-final { scan-assembler "vceq\.i8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
2491 /* { dg-final { cleanup-saved-temps } } */
2492
2493=== modified file 'gcc/testsuite/gcc.target/arm/neon/vceqf32.c'
2494--- old/gcc/testsuite/gcc.target/arm/neon/vceqf32.c 2010-07-29 15:38:15 +0000
2495+++ new/gcc/testsuite/gcc.target/arm/neon/vceqf32.c 2010-08-20 13:27:11 +0000
2496@@ -17,5 +17,5 @@
2497 out_uint32x2_t = vceq_f32 (arg0_float32x2_t, arg1_float32x2_t);
2498 }
2499
2500-/* { dg-final { scan-assembler "vceq\.f32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
2501+/* { dg-final { scan-assembler "vceq\.f32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
2502 /* { dg-final { cleanup-saved-temps } } */
2503
2504=== modified file 'gcc/testsuite/gcc.target/arm/neon/vceqp8.c'
2505--- old/gcc/testsuite/gcc.target/arm/neon/vceqp8.c 2010-07-29 15:38:15 +0000
2506+++ new/gcc/testsuite/gcc.target/arm/neon/vceqp8.c 2010-08-20 13:27:11 +0000
2507@@ -17,5 +17,5 @@
2508 out_uint8x8_t = vceq_p8 (arg0_poly8x8_t, arg1_poly8x8_t);
2509 }
2510
2511-/* { dg-final { scan-assembler "vceq\.i8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
2512+/* { dg-final { scan-assembler "vceq\.i8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
2513 /* { dg-final { cleanup-saved-temps } } */
2514
2515=== modified file 'gcc/testsuite/gcc.target/arm/neon/vceqs16.c'
2516--- old/gcc/testsuite/gcc.target/arm/neon/vceqs16.c 2010-07-29 15:38:15 +0000
2517+++ new/gcc/testsuite/gcc.target/arm/neon/vceqs16.c 2010-08-20 13:27:11 +0000
2518@@ -17,5 +17,5 @@
2519 out_uint16x4_t = vceq_s16 (arg0_int16x4_t, arg1_int16x4_t);
2520 }
2521
2522-/* { dg-final { scan-assembler "vceq\.i16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
2523+/* { dg-final { scan-assembler "vceq\.i16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
2524 /* { dg-final { cleanup-saved-temps } } */
2525
2526=== modified file 'gcc/testsuite/gcc.target/arm/neon/vceqs32.c'
2527--- old/gcc/testsuite/gcc.target/arm/neon/vceqs32.c 2010-07-29 15:38:15 +0000
2528+++ new/gcc/testsuite/gcc.target/arm/neon/vceqs32.c 2010-08-20 13:27:11 +0000
2529@@ -17,5 +17,5 @@
2530 out_uint32x2_t = vceq_s32 (arg0_int32x2_t, arg1_int32x2_t);
2531 }
2532
2533-/* { dg-final { scan-assembler "vceq\.i32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
2534+/* { dg-final { scan-assembler "vceq\.i32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
2535 /* { dg-final { cleanup-saved-temps } } */
2536
2537=== modified file 'gcc/testsuite/gcc.target/arm/neon/vceqs8.c'
2538--- old/gcc/testsuite/gcc.target/arm/neon/vceqs8.c 2010-07-29 15:38:15 +0000
2539+++ new/gcc/testsuite/gcc.target/arm/neon/vceqs8.c 2010-08-20 13:27:11 +0000
2540@@ -17,5 +17,5 @@
2541 out_uint8x8_t = vceq_s8 (arg0_int8x8_t, arg1_int8x8_t);
2542 }
2543
2544-/* { dg-final { scan-assembler "vceq\.i8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
2545+/* { dg-final { scan-assembler "vceq\.i8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
2546 /* { dg-final { cleanup-saved-temps } } */
2547
2548=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcequ16.c'
2549--- old/gcc/testsuite/gcc.target/arm/neon/vcequ16.c 2010-07-29 15:38:15 +0000
2550+++ new/gcc/testsuite/gcc.target/arm/neon/vcequ16.c 2010-08-20 13:27:11 +0000
2551@@ -17,5 +17,5 @@
2552 out_uint16x4_t = vceq_u16 (arg0_uint16x4_t, arg1_uint16x4_t);
2553 }
2554
2555-/* { dg-final { scan-assembler "vceq\.i16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
2556+/* { dg-final { scan-assembler "vceq\.i16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
2557 /* { dg-final { cleanup-saved-temps } } */
2558
2559=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcequ32.c'
2560--- old/gcc/testsuite/gcc.target/arm/neon/vcequ32.c 2010-07-29 15:38:15 +0000
2561+++ new/gcc/testsuite/gcc.target/arm/neon/vcequ32.c 2010-08-20 13:27:11 +0000
2562@@ -17,5 +17,5 @@
2563 out_uint32x2_t = vceq_u32 (arg0_uint32x2_t, arg1_uint32x2_t);
2564 }
2565
2566-/* { dg-final { scan-assembler "vceq\.i32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
2567+/* { dg-final { scan-assembler "vceq\.i32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
2568 /* { dg-final { cleanup-saved-temps } } */
2569
2570=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcequ8.c'
2571--- old/gcc/testsuite/gcc.target/arm/neon/vcequ8.c 2010-07-29 15:38:15 +0000
2572+++ new/gcc/testsuite/gcc.target/arm/neon/vcequ8.c 2010-08-20 13:27:11 +0000
2573@@ -17,5 +17,5 @@
2574 out_uint8x8_t = vceq_u8 (arg0_uint8x8_t, arg1_uint8x8_t);
2575 }
2576
2577-/* { dg-final { scan-assembler "vceq\.i8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
2578+/* { dg-final { scan-assembler "vceq\.i8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
2579 /* { dg-final { cleanup-saved-temps } } */
2580
2581=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcgeQf32.c'
2582--- old/gcc/testsuite/gcc.target/arm/neon/vcgeQf32.c 2010-07-29 15:38:15 +0000
2583+++ new/gcc/testsuite/gcc.target/arm/neon/vcgeQf32.c 2010-08-20 13:27:11 +0000
2584@@ -17,5 +17,5 @@
2585 out_uint32x4_t = vcgeq_f32 (arg0_float32x4_t, arg1_float32x4_t);
2586 }
2587
2588-/* { dg-final { scan-assembler "vcge\.f32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
2589+/* { dg-final { scan-assembler "vcge\.f32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
2590 /* { dg-final { cleanup-saved-temps } } */
2591
2592=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcgeQs16.c'
2593--- old/gcc/testsuite/gcc.target/arm/neon/vcgeQs16.c 2010-07-29 15:38:15 +0000
2594+++ new/gcc/testsuite/gcc.target/arm/neon/vcgeQs16.c 2010-08-20 13:27:11 +0000
2595@@ -17,5 +17,5 @@
2596 out_uint16x8_t = vcgeq_s16 (arg0_int16x8_t, arg1_int16x8_t);
2597 }
2598
2599-/* { dg-final { scan-assembler "vcge\.s16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
2600+/* { dg-final { scan-assembler "vcge\.s16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
2601 /* { dg-final { cleanup-saved-temps } } */
2602
2603=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcgeQs32.c'
2604--- old/gcc/testsuite/gcc.target/arm/neon/vcgeQs32.c 2010-07-29 15:38:15 +0000
2605+++ new/gcc/testsuite/gcc.target/arm/neon/vcgeQs32.c 2010-08-20 13:27:11 +0000
2606@@ -17,5 +17,5 @@
2607 out_uint32x4_t = vcgeq_s32 (arg0_int32x4_t, arg1_int32x4_t);
2608 }
2609
2610-/* { dg-final { scan-assembler "vcge\.s32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
2611+/* { dg-final { scan-assembler "vcge\.s32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
2612 /* { dg-final { cleanup-saved-temps } } */
2613
2614=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcgeQs8.c'
2615--- old/gcc/testsuite/gcc.target/arm/neon/vcgeQs8.c 2010-07-29 15:38:15 +0000
2616+++ new/gcc/testsuite/gcc.target/arm/neon/vcgeQs8.c 2010-08-20 13:27:11 +0000
2617@@ -17,5 +17,5 @@
2618 out_uint8x16_t = vcgeq_s8 (arg0_int8x16_t, arg1_int8x16_t);
2619 }
2620
2621-/* { dg-final { scan-assembler "vcge\.s8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
2622+/* { dg-final { scan-assembler "vcge\.s8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
2623 /* { dg-final { cleanup-saved-temps } } */
2624
2625=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcgeQu16.c'
2626--- old/gcc/testsuite/gcc.target/arm/neon/vcgeQu16.c 2010-07-29 15:38:15 +0000
2627+++ new/gcc/testsuite/gcc.target/arm/neon/vcgeQu16.c 2010-08-20 13:27:11 +0000
2628@@ -17,5 +17,5 @@
2629 out_uint16x8_t = vcgeq_u16 (arg0_uint16x8_t, arg1_uint16x8_t);
2630 }
2631
2632-/* { dg-final { scan-assembler "vcge\.u16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
2633+/* { dg-final { scan-assembler "vcge\.u16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
2634 /* { dg-final { cleanup-saved-temps } } */
2635
2636=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcgeQu32.c'
2637--- old/gcc/testsuite/gcc.target/arm/neon/vcgeQu32.c 2010-07-29 15:38:15 +0000
2638+++ new/gcc/testsuite/gcc.target/arm/neon/vcgeQu32.c 2010-08-20 13:27:11 +0000
2639@@ -17,5 +17,5 @@
2640 out_uint32x4_t = vcgeq_u32 (arg0_uint32x4_t, arg1_uint32x4_t);
2641 }
2642
2643-/* { dg-final { scan-assembler "vcge\.u32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
2644+/* { dg-final { scan-assembler "vcge\.u32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
2645 /* { dg-final { cleanup-saved-temps } } */
2646
2647=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcgeQu8.c'
2648--- old/gcc/testsuite/gcc.target/arm/neon/vcgeQu8.c 2010-07-29 15:38:15 +0000
2649+++ new/gcc/testsuite/gcc.target/arm/neon/vcgeQu8.c 2010-08-20 13:27:11 +0000
2650@@ -17,5 +17,5 @@
2651 out_uint8x16_t = vcgeq_u8 (arg0_uint8x16_t, arg1_uint8x16_t);
2652 }
2653
2654-/* { dg-final { scan-assembler "vcge\.u8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
2655+/* { dg-final { scan-assembler "vcge\.u8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
2656 /* { dg-final { cleanup-saved-temps } } */
2657
2658=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcgef32.c'
2659--- old/gcc/testsuite/gcc.target/arm/neon/vcgef32.c 2010-07-29 15:38:15 +0000
2660+++ new/gcc/testsuite/gcc.target/arm/neon/vcgef32.c 2010-08-20 13:27:11 +0000
2661@@ -17,5 +17,5 @@
2662 out_uint32x2_t = vcge_f32 (arg0_float32x2_t, arg1_float32x2_t);
2663 }
2664
2665-/* { dg-final { scan-assembler "vcge\.f32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
2666+/* { dg-final { scan-assembler "vcge\.f32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
2667 /* { dg-final { cleanup-saved-temps } } */
2668
2669=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcges16.c'
2670--- old/gcc/testsuite/gcc.target/arm/neon/vcges16.c 2010-07-29 15:38:15 +0000
2671+++ new/gcc/testsuite/gcc.target/arm/neon/vcges16.c 2010-08-20 13:27:11 +0000
2672@@ -17,5 +17,5 @@
2673 out_uint16x4_t = vcge_s16 (arg0_int16x4_t, arg1_int16x4_t);
2674 }
2675
2676-/* { dg-final { scan-assembler "vcge\.s16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
2677+/* { dg-final { scan-assembler "vcge\.s16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
2678 /* { dg-final { cleanup-saved-temps } } */
2679
2680=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcges32.c'
2681--- old/gcc/testsuite/gcc.target/arm/neon/vcges32.c 2010-07-29 15:38:15 +0000
2682+++ new/gcc/testsuite/gcc.target/arm/neon/vcges32.c 2010-08-20 13:27:11 +0000
2683@@ -17,5 +17,5 @@
2684 out_uint32x2_t = vcge_s32 (arg0_int32x2_t, arg1_int32x2_t);
2685 }
2686
2687-/* { dg-final { scan-assembler "vcge\.s32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
2688+/* { dg-final { scan-assembler "vcge\.s32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
2689 /* { dg-final { cleanup-saved-temps } } */
2690
2691=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcges8.c'
2692--- old/gcc/testsuite/gcc.target/arm/neon/vcges8.c 2010-07-29 15:38:15 +0000
2693+++ new/gcc/testsuite/gcc.target/arm/neon/vcges8.c 2010-08-20 13:27:11 +0000
2694@@ -17,5 +17,5 @@
2695 out_uint8x8_t = vcge_s8 (arg0_int8x8_t, arg1_int8x8_t);
2696 }
2697
2698-/* { dg-final { scan-assembler "vcge\.s8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
2699+/* { dg-final { scan-assembler "vcge\.s8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
2700 /* { dg-final { cleanup-saved-temps } } */
2701
2702=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcgeu16.c'
2703--- old/gcc/testsuite/gcc.target/arm/neon/vcgeu16.c 2010-07-29 15:38:15 +0000
2704+++ new/gcc/testsuite/gcc.target/arm/neon/vcgeu16.c 2010-08-20 13:27:11 +0000
2705@@ -17,5 +17,5 @@
2706 out_uint16x4_t = vcge_u16 (arg0_uint16x4_t, arg1_uint16x4_t);
2707 }
2708
2709-/* { dg-final { scan-assembler "vcge\.u16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
2710+/* { dg-final { scan-assembler "vcge\.u16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
2711 /* { dg-final { cleanup-saved-temps } } */
2712
2713=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcgeu32.c'
2714--- old/gcc/testsuite/gcc.target/arm/neon/vcgeu32.c 2010-07-29 15:38:15 +0000
2715+++ new/gcc/testsuite/gcc.target/arm/neon/vcgeu32.c 2010-08-20 13:27:11 +0000
2716@@ -17,5 +17,5 @@
2717 out_uint32x2_t = vcge_u32 (arg0_uint32x2_t, arg1_uint32x2_t);
2718 }
2719
2720-/* { dg-final { scan-assembler "vcge\.u32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
2721+/* { dg-final { scan-assembler "vcge\.u32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
2722 /* { dg-final { cleanup-saved-temps } } */
2723
2724=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcgeu8.c'
2725--- old/gcc/testsuite/gcc.target/arm/neon/vcgeu8.c 2010-07-29 15:38:15 +0000
2726+++ new/gcc/testsuite/gcc.target/arm/neon/vcgeu8.c 2010-08-20 13:27:11 +0000
2727@@ -17,5 +17,5 @@
2728 out_uint8x8_t = vcge_u8 (arg0_uint8x8_t, arg1_uint8x8_t);
2729 }
2730
2731-/* { dg-final { scan-assembler "vcge\.u8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
2732+/* { dg-final { scan-assembler "vcge\.u8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
2733 /* { dg-final { cleanup-saved-temps } } */
2734
2735=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcgtQf32.c'
2736--- old/gcc/testsuite/gcc.target/arm/neon/vcgtQf32.c 2010-07-29 15:38:15 +0000
2737+++ new/gcc/testsuite/gcc.target/arm/neon/vcgtQf32.c 2010-08-20 13:27:11 +0000
2738@@ -17,5 +17,5 @@
2739 out_uint32x4_t = vcgtq_f32 (arg0_float32x4_t, arg1_float32x4_t);
2740 }
2741
2742-/* { dg-final { scan-assembler "vcgt\.f32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
2743+/* { dg-final { scan-assembler "vcgt\.f32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
2744 /* { dg-final { cleanup-saved-temps } } */
2745
2746=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcgtQs16.c'
2747--- old/gcc/testsuite/gcc.target/arm/neon/vcgtQs16.c 2010-07-29 15:38:15 +0000
2748+++ new/gcc/testsuite/gcc.target/arm/neon/vcgtQs16.c 2010-08-20 13:27:11 +0000
2749@@ -17,5 +17,5 @@
2750 out_uint16x8_t = vcgtq_s16 (arg0_int16x8_t, arg1_int16x8_t);
2751 }
2752
2753-/* { dg-final { scan-assembler "vcgt\.s16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
2754+/* { dg-final { scan-assembler "vcgt\.s16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
2755 /* { dg-final { cleanup-saved-temps } } */
2756
2757=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcgtQs32.c'
2758--- old/gcc/testsuite/gcc.target/arm/neon/vcgtQs32.c 2010-07-29 15:38:15 +0000
2759+++ new/gcc/testsuite/gcc.target/arm/neon/vcgtQs32.c 2010-08-20 13:27:11 +0000
2760@@ -17,5 +17,5 @@
2761 out_uint32x4_t = vcgtq_s32 (arg0_int32x4_t, arg1_int32x4_t);
2762 }
2763
2764-/* { dg-final { scan-assembler "vcgt\.s32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
2765+/* { dg-final { scan-assembler "vcgt\.s32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
2766 /* { dg-final { cleanup-saved-temps } } */
2767
2768=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcgtQs8.c'
2769--- old/gcc/testsuite/gcc.target/arm/neon/vcgtQs8.c 2010-07-29 15:38:15 +0000
2770+++ new/gcc/testsuite/gcc.target/arm/neon/vcgtQs8.c 2010-08-20 13:27:11 +0000
2771@@ -17,5 +17,5 @@
2772 out_uint8x16_t = vcgtq_s8 (arg0_int8x16_t, arg1_int8x16_t);
2773 }
2774
2775-/* { dg-final { scan-assembler "vcgt\.s8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
2776+/* { dg-final { scan-assembler "vcgt\.s8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
2777 /* { dg-final { cleanup-saved-temps } } */
2778
2779=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcgtQu16.c'
2780--- old/gcc/testsuite/gcc.target/arm/neon/vcgtQu16.c 2010-07-29 15:38:15 +0000
2781+++ new/gcc/testsuite/gcc.target/arm/neon/vcgtQu16.c 2010-08-20 13:27:11 +0000
2782@@ -17,5 +17,5 @@
2783 out_uint16x8_t = vcgtq_u16 (arg0_uint16x8_t, arg1_uint16x8_t);
2784 }
2785
2786-/* { dg-final { scan-assembler "vcgt\.u16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
2787+/* { dg-final { scan-assembler "vcgt\.u16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
2788 /* { dg-final { cleanup-saved-temps } } */
2789
2790=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcgtQu32.c'
2791--- old/gcc/testsuite/gcc.target/arm/neon/vcgtQu32.c 2010-07-29 15:38:15 +0000
2792+++ new/gcc/testsuite/gcc.target/arm/neon/vcgtQu32.c 2010-08-20 13:27:11 +0000
2793@@ -17,5 +17,5 @@
2794 out_uint32x4_t = vcgtq_u32 (arg0_uint32x4_t, arg1_uint32x4_t);
2795 }
2796
2797-/* { dg-final { scan-assembler "vcgt\.u32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
2798+/* { dg-final { scan-assembler "vcgt\.u32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
2799 /* { dg-final { cleanup-saved-temps } } */
2800
2801=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcgtQu8.c'
2802--- old/gcc/testsuite/gcc.target/arm/neon/vcgtQu8.c 2010-07-29 15:38:15 +0000
2803+++ new/gcc/testsuite/gcc.target/arm/neon/vcgtQu8.c 2010-08-20 13:27:11 +0000
2804@@ -17,5 +17,5 @@
2805 out_uint8x16_t = vcgtq_u8 (arg0_uint8x16_t, arg1_uint8x16_t);
2806 }
2807
2808-/* { dg-final { scan-assembler "vcgt\.u8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
2809+/* { dg-final { scan-assembler "vcgt\.u8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
2810 /* { dg-final { cleanup-saved-temps } } */
2811
2812=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcgtf32.c'
2813--- old/gcc/testsuite/gcc.target/arm/neon/vcgtf32.c 2010-07-29 15:38:15 +0000
2814+++ new/gcc/testsuite/gcc.target/arm/neon/vcgtf32.c 2010-08-20 13:27:11 +0000
2815@@ -17,5 +17,5 @@
2816 out_uint32x2_t = vcgt_f32 (arg0_float32x2_t, arg1_float32x2_t);
2817 }
2818
2819-/* { dg-final { scan-assembler "vcgt\.f32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
2820+/* { dg-final { scan-assembler "vcgt\.f32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
2821 /* { dg-final { cleanup-saved-temps } } */
2822
2823=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcgts16.c'
2824--- old/gcc/testsuite/gcc.target/arm/neon/vcgts16.c 2010-07-29 15:38:15 +0000
2825+++ new/gcc/testsuite/gcc.target/arm/neon/vcgts16.c 2010-08-20 13:27:11 +0000
2826@@ -17,5 +17,5 @@
2827 out_uint16x4_t = vcgt_s16 (arg0_int16x4_t, arg1_int16x4_t);
2828 }
2829
2830-/* { dg-final { scan-assembler "vcgt\.s16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
2831+/* { dg-final { scan-assembler "vcgt\.s16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
2832 /* { dg-final { cleanup-saved-temps } } */
2833
2834=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcgts32.c'
2835--- old/gcc/testsuite/gcc.target/arm/neon/vcgts32.c 2010-07-29 15:38:15 +0000
2836+++ new/gcc/testsuite/gcc.target/arm/neon/vcgts32.c 2010-08-20 13:27:11 +0000
2837@@ -17,5 +17,5 @@
2838 out_uint32x2_t = vcgt_s32 (arg0_int32x2_t, arg1_int32x2_t);
2839 }
2840
2841-/* { dg-final { scan-assembler "vcgt\.s32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
2842+/* { dg-final { scan-assembler "vcgt\.s32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
2843 /* { dg-final { cleanup-saved-temps } } */
2844
2845=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcgts8.c'
2846--- old/gcc/testsuite/gcc.target/arm/neon/vcgts8.c 2010-07-29 15:38:15 +0000
2847+++ new/gcc/testsuite/gcc.target/arm/neon/vcgts8.c 2010-08-20 13:27:11 +0000
2848@@ -17,5 +17,5 @@
2849 out_uint8x8_t = vcgt_s8 (arg0_int8x8_t, arg1_int8x8_t);
2850 }
2851
2852-/* { dg-final { scan-assembler "vcgt\.s8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
2853+/* { dg-final { scan-assembler "vcgt\.s8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
2854 /* { dg-final { cleanup-saved-temps } } */
2855
2856=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcgtu16.c'
2857--- old/gcc/testsuite/gcc.target/arm/neon/vcgtu16.c 2010-07-29 15:38:15 +0000
2858+++ new/gcc/testsuite/gcc.target/arm/neon/vcgtu16.c 2010-08-20 13:27:11 +0000
2859@@ -17,5 +17,5 @@
2860 out_uint16x4_t = vcgt_u16 (arg0_uint16x4_t, arg1_uint16x4_t);
2861 }
2862
2863-/* { dg-final { scan-assembler "vcgt\.u16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
2864+/* { dg-final { scan-assembler "vcgt\.u16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
2865 /* { dg-final { cleanup-saved-temps } } */
2866
2867=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcgtu32.c'
2868--- old/gcc/testsuite/gcc.target/arm/neon/vcgtu32.c 2010-07-29 15:38:15 +0000
2869+++ new/gcc/testsuite/gcc.target/arm/neon/vcgtu32.c 2010-08-20 13:27:11 +0000
2870@@ -17,5 +17,5 @@
2871 out_uint32x2_t = vcgt_u32 (arg0_uint32x2_t, arg1_uint32x2_t);
2872 }
2873
2874-/* { dg-final { scan-assembler "vcgt\.u32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
2875+/* { dg-final { scan-assembler "vcgt\.u32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
2876 /* { dg-final { cleanup-saved-temps } } */
2877
2878=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcgtu8.c'
2879--- old/gcc/testsuite/gcc.target/arm/neon/vcgtu8.c 2010-07-29 15:38:15 +0000
2880+++ new/gcc/testsuite/gcc.target/arm/neon/vcgtu8.c 2010-08-20 13:27:11 +0000
2881@@ -17,5 +17,5 @@
2882 out_uint8x8_t = vcgt_u8 (arg0_uint8x8_t, arg1_uint8x8_t);
2883 }
2884
2885-/* { dg-final { scan-assembler "vcgt\.u8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
2886+/* { dg-final { scan-assembler "vcgt\.u8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
2887 /* { dg-final { cleanup-saved-temps } } */
2888
2889=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcleQf32.c'
2890--- old/gcc/testsuite/gcc.target/arm/neon/vcleQf32.c 2010-07-29 15:38:15 +0000
2891+++ new/gcc/testsuite/gcc.target/arm/neon/vcleQf32.c 2010-08-20 13:27:11 +0000
2892@@ -17,5 +17,5 @@
2893 out_uint32x4_t = vcleq_f32 (arg0_float32x4_t, arg1_float32x4_t);
2894 }
2895
2896-/* { dg-final { scan-assembler "vcge\.f32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
2897+/* { dg-final { scan-assembler "vcge\.f32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
2898 /* { dg-final { cleanup-saved-temps } } */
2899
2900=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcleQs16.c'
2901--- old/gcc/testsuite/gcc.target/arm/neon/vcleQs16.c 2010-07-29 15:38:15 +0000
2902+++ new/gcc/testsuite/gcc.target/arm/neon/vcleQs16.c 2010-08-20 13:27:11 +0000
2903@@ -17,5 +17,5 @@
2904 out_uint16x8_t = vcleq_s16 (arg0_int16x8_t, arg1_int16x8_t);
2905 }
2906
2907-/* { dg-final { scan-assembler "vcge\.s16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
2908+/* { dg-final { scan-assembler "vcge\.s16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
2909 /* { dg-final { cleanup-saved-temps } } */
2910
2911=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcleQs32.c'
2912--- old/gcc/testsuite/gcc.target/arm/neon/vcleQs32.c 2010-07-29 15:38:15 +0000
2913+++ new/gcc/testsuite/gcc.target/arm/neon/vcleQs32.c 2010-08-20 13:27:11 +0000
2914@@ -17,5 +17,5 @@
2915 out_uint32x4_t = vcleq_s32 (arg0_int32x4_t, arg1_int32x4_t);
2916 }
2917
2918-/* { dg-final { scan-assembler "vcge\.s32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
2919+/* { dg-final { scan-assembler "vcge\.s32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
2920 /* { dg-final { cleanup-saved-temps } } */
2921
2922=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcleQs8.c'
2923--- old/gcc/testsuite/gcc.target/arm/neon/vcleQs8.c 2010-07-29 15:38:15 +0000
2924+++ new/gcc/testsuite/gcc.target/arm/neon/vcleQs8.c 2010-08-20 13:27:11 +0000
2925@@ -17,5 +17,5 @@
2926 out_uint8x16_t = vcleq_s8 (arg0_int8x16_t, arg1_int8x16_t);
2927 }
2928
2929-/* { dg-final { scan-assembler "vcge\.s8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
2930+/* { dg-final { scan-assembler "vcge\.s8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
2931 /* { dg-final { cleanup-saved-temps } } */
2932
2933=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcleQu16.c'
2934--- old/gcc/testsuite/gcc.target/arm/neon/vcleQu16.c 2010-07-29 15:38:15 +0000
2935+++ new/gcc/testsuite/gcc.target/arm/neon/vcleQu16.c 2010-08-20 13:27:11 +0000
2936@@ -17,5 +17,5 @@
2937 out_uint16x8_t = vcleq_u16 (arg0_uint16x8_t, arg1_uint16x8_t);
2938 }
2939
2940-/* { dg-final { scan-assembler "vcge\.u16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
2941+/* { dg-final { scan-assembler "vcge\.u16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
2942 /* { dg-final { cleanup-saved-temps } } */
2943
2944=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcleQu32.c'
2945--- old/gcc/testsuite/gcc.target/arm/neon/vcleQu32.c 2010-07-29 15:38:15 +0000
2946+++ new/gcc/testsuite/gcc.target/arm/neon/vcleQu32.c 2010-08-20 13:27:11 +0000
2947@@ -17,5 +17,5 @@
2948 out_uint32x4_t = vcleq_u32 (arg0_uint32x4_t, arg1_uint32x4_t);
2949 }
2950
2951-/* { dg-final { scan-assembler "vcge\.u32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
2952+/* { dg-final { scan-assembler "vcge\.u32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
2953 /* { dg-final { cleanup-saved-temps } } */
2954
2955=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcleQu8.c'
2956--- old/gcc/testsuite/gcc.target/arm/neon/vcleQu8.c 2010-07-29 15:38:15 +0000
2957+++ new/gcc/testsuite/gcc.target/arm/neon/vcleQu8.c 2010-08-20 13:27:11 +0000
2958@@ -17,5 +17,5 @@
2959 out_uint8x16_t = vcleq_u8 (arg0_uint8x16_t, arg1_uint8x16_t);
2960 }
2961
2962-/* { dg-final { scan-assembler "vcge\.u8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
2963+/* { dg-final { scan-assembler "vcge\.u8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
2964 /* { dg-final { cleanup-saved-temps } } */
2965
2966=== modified file 'gcc/testsuite/gcc.target/arm/neon/vclef32.c'
2967--- old/gcc/testsuite/gcc.target/arm/neon/vclef32.c 2010-07-29 15:38:15 +0000
2968+++ new/gcc/testsuite/gcc.target/arm/neon/vclef32.c 2010-08-20 13:27:11 +0000
2969@@ -17,5 +17,5 @@
2970 out_uint32x2_t = vcle_f32 (arg0_float32x2_t, arg1_float32x2_t);
2971 }
2972
2973-/* { dg-final { scan-assembler "vcge\.f32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
2974+/* { dg-final { scan-assembler "vcge\.f32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
2975 /* { dg-final { cleanup-saved-temps } } */
2976
2977=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcles16.c'
2978--- old/gcc/testsuite/gcc.target/arm/neon/vcles16.c 2010-07-29 15:38:15 +0000
2979+++ new/gcc/testsuite/gcc.target/arm/neon/vcles16.c 2010-08-20 13:27:11 +0000
2980@@ -17,5 +17,5 @@
2981 out_uint16x4_t = vcle_s16 (arg0_int16x4_t, arg1_int16x4_t);
2982 }
2983
2984-/* { dg-final { scan-assembler "vcge\.s16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
2985+/* { dg-final { scan-assembler "vcge\.s16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
2986 /* { dg-final { cleanup-saved-temps } } */
2987
2988=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcles32.c'
2989--- old/gcc/testsuite/gcc.target/arm/neon/vcles32.c 2010-07-29 15:38:15 +0000
2990+++ new/gcc/testsuite/gcc.target/arm/neon/vcles32.c 2010-08-20 13:27:11 +0000
2991@@ -17,5 +17,5 @@
2992 out_uint32x2_t = vcle_s32 (arg0_int32x2_t, arg1_int32x2_t);
2993 }
2994
2995-/* { dg-final { scan-assembler "vcge\.s32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
2996+/* { dg-final { scan-assembler "vcge\.s32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
2997 /* { dg-final { cleanup-saved-temps } } */
2998
2999=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcles8.c'
3000--- old/gcc/testsuite/gcc.target/arm/neon/vcles8.c 2010-07-29 15:38:15 +0000
3001+++ new/gcc/testsuite/gcc.target/arm/neon/vcles8.c 2010-08-20 13:27:11 +0000
3002@@ -17,5 +17,5 @@
3003 out_uint8x8_t = vcle_s8 (arg0_int8x8_t, arg1_int8x8_t);
3004 }
3005
3006-/* { dg-final { scan-assembler "vcge\.s8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
3007+/* { dg-final { scan-assembler "vcge\.s8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
3008 /* { dg-final { cleanup-saved-temps } } */
3009
3010=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcleu16.c'
3011--- old/gcc/testsuite/gcc.target/arm/neon/vcleu16.c 2010-07-29 15:38:15 +0000
3012+++ new/gcc/testsuite/gcc.target/arm/neon/vcleu16.c 2010-08-20 13:27:11 +0000
3013@@ -17,5 +17,5 @@
3014 out_uint16x4_t = vcle_u16 (arg0_uint16x4_t, arg1_uint16x4_t);
3015 }
3016
3017-/* { dg-final { scan-assembler "vcge\.u16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
3018+/* { dg-final { scan-assembler "vcge\.u16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
3019 /* { dg-final { cleanup-saved-temps } } */
3020
3021=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcleu32.c'
3022--- old/gcc/testsuite/gcc.target/arm/neon/vcleu32.c 2010-07-29 15:38:15 +0000
3023+++ new/gcc/testsuite/gcc.target/arm/neon/vcleu32.c 2010-08-20 13:27:11 +0000
3024@@ -17,5 +17,5 @@
3025 out_uint32x2_t = vcle_u32 (arg0_uint32x2_t, arg1_uint32x2_t);
3026 }
3027
3028-/* { dg-final { scan-assembler "vcge\.u32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
3029+/* { dg-final { scan-assembler "vcge\.u32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
3030 /* { dg-final { cleanup-saved-temps } } */
3031
3032=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcleu8.c'
3033--- old/gcc/testsuite/gcc.target/arm/neon/vcleu8.c 2010-07-29 15:38:15 +0000
3034+++ new/gcc/testsuite/gcc.target/arm/neon/vcleu8.c 2010-08-20 13:27:11 +0000
3035@@ -17,5 +17,5 @@
3036 out_uint8x8_t = vcle_u8 (arg0_uint8x8_t, arg1_uint8x8_t);
3037 }
3038
3039-/* { dg-final { scan-assembler "vcge\.u8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
3040+/* { dg-final { scan-assembler "vcge\.u8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
3041 /* { dg-final { cleanup-saved-temps } } */
3042
3043=== modified file 'gcc/testsuite/gcc.target/arm/neon/vclsQs16.c'
3044--- old/gcc/testsuite/gcc.target/arm/neon/vclsQs16.c 2010-07-29 15:38:15 +0000
3045+++ new/gcc/testsuite/gcc.target/arm/neon/vclsQs16.c 2010-08-20 13:27:11 +0000
3046@@ -16,5 +16,5 @@
3047 out_int16x8_t = vclsq_s16 (arg0_int16x8_t);
3048 }
3049
3050-/* { dg-final { scan-assembler "vcls\.s16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
3051+/* { dg-final { scan-assembler "vcls\.s16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
3052 /* { dg-final { cleanup-saved-temps } } */
3053
3054=== modified file 'gcc/testsuite/gcc.target/arm/neon/vclsQs32.c'
3055--- old/gcc/testsuite/gcc.target/arm/neon/vclsQs32.c 2010-07-29 15:38:15 +0000
3056+++ new/gcc/testsuite/gcc.target/arm/neon/vclsQs32.c 2010-08-20 13:27:11 +0000
3057@@ -16,5 +16,5 @@
3058 out_int32x4_t = vclsq_s32 (arg0_int32x4_t);
3059 }
3060
3061-/* { dg-final { scan-assembler "vcls\.s32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
3062+/* { dg-final { scan-assembler "vcls\.s32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
3063 /* { dg-final { cleanup-saved-temps } } */
3064
3065=== modified file 'gcc/testsuite/gcc.target/arm/neon/vclsQs8.c'
3066--- old/gcc/testsuite/gcc.target/arm/neon/vclsQs8.c 2010-07-29 15:38:15 +0000
3067+++ new/gcc/testsuite/gcc.target/arm/neon/vclsQs8.c 2010-08-20 13:27:11 +0000
3068@@ -16,5 +16,5 @@
3069 out_int8x16_t = vclsq_s8 (arg0_int8x16_t);
3070 }
3071
3072-/* { dg-final { scan-assembler "vcls\.s8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
3073+/* { dg-final { scan-assembler "vcls\.s8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
3074 /* { dg-final { cleanup-saved-temps } } */
3075
3076=== modified file 'gcc/testsuite/gcc.target/arm/neon/vclss16.c'
3077--- old/gcc/testsuite/gcc.target/arm/neon/vclss16.c 2010-07-29 15:38:15 +0000
3078+++ new/gcc/testsuite/gcc.target/arm/neon/vclss16.c 2010-08-20 13:27:11 +0000
3079@@ -16,5 +16,5 @@
3080 out_int16x4_t = vcls_s16 (arg0_int16x4_t);
3081 }
3082
3083-/* { dg-final { scan-assembler "vcls\.s16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
3084+/* { dg-final { scan-assembler "vcls\.s16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
3085 /* { dg-final { cleanup-saved-temps } } */
3086
3087=== modified file 'gcc/testsuite/gcc.target/arm/neon/vclss32.c'
3088--- old/gcc/testsuite/gcc.target/arm/neon/vclss32.c 2010-07-29 15:38:15 +0000
3089+++ new/gcc/testsuite/gcc.target/arm/neon/vclss32.c 2010-08-20 13:27:11 +0000
3090@@ -16,5 +16,5 @@
3091 out_int32x2_t = vcls_s32 (arg0_int32x2_t);
3092 }
3093
3094-/* { dg-final { scan-assembler "vcls\.s32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
3095+/* { dg-final { scan-assembler "vcls\.s32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
3096 /* { dg-final { cleanup-saved-temps } } */
3097
3098=== modified file 'gcc/testsuite/gcc.target/arm/neon/vclss8.c'
3099--- old/gcc/testsuite/gcc.target/arm/neon/vclss8.c 2010-07-29 15:38:15 +0000
3100+++ new/gcc/testsuite/gcc.target/arm/neon/vclss8.c 2010-08-20 13:27:11 +0000
3101@@ -16,5 +16,5 @@
3102 out_int8x8_t = vcls_s8 (arg0_int8x8_t);
3103 }
3104
3105-/* { dg-final { scan-assembler "vcls\.s8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
3106+/* { dg-final { scan-assembler "vcls\.s8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
3107 /* { dg-final { cleanup-saved-temps } } */
3108
3109=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcltQf32.c'
3110--- old/gcc/testsuite/gcc.target/arm/neon/vcltQf32.c 2010-07-29 15:38:15 +0000
3111+++ new/gcc/testsuite/gcc.target/arm/neon/vcltQf32.c 2010-08-20 13:27:11 +0000
3112@@ -17,5 +17,5 @@
3113 out_uint32x4_t = vcltq_f32 (arg0_float32x4_t, arg1_float32x4_t);
3114 }
3115
3116-/* { dg-final { scan-assembler "vcgt\.f32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
3117+/* { dg-final { scan-assembler "vcgt\.f32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
3118 /* { dg-final { cleanup-saved-temps } } */
3119
3120=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcltQs16.c'
3121--- old/gcc/testsuite/gcc.target/arm/neon/vcltQs16.c 2010-07-29 15:38:15 +0000
3122+++ new/gcc/testsuite/gcc.target/arm/neon/vcltQs16.c 2010-08-20 13:27:11 +0000
3123@@ -17,5 +17,5 @@
3124 out_uint16x8_t = vcltq_s16 (arg0_int16x8_t, arg1_int16x8_t);
3125 }
3126
3127-/* { dg-final { scan-assembler "vcgt\.s16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
3128+/* { dg-final { scan-assembler "vcgt\.s16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
3129 /* { dg-final { cleanup-saved-temps } } */
3130
3131=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcltQs32.c'
3132--- old/gcc/testsuite/gcc.target/arm/neon/vcltQs32.c 2010-07-29 15:38:15 +0000
3133+++ new/gcc/testsuite/gcc.target/arm/neon/vcltQs32.c 2010-08-20 13:27:11 +0000
3134@@ -17,5 +17,5 @@
3135 out_uint32x4_t = vcltq_s32 (arg0_int32x4_t, arg1_int32x4_t);
3136 }
3137
3138-/* { dg-final { scan-assembler "vcgt\.s32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
3139+/* { dg-final { scan-assembler "vcgt\.s32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
3140 /* { dg-final { cleanup-saved-temps } } */
3141
3142=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcltQs8.c'
3143--- old/gcc/testsuite/gcc.target/arm/neon/vcltQs8.c 2010-07-29 15:38:15 +0000
3144+++ new/gcc/testsuite/gcc.target/arm/neon/vcltQs8.c 2010-08-20 13:27:11 +0000
3145@@ -17,5 +17,5 @@
3146 out_uint8x16_t = vcltq_s8 (arg0_int8x16_t, arg1_int8x16_t);
3147 }
3148
3149-/* { dg-final { scan-assembler "vcgt\.s8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
3150+/* { dg-final { scan-assembler "vcgt\.s8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
3151 /* { dg-final { cleanup-saved-temps } } */
3152
3153=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcltQu16.c'
3154--- old/gcc/testsuite/gcc.target/arm/neon/vcltQu16.c 2010-07-29 15:38:15 +0000
3155+++ new/gcc/testsuite/gcc.target/arm/neon/vcltQu16.c 2010-08-20 13:27:11 +0000
3156@@ -17,5 +17,5 @@
3157 out_uint16x8_t = vcltq_u16 (arg0_uint16x8_t, arg1_uint16x8_t);
3158 }
3159
3160-/* { dg-final { scan-assembler "vcgt\.u16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
3161+/* { dg-final { scan-assembler "vcgt\.u16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
3162 /* { dg-final { cleanup-saved-temps } } */
3163
3164=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcltQu32.c'
3165--- old/gcc/testsuite/gcc.target/arm/neon/vcltQu32.c 2010-07-29 15:38:15 +0000
3166+++ new/gcc/testsuite/gcc.target/arm/neon/vcltQu32.c 2010-08-20 13:27:11 +0000
3167@@ -17,5 +17,5 @@
3168 out_uint32x4_t = vcltq_u32 (arg0_uint32x4_t, arg1_uint32x4_t);
3169 }
3170
3171-/* { dg-final { scan-assembler "vcgt\.u32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
3172+/* { dg-final { scan-assembler "vcgt\.u32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
3173 /* { dg-final { cleanup-saved-temps } } */
3174
3175=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcltQu8.c'
3176--- old/gcc/testsuite/gcc.target/arm/neon/vcltQu8.c 2010-07-29 15:38:15 +0000
3177+++ new/gcc/testsuite/gcc.target/arm/neon/vcltQu8.c 2010-08-20 13:27:11 +0000
3178@@ -17,5 +17,5 @@
3179 out_uint8x16_t = vcltq_u8 (arg0_uint8x16_t, arg1_uint8x16_t);
3180 }
3181
3182-/* { dg-final { scan-assembler "vcgt\.u8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
3183+/* { dg-final { scan-assembler "vcgt\.u8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
3184 /* { dg-final { cleanup-saved-temps } } */
3185
3186=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcltf32.c'
3187--- old/gcc/testsuite/gcc.target/arm/neon/vcltf32.c 2010-07-29 15:38:15 +0000
3188+++ new/gcc/testsuite/gcc.target/arm/neon/vcltf32.c 2010-08-20 13:27:11 +0000
3189@@ -17,5 +17,5 @@
3190 out_uint32x2_t = vclt_f32 (arg0_float32x2_t, arg1_float32x2_t);
3191 }
3192
3193-/* { dg-final { scan-assembler "vcgt\.f32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
3194+/* { dg-final { scan-assembler "vcgt\.f32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
3195 /* { dg-final { cleanup-saved-temps } } */
3196
3197=== modified file 'gcc/testsuite/gcc.target/arm/neon/vclts16.c'
3198--- old/gcc/testsuite/gcc.target/arm/neon/vclts16.c 2010-07-29 15:38:15 +0000
3199+++ new/gcc/testsuite/gcc.target/arm/neon/vclts16.c 2010-08-20 13:27:11 +0000
3200@@ -17,5 +17,5 @@
3201 out_uint16x4_t = vclt_s16 (arg0_int16x4_t, arg1_int16x4_t);
3202 }
3203
3204-/* { dg-final { scan-assembler "vcgt\.s16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
3205+/* { dg-final { scan-assembler "vcgt\.s16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
3206 /* { dg-final { cleanup-saved-temps } } */
3207
3208=== modified file 'gcc/testsuite/gcc.target/arm/neon/vclts32.c'
3209--- old/gcc/testsuite/gcc.target/arm/neon/vclts32.c 2010-07-29 15:38:15 +0000
3210+++ new/gcc/testsuite/gcc.target/arm/neon/vclts32.c 2010-08-20 13:27:11 +0000
3211@@ -17,5 +17,5 @@
3212 out_uint32x2_t = vclt_s32 (arg0_int32x2_t, arg1_int32x2_t);
3213 }
3214
3215-/* { dg-final { scan-assembler "vcgt\.s32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
3216+/* { dg-final { scan-assembler "vcgt\.s32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
3217 /* { dg-final { cleanup-saved-temps } } */
3218
3219=== modified file 'gcc/testsuite/gcc.target/arm/neon/vclts8.c'
3220--- old/gcc/testsuite/gcc.target/arm/neon/vclts8.c 2010-07-29 15:38:15 +0000
3221+++ new/gcc/testsuite/gcc.target/arm/neon/vclts8.c 2010-08-20 13:27:11 +0000
3222@@ -17,5 +17,5 @@
3223 out_uint8x8_t = vclt_s8 (arg0_int8x8_t, arg1_int8x8_t);
3224 }
3225
3226-/* { dg-final { scan-assembler "vcgt\.s8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
3227+/* { dg-final { scan-assembler "vcgt\.s8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
3228 /* { dg-final { cleanup-saved-temps } } */
3229
3230=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcltu16.c'
3231--- old/gcc/testsuite/gcc.target/arm/neon/vcltu16.c 2010-07-29 15:38:15 +0000
3232+++ new/gcc/testsuite/gcc.target/arm/neon/vcltu16.c 2010-08-20 13:27:11 +0000
3233@@ -17,5 +17,5 @@
3234 out_uint16x4_t = vclt_u16 (arg0_uint16x4_t, arg1_uint16x4_t);
3235 }
3236
3237-/* { dg-final { scan-assembler "vcgt\.u16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
3238+/* { dg-final { scan-assembler "vcgt\.u16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
3239 /* { dg-final { cleanup-saved-temps } } */
3240
3241=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcltu32.c'
3242--- old/gcc/testsuite/gcc.target/arm/neon/vcltu32.c 2010-07-29 15:38:15 +0000
3243+++ new/gcc/testsuite/gcc.target/arm/neon/vcltu32.c 2010-08-20 13:27:11 +0000
3244@@ -17,5 +17,5 @@
3245 out_uint32x2_t = vclt_u32 (arg0_uint32x2_t, arg1_uint32x2_t);
3246 }
3247
3248-/* { dg-final { scan-assembler "vcgt\.u32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
3249+/* { dg-final { scan-assembler "vcgt\.u32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
3250 /* { dg-final { cleanup-saved-temps } } */
3251
3252=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcltu8.c'
3253--- old/gcc/testsuite/gcc.target/arm/neon/vcltu8.c 2010-07-29 15:38:15 +0000
3254+++ new/gcc/testsuite/gcc.target/arm/neon/vcltu8.c 2010-08-20 13:27:11 +0000
3255@@ -17,5 +17,5 @@
3256 out_uint8x8_t = vclt_u8 (arg0_uint8x8_t, arg1_uint8x8_t);
3257 }
3258
3259-/* { dg-final { scan-assembler "vcgt\.u8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
3260+/* { dg-final { scan-assembler "vcgt\.u8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
3261 /* { dg-final { cleanup-saved-temps } } */
3262
3263=== modified file 'gcc/testsuite/gcc.target/arm/neon/vclzQs16.c'
3264--- old/gcc/testsuite/gcc.target/arm/neon/vclzQs16.c 2010-07-29 15:38:15 +0000
3265+++ new/gcc/testsuite/gcc.target/arm/neon/vclzQs16.c 2010-08-20 13:27:11 +0000
3266@@ -16,5 +16,5 @@
3267 out_int16x8_t = vclzq_s16 (arg0_int16x8_t);
3268 }
3269
3270-/* { dg-final { scan-assembler "vclz\.i16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
3271+/* { dg-final { scan-assembler "vclz\.i16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
3272 /* { dg-final { cleanup-saved-temps } } */
3273
3274=== modified file 'gcc/testsuite/gcc.target/arm/neon/vclzQs32.c'
3275--- old/gcc/testsuite/gcc.target/arm/neon/vclzQs32.c 2010-07-29 15:38:15 +0000
3276+++ new/gcc/testsuite/gcc.target/arm/neon/vclzQs32.c 2010-08-20 13:27:11 +0000
3277@@ -16,5 +16,5 @@
3278 out_int32x4_t = vclzq_s32 (arg0_int32x4_t);
3279 }
3280
3281-/* { dg-final { scan-assembler "vclz\.i32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
3282+/* { dg-final { scan-assembler "vclz\.i32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
3283 /* { dg-final { cleanup-saved-temps } } */
3284
3285=== modified file 'gcc/testsuite/gcc.target/arm/neon/vclzQs8.c'
3286--- old/gcc/testsuite/gcc.target/arm/neon/vclzQs8.c 2010-07-29 15:38:15 +0000
3287+++ new/gcc/testsuite/gcc.target/arm/neon/vclzQs8.c 2010-08-20 13:27:11 +0000
3288@@ -16,5 +16,5 @@
3289 out_int8x16_t = vclzq_s8 (arg0_int8x16_t);
3290 }
3291
3292-/* { dg-final { scan-assembler "vclz\.i8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
3293+/* { dg-final { scan-assembler "vclz\.i8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
3294 /* { dg-final { cleanup-saved-temps } } */
3295
3296=== modified file 'gcc/testsuite/gcc.target/arm/neon/vclzQu16.c'
3297--- old/gcc/testsuite/gcc.target/arm/neon/vclzQu16.c 2010-07-29 15:38:15 +0000
3298+++ new/gcc/testsuite/gcc.target/arm/neon/vclzQu16.c 2010-08-20 13:27:11 +0000
3299@@ -16,5 +16,5 @@
3300 out_uint16x8_t = vclzq_u16 (arg0_uint16x8_t);
3301 }
3302
3303-/* { dg-final { scan-assembler "vclz\.i16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
3304+/* { dg-final { scan-assembler "vclz\.i16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
3305 /* { dg-final { cleanup-saved-temps } } */
3306
3307=== modified file 'gcc/testsuite/gcc.target/arm/neon/vclzQu32.c'
3308--- old/gcc/testsuite/gcc.target/arm/neon/vclzQu32.c 2010-07-29 15:38:15 +0000
3309+++ new/gcc/testsuite/gcc.target/arm/neon/vclzQu32.c 2010-08-20 13:27:11 +0000
3310@@ -16,5 +16,5 @@
3311 out_uint32x4_t = vclzq_u32 (arg0_uint32x4_t);
3312 }
3313
3314-/* { dg-final { scan-assembler "vclz\.i32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
3315+/* { dg-final { scan-assembler "vclz\.i32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
3316 /* { dg-final { cleanup-saved-temps } } */
3317
3318=== modified file 'gcc/testsuite/gcc.target/arm/neon/vclzQu8.c'
3319--- old/gcc/testsuite/gcc.target/arm/neon/vclzQu8.c 2010-07-29 15:38:15 +0000
3320+++ new/gcc/testsuite/gcc.target/arm/neon/vclzQu8.c 2010-08-20 13:27:11 +0000
3321@@ -16,5 +16,5 @@
3322 out_uint8x16_t = vclzq_u8 (arg0_uint8x16_t);
3323 }
3324
3325-/* { dg-final { scan-assembler "vclz\.i8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
3326+/* { dg-final { scan-assembler "vclz\.i8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
3327 /* { dg-final { cleanup-saved-temps } } */
3328
3329=== modified file 'gcc/testsuite/gcc.target/arm/neon/vclzs16.c'
3330--- old/gcc/testsuite/gcc.target/arm/neon/vclzs16.c 2010-07-29 15:38:15 +0000
3331+++ new/gcc/testsuite/gcc.target/arm/neon/vclzs16.c 2010-08-20 13:27:11 +0000
3332@@ -16,5 +16,5 @@
3333 out_int16x4_t = vclz_s16 (arg0_int16x4_t);
3334 }
3335
3336-/* { dg-final { scan-assembler "vclz\.i16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
3337+/* { dg-final { scan-assembler "vclz\.i16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
3338 /* { dg-final { cleanup-saved-temps } } */
3339
3340=== modified file 'gcc/testsuite/gcc.target/arm/neon/vclzs32.c'
3341--- old/gcc/testsuite/gcc.target/arm/neon/vclzs32.c 2010-07-29 15:38:15 +0000
3342+++ new/gcc/testsuite/gcc.target/arm/neon/vclzs32.c 2010-08-20 13:27:11 +0000
3343@@ -16,5 +16,5 @@
3344 out_int32x2_t = vclz_s32 (arg0_int32x2_t);
3345 }
3346
3347-/* { dg-final { scan-assembler "vclz\.i32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
3348+/* { dg-final { scan-assembler "vclz\.i32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
3349 /* { dg-final { cleanup-saved-temps } } */
3350
3351=== modified file 'gcc/testsuite/gcc.target/arm/neon/vclzs8.c'
3352--- old/gcc/testsuite/gcc.target/arm/neon/vclzs8.c 2010-07-29 15:38:15 +0000
3353+++ new/gcc/testsuite/gcc.target/arm/neon/vclzs8.c 2010-08-20 13:27:11 +0000
3354@@ -16,5 +16,5 @@
3355 out_int8x8_t = vclz_s8 (arg0_int8x8_t);
3356 }
3357
3358-/* { dg-final { scan-assembler "vclz\.i8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
3359+/* { dg-final { scan-assembler "vclz\.i8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
3360 /* { dg-final { cleanup-saved-temps } } */
3361
3362=== modified file 'gcc/testsuite/gcc.target/arm/neon/vclzu16.c'
3363--- old/gcc/testsuite/gcc.target/arm/neon/vclzu16.c 2010-07-29 15:38:15 +0000
3364+++ new/gcc/testsuite/gcc.target/arm/neon/vclzu16.c 2010-08-20 13:27:11 +0000
3365@@ -16,5 +16,5 @@
3366 out_uint16x4_t = vclz_u16 (arg0_uint16x4_t);
3367 }
3368
3369-/* { dg-final { scan-assembler "vclz\.i16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
3370+/* { dg-final { scan-assembler "vclz\.i16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
3371 /* { dg-final { cleanup-saved-temps } } */
3372
3373=== modified file 'gcc/testsuite/gcc.target/arm/neon/vclzu32.c'
3374--- old/gcc/testsuite/gcc.target/arm/neon/vclzu32.c 2010-07-29 15:38:15 +0000
3375+++ new/gcc/testsuite/gcc.target/arm/neon/vclzu32.c 2010-08-20 13:27:11 +0000
3376@@ -16,5 +16,5 @@
3377 out_uint32x2_t = vclz_u32 (arg0_uint32x2_t);
3378 }
3379
3380-/* { dg-final { scan-assembler "vclz\.i32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
3381+/* { dg-final { scan-assembler "vclz\.i32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
3382 /* { dg-final { cleanup-saved-temps } } */
3383
3384=== modified file 'gcc/testsuite/gcc.target/arm/neon/vclzu8.c'
3385--- old/gcc/testsuite/gcc.target/arm/neon/vclzu8.c 2010-07-29 15:38:15 +0000
3386+++ new/gcc/testsuite/gcc.target/arm/neon/vclzu8.c 2010-08-20 13:27:11 +0000
3387@@ -16,5 +16,5 @@
3388 out_uint8x8_t = vclz_u8 (arg0_uint8x8_t);
3389 }
3390
3391-/* { dg-final { scan-assembler "vclz\.i8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
3392+/* { dg-final { scan-assembler "vclz\.i8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
3393 /* { dg-final { cleanup-saved-temps } } */
3394
3395=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcntQp8.c'
3396--- old/gcc/testsuite/gcc.target/arm/neon/vcntQp8.c 2010-07-29 15:38:15 +0000
3397+++ new/gcc/testsuite/gcc.target/arm/neon/vcntQp8.c 2010-08-20 13:27:11 +0000
3398@@ -16,5 +16,5 @@
3399 out_poly8x16_t = vcntq_p8 (arg0_poly8x16_t);
3400 }
3401
3402-/* { dg-final { scan-assembler "vcnt\.8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
3403+/* { dg-final { scan-assembler "vcnt\.8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
3404 /* { dg-final { cleanup-saved-temps } } */
3405
3406=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcntQs8.c'
3407--- old/gcc/testsuite/gcc.target/arm/neon/vcntQs8.c 2010-07-29 15:38:15 +0000
3408+++ new/gcc/testsuite/gcc.target/arm/neon/vcntQs8.c 2010-08-20 13:27:11 +0000
3409@@ -16,5 +16,5 @@
3410 out_int8x16_t = vcntq_s8 (arg0_int8x16_t);
3411 }
3412
3413-/* { dg-final { scan-assembler "vcnt\.8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
3414+/* { dg-final { scan-assembler "vcnt\.8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
3415 /* { dg-final { cleanup-saved-temps } } */
3416
3417=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcntQu8.c'
3418--- old/gcc/testsuite/gcc.target/arm/neon/vcntQu8.c 2010-07-29 15:38:15 +0000
3419+++ new/gcc/testsuite/gcc.target/arm/neon/vcntQu8.c 2010-08-20 13:27:11 +0000
3420@@ -16,5 +16,5 @@
3421 out_uint8x16_t = vcntq_u8 (arg0_uint8x16_t);
3422 }
3423
3424-/* { dg-final { scan-assembler "vcnt\.8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
3425+/* { dg-final { scan-assembler "vcnt\.8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
3426 /* { dg-final { cleanup-saved-temps } } */
3427
3428=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcntp8.c'
3429--- old/gcc/testsuite/gcc.target/arm/neon/vcntp8.c 2010-07-29 15:38:15 +0000
3430+++ new/gcc/testsuite/gcc.target/arm/neon/vcntp8.c 2010-08-20 13:27:11 +0000
3431@@ -16,5 +16,5 @@
3432 out_poly8x8_t = vcnt_p8 (arg0_poly8x8_t);
3433 }
3434
3435-/* { dg-final { scan-assembler "vcnt\.8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
3436+/* { dg-final { scan-assembler "vcnt\.8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
3437 /* { dg-final { cleanup-saved-temps } } */
3438
3439=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcnts8.c'
3440--- old/gcc/testsuite/gcc.target/arm/neon/vcnts8.c 2010-07-29 15:38:15 +0000
3441+++ new/gcc/testsuite/gcc.target/arm/neon/vcnts8.c 2010-08-20 13:27:11 +0000
3442@@ -16,5 +16,5 @@
3443 out_int8x8_t = vcnt_s8 (arg0_int8x8_t);
3444 }
3445
3446-/* { dg-final { scan-assembler "vcnt\.8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
3447+/* { dg-final { scan-assembler "vcnt\.8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
3448 /* { dg-final { cleanup-saved-temps } } */
3449
3450=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcntu8.c'
3451--- old/gcc/testsuite/gcc.target/arm/neon/vcntu8.c 2010-07-29 15:38:15 +0000
3452+++ new/gcc/testsuite/gcc.target/arm/neon/vcntu8.c 2010-08-20 13:27:11 +0000
3453@@ -16,5 +16,5 @@
3454 out_uint8x8_t = vcnt_u8 (arg0_uint8x8_t);
3455 }
3456
3457-/* { dg-final { scan-assembler "vcnt\.8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
3458+/* { dg-final { scan-assembler "vcnt\.8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
3459 /* { dg-final { cleanup-saved-temps } } */
3460
3461=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcvtQ_nf32_s32.c'
3462--- old/gcc/testsuite/gcc.target/arm/neon/vcvtQ_nf32_s32.c 2010-07-29 15:38:15 +0000
3463+++ new/gcc/testsuite/gcc.target/arm/neon/vcvtQ_nf32_s32.c 2010-08-20 13:27:11 +0000
3464@@ -16,5 +16,5 @@
3465 out_float32x4_t = vcvtq_n_f32_s32 (arg0_int32x4_t, 1);
3466 }
3467
3468-/* { dg-final { scan-assembler "vcvt\.f32.s32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
3469+/* { dg-final { scan-assembler "vcvt\.f32.s32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
3470 /* { dg-final { cleanup-saved-temps } } */
3471
3472=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcvtQ_nf32_u32.c'
3473--- old/gcc/testsuite/gcc.target/arm/neon/vcvtQ_nf32_u32.c 2010-07-29 15:38:15 +0000
3474+++ new/gcc/testsuite/gcc.target/arm/neon/vcvtQ_nf32_u32.c 2010-08-20 13:27:11 +0000
3475@@ -16,5 +16,5 @@
3476 out_float32x4_t = vcvtq_n_f32_u32 (arg0_uint32x4_t, 1);
3477 }
3478
3479-/* { dg-final { scan-assembler "vcvt\.f32.u32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
3480+/* { dg-final { scan-assembler "vcvt\.f32.u32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
3481 /* { dg-final { cleanup-saved-temps } } */
3482
3483=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcvtQ_ns32_f32.c'
3484--- old/gcc/testsuite/gcc.target/arm/neon/vcvtQ_ns32_f32.c 2010-07-29 15:38:15 +0000
3485+++ new/gcc/testsuite/gcc.target/arm/neon/vcvtQ_ns32_f32.c 2010-08-20 13:27:11 +0000
3486@@ -16,5 +16,5 @@
3487 out_int32x4_t = vcvtq_n_s32_f32 (arg0_float32x4_t, 1);
3488 }
3489
3490-/* { dg-final { scan-assembler "vcvt\.s32.f32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
3491+/* { dg-final { scan-assembler "vcvt\.s32.f32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
3492 /* { dg-final { cleanup-saved-temps } } */
3493
3494=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcvtQ_nu32_f32.c'
3495--- old/gcc/testsuite/gcc.target/arm/neon/vcvtQ_nu32_f32.c 2010-07-29 15:38:15 +0000
3496+++ new/gcc/testsuite/gcc.target/arm/neon/vcvtQ_nu32_f32.c 2010-08-20 13:27:11 +0000
3497@@ -16,5 +16,5 @@
3498 out_uint32x4_t = vcvtq_n_u32_f32 (arg0_float32x4_t, 1);
3499 }
3500
3501-/* { dg-final { scan-assembler "vcvt\.u32.f32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
3502+/* { dg-final { scan-assembler "vcvt\.u32.f32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
3503 /* { dg-final { cleanup-saved-temps } } */
3504
3505=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcvtQf32_s32.c'
3506--- old/gcc/testsuite/gcc.target/arm/neon/vcvtQf32_s32.c 2010-07-29 15:38:15 +0000
3507+++ new/gcc/testsuite/gcc.target/arm/neon/vcvtQf32_s32.c 2010-08-20 13:27:11 +0000
3508@@ -16,5 +16,5 @@
3509 out_float32x4_t = vcvtq_f32_s32 (arg0_int32x4_t);
3510 }
3511
3512-/* { dg-final { scan-assembler "vcvt\.f32.s32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
3513+/* { dg-final { scan-assembler "vcvt\.f32.s32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
3514 /* { dg-final { cleanup-saved-temps } } */
3515
3516=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcvtQf32_u32.c'
3517--- old/gcc/testsuite/gcc.target/arm/neon/vcvtQf32_u32.c 2010-07-29 15:38:15 +0000
3518+++ new/gcc/testsuite/gcc.target/arm/neon/vcvtQf32_u32.c 2010-08-20 13:27:11 +0000
3519@@ -16,5 +16,5 @@
3520 out_float32x4_t = vcvtq_f32_u32 (arg0_uint32x4_t);
3521 }
3522
3523-/* { dg-final { scan-assembler "vcvt\.f32.u32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
3524+/* { dg-final { scan-assembler "vcvt\.f32.u32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
3525 /* { dg-final { cleanup-saved-temps } } */
3526
3527=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcvtQs32_f32.c'
3528--- old/gcc/testsuite/gcc.target/arm/neon/vcvtQs32_f32.c 2010-07-29 15:38:15 +0000
3529+++ new/gcc/testsuite/gcc.target/arm/neon/vcvtQs32_f32.c 2010-08-20 13:27:11 +0000
3530@@ -16,5 +16,5 @@
3531 out_int32x4_t = vcvtq_s32_f32 (arg0_float32x4_t);
3532 }
3533
3534-/* { dg-final { scan-assembler "vcvt\.s32.f32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
3535+/* { dg-final { scan-assembler "vcvt\.s32.f32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
3536 /* { dg-final { cleanup-saved-temps } } */
3537
3538=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcvtQu32_f32.c'
3539--- old/gcc/testsuite/gcc.target/arm/neon/vcvtQu32_f32.c 2010-07-29 15:38:15 +0000
3540+++ new/gcc/testsuite/gcc.target/arm/neon/vcvtQu32_f32.c 2010-08-20 13:27:11 +0000
3541@@ -16,5 +16,5 @@
3542 out_uint32x4_t = vcvtq_u32_f32 (arg0_float32x4_t);
3543 }
3544
3545-/* { dg-final { scan-assembler "vcvt\.u32.f32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
3546+/* { dg-final { scan-assembler "vcvt\.u32.f32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
3547 /* { dg-final { cleanup-saved-temps } } */
3548
3549=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcvt_nf32_s32.c'
3550--- old/gcc/testsuite/gcc.target/arm/neon/vcvt_nf32_s32.c 2010-07-29 15:38:15 +0000
3551+++ new/gcc/testsuite/gcc.target/arm/neon/vcvt_nf32_s32.c 2010-08-20 13:27:11 +0000
3552@@ -16,5 +16,5 @@
3553 out_float32x2_t = vcvt_n_f32_s32 (arg0_int32x2_t, 1);
3554 }
3555
3556-/* { dg-final { scan-assembler "vcvt\.f32.s32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
3557+/* { dg-final { scan-assembler "vcvt\.f32.s32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
3558 /* { dg-final { cleanup-saved-temps } } */
3559
3560=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcvt_nf32_u32.c'
3561--- old/gcc/testsuite/gcc.target/arm/neon/vcvt_nf32_u32.c 2010-07-29 15:38:15 +0000
3562+++ new/gcc/testsuite/gcc.target/arm/neon/vcvt_nf32_u32.c 2010-08-20 13:27:11 +0000
3563@@ -16,5 +16,5 @@
3564 out_float32x2_t = vcvt_n_f32_u32 (arg0_uint32x2_t, 1);
3565 }
3566
3567-/* { dg-final { scan-assembler "vcvt\.f32.u32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
3568+/* { dg-final { scan-assembler "vcvt\.f32.u32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
3569 /* { dg-final { cleanup-saved-temps } } */
3570
3571=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcvt_ns32_f32.c'
3572--- old/gcc/testsuite/gcc.target/arm/neon/vcvt_ns32_f32.c 2010-07-29 15:38:15 +0000
3573+++ new/gcc/testsuite/gcc.target/arm/neon/vcvt_ns32_f32.c 2010-08-20 13:27:11 +0000
3574@@ -16,5 +16,5 @@
3575 out_int32x2_t = vcvt_n_s32_f32 (arg0_float32x2_t, 1);
3576 }
3577
3578-/* { dg-final { scan-assembler "vcvt\.s32.f32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
3579+/* { dg-final { scan-assembler "vcvt\.s32.f32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
3580 /* { dg-final { cleanup-saved-temps } } */
3581
3582=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcvt_nu32_f32.c'
3583--- old/gcc/testsuite/gcc.target/arm/neon/vcvt_nu32_f32.c 2010-07-29 15:38:15 +0000
3584+++ new/gcc/testsuite/gcc.target/arm/neon/vcvt_nu32_f32.c 2010-08-20 13:27:11 +0000
3585@@ -16,5 +16,5 @@
3586 out_uint32x2_t = vcvt_n_u32_f32 (arg0_float32x2_t, 1);
3587 }
3588
3589-/* { dg-final { scan-assembler "vcvt\.u32.f32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
3590+/* { dg-final { scan-assembler "vcvt\.u32.f32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
3591 /* { dg-final { cleanup-saved-temps } } */
3592
3593=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcvtf32_s32.c'
3594--- old/gcc/testsuite/gcc.target/arm/neon/vcvtf32_s32.c 2010-07-29 15:38:15 +0000
3595+++ new/gcc/testsuite/gcc.target/arm/neon/vcvtf32_s32.c 2010-08-20 13:27:11 +0000
3596@@ -16,5 +16,5 @@
3597 out_float32x2_t = vcvt_f32_s32 (arg0_int32x2_t);
3598 }
3599
3600-/* { dg-final { scan-assembler "vcvt\.f32.s32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
3601+/* { dg-final { scan-assembler "vcvt\.f32.s32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
3602 /* { dg-final { cleanup-saved-temps } } */
3603
3604=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcvtf32_u32.c'
3605--- old/gcc/testsuite/gcc.target/arm/neon/vcvtf32_u32.c 2010-07-29 15:38:15 +0000
3606+++ new/gcc/testsuite/gcc.target/arm/neon/vcvtf32_u32.c 2010-08-20 13:27:11 +0000
3607@@ -16,5 +16,5 @@
3608 out_float32x2_t = vcvt_f32_u32 (arg0_uint32x2_t);
3609 }
3610
3611-/* { dg-final { scan-assembler "vcvt\.f32.u32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
3612+/* { dg-final { scan-assembler "vcvt\.f32.u32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
3613 /* { dg-final { cleanup-saved-temps } } */
3614
3615=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcvts32_f32.c'
3616--- old/gcc/testsuite/gcc.target/arm/neon/vcvts32_f32.c 2010-07-29 15:38:15 +0000
3617+++ new/gcc/testsuite/gcc.target/arm/neon/vcvts32_f32.c 2010-08-20 13:27:11 +0000
3618@@ -16,5 +16,5 @@
3619 out_int32x2_t = vcvt_s32_f32 (arg0_float32x2_t);
3620 }
3621
3622-/* { dg-final { scan-assembler "vcvt\.s32.f32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
3623+/* { dg-final { scan-assembler "vcvt\.s32.f32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
3624 /* { dg-final { cleanup-saved-temps } } */
3625
3626=== modified file 'gcc/testsuite/gcc.target/arm/neon/vcvtu32_f32.c'
3627--- old/gcc/testsuite/gcc.target/arm/neon/vcvtu32_f32.c 2010-07-29 15:38:15 +0000
3628+++ new/gcc/testsuite/gcc.target/arm/neon/vcvtu32_f32.c 2010-08-20 13:27:11 +0000
3629@@ -16,5 +16,5 @@
3630 out_uint32x2_t = vcvt_u32_f32 (arg0_float32x2_t);
3631 }
3632
3633-/* { dg-final { scan-assembler "vcvt\.u32.f32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
3634+/* { dg-final { scan-assembler "vcvt\.u32.f32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
3635 /* { dg-final { cleanup-saved-temps } } */
3636
3637=== modified file 'gcc/testsuite/gcc.target/arm/neon/vdupQ_lanef32.c'
3638--- old/gcc/testsuite/gcc.target/arm/neon/vdupQ_lanef32.c 2010-07-29 15:38:15 +0000
3639+++ new/gcc/testsuite/gcc.target/arm/neon/vdupQ_lanef32.c 2010-08-20 13:27:11 +0000
3640@@ -16,5 +16,5 @@
3641 out_float32x4_t = vdupq_lane_f32 (arg0_float32x2_t, 1);
3642 }
3643
3644-/* { dg-final { scan-assembler "vdup\.32\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
3645+/* { dg-final { scan-assembler "vdup\.32\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
3646 /* { dg-final { cleanup-saved-temps } } */
3647
3648=== modified file 'gcc/testsuite/gcc.target/arm/neon/vdupQ_lanep16.c'
3649--- old/gcc/testsuite/gcc.target/arm/neon/vdupQ_lanep16.c 2010-07-29 15:38:15 +0000
3650+++ new/gcc/testsuite/gcc.target/arm/neon/vdupQ_lanep16.c 2010-08-20 13:27:11 +0000
3651@@ -16,5 +16,5 @@
3652 out_poly16x8_t = vdupq_lane_p16 (arg0_poly16x4_t, 1);
3653 }
3654
3655-/* { dg-final { scan-assembler "vdup\.16\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
3656+/* { dg-final { scan-assembler "vdup\.16\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
3657 /* { dg-final { cleanup-saved-temps } } */
3658
3659=== modified file 'gcc/testsuite/gcc.target/arm/neon/vdupQ_lanep8.c'
3660--- old/gcc/testsuite/gcc.target/arm/neon/vdupQ_lanep8.c 2010-07-29 15:38:15 +0000
3661+++ new/gcc/testsuite/gcc.target/arm/neon/vdupQ_lanep8.c 2010-08-20 13:27:11 +0000
3662@@ -16,5 +16,5 @@
3663 out_poly8x16_t = vdupq_lane_p8 (arg0_poly8x8_t, 1);
3664 }
3665
3666-/* { dg-final { scan-assembler "vdup\.8\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
3667+/* { dg-final { scan-assembler "vdup\.8\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
3668 /* { dg-final { cleanup-saved-temps } } */
3669
3670=== modified file 'gcc/testsuite/gcc.target/arm/neon/vdupQ_lanes16.c'
3671--- old/gcc/testsuite/gcc.target/arm/neon/vdupQ_lanes16.c 2010-07-29 15:38:15 +0000
3672+++ new/gcc/testsuite/gcc.target/arm/neon/vdupQ_lanes16.c 2010-08-20 13:27:11 +0000
3673@@ -16,5 +16,5 @@
3674 out_int16x8_t = vdupq_lane_s16 (arg0_int16x4_t, 1);
3675 }
3676
3677-/* { dg-final { scan-assembler "vdup\.16\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
3678+/* { dg-final { scan-assembler "vdup\.16\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
3679 /* { dg-final { cleanup-saved-temps } } */
3680
3681=== modified file 'gcc/testsuite/gcc.target/arm/neon/vdupQ_lanes32.c'
3682--- old/gcc/testsuite/gcc.target/arm/neon/vdupQ_lanes32.c 2010-07-29 15:38:15 +0000
3683+++ new/gcc/testsuite/gcc.target/arm/neon/vdupQ_lanes32.c 2010-08-20 13:27:11 +0000
3684@@ -16,5 +16,5 @@
3685 out_int32x4_t = vdupq_lane_s32 (arg0_int32x2_t, 1);
3686 }
3687
3688-/* { dg-final { scan-assembler "vdup\.32\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
3689+/* { dg-final { scan-assembler "vdup\.32\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
3690 /* { dg-final { cleanup-saved-temps } } */
3691
3692=== modified file 'gcc/testsuite/gcc.target/arm/neon/vdupQ_lanes8.c'
3693--- old/gcc/testsuite/gcc.target/arm/neon/vdupQ_lanes8.c 2010-07-29 15:38:15 +0000
3694+++ new/gcc/testsuite/gcc.target/arm/neon/vdupQ_lanes8.c 2010-08-20 13:27:11 +0000
3695@@ -16,5 +16,5 @@
3696 out_int8x16_t = vdupq_lane_s8 (arg0_int8x8_t, 1);
3697 }
3698
3699-/* { dg-final { scan-assembler "vdup\.8\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
3700+/* { dg-final { scan-assembler "vdup\.8\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
3701 /* { dg-final { cleanup-saved-temps } } */
3702
3703=== modified file 'gcc/testsuite/gcc.target/arm/neon/vdupQ_laneu16.c'
3704--- old/gcc/testsuite/gcc.target/arm/neon/vdupQ_laneu16.c 2010-07-29 15:38:15 +0000
3705+++ new/gcc/testsuite/gcc.target/arm/neon/vdupQ_laneu16.c 2010-08-20 13:27:11 +0000
3706@@ -16,5 +16,5 @@
3707 out_uint16x8_t = vdupq_lane_u16 (arg0_uint16x4_t, 1);
3708 }
3709
3710-/* { dg-final { scan-assembler "vdup\.16\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
3711+/* { dg-final { scan-assembler "vdup\.16\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
3712 /* { dg-final { cleanup-saved-temps } } */
3713
3714=== modified file 'gcc/testsuite/gcc.target/arm/neon/vdupQ_laneu32.c'
3715--- old/gcc/testsuite/gcc.target/arm/neon/vdupQ_laneu32.c 2010-07-29 15:38:15 +0000
3716+++ new/gcc/testsuite/gcc.target/arm/neon/vdupQ_laneu32.c 2010-08-20 13:27:11 +0000
3717@@ -16,5 +16,5 @@
3718 out_uint32x4_t = vdupq_lane_u32 (arg0_uint32x2_t, 1);
3719 }
3720
3721-/* { dg-final { scan-assembler "vdup\.32\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
3722+/* { dg-final { scan-assembler "vdup\.32\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
3723 /* { dg-final { cleanup-saved-temps } } */
3724
3725=== modified file 'gcc/testsuite/gcc.target/arm/neon/vdupQ_laneu8.c'
3726--- old/gcc/testsuite/gcc.target/arm/neon/vdupQ_laneu8.c 2010-07-29 15:38:15 +0000
3727+++ new/gcc/testsuite/gcc.target/arm/neon/vdupQ_laneu8.c 2010-08-20 13:27:11 +0000
3728@@ -16,5 +16,5 @@
3729 out_uint8x16_t = vdupq_lane_u8 (arg0_uint8x8_t, 1);
3730 }
3731
3732-/* { dg-final { scan-assembler "vdup\.8\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
3733+/* { dg-final { scan-assembler "vdup\.8\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
3734 /* { dg-final { cleanup-saved-temps } } */
3735
3736=== modified file 'gcc/testsuite/gcc.target/arm/neon/vdupQ_nf32.c'
3737--- old/gcc/testsuite/gcc.target/arm/neon/vdupQ_nf32.c 2010-07-29 15:38:15 +0000
3738+++ new/gcc/testsuite/gcc.target/arm/neon/vdupQ_nf32.c 2010-08-20 13:27:11 +0000
3739@@ -16,5 +16,5 @@
3740 out_float32x4_t = vdupq_n_f32 (arg0_float32_t);
3741 }
3742
3743-/* { dg-final { scan-assembler "vdup\.32\[ \]+\[qQ\]\[0-9\]+, (\[rR\]\[0-9\]+|\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
3744+/* { dg-final { scan-assembler "vdup\.32\[ \]+\[qQ\]\[0-9\]+, (\[rR\]\[0-9\]+|\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])!?\(\[ \]+@.*\)?\n" } } */
3745 /* { dg-final { cleanup-saved-temps } } */
3746
3747=== modified file 'gcc/testsuite/gcc.target/arm/neon/vdupQ_np16.c'
3748--- old/gcc/testsuite/gcc.target/arm/neon/vdupQ_np16.c 2010-07-29 15:38:15 +0000
3749+++ new/gcc/testsuite/gcc.target/arm/neon/vdupQ_np16.c 2010-08-20 13:27:11 +0000
3750@@ -16,5 +16,5 @@
3751 out_poly16x8_t = vdupq_n_p16 (arg0_poly16_t);
3752 }
3753
3754-/* { dg-final { scan-assembler "vdup\.16\[ \]+\[qQ\]\[0-9\]+, (\[rR\]\[0-9\]+|\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
3755+/* { dg-final { scan-assembler "vdup\.16\[ \]+\[qQ\]\[0-9\]+, (\[rR\]\[0-9\]+|\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])!?\(\[ \]+@.*\)?\n" } } */
3756 /* { dg-final { cleanup-saved-temps } } */
3757
3758=== modified file 'gcc/testsuite/gcc.target/arm/neon/vdupQ_np8.c'
3759--- old/gcc/testsuite/gcc.target/arm/neon/vdupQ_np8.c 2010-07-29 15:38:15 +0000
3760+++ new/gcc/testsuite/gcc.target/arm/neon/vdupQ_np8.c 2010-08-20 13:27:11 +0000
3761@@ -16,5 +16,5 @@
3762 out_poly8x16_t = vdupq_n_p8 (arg0_poly8_t);
3763 }
3764
3765-/* { dg-final { scan-assembler "vdup\.8\[ \]+\[qQ\]\[0-9\]+, (\[rR\]\[0-9\]+|\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
3766+/* { dg-final { scan-assembler "vdup\.8\[ \]+\[qQ\]\[0-9\]+, (\[rR\]\[0-9\]+|\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])!?\(\[ \]+@.*\)?\n" } } */
3767 /* { dg-final { cleanup-saved-temps } } */
3768
3769=== modified file 'gcc/testsuite/gcc.target/arm/neon/vdupQ_ns16.c'
3770--- old/gcc/testsuite/gcc.target/arm/neon/vdupQ_ns16.c 2010-07-29 15:38:15 +0000
3771+++ new/gcc/testsuite/gcc.target/arm/neon/vdupQ_ns16.c 2010-08-20 13:27:11 +0000
3772@@ -16,5 +16,5 @@
3773 out_int16x8_t = vdupq_n_s16 (arg0_int16_t);
3774 }
3775
3776-/* { dg-final { scan-assembler "vdup\.16\[ \]+\[qQ\]\[0-9\]+, (\[rR\]\[0-9\]+|\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
3777+/* { dg-final { scan-assembler "vdup\.16\[ \]+\[qQ\]\[0-9\]+, (\[rR\]\[0-9\]+|\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])!?\(\[ \]+@.*\)?\n" } } */
3778 /* { dg-final { cleanup-saved-temps } } */
3779
3780=== modified file 'gcc/testsuite/gcc.target/arm/neon/vdupQ_ns32.c'
3781--- old/gcc/testsuite/gcc.target/arm/neon/vdupQ_ns32.c 2010-07-29 15:38:15 +0000
3782+++ new/gcc/testsuite/gcc.target/arm/neon/vdupQ_ns32.c 2010-08-20 13:27:11 +0000
3783@@ -16,5 +16,5 @@
3784 out_int32x4_t = vdupq_n_s32 (arg0_int32_t);
3785 }
3786
3787-/* { dg-final { scan-assembler "vdup\.32\[ \]+\[qQ\]\[0-9\]+, (\[rR\]\[0-9\]+|\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
3788+/* { dg-final { scan-assembler "vdup\.32\[ \]+\[qQ\]\[0-9\]+, (\[rR\]\[0-9\]+|\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])!?\(\[ \]+@.*\)?\n" } } */
3789 /* { dg-final { cleanup-saved-temps } } */
3790
3791=== modified file 'gcc/testsuite/gcc.target/arm/neon/vdupQ_ns8.c'
3792--- old/gcc/testsuite/gcc.target/arm/neon/vdupQ_ns8.c 2010-07-29 15:38:15 +0000
3793+++ new/gcc/testsuite/gcc.target/arm/neon/vdupQ_ns8.c 2010-08-20 13:27:11 +0000
3794@@ -16,5 +16,5 @@
3795 out_int8x16_t = vdupq_n_s8 (arg0_int8_t);
3796 }
3797
3798-/* { dg-final { scan-assembler "vdup\.8\[ \]+\[qQ\]\[0-9\]+, (\[rR\]\[0-9\]+|\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
3799+/* { dg-final { scan-assembler "vdup\.8\[ \]+\[qQ\]\[0-9\]+, (\[rR\]\[0-9\]+|\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])!?\(\[ \]+@.*\)?\n" } } */
3800 /* { dg-final { cleanup-saved-temps } } */
3801
3802=== modified file 'gcc/testsuite/gcc.target/arm/neon/vdupQ_nu16.c'
3803--- old/gcc/testsuite/gcc.target/arm/neon/vdupQ_nu16.c 2010-07-29 15:38:15 +0000
3804+++ new/gcc/testsuite/gcc.target/arm/neon/vdupQ_nu16.c 2010-08-20 13:27:11 +0000
3805@@ -16,5 +16,5 @@
3806 out_uint16x8_t = vdupq_n_u16 (arg0_uint16_t);
3807 }
3808
3809-/* { dg-final { scan-assembler "vdup\.16\[ \]+\[qQ\]\[0-9\]+, (\[rR\]\[0-9\]+|\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
3810+/* { dg-final { scan-assembler "vdup\.16\[ \]+\[qQ\]\[0-9\]+, (\[rR\]\[0-9\]+|\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])!?\(\[ \]+@.*\)?\n" } } */
3811 /* { dg-final { cleanup-saved-temps } } */
3812
3813=== modified file 'gcc/testsuite/gcc.target/arm/neon/vdupQ_nu32.c'
3814--- old/gcc/testsuite/gcc.target/arm/neon/vdupQ_nu32.c 2010-07-29 15:38:15 +0000
3815+++ new/gcc/testsuite/gcc.target/arm/neon/vdupQ_nu32.c 2010-08-20 13:27:11 +0000
3816@@ -16,5 +16,5 @@
3817 out_uint32x4_t = vdupq_n_u32 (arg0_uint32_t);
3818 }
3819
3820-/* { dg-final { scan-assembler "vdup\.32\[ \]+\[qQ\]\[0-9\]+, (\[rR\]\[0-9\]+|\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
3821+/* { dg-final { scan-assembler "vdup\.32\[ \]+\[qQ\]\[0-9\]+, (\[rR\]\[0-9\]+|\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])!?\(\[ \]+@.*\)?\n" } } */
3822 /* { dg-final { cleanup-saved-temps } } */
3823
3824=== modified file 'gcc/testsuite/gcc.target/arm/neon/vdupQ_nu8.c'
3825--- old/gcc/testsuite/gcc.target/arm/neon/vdupQ_nu8.c 2010-07-29 15:38:15 +0000
3826+++ new/gcc/testsuite/gcc.target/arm/neon/vdupQ_nu8.c 2010-08-20 13:27:11 +0000
3827@@ -16,5 +16,5 @@
3828 out_uint8x16_t = vdupq_n_u8 (arg0_uint8_t);
3829 }
3830
3831-/* { dg-final { scan-assembler "vdup\.8\[ \]+\[qQ\]\[0-9\]+, (\[rR\]\[0-9\]+|\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
3832+/* { dg-final { scan-assembler "vdup\.8\[ \]+\[qQ\]\[0-9\]+, (\[rR\]\[0-9\]+|\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])!?\(\[ \]+@.*\)?\n" } } */
3833 /* { dg-final { cleanup-saved-temps } } */
3834
3835=== modified file 'gcc/testsuite/gcc.target/arm/neon/vdup_lanef32.c'
3836--- old/gcc/testsuite/gcc.target/arm/neon/vdup_lanef32.c 2010-07-29 15:38:15 +0000
3837+++ new/gcc/testsuite/gcc.target/arm/neon/vdup_lanef32.c 2010-08-20 13:27:11 +0000
3838@@ -16,5 +16,5 @@
3839 out_float32x2_t = vdup_lane_f32 (arg0_float32x2_t, 1);
3840 }
3841
3842-/* { dg-final { scan-assembler "vdup\.32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
3843+/* { dg-final { scan-assembler "vdup\.32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
3844 /* { dg-final { cleanup-saved-temps } } */
3845
3846=== modified file 'gcc/testsuite/gcc.target/arm/neon/vdup_lanep16.c'
3847--- old/gcc/testsuite/gcc.target/arm/neon/vdup_lanep16.c 2010-07-29 15:38:15 +0000
3848+++ new/gcc/testsuite/gcc.target/arm/neon/vdup_lanep16.c 2010-08-20 13:27:11 +0000
3849@@ -16,5 +16,5 @@
3850 out_poly16x4_t = vdup_lane_p16 (arg0_poly16x4_t, 1);
3851 }
3852
3853-/* { dg-final { scan-assembler "vdup\.16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
3854+/* { dg-final { scan-assembler "vdup\.16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
3855 /* { dg-final { cleanup-saved-temps } } */
3856
3857=== modified file 'gcc/testsuite/gcc.target/arm/neon/vdup_lanep8.c'
3858--- old/gcc/testsuite/gcc.target/arm/neon/vdup_lanep8.c 2010-07-29 15:38:15 +0000
3859+++ new/gcc/testsuite/gcc.target/arm/neon/vdup_lanep8.c 2010-08-20 13:27:11 +0000
3860@@ -16,5 +16,5 @@
3861 out_poly8x8_t = vdup_lane_p8 (arg0_poly8x8_t, 1);
3862 }
3863
3864-/* { dg-final { scan-assembler "vdup\.8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
3865+/* { dg-final { scan-assembler "vdup\.8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
3866 /* { dg-final { cleanup-saved-temps } } */
3867
3868=== modified file 'gcc/testsuite/gcc.target/arm/neon/vdup_lanes16.c'
3869--- old/gcc/testsuite/gcc.target/arm/neon/vdup_lanes16.c 2010-07-29 15:38:15 +0000
3870+++ new/gcc/testsuite/gcc.target/arm/neon/vdup_lanes16.c 2010-08-20 13:27:11 +0000
3871@@ -16,5 +16,5 @@
3872 out_int16x4_t = vdup_lane_s16 (arg0_int16x4_t, 1);
3873 }
3874
3875-/* { dg-final { scan-assembler "vdup\.16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
3876+/* { dg-final { scan-assembler "vdup\.16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
3877 /* { dg-final { cleanup-saved-temps } } */
3878
3879=== modified file 'gcc/testsuite/gcc.target/arm/neon/vdup_lanes32.c'
3880--- old/gcc/testsuite/gcc.target/arm/neon/vdup_lanes32.c 2010-07-29 15:38:15 +0000
3881+++ new/gcc/testsuite/gcc.target/arm/neon/vdup_lanes32.c 2010-08-20 13:27:11 +0000
3882@@ -16,5 +16,5 @@
3883 out_int32x2_t = vdup_lane_s32 (arg0_int32x2_t, 1);
3884 }
3885
3886-/* { dg-final { scan-assembler "vdup\.32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
3887+/* { dg-final { scan-assembler "vdup\.32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
3888 /* { dg-final { cleanup-saved-temps } } */
3889
3890=== modified file 'gcc/testsuite/gcc.target/arm/neon/vdup_lanes8.c'
3891--- old/gcc/testsuite/gcc.target/arm/neon/vdup_lanes8.c 2010-07-29 15:38:15 +0000
3892+++ new/gcc/testsuite/gcc.target/arm/neon/vdup_lanes8.c 2010-08-20 13:27:11 +0000
3893@@ -16,5 +16,5 @@
3894 out_int8x8_t = vdup_lane_s8 (arg0_int8x8_t, 1);
3895 }
3896
3897-/* { dg-final { scan-assembler "vdup\.8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
3898+/* { dg-final { scan-assembler "vdup\.8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
3899 /* { dg-final { cleanup-saved-temps } } */
3900
3901=== modified file 'gcc/testsuite/gcc.target/arm/neon/vdup_laneu16.c'
3902--- old/gcc/testsuite/gcc.target/arm/neon/vdup_laneu16.c 2010-07-29 15:38:15 +0000
3903+++ new/gcc/testsuite/gcc.target/arm/neon/vdup_laneu16.c 2010-08-20 13:27:11 +0000
3904@@ -16,5 +16,5 @@
3905 out_uint16x4_t = vdup_lane_u16 (arg0_uint16x4_t, 1);
3906 }
3907
3908-/* { dg-final { scan-assembler "vdup\.16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
3909+/* { dg-final { scan-assembler "vdup\.16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
3910 /* { dg-final { cleanup-saved-temps } } */
3911
3912=== modified file 'gcc/testsuite/gcc.target/arm/neon/vdup_laneu32.c'
3913--- old/gcc/testsuite/gcc.target/arm/neon/vdup_laneu32.c 2010-07-29 15:38:15 +0000
3914+++ new/gcc/testsuite/gcc.target/arm/neon/vdup_laneu32.c 2010-08-20 13:27:11 +0000
3915@@ -16,5 +16,5 @@
3916 out_uint32x2_t = vdup_lane_u32 (arg0_uint32x2_t, 1);
3917 }
3918
3919-/* { dg-final { scan-assembler "vdup\.32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
3920+/* { dg-final { scan-assembler "vdup\.32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
3921 /* { dg-final { cleanup-saved-temps } } */
3922
3923=== modified file 'gcc/testsuite/gcc.target/arm/neon/vdup_laneu8.c'
3924--- old/gcc/testsuite/gcc.target/arm/neon/vdup_laneu8.c 2010-07-29 15:38:15 +0000
3925+++ new/gcc/testsuite/gcc.target/arm/neon/vdup_laneu8.c 2010-08-20 13:27:11 +0000
3926@@ -16,5 +16,5 @@
3927 out_uint8x8_t = vdup_lane_u8 (arg0_uint8x8_t, 1);
3928 }
3929
3930-/* { dg-final { scan-assembler "vdup\.8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
3931+/* { dg-final { scan-assembler "vdup\.8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
3932 /* { dg-final { cleanup-saved-temps } } */
3933
3934=== modified file 'gcc/testsuite/gcc.target/arm/neon/vdup_nf32.c'
3935--- old/gcc/testsuite/gcc.target/arm/neon/vdup_nf32.c 2010-07-29 15:38:15 +0000
3936+++ new/gcc/testsuite/gcc.target/arm/neon/vdup_nf32.c 2010-08-20 13:27:11 +0000
3937@@ -16,5 +16,5 @@
3938 out_float32x2_t = vdup_n_f32 (arg0_float32_t);
3939 }
3940
3941-/* { dg-final { scan-assembler "vdup\.32\[ \]+\[dD\]\[0-9\]+, (\[rR\]\[0-9\]+|\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
3942+/* { dg-final { scan-assembler "vdup\.32\[ \]+\[dD\]\[0-9\]+, (\[rR\]\[0-9\]+|\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])!?\(\[ \]+@.*\)?\n" } } */
3943 /* { dg-final { cleanup-saved-temps } } */
3944
3945=== modified file 'gcc/testsuite/gcc.target/arm/neon/vdup_np16.c'
3946--- old/gcc/testsuite/gcc.target/arm/neon/vdup_np16.c 2010-07-29 15:38:15 +0000
3947+++ new/gcc/testsuite/gcc.target/arm/neon/vdup_np16.c 2010-08-20 13:27:11 +0000
3948@@ -16,5 +16,5 @@
3949 out_poly16x4_t = vdup_n_p16 (arg0_poly16_t);
3950 }
3951
3952-/* { dg-final { scan-assembler "vdup\.16\[ \]+\[dD\]\[0-9\]+, (\[rR\]\[0-9\]+|\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
3953+/* { dg-final { scan-assembler "vdup\.16\[ \]+\[dD\]\[0-9\]+, (\[rR\]\[0-9\]+|\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])!?\(\[ \]+@.*\)?\n" } } */
3954 /* { dg-final { cleanup-saved-temps } } */
3955
3956=== modified file 'gcc/testsuite/gcc.target/arm/neon/vdup_np8.c'
3957--- old/gcc/testsuite/gcc.target/arm/neon/vdup_np8.c 2010-07-29 15:38:15 +0000
3958+++ new/gcc/testsuite/gcc.target/arm/neon/vdup_np8.c 2010-08-20 13:27:11 +0000
3959@@ -16,5 +16,5 @@
3960 out_poly8x8_t = vdup_n_p8 (arg0_poly8_t);
3961 }
3962
3963-/* { dg-final { scan-assembler "vdup\.8\[ \]+\[dD\]\[0-9\]+, (\[rR\]\[0-9\]+|\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
3964+/* { dg-final { scan-assembler "vdup\.8\[ \]+\[dD\]\[0-9\]+, (\[rR\]\[0-9\]+|\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])!?\(\[ \]+@.*\)?\n" } } */
3965 /* { dg-final { cleanup-saved-temps } } */
3966
3967=== modified file 'gcc/testsuite/gcc.target/arm/neon/vdup_ns16.c'
3968--- old/gcc/testsuite/gcc.target/arm/neon/vdup_ns16.c 2010-07-29 15:38:15 +0000
3969+++ new/gcc/testsuite/gcc.target/arm/neon/vdup_ns16.c 2010-08-20 13:27:11 +0000
3970@@ -16,5 +16,5 @@
3971 out_int16x4_t = vdup_n_s16 (arg0_int16_t);
3972 }
3973
3974-/* { dg-final { scan-assembler "vdup\.16\[ \]+\[dD\]\[0-9\]+, (\[rR\]\[0-9\]+|\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
3975+/* { dg-final { scan-assembler "vdup\.16\[ \]+\[dD\]\[0-9\]+, (\[rR\]\[0-9\]+|\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])!?\(\[ \]+@.*\)?\n" } } */
3976 /* { dg-final { cleanup-saved-temps } } */
3977
3978=== modified file 'gcc/testsuite/gcc.target/arm/neon/vdup_ns32.c'
3979--- old/gcc/testsuite/gcc.target/arm/neon/vdup_ns32.c 2010-07-29 15:38:15 +0000
3980+++ new/gcc/testsuite/gcc.target/arm/neon/vdup_ns32.c 2010-08-20 13:27:11 +0000
3981@@ -16,5 +16,5 @@
3982 out_int32x2_t = vdup_n_s32 (arg0_int32_t);
3983 }
3984
3985-/* { dg-final { scan-assembler "vdup\.32\[ \]+\[dD\]\[0-9\]+, (\[rR\]\[0-9\]+|\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
3986+/* { dg-final { scan-assembler "vdup\.32\[ \]+\[dD\]\[0-9\]+, (\[rR\]\[0-9\]+|\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])!?\(\[ \]+@.*\)?\n" } } */
3987 /* { dg-final { cleanup-saved-temps } } */
3988
3989=== modified file 'gcc/testsuite/gcc.target/arm/neon/vdup_ns8.c'
3990--- old/gcc/testsuite/gcc.target/arm/neon/vdup_ns8.c 2010-07-29 15:38:15 +0000
3991+++ new/gcc/testsuite/gcc.target/arm/neon/vdup_ns8.c 2010-08-20 13:27:11 +0000
3992@@ -16,5 +16,5 @@
3993 out_int8x8_t = vdup_n_s8 (arg0_int8_t);
3994 }
3995
3996-/* { dg-final { scan-assembler "vdup\.8\[ \]+\[dD\]\[0-9\]+, (\[rR\]\[0-9\]+|\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
3997+/* { dg-final { scan-assembler "vdup\.8\[ \]+\[dD\]\[0-9\]+, (\[rR\]\[0-9\]+|\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])!?\(\[ \]+@.*\)?\n" } } */
3998 /* { dg-final { cleanup-saved-temps } } */
3999
4000=== modified file 'gcc/testsuite/gcc.target/arm/neon/vdup_nu16.c'
4001--- old/gcc/testsuite/gcc.target/arm/neon/vdup_nu16.c 2010-07-29 15:38:15 +0000
4002+++ new/gcc/testsuite/gcc.target/arm/neon/vdup_nu16.c 2010-08-20 13:27:11 +0000
4003@@ -16,5 +16,5 @@
4004 out_uint16x4_t = vdup_n_u16 (arg0_uint16_t);
4005 }
4006
4007-/* { dg-final { scan-assembler "vdup\.16\[ \]+\[dD\]\[0-9\]+, (\[rR\]\[0-9\]+|\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
4008+/* { dg-final { scan-assembler "vdup\.16\[ \]+\[dD\]\[0-9\]+, (\[rR\]\[0-9\]+|\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])!?\(\[ \]+@.*\)?\n" } } */
4009 /* { dg-final { cleanup-saved-temps } } */
4010
4011=== modified file 'gcc/testsuite/gcc.target/arm/neon/vdup_nu32.c'
4012--- old/gcc/testsuite/gcc.target/arm/neon/vdup_nu32.c 2010-07-29 15:38:15 +0000
4013+++ new/gcc/testsuite/gcc.target/arm/neon/vdup_nu32.c 2010-08-20 13:27:11 +0000
4014@@ -16,5 +16,5 @@
4015 out_uint32x2_t = vdup_n_u32 (arg0_uint32_t);
4016 }
4017
4018-/* { dg-final { scan-assembler "vdup\.32\[ \]+\[dD\]\[0-9\]+, (\[rR\]\[0-9\]+|\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
4019+/* { dg-final { scan-assembler "vdup\.32\[ \]+\[dD\]\[0-9\]+, (\[rR\]\[0-9\]+|\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])!?\(\[ \]+@.*\)?\n" } } */
4020 /* { dg-final { cleanup-saved-temps } } */
4021
4022=== modified file 'gcc/testsuite/gcc.target/arm/neon/vdup_nu8.c'
4023--- old/gcc/testsuite/gcc.target/arm/neon/vdup_nu8.c 2010-07-29 15:38:15 +0000
4024+++ new/gcc/testsuite/gcc.target/arm/neon/vdup_nu8.c 2010-08-20 13:27:11 +0000
4025@@ -16,5 +16,5 @@
4026 out_uint8x8_t = vdup_n_u8 (arg0_uint8_t);
4027 }
4028
4029-/* { dg-final { scan-assembler "vdup\.8\[ \]+\[dD\]\[0-9\]+, (\[rR\]\[0-9\]+|\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
4030+/* { dg-final { scan-assembler "vdup\.8\[ \]+\[dD\]\[0-9\]+, (\[rR\]\[0-9\]+|\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])!?\(\[ \]+@.*\)?\n" } } */
4031 /* { dg-final { cleanup-saved-temps } } */
4032
4033=== modified file 'gcc/testsuite/gcc.target/arm/neon/veorQs16.c'
4034--- old/gcc/testsuite/gcc.target/arm/neon/veorQs16.c 2010-07-29 15:38:15 +0000
4035+++ new/gcc/testsuite/gcc.target/arm/neon/veorQs16.c 2010-08-20 13:27:11 +0000
4036@@ -17,5 +17,5 @@
4037 out_int16x8_t = veorq_s16 (arg0_int16x8_t, arg1_int16x8_t);
4038 }
4039
4040-/* { dg-final { scan-assembler "veor\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
4041+/* { dg-final { scan-assembler "veor\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
4042 /* { dg-final { cleanup-saved-temps } } */
4043
4044=== modified file 'gcc/testsuite/gcc.target/arm/neon/veorQs32.c'
4045--- old/gcc/testsuite/gcc.target/arm/neon/veorQs32.c 2010-07-29 15:38:15 +0000
4046+++ new/gcc/testsuite/gcc.target/arm/neon/veorQs32.c 2010-08-20 13:27:11 +0000
4047@@ -17,5 +17,5 @@
4048 out_int32x4_t = veorq_s32 (arg0_int32x4_t, arg1_int32x4_t);
4049 }
4050
4051-/* { dg-final { scan-assembler "veor\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
4052+/* { dg-final { scan-assembler "veor\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
4053 /* { dg-final { cleanup-saved-temps } } */
4054
4055=== modified file 'gcc/testsuite/gcc.target/arm/neon/veorQs64.c'
4056--- old/gcc/testsuite/gcc.target/arm/neon/veorQs64.c 2010-07-29 15:38:15 +0000
4057+++ new/gcc/testsuite/gcc.target/arm/neon/veorQs64.c 2010-08-20 13:27:11 +0000
4058@@ -17,5 +17,5 @@
4059 out_int64x2_t = veorq_s64 (arg0_int64x2_t, arg1_int64x2_t);
4060 }
4061
4062-/* { dg-final { scan-assembler "veor\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
4063+/* { dg-final { scan-assembler "veor\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
4064 /* { dg-final { cleanup-saved-temps } } */
4065
4066=== modified file 'gcc/testsuite/gcc.target/arm/neon/veorQs8.c'
4067--- old/gcc/testsuite/gcc.target/arm/neon/veorQs8.c 2010-07-29 15:38:15 +0000
4068+++ new/gcc/testsuite/gcc.target/arm/neon/veorQs8.c 2010-08-20 13:27:11 +0000
4069@@ -17,5 +17,5 @@
4070 out_int8x16_t = veorq_s8 (arg0_int8x16_t, arg1_int8x16_t);
4071 }
4072
4073-/* { dg-final { scan-assembler "veor\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
4074+/* { dg-final { scan-assembler "veor\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
4075 /* { dg-final { cleanup-saved-temps } } */
4076
4077=== modified file 'gcc/testsuite/gcc.target/arm/neon/veorQu16.c'
4078--- old/gcc/testsuite/gcc.target/arm/neon/veorQu16.c 2010-07-29 15:38:15 +0000
4079+++ new/gcc/testsuite/gcc.target/arm/neon/veorQu16.c 2010-08-20 13:27:11 +0000
4080@@ -17,5 +17,5 @@
4081 out_uint16x8_t = veorq_u16 (arg0_uint16x8_t, arg1_uint16x8_t);
4082 }
4083
4084-/* { dg-final { scan-assembler "veor\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
4085+/* { dg-final { scan-assembler "veor\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
4086 /* { dg-final { cleanup-saved-temps } } */
4087
4088=== modified file 'gcc/testsuite/gcc.target/arm/neon/veorQu32.c'
4089--- old/gcc/testsuite/gcc.target/arm/neon/veorQu32.c 2010-07-29 15:38:15 +0000
4090+++ new/gcc/testsuite/gcc.target/arm/neon/veorQu32.c 2010-08-20 13:27:11 +0000
4091@@ -17,5 +17,5 @@
4092 out_uint32x4_t = veorq_u32 (arg0_uint32x4_t, arg1_uint32x4_t);
4093 }
4094
4095-/* { dg-final { scan-assembler "veor\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
4096+/* { dg-final { scan-assembler "veor\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
4097 /* { dg-final { cleanup-saved-temps } } */
4098
4099=== modified file 'gcc/testsuite/gcc.target/arm/neon/veorQu64.c'
4100--- old/gcc/testsuite/gcc.target/arm/neon/veorQu64.c 2010-07-29 15:38:15 +0000
4101+++ new/gcc/testsuite/gcc.target/arm/neon/veorQu64.c 2010-08-20 13:27:11 +0000
4102@@ -17,5 +17,5 @@
4103 out_uint64x2_t = veorq_u64 (arg0_uint64x2_t, arg1_uint64x2_t);
4104 }
4105
4106-/* { dg-final { scan-assembler "veor\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
4107+/* { dg-final { scan-assembler "veor\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
4108 /* { dg-final { cleanup-saved-temps } } */
4109
4110=== modified file 'gcc/testsuite/gcc.target/arm/neon/veorQu8.c'
4111--- old/gcc/testsuite/gcc.target/arm/neon/veorQu8.c 2010-07-29 15:38:15 +0000
4112+++ new/gcc/testsuite/gcc.target/arm/neon/veorQu8.c 2010-08-20 13:27:11 +0000
4113@@ -17,5 +17,5 @@
4114 out_uint8x16_t = veorq_u8 (arg0_uint8x16_t, arg1_uint8x16_t);
4115 }
4116
4117-/* { dg-final { scan-assembler "veor\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
4118+/* { dg-final { scan-assembler "veor\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
4119 /* { dg-final { cleanup-saved-temps } } */
4120
4121=== modified file 'gcc/testsuite/gcc.target/arm/neon/veors16.c'
4122--- old/gcc/testsuite/gcc.target/arm/neon/veors16.c 2010-07-29 15:38:15 +0000
4123+++ new/gcc/testsuite/gcc.target/arm/neon/veors16.c 2010-08-20 13:27:11 +0000
4124@@ -17,5 +17,5 @@
4125 out_int16x4_t = veor_s16 (arg0_int16x4_t, arg1_int16x4_t);
4126 }
4127
4128-/* { dg-final { scan-assembler "veor\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
4129+/* { dg-final { scan-assembler "veor\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
4130 /* { dg-final { cleanup-saved-temps } } */
4131
4132=== modified file 'gcc/testsuite/gcc.target/arm/neon/veors32.c'
4133--- old/gcc/testsuite/gcc.target/arm/neon/veors32.c 2010-07-29 15:38:15 +0000
4134+++ new/gcc/testsuite/gcc.target/arm/neon/veors32.c 2010-08-20 13:27:11 +0000
4135@@ -17,5 +17,5 @@
4136 out_int32x2_t = veor_s32 (arg0_int32x2_t, arg1_int32x2_t);
4137 }
4138
4139-/* { dg-final { scan-assembler "veor\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
4140+/* { dg-final { scan-assembler "veor\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
4141 /* { dg-final { cleanup-saved-temps } } */
4142
4143=== modified file 'gcc/testsuite/gcc.target/arm/neon/veors8.c'
4144--- old/gcc/testsuite/gcc.target/arm/neon/veors8.c 2010-07-29 15:38:15 +0000
4145+++ new/gcc/testsuite/gcc.target/arm/neon/veors8.c 2010-08-20 13:27:11 +0000
4146@@ -17,5 +17,5 @@
4147 out_int8x8_t = veor_s8 (arg0_int8x8_t, arg1_int8x8_t);
4148 }
4149
4150-/* { dg-final { scan-assembler "veor\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
4151+/* { dg-final { scan-assembler "veor\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
4152 /* { dg-final { cleanup-saved-temps } } */
4153
4154=== modified file 'gcc/testsuite/gcc.target/arm/neon/veoru16.c'
4155--- old/gcc/testsuite/gcc.target/arm/neon/veoru16.c 2010-07-29 15:38:15 +0000
4156+++ new/gcc/testsuite/gcc.target/arm/neon/veoru16.c 2010-08-20 13:27:11 +0000
4157@@ -17,5 +17,5 @@
4158 out_uint16x4_t = veor_u16 (arg0_uint16x4_t, arg1_uint16x4_t);
4159 }
4160
4161-/* { dg-final { scan-assembler "veor\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
4162+/* { dg-final { scan-assembler "veor\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
4163 /* { dg-final { cleanup-saved-temps } } */
4164
4165=== modified file 'gcc/testsuite/gcc.target/arm/neon/veoru32.c'
4166--- old/gcc/testsuite/gcc.target/arm/neon/veoru32.c 2010-07-29 15:38:15 +0000
4167+++ new/gcc/testsuite/gcc.target/arm/neon/veoru32.c 2010-08-20 13:27:11 +0000
4168@@ -17,5 +17,5 @@
4169 out_uint32x2_t = veor_u32 (arg0_uint32x2_t, arg1_uint32x2_t);
4170 }
4171
4172-/* { dg-final { scan-assembler "veor\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
4173+/* { dg-final { scan-assembler "veor\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
4174 /* { dg-final { cleanup-saved-temps } } */
4175
4176=== modified file 'gcc/testsuite/gcc.target/arm/neon/veoru8.c'
4177--- old/gcc/testsuite/gcc.target/arm/neon/veoru8.c 2010-07-29 15:38:15 +0000
4178+++ new/gcc/testsuite/gcc.target/arm/neon/veoru8.c 2010-08-20 13:27:11 +0000
4179@@ -17,5 +17,5 @@
4180 out_uint8x8_t = veor_u8 (arg0_uint8x8_t, arg1_uint8x8_t);
4181 }
4182
4183-/* { dg-final { scan-assembler "veor\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
4184+/* { dg-final { scan-assembler "veor\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
4185 /* { dg-final { cleanup-saved-temps } } */
4186
4187=== modified file 'gcc/testsuite/gcc.target/arm/neon/vextQf32.c'
4188--- old/gcc/testsuite/gcc.target/arm/neon/vextQf32.c 2010-07-29 15:38:15 +0000
4189+++ new/gcc/testsuite/gcc.target/arm/neon/vextQf32.c 2010-08-20 13:27:11 +0000
4190@@ -17,5 +17,5 @@
4191 out_float32x4_t = vextq_f32 (arg0_float32x4_t, arg1_float32x4_t, 0);
4192 }
4193
4194-/* { dg-final { scan-assembler "vext\.32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
4195+/* { dg-final { scan-assembler "vext\.32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
4196 /* { dg-final { cleanup-saved-temps } } */
4197
4198=== modified file 'gcc/testsuite/gcc.target/arm/neon/vextQp16.c'
4199--- old/gcc/testsuite/gcc.target/arm/neon/vextQp16.c 2010-07-29 15:38:15 +0000
4200+++ new/gcc/testsuite/gcc.target/arm/neon/vextQp16.c 2010-08-20 13:27:11 +0000
4201@@ -17,5 +17,5 @@
4202 out_poly16x8_t = vextq_p16 (arg0_poly16x8_t, arg1_poly16x8_t, 0);
4203 }
4204
4205-/* { dg-final { scan-assembler "vext\.16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
4206+/* { dg-final { scan-assembler "vext\.16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
4207 /* { dg-final { cleanup-saved-temps } } */
4208
4209=== modified file 'gcc/testsuite/gcc.target/arm/neon/vextQp8.c'
4210--- old/gcc/testsuite/gcc.target/arm/neon/vextQp8.c 2010-07-29 15:38:15 +0000
4211+++ new/gcc/testsuite/gcc.target/arm/neon/vextQp8.c 2010-08-20 13:27:11 +0000
4212@@ -17,5 +17,5 @@
4213 out_poly8x16_t = vextq_p8 (arg0_poly8x16_t, arg1_poly8x16_t, 0);
4214 }
4215
4216-/* { dg-final { scan-assembler "vext\.8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
4217+/* { dg-final { scan-assembler "vext\.8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
4218 /* { dg-final { cleanup-saved-temps } } */
4219
4220=== modified file 'gcc/testsuite/gcc.target/arm/neon/vextQs16.c'
4221--- old/gcc/testsuite/gcc.target/arm/neon/vextQs16.c 2010-07-29 15:38:15 +0000
4222+++ new/gcc/testsuite/gcc.target/arm/neon/vextQs16.c 2010-08-20 13:27:11 +0000
4223@@ -17,5 +17,5 @@
4224 out_int16x8_t = vextq_s16 (arg0_int16x8_t, arg1_int16x8_t, 0);
4225 }
4226
4227-/* { dg-final { scan-assembler "vext\.16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
4228+/* { dg-final { scan-assembler "vext\.16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
4229 /* { dg-final { cleanup-saved-temps } } */
4230
4231=== modified file 'gcc/testsuite/gcc.target/arm/neon/vextQs32.c'
4232--- old/gcc/testsuite/gcc.target/arm/neon/vextQs32.c 2010-07-29 15:38:15 +0000
4233+++ new/gcc/testsuite/gcc.target/arm/neon/vextQs32.c 2010-08-20 13:27:11 +0000
4234@@ -17,5 +17,5 @@
4235 out_int32x4_t = vextq_s32 (arg0_int32x4_t, arg1_int32x4_t, 0);
4236 }
4237
4238-/* { dg-final { scan-assembler "vext\.32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
4239+/* { dg-final { scan-assembler "vext\.32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
4240 /* { dg-final { cleanup-saved-temps } } */
4241
4242=== modified file 'gcc/testsuite/gcc.target/arm/neon/vextQs64.c'
4243--- old/gcc/testsuite/gcc.target/arm/neon/vextQs64.c 2010-07-29 15:38:15 +0000
4244+++ new/gcc/testsuite/gcc.target/arm/neon/vextQs64.c 2010-08-20 13:27:11 +0000
4245@@ -17,5 +17,5 @@
4246 out_int64x2_t = vextq_s64 (arg0_int64x2_t, arg1_int64x2_t, 0);
4247 }
4248
4249-/* { dg-final { scan-assembler "vext\.64\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
4250+/* { dg-final { scan-assembler "vext\.64\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
4251 /* { dg-final { cleanup-saved-temps } } */
4252
4253=== modified file 'gcc/testsuite/gcc.target/arm/neon/vextQs8.c'
4254--- old/gcc/testsuite/gcc.target/arm/neon/vextQs8.c 2010-07-29 15:38:15 +0000
4255+++ new/gcc/testsuite/gcc.target/arm/neon/vextQs8.c 2010-08-20 13:27:11 +0000
4256@@ -17,5 +17,5 @@
4257 out_int8x16_t = vextq_s8 (arg0_int8x16_t, arg1_int8x16_t, 0);
4258 }
4259
4260-/* { dg-final { scan-assembler "vext\.8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
4261+/* { dg-final { scan-assembler "vext\.8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
4262 /* { dg-final { cleanup-saved-temps } } */
4263
4264=== modified file 'gcc/testsuite/gcc.target/arm/neon/vextQu16.c'
4265--- old/gcc/testsuite/gcc.target/arm/neon/vextQu16.c 2010-07-29 15:38:15 +0000
4266+++ new/gcc/testsuite/gcc.target/arm/neon/vextQu16.c 2010-08-20 13:27:11 +0000
4267@@ -17,5 +17,5 @@
4268 out_uint16x8_t = vextq_u16 (arg0_uint16x8_t, arg1_uint16x8_t, 0);
4269 }
4270
4271-/* { dg-final { scan-assembler "vext\.16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
4272+/* { dg-final { scan-assembler "vext\.16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
4273 /* { dg-final { cleanup-saved-temps } } */
4274
4275=== modified file 'gcc/testsuite/gcc.target/arm/neon/vextQu32.c'
4276--- old/gcc/testsuite/gcc.target/arm/neon/vextQu32.c 2010-07-29 15:38:15 +0000
4277+++ new/gcc/testsuite/gcc.target/arm/neon/vextQu32.c 2010-08-20 13:27:11 +0000
4278@@ -17,5 +17,5 @@
4279 out_uint32x4_t = vextq_u32 (arg0_uint32x4_t, arg1_uint32x4_t, 0);
4280 }
4281
4282-/* { dg-final { scan-assembler "vext\.32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
4283+/* { dg-final { scan-assembler "vext\.32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
4284 /* { dg-final { cleanup-saved-temps } } */
4285
4286=== modified file 'gcc/testsuite/gcc.target/arm/neon/vextQu64.c'
4287--- old/gcc/testsuite/gcc.target/arm/neon/vextQu64.c 2010-07-29 15:38:15 +0000
4288+++ new/gcc/testsuite/gcc.target/arm/neon/vextQu64.c 2010-08-20 13:27:11 +0000
4289@@ -17,5 +17,5 @@
4290 out_uint64x2_t = vextq_u64 (arg0_uint64x2_t, arg1_uint64x2_t, 0);
4291 }
4292
4293-/* { dg-final { scan-assembler "vext\.64\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
4294+/* { dg-final { scan-assembler "vext\.64\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
4295 /* { dg-final { cleanup-saved-temps } } */
4296
4297=== modified file 'gcc/testsuite/gcc.target/arm/neon/vextQu8.c'
4298--- old/gcc/testsuite/gcc.target/arm/neon/vextQu8.c 2010-07-29 15:38:15 +0000
4299+++ new/gcc/testsuite/gcc.target/arm/neon/vextQu8.c 2010-08-20 13:27:11 +0000
4300@@ -17,5 +17,5 @@
4301 out_uint8x16_t = vextq_u8 (arg0_uint8x16_t, arg1_uint8x16_t, 0);
4302 }
4303
4304-/* { dg-final { scan-assembler "vext\.8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
4305+/* { dg-final { scan-assembler "vext\.8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
4306 /* { dg-final { cleanup-saved-temps } } */
4307
4308=== modified file 'gcc/testsuite/gcc.target/arm/neon/vextf32.c'
4309--- old/gcc/testsuite/gcc.target/arm/neon/vextf32.c 2010-07-29 15:38:15 +0000
4310+++ new/gcc/testsuite/gcc.target/arm/neon/vextf32.c 2010-08-20 13:27:11 +0000
4311@@ -17,5 +17,5 @@
4312 out_float32x2_t = vext_f32 (arg0_float32x2_t, arg1_float32x2_t, 0);
4313 }
4314
4315-/* { dg-final { scan-assembler "vext\.32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
4316+/* { dg-final { scan-assembler "vext\.32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
4317 /* { dg-final { cleanup-saved-temps } } */
4318
4319=== modified file 'gcc/testsuite/gcc.target/arm/neon/vextp16.c'
4320--- old/gcc/testsuite/gcc.target/arm/neon/vextp16.c 2010-07-29 15:38:15 +0000
4321+++ new/gcc/testsuite/gcc.target/arm/neon/vextp16.c 2010-08-20 13:27:11 +0000
4322@@ -17,5 +17,5 @@
4323 out_poly16x4_t = vext_p16 (arg0_poly16x4_t, arg1_poly16x4_t, 0);
4324 }
4325
4326-/* { dg-final { scan-assembler "vext\.16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
4327+/* { dg-final { scan-assembler "vext\.16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
4328 /* { dg-final { cleanup-saved-temps } } */
4329
4330=== modified file 'gcc/testsuite/gcc.target/arm/neon/vextp8.c'
4331--- old/gcc/testsuite/gcc.target/arm/neon/vextp8.c 2010-07-29 15:38:15 +0000
4332+++ new/gcc/testsuite/gcc.target/arm/neon/vextp8.c 2010-08-20 13:27:11 +0000
4333@@ -17,5 +17,5 @@
4334 out_poly8x8_t = vext_p8 (arg0_poly8x8_t, arg1_poly8x8_t, 0);
4335 }
4336
4337-/* { dg-final { scan-assembler "vext\.8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
4338+/* { dg-final { scan-assembler "vext\.8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
4339 /* { dg-final { cleanup-saved-temps } } */
4340
4341=== modified file 'gcc/testsuite/gcc.target/arm/neon/vexts16.c'
4342--- old/gcc/testsuite/gcc.target/arm/neon/vexts16.c 2010-07-29 15:38:15 +0000
4343+++ new/gcc/testsuite/gcc.target/arm/neon/vexts16.c 2010-08-20 13:27:11 +0000
4344@@ -17,5 +17,5 @@
4345 out_int16x4_t = vext_s16 (arg0_int16x4_t, arg1_int16x4_t, 0);
4346 }
4347
4348-/* { dg-final { scan-assembler "vext\.16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
4349+/* { dg-final { scan-assembler "vext\.16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
4350 /* { dg-final { cleanup-saved-temps } } */
4351
4352=== modified file 'gcc/testsuite/gcc.target/arm/neon/vexts32.c'
4353--- old/gcc/testsuite/gcc.target/arm/neon/vexts32.c 2010-07-29 15:38:15 +0000
4354+++ new/gcc/testsuite/gcc.target/arm/neon/vexts32.c 2010-08-20 13:27:11 +0000
4355@@ -17,5 +17,5 @@
4356 out_int32x2_t = vext_s32 (arg0_int32x2_t, arg1_int32x2_t, 0);
4357 }
4358
4359-/* { dg-final { scan-assembler "vext\.32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
4360+/* { dg-final { scan-assembler "vext\.32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
4361 /* { dg-final { cleanup-saved-temps } } */
4362
4363=== modified file 'gcc/testsuite/gcc.target/arm/neon/vexts64.c'
4364--- old/gcc/testsuite/gcc.target/arm/neon/vexts64.c 2010-07-29 15:38:15 +0000
4365+++ new/gcc/testsuite/gcc.target/arm/neon/vexts64.c 2010-08-20 13:27:11 +0000
4366@@ -17,5 +17,5 @@
4367 out_int64x1_t = vext_s64 (arg0_int64x1_t, arg1_int64x1_t, 0);
4368 }
4369
4370-/* { dg-final { scan-assembler "vext\.64\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
4371+/* { dg-final { scan-assembler "vext\.64\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
4372 /* { dg-final { cleanup-saved-temps } } */
4373
4374=== modified file 'gcc/testsuite/gcc.target/arm/neon/vexts8.c'
4375--- old/gcc/testsuite/gcc.target/arm/neon/vexts8.c 2010-07-29 15:38:15 +0000
4376+++ new/gcc/testsuite/gcc.target/arm/neon/vexts8.c 2010-08-20 13:27:11 +0000
4377@@ -17,5 +17,5 @@
4378 out_int8x8_t = vext_s8 (arg0_int8x8_t, arg1_int8x8_t, 0);
4379 }
4380
4381-/* { dg-final { scan-assembler "vext\.8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
4382+/* { dg-final { scan-assembler "vext\.8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
4383 /* { dg-final { cleanup-saved-temps } } */
4384
4385=== modified file 'gcc/testsuite/gcc.target/arm/neon/vextu16.c'
4386--- old/gcc/testsuite/gcc.target/arm/neon/vextu16.c 2010-07-29 15:38:15 +0000
4387+++ new/gcc/testsuite/gcc.target/arm/neon/vextu16.c 2010-08-20 13:27:11 +0000
4388@@ -17,5 +17,5 @@
4389 out_uint16x4_t = vext_u16 (arg0_uint16x4_t, arg1_uint16x4_t, 0);
4390 }
4391
4392-/* { dg-final { scan-assembler "vext\.16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
4393+/* { dg-final { scan-assembler "vext\.16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
4394 /* { dg-final { cleanup-saved-temps } } */
4395
4396=== modified file 'gcc/testsuite/gcc.target/arm/neon/vextu32.c'
4397--- old/gcc/testsuite/gcc.target/arm/neon/vextu32.c 2010-07-29 15:38:15 +0000
4398+++ new/gcc/testsuite/gcc.target/arm/neon/vextu32.c 2010-08-20 13:27:11 +0000
4399@@ -17,5 +17,5 @@
4400 out_uint32x2_t = vext_u32 (arg0_uint32x2_t, arg1_uint32x2_t, 0);
4401 }
4402
4403-/* { dg-final { scan-assembler "vext\.32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
4404+/* { dg-final { scan-assembler "vext\.32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
4405 /* { dg-final { cleanup-saved-temps } } */
4406
4407=== modified file 'gcc/testsuite/gcc.target/arm/neon/vextu64.c'
4408--- old/gcc/testsuite/gcc.target/arm/neon/vextu64.c 2010-07-29 15:38:15 +0000
4409+++ new/gcc/testsuite/gcc.target/arm/neon/vextu64.c 2010-08-20 13:27:11 +0000
4410@@ -17,5 +17,5 @@
4411 out_uint64x1_t = vext_u64 (arg0_uint64x1_t, arg1_uint64x1_t, 0);
4412 }
4413
4414-/* { dg-final { scan-assembler "vext\.64\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
4415+/* { dg-final { scan-assembler "vext\.64\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
4416 /* { dg-final { cleanup-saved-temps } } */
4417
4418=== modified file 'gcc/testsuite/gcc.target/arm/neon/vextu8.c'
4419--- old/gcc/testsuite/gcc.target/arm/neon/vextu8.c 2010-07-29 15:38:15 +0000
4420+++ new/gcc/testsuite/gcc.target/arm/neon/vextu8.c 2010-08-20 13:27:11 +0000
4421@@ -17,5 +17,5 @@
4422 out_uint8x8_t = vext_u8 (arg0_uint8x8_t, arg1_uint8x8_t, 0);
4423 }
4424
4425-/* { dg-final { scan-assembler "vext\.8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
4426+/* { dg-final { scan-assembler "vext\.8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
4427 /* { dg-final { cleanup-saved-temps } } */
4428
4429=== modified file 'gcc/testsuite/gcc.target/arm/neon/vfp-shift-a2t2.c'
4430--- old/gcc/testsuite/gcc.target/arm/neon/vfp-shift-a2t2.c 2010-07-29 15:38:15 +0000
4431+++ new/gcc/testsuite/gcc.target/arm/neon/vfp-shift-a2t2.c 2010-08-20 13:27:11 +0000
4432@@ -22,7 +22,7 @@
4433 return vshll_n_u32(a, 32);
4434 }
4435
4436-/* { dg-final { scan-assembler "vshll\.u16\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
4437-/* { dg-final { scan-assembler "vshll\.u32\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
4438-/* { dg-final { scan-assembler "vshll\.u8\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
4439+/* { dg-final { scan-assembler "vshll\.u16\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
4440+/* { dg-final { scan-assembler "vshll\.u32\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
4441+/* { dg-final { scan-assembler "vshll\.u8\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
4442 /* { dg-final { cleanup-saved-temps } } */
4443
4444=== modified file 'gcc/testsuite/gcc.target/arm/neon/vgetQ_lanef32.c'
4445--- old/gcc/testsuite/gcc.target/arm/neon/vgetQ_lanef32.c 2010-07-29 15:38:15 +0000
4446+++ new/gcc/testsuite/gcc.target/arm/neon/vgetQ_lanef32.c 2010-08-20 13:27:11 +0000
4447@@ -16,5 +16,5 @@
4448 out_float32_t = vgetq_lane_f32 (arg0_float32x4_t, 1);
4449 }
4450
4451-/* { dg-final { scan-assembler "vmov\.32\[ \]+\[rR\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
4452+/* { dg-final { scan-assembler "vmov\.32\[ \]+\[rR\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
4453 /* { dg-final { cleanup-saved-temps } } */
4454
4455=== modified file 'gcc/testsuite/gcc.target/arm/neon/vgetQ_lanep16.c'
4456--- old/gcc/testsuite/gcc.target/arm/neon/vgetQ_lanep16.c 2010-07-29 15:38:15 +0000
4457+++ new/gcc/testsuite/gcc.target/arm/neon/vgetQ_lanep16.c 2010-08-20 13:27:11 +0000
4458@@ -16,5 +16,5 @@
4459 out_poly16_t = vgetq_lane_p16 (arg0_poly16x8_t, 1);
4460 }
4461
4462-/* { dg-final { scan-assembler "vmov\.u16\[ \]+\[rR\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
4463+/* { dg-final { scan-assembler "vmov\.u16\[ \]+\[rR\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
4464 /* { dg-final { cleanup-saved-temps } } */
4465
4466=== modified file 'gcc/testsuite/gcc.target/arm/neon/vgetQ_lanep8.c'
4467--- old/gcc/testsuite/gcc.target/arm/neon/vgetQ_lanep8.c 2010-07-29 15:38:15 +0000
4468+++ new/gcc/testsuite/gcc.target/arm/neon/vgetQ_lanep8.c 2010-08-20 13:27:11 +0000
4469@@ -16,5 +16,5 @@
4470 out_poly8_t = vgetq_lane_p8 (arg0_poly8x16_t, 1);
4471 }
4472
4473-/* { dg-final { scan-assembler "vmov\.u8\[ \]+\[rR\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
4474+/* { dg-final { scan-assembler "vmov\.u8\[ \]+\[rR\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
4475 /* { dg-final { cleanup-saved-temps } } */
4476
4477=== modified file 'gcc/testsuite/gcc.target/arm/neon/vgetQ_lanes16.c'
4478--- old/gcc/testsuite/gcc.target/arm/neon/vgetQ_lanes16.c 2010-07-29 15:38:15 +0000
4479+++ new/gcc/testsuite/gcc.target/arm/neon/vgetQ_lanes16.c 2010-08-20 13:27:11 +0000
4480@@ -16,5 +16,5 @@
4481 out_int16_t = vgetq_lane_s16 (arg0_int16x8_t, 1);
4482 }
4483
4484-/* { dg-final { scan-assembler "vmov\.s16\[ \]+\[rR\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
4485+/* { dg-final { scan-assembler "vmov\.s16\[ \]+\[rR\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
4486 /* { dg-final { cleanup-saved-temps } } */
4487
4488=== modified file 'gcc/testsuite/gcc.target/arm/neon/vgetQ_lanes32.c'
4489--- old/gcc/testsuite/gcc.target/arm/neon/vgetQ_lanes32.c 2010-07-29 15:38:15 +0000
4490+++ new/gcc/testsuite/gcc.target/arm/neon/vgetQ_lanes32.c 2010-08-20 13:27:11 +0000
4491@@ -16,5 +16,5 @@
4492 out_int32_t = vgetq_lane_s32 (arg0_int32x4_t, 1);
4493 }
4494
4495-/* { dg-final { scan-assembler "vmov\.32\[ \]+\[rR\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
4496+/* { dg-final { scan-assembler "vmov\.32\[ \]+\[rR\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
4497 /* { dg-final { cleanup-saved-temps } } */
4498
4499=== modified file 'gcc/testsuite/gcc.target/arm/neon/vgetQ_lanes64.c'
4500--- old/gcc/testsuite/gcc.target/arm/neon/vgetQ_lanes64.c 2010-07-29 15:38:15 +0000
4501+++ new/gcc/testsuite/gcc.target/arm/neon/vgetQ_lanes64.c 2010-08-20 13:27:11 +0000
4502@@ -16,5 +16,5 @@
4503 out_int64_t = vgetq_lane_s64 (arg0_int64x2_t, 0);
4504 }
4505
4506-/* { dg-final { scan-assembler "vmov\[ \]+\[rR\]\[0-9\]+, \[rR\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
4507+/* { dg-final { scan-assembler "vmov\[ \]+\[rR\]\[0-9\]+, \[rR\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
4508 /* { dg-final { cleanup-saved-temps } } */
4509
4510=== modified file 'gcc/testsuite/gcc.target/arm/neon/vgetQ_lanes8.c'
4511--- old/gcc/testsuite/gcc.target/arm/neon/vgetQ_lanes8.c 2010-07-29 15:38:15 +0000
4512+++ new/gcc/testsuite/gcc.target/arm/neon/vgetQ_lanes8.c 2010-08-20 13:27:11 +0000
4513@@ -16,5 +16,5 @@
4514 out_int8_t = vgetq_lane_s8 (arg0_int8x16_t, 1);
4515 }
4516
4517-/* { dg-final { scan-assembler "vmov\.s8\[ \]+\[rR\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
4518+/* { dg-final { scan-assembler "vmov\.s8\[ \]+\[rR\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
4519 /* { dg-final { cleanup-saved-temps } } */
4520
4521=== modified file 'gcc/testsuite/gcc.target/arm/neon/vgetQ_laneu16.c'
4522--- old/gcc/testsuite/gcc.target/arm/neon/vgetQ_laneu16.c 2010-07-29 15:38:15 +0000
4523+++ new/gcc/testsuite/gcc.target/arm/neon/vgetQ_laneu16.c 2010-08-20 13:27:11 +0000
4524@@ -16,5 +16,5 @@
4525 out_uint16_t = vgetq_lane_u16 (arg0_uint16x8_t, 1);
4526 }
4527
4528-/* { dg-final { scan-assembler "vmov\.u16\[ \]+\[rR\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
4529+/* { dg-final { scan-assembler "vmov\.u16\[ \]+\[rR\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
4530 /* { dg-final { cleanup-saved-temps } } */
4531
4532=== modified file 'gcc/testsuite/gcc.target/arm/neon/vgetQ_laneu32.c'
4533--- old/gcc/testsuite/gcc.target/arm/neon/vgetQ_laneu32.c 2010-07-29 15:38:15 +0000
4534+++ new/gcc/testsuite/gcc.target/arm/neon/vgetQ_laneu32.c 2010-08-20 13:27:11 +0000
4535@@ -16,5 +16,5 @@
4536 out_uint32_t = vgetq_lane_u32 (arg0_uint32x4_t, 1);
4537 }
4538
4539-/* { dg-final { scan-assembler "vmov\.32\[ \]+\[rR\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
4540+/* { dg-final { scan-assembler "vmov\.32\[ \]+\[rR\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
4541 /* { dg-final { cleanup-saved-temps } } */
4542
4543=== modified file 'gcc/testsuite/gcc.target/arm/neon/vgetQ_laneu64.c'
4544--- old/gcc/testsuite/gcc.target/arm/neon/vgetQ_laneu64.c 2010-07-29 15:38:15 +0000
4545+++ new/gcc/testsuite/gcc.target/arm/neon/vgetQ_laneu64.c 2010-08-20 13:27:11 +0000
4546@@ -16,5 +16,5 @@
4547 out_uint64_t = vgetq_lane_u64 (arg0_uint64x2_t, 0);
4548 }
4549
4550-/* { dg-final { scan-assembler "vmov\[ \]+\[rR\]\[0-9\]+, \[rR\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
4551+/* { dg-final { scan-assembler "vmov\[ \]+\[rR\]\[0-9\]+, \[rR\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
4552 /* { dg-final { cleanup-saved-temps } } */
4553
4554=== modified file 'gcc/testsuite/gcc.target/arm/neon/vgetQ_laneu8.c'
4555--- old/gcc/testsuite/gcc.target/arm/neon/vgetQ_laneu8.c 2010-07-29 15:38:15 +0000
4556+++ new/gcc/testsuite/gcc.target/arm/neon/vgetQ_laneu8.c 2010-08-20 13:27:11 +0000
4557@@ -16,5 +16,5 @@
4558 out_uint8_t = vgetq_lane_u8 (arg0_uint8x16_t, 1);
4559 }
4560
4561-/* { dg-final { scan-assembler "vmov\.u8\[ \]+\[rR\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
4562+/* { dg-final { scan-assembler "vmov\.u8\[ \]+\[rR\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
4563 /* { dg-final { cleanup-saved-temps } } */
4564
4565=== modified file 'gcc/testsuite/gcc.target/arm/neon/vget_lanef32.c'
4566--- old/gcc/testsuite/gcc.target/arm/neon/vget_lanef32.c 2010-07-29 15:38:15 +0000
4567+++ new/gcc/testsuite/gcc.target/arm/neon/vget_lanef32.c 2010-08-20 13:27:11 +0000
4568@@ -16,5 +16,5 @@
4569 out_float32_t = vget_lane_f32 (arg0_float32x2_t, 1);
4570 }
4571
4572-/* { dg-final { scan-assembler "vmov\.32\[ \]+\[rR\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
4573+/* { dg-final { scan-assembler "vmov\.32\[ \]+\[rR\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
4574 /* { dg-final { cleanup-saved-temps } } */
4575
4576=== modified file 'gcc/testsuite/gcc.target/arm/neon/vget_lanep16.c'
4577--- old/gcc/testsuite/gcc.target/arm/neon/vget_lanep16.c 2010-07-29 15:38:15 +0000
4578+++ new/gcc/testsuite/gcc.target/arm/neon/vget_lanep16.c 2010-08-20 13:27:11 +0000
4579@@ -16,5 +16,5 @@
4580 out_poly16_t = vget_lane_p16 (arg0_poly16x4_t, 1);
4581 }
4582
4583-/* { dg-final { scan-assembler "vmov\.u16\[ \]+\[rR\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
4584+/* { dg-final { scan-assembler "vmov\.u16\[ \]+\[rR\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
4585 /* { dg-final { cleanup-saved-temps } } */
4586
4587=== modified file 'gcc/testsuite/gcc.target/arm/neon/vget_lanep8.c'
4588--- old/gcc/testsuite/gcc.target/arm/neon/vget_lanep8.c 2010-07-29 15:38:15 +0000
4589+++ new/gcc/testsuite/gcc.target/arm/neon/vget_lanep8.c 2010-08-20 13:27:11 +0000
4590@@ -16,5 +16,5 @@
4591 out_poly8_t = vget_lane_p8 (arg0_poly8x8_t, 1);
4592 }
4593
4594-/* { dg-final { scan-assembler "vmov\.u8\[ \]+\[rR\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
4595+/* { dg-final { scan-assembler "vmov\.u8\[ \]+\[rR\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
4596 /* { dg-final { cleanup-saved-temps } } */
4597
4598=== modified file 'gcc/testsuite/gcc.target/arm/neon/vget_lanes16.c'
4599--- old/gcc/testsuite/gcc.target/arm/neon/vget_lanes16.c 2010-07-29 15:38:15 +0000
4600+++ new/gcc/testsuite/gcc.target/arm/neon/vget_lanes16.c 2010-08-20 13:27:11 +0000
4601@@ -16,5 +16,5 @@
4602 out_int16_t = vget_lane_s16 (arg0_int16x4_t, 1);
4603 }
4604
4605-/* { dg-final { scan-assembler "vmov\.s16\[ \]+\[rR\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
4606+/* { dg-final { scan-assembler "vmov\.s16\[ \]+\[rR\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
4607 /* { dg-final { cleanup-saved-temps } } */
4608
4609=== modified file 'gcc/testsuite/gcc.target/arm/neon/vget_lanes32.c'
4610--- old/gcc/testsuite/gcc.target/arm/neon/vget_lanes32.c 2010-07-29 15:38:15 +0000
4611+++ new/gcc/testsuite/gcc.target/arm/neon/vget_lanes32.c 2010-08-20 13:27:11 +0000
4612@@ -16,5 +16,5 @@
4613 out_int32_t = vget_lane_s32 (arg0_int32x2_t, 1);
4614 }
4615
4616-/* { dg-final { scan-assembler "vmov\.32\[ \]+\[rR\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
4617+/* { dg-final { scan-assembler "vmov\.32\[ \]+\[rR\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
4618 /* { dg-final { cleanup-saved-temps } } */
4619
4620=== modified file 'gcc/testsuite/gcc.target/arm/neon/vget_lanes8.c'
4621--- old/gcc/testsuite/gcc.target/arm/neon/vget_lanes8.c 2010-07-29 15:38:15 +0000
4622+++ new/gcc/testsuite/gcc.target/arm/neon/vget_lanes8.c 2010-08-20 13:27:11 +0000
4623@@ -16,5 +16,5 @@
4624 out_int8_t = vget_lane_s8 (arg0_int8x8_t, 1);
4625 }
4626
4627-/* { dg-final { scan-assembler "vmov\.s8\[ \]+\[rR\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
4628+/* { dg-final { scan-assembler "vmov\.s8\[ \]+\[rR\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
4629 /* { dg-final { cleanup-saved-temps } } */
4630
4631=== modified file 'gcc/testsuite/gcc.target/arm/neon/vget_laneu16.c'
4632--- old/gcc/testsuite/gcc.target/arm/neon/vget_laneu16.c 2010-07-29 15:38:15 +0000
4633+++ new/gcc/testsuite/gcc.target/arm/neon/vget_laneu16.c 2010-08-20 13:27:11 +0000
4634@@ -16,5 +16,5 @@
4635 out_uint16_t = vget_lane_u16 (arg0_uint16x4_t, 1);
4636 }
4637
4638-/* { dg-final { scan-assembler "vmov\.u16\[ \]+\[rR\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
4639+/* { dg-final { scan-assembler "vmov\.u16\[ \]+\[rR\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
4640 /* { dg-final { cleanup-saved-temps } } */
4641
4642=== modified file 'gcc/testsuite/gcc.target/arm/neon/vget_laneu32.c'
4643--- old/gcc/testsuite/gcc.target/arm/neon/vget_laneu32.c 2010-07-29 15:38:15 +0000
4644+++ new/gcc/testsuite/gcc.target/arm/neon/vget_laneu32.c 2010-08-20 13:27:11 +0000
4645@@ -16,5 +16,5 @@
4646 out_uint32_t = vget_lane_u32 (arg0_uint32x2_t, 1);
4647 }
4648
4649-/* { dg-final { scan-assembler "vmov\.32\[ \]+\[rR\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
4650+/* { dg-final { scan-assembler "vmov\.32\[ \]+\[rR\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
4651 /* { dg-final { cleanup-saved-temps } } */
4652
4653=== modified file 'gcc/testsuite/gcc.target/arm/neon/vget_laneu8.c'
4654--- old/gcc/testsuite/gcc.target/arm/neon/vget_laneu8.c 2010-07-29 15:38:15 +0000
4655+++ new/gcc/testsuite/gcc.target/arm/neon/vget_laneu8.c 2010-08-20 13:27:11 +0000
4656@@ -16,5 +16,5 @@
4657 out_uint8_t = vget_lane_u8 (arg0_uint8x8_t, 1);
4658 }
4659
4660-/* { dg-final { scan-assembler "vmov\.u8\[ \]+\[rR\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
4661+/* { dg-final { scan-assembler "vmov\.u8\[ \]+\[rR\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
4662 /* { dg-final { cleanup-saved-temps } } */
4663
4664=== modified file 'gcc/testsuite/gcc.target/arm/neon/vget_lowf32.c'
4665--- old/gcc/testsuite/gcc.target/arm/neon/vget_lowf32.c 2010-07-29 15:38:15 +0000
4666+++ new/gcc/testsuite/gcc.target/arm/neon/vget_lowf32.c 2010-08-20 13:27:11 +0000
4667@@ -16,5 +16,5 @@
4668 out_float32x2_t = vget_low_f32 (arg0_float32x4_t);
4669 }
4670
4671-/* { dg-final { scan-assembler "vmov\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
4672+/* { dg-final { scan-assembler "vmov\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
4673 /* { dg-final { cleanup-saved-temps } } */
4674
4675=== modified file 'gcc/testsuite/gcc.target/arm/neon/vget_lowp16.c'
4676--- old/gcc/testsuite/gcc.target/arm/neon/vget_lowp16.c 2010-07-29 15:38:15 +0000
4677+++ new/gcc/testsuite/gcc.target/arm/neon/vget_lowp16.c 2010-08-20 13:27:11 +0000
4678@@ -16,5 +16,5 @@
4679 out_poly16x4_t = vget_low_p16 (arg0_poly16x8_t);
4680 }
4681
4682-/* { dg-final { scan-assembler "vmov\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
4683+/* { dg-final { scan-assembler "vmov\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
4684 /* { dg-final { cleanup-saved-temps } } */
4685
4686=== modified file 'gcc/testsuite/gcc.target/arm/neon/vget_lowp8.c'
4687--- old/gcc/testsuite/gcc.target/arm/neon/vget_lowp8.c 2010-07-29 15:38:15 +0000
4688+++ new/gcc/testsuite/gcc.target/arm/neon/vget_lowp8.c 2010-08-20 13:27:11 +0000
4689@@ -16,5 +16,5 @@
4690 out_poly8x8_t = vget_low_p8 (arg0_poly8x16_t);
4691 }
4692
4693-/* { dg-final { scan-assembler "vmov\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
4694+/* { dg-final { scan-assembler "vmov\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
4695 /* { dg-final { cleanup-saved-temps } } */
4696
4697=== modified file 'gcc/testsuite/gcc.target/arm/neon/vget_lows16.c'
4698--- old/gcc/testsuite/gcc.target/arm/neon/vget_lows16.c 2010-07-29 15:38:15 +0000
4699+++ new/gcc/testsuite/gcc.target/arm/neon/vget_lows16.c 2010-08-20 13:27:11 +0000
4700@@ -16,5 +16,5 @@
4701 out_int16x4_t = vget_low_s16 (arg0_int16x8_t);
4702 }
4703
4704-/* { dg-final { scan-assembler "vmov\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
4705+/* { dg-final { scan-assembler "vmov\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
4706 /* { dg-final { cleanup-saved-temps } } */
4707
4708=== modified file 'gcc/testsuite/gcc.target/arm/neon/vget_lows32.c'
4709--- old/gcc/testsuite/gcc.target/arm/neon/vget_lows32.c 2010-07-29 15:38:15 +0000
4710+++ new/gcc/testsuite/gcc.target/arm/neon/vget_lows32.c 2010-08-20 13:27:11 +0000
4711@@ -16,5 +16,5 @@
4712 out_int32x2_t = vget_low_s32 (arg0_int32x4_t);
4713 }
4714
4715-/* { dg-final { scan-assembler "vmov\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
4716+/* { dg-final { scan-assembler "vmov\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
4717 /* { dg-final { cleanup-saved-temps } } */
4718
4719=== modified file 'gcc/testsuite/gcc.target/arm/neon/vget_lows8.c'
4720--- old/gcc/testsuite/gcc.target/arm/neon/vget_lows8.c 2010-07-29 15:38:15 +0000
4721+++ new/gcc/testsuite/gcc.target/arm/neon/vget_lows8.c 2010-08-20 13:27:11 +0000
4722@@ -16,5 +16,5 @@
4723 out_int8x8_t = vget_low_s8 (arg0_int8x16_t);
4724 }
4725
4726-/* { dg-final { scan-assembler "vmov\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
4727+/* { dg-final { scan-assembler "vmov\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
4728 /* { dg-final { cleanup-saved-temps } } */
4729
4730=== modified file 'gcc/testsuite/gcc.target/arm/neon/vget_lowu16.c'
4731--- old/gcc/testsuite/gcc.target/arm/neon/vget_lowu16.c 2010-07-29 15:38:15 +0000
4732+++ new/gcc/testsuite/gcc.target/arm/neon/vget_lowu16.c 2010-08-20 13:27:11 +0000
4733@@ -16,5 +16,5 @@
4734 out_uint16x4_t = vget_low_u16 (arg0_uint16x8_t);
4735 }
4736
4737-/* { dg-final { scan-assembler "vmov\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
4738+/* { dg-final { scan-assembler "vmov\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
4739 /* { dg-final { cleanup-saved-temps } } */
4740
4741=== modified file 'gcc/testsuite/gcc.target/arm/neon/vget_lowu32.c'
4742--- old/gcc/testsuite/gcc.target/arm/neon/vget_lowu32.c 2010-07-29 15:38:15 +0000
4743+++ new/gcc/testsuite/gcc.target/arm/neon/vget_lowu32.c 2010-08-20 13:27:11 +0000
4744@@ -16,5 +16,5 @@
4745 out_uint32x2_t = vget_low_u32 (arg0_uint32x4_t);
4746 }
4747
4748-/* { dg-final { scan-assembler "vmov\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
4749+/* { dg-final { scan-assembler "vmov\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
4750 /* { dg-final { cleanup-saved-temps } } */
4751
4752=== modified file 'gcc/testsuite/gcc.target/arm/neon/vget_lowu8.c'
4753--- old/gcc/testsuite/gcc.target/arm/neon/vget_lowu8.c 2010-07-29 15:38:15 +0000
4754+++ new/gcc/testsuite/gcc.target/arm/neon/vget_lowu8.c 2010-08-20 13:27:11 +0000
4755@@ -16,5 +16,5 @@
4756 out_uint8x8_t = vget_low_u8 (arg0_uint8x16_t);
4757 }
4758
4759-/* { dg-final { scan-assembler "vmov\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
4760+/* { dg-final { scan-assembler "vmov\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
4761 /* { dg-final { cleanup-saved-temps } } */
4762
4763=== modified file 'gcc/testsuite/gcc.target/arm/neon/vhaddQs16.c'
4764--- old/gcc/testsuite/gcc.target/arm/neon/vhaddQs16.c 2010-07-29 15:38:15 +0000
4765+++ new/gcc/testsuite/gcc.target/arm/neon/vhaddQs16.c 2010-08-20 13:27:11 +0000
4766@@ -17,5 +17,5 @@
4767 out_int16x8_t = vhaddq_s16 (arg0_int16x8_t, arg1_int16x8_t);
4768 }
4769
4770-/* { dg-final { scan-assembler "vhadd\.s16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
4771+/* { dg-final { scan-assembler "vhadd\.s16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
4772 /* { dg-final { cleanup-saved-temps } } */
4773
4774=== modified file 'gcc/testsuite/gcc.target/arm/neon/vhaddQs32.c'
4775--- old/gcc/testsuite/gcc.target/arm/neon/vhaddQs32.c 2010-07-29 15:38:15 +0000
4776+++ new/gcc/testsuite/gcc.target/arm/neon/vhaddQs32.c 2010-08-20 13:27:11 +0000
4777@@ -17,5 +17,5 @@
4778 out_int32x4_t = vhaddq_s32 (arg0_int32x4_t, arg1_int32x4_t);
4779 }
4780
4781-/* { dg-final { scan-assembler "vhadd\.s32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
4782+/* { dg-final { scan-assembler "vhadd\.s32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
4783 /* { dg-final { cleanup-saved-temps } } */
4784
4785=== modified file 'gcc/testsuite/gcc.target/arm/neon/vhaddQs8.c'
4786--- old/gcc/testsuite/gcc.target/arm/neon/vhaddQs8.c 2010-07-29 15:38:15 +0000
4787+++ new/gcc/testsuite/gcc.target/arm/neon/vhaddQs8.c 2010-08-20 13:27:11 +0000
4788@@ -17,5 +17,5 @@
4789 out_int8x16_t = vhaddq_s8 (arg0_int8x16_t, arg1_int8x16_t);
4790 }
4791
4792-/* { dg-final { scan-assembler "vhadd\.s8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
4793+/* { dg-final { scan-assembler "vhadd\.s8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
4794 /* { dg-final { cleanup-saved-temps } } */
4795
4796=== modified file 'gcc/testsuite/gcc.target/arm/neon/vhaddQu16.c'
4797--- old/gcc/testsuite/gcc.target/arm/neon/vhaddQu16.c 2010-07-29 15:38:15 +0000
4798+++ new/gcc/testsuite/gcc.target/arm/neon/vhaddQu16.c 2010-08-20 13:27:11 +0000
4799@@ -17,5 +17,5 @@
4800 out_uint16x8_t = vhaddq_u16 (arg0_uint16x8_t, arg1_uint16x8_t);
4801 }
4802
4803-/* { dg-final { scan-assembler "vhadd\.u16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
4804+/* { dg-final { scan-assembler "vhadd\.u16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
4805 /* { dg-final { cleanup-saved-temps } } */
4806
4807=== modified file 'gcc/testsuite/gcc.target/arm/neon/vhaddQu32.c'
4808--- old/gcc/testsuite/gcc.target/arm/neon/vhaddQu32.c 2010-07-29 15:38:15 +0000
4809+++ new/gcc/testsuite/gcc.target/arm/neon/vhaddQu32.c 2010-08-20 13:27:11 +0000
4810@@ -17,5 +17,5 @@
4811 out_uint32x4_t = vhaddq_u32 (arg0_uint32x4_t, arg1_uint32x4_t);
4812 }
4813
4814-/* { dg-final { scan-assembler "vhadd\.u32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
4815+/* { dg-final { scan-assembler "vhadd\.u32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
4816 /* { dg-final { cleanup-saved-temps } } */
4817
4818=== modified file 'gcc/testsuite/gcc.target/arm/neon/vhaddQu8.c'
4819--- old/gcc/testsuite/gcc.target/arm/neon/vhaddQu8.c 2010-07-29 15:38:15 +0000
4820+++ new/gcc/testsuite/gcc.target/arm/neon/vhaddQu8.c 2010-08-20 13:27:11 +0000
4821@@ -17,5 +17,5 @@
4822 out_uint8x16_t = vhaddq_u8 (arg0_uint8x16_t, arg1_uint8x16_t);
4823 }
4824
4825-/* { dg-final { scan-assembler "vhadd\.u8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
4826+/* { dg-final { scan-assembler "vhadd\.u8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
4827 /* { dg-final { cleanup-saved-temps } } */
4828
4829=== modified file 'gcc/testsuite/gcc.target/arm/neon/vhadds16.c'
4830--- old/gcc/testsuite/gcc.target/arm/neon/vhadds16.c 2010-07-29 15:38:15 +0000
4831+++ new/gcc/testsuite/gcc.target/arm/neon/vhadds16.c 2010-08-20 13:27:11 +0000
4832@@ -17,5 +17,5 @@
4833 out_int16x4_t = vhadd_s16 (arg0_int16x4_t, arg1_int16x4_t);
4834 }
4835
4836-/* { dg-final { scan-assembler "vhadd\.s16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
4837+/* { dg-final { scan-assembler "vhadd\.s16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
4838 /* { dg-final { cleanup-saved-temps } } */
4839
4840=== modified file 'gcc/testsuite/gcc.target/arm/neon/vhadds32.c'
4841--- old/gcc/testsuite/gcc.target/arm/neon/vhadds32.c 2010-07-29 15:38:15 +0000
4842+++ new/gcc/testsuite/gcc.target/arm/neon/vhadds32.c 2010-08-20 13:27:11 +0000
4843@@ -17,5 +17,5 @@
4844 out_int32x2_t = vhadd_s32 (arg0_int32x2_t, arg1_int32x2_t);
4845 }
4846
4847-/* { dg-final { scan-assembler "vhadd\.s32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
4848+/* { dg-final { scan-assembler "vhadd\.s32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
4849 /* { dg-final { cleanup-saved-temps } } */
4850
4851=== modified file 'gcc/testsuite/gcc.target/arm/neon/vhadds8.c'
4852--- old/gcc/testsuite/gcc.target/arm/neon/vhadds8.c 2010-07-29 15:38:15 +0000
4853+++ new/gcc/testsuite/gcc.target/arm/neon/vhadds8.c 2010-08-20 13:27:11 +0000
4854@@ -17,5 +17,5 @@
4855 out_int8x8_t = vhadd_s8 (arg0_int8x8_t, arg1_int8x8_t);
4856 }
4857
4858-/* { dg-final { scan-assembler "vhadd\.s8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
4859+/* { dg-final { scan-assembler "vhadd\.s8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
4860 /* { dg-final { cleanup-saved-temps } } */
4861
4862=== modified file 'gcc/testsuite/gcc.target/arm/neon/vhaddu16.c'
4863--- old/gcc/testsuite/gcc.target/arm/neon/vhaddu16.c 2010-07-29 15:38:15 +0000
4864+++ new/gcc/testsuite/gcc.target/arm/neon/vhaddu16.c 2010-08-20 13:27:11 +0000
4865@@ -17,5 +17,5 @@
4866 out_uint16x4_t = vhadd_u16 (arg0_uint16x4_t, arg1_uint16x4_t);
4867 }
4868
4869-/* { dg-final { scan-assembler "vhadd\.u16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
4870+/* { dg-final { scan-assembler "vhadd\.u16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
4871 /* { dg-final { cleanup-saved-temps } } */
4872
4873=== modified file 'gcc/testsuite/gcc.target/arm/neon/vhaddu32.c'
4874--- old/gcc/testsuite/gcc.target/arm/neon/vhaddu32.c 2010-07-29 15:38:15 +0000
4875+++ new/gcc/testsuite/gcc.target/arm/neon/vhaddu32.c 2010-08-20 13:27:11 +0000
4876@@ -17,5 +17,5 @@
4877 out_uint32x2_t = vhadd_u32 (arg0_uint32x2_t, arg1_uint32x2_t);
4878 }
4879
4880-/* { dg-final { scan-assembler "vhadd\.u32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
4881+/* { dg-final { scan-assembler "vhadd\.u32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
4882 /* { dg-final { cleanup-saved-temps } } */
4883
4884=== modified file 'gcc/testsuite/gcc.target/arm/neon/vhaddu8.c'
4885--- old/gcc/testsuite/gcc.target/arm/neon/vhaddu8.c 2010-07-29 15:38:15 +0000
4886+++ new/gcc/testsuite/gcc.target/arm/neon/vhaddu8.c 2010-08-20 13:27:11 +0000
4887@@ -17,5 +17,5 @@
4888 out_uint8x8_t = vhadd_u8 (arg0_uint8x8_t, arg1_uint8x8_t);
4889 }
4890
4891-/* { dg-final { scan-assembler "vhadd\.u8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
4892+/* { dg-final { scan-assembler "vhadd\.u8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
4893 /* { dg-final { cleanup-saved-temps } } */
4894
4895=== modified file 'gcc/testsuite/gcc.target/arm/neon/vhsubQs16.c'
4896--- old/gcc/testsuite/gcc.target/arm/neon/vhsubQs16.c 2010-07-29 15:38:15 +0000
4897+++ new/gcc/testsuite/gcc.target/arm/neon/vhsubQs16.c 2010-08-20 13:27:11 +0000
4898@@ -17,5 +17,5 @@
4899 out_int16x8_t = vhsubq_s16 (arg0_int16x8_t, arg1_int16x8_t);
4900 }
4901
4902-/* { dg-final { scan-assembler "vhsub\.s16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
4903+/* { dg-final { scan-assembler "vhsub\.s16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
4904 /* { dg-final { cleanup-saved-temps } } */
4905
4906=== modified file 'gcc/testsuite/gcc.target/arm/neon/vhsubQs32.c'
4907--- old/gcc/testsuite/gcc.target/arm/neon/vhsubQs32.c 2010-07-29 15:38:15 +0000
4908+++ new/gcc/testsuite/gcc.target/arm/neon/vhsubQs32.c 2010-08-20 13:27:11 +0000
4909@@ -17,5 +17,5 @@
4910 out_int32x4_t = vhsubq_s32 (arg0_int32x4_t, arg1_int32x4_t);
4911 }
4912
4913-/* { dg-final { scan-assembler "vhsub\.s32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
4914+/* { dg-final { scan-assembler "vhsub\.s32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
4915 /* { dg-final { cleanup-saved-temps } } */
4916
4917=== modified file 'gcc/testsuite/gcc.target/arm/neon/vhsubQs8.c'
4918--- old/gcc/testsuite/gcc.target/arm/neon/vhsubQs8.c 2010-07-29 15:38:15 +0000
4919+++ new/gcc/testsuite/gcc.target/arm/neon/vhsubQs8.c 2010-08-20 13:27:11 +0000
4920@@ -17,5 +17,5 @@
4921 out_int8x16_t = vhsubq_s8 (arg0_int8x16_t, arg1_int8x16_t);
4922 }
4923
4924-/* { dg-final { scan-assembler "vhsub\.s8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
4925+/* { dg-final { scan-assembler "vhsub\.s8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
4926 /* { dg-final { cleanup-saved-temps } } */
4927
4928=== modified file 'gcc/testsuite/gcc.target/arm/neon/vhsubQu16.c'
4929--- old/gcc/testsuite/gcc.target/arm/neon/vhsubQu16.c 2010-07-29 15:38:15 +0000
4930+++ new/gcc/testsuite/gcc.target/arm/neon/vhsubQu16.c 2010-08-20 13:27:11 +0000
4931@@ -17,5 +17,5 @@
4932 out_uint16x8_t = vhsubq_u16 (arg0_uint16x8_t, arg1_uint16x8_t);
4933 }
4934
4935-/* { dg-final { scan-assembler "vhsub\.u16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
4936+/* { dg-final { scan-assembler "vhsub\.u16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
4937 /* { dg-final { cleanup-saved-temps } } */
4938
4939=== modified file 'gcc/testsuite/gcc.target/arm/neon/vhsubQu32.c'
4940--- old/gcc/testsuite/gcc.target/arm/neon/vhsubQu32.c 2010-07-29 15:38:15 +0000
4941+++ new/gcc/testsuite/gcc.target/arm/neon/vhsubQu32.c 2010-08-20 13:27:11 +0000
4942@@ -17,5 +17,5 @@
4943 out_uint32x4_t = vhsubq_u32 (arg0_uint32x4_t, arg1_uint32x4_t);
4944 }
4945
4946-/* { dg-final { scan-assembler "vhsub\.u32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
4947+/* { dg-final { scan-assembler "vhsub\.u32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
4948 /* { dg-final { cleanup-saved-temps } } */
4949
4950=== modified file 'gcc/testsuite/gcc.target/arm/neon/vhsubQu8.c'
4951--- old/gcc/testsuite/gcc.target/arm/neon/vhsubQu8.c 2010-07-29 15:38:15 +0000
4952+++ new/gcc/testsuite/gcc.target/arm/neon/vhsubQu8.c 2010-08-20 13:27:11 +0000
4953@@ -17,5 +17,5 @@
4954 out_uint8x16_t = vhsubq_u8 (arg0_uint8x16_t, arg1_uint8x16_t);
4955 }
4956
4957-/* { dg-final { scan-assembler "vhsub\.u8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
4958+/* { dg-final { scan-assembler "vhsub\.u8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
4959 /* { dg-final { cleanup-saved-temps } } */
4960
4961=== modified file 'gcc/testsuite/gcc.target/arm/neon/vhsubs16.c'
4962--- old/gcc/testsuite/gcc.target/arm/neon/vhsubs16.c 2010-07-29 15:38:15 +0000
4963+++ new/gcc/testsuite/gcc.target/arm/neon/vhsubs16.c 2010-08-20 13:27:11 +0000
4964@@ -17,5 +17,5 @@
4965 out_int16x4_t = vhsub_s16 (arg0_int16x4_t, arg1_int16x4_t);
4966 }
4967
4968-/* { dg-final { scan-assembler "vhsub\.s16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
4969+/* { dg-final { scan-assembler "vhsub\.s16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
4970 /* { dg-final { cleanup-saved-temps } } */
4971
4972=== modified file 'gcc/testsuite/gcc.target/arm/neon/vhsubs32.c'
4973--- old/gcc/testsuite/gcc.target/arm/neon/vhsubs32.c 2010-07-29 15:38:15 +0000
4974+++ new/gcc/testsuite/gcc.target/arm/neon/vhsubs32.c 2010-08-20 13:27:11 +0000
4975@@ -17,5 +17,5 @@
4976 out_int32x2_t = vhsub_s32 (arg0_int32x2_t, arg1_int32x2_t);
4977 }
4978
4979-/* { dg-final { scan-assembler "vhsub\.s32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
4980+/* { dg-final { scan-assembler "vhsub\.s32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
4981 /* { dg-final { cleanup-saved-temps } } */
4982
4983=== modified file 'gcc/testsuite/gcc.target/arm/neon/vhsubs8.c'
4984--- old/gcc/testsuite/gcc.target/arm/neon/vhsubs8.c 2010-07-29 15:38:15 +0000
4985+++ new/gcc/testsuite/gcc.target/arm/neon/vhsubs8.c 2010-08-20 13:27:11 +0000
4986@@ -17,5 +17,5 @@
4987 out_int8x8_t = vhsub_s8 (arg0_int8x8_t, arg1_int8x8_t);
4988 }
4989
4990-/* { dg-final { scan-assembler "vhsub\.s8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
4991+/* { dg-final { scan-assembler "vhsub\.s8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
4992 /* { dg-final { cleanup-saved-temps } } */
4993
4994=== modified file 'gcc/testsuite/gcc.target/arm/neon/vhsubu16.c'
4995--- old/gcc/testsuite/gcc.target/arm/neon/vhsubu16.c 2010-07-29 15:38:15 +0000
4996+++ new/gcc/testsuite/gcc.target/arm/neon/vhsubu16.c 2010-08-20 13:27:11 +0000
4997@@ -17,5 +17,5 @@
4998 out_uint16x4_t = vhsub_u16 (arg0_uint16x4_t, arg1_uint16x4_t);
4999 }
5000
5001-/* { dg-final { scan-assembler "vhsub\.u16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
5002+/* { dg-final { scan-assembler "vhsub\.u16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
5003 /* { dg-final { cleanup-saved-temps } } */
5004
5005=== modified file 'gcc/testsuite/gcc.target/arm/neon/vhsubu32.c'
5006--- old/gcc/testsuite/gcc.target/arm/neon/vhsubu32.c 2010-07-29 15:38:15 +0000
5007+++ new/gcc/testsuite/gcc.target/arm/neon/vhsubu32.c 2010-08-20 13:27:11 +0000
5008@@ -17,5 +17,5 @@
5009 out_uint32x2_t = vhsub_u32 (arg0_uint32x2_t, arg1_uint32x2_t);
5010 }
5011
5012-/* { dg-final { scan-assembler "vhsub\.u32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
5013+/* { dg-final { scan-assembler "vhsub\.u32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
5014 /* { dg-final { cleanup-saved-temps } } */
5015
5016=== modified file 'gcc/testsuite/gcc.target/arm/neon/vhsubu8.c'
5017--- old/gcc/testsuite/gcc.target/arm/neon/vhsubu8.c 2010-07-29 15:38:15 +0000
5018+++ new/gcc/testsuite/gcc.target/arm/neon/vhsubu8.c 2010-08-20 13:27:11 +0000
5019@@ -17,5 +17,5 @@
5020 out_uint8x8_t = vhsub_u8 (arg0_uint8x8_t, arg1_uint8x8_t);
5021 }
5022
5023-/* { dg-final { scan-assembler "vhsub\.u8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
5024+/* { dg-final { scan-assembler "vhsub\.u8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
5025 /* { dg-final { cleanup-saved-temps } } */
5026
5027=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld1Q_dupf32.c'
5028--- old/gcc/testsuite/gcc.target/arm/neon/vld1Q_dupf32.c 2010-07-29 15:38:15 +0000
5029+++ new/gcc/testsuite/gcc.target/arm/neon/vld1Q_dupf32.c 2010-08-20 13:27:11 +0000
5030@@ -15,5 +15,5 @@
5031 out_float32x4_t = vld1q_dup_f32 (0);
5032 }
5033
5034-/* { dg-final { scan-assembler "vld1\.32\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\\\]-\[dD\]\[0-9\]+\\\[\\\])|(\[dD\]\[0-9\]+\\\[\\\], \[dD\]\[0-9\]+\\\[\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
5035+/* { dg-final { scan-assembler "vld1\.32\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\\\]-\[dD\]\[0-9\]+\\\[\\\])|(\[dD\]\[0-9\]+\\\[\\\], \[dD\]\[0-9\]+\\\[\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
5036 /* { dg-final { cleanup-saved-temps } } */
5037
5038=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld1Q_dupp16.c'
5039--- old/gcc/testsuite/gcc.target/arm/neon/vld1Q_dupp16.c 2010-07-29 15:38:15 +0000
5040+++ new/gcc/testsuite/gcc.target/arm/neon/vld1Q_dupp16.c 2010-08-20 13:27:11 +0000
5041@@ -15,5 +15,5 @@
5042 out_poly16x8_t = vld1q_dup_p16 (0);
5043 }
5044
5045-/* { dg-final { scan-assembler "vld1\.16\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\\\]-\[dD\]\[0-9\]+\\\[\\\])|(\[dD\]\[0-9\]+\\\[\\\], \[dD\]\[0-9\]+\\\[\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
5046+/* { dg-final { scan-assembler "vld1\.16\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\\\]-\[dD\]\[0-9\]+\\\[\\\])|(\[dD\]\[0-9\]+\\\[\\\], \[dD\]\[0-9\]+\\\[\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
5047 /* { dg-final { cleanup-saved-temps } } */
5048
5049=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld1Q_dupp8.c'
5050--- old/gcc/testsuite/gcc.target/arm/neon/vld1Q_dupp8.c 2010-07-29 15:38:15 +0000
5051+++ new/gcc/testsuite/gcc.target/arm/neon/vld1Q_dupp8.c 2010-08-20 13:27:11 +0000
5052@@ -15,5 +15,5 @@
5053 out_poly8x16_t = vld1q_dup_p8 (0);
5054 }
5055
5056-/* { dg-final { scan-assembler "vld1\.8\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\\\]-\[dD\]\[0-9\]+\\\[\\\])|(\[dD\]\[0-9\]+\\\[\\\], \[dD\]\[0-9\]+\\\[\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
5057+/* { dg-final { scan-assembler "vld1\.8\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\\\]-\[dD\]\[0-9\]+\\\[\\\])|(\[dD\]\[0-9\]+\\\[\\\], \[dD\]\[0-9\]+\\\[\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
5058 /* { dg-final { cleanup-saved-temps } } */
5059
5060=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld1Q_dups16.c'
5061--- old/gcc/testsuite/gcc.target/arm/neon/vld1Q_dups16.c 2010-07-29 15:38:15 +0000
5062+++ new/gcc/testsuite/gcc.target/arm/neon/vld1Q_dups16.c 2010-08-20 13:27:11 +0000
5063@@ -15,5 +15,5 @@
5064 out_int16x8_t = vld1q_dup_s16 (0);
5065 }
5066
5067-/* { dg-final { scan-assembler "vld1\.16\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\\\]-\[dD\]\[0-9\]+\\\[\\\])|(\[dD\]\[0-9\]+\\\[\\\], \[dD\]\[0-9\]+\\\[\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
5068+/* { dg-final { scan-assembler "vld1\.16\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\\\]-\[dD\]\[0-9\]+\\\[\\\])|(\[dD\]\[0-9\]+\\\[\\\], \[dD\]\[0-9\]+\\\[\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
5069 /* { dg-final { cleanup-saved-temps } } */
5070
5071=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld1Q_dups32.c'
5072--- old/gcc/testsuite/gcc.target/arm/neon/vld1Q_dups32.c 2010-07-29 15:38:15 +0000
5073+++ new/gcc/testsuite/gcc.target/arm/neon/vld1Q_dups32.c 2010-08-20 13:27:11 +0000
5074@@ -15,5 +15,5 @@
5075 out_int32x4_t = vld1q_dup_s32 (0);
5076 }
5077
5078-/* { dg-final { scan-assembler "vld1\.32\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\\\]-\[dD\]\[0-9\]+\\\[\\\])|(\[dD\]\[0-9\]+\\\[\\\], \[dD\]\[0-9\]+\\\[\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
5079+/* { dg-final { scan-assembler "vld1\.32\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\\\]-\[dD\]\[0-9\]+\\\[\\\])|(\[dD\]\[0-9\]+\\\[\\\], \[dD\]\[0-9\]+\\\[\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
5080 /* { dg-final { cleanup-saved-temps } } */
5081
5082=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld1Q_dups64.c'
5083--- old/gcc/testsuite/gcc.target/arm/neon/vld1Q_dups64.c 2010-07-29 15:38:15 +0000
5084+++ new/gcc/testsuite/gcc.target/arm/neon/vld1Q_dups64.c 2010-08-20 13:27:11 +0000
5085@@ -15,5 +15,5 @@
5086 out_int64x2_t = vld1q_dup_s64 (0);
5087 }
5088
5089-/* { dg-final { scan-assembler "vld1\.64\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
5090+/* { dg-final { scan-assembler "vld1\.64\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
5091 /* { dg-final { cleanup-saved-temps } } */
5092
5093=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld1Q_dups8.c'
5094--- old/gcc/testsuite/gcc.target/arm/neon/vld1Q_dups8.c 2010-07-29 15:38:15 +0000
5095+++ new/gcc/testsuite/gcc.target/arm/neon/vld1Q_dups8.c 2010-08-20 13:27:11 +0000
5096@@ -15,5 +15,5 @@
5097 out_int8x16_t = vld1q_dup_s8 (0);
5098 }
5099
5100-/* { dg-final { scan-assembler "vld1\.8\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\\\]-\[dD\]\[0-9\]+\\\[\\\])|(\[dD\]\[0-9\]+\\\[\\\], \[dD\]\[0-9\]+\\\[\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
5101+/* { dg-final { scan-assembler "vld1\.8\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\\\]-\[dD\]\[0-9\]+\\\[\\\])|(\[dD\]\[0-9\]+\\\[\\\], \[dD\]\[0-9\]+\\\[\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
5102 /* { dg-final { cleanup-saved-temps } } */
5103
5104=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld1Q_dupu16.c'
5105--- old/gcc/testsuite/gcc.target/arm/neon/vld1Q_dupu16.c 2010-07-29 15:38:15 +0000
5106+++ new/gcc/testsuite/gcc.target/arm/neon/vld1Q_dupu16.c 2010-08-20 13:27:11 +0000
5107@@ -15,5 +15,5 @@
5108 out_uint16x8_t = vld1q_dup_u16 (0);
5109 }
5110
5111-/* { dg-final { scan-assembler "vld1\.16\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\\\]-\[dD\]\[0-9\]+\\\[\\\])|(\[dD\]\[0-9\]+\\\[\\\], \[dD\]\[0-9\]+\\\[\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
5112+/* { dg-final { scan-assembler "vld1\.16\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\\\]-\[dD\]\[0-9\]+\\\[\\\])|(\[dD\]\[0-9\]+\\\[\\\], \[dD\]\[0-9\]+\\\[\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
5113 /* { dg-final { cleanup-saved-temps } } */
5114
5115=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld1Q_dupu32.c'
5116--- old/gcc/testsuite/gcc.target/arm/neon/vld1Q_dupu32.c 2010-07-29 15:38:15 +0000
5117+++ new/gcc/testsuite/gcc.target/arm/neon/vld1Q_dupu32.c 2010-08-20 13:27:11 +0000
5118@@ -15,5 +15,5 @@
5119 out_uint32x4_t = vld1q_dup_u32 (0);
5120 }
5121
5122-/* { dg-final { scan-assembler "vld1\.32\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\\\]-\[dD\]\[0-9\]+\\\[\\\])|(\[dD\]\[0-9\]+\\\[\\\], \[dD\]\[0-9\]+\\\[\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
5123+/* { dg-final { scan-assembler "vld1\.32\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\\\]-\[dD\]\[0-9\]+\\\[\\\])|(\[dD\]\[0-9\]+\\\[\\\], \[dD\]\[0-9\]+\\\[\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
5124 /* { dg-final { cleanup-saved-temps } } */
5125
5126=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld1Q_dupu64.c'
5127--- old/gcc/testsuite/gcc.target/arm/neon/vld1Q_dupu64.c 2010-07-29 15:38:15 +0000
5128+++ new/gcc/testsuite/gcc.target/arm/neon/vld1Q_dupu64.c 2010-08-20 13:27:11 +0000
5129@@ -15,5 +15,5 @@
5130 out_uint64x2_t = vld1q_dup_u64 (0);
5131 }
5132
5133-/* { dg-final { scan-assembler "vld1\.64\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
5134+/* { dg-final { scan-assembler "vld1\.64\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
5135 /* { dg-final { cleanup-saved-temps } } */
5136
5137=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld1Q_dupu8.c'
5138--- old/gcc/testsuite/gcc.target/arm/neon/vld1Q_dupu8.c 2010-07-29 15:38:15 +0000
5139+++ new/gcc/testsuite/gcc.target/arm/neon/vld1Q_dupu8.c 2010-08-20 13:27:11 +0000
5140@@ -15,5 +15,5 @@
5141 out_uint8x16_t = vld1q_dup_u8 (0);
5142 }
5143
5144-/* { dg-final { scan-assembler "vld1\.8\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\\\]-\[dD\]\[0-9\]+\\\[\\\])|(\[dD\]\[0-9\]+\\\[\\\], \[dD\]\[0-9\]+\\\[\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
5145+/* { dg-final { scan-assembler "vld1\.8\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\\\]-\[dD\]\[0-9\]+\\\[\\\])|(\[dD\]\[0-9\]+\\\[\\\], \[dD\]\[0-9\]+\\\[\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
5146 /* { dg-final { cleanup-saved-temps } } */
5147
5148=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld1Q_lanef32.c'
5149--- old/gcc/testsuite/gcc.target/arm/neon/vld1Q_lanef32.c 2010-07-29 15:38:15 +0000
5150+++ new/gcc/testsuite/gcc.target/arm/neon/vld1Q_lanef32.c 2010-08-20 13:27:11 +0000
5151@@ -16,5 +16,5 @@
5152 out_float32x4_t = vld1q_lane_f32 (0, arg1_float32x4_t, 1);
5153 }
5154
5155-/* { dg-final { scan-assembler "vld1\.32\[ \]+((\\\{\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]\\\})|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
5156+/* { dg-final { scan-assembler "vld1\.32\[ \]+((\\\{\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]\\\})|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
5157 /* { dg-final { cleanup-saved-temps } } */
5158
5159=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld1Q_lanep16.c'
5160--- old/gcc/testsuite/gcc.target/arm/neon/vld1Q_lanep16.c 2010-07-29 15:38:15 +0000
5161+++ new/gcc/testsuite/gcc.target/arm/neon/vld1Q_lanep16.c 2010-08-20 13:27:11 +0000
5162@@ -16,5 +16,5 @@
5163 out_poly16x8_t = vld1q_lane_p16 (0, arg1_poly16x8_t, 1);
5164 }
5165
5166-/* { dg-final { scan-assembler "vld1\.16\[ \]+((\\\{\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]\\\})|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
5167+/* { dg-final { scan-assembler "vld1\.16\[ \]+((\\\{\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]\\\})|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
5168 /* { dg-final { cleanup-saved-temps } } */
5169
5170=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld1Q_lanep8.c'
5171--- old/gcc/testsuite/gcc.target/arm/neon/vld1Q_lanep8.c 2010-07-29 15:38:15 +0000
5172+++ new/gcc/testsuite/gcc.target/arm/neon/vld1Q_lanep8.c 2010-08-20 13:27:11 +0000
5173@@ -16,5 +16,5 @@
5174 out_poly8x16_t = vld1q_lane_p8 (0, arg1_poly8x16_t, 1);
5175 }
5176
5177-/* { dg-final { scan-assembler "vld1\.8\[ \]+((\\\{\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]\\\})|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
5178+/* { dg-final { scan-assembler "vld1\.8\[ \]+((\\\{\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]\\\})|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
5179 /* { dg-final { cleanup-saved-temps } } */
5180
5181=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld1Q_lanes16.c'
5182--- old/gcc/testsuite/gcc.target/arm/neon/vld1Q_lanes16.c 2010-07-29 15:38:15 +0000
5183+++ new/gcc/testsuite/gcc.target/arm/neon/vld1Q_lanes16.c 2010-08-20 13:27:11 +0000
5184@@ -16,5 +16,5 @@
5185 out_int16x8_t = vld1q_lane_s16 (0, arg1_int16x8_t, 1);
5186 }
5187
5188-/* { dg-final { scan-assembler "vld1\.16\[ \]+((\\\{\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]\\\})|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
5189+/* { dg-final { scan-assembler "vld1\.16\[ \]+((\\\{\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]\\\})|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
5190 /* { dg-final { cleanup-saved-temps } } */
5191
5192=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld1Q_lanes32.c'
5193--- old/gcc/testsuite/gcc.target/arm/neon/vld1Q_lanes32.c 2010-07-29 15:38:15 +0000
5194+++ new/gcc/testsuite/gcc.target/arm/neon/vld1Q_lanes32.c 2010-08-20 13:27:11 +0000
5195@@ -16,5 +16,5 @@
5196 out_int32x4_t = vld1q_lane_s32 (0, arg1_int32x4_t, 1);
5197 }
5198
5199-/* { dg-final { scan-assembler "vld1\.32\[ \]+((\\\{\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]\\\})|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
5200+/* { dg-final { scan-assembler "vld1\.32\[ \]+((\\\{\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]\\\})|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
5201 /* { dg-final { cleanup-saved-temps } } */
5202
5203=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld1Q_lanes64.c'
5204--- old/gcc/testsuite/gcc.target/arm/neon/vld1Q_lanes64.c 2010-07-29 15:38:15 +0000
5205+++ new/gcc/testsuite/gcc.target/arm/neon/vld1Q_lanes64.c 2010-08-20 13:27:11 +0000
5206@@ -16,5 +16,5 @@
5207 out_int64x2_t = vld1q_lane_s64 (0, arg1_int64x2_t, 1);
5208 }
5209
5210-/* { dg-final { scan-assembler "vld1\.64\[ \]+((\\\{\[dD\]\[0-9\]+\\\})|(\[dD\]\[0-9\]+)), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
5211+/* { dg-final { scan-assembler "vld1\.64\[ \]+((\\\{\[dD\]\[0-9\]+\\\})|(\[dD\]\[0-9\]+)), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
5212 /* { dg-final { cleanup-saved-temps } } */
5213
5214=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld1Q_lanes8.c'
5215--- old/gcc/testsuite/gcc.target/arm/neon/vld1Q_lanes8.c 2010-07-29 15:38:15 +0000
5216+++ new/gcc/testsuite/gcc.target/arm/neon/vld1Q_lanes8.c 2010-08-20 13:27:11 +0000
5217@@ -16,5 +16,5 @@
5218 out_int8x16_t = vld1q_lane_s8 (0, arg1_int8x16_t, 1);
5219 }
5220
5221-/* { dg-final { scan-assembler "vld1\.8\[ \]+((\\\{\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]\\\})|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
5222+/* { dg-final { scan-assembler "vld1\.8\[ \]+((\\\{\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]\\\})|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
5223 /* { dg-final { cleanup-saved-temps } } */
5224
5225=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld1Q_laneu16.c'
5226--- old/gcc/testsuite/gcc.target/arm/neon/vld1Q_laneu16.c 2010-07-29 15:38:15 +0000
5227+++ new/gcc/testsuite/gcc.target/arm/neon/vld1Q_laneu16.c 2010-08-20 13:27:11 +0000
5228@@ -16,5 +16,5 @@
5229 out_uint16x8_t = vld1q_lane_u16 (0, arg1_uint16x8_t, 1);
5230 }
5231
5232-/* { dg-final { scan-assembler "vld1\.16\[ \]+((\\\{\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]\\\})|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
5233+/* { dg-final { scan-assembler "vld1\.16\[ \]+((\\\{\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]\\\})|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
5234 /* { dg-final { cleanup-saved-temps } } */
5235
5236=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld1Q_laneu32.c'
5237--- old/gcc/testsuite/gcc.target/arm/neon/vld1Q_laneu32.c 2010-07-29 15:38:15 +0000
5238+++ new/gcc/testsuite/gcc.target/arm/neon/vld1Q_laneu32.c 2010-08-20 13:27:11 +0000
5239@@ -16,5 +16,5 @@
5240 out_uint32x4_t = vld1q_lane_u32 (0, arg1_uint32x4_t, 1);
5241 }
5242
5243-/* { dg-final { scan-assembler "vld1\.32\[ \]+((\\\{\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]\\\})|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
5244+/* { dg-final { scan-assembler "vld1\.32\[ \]+((\\\{\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]\\\})|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
5245 /* { dg-final { cleanup-saved-temps } } */
5246
5247=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld1Q_laneu64.c'
5248--- old/gcc/testsuite/gcc.target/arm/neon/vld1Q_laneu64.c 2010-07-29 15:38:15 +0000
5249+++ new/gcc/testsuite/gcc.target/arm/neon/vld1Q_laneu64.c 2010-08-20 13:27:11 +0000
5250@@ -16,5 +16,5 @@
5251 out_uint64x2_t = vld1q_lane_u64 (0, arg1_uint64x2_t, 1);
5252 }
5253
5254-/* { dg-final { scan-assembler "vld1\.64\[ \]+((\\\{\[dD\]\[0-9\]+\\\})|(\[dD\]\[0-9\]+)), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
5255+/* { dg-final { scan-assembler "vld1\.64\[ \]+((\\\{\[dD\]\[0-9\]+\\\})|(\[dD\]\[0-9\]+)), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
5256 /* { dg-final { cleanup-saved-temps } } */
5257
5258=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld1Q_laneu8.c'
5259--- old/gcc/testsuite/gcc.target/arm/neon/vld1Q_laneu8.c 2010-07-29 15:38:15 +0000
5260+++ new/gcc/testsuite/gcc.target/arm/neon/vld1Q_laneu8.c 2010-08-20 13:27:11 +0000
5261@@ -16,5 +16,5 @@
5262 out_uint8x16_t = vld1q_lane_u8 (0, arg1_uint8x16_t, 1);
5263 }
5264
5265-/* { dg-final { scan-assembler "vld1\.8\[ \]+((\\\{\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]\\\})|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
5266+/* { dg-final { scan-assembler "vld1\.8\[ \]+((\\\{\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]\\\})|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
5267 /* { dg-final { cleanup-saved-temps } } */
5268
5269=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld1Qf32.c'
5270--- old/gcc/testsuite/gcc.target/arm/neon/vld1Qf32.c 2010-07-29 15:38:15 +0000
5271+++ new/gcc/testsuite/gcc.target/arm/neon/vld1Qf32.c 2010-08-20 13:27:11 +0000
5272@@ -15,5 +15,5 @@
5273 out_float32x4_t = vld1q_f32 (0);
5274 }
5275
5276-/* { dg-final { scan-assembler "vld1\.32\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
5277+/* { dg-final { scan-assembler "vld1\.32\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
5278 /* { dg-final { cleanup-saved-temps } } */
5279
5280=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld1Qp16.c'
5281--- old/gcc/testsuite/gcc.target/arm/neon/vld1Qp16.c 2010-07-29 15:38:15 +0000
5282+++ new/gcc/testsuite/gcc.target/arm/neon/vld1Qp16.c 2010-08-20 13:27:11 +0000
5283@@ -15,5 +15,5 @@
5284 out_poly16x8_t = vld1q_p16 (0);
5285 }
5286
5287-/* { dg-final { scan-assembler "vld1\.16\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
5288+/* { dg-final { scan-assembler "vld1\.16\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
5289 /* { dg-final { cleanup-saved-temps } } */
5290
5291=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld1Qp8.c'
5292--- old/gcc/testsuite/gcc.target/arm/neon/vld1Qp8.c 2010-07-29 15:38:15 +0000
5293+++ new/gcc/testsuite/gcc.target/arm/neon/vld1Qp8.c 2010-08-20 13:27:11 +0000
5294@@ -15,5 +15,5 @@
5295 out_poly8x16_t = vld1q_p8 (0);
5296 }
5297
5298-/* { dg-final { scan-assembler "vld1\.8\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
5299+/* { dg-final { scan-assembler "vld1\.8\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
5300 /* { dg-final { cleanup-saved-temps } } */
5301
5302=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld1Qs16.c'
5303--- old/gcc/testsuite/gcc.target/arm/neon/vld1Qs16.c 2010-07-29 15:38:15 +0000
5304+++ new/gcc/testsuite/gcc.target/arm/neon/vld1Qs16.c 2010-08-20 13:27:11 +0000
5305@@ -15,5 +15,5 @@
5306 out_int16x8_t = vld1q_s16 (0);
5307 }
5308
5309-/* { dg-final { scan-assembler "vld1\.16\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
5310+/* { dg-final { scan-assembler "vld1\.16\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
5311 /* { dg-final { cleanup-saved-temps } } */
5312
5313=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld1Qs32.c'
5314--- old/gcc/testsuite/gcc.target/arm/neon/vld1Qs32.c 2010-07-29 15:38:15 +0000
5315+++ new/gcc/testsuite/gcc.target/arm/neon/vld1Qs32.c 2010-08-20 13:27:11 +0000
5316@@ -15,5 +15,5 @@
5317 out_int32x4_t = vld1q_s32 (0);
5318 }
5319
5320-/* { dg-final { scan-assembler "vld1\.32\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
5321+/* { dg-final { scan-assembler "vld1\.32\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
5322 /* { dg-final { cleanup-saved-temps } } */
5323
5324=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld1Qs64.c'
5325--- old/gcc/testsuite/gcc.target/arm/neon/vld1Qs64.c 2010-07-29 15:38:15 +0000
5326+++ new/gcc/testsuite/gcc.target/arm/neon/vld1Qs64.c 2010-08-20 13:27:11 +0000
5327@@ -15,5 +15,5 @@
5328 out_int64x2_t = vld1q_s64 (0);
5329 }
5330
5331-/* { dg-final { scan-assembler "vld1\.64\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
5332+/* { dg-final { scan-assembler "vld1\.64\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
5333 /* { dg-final { cleanup-saved-temps } } */
5334
5335=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld1Qs8.c'
5336--- old/gcc/testsuite/gcc.target/arm/neon/vld1Qs8.c 2010-07-29 15:38:15 +0000
5337+++ new/gcc/testsuite/gcc.target/arm/neon/vld1Qs8.c 2010-08-20 13:27:11 +0000
5338@@ -15,5 +15,5 @@
5339 out_int8x16_t = vld1q_s8 (0);
5340 }
5341
5342-/* { dg-final { scan-assembler "vld1\.8\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
5343+/* { dg-final { scan-assembler "vld1\.8\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
5344 /* { dg-final { cleanup-saved-temps } } */
5345
5346=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld1Qu16.c'
5347--- old/gcc/testsuite/gcc.target/arm/neon/vld1Qu16.c 2010-07-29 15:38:15 +0000
5348+++ new/gcc/testsuite/gcc.target/arm/neon/vld1Qu16.c 2010-08-20 13:27:11 +0000
5349@@ -15,5 +15,5 @@
5350 out_uint16x8_t = vld1q_u16 (0);
5351 }
5352
5353-/* { dg-final { scan-assembler "vld1\.16\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
5354+/* { dg-final { scan-assembler "vld1\.16\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
5355 /* { dg-final { cleanup-saved-temps } } */
5356
5357=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld1Qu32.c'
5358--- old/gcc/testsuite/gcc.target/arm/neon/vld1Qu32.c 2010-07-29 15:38:15 +0000
5359+++ new/gcc/testsuite/gcc.target/arm/neon/vld1Qu32.c 2010-08-20 13:27:11 +0000
5360@@ -15,5 +15,5 @@
5361 out_uint32x4_t = vld1q_u32 (0);
5362 }
5363
5364-/* { dg-final { scan-assembler "vld1\.32\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
5365+/* { dg-final { scan-assembler "vld1\.32\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
5366 /* { dg-final { cleanup-saved-temps } } */
5367
5368=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld1Qu64.c'
5369--- old/gcc/testsuite/gcc.target/arm/neon/vld1Qu64.c 2010-07-29 15:38:15 +0000
5370+++ new/gcc/testsuite/gcc.target/arm/neon/vld1Qu64.c 2010-08-20 13:27:11 +0000
5371@@ -15,5 +15,5 @@
5372 out_uint64x2_t = vld1q_u64 (0);
5373 }
5374
5375-/* { dg-final { scan-assembler "vld1\.64\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
5376+/* { dg-final { scan-assembler "vld1\.64\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
5377 /* { dg-final { cleanup-saved-temps } } */
5378
5379=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld1Qu8.c'
5380--- old/gcc/testsuite/gcc.target/arm/neon/vld1Qu8.c 2010-07-29 15:38:15 +0000
5381+++ new/gcc/testsuite/gcc.target/arm/neon/vld1Qu8.c 2010-08-20 13:27:11 +0000
5382@@ -15,5 +15,5 @@
5383 out_uint8x16_t = vld1q_u8 (0);
5384 }
5385
5386-/* { dg-final { scan-assembler "vld1\.8\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
5387+/* { dg-final { scan-assembler "vld1\.8\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
5388 /* { dg-final { cleanup-saved-temps } } */
5389
5390=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld1_dupf32.c'
5391--- old/gcc/testsuite/gcc.target/arm/neon/vld1_dupf32.c 2010-07-29 15:38:15 +0000
5392+++ new/gcc/testsuite/gcc.target/arm/neon/vld1_dupf32.c 2010-08-20 13:27:11 +0000
5393@@ -15,5 +15,5 @@
5394 out_float32x2_t = vld1_dup_f32 (0);
5395 }
5396
5397-/* { dg-final { scan-assembler "vld1\.32\[ \]+((\\\{\[dD\]\[0-9\]+\\\[\\\]\\\})|(\[dD\]\[0-9\]+\\\[\\\])), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
5398+/* { dg-final { scan-assembler "vld1\.32\[ \]+((\\\{\[dD\]\[0-9\]+\\\[\\\]\\\})|(\[dD\]\[0-9\]+\\\[\\\])), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
5399 /* { dg-final { cleanup-saved-temps } } */
5400
5401=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld1_dupp16.c'
5402--- old/gcc/testsuite/gcc.target/arm/neon/vld1_dupp16.c 2010-07-29 15:38:15 +0000
5403+++ new/gcc/testsuite/gcc.target/arm/neon/vld1_dupp16.c 2010-08-20 13:27:11 +0000
5404@@ -15,5 +15,5 @@
5405 out_poly16x4_t = vld1_dup_p16 (0);
5406 }
5407
5408-/* { dg-final { scan-assembler "vld1\.16\[ \]+((\\\{\[dD\]\[0-9\]+\\\[\\\]\\\})|(\[dD\]\[0-9\]+\\\[\\\])), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
5409+/* { dg-final { scan-assembler "vld1\.16\[ \]+((\\\{\[dD\]\[0-9\]+\\\[\\\]\\\})|(\[dD\]\[0-9\]+\\\[\\\])), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
5410 /* { dg-final { cleanup-saved-temps } } */
5411
5412=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld1_dupp8.c'
5413--- old/gcc/testsuite/gcc.target/arm/neon/vld1_dupp8.c 2010-07-29 15:38:15 +0000
5414+++ new/gcc/testsuite/gcc.target/arm/neon/vld1_dupp8.c 2010-08-20 13:27:11 +0000
5415@@ -15,5 +15,5 @@
5416 out_poly8x8_t = vld1_dup_p8 (0);
5417 }
5418
5419-/* { dg-final { scan-assembler "vld1\.8\[ \]+((\\\{\[dD\]\[0-9\]+\\\[\\\]\\\})|(\[dD\]\[0-9\]+\\\[\\\])), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
5420+/* { dg-final { scan-assembler "vld1\.8\[ \]+((\\\{\[dD\]\[0-9\]+\\\[\\\]\\\})|(\[dD\]\[0-9\]+\\\[\\\])), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
5421 /* { dg-final { cleanup-saved-temps } } */
5422
5423=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld1_dups16.c'
5424--- old/gcc/testsuite/gcc.target/arm/neon/vld1_dups16.c 2010-07-29 15:38:15 +0000
5425+++ new/gcc/testsuite/gcc.target/arm/neon/vld1_dups16.c 2010-08-20 13:27:11 +0000
5426@@ -15,5 +15,5 @@
5427 out_int16x4_t = vld1_dup_s16 (0);
5428 }
5429
5430-/* { dg-final { scan-assembler "vld1\.16\[ \]+((\\\{\[dD\]\[0-9\]+\\\[\\\]\\\})|(\[dD\]\[0-9\]+\\\[\\\])), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
5431+/* { dg-final { scan-assembler "vld1\.16\[ \]+((\\\{\[dD\]\[0-9\]+\\\[\\\]\\\})|(\[dD\]\[0-9\]+\\\[\\\])), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
5432 /* { dg-final { cleanup-saved-temps } } */
5433
5434=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld1_dups32.c'
5435--- old/gcc/testsuite/gcc.target/arm/neon/vld1_dups32.c 2010-07-29 15:38:15 +0000
5436+++ new/gcc/testsuite/gcc.target/arm/neon/vld1_dups32.c 2010-08-20 13:27:11 +0000
5437@@ -15,5 +15,5 @@
5438 out_int32x2_t = vld1_dup_s32 (0);
5439 }
5440
5441-/* { dg-final { scan-assembler "vld1\.32\[ \]+((\\\{\[dD\]\[0-9\]+\\\[\\\]\\\})|(\[dD\]\[0-9\]+\\\[\\\])), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
5442+/* { dg-final { scan-assembler "vld1\.32\[ \]+((\\\{\[dD\]\[0-9\]+\\\[\\\]\\\})|(\[dD\]\[0-9\]+\\\[\\\])), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
5443 /* { dg-final { cleanup-saved-temps } } */
5444
5445=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld1_dups64.c'
5446--- old/gcc/testsuite/gcc.target/arm/neon/vld1_dups64.c 2010-07-29 15:38:15 +0000
5447+++ new/gcc/testsuite/gcc.target/arm/neon/vld1_dups64.c 2010-08-20 13:27:11 +0000
5448@@ -15,5 +15,5 @@
5449 out_int64x1_t = vld1_dup_s64 (0);
5450 }
5451
5452-/* { dg-final { scan-assembler "vld1\.64\[ \]+((\\\{\[dD\]\[0-9\]+\\\})|(\[dD\]\[0-9\]+)), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
5453+/* { dg-final { scan-assembler "vld1\.64\[ \]+((\\\{\[dD\]\[0-9\]+\\\})|(\[dD\]\[0-9\]+)), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
5454 /* { dg-final { cleanup-saved-temps } } */
5455
5456=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld1_dups8.c'
5457--- old/gcc/testsuite/gcc.target/arm/neon/vld1_dups8.c 2010-07-29 15:38:15 +0000
5458+++ new/gcc/testsuite/gcc.target/arm/neon/vld1_dups8.c 2010-08-20 13:27:11 +0000
5459@@ -15,5 +15,5 @@
5460 out_int8x8_t = vld1_dup_s8 (0);
5461 }
5462
5463-/* { dg-final { scan-assembler "vld1\.8\[ \]+((\\\{\[dD\]\[0-9\]+\\\[\\\]\\\})|(\[dD\]\[0-9\]+\\\[\\\])), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
5464+/* { dg-final { scan-assembler "vld1\.8\[ \]+((\\\{\[dD\]\[0-9\]+\\\[\\\]\\\})|(\[dD\]\[0-9\]+\\\[\\\])), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
5465 /* { dg-final { cleanup-saved-temps } } */
5466
5467=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld1_dupu16.c'
5468--- old/gcc/testsuite/gcc.target/arm/neon/vld1_dupu16.c 2010-07-29 15:38:15 +0000
5469+++ new/gcc/testsuite/gcc.target/arm/neon/vld1_dupu16.c 2010-08-20 13:27:11 +0000
5470@@ -15,5 +15,5 @@
5471 out_uint16x4_t = vld1_dup_u16 (0);
5472 }
5473
5474-/* { dg-final { scan-assembler "vld1\.16\[ \]+((\\\{\[dD\]\[0-9\]+\\\[\\\]\\\})|(\[dD\]\[0-9\]+\\\[\\\])), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
5475+/* { dg-final { scan-assembler "vld1\.16\[ \]+((\\\{\[dD\]\[0-9\]+\\\[\\\]\\\})|(\[dD\]\[0-9\]+\\\[\\\])), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
5476 /* { dg-final { cleanup-saved-temps } } */
5477
5478=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld1_dupu32.c'
5479--- old/gcc/testsuite/gcc.target/arm/neon/vld1_dupu32.c 2010-07-29 15:38:15 +0000
5480+++ new/gcc/testsuite/gcc.target/arm/neon/vld1_dupu32.c 2010-08-20 13:27:11 +0000
5481@@ -15,5 +15,5 @@
5482 out_uint32x2_t = vld1_dup_u32 (0);
5483 }
5484
5485-/* { dg-final { scan-assembler "vld1\.32\[ \]+((\\\{\[dD\]\[0-9\]+\\\[\\\]\\\})|(\[dD\]\[0-9\]+\\\[\\\])), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
5486+/* { dg-final { scan-assembler "vld1\.32\[ \]+((\\\{\[dD\]\[0-9\]+\\\[\\\]\\\})|(\[dD\]\[0-9\]+\\\[\\\])), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
5487 /* { dg-final { cleanup-saved-temps } } */
5488
5489=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld1_dupu64.c'
5490--- old/gcc/testsuite/gcc.target/arm/neon/vld1_dupu64.c 2010-07-29 15:38:15 +0000
5491+++ new/gcc/testsuite/gcc.target/arm/neon/vld1_dupu64.c 2010-08-20 13:27:11 +0000
5492@@ -15,5 +15,5 @@
5493 out_uint64x1_t = vld1_dup_u64 (0);
5494 }
5495
5496-/* { dg-final { scan-assembler "vld1\.64\[ \]+((\\\{\[dD\]\[0-9\]+\\\})|(\[dD\]\[0-9\]+)), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
5497+/* { dg-final { scan-assembler "vld1\.64\[ \]+((\\\{\[dD\]\[0-9\]+\\\})|(\[dD\]\[0-9\]+)), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
5498 /* { dg-final { cleanup-saved-temps } } */
5499
5500=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld1_dupu8.c'
5501--- old/gcc/testsuite/gcc.target/arm/neon/vld1_dupu8.c 2010-07-29 15:38:15 +0000
5502+++ new/gcc/testsuite/gcc.target/arm/neon/vld1_dupu8.c 2010-08-20 13:27:11 +0000
5503@@ -15,5 +15,5 @@
5504 out_uint8x8_t = vld1_dup_u8 (0);
5505 }
5506
5507-/* { dg-final { scan-assembler "vld1\.8\[ \]+((\\\{\[dD\]\[0-9\]+\\\[\\\]\\\})|(\[dD\]\[0-9\]+\\\[\\\])), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
5508+/* { dg-final { scan-assembler "vld1\.8\[ \]+((\\\{\[dD\]\[0-9\]+\\\[\\\]\\\})|(\[dD\]\[0-9\]+\\\[\\\])), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
5509 /* { dg-final { cleanup-saved-temps } } */
5510
5511=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld1_lanef32.c'
5512--- old/gcc/testsuite/gcc.target/arm/neon/vld1_lanef32.c 2010-07-29 15:38:15 +0000
5513+++ new/gcc/testsuite/gcc.target/arm/neon/vld1_lanef32.c 2010-08-20 13:27:11 +0000
5514@@ -16,5 +16,5 @@
5515 out_float32x2_t = vld1_lane_f32 (0, arg1_float32x2_t, 1);
5516 }
5517
5518-/* { dg-final { scan-assembler "vld1\.32\[ \]+((\\\{\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]\\\})|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
5519+/* { dg-final { scan-assembler "vld1\.32\[ \]+((\\\{\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]\\\})|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
5520 /* { dg-final { cleanup-saved-temps } } */
5521
5522=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld1_lanep16.c'
5523--- old/gcc/testsuite/gcc.target/arm/neon/vld1_lanep16.c 2010-07-29 15:38:15 +0000
5524+++ new/gcc/testsuite/gcc.target/arm/neon/vld1_lanep16.c 2010-08-20 13:27:11 +0000
5525@@ -16,5 +16,5 @@
5526 out_poly16x4_t = vld1_lane_p16 (0, arg1_poly16x4_t, 1);
5527 }
5528
5529-/* { dg-final { scan-assembler "vld1\.16\[ \]+((\\\{\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]\\\})|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
5530+/* { dg-final { scan-assembler "vld1\.16\[ \]+((\\\{\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]\\\})|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
5531 /* { dg-final { cleanup-saved-temps } } */
5532
5533=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld1_lanep8.c'
5534--- old/gcc/testsuite/gcc.target/arm/neon/vld1_lanep8.c 2010-07-29 15:38:15 +0000
5535+++ new/gcc/testsuite/gcc.target/arm/neon/vld1_lanep8.c 2010-08-20 13:27:11 +0000
5536@@ -16,5 +16,5 @@
5537 out_poly8x8_t = vld1_lane_p8 (0, arg1_poly8x8_t, 1);
5538 }
5539
5540-/* { dg-final { scan-assembler "vld1\.8\[ \]+((\\\{\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]\\\})|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
5541+/* { dg-final { scan-assembler "vld1\.8\[ \]+((\\\{\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]\\\})|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
5542 /* { dg-final { cleanup-saved-temps } } */
5543
5544=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld1_lanes16.c'
5545--- old/gcc/testsuite/gcc.target/arm/neon/vld1_lanes16.c 2010-07-29 15:38:15 +0000
5546+++ new/gcc/testsuite/gcc.target/arm/neon/vld1_lanes16.c 2010-08-20 13:27:11 +0000
5547@@ -16,5 +16,5 @@
5548 out_int16x4_t = vld1_lane_s16 (0, arg1_int16x4_t, 1);
5549 }
5550
5551-/* { dg-final { scan-assembler "vld1\.16\[ \]+((\\\{\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]\\\})|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
5552+/* { dg-final { scan-assembler "vld1\.16\[ \]+((\\\{\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]\\\})|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
5553 /* { dg-final { cleanup-saved-temps } } */
5554
5555=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld1_lanes32.c'
5556--- old/gcc/testsuite/gcc.target/arm/neon/vld1_lanes32.c 2010-07-29 15:38:15 +0000
5557+++ new/gcc/testsuite/gcc.target/arm/neon/vld1_lanes32.c 2010-08-20 13:27:11 +0000
5558@@ -16,5 +16,5 @@
5559 out_int32x2_t = vld1_lane_s32 (0, arg1_int32x2_t, 1);
5560 }
5561
5562-/* { dg-final { scan-assembler "vld1\.32\[ \]+((\\\{\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]\\\})|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
5563+/* { dg-final { scan-assembler "vld1\.32\[ \]+((\\\{\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]\\\})|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
5564 /* { dg-final { cleanup-saved-temps } } */
5565
5566=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld1_lanes64.c'
5567--- old/gcc/testsuite/gcc.target/arm/neon/vld1_lanes64.c 2010-07-29 15:38:15 +0000
5568+++ new/gcc/testsuite/gcc.target/arm/neon/vld1_lanes64.c 2010-08-20 13:27:11 +0000
5569@@ -16,5 +16,5 @@
5570 out_int64x1_t = vld1_lane_s64 (0, arg1_int64x1_t, 0);
5571 }
5572
5573-/* { dg-final { scan-assembler "vld1\.64\[ \]+((\\\{\[dD\]\[0-9\]+\\\})|(\[dD\]\[0-9\]+)), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
5574+/* { dg-final { scan-assembler "vld1\.64\[ \]+((\\\{\[dD\]\[0-9\]+\\\})|(\[dD\]\[0-9\]+)), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
5575 /* { dg-final { cleanup-saved-temps } } */
5576
5577=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld1_lanes8.c'
5578--- old/gcc/testsuite/gcc.target/arm/neon/vld1_lanes8.c 2010-07-29 15:38:15 +0000
5579+++ new/gcc/testsuite/gcc.target/arm/neon/vld1_lanes8.c 2010-08-20 13:27:11 +0000
5580@@ -16,5 +16,5 @@
5581 out_int8x8_t = vld1_lane_s8 (0, arg1_int8x8_t, 1);
5582 }
5583
5584-/* { dg-final { scan-assembler "vld1\.8\[ \]+((\\\{\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]\\\})|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
5585+/* { dg-final { scan-assembler "vld1\.8\[ \]+((\\\{\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]\\\})|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
5586 /* { dg-final { cleanup-saved-temps } } */
5587
5588=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld1_laneu16.c'
5589--- old/gcc/testsuite/gcc.target/arm/neon/vld1_laneu16.c 2010-07-29 15:38:15 +0000
5590+++ new/gcc/testsuite/gcc.target/arm/neon/vld1_laneu16.c 2010-08-20 13:27:11 +0000
5591@@ -16,5 +16,5 @@
5592 out_uint16x4_t = vld1_lane_u16 (0, arg1_uint16x4_t, 1);
5593 }
5594
5595-/* { dg-final { scan-assembler "vld1\.16\[ \]+((\\\{\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]\\\})|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
5596+/* { dg-final { scan-assembler "vld1\.16\[ \]+((\\\{\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]\\\})|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
5597 /* { dg-final { cleanup-saved-temps } } */
5598
5599=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld1_laneu32.c'
5600--- old/gcc/testsuite/gcc.target/arm/neon/vld1_laneu32.c 2010-07-29 15:38:15 +0000
5601+++ new/gcc/testsuite/gcc.target/arm/neon/vld1_laneu32.c 2010-08-20 13:27:11 +0000
5602@@ -16,5 +16,5 @@
5603 out_uint32x2_t = vld1_lane_u32 (0, arg1_uint32x2_t, 1);
5604 }
5605
5606-/* { dg-final { scan-assembler "vld1\.32\[ \]+((\\\{\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]\\\})|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
5607+/* { dg-final { scan-assembler "vld1\.32\[ \]+((\\\{\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]\\\})|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
5608 /* { dg-final { cleanup-saved-temps } } */
5609
5610=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld1_laneu64.c'
5611--- old/gcc/testsuite/gcc.target/arm/neon/vld1_laneu64.c 2010-07-29 15:38:15 +0000
5612+++ new/gcc/testsuite/gcc.target/arm/neon/vld1_laneu64.c 2010-08-20 13:27:11 +0000
5613@@ -16,5 +16,5 @@
5614 out_uint64x1_t = vld1_lane_u64 (0, arg1_uint64x1_t, 0);
5615 }
5616
5617-/* { dg-final { scan-assembler "vld1\.64\[ \]+((\\\{\[dD\]\[0-9\]+\\\})|(\[dD\]\[0-9\]+)), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
5618+/* { dg-final { scan-assembler "vld1\.64\[ \]+((\\\{\[dD\]\[0-9\]+\\\})|(\[dD\]\[0-9\]+)), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
5619 /* { dg-final { cleanup-saved-temps } } */
5620
5621=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld1_laneu8.c'
5622--- old/gcc/testsuite/gcc.target/arm/neon/vld1_laneu8.c 2010-07-29 15:38:15 +0000
5623+++ new/gcc/testsuite/gcc.target/arm/neon/vld1_laneu8.c 2010-08-20 13:27:11 +0000
5624@@ -16,5 +16,5 @@
5625 out_uint8x8_t = vld1_lane_u8 (0, arg1_uint8x8_t, 1);
5626 }
5627
5628-/* { dg-final { scan-assembler "vld1\.8\[ \]+((\\\{\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]\\\})|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
5629+/* { dg-final { scan-assembler "vld1\.8\[ \]+((\\\{\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]\\\})|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
5630 /* { dg-final { cleanup-saved-temps } } */
5631
5632=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld1f32.c'
5633--- old/gcc/testsuite/gcc.target/arm/neon/vld1f32.c 2010-07-29 15:38:15 +0000
5634+++ new/gcc/testsuite/gcc.target/arm/neon/vld1f32.c 2010-08-20 13:27:11 +0000
5635@@ -15,5 +15,5 @@
5636 out_float32x2_t = vld1_f32 (0);
5637 }
5638
5639-/* { dg-final { scan-assembler "vld1\.32\[ \]+((\\\{\[dD\]\[0-9\]+\\\})|(\[dD\]\[0-9\]+)), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
5640+/* { dg-final { scan-assembler "vld1\.32\[ \]+((\\\{\[dD\]\[0-9\]+\\\})|(\[dD\]\[0-9\]+)), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
5641 /* { dg-final { cleanup-saved-temps } } */
5642
5643=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld1p16.c'
5644--- old/gcc/testsuite/gcc.target/arm/neon/vld1p16.c 2010-07-29 15:38:15 +0000
5645+++ new/gcc/testsuite/gcc.target/arm/neon/vld1p16.c 2010-08-20 13:27:11 +0000
5646@@ -15,5 +15,5 @@
5647 out_poly16x4_t = vld1_p16 (0);
5648 }
5649
5650-/* { dg-final { scan-assembler "vld1\.16\[ \]+((\\\{\[dD\]\[0-9\]+\\\})|(\[dD\]\[0-9\]+)), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
5651+/* { dg-final { scan-assembler "vld1\.16\[ \]+((\\\{\[dD\]\[0-9\]+\\\})|(\[dD\]\[0-9\]+)), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
5652 /* { dg-final { cleanup-saved-temps } } */
5653
5654=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld1p8.c'
5655--- old/gcc/testsuite/gcc.target/arm/neon/vld1p8.c 2010-07-29 15:38:15 +0000
5656+++ new/gcc/testsuite/gcc.target/arm/neon/vld1p8.c 2010-08-20 13:27:11 +0000
5657@@ -15,5 +15,5 @@
5658 out_poly8x8_t = vld1_p8 (0);
5659 }
5660
5661-/* { dg-final { scan-assembler "vld1\.8\[ \]+((\\\{\[dD\]\[0-9\]+\\\})|(\[dD\]\[0-9\]+)), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
5662+/* { dg-final { scan-assembler "vld1\.8\[ \]+((\\\{\[dD\]\[0-9\]+\\\})|(\[dD\]\[0-9\]+)), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
5663 /* { dg-final { cleanup-saved-temps } } */
5664
5665=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld1s16.c'
5666--- old/gcc/testsuite/gcc.target/arm/neon/vld1s16.c 2010-07-29 15:38:15 +0000
5667+++ new/gcc/testsuite/gcc.target/arm/neon/vld1s16.c 2010-08-20 13:27:11 +0000
5668@@ -15,5 +15,5 @@
5669 out_int16x4_t = vld1_s16 (0);
5670 }
5671
5672-/* { dg-final { scan-assembler "vld1\.16\[ \]+((\\\{\[dD\]\[0-9\]+\\\})|(\[dD\]\[0-9\]+)), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
5673+/* { dg-final { scan-assembler "vld1\.16\[ \]+((\\\{\[dD\]\[0-9\]+\\\})|(\[dD\]\[0-9\]+)), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
5674 /* { dg-final { cleanup-saved-temps } } */
5675
5676=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld1s32.c'
5677--- old/gcc/testsuite/gcc.target/arm/neon/vld1s32.c 2010-07-29 15:38:15 +0000
5678+++ new/gcc/testsuite/gcc.target/arm/neon/vld1s32.c 2010-08-20 13:27:11 +0000
5679@@ -15,5 +15,5 @@
5680 out_int32x2_t = vld1_s32 (0);
5681 }
5682
5683-/* { dg-final { scan-assembler "vld1\.32\[ \]+((\\\{\[dD\]\[0-9\]+\\\})|(\[dD\]\[0-9\]+)), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
5684+/* { dg-final { scan-assembler "vld1\.32\[ \]+((\\\{\[dD\]\[0-9\]+\\\})|(\[dD\]\[0-9\]+)), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
5685 /* { dg-final { cleanup-saved-temps } } */
5686
5687=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld1s64.c'
5688--- old/gcc/testsuite/gcc.target/arm/neon/vld1s64.c 2010-07-29 15:38:15 +0000
5689+++ new/gcc/testsuite/gcc.target/arm/neon/vld1s64.c 2010-08-20 13:27:11 +0000
5690@@ -15,5 +15,5 @@
5691 out_int64x1_t = vld1_s64 (0);
5692 }
5693
5694-/* { dg-final { scan-assembler "vld1\.64\[ \]+((\\\{\[dD\]\[0-9\]+\\\})|(\[dD\]\[0-9\]+)), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
5695+/* { dg-final { scan-assembler "vld1\.64\[ \]+((\\\{\[dD\]\[0-9\]+\\\})|(\[dD\]\[0-9\]+)), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
5696 /* { dg-final { cleanup-saved-temps } } */
5697
5698=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld1s8.c'
5699--- old/gcc/testsuite/gcc.target/arm/neon/vld1s8.c 2010-07-29 15:38:15 +0000
5700+++ new/gcc/testsuite/gcc.target/arm/neon/vld1s8.c 2010-08-20 13:27:11 +0000
5701@@ -15,5 +15,5 @@
5702 out_int8x8_t = vld1_s8 (0);
5703 }
5704
5705-/* { dg-final { scan-assembler "vld1\.8\[ \]+((\\\{\[dD\]\[0-9\]+\\\})|(\[dD\]\[0-9\]+)), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
5706+/* { dg-final { scan-assembler "vld1\.8\[ \]+((\\\{\[dD\]\[0-9\]+\\\})|(\[dD\]\[0-9\]+)), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
5707 /* { dg-final { cleanup-saved-temps } } */
5708
5709=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld1u16.c'
5710--- old/gcc/testsuite/gcc.target/arm/neon/vld1u16.c 2010-07-29 15:38:15 +0000
5711+++ new/gcc/testsuite/gcc.target/arm/neon/vld1u16.c 2010-08-20 13:27:11 +0000
5712@@ -15,5 +15,5 @@
5713 out_uint16x4_t = vld1_u16 (0);
5714 }
5715
5716-/* { dg-final { scan-assembler "vld1\.16\[ \]+((\\\{\[dD\]\[0-9\]+\\\})|(\[dD\]\[0-9\]+)), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
5717+/* { dg-final { scan-assembler "vld1\.16\[ \]+((\\\{\[dD\]\[0-9\]+\\\})|(\[dD\]\[0-9\]+)), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
5718 /* { dg-final { cleanup-saved-temps } } */
5719
5720=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld1u32.c'
5721--- old/gcc/testsuite/gcc.target/arm/neon/vld1u32.c 2010-07-29 15:38:15 +0000
5722+++ new/gcc/testsuite/gcc.target/arm/neon/vld1u32.c 2010-08-20 13:27:11 +0000
5723@@ -15,5 +15,5 @@
5724 out_uint32x2_t = vld1_u32 (0);
5725 }
5726
5727-/* { dg-final { scan-assembler "vld1\.32\[ \]+((\\\{\[dD\]\[0-9\]+\\\})|(\[dD\]\[0-9\]+)), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
5728+/* { dg-final { scan-assembler "vld1\.32\[ \]+((\\\{\[dD\]\[0-9\]+\\\})|(\[dD\]\[0-9\]+)), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
5729 /* { dg-final { cleanup-saved-temps } } */
5730
5731=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld1u64.c'
5732--- old/gcc/testsuite/gcc.target/arm/neon/vld1u64.c 2010-07-29 15:38:15 +0000
5733+++ new/gcc/testsuite/gcc.target/arm/neon/vld1u64.c 2010-08-20 13:27:11 +0000
5734@@ -15,5 +15,5 @@
5735 out_uint64x1_t = vld1_u64 (0);
5736 }
5737
5738-/* { dg-final { scan-assembler "vld1\.64\[ \]+((\\\{\[dD\]\[0-9\]+\\\})|(\[dD\]\[0-9\]+)), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
5739+/* { dg-final { scan-assembler "vld1\.64\[ \]+((\\\{\[dD\]\[0-9\]+\\\})|(\[dD\]\[0-9\]+)), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
5740 /* { dg-final { cleanup-saved-temps } } */
5741
5742=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld1u8.c'
5743--- old/gcc/testsuite/gcc.target/arm/neon/vld1u8.c 2010-07-29 15:38:15 +0000
5744+++ new/gcc/testsuite/gcc.target/arm/neon/vld1u8.c 2010-08-20 13:27:11 +0000
5745@@ -15,5 +15,5 @@
5746 out_uint8x8_t = vld1_u8 (0);
5747 }
5748
5749-/* { dg-final { scan-assembler "vld1\.8\[ \]+((\\\{\[dD\]\[0-9\]+\\\})|(\[dD\]\[0-9\]+)), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
5750+/* { dg-final { scan-assembler "vld1\.8\[ \]+((\\\{\[dD\]\[0-9\]+\\\})|(\[dD\]\[0-9\]+)), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
5751 /* { dg-final { cleanup-saved-temps } } */
5752
5753=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld2Q_lanef32.c'
5754--- old/gcc/testsuite/gcc.target/arm/neon/vld2Q_lanef32.c 2010-07-29 15:38:15 +0000
5755+++ new/gcc/testsuite/gcc.target/arm/neon/vld2Q_lanef32.c 2010-08-20 13:27:11 +0000
5756@@ -16,5 +16,5 @@
5757 out_float32x4x2_t = vld2q_lane_f32 (0, arg1_float32x4x2_t, 1);
5758 }
5759
5760-/* { dg-final { scan-assembler "vld2\.32\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
5761+/* { dg-final { scan-assembler "vld2\.32\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
5762 /* { dg-final { cleanup-saved-temps } } */
5763
5764=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld2Q_lanep16.c'
5765--- old/gcc/testsuite/gcc.target/arm/neon/vld2Q_lanep16.c 2010-07-29 15:38:15 +0000
5766+++ new/gcc/testsuite/gcc.target/arm/neon/vld2Q_lanep16.c 2010-08-20 13:27:11 +0000
5767@@ -16,5 +16,5 @@
5768 out_poly16x8x2_t = vld2q_lane_p16 (0, arg1_poly16x8x2_t, 1);
5769 }
5770
5771-/* { dg-final { scan-assembler "vld2\.16\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
5772+/* { dg-final { scan-assembler "vld2\.16\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
5773 /* { dg-final { cleanup-saved-temps } } */
5774
5775=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld2Q_lanes16.c'
5776--- old/gcc/testsuite/gcc.target/arm/neon/vld2Q_lanes16.c 2010-07-29 15:38:15 +0000
5777+++ new/gcc/testsuite/gcc.target/arm/neon/vld2Q_lanes16.c 2010-08-20 13:27:11 +0000
5778@@ -16,5 +16,5 @@
5779 out_int16x8x2_t = vld2q_lane_s16 (0, arg1_int16x8x2_t, 1);
5780 }
5781
5782-/* { dg-final { scan-assembler "vld2\.16\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
5783+/* { dg-final { scan-assembler "vld2\.16\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
5784 /* { dg-final { cleanup-saved-temps } } */
5785
5786=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld2Q_lanes32.c'
5787--- old/gcc/testsuite/gcc.target/arm/neon/vld2Q_lanes32.c 2010-07-29 15:38:15 +0000
5788+++ new/gcc/testsuite/gcc.target/arm/neon/vld2Q_lanes32.c 2010-08-20 13:27:11 +0000
5789@@ -16,5 +16,5 @@
5790 out_int32x4x2_t = vld2q_lane_s32 (0, arg1_int32x4x2_t, 1);
5791 }
5792
5793-/* { dg-final { scan-assembler "vld2\.32\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
5794+/* { dg-final { scan-assembler "vld2\.32\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
5795 /* { dg-final { cleanup-saved-temps } } */
5796
5797=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld2Q_laneu16.c'
5798--- old/gcc/testsuite/gcc.target/arm/neon/vld2Q_laneu16.c 2010-07-29 15:38:15 +0000
5799+++ new/gcc/testsuite/gcc.target/arm/neon/vld2Q_laneu16.c 2010-08-20 13:27:11 +0000
5800@@ -16,5 +16,5 @@
5801 out_uint16x8x2_t = vld2q_lane_u16 (0, arg1_uint16x8x2_t, 1);
5802 }
5803
5804-/* { dg-final { scan-assembler "vld2\.16\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
5805+/* { dg-final { scan-assembler "vld2\.16\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
5806 /* { dg-final { cleanup-saved-temps } } */
5807
5808=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld2Q_laneu32.c'
5809--- old/gcc/testsuite/gcc.target/arm/neon/vld2Q_laneu32.c 2010-07-29 15:38:15 +0000
5810+++ new/gcc/testsuite/gcc.target/arm/neon/vld2Q_laneu32.c 2010-08-20 13:27:11 +0000
5811@@ -16,5 +16,5 @@
5812 out_uint32x4x2_t = vld2q_lane_u32 (0, arg1_uint32x4x2_t, 1);
5813 }
5814
5815-/* { dg-final { scan-assembler "vld2\.32\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
5816+/* { dg-final { scan-assembler "vld2\.32\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
5817 /* { dg-final { cleanup-saved-temps } } */
5818
5819=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld2Qf32.c'
5820--- old/gcc/testsuite/gcc.target/arm/neon/vld2Qf32.c 2010-07-29 15:38:15 +0000
5821+++ new/gcc/testsuite/gcc.target/arm/neon/vld2Qf32.c 2010-08-20 13:27:11 +0000
5822@@ -15,6 +15,6 @@
5823 out_float32x4x2_t = vld2q_f32 (0);
5824 }
5825
5826-/* { dg-final { scan-assembler "vld2\.32\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
5827-/* { dg-final { scan-assembler "vld2\.32\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
5828+/* { dg-final { scan-assembler "vld2\.32\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
5829+/* { dg-final { scan-assembler "vld2\.32\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
5830 /* { dg-final { cleanup-saved-temps } } */
5831
5832=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld2Qp16.c'
5833--- old/gcc/testsuite/gcc.target/arm/neon/vld2Qp16.c 2010-07-29 15:38:15 +0000
5834+++ new/gcc/testsuite/gcc.target/arm/neon/vld2Qp16.c 2010-08-20 13:27:11 +0000
5835@@ -15,6 +15,6 @@
5836 out_poly16x8x2_t = vld2q_p16 (0);
5837 }
5838
5839-/* { dg-final { scan-assembler "vld2\.16\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
5840-/* { dg-final { scan-assembler "vld2\.16\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
5841+/* { dg-final { scan-assembler "vld2\.16\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
5842+/* { dg-final { scan-assembler "vld2\.16\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
5843 /* { dg-final { cleanup-saved-temps } } */
5844
5845=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld2Qp8.c'
5846--- old/gcc/testsuite/gcc.target/arm/neon/vld2Qp8.c 2010-07-29 15:38:15 +0000
5847+++ new/gcc/testsuite/gcc.target/arm/neon/vld2Qp8.c 2010-08-20 13:27:11 +0000
5848@@ -15,6 +15,6 @@
5849 out_poly8x16x2_t = vld2q_p8 (0);
5850 }
5851
5852-/* { dg-final { scan-assembler "vld2\.8\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
5853-/* { dg-final { scan-assembler "vld2\.8\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
5854+/* { dg-final { scan-assembler "vld2\.8\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
5855+/* { dg-final { scan-assembler "vld2\.8\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
5856 /* { dg-final { cleanup-saved-temps } } */
5857
5858=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld2Qs16.c'
5859--- old/gcc/testsuite/gcc.target/arm/neon/vld2Qs16.c 2010-07-29 15:38:15 +0000
5860+++ new/gcc/testsuite/gcc.target/arm/neon/vld2Qs16.c 2010-08-20 13:27:11 +0000
5861@@ -15,6 +15,6 @@
5862 out_int16x8x2_t = vld2q_s16 (0);
5863 }
5864
5865-/* { dg-final { scan-assembler "vld2\.16\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
5866-/* { dg-final { scan-assembler "vld2\.16\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
5867+/* { dg-final { scan-assembler "vld2\.16\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
5868+/* { dg-final { scan-assembler "vld2\.16\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
5869 /* { dg-final { cleanup-saved-temps } } */
5870
5871=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld2Qs32.c'
5872--- old/gcc/testsuite/gcc.target/arm/neon/vld2Qs32.c 2010-07-29 15:38:15 +0000
5873+++ new/gcc/testsuite/gcc.target/arm/neon/vld2Qs32.c 2010-08-20 13:27:11 +0000
5874@@ -15,6 +15,6 @@
5875 out_int32x4x2_t = vld2q_s32 (0);
5876 }
5877
5878-/* { dg-final { scan-assembler "vld2\.32\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
5879-/* { dg-final { scan-assembler "vld2\.32\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
5880+/* { dg-final { scan-assembler "vld2\.32\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
5881+/* { dg-final { scan-assembler "vld2\.32\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
5882 /* { dg-final { cleanup-saved-temps } } */
5883
5884=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld2Qs8.c'
5885--- old/gcc/testsuite/gcc.target/arm/neon/vld2Qs8.c 2010-07-29 15:38:15 +0000
5886+++ new/gcc/testsuite/gcc.target/arm/neon/vld2Qs8.c 2010-08-20 13:27:11 +0000
5887@@ -15,6 +15,6 @@
5888 out_int8x16x2_t = vld2q_s8 (0);
5889 }
5890
5891-/* { dg-final { scan-assembler "vld2\.8\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
5892-/* { dg-final { scan-assembler "vld2\.8\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
5893+/* { dg-final { scan-assembler "vld2\.8\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
5894+/* { dg-final { scan-assembler "vld2\.8\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
5895 /* { dg-final { cleanup-saved-temps } } */
5896
5897=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld2Qu16.c'
5898--- old/gcc/testsuite/gcc.target/arm/neon/vld2Qu16.c 2010-07-29 15:38:15 +0000
5899+++ new/gcc/testsuite/gcc.target/arm/neon/vld2Qu16.c 2010-08-20 13:27:11 +0000
5900@@ -15,6 +15,6 @@
5901 out_uint16x8x2_t = vld2q_u16 (0);
5902 }
5903
5904-/* { dg-final { scan-assembler "vld2\.16\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
5905-/* { dg-final { scan-assembler "vld2\.16\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
5906+/* { dg-final { scan-assembler "vld2\.16\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
5907+/* { dg-final { scan-assembler "vld2\.16\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
5908 /* { dg-final { cleanup-saved-temps } } */
5909
5910=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld2Qu32.c'
5911--- old/gcc/testsuite/gcc.target/arm/neon/vld2Qu32.c 2010-07-29 15:38:15 +0000
5912+++ new/gcc/testsuite/gcc.target/arm/neon/vld2Qu32.c 2010-08-20 13:27:11 +0000
5913@@ -15,6 +15,6 @@
5914 out_uint32x4x2_t = vld2q_u32 (0);
5915 }
5916
5917-/* { dg-final { scan-assembler "vld2\.32\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
5918-/* { dg-final { scan-assembler "vld2\.32\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
5919+/* { dg-final { scan-assembler "vld2\.32\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
5920+/* { dg-final { scan-assembler "vld2\.32\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
5921 /* { dg-final { cleanup-saved-temps } } */
5922
5923=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld2Qu8.c'
5924--- old/gcc/testsuite/gcc.target/arm/neon/vld2Qu8.c 2010-07-29 15:38:15 +0000
5925+++ new/gcc/testsuite/gcc.target/arm/neon/vld2Qu8.c 2010-08-20 13:27:11 +0000
5926@@ -15,6 +15,6 @@
5927 out_uint8x16x2_t = vld2q_u8 (0);
5928 }
5929
5930-/* { dg-final { scan-assembler "vld2\.8\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
5931-/* { dg-final { scan-assembler "vld2\.8\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
5932+/* { dg-final { scan-assembler "vld2\.8\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
5933+/* { dg-final { scan-assembler "vld2\.8\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
5934 /* { dg-final { cleanup-saved-temps } } */
5935
5936=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld2_dupf32.c'
5937--- old/gcc/testsuite/gcc.target/arm/neon/vld2_dupf32.c 2010-07-29 15:38:15 +0000
5938+++ new/gcc/testsuite/gcc.target/arm/neon/vld2_dupf32.c 2010-08-20 13:27:11 +0000
5939@@ -15,5 +15,5 @@
5940 out_float32x2x2_t = vld2_dup_f32 (0);
5941 }
5942
5943-/* { dg-final { scan-assembler "vld2\.32\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\\\]-\[dD\]\[0-9\]+\\\[\\\])|(\[dD\]\[0-9\]+\\\[\\\], \[dD\]\[0-9\]+\\\[\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
5944+/* { dg-final { scan-assembler "vld2\.32\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\\\]-\[dD\]\[0-9\]+\\\[\\\])|(\[dD\]\[0-9\]+\\\[\\\], \[dD\]\[0-9\]+\\\[\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
5945 /* { dg-final { cleanup-saved-temps } } */
5946
5947=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld2_dupp16.c'
5948--- old/gcc/testsuite/gcc.target/arm/neon/vld2_dupp16.c 2010-07-29 15:38:15 +0000
5949+++ new/gcc/testsuite/gcc.target/arm/neon/vld2_dupp16.c 2010-08-20 13:27:11 +0000
5950@@ -15,5 +15,5 @@
5951 out_poly16x4x2_t = vld2_dup_p16 (0);
5952 }
5953
5954-/* { dg-final { scan-assembler "vld2\.16\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\\\]-\[dD\]\[0-9\]+\\\[\\\])|(\[dD\]\[0-9\]+\\\[\\\], \[dD\]\[0-9\]+\\\[\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
5955+/* { dg-final { scan-assembler "vld2\.16\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\\\]-\[dD\]\[0-9\]+\\\[\\\])|(\[dD\]\[0-9\]+\\\[\\\], \[dD\]\[0-9\]+\\\[\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
5956 /* { dg-final { cleanup-saved-temps } } */
5957
5958=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld2_dupp8.c'
5959--- old/gcc/testsuite/gcc.target/arm/neon/vld2_dupp8.c 2010-07-29 15:38:15 +0000
5960+++ new/gcc/testsuite/gcc.target/arm/neon/vld2_dupp8.c 2010-08-20 13:27:11 +0000
5961@@ -15,5 +15,5 @@
5962 out_poly8x8x2_t = vld2_dup_p8 (0);
5963 }
5964
5965-/* { dg-final { scan-assembler "vld2\.8\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\\\]-\[dD\]\[0-9\]+\\\[\\\])|(\[dD\]\[0-9\]+\\\[\\\], \[dD\]\[0-9\]+\\\[\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
5966+/* { dg-final { scan-assembler "vld2\.8\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\\\]-\[dD\]\[0-9\]+\\\[\\\])|(\[dD\]\[0-9\]+\\\[\\\], \[dD\]\[0-9\]+\\\[\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
5967 /* { dg-final { cleanup-saved-temps } } */
5968
5969=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld2_dups16.c'
5970--- old/gcc/testsuite/gcc.target/arm/neon/vld2_dups16.c 2010-07-29 15:38:15 +0000
5971+++ new/gcc/testsuite/gcc.target/arm/neon/vld2_dups16.c 2010-08-20 13:27:11 +0000
5972@@ -15,5 +15,5 @@
5973 out_int16x4x2_t = vld2_dup_s16 (0);
5974 }
5975
5976-/* { dg-final { scan-assembler "vld2\.16\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\\\]-\[dD\]\[0-9\]+\\\[\\\])|(\[dD\]\[0-9\]+\\\[\\\], \[dD\]\[0-9\]+\\\[\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
5977+/* { dg-final { scan-assembler "vld2\.16\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\\\]-\[dD\]\[0-9\]+\\\[\\\])|(\[dD\]\[0-9\]+\\\[\\\], \[dD\]\[0-9\]+\\\[\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
5978 /* { dg-final { cleanup-saved-temps } } */
5979
5980=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld2_dups32.c'
5981--- old/gcc/testsuite/gcc.target/arm/neon/vld2_dups32.c 2010-07-29 15:38:15 +0000
5982+++ new/gcc/testsuite/gcc.target/arm/neon/vld2_dups32.c 2010-08-20 13:27:11 +0000
5983@@ -15,5 +15,5 @@
5984 out_int32x2x2_t = vld2_dup_s32 (0);
5985 }
5986
5987-/* { dg-final { scan-assembler "vld2\.32\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\\\]-\[dD\]\[0-9\]+\\\[\\\])|(\[dD\]\[0-9\]+\\\[\\\], \[dD\]\[0-9\]+\\\[\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
5988+/* { dg-final { scan-assembler "vld2\.32\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\\\]-\[dD\]\[0-9\]+\\\[\\\])|(\[dD\]\[0-9\]+\\\[\\\], \[dD\]\[0-9\]+\\\[\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
5989 /* { dg-final { cleanup-saved-temps } } */
5990
5991=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld2_dups64.c'
5992--- old/gcc/testsuite/gcc.target/arm/neon/vld2_dups64.c 2010-07-29 15:38:15 +0000
5993+++ new/gcc/testsuite/gcc.target/arm/neon/vld2_dups64.c 2010-08-20 13:27:11 +0000
5994@@ -15,5 +15,5 @@
5995 out_int64x1x2_t = vld2_dup_s64 (0);
5996 }
5997
5998-/* { dg-final { scan-assembler "vld1\.64\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
5999+/* { dg-final { scan-assembler "vld1\.64\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
6000 /* { dg-final { cleanup-saved-temps } } */
6001
6002=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld2_dups8.c'
6003--- old/gcc/testsuite/gcc.target/arm/neon/vld2_dups8.c 2010-07-29 15:38:15 +0000
6004+++ new/gcc/testsuite/gcc.target/arm/neon/vld2_dups8.c 2010-08-20 13:27:11 +0000
6005@@ -15,5 +15,5 @@
6006 out_int8x8x2_t = vld2_dup_s8 (0);
6007 }
6008
6009-/* { dg-final { scan-assembler "vld2\.8\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\\\]-\[dD\]\[0-9\]+\\\[\\\])|(\[dD\]\[0-9\]+\\\[\\\], \[dD\]\[0-9\]+\\\[\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
6010+/* { dg-final { scan-assembler "vld2\.8\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\\\]-\[dD\]\[0-9\]+\\\[\\\])|(\[dD\]\[0-9\]+\\\[\\\], \[dD\]\[0-9\]+\\\[\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
6011 /* { dg-final { cleanup-saved-temps } } */
6012
6013=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld2_dupu16.c'
6014--- old/gcc/testsuite/gcc.target/arm/neon/vld2_dupu16.c 2010-07-29 15:38:15 +0000
6015+++ new/gcc/testsuite/gcc.target/arm/neon/vld2_dupu16.c 2010-08-20 13:27:11 +0000
6016@@ -15,5 +15,5 @@
6017 out_uint16x4x2_t = vld2_dup_u16 (0);
6018 }
6019
6020-/* { dg-final { scan-assembler "vld2\.16\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\\\]-\[dD\]\[0-9\]+\\\[\\\])|(\[dD\]\[0-9\]+\\\[\\\], \[dD\]\[0-9\]+\\\[\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
6021+/* { dg-final { scan-assembler "vld2\.16\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\\\]-\[dD\]\[0-9\]+\\\[\\\])|(\[dD\]\[0-9\]+\\\[\\\], \[dD\]\[0-9\]+\\\[\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
6022 /* { dg-final { cleanup-saved-temps } } */
6023
6024=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld2_dupu32.c'
6025--- old/gcc/testsuite/gcc.target/arm/neon/vld2_dupu32.c 2010-07-29 15:38:15 +0000
6026+++ new/gcc/testsuite/gcc.target/arm/neon/vld2_dupu32.c 2010-08-20 13:27:11 +0000
6027@@ -15,5 +15,5 @@
6028 out_uint32x2x2_t = vld2_dup_u32 (0);
6029 }
6030
6031-/* { dg-final { scan-assembler "vld2\.32\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\\\]-\[dD\]\[0-9\]+\\\[\\\])|(\[dD\]\[0-9\]+\\\[\\\], \[dD\]\[0-9\]+\\\[\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
6032+/* { dg-final { scan-assembler "vld2\.32\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\\\]-\[dD\]\[0-9\]+\\\[\\\])|(\[dD\]\[0-9\]+\\\[\\\], \[dD\]\[0-9\]+\\\[\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
6033 /* { dg-final { cleanup-saved-temps } } */
6034
6035=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld2_dupu64.c'
6036--- old/gcc/testsuite/gcc.target/arm/neon/vld2_dupu64.c 2010-07-29 15:38:15 +0000
6037+++ new/gcc/testsuite/gcc.target/arm/neon/vld2_dupu64.c 2010-08-20 13:27:11 +0000
6038@@ -15,5 +15,5 @@
6039 out_uint64x1x2_t = vld2_dup_u64 (0);
6040 }
6041
6042-/* { dg-final { scan-assembler "vld1\.64\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
6043+/* { dg-final { scan-assembler "vld1\.64\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
6044 /* { dg-final { cleanup-saved-temps } } */
6045
6046=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld2_dupu8.c'
6047--- old/gcc/testsuite/gcc.target/arm/neon/vld2_dupu8.c 2010-07-29 15:38:15 +0000
6048+++ new/gcc/testsuite/gcc.target/arm/neon/vld2_dupu8.c 2010-08-20 13:27:11 +0000
6049@@ -15,5 +15,5 @@
6050 out_uint8x8x2_t = vld2_dup_u8 (0);
6051 }
6052
6053-/* { dg-final { scan-assembler "vld2\.8\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\\\]-\[dD\]\[0-9\]+\\\[\\\])|(\[dD\]\[0-9\]+\\\[\\\], \[dD\]\[0-9\]+\\\[\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
6054+/* { dg-final { scan-assembler "vld2\.8\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\\\]-\[dD\]\[0-9\]+\\\[\\\])|(\[dD\]\[0-9\]+\\\[\\\], \[dD\]\[0-9\]+\\\[\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
6055 /* { dg-final { cleanup-saved-temps } } */
6056
6057=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld2_lanef32.c'
6058--- old/gcc/testsuite/gcc.target/arm/neon/vld2_lanef32.c 2010-07-29 15:38:15 +0000
6059+++ new/gcc/testsuite/gcc.target/arm/neon/vld2_lanef32.c 2010-08-20 13:27:11 +0000
6060@@ -16,5 +16,5 @@
6061 out_float32x2x2_t = vld2_lane_f32 (0, arg1_float32x2x2_t, 1);
6062 }
6063
6064-/* { dg-final { scan-assembler "vld2\.32\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
6065+/* { dg-final { scan-assembler "vld2\.32\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
6066 /* { dg-final { cleanup-saved-temps } } */
6067
6068=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld2_lanep16.c'
6069--- old/gcc/testsuite/gcc.target/arm/neon/vld2_lanep16.c 2010-07-29 15:38:15 +0000
6070+++ new/gcc/testsuite/gcc.target/arm/neon/vld2_lanep16.c 2010-08-20 13:27:11 +0000
6071@@ -16,5 +16,5 @@
6072 out_poly16x4x2_t = vld2_lane_p16 (0, arg1_poly16x4x2_t, 1);
6073 }
6074
6075-/* { dg-final { scan-assembler "vld2\.16\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
6076+/* { dg-final { scan-assembler "vld2\.16\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
6077 /* { dg-final { cleanup-saved-temps } } */
6078
6079=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld2_lanep8.c'
6080--- old/gcc/testsuite/gcc.target/arm/neon/vld2_lanep8.c 2010-07-29 15:38:15 +0000
6081+++ new/gcc/testsuite/gcc.target/arm/neon/vld2_lanep8.c 2010-08-20 13:27:11 +0000
6082@@ -16,5 +16,5 @@
6083 out_poly8x8x2_t = vld2_lane_p8 (0, arg1_poly8x8x2_t, 1);
6084 }
6085
6086-/* { dg-final { scan-assembler "vld2\.8\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
6087+/* { dg-final { scan-assembler "vld2\.8\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
6088 /* { dg-final { cleanup-saved-temps } } */
6089
6090=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld2_lanes16.c'
6091--- old/gcc/testsuite/gcc.target/arm/neon/vld2_lanes16.c 2010-07-29 15:38:15 +0000
6092+++ new/gcc/testsuite/gcc.target/arm/neon/vld2_lanes16.c 2010-08-20 13:27:11 +0000
6093@@ -16,5 +16,5 @@
6094 out_int16x4x2_t = vld2_lane_s16 (0, arg1_int16x4x2_t, 1);
6095 }
6096
6097-/* { dg-final { scan-assembler "vld2\.16\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
6098+/* { dg-final { scan-assembler "vld2\.16\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
6099 /* { dg-final { cleanup-saved-temps } } */
6100
6101=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld2_lanes32.c'
6102--- old/gcc/testsuite/gcc.target/arm/neon/vld2_lanes32.c 2010-07-29 15:38:15 +0000
6103+++ new/gcc/testsuite/gcc.target/arm/neon/vld2_lanes32.c 2010-08-20 13:27:11 +0000
6104@@ -16,5 +16,5 @@
6105 out_int32x2x2_t = vld2_lane_s32 (0, arg1_int32x2x2_t, 1);
6106 }
6107
6108-/* { dg-final { scan-assembler "vld2\.32\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
6109+/* { dg-final { scan-assembler "vld2\.32\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
6110 /* { dg-final { cleanup-saved-temps } } */
6111
6112=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld2_lanes8.c'
6113--- old/gcc/testsuite/gcc.target/arm/neon/vld2_lanes8.c 2010-07-29 15:38:15 +0000
6114+++ new/gcc/testsuite/gcc.target/arm/neon/vld2_lanes8.c 2010-08-20 13:27:11 +0000
6115@@ -16,5 +16,5 @@
6116 out_int8x8x2_t = vld2_lane_s8 (0, arg1_int8x8x2_t, 1);
6117 }
6118
6119-/* { dg-final { scan-assembler "vld2\.8\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
6120+/* { dg-final { scan-assembler "vld2\.8\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
6121 /* { dg-final { cleanup-saved-temps } } */
6122
6123=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld2_laneu16.c'
6124--- old/gcc/testsuite/gcc.target/arm/neon/vld2_laneu16.c 2010-07-29 15:38:15 +0000
6125+++ new/gcc/testsuite/gcc.target/arm/neon/vld2_laneu16.c 2010-08-20 13:27:11 +0000
6126@@ -16,5 +16,5 @@
6127 out_uint16x4x2_t = vld2_lane_u16 (0, arg1_uint16x4x2_t, 1);
6128 }
6129
6130-/* { dg-final { scan-assembler "vld2\.16\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
6131+/* { dg-final { scan-assembler "vld2\.16\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
6132 /* { dg-final { cleanup-saved-temps } } */
6133
6134=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld2_laneu32.c'
6135--- old/gcc/testsuite/gcc.target/arm/neon/vld2_laneu32.c 2010-07-29 15:38:15 +0000
6136+++ new/gcc/testsuite/gcc.target/arm/neon/vld2_laneu32.c 2010-08-20 13:27:11 +0000
6137@@ -16,5 +16,5 @@
6138 out_uint32x2x2_t = vld2_lane_u32 (0, arg1_uint32x2x2_t, 1);
6139 }
6140
6141-/* { dg-final { scan-assembler "vld2\.32\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
6142+/* { dg-final { scan-assembler "vld2\.32\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
6143 /* { dg-final { cleanup-saved-temps } } */
6144
6145=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld2_laneu8.c'
6146--- old/gcc/testsuite/gcc.target/arm/neon/vld2_laneu8.c 2010-07-29 15:38:15 +0000
6147+++ new/gcc/testsuite/gcc.target/arm/neon/vld2_laneu8.c 2010-08-20 13:27:11 +0000
6148@@ -16,5 +16,5 @@
6149 out_uint8x8x2_t = vld2_lane_u8 (0, arg1_uint8x8x2_t, 1);
6150 }
6151
6152-/* { dg-final { scan-assembler "vld2\.8\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
6153+/* { dg-final { scan-assembler "vld2\.8\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
6154 /* { dg-final { cleanup-saved-temps } } */
6155
6156=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld2f32.c'
6157--- old/gcc/testsuite/gcc.target/arm/neon/vld2f32.c 2010-07-29 15:38:15 +0000
6158+++ new/gcc/testsuite/gcc.target/arm/neon/vld2f32.c 2010-08-20 13:27:11 +0000
6159@@ -15,5 +15,5 @@
6160 out_float32x2x2_t = vld2_f32 (0);
6161 }
6162
6163-/* { dg-final { scan-assembler "vld2\.32\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
6164+/* { dg-final { scan-assembler "vld2\.32\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
6165 /* { dg-final { cleanup-saved-temps } } */
6166
6167=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld2p16.c'
6168--- old/gcc/testsuite/gcc.target/arm/neon/vld2p16.c 2010-07-29 15:38:15 +0000
6169+++ new/gcc/testsuite/gcc.target/arm/neon/vld2p16.c 2010-08-20 13:27:11 +0000
6170@@ -15,5 +15,5 @@
6171 out_poly16x4x2_t = vld2_p16 (0);
6172 }
6173
6174-/* { dg-final { scan-assembler "vld2\.16\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
6175+/* { dg-final { scan-assembler "vld2\.16\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
6176 /* { dg-final { cleanup-saved-temps } } */
6177
6178=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld2p8.c'
6179--- old/gcc/testsuite/gcc.target/arm/neon/vld2p8.c 2010-07-29 15:38:15 +0000
6180+++ new/gcc/testsuite/gcc.target/arm/neon/vld2p8.c 2010-08-20 13:27:11 +0000
6181@@ -15,5 +15,5 @@
6182 out_poly8x8x2_t = vld2_p8 (0);
6183 }
6184
6185-/* { dg-final { scan-assembler "vld2\.8\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
6186+/* { dg-final { scan-assembler "vld2\.8\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
6187 /* { dg-final { cleanup-saved-temps } } */
6188
6189=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld2s16.c'
6190--- old/gcc/testsuite/gcc.target/arm/neon/vld2s16.c 2010-07-29 15:38:15 +0000
6191+++ new/gcc/testsuite/gcc.target/arm/neon/vld2s16.c 2010-08-20 13:27:11 +0000
6192@@ -15,5 +15,5 @@
6193 out_int16x4x2_t = vld2_s16 (0);
6194 }
6195
6196-/* { dg-final { scan-assembler "vld2\.16\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
6197+/* { dg-final { scan-assembler "vld2\.16\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
6198 /* { dg-final { cleanup-saved-temps } } */
6199
6200=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld2s32.c'
6201--- old/gcc/testsuite/gcc.target/arm/neon/vld2s32.c 2010-07-29 15:38:15 +0000
6202+++ new/gcc/testsuite/gcc.target/arm/neon/vld2s32.c 2010-08-20 13:27:11 +0000
6203@@ -15,5 +15,5 @@
6204 out_int32x2x2_t = vld2_s32 (0);
6205 }
6206
6207-/* { dg-final { scan-assembler "vld2\.32\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
6208+/* { dg-final { scan-assembler "vld2\.32\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
6209 /* { dg-final { cleanup-saved-temps } } */
6210
6211=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld2s64.c'
6212--- old/gcc/testsuite/gcc.target/arm/neon/vld2s64.c 2010-07-29 15:38:15 +0000
6213+++ new/gcc/testsuite/gcc.target/arm/neon/vld2s64.c 2010-08-20 13:27:11 +0000
6214@@ -15,5 +15,5 @@
6215 out_int64x1x2_t = vld2_s64 (0);
6216 }
6217
6218-/* { dg-final { scan-assembler "vld1\.64\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
6219+/* { dg-final { scan-assembler "vld1\.64\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
6220 /* { dg-final { cleanup-saved-temps } } */
6221
6222=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld2s8.c'
6223--- old/gcc/testsuite/gcc.target/arm/neon/vld2s8.c 2010-07-29 15:38:15 +0000
6224+++ new/gcc/testsuite/gcc.target/arm/neon/vld2s8.c 2010-08-20 13:27:11 +0000
6225@@ -15,5 +15,5 @@
6226 out_int8x8x2_t = vld2_s8 (0);
6227 }
6228
6229-/* { dg-final { scan-assembler "vld2\.8\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
6230+/* { dg-final { scan-assembler "vld2\.8\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
6231 /* { dg-final { cleanup-saved-temps } } */
6232
6233=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld2u16.c'
6234--- old/gcc/testsuite/gcc.target/arm/neon/vld2u16.c 2010-07-29 15:38:15 +0000
6235+++ new/gcc/testsuite/gcc.target/arm/neon/vld2u16.c 2010-08-20 13:27:11 +0000
6236@@ -15,5 +15,5 @@
6237 out_uint16x4x2_t = vld2_u16 (0);
6238 }
6239
6240-/* { dg-final { scan-assembler "vld2\.16\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
6241+/* { dg-final { scan-assembler "vld2\.16\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
6242 /* { dg-final { cleanup-saved-temps } } */
6243
6244=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld2u32.c'
6245--- old/gcc/testsuite/gcc.target/arm/neon/vld2u32.c 2010-07-29 15:38:15 +0000
6246+++ new/gcc/testsuite/gcc.target/arm/neon/vld2u32.c 2010-08-20 13:27:11 +0000
6247@@ -15,5 +15,5 @@
6248 out_uint32x2x2_t = vld2_u32 (0);
6249 }
6250
6251-/* { dg-final { scan-assembler "vld2\.32\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
6252+/* { dg-final { scan-assembler "vld2\.32\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
6253 /* { dg-final { cleanup-saved-temps } } */
6254
6255=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld2u64.c'
6256--- old/gcc/testsuite/gcc.target/arm/neon/vld2u64.c 2010-07-29 15:38:15 +0000
6257+++ new/gcc/testsuite/gcc.target/arm/neon/vld2u64.c 2010-08-20 13:27:11 +0000
6258@@ -15,5 +15,5 @@
6259 out_uint64x1x2_t = vld2_u64 (0);
6260 }
6261
6262-/* { dg-final { scan-assembler "vld1\.64\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
6263+/* { dg-final { scan-assembler "vld1\.64\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
6264 /* { dg-final { cleanup-saved-temps } } */
6265
6266=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld2u8.c'
6267--- old/gcc/testsuite/gcc.target/arm/neon/vld2u8.c 2010-07-29 15:38:15 +0000
6268+++ new/gcc/testsuite/gcc.target/arm/neon/vld2u8.c 2010-08-20 13:27:11 +0000
6269@@ -15,5 +15,5 @@
6270 out_uint8x8x2_t = vld2_u8 (0);
6271 }
6272
6273-/* { dg-final { scan-assembler "vld2\.8\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
6274+/* { dg-final { scan-assembler "vld2\.8\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
6275 /* { dg-final { cleanup-saved-temps } } */
6276
6277=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld3Q_lanef32.c'
6278--- old/gcc/testsuite/gcc.target/arm/neon/vld3Q_lanef32.c 2010-07-29 15:38:15 +0000
6279+++ new/gcc/testsuite/gcc.target/arm/neon/vld3Q_lanef32.c 2010-08-20 13:27:11 +0000
6280@@ -16,5 +16,5 @@
6281 out_float32x4x3_t = vld3q_lane_f32 (0, arg1_float32x4x3_t, 1);
6282 }
6283
6284-/* { dg-final { scan-assembler "vld3\.32\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
6285+/* { dg-final { scan-assembler "vld3\.32\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
6286 /* { dg-final { cleanup-saved-temps } } */
6287
6288=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld3Q_lanep16.c'
6289--- old/gcc/testsuite/gcc.target/arm/neon/vld3Q_lanep16.c 2010-07-29 15:38:15 +0000
6290+++ new/gcc/testsuite/gcc.target/arm/neon/vld3Q_lanep16.c 2010-08-20 13:27:11 +0000
6291@@ -16,5 +16,5 @@
6292 out_poly16x8x3_t = vld3q_lane_p16 (0, arg1_poly16x8x3_t, 1);
6293 }
6294
6295-/* { dg-final { scan-assembler "vld3\.16\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
6296+/* { dg-final { scan-assembler "vld3\.16\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
6297 /* { dg-final { cleanup-saved-temps } } */
6298
6299=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld3Q_lanes16.c'
6300--- old/gcc/testsuite/gcc.target/arm/neon/vld3Q_lanes16.c 2010-07-29 15:38:15 +0000
6301+++ new/gcc/testsuite/gcc.target/arm/neon/vld3Q_lanes16.c 2010-08-20 13:27:11 +0000
6302@@ -16,5 +16,5 @@
6303 out_int16x8x3_t = vld3q_lane_s16 (0, arg1_int16x8x3_t, 1);
6304 }
6305
6306-/* { dg-final { scan-assembler "vld3\.16\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
6307+/* { dg-final { scan-assembler "vld3\.16\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
6308 /* { dg-final { cleanup-saved-temps } } */
6309
6310=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld3Q_lanes32.c'
6311--- old/gcc/testsuite/gcc.target/arm/neon/vld3Q_lanes32.c 2010-07-29 15:38:15 +0000
6312+++ new/gcc/testsuite/gcc.target/arm/neon/vld3Q_lanes32.c 2010-08-20 13:27:11 +0000
6313@@ -16,5 +16,5 @@
6314 out_int32x4x3_t = vld3q_lane_s32 (0, arg1_int32x4x3_t, 1);
6315 }
6316
6317-/* { dg-final { scan-assembler "vld3\.32\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
6318+/* { dg-final { scan-assembler "vld3\.32\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
6319 /* { dg-final { cleanup-saved-temps } } */
6320
6321=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld3Q_laneu16.c'
6322--- old/gcc/testsuite/gcc.target/arm/neon/vld3Q_laneu16.c 2010-07-29 15:38:15 +0000
6323+++ new/gcc/testsuite/gcc.target/arm/neon/vld3Q_laneu16.c 2010-08-20 13:27:11 +0000
6324@@ -16,5 +16,5 @@
6325 out_uint16x8x3_t = vld3q_lane_u16 (0, arg1_uint16x8x3_t, 1);
6326 }
6327
6328-/* { dg-final { scan-assembler "vld3\.16\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
6329+/* { dg-final { scan-assembler "vld3\.16\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
6330 /* { dg-final { cleanup-saved-temps } } */
6331
6332=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld3Q_laneu32.c'
6333--- old/gcc/testsuite/gcc.target/arm/neon/vld3Q_laneu32.c 2010-07-29 15:38:15 +0000
6334+++ new/gcc/testsuite/gcc.target/arm/neon/vld3Q_laneu32.c 2010-08-20 13:27:11 +0000
6335@@ -16,5 +16,5 @@
6336 out_uint32x4x3_t = vld3q_lane_u32 (0, arg1_uint32x4x3_t, 1);
6337 }
6338
6339-/* { dg-final { scan-assembler "vld3\.32\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
6340+/* { dg-final { scan-assembler "vld3\.32\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
6341 /* { dg-final { cleanup-saved-temps } } */
6342
6343=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld3Qf32.c'
6344--- old/gcc/testsuite/gcc.target/arm/neon/vld3Qf32.c 2010-07-29 15:38:15 +0000
6345+++ new/gcc/testsuite/gcc.target/arm/neon/vld3Qf32.c 2010-08-20 13:27:11 +0000
6346@@ -15,6 +15,6 @@
6347 out_float32x4x3_t = vld3q_f32 (0);
6348 }
6349
6350-/* { dg-final { scan-assembler "vld3\.32\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
6351-/* { dg-final { scan-assembler "vld3\.32\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
6352+/* { dg-final { scan-assembler "vld3\.32\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
6353+/* { dg-final { scan-assembler "vld3\.32\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
6354 /* { dg-final { cleanup-saved-temps } } */
6355
6356=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld3Qp16.c'
6357--- old/gcc/testsuite/gcc.target/arm/neon/vld3Qp16.c 2010-07-29 15:38:15 +0000
6358+++ new/gcc/testsuite/gcc.target/arm/neon/vld3Qp16.c 2010-08-20 13:27:11 +0000
6359@@ -15,6 +15,6 @@
6360 out_poly16x8x3_t = vld3q_p16 (0);
6361 }
6362
6363-/* { dg-final { scan-assembler "vld3\.16\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
6364-/* { dg-final { scan-assembler "vld3\.16\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
6365+/* { dg-final { scan-assembler "vld3\.16\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
6366+/* { dg-final { scan-assembler "vld3\.16\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
6367 /* { dg-final { cleanup-saved-temps } } */
6368
6369=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld3Qp8.c'
6370--- old/gcc/testsuite/gcc.target/arm/neon/vld3Qp8.c 2010-07-29 15:38:15 +0000
6371+++ new/gcc/testsuite/gcc.target/arm/neon/vld3Qp8.c 2010-08-20 13:27:11 +0000
6372@@ -15,6 +15,6 @@
6373 out_poly8x16x3_t = vld3q_p8 (0);
6374 }
6375
6376-/* { dg-final { scan-assembler "vld3\.8\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
6377-/* { dg-final { scan-assembler "vld3\.8\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
6378+/* { dg-final { scan-assembler "vld3\.8\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
6379+/* { dg-final { scan-assembler "vld3\.8\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
6380 /* { dg-final { cleanup-saved-temps } } */
6381
6382=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld3Qs16.c'
6383--- old/gcc/testsuite/gcc.target/arm/neon/vld3Qs16.c 2010-07-29 15:38:15 +0000
6384+++ new/gcc/testsuite/gcc.target/arm/neon/vld3Qs16.c 2010-08-20 13:27:11 +0000
6385@@ -15,6 +15,6 @@
6386 out_int16x8x3_t = vld3q_s16 (0);
6387 }
6388
6389-/* { dg-final { scan-assembler "vld3\.16\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
6390-/* { dg-final { scan-assembler "vld3\.16\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
6391+/* { dg-final { scan-assembler "vld3\.16\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
6392+/* { dg-final { scan-assembler "vld3\.16\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
6393 /* { dg-final { cleanup-saved-temps } } */
6394
6395=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld3Qs32.c'
6396--- old/gcc/testsuite/gcc.target/arm/neon/vld3Qs32.c 2010-07-29 15:38:15 +0000
6397+++ new/gcc/testsuite/gcc.target/arm/neon/vld3Qs32.c 2010-08-20 13:27:11 +0000
6398@@ -15,6 +15,6 @@
6399 out_int32x4x3_t = vld3q_s32 (0);
6400 }
6401
6402-/* { dg-final { scan-assembler "vld3\.32\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
6403-/* { dg-final { scan-assembler "vld3\.32\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
6404+/* { dg-final { scan-assembler "vld3\.32\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
6405+/* { dg-final { scan-assembler "vld3\.32\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
6406 /* { dg-final { cleanup-saved-temps } } */
6407
6408=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld3Qs8.c'
6409--- old/gcc/testsuite/gcc.target/arm/neon/vld3Qs8.c 2010-07-29 15:38:15 +0000
6410+++ new/gcc/testsuite/gcc.target/arm/neon/vld3Qs8.c 2010-08-20 13:27:11 +0000
6411@@ -15,6 +15,6 @@
6412 out_int8x16x3_t = vld3q_s8 (0);
6413 }
6414
6415-/* { dg-final { scan-assembler "vld3\.8\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
6416-/* { dg-final { scan-assembler "vld3\.8\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
6417+/* { dg-final { scan-assembler "vld3\.8\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
6418+/* { dg-final { scan-assembler "vld3\.8\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
6419 /* { dg-final { cleanup-saved-temps } } */
6420
6421=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld3Qu16.c'
6422--- old/gcc/testsuite/gcc.target/arm/neon/vld3Qu16.c 2010-07-29 15:38:15 +0000
6423+++ new/gcc/testsuite/gcc.target/arm/neon/vld3Qu16.c 2010-08-20 13:27:11 +0000
6424@@ -15,6 +15,6 @@
6425 out_uint16x8x3_t = vld3q_u16 (0);
6426 }
6427
6428-/* { dg-final { scan-assembler "vld3\.16\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
6429-/* { dg-final { scan-assembler "vld3\.16\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
6430+/* { dg-final { scan-assembler "vld3\.16\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
6431+/* { dg-final { scan-assembler "vld3\.16\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
6432 /* { dg-final { cleanup-saved-temps } } */
6433
6434=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld3Qu32.c'
6435--- old/gcc/testsuite/gcc.target/arm/neon/vld3Qu32.c 2010-07-29 15:38:15 +0000
6436+++ new/gcc/testsuite/gcc.target/arm/neon/vld3Qu32.c 2010-08-20 13:27:11 +0000
6437@@ -15,6 +15,6 @@
6438 out_uint32x4x3_t = vld3q_u32 (0);
6439 }
6440
6441-/* { dg-final { scan-assembler "vld3\.32\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
6442-/* { dg-final { scan-assembler "vld3\.32\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
6443+/* { dg-final { scan-assembler "vld3\.32\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
6444+/* { dg-final { scan-assembler "vld3\.32\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
6445 /* { dg-final { cleanup-saved-temps } } */
6446
6447=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld3Qu8.c'
6448--- old/gcc/testsuite/gcc.target/arm/neon/vld3Qu8.c 2010-07-29 15:38:15 +0000
6449+++ new/gcc/testsuite/gcc.target/arm/neon/vld3Qu8.c 2010-08-20 13:27:11 +0000
6450@@ -15,6 +15,6 @@
6451 out_uint8x16x3_t = vld3q_u8 (0);
6452 }
6453
6454-/* { dg-final { scan-assembler "vld3\.8\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
6455-/* { dg-final { scan-assembler "vld3\.8\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
6456+/* { dg-final { scan-assembler "vld3\.8\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
6457+/* { dg-final { scan-assembler "vld3\.8\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
6458 /* { dg-final { cleanup-saved-temps } } */
6459
6460=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld3_dupf32.c'
6461--- old/gcc/testsuite/gcc.target/arm/neon/vld3_dupf32.c 2010-07-29 15:38:15 +0000
6462+++ new/gcc/testsuite/gcc.target/arm/neon/vld3_dupf32.c 2010-08-20 13:27:11 +0000
6463@@ -15,5 +15,5 @@
6464 out_float32x2x3_t = vld3_dup_f32 (0);
6465 }
6466
6467-/* { dg-final { scan-assembler "vld3\.32\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\\\]-\[dD\]\[0-9\]+\\\[\\\])|(\[dD\]\[0-9\]+\\\[\\\], \[dD\]\[0-9\]+\\\[\\\], \[dD\]\[0-9\]+\\\[\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
6468+/* { dg-final { scan-assembler "vld3\.32\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\\\]-\[dD\]\[0-9\]+\\\[\\\])|(\[dD\]\[0-9\]+\\\[\\\], \[dD\]\[0-9\]+\\\[\\\], \[dD\]\[0-9\]+\\\[\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
6469 /* { dg-final { cleanup-saved-temps } } */
6470
6471=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld3_dupp16.c'
6472--- old/gcc/testsuite/gcc.target/arm/neon/vld3_dupp16.c 2010-07-29 15:38:15 +0000
6473+++ new/gcc/testsuite/gcc.target/arm/neon/vld3_dupp16.c 2010-08-20 13:27:11 +0000
6474@@ -15,5 +15,5 @@
6475 out_poly16x4x3_t = vld3_dup_p16 (0);
6476 }
6477
6478-/* { dg-final { scan-assembler "vld3\.16\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\\\]-\[dD\]\[0-9\]+\\\[\\\])|(\[dD\]\[0-9\]+\\\[\\\], \[dD\]\[0-9\]+\\\[\\\], \[dD\]\[0-9\]+\\\[\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
6479+/* { dg-final { scan-assembler "vld3\.16\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\\\]-\[dD\]\[0-9\]+\\\[\\\])|(\[dD\]\[0-9\]+\\\[\\\], \[dD\]\[0-9\]+\\\[\\\], \[dD\]\[0-9\]+\\\[\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
6480 /* { dg-final { cleanup-saved-temps } } */
6481
6482=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld3_dupp8.c'
6483--- old/gcc/testsuite/gcc.target/arm/neon/vld3_dupp8.c 2010-07-29 15:38:15 +0000
6484+++ new/gcc/testsuite/gcc.target/arm/neon/vld3_dupp8.c 2010-08-20 13:27:11 +0000
6485@@ -15,5 +15,5 @@
6486 out_poly8x8x3_t = vld3_dup_p8 (0);
6487 }
6488
6489-/* { dg-final { scan-assembler "vld3\.8\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\\\]-\[dD\]\[0-9\]+\\\[\\\])|(\[dD\]\[0-9\]+\\\[\\\], \[dD\]\[0-9\]+\\\[\\\], \[dD\]\[0-9\]+\\\[\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
6490+/* { dg-final { scan-assembler "vld3\.8\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\\\]-\[dD\]\[0-9\]+\\\[\\\])|(\[dD\]\[0-9\]+\\\[\\\], \[dD\]\[0-9\]+\\\[\\\], \[dD\]\[0-9\]+\\\[\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
6491 /* { dg-final { cleanup-saved-temps } } */
6492
6493=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld3_dups16.c'
6494--- old/gcc/testsuite/gcc.target/arm/neon/vld3_dups16.c 2010-07-29 15:38:15 +0000
6495+++ new/gcc/testsuite/gcc.target/arm/neon/vld3_dups16.c 2010-08-20 13:27:11 +0000
6496@@ -15,5 +15,5 @@
6497 out_int16x4x3_t = vld3_dup_s16 (0);
6498 }
6499
6500-/* { dg-final { scan-assembler "vld3\.16\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\\\]-\[dD\]\[0-9\]+\\\[\\\])|(\[dD\]\[0-9\]+\\\[\\\], \[dD\]\[0-9\]+\\\[\\\], \[dD\]\[0-9\]+\\\[\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
6501+/* { dg-final { scan-assembler "vld3\.16\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\\\]-\[dD\]\[0-9\]+\\\[\\\])|(\[dD\]\[0-9\]+\\\[\\\], \[dD\]\[0-9\]+\\\[\\\], \[dD\]\[0-9\]+\\\[\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
6502 /* { dg-final { cleanup-saved-temps } } */
6503
6504=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld3_dups32.c'
6505--- old/gcc/testsuite/gcc.target/arm/neon/vld3_dups32.c 2010-07-29 15:38:15 +0000
6506+++ new/gcc/testsuite/gcc.target/arm/neon/vld3_dups32.c 2010-08-20 13:27:11 +0000
6507@@ -15,5 +15,5 @@
6508 out_int32x2x3_t = vld3_dup_s32 (0);
6509 }
6510
6511-/* { dg-final { scan-assembler "vld3\.32\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\\\]-\[dD\]\[0-9\]+\\\[\\\])|(\[dD\]\[0-9\]+\\\[\\\], \[dD\]\[0-9\]+\\\[\\\], \[dD\]\[0-9\]+\\\[\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
6512+/* { dg-final { scan-assembler "vld3\.32\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\\\]-\[dD\]\[0-9\]+\\\[\\\])|(\[dD\]\[0-9\]+\\\[\\\], \[dD\]\[0-9\]+\\\[\\\], \[dD\]\[0-9\]+\\\[\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
6513 /* { dg-final { cleanup-saved-temps } } */
6514
6515=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld3_dups64.c'
6516--- old/gcc/testsuite/gcc.target/arm/neon/vld3_dups64.c 2010-07-29 15:38:15 +0000
6517+++ new/gcc/testsuite/gcc.target/arm/neon/vld3_dups64.c 2010-08-20 13:27:11 +0000
6518@@ -15,5 +15,5 @@
6519 out_int64x1x3_t = vld3_dup_s64 (0);
6520 }
6521
6522-/* { dg-final { scan-assembler "vld1\.64\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
6523+/* { dg-final { scan-assembler "vld1\.64\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
6524 /* { dg-final { cleanup-saved-temps } } */
6525
6526=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld3_dups8.c'
6527--- old/gcc/testsuite/gcc.target/arm/neon/vld3_dups8.c 2010-07-29 15:38:15 +0000
6528+++ new/gcc/testsuite/gcc.target/arm/neon/vld3_dups8.c 2010-08-20 13:27:11 +0000
6529@@ -15,5 +15,5 @@
6530 out_int8x8x3_t = vld3_dup_s8 (0);
6531 }
6532
6533-/* { dg-final { scan-assembler "vld3\.8\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\\\]-\[dD\]\[0-9\]+\\\[\\\])|(\[dD\]\[0-9\]+\\\[\\\], \[dD\]\[0-9\]+\\\[\\\], \[dD\]\[0-9\]+\\\[\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
6534+/* { dg-final { scan-assembler "vld3\.8\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\\\]-\[dD\]\[0-9\]+\\\[\\\])|(\[dD\]\[0-9\]+\\\[\\\], \[dD\]\[0-9\]+\\\[\\\], \[dD\]\[0-9\]+\\\[\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
6535 /* { dg-final { cleanup-saved-temps } } */
6536
6537=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld3_dupu16.c'
6538--- old/gcc/testsuite/gcc.target/arm/neon/vld3_dupu16.c 2010-07-29 15:38:15 +0000
6539+++ new/gcc/testsuite/gcc.target/arm/neon/vld3_dupu16.c 2010-08-20 13:27:11 +0000
6540@@ -15,5 +15,5 @@
6541 out_uint16x4x3_t = vld3_dup_u16 (0);
6542 }
6543
6544-/* { dg-final { scan-assembler "vld3\.16\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\\\]-\[dD\]\[0-9\]+\\\[\\\])|(\[dD\]\[0-9\]+\\\[\\\], \[dD\]\[0-9\]+\\\[\\\], \[dD\]\[0-9\]+\\\[\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
6545+/* { dg-final { scan-assembler "vld3\.16\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\\\]-\[dD\]\[0-9\]+\\\[\\\])|(\[dD\]\[0-9\]+\\\[\\\], \[dD\]\[0-9\]+\\\[\\\], \[dD\]\[0-9\]+\\\[\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
6546 /* { dg-final { cleanup-saved-temps } } */
6547
6548=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld3_dupu32.c'
6549--- old/gcc/testsuite/gcc.target/arm/neon/vld3_dupu32.c 2010-07-29 15:38:15 +0000
6550+++ new/gcc/testsuite/gcc.target/arm/neon/vld3_dupu32.c 2010-08-20 13:27:11 +0000
6551@@ -15,5 +15,5 @@
6552 out_uint32x2x3_t = vld3_dup_u32 (0);
6553 }
6554
6555-/* { dg-final { scan-assembler "vld3\.32\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\\\]-\[dD\]\[0-9\]+\\\[\\\])|(\[dD\]\[0-9\]+\\\[\\\], \[dD\]\[0-9\]+\\\[\\\], \[dD\]\[0-9\]+\\\[\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
6556+/* { dg-final { scan-assembler "vld3\.32\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\\\]-\[dD\]\[0-9\]+\\\[\\\])|(\[dD\]\[0-9\]+\\\[\\\], \[dD\]\[0-9\]+\\\[\\\], \[dD\]\[0-9\]+\\\[\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
6557 /* { dg-final { cleanup-saved-temps } } */
6558
6559=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld3_dupu64.c'
6560--- old/gcc/testsuite/gcc.target/arm/neon/vld3_dupu64.c 2010-07-29 15:38:15 +0000
6561+++ new/gcc/testsuite/gcc.target/arm/neon/vld3_dupu64.c 2010-08-20 13:27:11 +0000
6562@@ -15,5 +15,5 @@
6563 out_uint64x1x3_t = vld3_dup_u64 (0);
6564 }
6565
6566-/* { dg-final { scan-assembler "vld1\.64\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
6567+/* { dg-final { scan-assembler "vld1\.64\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
6568 /* { dg-final { cleanup-saved-temps } } */
6569
6570=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld3_dupu8.c'
6571--- old/gcc/testsuite/gcc.target/arm/neon/vld3_dupu8.c 2010-07-29 15:38:15 +0000
6572+++ new/gcc/testsuite/gcc.target/arm/neon/vld3_dupu8.c 2010-08-20 13:27:11 +0000
6573@@ -15,5 +15,5 @@
6574 out_uint8x8x3_t = vld3_dup_u8 (0);
6575 }
6576
6577-/* { dg-final { scan-assembler "vld3\.8\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\\\]-\[dD\]\[0-9\]+\\\[\\\])|(\[dD\]\[0-9\]+\\\[\\\], \[dD\]\[0-9\]+\\\[\\\], \[dD\]\[0-9\]+\\\[\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
6578+/* { dg-final { scan-assembler "vld3\.8\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\\\]-\[dD\]\[0-9\]+\\\[\\\])|(\[dD\]\[0-9\]+\\\[\\\], \[dD\]\[0-9\]+\\\[\\\], \[dD\]\[0-9\]+\\\[\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
6579 /* { dg-final { cleanup-saved-temps } } */
6580
6581=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld3_lanef32.c'
6582--- old/gcc/testsuite/gcc.target/arm/neon/vld3_lanef32.c 2010-07-29 15:38:15 +0000
6583+++ new/gcc/testsuite/gcc.target/arm/neon/vld3_lanef32.c 2010-08-20 13:27:11 +0000
6584@@ -16,5 +16,5 @@
6585 out_float32x2x3_t = vld3_lane_f32 (0, arg1_float32x2x3_t, 1);
6586 }
6587
6588-/* { dg-final { scan-assembler "vld3\.32\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
6589+/* { dg-final { scan-assembler "vld3\.32\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
6590 /* { dg-final { cleanup-saved-temps } } */
6591
6592=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld3_lanep16.c'
6593--- old/gcc/testsuite/gcc.target/arm/neon/vld3_lanep16.c 2010-07-29 15:38:15 +0000
6594+++ new/gcc/testsuite/gcc.target/arm/neon/vld3_lanep16.c 2010-08-20 13:27:11 +0000
6595@@ -16,5 +16,5 @@
6596 out_poly16x4x3_t = vld3_lane_p16 (0, arg1_poly16x4x3_t, 1);
6597 }
6598
6599-/* { dg-final { scan-assembler "vld3\.16\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
6600+/* { dg-final { scan-assembler "vld3\.16\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
6601 /* { dg-final { cleanup-saved-temps } } */
6602
6603=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld3_lanep8.c'
6604--- old/gcc/testsuite/gcc.target/arm/neon/vld3_lanep8.c 2010-07-29 15:38:15 +0000
6605+++ new/gcc/testsuite/gcc.target/arm/neon/vld3_lanep8.c 2010-08-20 13:27:11 +0000
6606@@ -16,5 +16,5 @@
6607 out_poly8x8x3_t = vld3_lane_p8 (0, arg1_poly8x8x3_t, 1);
6608 }
6609
6610-/* { dg-final { scan-assembler "vld3\.8\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
6611+/* { dg-final { scan-assembler "vld3\.8\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
6612 /* { dg-final { cleanup-saved-temps } } */
6613
6614=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld3_lanes16.c'
6615--- old/gcc/testsuite/gcc.target/arm/neon/vld3_lanes16.c 2010-07-29 15:38:15 +0000
6616+++ new/gcc/testsuite/gcc.target/arm/neon/vld3_lanes16.c 2010-08-20 13:27:11 +0000
6617@@ -16,5 +16,5 @@
6618 out_int16x4x3_t = vld3_lane_s16 (0, arg1_int16x4x3_t, 1);
6619 }
6620
6621-/* { dg-final { scan-assembler "vld3\.16\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
6622+/* { dg-final { scan-assembler "vld3\.16\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
6623 /* { dg-final { cleanup-saved-temps } } */
6624
6625=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld3_lanes32.c'
6626--- old/gcc/testsuite/gcc.target/arm/neon/vld3_lanes32.c 2010-07-29 15:38:15 +0000
6627+++ new/gcc/testsuite/gcc.target/arm/neon/vld3_lanes32.c 2010-08-20 13:27:11 +0000
6628@@ -16,5 +16,5 @@
6629 out_int32x2x3_t = vld3_lane_s32 (0, arg1_int32x2x3_t, 1);
6630 }
6631
6632-/* { dg-final { scan-assembler "vld3\.32\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
6633+/* { dg-final { scan-assembler "vld3\.32\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
6634 /* { dg-final { cleanup-saved-temps } } */
6635
6636=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld3_lanes8.c'
6637--- old/gcc/testsuite/gcc.target/arm/neon/vld3_lanes8.c 2010-07-29 15:38:15 +0000
6638+++ new/gcc/testsuite/gcc.target/arm/neon/vld3_lanes8.c 2010-08-20 13:27:11 +0000
6639@@ -16,5 +16,5 @@
6640 out_int8x8x3_t = vld3_lane_s8 (0, arg1_int8x8x3_t, 1);
6641 }
6642
6643-/* { dg-final { scan-assembler "vld3\.8\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
6644+/* { dg-final { scan-assembler "vld3\.8\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
6645 /* { dg-final { cleanup-saved-temps } } */
6646
6647=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld3_laneu16.c'
6648--- old/gcc/testsuite/gcc.target/arm/neon/vld3_laneu16.c 2010-07-29 15:38:15 +0000
6649+++ new/gcc/testsuite/gcc.target/arm/neon/vld3_laneu16.c 2010-08-20 13:27:11 +0000
6650@@ -16,5 +16,5 @@
6651 out_uint16x4x3_t = vld3_lane_u16 (0, arg1_uint16x4x3_t, 1);
6652 }
6653
6654-/* { dg-final { scan-assembler "vld3\.16\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
6655+/* { dg-final { scan-assembler "vld3\.16\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
6656 /* { dg-final { cleanup-saved-temps } } */
6657
6658=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld3_laneu32.c'
6659--- old/gcc/testsuite/gcc.target/arm/neon/vld3_laneu32.c 2010-07-29 15:38:15 +0000
6660+++ new/gcc/testsuite/gcc.target/arm/neon/vld3_laneu32.c 2010-08-20 13:27:11 +0000
6661@@ -16,5 +16,5 @@
6662 out_uint32x2x3_t = vld3_lane_u32 (0, arg1_uint32x2x3_t, 1);
6663 }
6664
6665-/* { dg-final { scan-assembler "vld3\.32\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
6666+/* { dg-final { scan-assembler "vld3\.32\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
6667 /* { dg-final { cleanup-saved-temps } } */
6668
6669=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld3_laneu8.c'
6670--- old/gcc/testsuite/gcc.target/arm/neon/vld3_laneu8.c 2010-07-29 15:38:15 +0000
6671+++ new/gcc/testsuite/gcc.target/arm/neon/vld3_laneu8.c 2010-08-20 13:27:11 +0000
6672@@ -16,5 +16,5 @@
6673 out_uint8x8x3_t = vld3_lane_u8 (0, arg1_uint8x8x3_t, 1);
6674 }
6675
6676-/* { dg-final { scan-assembler "vld3\.8\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
6677+/* { dg-final { scan-assembler "vld3\.8\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
6678 /* { dg-final { cleanup-saved-temps } } */
6679
6680=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld3f32.c'
6681--- old/gcc/testsuite/gcc.target/arm/neon/vld3f32.c 2010-07-29 15:38:15 +0000
6682+++ new/gcc/testsuite/gcc.target/arm/neon/vld3f32.c 2010-08-20 13:27:11 +0000
6683@@ -15,5 +15,5 @@
6684 out_float32x2x3_t = vld3_f32 (0);
6685 }
6686
6687-/* { dg-final { scan-assembler "vld3\.32\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
6688+/* { dg-final { scan-assembler "vld3\.32\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
6689 /* { dg-final { cleanup-saved-temps } } */
6690
6691=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld3p16.c'
6692--- old/gcc/testsuite/gcc.target/arm/neon/vld3p16.c 2010-07-29 15:38:15 +0000
6693+++ new/gcc/testsuite/gcc.target/arm/neon/vld3p16.c 2010-08-20 13:27:11 +0000
6694@@ -15,5 +15,5 @@
6695 out_poly16x4x3_t = vld3_p16 (0);
6696 }
6697
6698-/* { dg-final { scan-assembler "vld3\.16\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
6699+/* { dg-final { scan-assembler "vld3\.16\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
6700 /* { dg-final { cleanup-saved-temps } } */
6701
6702=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld3p8.c'
6703--- old/gcc/testsuite/gcc.target/arm/neon/vld3p8.c 2010-07-29 15:38:15 +0000
6704+++ new/gcc/testsuite/gcc.target/arm/neon/vld3p8.c 2010-08-20 13:27:11 +0000
6705@@ -15,5 +15,5 @@
6706 out_poly8x8x3_t = vld3_p8 (0);
6707 }
6708
6709-/* { dg-final { scan-assembler "vld3\.8\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
6710+/* { dg-final { scan-assembler "vld3\.8\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
6711 /* { dg-final { cleanup-saved-temps } } */
6712
6713=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld3s16.c'
6714--- old/gcc/testsuite/gcc.target/arm/neon/vld3s16.c 2010-07-29 15:38:15 +0000
6715+++ new/gcc/testsuite/gcc.target/arm/neon/vld3s16.c 2010-08-20 13:27:11 +0000
6716@@ -15,5 +15,5 @@
6717 out_int16x4x3_t = vld3_s16 (0);
6718 }
6719
6720-/* { dg-final { scan-assembler "vld3\.16\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
6721+/* { dg-final { scan-assembler "vld3\.16\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
6722 /* { dg-final { cleanup-saved-temps } } */
6723
6724=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld3s32.c'
6725--- old/gcc/testsuite/gcc.target/arm/neon/vld3s32.c 2010-07-29 15:38:15 +0000
6726+++ new/gcc/testsuite/gcc.target/arm/neon/vld3s32.c 2010-08-20 13:27:11 +0000
6727@@ -15,5 +15,5 @@
6728 out_int32x2x3_t = vld3_s32 (0);
6729 }
6730
6731-/* { dg-final { scan-assembler "vld3\.32\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
6732+/* { dg-final { scan-assembler "vld3\.32\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
6733 /* { dg-final { cleanup-saved-temps } } */
6734
6735=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld3s64.c'
6736--- old/gcc/testsuite/gcc.target/arm/neon/vld3s64.c 2010-07-29 15:38:15 +0000
6737+++ new/gcc/testsuite/gcc.target/arm/neon/vld3s64.c 2010-08-20 13:27:11 +0000
6738@@ -15,5 +15,5 @@
6739 out_int64x1x3_t = vld3_s64 (0);
6740 }
6741
6742-/* { dg-final { scan-assembler "vld1\.64\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
6743+/* { dg-final { scan-assembler "vld1\.64\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
6744 /* { dg-final { cleanup-saved-temps } } */
6745
6746=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld3s8.c'
6747--- old/gcc/testsuite/gcc.target/arm/neon/vld3s8.c 2010-07-29 15:38:15 +0000
6748+++ new/gcc/testsuite/gcc.target/arm/neon/vld3s8.c 2010-08-20 13:27:11 +0000
6749@@ -15,5 +15,5 @@
6750 out_int8x8x3_t = vld3_s8 (0);
6751 }
6752
6753-/* { dg-final { scan-assembler "vld3\.8\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
6754+/* { dg-final { scan-assembler "vld3\.8\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
6755 /* { dg-final { cleanup-saved-temps } } */
6756
6757=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld3u16.c'
6758--- old/gcc/testsuite/gcc.target/arm/neon/vld3u16.c 2010-07-29 15:38:15 +0000
6759+++ new/gcc/testsuite/gcc.target/arm/neon/vld3u16.c 2010-08-20 13:27:11 +0000
6760@@ -15,5 +15,5 @@
6761 out_uint16x4x3_t = vld3_u16 (0);
6762 }
6763
6764-/* { dg-final { scan-assembler "vld3\.16\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
6765+/* { dg-final { scan-assembler "vld3\.16\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
6766 /* { dg-final { cleanup-saved-temps } } */
6767
6768=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld3u32.c'
6769--- old/gcc/testsuite/gcc.target/arm/neon/vld3u32.c 2010-07-29 15:38:15 +0000
6770+++ new/gcc/testsuite/gcc.target/arm/neon/vld3u32.c 2010-08-20 13:27:11 +0000
6771@@ -15,5 +15,5 @@
6772 out_uint32x2x3_t = vld3_u32 (0);
6773 }
6774
6775-/* { dg-final { scan-assembler "vld3\.32\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
6776+/* { dg-final { scan-assembler "vld3\.32\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
6777 /* { dg-final { cleanup-saved-temps } } */
6778
6779=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld3u64.c'
6780--- old/gcc/testsuite/gcc.target/arm/neon/vld3u64.c 2010-07-29 15:38:15 +0000
6781+++ new/gcc/testsuite/gcc.target/arm/neon/vld3u64.c 2010-08-20 13:27:11 +0000
6782@@ -15,5 +15,5 @@
6783 out_uint64x1x3_t = vld3_u64 (0);
6784 }
6785
6786-/* { dg-final { scan-assembler "vld1\.64\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
6787+/* { dg-final { scan-assembler "vld1\.64\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
6788 /* { dg-final { cleanup-saved-temps } } */
6789
6790=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld3u8.c'
6791--- old/gcc/testsuite/gcc.target/arm/neon/vld3u8.c 2010-07-29 15:38:15 +0000
6792+++ new/gcc/testsuite/gcc.target/arm/neon/vld3u8.c 2010-08-20 13:27:11 +0000
6793@@ -15,5 +15,5 @@
6794 out_uint8x8x3_t = vld3_u8 (0);
6795 }
6796
6797-/* { dg-final { scan-assembler "vld3\.8\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
6798+/* { dg-final { scan-assembler "vld3\.8\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
6799 /* { dg-final { cleanup-saved-temps } } */
6800
6801=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld4Q_lanef32.c'
6802--- old/gcc/testsuite/gcc.target/arm/neon/vld4Q_lanef32.c 2010-07-29 15:38:15 +0000
6803+++ new/gcc/testsuite/gcc.target/arm/neon/vld4Q_lanef32.c 2010-08-20 13:27:11 +0000
6804@@ -16,5 +16,5 @@
6805 out_float32x4x4_t = vld4q_lane_f32 (0, arg1_float32x4x4_t, 1);
6806 }
6807
6808-/* { dg-final { scan-assembler "vld4\.32\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
6809+/* { dg-final { scan-assembler "vld4\.32\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
6810 /* { dg-final { cleanup-saved-temps } } */
6811
6812=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld4Q_lanep16.c'
6813--- old/gcc/testsuite/gcc.target/arm/neon/vld4Q_lanep16.c 2010-07-29 15:38:15 +0000
6814+++ new/gcc/testsuite/gcc.target/arm/neon/vld4Q_lanep16.c 2010-08-20 13:27:11 +0000
6815@@ -16,5 +16,5 @@
6816 out_poly16x8x4_t = vld4q_lane_p16 (0, arg1_poly16x8x4_t, 1);
6817 }
6818
6819-/* { dg-final { scan-assembler "vld4\.16\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
6820+/* { dg-final { scan-assembler "vld4\.16\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
6821 /* { dg-final { cleanup-saved-temps } } */
6822
6823=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld4Q_lanes16.c'
6824--- old/gcc/testsuite/gcc.target/arm/neon/vld4Q_lanes16.c 2010-07-29 15:38:15 +0000
6825+++ new/gcc/testsuite/gcc.target/arm/neon/vld4Q_lanes16.c 2010-08-20 13:27:11 +0000
6826@@ -16,5 +16,5 @@
6827 out_int16x8x4_t = vld4q_lane_s16 (0, arg1_int16x8x4_t, 1);
6828 }
6829
6830-/* { dg-final { scan-assembler "vld4\.16\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
6831+/* { dg-final { scan-assembler "vld4\.16\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
6832 /* { dg-final { cleanup-saved-temps } } */
6833
6834=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld4Q_lanes32.c'
6835--- old/gcc/testsuite/gcc.target/arm/neon/vld4Q_lanes32.c 2010-07-29 15:38:15 +0000
6836+++ new/gcc/testsuite/gcc.target/arm/neon/vld4Q_lanes32.c 2010-08-20 13:27:11 +0000
6837@@ -16,5 +16,5 @@
6838 out_int32x4x4_t = vld4q_lane_s32 (0, arg1_int32x4x4_t, 1);
6839 }
6840
6841-/* { dg-final { scan-assembler "vld4\.32\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
6842+/* { dg-final { scan-assembler "vld4\.32\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
6843 /* { dg-final { cleanup-saved-temps } } */
6844
6845=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld4Q_laneu16.c'
6846--- old/gcc/testsuite/gcc.target/arm/neon/vld4Q_laneu16.c 2010-07-29 15:38:15 +0000
6847+++ new/gcc/testsuite/gcc.target/arm/neon/vld4Q_laneu16.c 2010-08-20 13:27:11 +0000
6848@@ -16,5 +16,5 @@
6849 out_uint16x8x4_t = vld4q_lane_u16 (0, arg1_uint16x8x4_t, 1);
6850 }
6851
6852-/* { dg-final { scan-assembler "vld4\.16\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
6853+/* { dg-final { scan-assembler "vld4\.16\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
6854 /* { dg-final { cleanup-saved-temps } } */
6855
6856=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld4Q_laneu32.c'
6857--- old/gcc/testsuite/gcc.target/arm/neon/vld4Q_laneu32.c 2010-07-29 15:38:15 +0000
6858+++ new/gcc/testsuite/gcc.target/arm/neon/vld4Q_laneu32.c 2010-08-20 13:27:11 +0000
6859@@ -16,5 +16,5 @@
6860 out_uint32x4x4_t = vld4q_lane_u32 (0, arg1_uint32x4x4_t, 1);
6861 }
6862
6863-/* { dg-final { scan-assembler "vld4\.32\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
6864+/* { dg-final { scan-assembler "vld4\.32\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
6865 /* { dg-final { cleanup-saved-temps } } */
6866
6867=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld4Qf32.c'
6868--- old/gcc/testsuite/gcc.target/arm/neon/vld4Qf32.c 2010-07-29 15:38:15 +0000
6869+++ new/gcc/testsuite/gcc.target/arm/neon/vld4Qf32.c 2010-08-20 13:27:11 +0000
6870@@ -15,6 +15,6 @@
6871 out_float32x4x4_t = vld4q_f32 (0);
6872 }
6873
6874-/* { dg-final { scan-assembler "vld4\.32\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
6875-/* { dg-final { scan-assembler "vld4\.32\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
6876+/* { dg-final { scan-assembler "vld4\.32\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
6877+/* { dg-final { scan-assembler "vld4\.32\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
6878 /* { dg-final { cleanup-saved-temps } } */
6879
6880=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld4Qp16.c'
6881--- old/gcc/testsuite/gcc.target/arm/neon/vld4Qp16.c 2010-07-29 15:38:15 +0000
6882+++ new/gcc/testsuite/gcc.target/arm/neon/vld4Qp16.c 2010-08-20 13:27:11 +0000
6883@@ -15,6 +15,6 @@
6884 out_poly16x8x4_t = vld4q_p16 (0);
6885 }
6886
6887-/* { dg-final { scan-assembler "vld4\.16\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
6888-/* { dg-final { scan-assembler "vld4\.16\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
6889+/* { dg-final { scan-assembler "vld4\.16\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
6890+/* { dg-final { scan-assembler "vld4\.16\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
6891 /* { dg-final { cleanup-saved-temps } } */
6892
6893=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld4Qp8.c'
6894--- old/gcc/testsuite/gcc.target/arm/neon/vld4Qp8.c 2010-07-29 15:38:15 +0000
6895+++ new/gcc/testsuite/gcc.target/arm/neon/vld4Qp8.c 2010-08-20 13:27:11 +0000
6896@@ -15,6 +15,6 @@
6897 out_poly8x16x4_t = vld4q_p8 (0);
6898 }
6899
6900-/* { dg-final { scan-assembler "vld4\.8\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
6901-/* { dg-final { scan-assembler "vld4\.8\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
6902+/* { dg-final { scan-assembler "vld4\.8\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
6903+/* { dg-final { scan-assembler "vld4\.8\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
6904 /* { dg-final { cleanup-saved-temps } } */
6905
6906=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld4Qs16.c'
6907--- old/gcc/testsuite/gcc.target/arm/neon/vld4Qs16.c 2010-07-29 15:38:15 +0000
6908+++ new/gcc/testsuite/gcc.target/arm/neon/vld4Qs16.c 2010-08-20 13:27:11 +0000
6909@@ -15,6 +15,6 @@
6910 out_int16x8x4_t = vld4q_s16 (0);
6911 }
6912
6913-/* { dg-final { scan-assembler "vld4\.16\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
6914-/* { dg-final { scan-assembler "vld4\.16\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
6915+/* { dg-final { scan-assembler "vld4\.16\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
6916+/* { dg-final { scan-assembler "vld4\.16\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
6917 /* { dg-final { cleanup-saved-temps } } */
6918
6919=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld4Qs32.c'
6920--- old/gcc/testsuite/gcc.target/arm/neon/vld4Qs32.c 2010-07-29 15:38:15 +0000
6921+++ new/gcc/testsuite/gcc.target/arm/neon/vld4Qs32.c 2010-08-20 13:27:11 +0000
6922@@ -15,6 +15,6 @@
6923 out_int32x4x4_t = vld4q_s32 (0);
6924 }
6925
6926-/* { dg-final { scan-assembler "vld4\.32\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
6927-/* { dg-final { scan-assembler "vld4\.32\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
6928+/* { dg-final { scan-assembler "vld4\.32\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
6929+/* { dg-final { scan-assembler "vld4\.32\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
6930 /* { dg-final { cleanup-saved-temps } } */
6931
6932=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld4Qs8.c'
6933--- old/gcc/testsuite/gcc.target/arm/neon/vld4Qs8.c 2010-07-29 15:38:15 +0000
6934+++ new/gcc/testsuite/gcc.target/arm/neon/vld4Qs8.c 2010-08-20 13:27:11 +0000
6935@@ -15,6 +15,6 @@
6936 out_int8x16x4_t = vld4q_s8 (0);
6937 }
6938
6939-/* { dg-final { scan-assembler "vld4\.8\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
6940-/* { dg-final { scan-assembler "vld4\.8\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
6941+/* { dg-final { scan-assembler "vld4\.8\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
6942+/* { dg-final { scan-assembler "vld4\.8\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
6943 /* { dg-final { cleanup-saved-temps } } */
6944
6945=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld4Qu16.c'
6946--- old/gcc/testsuite/gcc.target/arm/neon/vld4Qu16.c 2010-07-29 15:38:15 +0000
6947+++ new/gcc/testsuite/gcc.target/arm/neon/vld4Qu16.c 2010-08-20 13:27:11 +0000
6948@@ -15,6 +15,6 @@
6949 out_uint16x8x4_t = vld4q_u16 (0);
6950 }
6951
6952-/* { dg-final { scan-assembler "vld4\.16\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
6953-/* { dg-final { scan-assembler "vld4\.16\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
6954+/* { dg-final { scan-assembler "vld4\.16\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
6955+/* { dg-final { scan-assembler "vld4\.16\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
6956 /* { dg-final { cleanup-saved-temps } } */
6957
6958=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld4Qu32.c'
6959--- old/gcc/testsuite/gcc.target/arm/neon/vld4Qu32.c 2010-07-29 15:38:15 +0000
6960+++ new/gcc/testsuite/gcc.target/arm/neon/vld4Qu32.c 2010-08-20 13:27:11 +0000
6961@@ -15,6 +15,6 @@
6962 out_uint32x4x4_t = vld4q_u32 (0);
6963 }
6964
6965-/* { dg-final { scan-assembler "vld4\.32\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
6966-/* { dg-final { scan-assembler "vld4\.32\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
6967+/* { dg-final { scan-assembler "vld4\.32\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
6968+/* { dg-final { scan-assembler "vld4\.32\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
6969 /* { dg-final { cleanup-saved-temps } } */
6970
6971=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld4Qu8.c'
6972--- old/gcc/testsuite/gcc.target/arm/neon/vld4Qu8.c 2010-07-29 15:38:15 +0000
6973+++ new/gcc/testsuite/gcc.target/arm/neon/vld4Qu8.c 2010-08-20 13:27:11 +0000
6974@@ -15,6 +15,6 @@
6975 out_uint8x16x4_t = vld4q_u8 (0);
6976 }
6977
6978-/* { dg-final { scan-assembler "vld4\.8\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
6979-/* { dg-final { scan-assembler "vld4\.8\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
6980+/* { dg-final { scan-assembler "vld4\.8\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
6981+/* { dg-final { scan-assembler "vld4\.8\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
6982 /* { dg-final { cleanup-saved-temps } } */
6983
6984=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld4_dupf32.c'
6985--- old/gcc/testsuite/gcc.target/arm/neon/vld4_dupf32.c 2010-07-29 15:38:15 +0000
6986+++ new/gcc/testsuite/gcc.target/arm/neon/vld4_dupf32.c 2010-08-20 13:27:11 +0000
6987@@ -15,5 +15,5 @@
6988 out_float32x2x4_t = vld4_dup_f32 (0);
6989 }
6990
6991-/* { dg-final { scan-assembler "vld4\.32\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\\\]-\[dD\]\[0-9\]+\\\[\\\])|(\[dD\]\[0-9\]+\\\[\\\], \[dD\]\[0-9\]+\\\[\\\], \[dD\]\[0-9\]+\\\[\\\], \[dD\]\[0-9\]+\\\[\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
6992+/* { dg-final { scan-assembler "vld4\.32\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\\\]-\[dD\]\[0-9\]+\\\[\\\])|(\[dD\]\[0-9\]+\\\[\\\], \[dD\]\[0-9\]+\\\[\\\], \[dD\]\[0-9\]+\\\[\\\], \[dD\]\[0-9\]+\\\[\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
6993 /* { dg-final { cleanup-saved-temps } } */
6994
6995=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld4_dupp16.c'
6996--- old/gcc/testsuite/gcc.target/arm/neon/vld4_dupp16.c 2010-07-29 15:38:15 +0000
6997+++ new/gcc/testsuite/gcc.target/arm/neon/vld4_dupp16.c 2010-08-20 13:27:11 +0000
6998@@ -15,5 +15,5 @@
6999 out_poly16x4x4_t = vld4_dup_p16 (0);
7000 }
7001
7002-/* { dg-final { scan-assembler "vld4\.16\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\\\]-\[dD\]\[0-9\]+\\\[\\\])|(\[dD\]\[0-9\]+\\\[\\\], \[dD\]\[0-9\]+\\\[\\\], \[dD\]\[0-9\]+\\\[\\\], \[dD\]\[0-9\]+\\\[\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
7003+/* { dg-final { scan-assembler "vld4\.16\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\\\]-\[dD\]\[0-9\]+\\\[\\\])|(\[dD\]\[0-9\]+\\\[\\\], \[dD\]\[0-9\]+\\\[\\\], \[dD\]\[0-9\]+\\\[\\\], \[dD\]\[0-9\]+\\\[\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
7004 /* { dg-final { cleanup-saved-temps } } */
7005
7006=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld4_dupp8.c'
7007--- old/gcc/testsuite/gcc.target/arm/neon/vld4_dupp8.c 2010-07-29 15:38:15 +0000
7008+++ new/gcc/testsuite/gcc.target/arm/neon/vld4_dupp8.c 2010-08-20 13:27:11 +0000
7009@@ -15,5 +15,5 @@
7010 out_poly8x8x4_t = vld4_dup_p8 (0);
7011 }
7012
7013-/* { dg-final { scan-assembler "vld4\.8\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\\\]-\[dD\]\[0-9\]+\\\[\\\])|(\[dD\]\[0-9\]+\\\[\\\], \[dD\]\[0-9\]+\\\[\\\], \[dD\]\[0-9\]+\\\[\\\], \[dD\]\[0-9\]+\\\[\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
7014+/* { dg-final { scan-assembler "vld4\.8\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\\\]-\[dD\]\[0-9\]+\\\[\\\])|(\[dD\]\[0-9\]+\\\[\\\], \[dD\]\[0-9\]+\\\[\\\], \[dD\]\[0-9\]+\\\[\\\], \[dD\]\[0-9\]+\\\[\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
7015 /* { dg-final { cleanup-saved-temps } } */
7016
7017=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld4_dups16.c'
7018--- old/gcc/testsuite/gcc.target/arm/neon/vld4_dups16.c 2010-07-29 15:38:15 +0000
7019+++ new/gcc/testsuite/gcc.target/arm/neon/vld4_dups16.c 2010-08-20 13:27:11 +0000
7020@@ -15,5 +15,5 @@
7021 out_int16x4x4_t = vld4_dup_s16 (0);
7022 }
7023
7024-/* { dg-final { scan-assembler "vld4\.16\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\\\]-\[dD\]\[0-9\]+\\\[\\\])|(\[dD\]\[0-9\]+\\\[\\\], \[dD\]\[0-9\]+\\\[\\\], \[dD\]\[0-9\]+\\\[\\\], \[dD\]\[0-9\]+\\\[\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
7025+/* { dg-final { scan-assembler "vld4\.16\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\\\]-\[dD\]\[0-9\]+\\\[\\\])|(\[dD\]\[0-9\]+\\\[\\\], \[dD\]\[0-9\]+\\\[\\\], \[dD\]\[0-9\]+\\\[\\\], \[dD\]\[0-9\]+\\\[\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
7026 /* { dg-final { cleanup-saved-temps } } */
7027
7028=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld4_dups32.c'
7029--- old/gcc/testsuite/gcc.target/arm/neon/vld4_dups32.c 2010-07-29 15:38:15 +0000
7030+++ new/gcc/testsuite/gcc.target/arm/neon/vld4_dups32.c 2010-08-20 13:27:11 +0000
7031@@ -15,5 +15,5 @@
7032 out_int32x2x4_t = vld4_dup_s32 (0);
7033 }
7034
7035-/* { dg-final { scan-assembler "vld4\.32\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\\\]-\[dD\]\[0-9\]+\\\[\\\])|(\[dD\]\[0-9\]+\\\[\\\], \[dD\]\[0-9\]+\\\[\\\], \[dD\]\[0-9\]+\\\[\\\], \[dD\]\[0-9\]+\\\[\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
7036+/* { dg-final { scan-assembler "vld4\.32\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\\\]-\[dD\]\[0-9\]+\\\[\\\])|(\[dD\]\[0-9\]+\\\[\\\], \[dD\]\[0-9\]+\\\[\\\], \[dD\]\[0-9\]+\\\[\\\], \[dD\]\[0-9\]+\\\[\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
7037 /* { dg-final { cleanup-saved-temps } } */
7038
7039=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld4_dups64.c'
7040--- old/gcc/testsuite/gcc.target/arm/neon/vld4_dups64.c 2010-07-29 15:38:15 +0000
7041+++ new/gcc/testsuite/gcc.target/arm/neon/vld4_dups64.c 2010-08-20 13:27:11 +0000
7042@@ -15,5 +15,5 @@
7043 out_int64x1x4_t = vld4_dup_s64 (0);
7044 }
7045
7046-/* { dg-final { scan-assembler "vld1\.64\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
7047+/* { dg-final { scan-assembler "vld1\.64\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
7048 /* { dg-final { cleanup-saved-temps } } */
7049
7050=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld4_dups8.c'
7051--- old/gcc/testsuite/gcc.target/arm/neon/vld4_dups8.c 2010-07-29 15:38:15 +0000
7052+++ new/gcc/testsuite/gcc.target/arm/neon/vld4_dups8.c 2010-08-20 13:27:11 +0000
7053@@ -15,5 +15,5 @@
7054 out_int8x8x4_t = vld4_dup_s8 (0);
7055 }
7056
7057-/* { dg-final { scan-assembler "vld4\.8\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\\\]-\[dD\]\[0-9\]+\\\[\\\])|(\[dD\]\[0-9\]+\\\[\\\], \[dD\]\[0-9\]+\\\[\\\], \[dD\]\[0-9\]+\\\[\\\], \[dD\]\[0-9\]+\\\[\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
7058+/* { dg-final { scan-assembler "vld4\.8\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\\\]-\[dD\]\[0-9\]+\\\[\\\])|(\[dD\]\[0-9\]+\\\[\\\], \[dD\]\[0-9\]+\\\[\\\], \[dD\]\[0-9\]+\\\[\\\], \[dD\]\[0-9\]+\\\[\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
7059 /* { dg-final { cleanup-saved-temps } } */
7060
7061=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld4_dupu16.c'
7062--- old/gcc/testsuite/gcc.target/arm/neon/vld4_dupu16.c 2010-07-29 15:38:15 +0000
7063+++ new/gcc/testsuite/gcc.target/arm/neon/vld4_dupu16.c 2010-08-20 13:27:11 +0000
7064@@ -15,5 +15,5 @@
7065 out_uint16x4x4_t = vld4_dup_u16 (0);
7066 }
7067
7068-/* { dg-final { scan-assembler "vld4\.16\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\\\]-\[dD\]\[0-9\]+\\\[\\\])|(\[dD\]\[0-9\]+\\\[\\\], \[dD\]\[0-9\]+\\\[\\\], \[dD\]\[0-9\]+\\\[\\\], \[dD\]\[0-9\]+\\\[\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
7069+/* { dg-final { scan-assembler "vld4\.16\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\\\]-\[dD\]\[0-9\]+\\\[\\\])|(\[dD\]\[0-9\]+\\\[\\\], \[dD\]\[0-9\]+\\\[\\\], \[dD\]\[0-9\]+\\\[\\\], \[dD\]\[0-9\]+\\\[\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
7070 /* { dg-final { cleanup-saved-temps } } */
7071
7072=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld4_dupu32.c'
7073--- old/gcc/testsuite/gcc.target/arm/neon/vld4_dupu32.c 2010-07-29 15:38:15 +0000
7074+++ new/gcc/testsuite/gcc.target/arm/neon/vld4_dupu32.c 2010-08-20 13:27:11 +0000
7075@@ -15,5 +15,5 @@
7076 out_uint32x2x4_t = vld4_dup_u32 (0);
7077 }
7078
7079-/* { dg-final { scan-assembler "vld4\.32\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\\\]-\[dD\]\[0-9\]+\\\[\\\])|(\[dD\]\[0-9\]+\\\[\\\], \[dD\]\[0-9\]+\\\[\\\], \[dD\]\[0-9\]+\\\[\\\], \[dD\]\[0-9\]+\\\[\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
7080+/* { dg-final { scan-assembler "vld4\.32\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\\\]-\[dD\]\[0-9\]+\\\[\\\])|(\[dD\]\[0-9\]+\\\[\\\], \[dD\]\[0-9\]+\\\[\\\], \[dD\]\[0-9\]+\\\[\\\], \[dD\]\[0-9\]+\\\[\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
7081 /* { dg-final { cleanup-saved-temps } } */
7082
7083=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld4_dupu64.c'
7084--- old/gcc/testsuite/gcc.target/arm/neon/vld4_dupu64.c 2010-07-29 15:38:15 +0000
7085+++ new/gcc/testsuite/gcc.target/arm/neon/vld4_dupu64.c 2010-08-20 13:27:11 +0000
7086@@ -15,5 +15,5 @@
7087 out_uint64x1x4_t = vld4_dup_u64 (0);
7088 }
7089
7090-/* { dg-final { scan-assembler "vld1\.64\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
7091+/* { dg-final { scan-assembler "vld1\.64\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
7092 /* { dg-final { cleanup-saved-temps } } */
7093
7094=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld4_dupu8.c'
7095--- old/gcc/testsuite/gcc.target/arm/neon/vld4_dupu8.c 2010-07-29 15:38:15 +0000
7096+++ new/gcc/testsuite/gcc.target/arm/neon/vld4_dupu8.c 2010-08-20 13:27:11 +0000
7097@@ -15,5 +15,5 @@
7098 out_uint8x8x4_t = vld4_dup_u8 (0);
7099 }
7100
7101-/* { dg-final { scan-assembler "vld4\.8\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\\\]-\[dD\]\[0-9\]+\\\[\\\])|(\[dD\]\[0-9\]+\\\[\\\], \[dD\]\[0-9\]+\\\[\\\], \[dD\]\[0-9\]+\\\[\\\], \[dD\]\[0-9\]+\\\[\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
7102+/* { dg-final { scan-assembler "vld4\.8\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\\\]-\[dD\]\[0-9\]+\\\[\\\])|(\[dD\]\[0-9\]+\\\[\\\], \[dD\]\[0-9\]+\\\[\\\], \[dD\]\[0-9\]+\\\[\\\], \[dD\]\[0-9\]+\\\[\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
7103 /* { dg-final { cleanup-saved-temps } } */
7104
7105=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld4_lanef32.c'
7106--- old/gcc/testsuite/gcc.target/arm/neon/vld4_lanef32.c 2010-07-29 15:38:15 +0000
7107+++ new/gcc/testsuite/gcc.target/arm/neon/vld4_lanef32.c 2010-08-20 13:27:11 +0000
7108@@ -16,5 +16,5 @@
7109 out_float32x2x4_t = vld4_lane_f32 (0, arg1_float32x2x4_t, 1);
7110 }
7111
7112-/* { dg-final { scan-assembler "vld4\.32\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
7113+/* { dg-final { scan-assembler "vld4\.32\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
7114 /* { dg-final { cleanup-saved-temps } } */
7115
7116=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld4_lanep16.c'
7117--- old/gcc/testsuite/gcc.target/arm/neon/vld4_lanep16.c 2010-07-29 15:38:15 +0000
7118+++ new/gcc/testsuite/gcc.target/arm/neon/vld4_lanep16.c 2010-08-20 13:27:11 +0000
7119@@ -16,5 +16,5 @@
7120 out_poly16x4x4_t = vld4_lane_p16 (0, arg1_poly16x4x4_t, 1);
7121 }
7122
7123-/* { dg-final { scan-assembler "vld4\.16\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
7124+/* { dg-final { scan-assembler "vld4\.16\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
7125 /* { dg-final { cleanup-saved-temps } } */
7126
7127=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld4_lanep8.c'
7128--- old/gcc/testsuite/gcc.target/arm/neon/vld4_lanep8.c 2010-07-29 15:38:15 +0000
7129+++ new/gcc/testsuite/gcc.target/arm/neon/vld4_lanep8.c 2010-08-20 13:27:11 +0000
7130@@ -16,5 +16,5 @@
7131 out_poly8x8x4_t = vld4_lane_p8 (0, arg1_poly8x8x4_t, 1);
7132 }
7133
7134-/* { dg-final { scan-assembler "vld4\.8\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
7135+/* { dg-final { scan-assembler "vld4\.8\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
7136 /* { dg-final { cleanup-saved-temps } } */
7137
7138=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld4_lanes16.c'
7139--- old/gcc/testsuite/gcc.target/arm/neon/vld4_lanes16.c 2010-07-29 15:38:15 +0000
7140+++ new/gcc/testsuite/gcc.target/arm/neon/vld4_lanes16.c 2010-08-20 13:27:11 +0000
7141@@ -16,5 +16,5 @@
7142 out_int16x4x4_t = vld4_lane_s16 (0, arg1_int16x4x4_t, 1);
7143 }
7144
7145-/* { dg-final { scan-assembler "vld4\.16\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
7146+/* { dg-final { scan-assembler "vld4\.16\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
7147 /* { dg-final { cleanup-saved-temps } } */
7148
7149=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld4_lanes32.c'
7150--- old/gcc/testsuite/gcc.target/arm/neon/vld4_lanes32.c 2010-07-29 15:38:15 +0000
7151+++ new/gcc/testsuite/gcc.target/arm/neon/vld4_lanes32.c 2010-08-20 13:27:11 +0000
7152@@ -16,5 +16,5 @@
7153 out_int32x2x4_t = vld4_lane_s32 (0, arg1_int32x2x4_t, 1);
7154 }
7155
7156-/* { dg-final { scan-assembler "vld4\.32\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
7157+/* { dg-final { scan-assembler "vld4\.32\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
7158 /* { dg-final { cleanup-saved-temps } } */
7159
7160=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld4_lanes8.c'
7161--- old/gcc/testsuite/gcc.target/arm/neon/vld4_lanes8.c 2010-07-29 15:38:15 +0000
7162+++ new/gcc/testsuite/gcc.target/arm/neon/vld4_lanes8.c 2010-08-20 13:27:11 +0000
7163@@ -16,5 +16,5 @@
7164 out_int8x8x4_t = vld4_lane_s8 (0, arg1_int8x8x4_t, 1);
7165 }
7166
7167-/* { dg-final { scan-assembler "vld4\.8\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
7168+/* { dg-final { scan-assembler "vld4\.8\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
7169 /* { dg-final { cleanup-saved-temps } } */
7170
7171=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld4_laneu16.c'
7172--- old/gcc/testsuite/gcc.target/arm/neon/vld4_laneu16.c 2010-07-29 15:38:15 +0000
7173+++ new/gcc/testsuite/gcc.target/arm/neon/vld4_laneu16.c 2010-08-20 13:27:11 +0000
7174@@ -16,5 +16,5 @@
7175 out_uint16x4x4_t = vld4_lane_u16 (0, arg1_uint16x4x4_t, 1);
7176 }
7177
7178-/* { dg-final { scan-assembler "vld4\.16\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
7179+/* { dg-final { scan-assembler "vld4\.16\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
7180 /* { dg-final { cleanup-saved-temps } } */
7181
7182=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld4_laneu32.c'
7183--- old/gcc/testsuite/gcc.target/arm/neon/vld4_laneu32.c 2010-07-29 15:38:15 +0000
7184+++ new/gcc/testsuite/gcc.target/arm/neon/vld4_laneu32.c 2010-08-20 13:27:11 +0000
7185@@ -16,5 +16,5 @@
7186 out_uint32x2x4_t = vld4_lane_u32 (0, arg1_uint32x2x4_t, 1);
7187 }
7188
7189-/* { dg-final { scan-assembler "vld4\.32\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
7190+/* { dg-final { scan-assembler "vld4\.32\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
7191 /* { dg-final { cleanup-saved-temps } } */
7192
7193=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld4_laneu8.c'
7194--- old/gcc/testsuite/gcc.target/arm/neon/vld4_laneu8.c 2010-07-29 15:38:15 +0000
7195+++ new/gcc/testsuite/gcc.target/arm/neon/vld4_laneu8.c 2010-08-20 13:27:11 +0000
7196@@ -16,5 +16,5 @@
7197 out_uint8x8x4_t = vld4_lane_u8 (0, arg1_uint8x8x4_t, 1);
7198 }
7199
7200-/* { dg-final { scan-assembler "vld4\.8\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
7201+/* { dg-final { scan-assembler "vld4\.8\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
7202 /* { dg-final { cleanup-saved-temps } } */
7203
7204=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld4f32.c'
7205--- old/gcc/testsuite/gcc.target/arm/neon/vld4f32.c 2010-07-29 15:38:15 +0000
7206+++ new/gcc/testsuite/gcc.target/arm/neon/vld4f32.c 2010-08-20 13:27:11 +0000
7207@@ -15,5 +15,5 @@
7208 out_float32x2x4_t = vld4_f32 (0);
7209 }
7210
7211-/* { dg-final { scan-assembler "vld4\.32\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
7212+/* { dg-final { scan-assembler "vld4\.32\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
7213 /* { dg-final { cleanup-saved-temps } } */
7214
7215=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld4p16.c'
7216--- old/gcc/testsuite/gcc.target/arm/neon/vld4p16.c 2010-07-29 15:38:15 +0000
7217+++ new/gcc/testsuite/gcc.target/arm/neon/vld4p16.c 2010-08-20 13:27:11 +0000
7218@@ -15,5 +15,5 @@
7219 out_poly16x4x4_t = vld4_p16 (0);
7220 }
7221
7222-/* { dg-final { scan-assembler "vld4\.16\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
7223+/* { dg-final { scan-assembler "vld4\.16\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
7224 /* { dg-final { cleanup-saved-temps } } */
7225
7226=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld4p8.c'
7227--- old/gcc/testsuite/gcc.target/arm/neon/vld4p8.c 2010-07-29 15:38:15 +0000
7228+++ new/gcc/testsuite/gcc.target/arm/neon/vld4p8.c 2010-08-20 13:27:11 +0000
7229@@ -15,5 +15,5 @@
7230 out_poly8x8x4_t = vld4_p8 (0);
7231 }
7232
7233-/* { dg-final { scan-assembler "vld4\.8\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
7234+/* { dg-final { scan-assembler "vld4\.8\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
7235 /* { dg-final { cleanup-saved-temps } } */
7236
7237=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld4s16.c'
7238--- old/gcc/testsuite/gcc.target/arm/neon/vld4s16.c 2010-07-29 15:38:15 +0000
7239+++ new/gcc/testsuite/gcc.target/arm/neon/vld4s16.c 2010-08-20 13:27:11 +0000
7240@@ -15,5 +15,5 @@
7241 out_int16x4x4_t = vld4_s16 (0);
7242 }
7243
7244-/* { dg-final { scan-assembler "vld4\.16\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
7245+/* { dg-final { scan-assembler "vld4\.16\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
7246 /* { dg-final { cleanup-saved-temps } } */
7247
7248=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld4s32.c'
7249--- old/gcc/testsuite/gcc.target/arm/neon/vld4s32.c 2010-07-29 15:38:15 +0000
7250+++ new/gcc/testsuite/gcc.target/arm/neon/vld4s32.c 2010-08-20 13:27:11 +0000
7251@@ -15,5 +15,5 @@
7252 out_int32x2x4_t = vld4_s32 (0);
7253 }
7254
7255-/* { dg-final { scan-assembler "vld4\.32\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
7256+/* { dg-final { scan-assembler "vld4\.32\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
7257 /* { dg-final { cleanup-saved-temps } } */
7258
7259=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld4s64.c'
7260--- old/gcc/testsuite/gcc.target/arm/neon/vld4s64.c 2010-07-29 15:38:15 +0000
7261+++ new/gcc/testsuite/gcc.target/arm/neon/vld4s64.c 2010-08-20 13:27:11 +0000
7262@@ -15,5 +15,5 @@
7263 out_int64x1x4_t = vld4_s64 (0);
7264 }
7265
7266-/* { dg-final { scan-assembler "vld1\.64\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
7267+/* { dg-final { scan-assembler "vld1\.64\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
7268 /* { dg-final { cleanup-saved-temps } } */
7269
7270=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld4s8.c'
7271--- old/gcc/testsuite/gcc.target/arm/neon/vld4s8.c 2010-07-29 15:38:15 +0000
7272+++ new/gcc/testsuite/gcc.target/arm/neon/vld4s8.c 2010-08-20 13:27:11 +0000
7273@@ -15,5 +15,5 @@
7274 out_int8x8x4_t = vld4_s8 (0);
7275 }
7276
7277-/* { dg-final { scan-assembler "vld4\.8\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
7278+/* { dg-final { scan-assembler "vld4\.8\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
7279 /* { dg-final { cleanup-saved-temps } } */
7280
7281=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld4u16.c'
7282--- old/gcc/testsuite/gcc.target/arm/neon/vld4u16.c 2010-07-29 15:38:15 +0000
7283+++ new/gcc/testsuite/gcc.target/arm/neon/vld4u16.c 2010-08-20 13:27:11 +0000
7284@@ -15,5 +15,5 @@
7285 out_uint16x4x4_t = vld4_u16 (0);
7286 }
7287
7288-/* { dg-final { scan-assembler "vld4\.16\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
7289+/* { dg-final { scan-assembler "vld4\.16\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
7290 /* { dg-final { cleanup-saved-temps } } */
7291
7292=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld4u32.c'
7293--- old/gcc/testsuite/gcc.target/arm/neon/vld4u32.c 2010-07-29 15:38:15 +0000
7294+++ new/gcc/testsuite/gcc.target/arm/neon/vld4u32.c 2010-08-20 13:27:11 +0000
7295@@ -15,5 +15,5 @@
7296 out_uint32x2x4_t = vld4_u32 (0);
7297 }
7298
7299-/* { dg-final { scan-assembler "vld4\.32\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
7300+/* { dg-final { scan-assembler "vld4\.32\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
7301 /* { dg-final { cleanup-saved-temps } } */
7302
7303=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld4u64.c'
7304--- old/gcc/testsuite/gcc.target/arm/neon/vld4u64.c 2010-07-29 15:38:15 +0000
7305+++ new/gcc/testsuite/gcc.target/arm/neon/vld4u64.c 2010-08-20 13:27:11 +0000
7306@@ -15,5 +15,5 @@
7307 out_uint64x1x4_t = vld4_u64 (0);
7308 }
7309
7310-/* { dg-final { scan-assembler "vld1\.64\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
7311+/* { dg-final { scan-assembler "vld1\.64\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
7312 /* { dg-final { cleanup-saved-temps } } */
7313
7314=== modified file 'gcc/testsuite/gcc.target/arm/neon/vld4u8.c'
7315--- old/gcc/testsuite/gcc.target/arm/neon/vld4u8.c 2010-07-29 15:38:15 +0000
7316+++ new/gcc/testsuite/gcc.target/arm/neon/vld4u8.c 2010-08-20 13:27:11 +0000
7317@@ -15,5 +15,5 @@
7318 out_uint8x8x4_t = vld4_u8 (0);
7319 }
7320
7321-/* { dg-final { scan-assembler "vld4\.8\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
7322+/* { dg-final { scan-assembler "vld4\.8\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
7323 /* { dg-final { cleanup-saved-temps } } */
7324
7325=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmaxQf32.c'
7326--- old/gcc/testsuite/gcc.target/arm/neon/vmaxQf32.c 2010-07-29 15:38:15 +0000
7327+++ new/gcc/testsuite/gcc.target/arm/neon/vmaxQf32.c 2010-08-20 13:27:11 +0000
7328@@ -17,5 +17,5 @@
7329 out_float32x4_t = vmaxq_f32 (arg0_float32x4_t, arg1_float32x4_t);
7330 }
7331
7332-/* { dg-final { scan-assembler "vmax\.f32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
7333+/* { dg-final { scan-assembler "vmax\.f32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
7334 /* { dg-final { cleanup-saved-temps } } */
7335
7336=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmaxQs16.c'
7337--- old/gcc/testsuite/gcc.target/arm/neon/vmaxQs16.c 2010-07-29 15:38:15 +0000
7338+++ new/gcc/testsuite/gcc.target/arm/neon/vmaxQs16.c 2010-08-20 13:27:11 +0000
7339@@ -17,5 +17,5 @@
7340 out_int16x8_t = vmaxq_s16 (arg0_int16x8_t, arg1_int16x8_t);
7341 }
7342
7343-/* { dg-final { scan-assembler "vmax\.s16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
7344+/* { dg-final { scan-assembler "vmax\.s16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
7345 /* { dg-final { cleanup-saved-temps } } */
7346
7347=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmaxQs32.c'
7348--- old/gcc/testsuite/gcc.target/arm/neon/vmaxQs32.c 2010-07-29 15:38:15 +0000
7349+++ new/gcc/testsuite/gcc.target/arm/neon/vmaxQs32.c 2010-08-20 13:27:11 +0000
7350@@ -17,5 +17,5 @@
7351 out_int32x4_t = vmaxq_s32 (arg0_int32x4_t, arg1_int32x4_t);
7352 }
7353
7354-/* { dg-final { scan-assembler "vmax\.s32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
7355+/* { dg-final { scan-assembler "vmax\.s32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
7356 /* { dg-final { cleanup-saved-temps } } */
7357
7358=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmaxQs8.c'
7359--- old/gcc/testsuite/gcc.target/arm/neon/vmaxQs8.c 2010-07-29 15:38:15 +0000
7360+++ new/gcc/testsuite/gcc.target/arm/neon/vmaxQs8.c 2010-08-20 13:27:11 +0000
7361@@ -17,5 +17,5 @@
7362 out_int8x16_t = vmaxq_s8 (arg0_int8x16_t, arg1_int8x16_t);
7363 }
7364
7365-/* { dg-final { scan-assembler "vmax\.s8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
7366+/* { dg-final { scan-assembler "vmax\.s8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
7367 /* { dg-final { cleanup-saved-temps } } */
7368
7369=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmaxQu16.c'
7370--- old/gcc/testsuite/gcc.target/arm/neon/vmaxQu16.c 2010-07-29 15:38:15 +0000
7371+++ new/gcc/testsuite/gcc.target/arm/neon/vmaxQu16.c 2010-08-20 13:27:11 +0000
7372@@ -17,5 +17,5 @@
7373 out_uint16x8_t = vmaxq_u16 (arg0_uint16x8_t, arg1_uint16x8_t);
7374 }
7375
7376-/* { dg-final { scan-assembler "vmax\.u16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
7377+/* { dg-final { scan-assembler "vmax\.u16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
7378 /* { dg-final { cleanup-saved-temps } } */
7379
7380=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmaxQu32.c'
7381--- old/gcc/testsuite/gcc.target/arm/neon/vmaxQu32.c 2010-07-29 15:38:15 +0000
7382+++ new/gcc/testsuite/gcc.target/arm/neon/vmaxQu32.c 2010-08-20 13:27:11 +0000
7383@@ -17,5 +17,5 @@
7384 out_uint32x4_t = vmaxq_u32 (arg0_uint32x4_t, arg1_uint32x4_t);
7385 }
7386
7387-/* { dg-final { scan-assembler "vmax\.u32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
7388+/* { dg-final { scan-assembler "vmax\.u32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
7389 /* { dg-final { cleanup-saved-temps } } */
7390
7391=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmaxQu8.c'
7392--- old/gcc/testsuite/gcc.target/arm/neon/vmaxQu8.c 2010-07-29 15:38:15 +0000
7393+++ new/gcc/testsuite/gcc.target/arm/neon/vmaxQu8.c 2010-08-20 13:27:11 +0000
7394@@ -17,5 +17,5 @@
7395 out_uint8x16_t = vmaxq_u8 (arg0_uint8x16_t, arg1_uint8x16_t);
7396 }
7397
7398-/* { dg-final { scan-assembler "vmax\.u8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
7399+/* { dg-final { scan-assembler "vmax\.u8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
7400 /* { dg-final { cleanup-saved-temps } } */
7401
7402=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmaxf32.c'
7403--- old/gcc/testsuite/gcc.target/arm/neon/vmaxf32.c 2010-07-29 15:38:15 +0000
7404+++ new/gcc/testsuite/gcc.target/arm/neon/vmaxf32.c 2010-08-20 13:27:11 +0000
7405@@ -17,5 +17,5 @@
7406 out_float32x2_t = vmax_f32 (arg0_float32x2_t, arg1_float32x2_t);
7407 }
7408
7409-/* { dg-final { scan-assembler "vmax\.f32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
7410+/* { dg-final { scan-assembler "vmax\.f32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
7411 /* { dg-final { cleanup-saved-temps } } */
7412
7413=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmaxs16.c'
7414--- old/gcc/testsuite/gcc.target/arm/neon/vmaxs16.c 2010-07-29 15:38:15 +0000
7415+++ new/gcc/testsuite/gcc.target/arm/neon/vmaxs16.c 2010-08-20 13:27:11 +0000
7416@@ -17,5 +17,5 @@
7417 out_int16x4_t = vmax_s16 (arg0_int16x4_t, arg1_int16x4_t);
7418 }
7419
7420-/* { dg-final { scan-assembler "vmax\.s16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
7421+/* { dg-final { scan-assembler "vmax\.s16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
7422 /* { dg-final { cleanup-saved-temps } } */
7423
7424=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmaxs32.c'
7425--- old/gcc/testsuite/gcc.target/arm/neon/vmaxs32.c 2010-07-29 15:38:15 +0000
7426+++ new/gcc/testsuite/gcc.target/arm/neon/vmaxs32.c 2010-08-20 13:27:11 +0000
7427@@ -17,5 +17,5 @@
7428 out_int32x2_t = vmax_s32 (arg0_int32x2_t, arg1_int32x2_t);
7429 }
7430
7431-/* { dg-final { scan-assembler "vmax\.s32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
7432+/* { dg-final { scan-assembler "vmax\.s32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
7433 /* { dg-final { cleanup-saved-temps } } */
7434
7435=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmaxs8.c'
7436--- old/gcc/testsuite/gcc.target/arm/neon/vmaxs8.c 2010-07-29 15:38:15 +0000
7437+++ new/gcc/testsuite/gcc.target/arm/neon/vmaxs8.c 2010-08-20 13:27:11 +0000
7438@@ -17,5 +17,5 @@
7439 out_int8x8_t = vmax_s8 (arg0_int8x8_t, arg1_int8x8_t);
7440 }
7441
7442-/* { dg-final { scan-assembler "vmax\.s8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
7443+/* { dg-final { scan-assembler "vmax\.s8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
7444 /* { dg-final { cleanup-saved-temps } } */
7445
7446=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmaxu16.c'
7447--- old/gcc/testsuite/gcc.target/arm/neon/vmaxu16.c 2010-07-29 15:38:15 +0000
7448+++ new/gcc/testsuite/gcc.target/arm/neon/vmaxu16.c 2010-08-20 13:27:11 +0000
7449@@ -17,5 +17,5 @@
7450 out_uint16x4_t = vmax_u16 (arg0_uint16x4_t, arg1_uint16x4_t);
7451 }
7452
7453-/* { dg-final { scan-assembler "vmax\.u16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
7454+/* { dg-final { scan-assembler "vmax\.u16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
7455 /* { dg-final { cleanup-saved-temps } } */
7456
7457=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmaxu32.c'
7458--- old/gcc/testsuite/gcc.target/arm/neon/vmaxu32.c 2010-07-29 15:38:15 +0000
7459+++ new/gcc/testsuite/gcc.target/arm/neon/vmaxu32.c 2010-08-20 13:27:11 +0000
7460@@ -17,5 +17,5 @@
7461 out_uint32x2_t = vmax_u32 (arg0_uint32x2_t, arg1_uint32x2_t);
7462 }
7463
7464-/* { dg-final { scan-assembler "vmax\.u32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
7465+/* { dg-final { scan-assembler "vmax\.u32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
7466 /* { dg-final { cleanup-saved-temps } } */
7467
7468=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmaxu8.c'
7469--- old/gcc/testsuite/gcc.target/arm/neon/vmaxu8.c 2010-07-29 15:38:15 +0000
7470+++ new/gcc/testsuite/gcc.target/arm/neon/vmaxu8.c 2010-08-20 13:27:11 +0000
7471@@ -17,5 +17,5 @@
7472 out_uint8x8_t = vmax_u8 (arg0_uint8x8_t, arg1_uint8x8_t);
7473 }
7474
7475-/* { dg-final { scan-assembler "vmax\.u8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
7476+/* { dg-final { scan-assembler "vmax\.u8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
7477 /* { dg-final { cleanup-saved-temps } } */
7478
7479=== modified file 'gcc/testsuite/gcc.target/arm/neon/vminQf32.c'
7480--- old/gcc/testsuite/gcc.target/arm/neon/vminQf32.c 2010-07-29 15:38:15 +0000
7481+++ new/gcc/testsuite/gcc.target/arm/neon/vminQf32.c 2010-08-20 13:27:11 +0000
7482@@ -17,5 +17,5 @@
7483 out_float32x4_t = vminq_f32 (arg0_float32x4_t, arg1_float32x4_t);
7484 }
7485
7486-/* { dg-final { scan-assembler "vmin\.f32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
7487+/* { dg-final { scan-assembler "vmin\.f32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
7488 /* { dg-final { cleanup-saved-temps } } */
7489
7490=== modified file 'gcc/testsuite/gcc.target/arm/neon/vminQs16.c'
7491--- old/gcc/testsuite/gcc.target/arm/neon/vminQs16.c 2010-07-29 15:38:15 +0000
7492+++ new/gcc/testsuite/gcc.target/arm/neon/vminQs16.c 2010-08-20 13:27:11 +0000
7493@@ -17,5 +17,5 @@
7494 out_int16x8_t = vminq_s16 (arg0_int16x8_t, arg1_int16x8_t);
7495 }
7496
7497-/* { dg-final { scan-assembler "vmin\.s16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
7498+/* { dg-final { scan-assembler "vmin\.s16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
7499 /* { dg-final { cleanup-saved-temps } } */
7500
7501=== modified file 'gcc/testsuite/gcc.target/arm/neon/vminQs32.c'
7502--- old/gcc/testsuite/gcc.target/arm/neon/vminQs32.c 2010-07-29 15:38:15 +0000
7503+++ new/gcc/testsuite/gcc.target/arm/neon/vminQs32.c 2010-08-20 13:27:11 +0000
7504@@ -17,5 +17,5 @@
7505 out_int32x4_t = vminq_s32 (arg0_int32x4_t, arg1_int32x4_t);
7506 }
7507
7508-/* { dg-final { scan-assembler "vmin\.s32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
7509+/* { dg-final { scan-assembler "vmin\.s32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
7510 /* { dg-final { cleanup-saved-temps } } */
7511
7512=== modified file 'gcc/testsuite/gcc.target/arm/neon/vminQs8.c'
7513--- old/gcc/testsuite/gcc.target/arm/neon/vminQs8.c 2010-07-29 15:38:15 +0000
7514+++ new/gcc/testsuite/gcc.target/arm/neon/vminQs8.c 2010-08-20 13:27:11 +0000
7515@@ -17,5 +17,5 @@
7516 out_int8x16_t = vminq_s8 (arg0_int8x16_t, arg1_int8x16_t);
7517 }
7518
7519-/* { dg-final { scan-assembler "vmin\.s8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
7520+/* { dg-final { scan-assembler "vmin\.s8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
7521 /* { dg-final { cleanup-saved-temps } } */
7522
7523=== modified file 'gcc/testsuite/gcc.target/arm/neon/vminQu16.c'
7524--- old/gcc/testsuite/gcc.target/arm/neon/vminQu16.c 2010-07-29 15:38:15 +0000
7525+++ new/gcc/testsuite/gcc.target/arm/neon/vminQu16.c 2010-08-20 13:27:11 +0000
7526@@ -17,5 +17,5 @@
7527 out_uint16x8_t = vminq_u16 (arg0_uint16x8_t, arg1_uint16x8_t);
7528 }
7529
7530-/* { dg-final { scan-assembler "vmin\.u16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
7531+/* { dg-final { scan-assembler "vmin\.u16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
7532 /* { dg-final { cleanup-saved-temps } } */
7533
7534=== modified file 'gcc/testsuite/gcc.target/arm/neon/vminQu32.c'
7535--- old/gcc/testsuite/gcc.target/arm/neon/vminQu32.c 2010-07-29 15:38:15 +0000
7536+++ new/gcc/testsuite/gcc.target/arm/neon/vminQu32.c 2010-08-20 13:27:11 +0000
7537@@ -17,5 +17,5 @@
7538 out_uint32x4_t = vminq_u32 (arg0_uint32x4_t, arg1_uint32x4_t);
7539 }
7540
7541-/* { dg-final { scan-assembler "vmin\.u32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
7542+/* { dg-final { scan-assembler "vmin\.u32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
7543 /* { dg-final { cleanup-saved-temps } } */
7544
7545=== modified file 'gcc/testsuite/gcc.target/arm/neon/vminQu8.c'
7546--- old/gcc/testsuite/gcc.target/arm/neon/vminQu8.c 2010-07-29 15:38:15 +0000
7547+++ new/gcc/testsuite/gcc.target/arm/neon/vminQu8.c 2010-08-20 13:27:11 +0000
7548@@ -17,5 +17,5 @@
7549 out_uint8x16_t = vminq_u8 (arg0_uint8x16_t, arg1_uint8x16_t);
7550 }
7551
7552-/* { dg-final { scan-assembler "vmin\.u8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
7553+/* { dg-final { scan-assembler "vmin\.u8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
7554 /* { dg-final { cleanup-saved-temps } } */
7555
7556=== modified file 'gcc/testsuite/gcc.target/arm/neon/vminf32.c'
7557--- old/gcc/testsuite/gcc.target/arm/neon/vminf32.c 2010-07-29 15:38:15 +0000
7558+++ new/gcc/testsuite/gcc.target/arm/neon/vminf32.c 2010-08-20 13:27:11 +0000
7559@@ -17,5 +17,5 @@
7560 out_float32x2_t = vmin_f32 (arg0_float32x2_t, arg1_float32x2_t);
7561 }
7562
7563-/* { dg-final { scan-assembler "vmin\.f32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
7564+/* { dg-final { scan-assembler "vmin\.f32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
7565 /* { dg-final { cleanup-saved-temps } } */
7566
7567=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmins16.c'
7568--- old/gcc/testsuite/gcc.target/arm/neon/vmins16.c 2010-07-29 15:38:15 +0000
7569+++ new/gcc/testsuite/gcc.target/arm/neon/vmins16.c 2010-08-20 13:27:11 +0000
7570@@ -17,5 +17,5 @@
7571 out_int16x4_t = vmin_s16 (arg0_int16x4_t, arg1_int16x4_t);
7572 }
7573
7574-/* { dg-final { scan-assembler "vmin\.s16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
7575+/* { dg-final { scan-assembler "vmin\.s16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
7576 /* { dg-final { cleanup-saved-temps } } */
7577
7578=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmins32.c'
7579--- old/gcc/testsuite/gcc.target/arm/neon/vmins32.c 2010-07-29 15:38:15 +0000
7580+++ new/gcc/testsuite/gcc.target/arm/neon/vmins32.c 2010-08-20 13:27:11 +0000
7581@@ -17,5 +17,5 @@
7582 out_int32x2_t = vmin_s32 (arg0_int32x2_t, arg1_int32x2_t);
7583 }
7584
7585-/* { dg-final { scan-assembler "vmin\.s32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
7586+/* { dg-final { scan-assembler "vmin\.s32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
7587 /* { dg-final { cleanup-saved-temps } } */
7588
7589=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmins8.c'
7590--- old/gcc/testsuite/gcc.target/arm/neon/vmins8.c 2010-07-29 15:38:15 +0000
7591+++ new/gcc/testsuite/gcc.target/arm/neon/vmins8.c 2010-08-20 13:27:11 +0000
7592@@ -17,5 +17,5 @@
7593 out_int8x8_t = vmin_s8 (arg0_int8x8_t, arg1_int8x8_t);
7594 }
7595
7596-/* { dg-final { scan-assembler "vmin\.s8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
7597+/* { dg-final { scan-assembler "vmin\.s8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
7598 /* { dg-final { cleanup-saved-temps } } */
7599
7600=== modified file 'gcc/testsuite/gcc.target/arm/neon/vminu16.c'
7601--- old/gcc/testsuite/gcc.target/arm/neon/vminu16.c 2010-07-29 15:38:15 +0000
7602+++ new/gcc/testsuite/gcc.target/arm/neon/vminu16.c 2010-08-20 13:27:11 +0000
7603@@ -17,5 +17,5 @@
7604 out_uint16x4_t = vmin_u16 (arg0_uint16x4_t, arg1_uint16x4_t);
7605 }
7606
7607-/* { dg-final { scan-assembler "vmin\.u16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
7608+/* { dg-final { scan-assembler "vmin\.u16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
7609 /* { dg-final { cleanup-saved-temps } } */
7610
7611=== modified file 'gcc/testsuite/gcc.target/arm/neon/vminu32.c'
7612--- old/gcc/testsuite/gcc.target/arm/neon/vminu32.c 2010-07-29 15:38:15 +0000
7613+++ new/gcc/testsuite/gcc.target/arm/neon/vminu32.c 2010-08-20 13:27:11 +0000
7614@@ -17,5 +17,5 @@
7615 out_uint32x2_t = vmin_u32 (arg0_uint32x2_t, arg1_uint32x2_t);
7616 }
7617
7618-/* { dg-final { scan-assembler "vmin\.u32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
7619+/* { dg-final { scan-assembler "vmin\.u32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
7620 /* { dg-final { cleanup-saved-temps } } */
7621
7622=== modified file 'gcc/testsuite/gcc.target/arm/neon/vminu8.c'
7623--- old/gcc/testsuite/gcc.target/arm/neon/vminu8.c 2010-07-29 15:38:15 +0000
7624+++ new/gcc/testsuite/gcc.target/arm/neon/vminu8.c 2010-08-20 13:27:11 +0000
7625@@ -17,5 +17,5 @@
7626 out_uint8x8_t = vmin_u8 (arg0_uint8x8_t, arg1_uint8x8_t);
7627 }
7628
7629-/* { dg-final { scan-assembler "vmin\.u8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
7630+/* { dg-final { scan-assembler "vmin\.u8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
7631 /* { dg-final { cleanup-saved-temps } } */
7632
7633=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlaQ_lanef32.c'
7634--- old/gcc/testsuite/gcc.target/arm/neon/vmlaQ_lanef32.c 2010-07-29 15:38:15 +0000
7635+++ new/gcc/testsuite/gcc.target/arm/neon/vmlaQ_lanef32.c 2010-08-20 13:27:11 +0000
7636@@ -18,5 +18,5 @@
7637 out_float32x4_t = vmlaq_lane_f32 (arg0_float32x4_t, arg1_float32x4_t, arg2_float32x2_t, 1);
7638 }
7639
7640-/* { dg-final { scan-assembler "vmla\.f32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
7641+/* { dg-final { scan-assembler "vmla\.f32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
7642 /* { dg-final { cleanup-saved-temps } } */
7643
7644=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlaQ_lanes16.c'
7645--- old/gcc/testsuite/gcc.target/arm/neon/vmlaQ_lanes16.c 2010-07-29 15:38:15 +0000
7646+++ new/gcc/testsuite/gcc.target/arm/neon/vmlaQ_lanes16.c 2010-08-20 13:27:11 +0000
7647@@ -18,5 +18,5 @@
7648 out_int16x8_t = vmlaq_lane_s16 (arg0_int16x8_t, arg1_int16x8_t, arg2_int16x4_t, 1);
7649 }
7650
7651-/* { dg-final { scan-assembler "vmla\.i16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
7652+/* { dg-final { scan-assembler "vmla\.i16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
7653 /* { dg-final { cleanup-saved-temps } } */
7654
7655=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlaQ_lanes32.c'
7656--- old/gcc/testsuite/gcc.target/arm/neon/vmlaQ_lanes32.c 2010-07-29 15:38:15 +0000
7657+++ new/gcc/testsuite/gcc.target/arm/neon/vmlaQ_lanes32.c 2010-08-20 13:27:11 +0000
7658@@ -18,5 +18,5 @@
7659 out_int32x4_t = vmlaq_lane_s32 (arg0_int32x4_t, arg1_int32x4_t, arg2_int32x2_t, 1);
7660 }
7661
7662-/* { dg-final { scan-assembler "vmla\.i32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
7663+/* { dg-final { scan-assembler "vmla\.i32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
7664 /* { dg-final { cleanup-saved-temps } } */
7665
7666=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlaQ_laneu16.c'
7667--- old/gcc/testsuite/gcc.target/arm/neon/vmlaQ_laneu16.c 2010-07-29 15:38:15 +0000
7668+++ new/gcc/testsuite/gcc.target/arm/neon/vmlaQ_laneu16.c 2010-08-20 13:27:11 +0000
7669@@ -18,5 +18,5 @@
7670 out_uint16x8_t = vmlaq_lane_u16 (arg0_uint16x8_t, arg1_uint16x8_t, arg2_uint16x4_t, 1);
7671 }
7672
7673-/* { dg-final { scan-assembler "vmla\.i16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
7674+/* { dg-final { scan-assembler "vmla\.i16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
7675 /* { dg-final { cleanup-saved-temps } } */
7676
7677=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlaQ_laneu32.c'
7678--- old/gcc/testsuite/gcc.target/arm/neon/vmlaQ_laneu32.c 2010-07-29 15:38:15 +0000
7679+++ new/gcc/testsuite/gcc.target/arm/neon/vmlaQ_laneu32.c 2010-08-20 13:27:11 +0000
7680@@ -18,5 +18,5 @@
7681 out_uint32x4_t = vmlaq_lane_u32 (arg0_uint32x4_t, arg1_uint32x4_t, arg2_uint32x2_t, 1);
7682 }
7683
7684-/* { dg-final { scan-assembler "vmla\.i32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
7685+/* { dg-final { scan-assembler "vmla\.i32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
7686 /* { dg-final { cleanup-saved-temps } } */
7687
7688=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlaQ_nf32.c'
7689--- old/gcc/testsuite/gcc.target/arm/neon/vmlaQ_nf32.c 2010-07-29 15:38:15 +0000
7690+++ new/gcc/testsuite/gcc.target/arm/neon/vmlaQ_nf32.c 2010-08-20 13:27:11 +0000
7691@@ -18,5 +18,5 @@
7692 out_float32x4_t = vmlaq_n_f32 (arg0_float32x4_t, arg1_float32x4_t, arg2_float32_t);
7693 }
7694
7695-/* { dg-final { scan-assembler "vmla\.f32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
7696+/* { dg-final { scan-assembler "vmla\.f32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
7697 /* { dg-final { cleanup-saved-temps } } */
7698
7699=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlaQ_ns16.c'
7700--- old/gcc/testsuite/gcc.target/arm/neon/vmlaQ_ns16.c 2010-07-29 15:38:15 +0000
7701+++ new/gcc/testsuite/gcc.target/arm/neon/vmlaQ_ns16.c 2010-08-20 13:27:11 +0000
7702@@ -18,5 +18,5 @@
7703 out_int16x8_t = vmlaq_n_s16 (arg0_int16x8_t, arg1_int16x8_t, arg2_int16_t);
7704 }
7705
7706-/* { dg-final { scan-assembler "vmla\.i16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
7707+/* { dg-final { scan-assembler "vmla\.i16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
7708 /* { dg-final { cleanup-saved-temps } } */
7709
7710=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlaQ_ns32.c'
7711--- old/gcc/testsuite/gcc.target/arm/neon/vmlaQ_ns32.c 2010-07-29 15:38:15 +0000
7712+++ new/gcc/testsuite/gcc.target/arm/neon/vmlaQ_ns32.c 2010-08-20 13:27:11 +0000
7713@@ -18,5 +18,5 @@
7714 out_int32x4_t = vmlaq_n_s32 (arg0_int32x4_t, arg1_int32x4_t, arg2_int32_t);
7715 }
7716
7717-/* { dg-final { scan-assembler "vmla\.i32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
7718+/* { dg-final { scan-assembler "vmla\.i32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
7719 /* { dg-final { cleanup-saved-temps } } */
7720
7721=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlaQ_nu16.c'
7722--- old/gcc/testsuite/gcc.target/arm/neon/vmlaQ_nu16.c 2010-07-29 15:38:15 +0000
7723+++ new/gcc/testsuite/gcc.target/arm/neon/vmlaQ_nu16.c 2010-08-20 13:27:11 +0000
7724@@ -18,5 +18,5 @@
7725 out_uint16x8_t = vmlaq_n_u16 (arg0_uint16x8_t, arg1_uint16x8_t, arg2_uint16_t);
7726 }
7727
7728-/* { dg-final { scan-assembler "vmla\.i16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
7729+/* { dg-final { scan-assembler "vmla\.i16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
7730 /* { dg-final { cleanup-saved-temps } } */
7731
7732=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlaQ_nu32.c'
7733--- old/gcc/testsuite/gcc.target/arm/neon/vmlaQ_nu32.c 2010-07-29 15:38:15 +0000
7734+++ new/gcc/testsuite/gcc.target/arm/neon/vmlaQ_nu32.c 2010-08-20 13:27:11 +0000
7735@@ -18,5 +18,5 @@
7736 out_uint32x4_t = vmlaq_n_u32 (arg0_uint32x4_t, arg1_uint32x4_t, arg2_uint32_t);
7737 }
7738
7739-/* { dg-final { scan-assembler "vmla\.i32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
7740+/* { dg-final { scan-assembler "vmla\.i32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
7741 /* { dg-final { cleanup-saved-temps } } */
7742
7743=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlaQf32.c'
7744--- old/gcc/testsuite/gcc.target/arm/neon/vmlaQf32.c 2010-07-29 15:38:15 +0000
7745+++ new/gcc/testsuite/gcc.target/arm/neon/vmlaQf32.c 2010-08-20 13:27:11 +0000
7746@@ -18,5 +18,5 @@
7747 out_float32x4_t = vmlaq_f32 (arg0_float32x4_t, arg1_float32x4_t, arg2_float32x4_t);
7748 }
7749
7750-/* { dg-final { scan-assembler "vmla\.f32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
7751+/* { dg-final { scan-assembler "vmla\.f32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
7752 /* { dg-final { cleanup-saved-temps } } */
7753
7754=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlaQs16.c'
7755--- old/gcc/testsuite/gcc.target/arm/neon/vmlaQs16.c 2010-07-29 15:38:15 +0000
7756+++ new/gcc/testsuite/gcc.target/arm/neon/vmlaQs16.c 2010-08-20 13:27:11 +0000
7757@@ -18,5 +18,5 @@
7758 out_int16x8_t = vmlaq_s16 (arg0_int16x8_t, arg1_int16x8_t, arg2_int16x8_t);
7759 }
7760
7761-/* { dg-final { scan-assembler "vmla\.i16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
7762+/* { dg-final { scan-assembler "vmla\.i16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
7763 /* { dg-final { cleanup-saved-temps } } */
7764
7765=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlaQs32.c'
7766--- old/gcc/testsuite/gcc.target/arm/neon/vmlaQs32.c 2010-07-29 15:38:15 +0000
7767+++ new/gcc/testsuite/gcc.target/arm/neon/vmlaQs32.c 2010-08-20 13:27:11 +0000
7768@@ -18,5 +18,5 @@
7769 out_int32x4_t = vmlaq_s32 (arg0_int32x4_t, arg1_int32x4_t, arg2_int32x4_t);
7770 }
7771
7772-/* { dg-final { scan-assembler "vmla\.i32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
7773+/* { dg-final { scan-assembler "vmla\.i32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
7774 /* { dg-final { cleanup-saved-temps } } */
7775
7776=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlaQs8.c'
7777--- old/gcc/testsuite/gcc.target/arm/neon/vmlaQs8.c 2010-07-29 15:38:15 +0000
7778+++ new/gcc/testsuite/gcc.target/arm/neon/vmlaQs8.c 2010-08-20 13:27:11 +0000
7779@@ -18,5 +18,5 @@
7780 out_int8x16_t = vmlaq_s8 (arg0_int8x16_t, arg1_int8x16_t, arg2_int8x16_t);
7781 }
7782
7783-/* { dg-final { scan-assembler "vmla\.i8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
7784+/* { dg-final { scan-assembler "vmla\.i8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
7785 /* { dg-final { cleanup-saved-temps } } */
7786
7787=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlaQu16.c'
7788--- old/gcc/testsuite/gcc.target/arm/neon/vmlaQu16.c 2010-07-29 15:38:15 +0000
7789+++ new/gcc/testsuite/gcc.target/arm/neon/vmlaQu16.c 2010-08-20 13:27:11 +0000
7790@@ -18,5 +18,5 @@
7791 out_uint16x8_t = vmlaq_u16 (arg0_uint16x8_t, arg1_uint16x8_t, arg2_uint16x8_t);
7792 }
7793
7794-/* { dg-final { scan-assembler "vmla\.i16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
7795+/* { dg-final { scan-assembler "vmla\.i16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
7796 /* { dg-final { cleanup-saved-temps } } */
7797
7798=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlaQu32.c'
7799--- old/gcc/testsuite/gcc.target/arm/neon/vmlaQu32.c 2010-07-29 15:38:15 +0000
7800+++ new/gcc/testsuite/gcc.target/arm/neon/vmlaQu32.c 2010-08-20 13:27:11 +0000
7801@@ -18,5 +18,5 @@
7802 out_uint32x4_t = vmlaq_u32 (arg0_uint32x4_t, arg1_uint32x4_t, arg2_uint32x4_t);
7803 }
7804
7805-/* { dg-final { scan-assembler "vmla\.i32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
7806+/* { dg-final { scan-assembler "vmla\.i32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
7807 /* { dg-final { cleanup-saved-temps } } */
7808
7809=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlaQu8.c'
7810--- old/gcc/testsuite/gcc.target/arm/neon/vmlaQu8.c 2010-07-29 15:38:15 +0000
7811+++ new/gcc/testsuite/gcc.target/arm/neon/vmlaQu8.c 2010-08-20 13:27:11 +0000
7812@@ -18,5 +18,5 @@
7813 out_uint8x16_t = vmlaq_u8 (arg0_uint8x16_t, arg1_uint8x16_t, arg2_uint8x16_t);
7814 }
7815
7816-/* { dg-final { scan-assembler "vmla\.i8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
7817+/* { dg-final { scan-assembler "vmla\.i8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
7818 /* { dg-final { cleanup-saved-temps } } */
7819
7820=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmla_lanef32.c'
7821--- old/gcc/testsuite/gcc.target/arm/neon/vmla_lanef32.c 2010-07-29 15:38:15 +0000
7822+++ new/gcc/testsuite/gcc.target/arm/neon/vmla_lanef32.c 2010-08-20 13:27:11 +0000
7823@@ -18,5 +18,5 @@
7824 out_float32x2_t = vmla_lane_f32 (arg0_float32x2_t, arg1_float32x2_t, arg2_float32x2_t, 1);
7825 }
7826
7827-/* { dg-final { scan-assembler "vmla\.f32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
7828+/* { dg-final { scan-assembler "vmla\.f32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
7829 /* { dg-final { cleanup-saved-temps } } */
7830
7831=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmla_lanes16.c'
7832--- old/gcc/testsuite/gcc.target/arm/neon/vmla_lanes16.c 2010-07-29 15:38:15 +0000
7833+++ new/gcc/testsuite/gcc.target/arm/neon/vmla_lanes16.c 2010-08-20 13:27:11 +0000
7834@@ -18,5 +18,5 @@
7835 out_int16x4_t = vmla_lane_s16 (arg0_int16x4_t, arg1_int16x4_t, arg2_int16x4_t, 1);
7836 }
7837
7838-/* { dg-final { scan-assembler "vmla\.i16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
7839+/* { dg-final { scan-assembler "vmla\.i16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
7840 /* { dg-final { cleanup-saved-temps } } */
7841
7842=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmla_lanes32.c'
7843--- old/gcc/testsuite/gcc.target/arm/neon/vmla_lanes32.c 2010-07-29 15:38:15 +0000
7844+++ new/gcc/testsuite/gcc.target/arm/neon/vmla_lanes32.c 2010-08-20 13:27:11 +0000
7845@@ -18,5 +18,5 @@
7846 out_int32x2_t = vmla_lane_s32 (arg0_int32x2_t, arg1_int32x2_t, arg2_int32x2_t, 1);
7847 }
7848
7849-/* { dg-final { scan-assembler "vmla\.i32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
7850+/* { dg-final { scan-assembler "vmla\.i32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
7851 /* { dg-final { cleanup-saved-temps } } */
7852
7853=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmla_laneu16.c'
7854--- old/gcc/testsuite/gcc.target/arm/neon/vmla_laneu16.c 2010-07-29 15:38:15 +0000
7855+++ new/gcc/testsuite/gcc.target/arm/neon/vmla_laneu16.c 2010-08-20 13:27:11 +0000
7856@@ -18,5 +18,5 @@
7857 out_uint16x4_t = vmla_lane_u16 (arg0_uint16x4_t, arg1_uint16x4_t, arg2_uint16x4_t, 1);
7858 }
7859
7860-/* { dg-final { scan-assembler "vmla\.i16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
7861+/* { dg-final { scan-assembler "vmla\.i16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
7862 /* { dg-final { cleanup-saved-temps } } */
7863
7864=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmla_laneu32.c'
7865--- old/gcc/testsuite/gcc.target/arm/neon/vmla_laneu32.c 2010-07-29 15:38:15 +0000
7866+++ new/gcc/testsuite/gcc.target/arm/neon/vmla_laneu32.c 2010-08-20 13:27:11 +0000
7867@@ -18,5 +18,5 @@
7868 out_uint32x2_t = vmla_lane_u32 (arg0_uint32x2_t, arg1_uint32x2_t, arg2_uint32x2_t, 1);
7869 }
7870
7871-/* { dg-final { scan-assembler "vmla\.i32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
7872+/* { dg-final { scan-assembler "vmla\.i32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
7873 /* { dg-final { cleanup-saved-temps } } */
7874
7875=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmla_nf32.c'
7876--- old/gcc/testsuite/gcc.target/arm/neon/vmla_nf32.c 2010-07-29 15:38:15 +0000
7877+++ new/gcc/testsuite/gcc.target/arm/neon/vmla_nf32.c 2010-08-20 13:27:11 +0000
7878@@ -18,5 +18,5 @@
7879 out_float32x2_t = vmla_n_f32 (arg0_float32x2_t, arg1_float32x2_t, arg2_float32_t);
7880 }
7881
7882-/* { dg-final { scan-assembler "vmla\.f32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
7883+/* { dg-final { scan-assembler "vmla\.f32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
7884 /* { dg-final { cleanup-saved-temps } } */
7885
7886=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmla_ns16.c'
7887--- old/gcc/testsuite/gcc.target/arm/neon/vmla_ns16.c 2010-07-29 15:38:15 +0000
7888+++ new/gcc/testsuite/gcc.target/arm/neon/vmla_ns16.c 2010-08-20 13:27:11 +0000
7889@@ -18,5 +18,5 @@
7890 out_int16x4_t = vmla_n_s16 (arg0_int16x4_t, arg1_int16x4_t, arg2_int16_t);
7891 }
7892
7893-/* { dg-final { scan-assembler "vmla\.i16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
7894+/* { dg-final { scan-assembler "vmla\.i16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
7895 /* { dg-final { cleanup-saved-temps } } */
7896
7897=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmla_ns32.c'
7898--- old/gcc/testsuite/gcc.target/arm/neon/vmla_ns32.c 2010-07-29 15:38:15 +0000
7899+++ new/gcc/testsuite/gcc.target/arm/neon/vmla_ns32.c 2010-08-20 13:27:11 +0000
7900@@ -18,5 +18,5 @@
7901 out_int32x2_t = vmla_n_s32 (arg0_int32x2_t, arg1_int32x2_t, arg2_int32_t);
7902 }
7903
7904-/* { dg-final { scan-assembler "vmla\.i32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
7905+/* { dg-final { scan-assembler "vmla\.i32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
7906 /* { dg-final { cleanup-saved-temps } } */
7907
7908=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmla_nu16.c'
7909--- old/gcc/testsuite/gcc.target/arm/neon/vmla_nu16.c 2010-07-29 15:38:15 +0000
7910+++ new/gcc/testsuite/gcc.target/arm/neon/vmla_nu16.c 2010-08-20 13:27:11 +0000
7911@@ -18,5 +18,5 @@
7912 out_uint16x4_t = vmla_n_u16 (arg0_uint16x4_t, arg1_uint16x4_t, arg2_uint16_t);
7913 }
7914
7915-/* { dg-final { scan-assembler "vmla\.i16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
7916+/* { dg-final { scan-assembler "vmla\.i16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
7917 /* { dg-final { cleanup-saved-temps } } */
7918
7919=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmla_nu32.c'
7920--- old/gcc/testsuite/gcc.target/arm/neon/vmla_nu32.c 2010-07-29 15:38:15 +0000
7921+++ new/gcc/testsuite/gcc.target/arm/neon/vmla_nu32.c 2010-08-20 13:27:11 +0000
7922@@ -18,5 +18,5 @@
7923 out_uint32x2_t = vmla_n_u32 (arg0_uint32x2_t, arg1_uint32x2_t, arg2_uint32_t);
7924 }
7925
7926-/* { dg-final { scan-assembler "vmla\.i32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
7927+/* { dg-final { scan-assembler "vmla\.i32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
7928 /* { dg-final { cleanup-saved-temps } } */
7929
7930=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlaf32.c'
7931--- old/gcc/testsuite/gcc.target/arm/neon/vmlaf32.c 2010-07-29 15:38:15 +0000
7932+++ new/gcc/testsuite/gcc.target/arm/neon/vmlaf32.c 2010-08-20 13:27:11 +0000
7933@@ -18,5 +18,5 @@
7934 out_float32x2_t = vmla_f32 (arg0_float32x2_t, arg1_float32x2_t, arg2_float32x2_t);
7935 }
7936
7937-/* { dg-final { scan-assembler "vmla\.f32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
7938+/* { dg-final { scan-assembler "vmla\.f32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
7939 /* { dg-final { cleanup-saved-temps } } */
7940
7941=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlal_lanes16.c'
7942--- old/gcc/testsuite/gcc.target/arm/neon/vmlal_lanes16.c 2010-07-29 15:38:15 +0000
7943+++ new/gcc/testsuite/gcc.target/arm/neon/vmlal_lanes16.c 2010-08-20 13:27:11 +0000
7944@@ -18,5 +18,5 @@
7945 out_int32x4_t = vmlal_lane_s16 (arg0_int32x4_t, arg1_int16x4_t, arg2_int16x4_t, 1);
7946 }
7947
7948-/* { dg-final { scan-assembler "vmlal\.s16\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
7949+/* { dg-final { scan-assembler "vmlal\.s16\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
7950 /* { dg-final { cleanup-saved-temps } } */
7951
7952=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlal_lanes32.c'
7953--- old/gcc/testsuite/gcc.target/arm/neon/vmlal_lanes32.c 2010-07-29 15:38:15 +0000
7954+++ new/gcc/testsuite/gcc.target/arm/neon/vmlal_lanes32.c 2010-08-20 13:27:11 +0000
7955@@ -18,5 +18,5 @@
7956 out_int64x2_t = vmlal_lane_s32 (arg0_int64x2_t, arg1_int32x2_t, arg2_int32x2_t, 1);
7957 }
7958
7959-/* { dg-final { scan-assembler "vmlal\.s32\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
7960+/* { dg-final { scan-assembler "vmlal\.s32\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
7961 /* { dg-final { cleanup-saved-temps } } */
7962
7963=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlal_laneu16.c'
7964--- old/gcc/testsuite/gcc.target/arm/neon/vmlal_laneu16.c 2010-07-29 15:38:15 +0000
7965+++ new/gcc/testsuite/gcc.target/arm/neon/vmlal_laneu16.c 2010-08-20 13:27:11 +0000
7966@@ -18,5 +18,5 @@
7967 out_uint32x4_t = vmlal_lane_u16 (arg0_uint32x4_t, arg1_uint16x4_t, arg2_uint16x4_t, 1);
7968 }
7969
7970-/* { dg-final { scan-assembler "vmlal\.u16\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
7971+/* { dg-final { scan-assembler "vmlal\.u16\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
7972 /* { dg-final { cleanup-saved-temps } } */
7973
7974=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlal_laneu32.c'
7975--- old/gcc/testsuite/gcc.target/arm/neon/vmlal_laneu32.c 2010-07-29 15:38:15 +0000
7976+++ new/gcc/testsuite/gcc.target/arm/neon/vmlal_laneu32.c 2010-08-20 13:27:11 +0000
7977@@ -18,5 +18,5 @@
7978 out_uint64x2_t = vmlal_lane_u32 (arg0_uint64x2_t, arg1_uint32x2_t, arg2_uint32x2_t, 1);
7979 }
7980
7981-/* { dg-final { scan-assembler "vmlal\.u32\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
7982+/* { dg-final { scan-assembler "vmlal\.u32\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
7983 /* { dg-final { cleanup-saved-temps } } */
7984
7985=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlal_ns16.c'
7986--- old/gcc/testsuite/gcc.target/arm/neon/vmlal_ns16.c 2010-07-29 15:38:15 +0000
7987+++ new/gcc/testsuite/gcc.target/arm/neon/vmlal_ns16.c 2010-08-20 13:27:11 +0000
7988@@ -18,5 +18,5 @@
7989 out_int32x4_t = vmlal_n_s16 (arg0_int32x4_t, arg1_int16x4_t, arg2_int16_t);
7990 }
7991
7992-/* { dg-final { scan-assembler "vmlal\.s16\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
7993+/* { dg-final { scan-assembler "vmlal\.s16\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
7994 /* { dg-final { cleanup-saved-temps } } */
7995
7996=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlal_ns32.c'
7997--- old/gcc/testsuite/gcc.target/arm/neon/vmlal_ns32.c 2010-07-29 15:38:15 +0000
7998+++ new/gcc/testsuite/gcc.target/arm/neon/vmlal_ns32.c 2010-08-20 13:27:11 +0000
7999@@ -18,5 +18,5 @@
8000 out_int64x2_t = vmlal_n_s32 (arg0_int64x2_t, arg1_int32x2_t, arg2_int32_t);
8001 }
8002
8003-/* { dg-final { scan-assembler "vmlal\.s32\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
8004+/* { dg-final { scan-assembler "vmlal\.s32\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
8005 /* { dg-final { cleanup-saved-temps } } */
8006
8007=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlal_nu16.c'
8008--- old/gcc/testsuite/gcc.target/arm/neon/vmlal_nu16.c 2010-07-29 15:38:15 +0000
8009+++ new/gcc/testsuite/gcc.target/arm/neon/vmlal_nu16.c 2010-08-20 13:27:11 +0000
8010@@ -18,5 +18,5 @@
8011 out_uint32x4_t = vmlal_n_u16 (arg0_uint32x4_t, arg1_uint16x4_t, arg2_uint16_t);
8012 }
8013
8014-/* { dg-final { scan-assembler "vmlal\.u16\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
8015+/* { dg-final { scan-assembler "vmlal\.u16\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
8016 /* { dg-final { cleanup-saved-temps } } */
8017
8018=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlal_nu32.c'
8019--- old/gcc/testsuite/gcc.target/arm/neon/vmlal_nu32.c 2010-07-29 15:38:15 +0000
8020+++ new/gcc/testsuite/gcc.target/arm/neon/vmlal_nu32.c 2010-08-20 13:27:11 +0000
8021@@ -18,5 +18,5 @@
8022 out_uint64x2_t = vmlal_n_u32 (arg0_uint64x2_t, arg1_uint32x2_t, arg2_uint32_t);
8023 }
8024
8025-/* { dg-final { scan-assembler "vmlal\.u32\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
8026+/* { dg-final { scan-assembler "vmlal\.u32\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
8027 /* { dg-final { cleanup-saved-temps } } */
8028
8029=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlals16.c'
8030--- old/gcc/testsuite/gcc.target/arm/neon/vmlals16.c 2010-07-29 15:38:15 +0000
8031+++ new/gcc/testsuite/gcc.target/arm/neon/vmlals16.c 2010-08-20 13:27:11 +0000
8032@@ -18,5 +18,5 @@
8033 out_int32x4_t = vmlal_s16 (arg0_int32x4_t, arg1_int16x4_t, arg2_int16x4_t);
8034 }
8035
8036-/* { dg-final { scan-assembler "vmlal\.s16\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
8037+/* { dg-final { scan-assembler "vmlal\.s16\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
8038 /* { dg-final { cleanup-saved-temps } } */
8039
8040=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlals32.c'
8041--- old/gcc/testsuite/gcc.target/arm/neon/vmlals32.c 2010-07-29 15:38:15 +0000
8042+++ new/gcc/testsuite/gcc.target/arm/neon/vmlals32.c 2010-08-20 13:27:11 +0000
8043@@ -18,5 +18,5 @@
8044 out_int64x2_t = vmlal_s32 (arg0_int64x2_t, arg1_int32x2_t, arg2_int32x2_t);
8045 }
8046
8047-/* { dg-final { scan-assembler "vmlal\.s32\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
8048+/* { dg-final { scan-assembler "vmlal\.s32\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
8049 /* { dg-final { cleanup-saved-temps } } */
8050
8051=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlals8.c'
8052--- old/gcc/testsuite/gcc.target/arm/neon/vmlals8.c 2010-07-29 15:38:15 +0000
8053+++ new/gcc/testsuite/gcc.target/arm/neon/vmlals8.c 2010-08-20 13:27:11 +0000
8054@@ -18,5 +18,5 @@
8055 out_int16x8_t = vmlal_s8 (arg0_int16x8_t, arg1_int8x8_t, arg2_int8x8_t);
8056 }
8057
8058-/* { dg-final { scan-assembler "vmlal\.s8\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
8059+/* { dg-final { scan-assembler "vmlal\.s8\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
8060 /* { dg-final { cleanup-saved-temps } } */
8061
8062=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlalu16.c'
8063--- old/gcc/testsuite/gcc.target/arm/neon/vmlalu16.c 2010-07-29 15:38:15 +0000
8064+++ new/gcc/testsuite/gcc.target/arm/neon/vmlalu16.c 2010-08-20 13:27:11 +0000
8065@@ -18,5 +18,5 @@
8066 out_uint32x4_t = vmlal_u16 (arg0_uint32x4_t, arg1_uint16x4_t, arg2_uint16x4_t);
8067 }
8068
8069-/* { dg-final { scan-assembler "vmlal\.u16\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
8070+/* { dg-final { scan-assembler "vmlal\.u16\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
8071 /* { dg-final { cleanup-saved-temps } } */
8072
8073=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlalu32.c'
8074--- old/gcc/testsuite/gcc.target/arm/neon/vmlalu32.c 2010-07-29 15:38:15 +0000
8075+++ new/gcc/testsuite/gcc.target/arm/neon/vmlalu32.c 2010-08-20 13:27:11 +0000
8076@@ -18,5 +18,5 @@
8077 out_uint64x2_t = vmlal_u32 (arg0_uint64x2_t, arg1_uint32x2_t, arg2_uint32x2_t);
8078 }
8079
8080-/* { dg-final { scan-assembler "vmlal\.u32\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
8081+/* { dg-final { scan-assembler "vmlal\.u32\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
8082 /* { dg-final { cleanup-saved-temps } } */
8083
8084=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlalu8.c'
8085--- old/gcc/testsuite/gcc.target/arm/neon/vmlalu8.c 2010-07-29 15:38:15 +0000
8086+++ new/gcc/testsuite/gcc.target/arm/neon/vmlalu8.c 2010-08-20 13:27:11 +0000
8087@@ -18,5 +18,5 @@
8088 out_uint16x8_t = vmlal_u8 (arg0_uint16x8_t, arg1_uint8x8_t, arg2_uint8x8_t);
8089 }
8090
8091-/* { dg-final { scan-assembler "vmlal\.u8\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
8092+/* { dg-final { scan-assembler "vmlal\.u8\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
8093 /* { dg-final { cleanup-saved-temps } } */
8094
8095=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlas16.c'
8096--- old/gcc/testsuite/gcc.target/arm/neon/vmlas16.c 2010-07-29 15:38:15 +0000
8097+++ new/gcc/testsuite/gcc.target/arm/neon/vmlas16.c 2010-08-20 13:27:11 +0000
8098@@ -18,5 +18,5 @@
8099 out_int16x4_t = vmla_s16 (arg0_int16x4_t, arg1_int16x4_t, arg2_int16x4_t);
8100 }
8101
8102-/* { dg-final { scan-assembler "vmla\.i16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
8103+/* { dg-final { scan-assembler "vmla\.i16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
8104 /* { dg-final { cleanup-saved-temps } } */
8105
8106=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlas32.c'
8107--- old/gcc/testsuite/gcc.target/arm/neon/vmlas32.c 2010-07-29 15:38:15 +0000
8108+++ new/gcc/testsuite/gcc.target/arm/neon/vmlas32.c 2010-08-20 13:27:11 +0000
8109@@ -18,5 +18,5 @@
8110 out_int32x2_t = vmla_s32 (arg0_int32x2_t, arg1_int32x2_t, arg2_int32x2_t);
8111 }
8112
8113-/* { dg-final { scan-assembler "vmla\.i32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
8114+/* { dg-final { scan-assembler "vmla\.i32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
8115 /* { dg-final { cleanup-saved-temps } } */
8116
8117=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlas8.c'
8118--- old/gcc/testsuite/gcc.target/arm/neon/vmlas8.c 2010-07-29 15:38:15 +0000
8119+++ new/gcc/testsuite/gcc.target/arm/neon/vmlas8.c 2010-08-20 13:27:11 +0000
8120@@ -18,5 +18,5 @@
8121 out_int8x8_t = vmla_s8 (arg0_int8x8_t, arg1_int8x8_t, arg2_int8x8_t);
8122 }
8123
8124-/* { dg-final { scan-assembler "vmla\.i8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
8125+/* { dg-final { scan-assembler "vmla\.i8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
8126 /* { dg-final { cleanup-saved-temps } } */
8127
8128=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlau16.c'
8129--- old/gcc/testsuite/gcc.target/arm/neon/vmlau16.c 2010-07-29 15:38:15 +0000
8130+++ new/gcc/testsuite/gcc.target/arm/neon/vmlau16.c 2010-08-20 13:27:11 +0000
8131@@ -18,5 +18,5 @@
8132 out_uint16x4_t = vmla_u16 (arg0_uint16x4_t, arg1_uint16x4_t, arg2_uint16x4_t);
8133 }
8134
8135-/* { dg-final { scan-assembler "vmla\.i16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
8136+/* { dg-final { scan-assembler "vmla\.i16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
8137 /* { dg-final { cleanup-saved-temps } } */
8138
8139=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlau32.c'
8140--- old/gcc/testsuite/gcc.target/arm/neon/vmlau32.c 2010-07-29 15:38:15 +0000
8141+++ new/gcc/testsuite/gcc.target/arm/neon/vmlau32.c 2010-08-20 13:27:11 +0000
8142@@ -18,5 +18,5 @@
8143 out_uint32x2_t = vmla_u32 (arg0_uint32x2_t, arg1_uint32x2_t, arg2_uint32x2_t);
8144 }
8145
8146-/* { dg-final { scan-assembler "vmla\.i32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
8147+/* { dg-final { scan-assembler "vmla\.i32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
8148 /* { dg-final { cleanup-saved-temps } } */
8149
8150=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlau8.c'
8151--- old/gcc/testsuite/gcc.target/arm/neon/vmlau8.c 2010-07-29 15:38:15 +0000
8152+++ new/gcc/testsuite/gcc.target/arm/neon/vmlau8.c 2010-08-20 13:27:11 +0000
8153@@ -18,5 +18,5 @@
8154 out_uint8x8_t = vmla_u8 (arg0_uint8x8_t, arg1_uint8x8_t, arg2_uint8x8_t);
8155 }
8156
8157-/* { dg-final { scan-assembler "vmla\.i8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
8158+/* { dg-final { scan-assembler "vmla\.i8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
8159 /* { dg-final { cleanup-saved-temps } } */
8160
8161=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlsQ_lanef32.c'
8162--- old/gcc/testsuite/gcc.target/arm/neon/vmlsQ_lanef32.c 2010-07-29 15:38:15 +0000
8163+++ new/gcc/testsuite/gcc.target/arm/neon/vmlsQ_lanef32.c 2010-08-20 13:27:11 +0000
8164@@ -18,5 +18,5 @@
8165 out_float32x4_t = vmlsq_lane_f32 (arg0_float32x4_t, arg1_float32x4_t, arg2_float32x2_t, 1);
8166 }
8167
8168-/* { dg-final { scan-assembler "vmls\.f32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
8169+/* { dg-final { scan-assembler "vmls\.f32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
8170 /* { dg-final { cleanup-saved-temps } } */
8171
8172=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlsQ_lanes16.c'
8173--- old/gcc/testsuite/gcc.target/arm/neon/vmlsQ_lanes16.c 2010-07-29 15:38:15 +0000
8174+++ new/gcc/testsuite/gcc.target/arm/neon/vmlsQ_lanes16.c 2010-08-20 13:27:11 +0000
8175@@ -18,5 +18,5 @@
8176 out_int16x8_t = vmlsq_lane_s16 (arg0_int16x8_t, arg1_int16x8_t, arg2_int16x4_t, 1);
8177 }
8178
8179-/* { dg-final { scan-assembler "vmls\.i16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
8180+/* { dg-final { scan-assembler "vmls\.i16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
8181 /* { dg-final { cleanup-saved-temps } } */
8182
8183=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlsQ_lanes32.c'
8184--- old/gcc/testsuite/gcc.target/arm/neon/vmlsQ_lanes32.c 2010-07-29 15:38:15 +0000
8185+++ new/gcc/testsuite/gcc.target/arm/neon/vmlsQ_lanes32.c 2010-08-20 13:27:11 +0000
8186@@ -18,5 +18,5 @@
8187 out_int32x4_t = vmlsq_lane_s32 (arg0_int32x4_t, arg1_int32x4_t, arg2_int32x2_t, 1);
8188 }
8189
8190-/* { dg-final { scan-assembler "vmls\.i32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
8191+/* { dg-final { scan-assembler "vmls\.i32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
8192 /* { dg-final { cleanup-saved-temps } } */
8193
8194=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlsQ_laneu16.c'
8195--- old/gcc/testsuite/gcc.target/arm/neon/vmlsQ_laneu16.c 2010-07-29 15:38:15 +0000
8196+++ new/gcc/testsuite/gcc.target/arm/neon/vmlsQ_laneu16.c 2010-08-20 13:27:11 +0000
8197@@ -18,5 +18,5 @@
8198 out_uint16x8_t = vmlsq_lane_u16 (arg0_uint16x8_t, arg1_uint16x8_t, arg2_uint16x4_t, 1);
8199 }
8200
8201-/* { dg-final { scan-assembler "vmls\.i16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
8202+/* { dg-final { scan-assembler "vmls\.i16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
8203 /* { dg-final { cleanup-saved-temps } } */
8204
8205=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlsQ_laneu32.c'
8206--- old/gcc/testsuite/gcc.target/arm/neon/vmlsQ_laneu32.c 2010-07-29 15:38:15 +0000
8207+++ new/gcc/testsuite/gcc.target/arm/neon/vmlsQ_laneu32.c 2010-08-20 13:27:11 +0000
8208@@ -18,5 +18,5 @@
8209 out_uint32x4_t = vmlsq_lane_u32 (arg0_uint32x4_t, arg1_uint32x4_t, arg2_uint32x2_t, 1);
8210 }
8211
8212-/* { dg-final { scan-assembler "vmls\.i32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
8213+/* { dg-final { scan-assembler "vmls\.i32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
8214 /* { dg-final { cleanup-saved-temps } } */
8215
8216=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlsQ_nf32.c'
8217--- old/gcc/testsuite/gcc.target/arm/neon/vmlsQ_nf32.c 2010-07-29 15:38:15 +0000
8218+++ new/gcc/testsuite/gcc.target/arm/neon/vmlsQ_nf32.c 2010-08-20 13:27:11 +0000
8219@@ -18,5 +18,5 @@
8220 out_float32x4_t = vmlsq_n_f32 (arg0_float32x4_t, arg1_float32x4_t, arg2_float32_t);
8221 }
8222
8223-/* { dg-final { scan-assembler "vmls\.f32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
8224+/* { dg-final { scan-assembler "vmls\.f32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
8225 /* { dg-final { cleanup-saved-temps } } */
8226
8227=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlsQ_ns16.c'
8228--- old/gcc/testsuite/gcc.target/arm/neon/vmlsQ_ns16.c 2010-07-29 15:38:15 +0000
8229+++ new/gcc/testsuite/gcc.target/arm/neon/vmlsQ_ns16.c 2010-08-20 13:27:11 +0000
8230@@ -18,5 +18,5 @@
8231 out_int16x8_t = vmlsq_n_s16 (arg0_int16x8_t, arg1_int16x8_t, arg2_int16_t);
8232 }
8233
8234-/* { dg-final { scan-assembler "vmls\.i16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
8235+/* { dg-final { scan-assembler "vmls\.i16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
8236 /* { dg-final { cleanup-saved-temps } } */
8237
8238=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlsQ_ns32.c'
8239--- old/gcc/testsuite/gcc.target/arm/neon/vmlsQ_ns32.c 2010-07-29 15:38:15 +0000
8240+++ new/gcc/testsuite/gcc.target/arm/neon/vmlsQ_ns32.c 2010-08-20 13:27:11 +0000
8241@@ -18,5 +18,5 @@
8242 out_int32x4_t = vmlsq_n_s32 (arg0_int32x4_t, arg1_int32x4_t, arg2_int32_t);
8243 }
8244
8245-/* { dg-final { scan-assembler "vmls\.i32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
8246+/* { dg-final { scan-assembler "vmls\.i32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
8247 /* { dg-final { cleanup-saved-temps } } */
8248
8249=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlsQ_nu16.c'
8250--- old/gcc/testsuite/gcc.target/arm/neon/vmlsQ_nu16.c 2010-07-29 15:38:15 +0000
8251+++ new/gcc/testsuite/gcc.target/arm/neon/vmlsQ_nu16.c 2010-08-20 13:27:11 +0000
8252@@ -18,5 +18,5 @@
8253 out_uint16x8_t = vmlsq_n_u16 (arg0_uint16x8_t, arg1_uint16x8_t, arg2_uint16_t);
8254 }
8255
8256-/* { dg-final { scan-assembler "vmls\.i16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
8257+/* { dg-final { scan-assembler "vmls\.i16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
8258 /* { dg-final { cleanup-saved-temps } } */
8259
8260=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlsQ_nu32.c'
8261--- old/gcc/testsuite/gcc.target/arm/neon/vmlsQ_nu32.c 2010-07-29 15:38:15 +0000
8262+++ new/gcc/testsuite/gcc.target/arm/neon/vmlsQ_nu32.c 2010-08-20 13:27:11 +0000
8263@@ -18,5 +18,5 @@
8264 out_uint32x4_t = vmlsq_n_u32 (arg0_uint32x4_t, arg1_uint32x4_t, arg2_uint32_t);
8265 }
8266
8267-/* { dg-final { scan-assembler "vmls\.i32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
8268+/* { dg-final { scan-assembler "vmls\.i32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
8269 /* { dg-final { cleanup-saved-temps } } */
8270
8271=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlsQf32.c'
8272--- old/gcc/testsuite/gcc.target/arm/neon/vmlsQf32.c 2010-07-29 15:38:15 +0000
8273+++ new/gcc/testsuite/gcc.target/arm/neon/vmlsQf32.c 2010-08-20 13:27:11 +0000
8274@@ -18,5 +18,5 @@
8275 out_float32x4_t = vmlsq_f32 (arg0_float32x4_t, arg1_float32x4_t, arg2_float32x4_t);
8276 }
8277
8278-/* { dg-final { scan-assembler "vmls\.f32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
8279+/* { dg-final { scan-assembler "vmls\.f32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
8280 /* { dg-final { cleanup-saved-temps } } */
8281
8282=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlsQs16.c'
8283--- old/gcc/testsuite/gcc.target/arm/neon/vmlsQs16.c 2010-07-29 15:38:15 +0000
8284+++ new/gcc/testsuite/gcc.target/arm/neon/vmlsQs16.c 2010-08-20 13:27:11 +0000
8285@@ -18,5 +18,5 @@
8286 out_int16x8_t = vmlsq_s16 (arg0_int16x8_t, arg1_int16x8_t, arg2_int16x8_t);
8287 }
8288
8289-/* { dg-final { scan-assembler "vmls\.i16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
8290+/* { dg-final { scan-assembler "vmls\.i16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
8291 /* { dg-final { cleanup-saved-temps } } */
8292
8293=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlsQs32.c'
8294--- old/gcc/testsuite/gcc.target/arm/neon/vmlsQs32.c 2010-07-29 15:38:15 +0000
8295+++ new/gcc/testsuite/gcc.target/arm/neon/vmlsQs32.c 2010-08-20 13:27:11 +0000
8296@@ -18,5 +18,5 @@
8297 out_int32x4_t = vmlsq_s32 (arg0_int32x4_t, arg1_int32x4_t, arg2_int32x4_t);
8298 }
8299
8300-/* { dg-final { scan-assembler "vmls\.i32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
8301+/* { dg-final { scan-assembler "vmls\.i32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
8302 /* { dg-final { cleanup-saved-temps } } */
8303
8304=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlsQs8.c'
8305--- old/gcc/testsuite/gcc.target/arm/neon/vmlsQs8.c 2010-07-29 15:38:15 +0000
8306+++ new/gcc/testsuite/gcc.target/arm/neon/vmlsQs8.c 2010-08-20 13:27:11 +0000
8307@@ -18,5 +18,5 @@
8308 out_int8x16_t = vmlsq_s8 (arg0_int8x16_t, arg1_int8x16_t, arg2_int8x16_t);
8309 }
8310
8311-/* { dg-final { scan-assembler "vmls\.i8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
8312+/* { dg-final { scan-assembler "vmls\.i8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
8313 /* { dg-final { cleanup-saved-temps } } */
8314
8315=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlsQu16.c'
8316--- old/gcc/testsuite/gcc.target/arm/neon/vmlsQu16.c 2010-07-29 15:38:15 +0000
8317+++ new/gcc/testsuite/gcc.target/arm/neon/vmlsQu16.c 2010-08-20 13:27:11 +0000
8318@@ -18,5 +18,5 @@
8319 out_uint16x8_t = vmlsq_u16 (arg0_uint16x8_t, arg1_uint16x8_t, arg2_uint16x8_t);
8320 }
8321
8322-/* { dg-final { scan-assembler "vmls\.i16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
8323+/* { dg-final { scan-assembler "vmls\.i16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
8324 /* { dg-final { cleanup-saved-temps } } */
8325
8326=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlsQu32.c'
8327--- old/gcc/testsuite/gcc.target/arm/neon/vmlsQu32.c 2010-07-29 15:38:15 +0000
8328+++ new/gcc/testsuite/gcc.target/arm/neon/vmlsQu32.c 2010-08-20 13:27:11 +0000
8329@@ -18,5 +18,5 @@
8330 out_uint32x4_t = vmlsq_u32 (arg0_uint32x4_t, arg1_uint32x4_t, arg2_uint32x4_t);
8331 }
8332
8333-/* { dg-final { scan-assembler "vmls\.i32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
8334+/* { dg-final { scan-assembler "vmls\.i32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
8335 /* { dg-final { cleanup-saved-temps } } */
8336
8337=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlsQu8.c'
8338--- old/gcc/testsuite/gcc.target/arm/neon/vmlsQu8.c 2010-07-29 15:38:15 +0000
8339+++ new/gcc/testsuite/gcc.target/arm/neon/vmlsQu8.c 2010-08-20 13:27:11 +0000
8340@@ -18,5 +18,5 @@
8341 out_uint8x16_t = vmlsq_u8 (arg0_uint8x16_t, arg1_uint8x16_t, arg2_uint8x16_t);
8342 }
8343
8344-/* { dg-final { scan-assembler "vmls\.i8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
8345+/* { dg-final { scan-assembler "vmls\.i8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
8346 /* { dg-final { cleanup-saved-temps } } */
8347
8348=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmls_lanef32.c'
8349--- old/gcc/testsuite/gcc.target/arm/neon/vmls_lanef32.c 2010-07-29 15:38:15 +0000
8350+++ new/gcc/testsuite/gcc.target/arm/neon/vmls_lanef32.c 2010-08-20 13:27:11 +0000
8351@@ -18,5 +18,5 @@
8352 out_float32x2_t = vmls_lane_f32 (arg0_float32x2_t, arg1_float32x2_t, arg2_float32x2_t, 1);
8353 }
8354
8355-/* { dg-final { scan-assembler "vmls\.f32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
8356+/* { dg-final { scan-assembler "vmls\.f32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
8357 /* { dg-final { cleanup-saved-temps } } */
8358
8359=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmls_lanes16.c'
8360--- old/gcc/testsuite/gcc.target/arm/neon/vmls_lanes16.c 2010-07-29 15:38:15 +0000
8361+++ new/gcc/testsuite/gcc.target/arm/neon/vmls_lanes16.c 2010-08-20 13:27:11 +0000
8362@@ -18,5 +18,5 @@
8363 out_int16x4_t = vmls_lane_s16 (arg0_int16x4_t, arg1_int16x4_t, arg2_int16x4_t, 1);
8364 }
8365
8366-/* { dg-final { scan-assembler "vmls\.i16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
8367+/* { dg-final { scan-assembler "vmls\.i16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
8368 /* { dg-final { cleanup-saved-temps } } */
8369
8370=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmls_lanes32.c'
8371--- old/gcc/testsuite/gcc.target/arm/neon/vmls_lanes32.c 2010-07-29 15:38:15 +0000
8372+++ new/gcc/testsuite/gcc.target/arm/neon/vmls_lanes32.c 2010-08-20 13:27:11 +0000
8373@@ -18,5 +18,5 @@
8374 out_int32x2_t = vmls_lane_s32 (arg0_int32x2_t, arg1_int32x2_t, arg2_int32x2_t, 1);
8375 }
8376
8377-/* { dg-final { scan-assembler "vmls\.i32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
8378+/* { dg-final { scan-assembler "vmls\.i32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
8379 /* { dg-final { cleanup-saved-temps } } */
8380
8381=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmls_laneu16.c'
8382--- old/gcc/testsuite/gcc.target/arm/neon/vmls_laneu16.c 2010-07-29 15:38:15 +0000
8383+++ new/gcc/testsuite/gcc.target/arm/neon/vmls_laneu16.c 2010-08-20 13:27:11 +0000
8384@@ -18,5 +18,5 @@
8385 out_uint16x4_t = vmls_lane_u16 (arg0_uint16x4_t, arg1_uint16x4_t, arg2_uint16x4_t, 1);
8386 }
8387
8388-/* { dg-final { scan-assembler "vmls\.i16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
8389+/* { dg-final { scan-assembler "vmls\.i16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
8390 /* { dg-final { cleanup-saved-temps } } */
8391
8392=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmls_laneu32.c'
8393--- old/gcc/testsuite/gcc.target/arm/neon/vmls_laneu32.c 2010-07-29 15:38:15 +0000
8394+++ new/gcc/testsuite/gcc.target/arm/neon/vmls_laneu32.c 2010-08-20 13:27:11 +0000
8395@@ -18,5 +18,5 @@
8396 out_uint32x2_t = vmls_lane_u32 (arg0_uint32x2_t, arg1_uint32x2_t, arg2_uint32x2_t, 1);
8397 }
8398
8399-/* { dg-final { scan-assembler "vmls\.i32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
8400+/* { dg-final { scan-assembler "vmls\.i32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
8401 /* { dg-final { cleanup-saved-temps } } */
8402
8403=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmls_nf32.c'
8404--- old/gcc/testsuite/gcc.target/arm/neon/vmls_nf32.c 2010-07-29 15:38:15 +0000
8405+++ new/gcc/testsuite/gcc.target/arm/neon/vmls_nf32.c 2010-08-20 13:27:11 +0000
8406@@ -18,5 +18,5 @@
8407 out_float32x2_t = vmls_n_f32 (arg0_float32x2_t, arg1_float32x2_t, arg2_float32_t);
8408 }
8409
8410-/* { dg-final { scan-assembler "vmls\.f32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
8411+/* { dg-final { scan-assembler "vmls\.f32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
8412 /* { dg-final { cleanup-saved-temps } } */
8413
8414=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmls_ns16.c'
8415--- old/gcc/testsuite/gcc.target/arm/neon/vmls_ns16.c 2010-07-29 15:38:15 +0000
8416+++ new/gcc/testsuite/gcc.target/arm/neon/vmls_ns16.c 2010-08-20 13:27:11 +0000
8417@@ -18,5 +18,5 @@
8418 out_int16x4_t = vmls_n_s16 (arg0_int16x4_t, arg1_int16x4_t, arg2_int16_t);
8419 }
8420
8421-/* { dg-final { scan-assembler "vmls\.i16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
8422+/* { dg-final { scan-assembler "vmls\.i16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
8423 /* { dg-final { cleanup-saved-temps } } */
8424
8425=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmls_ns32.c'
8426--- old/gcc/testsuite/gcc.target/arm/neon/vmls_ns32.c 2010-07-29 15:38:15 +0000
8427+++ new/gcc/testsuite/gcc.target/arm/neon/vmls_ns32.c 2010-08-20 13:27:11 +0000
8428@@ -18,5 +18,5 @@
8429 out_int32x2_t = vmls_n_s32 (arg0_int32x2_t, arg1_int32x2_t, arg2_int32_t);
8430 }
8431
8432-/* { dg-final { scan-assembler "vmls\.i32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
8433+/* { dg-final { scan-assembler "vmls\.i32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
8434 /* { dg-final { cleanup-saved-temps } } */
8435
8436=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmls_nu16.c'
8437--- old/gcc/testsuite/gcc.target/arm/neon/vmls_nu16.c 2010-07-29 15:38:15 +0000
8438+++ new/gcc/testsuite/gcc.target/arm/neon/vmls_nu16.c 2010-08-20 13:27:11 +0000
8439@@ -18,5 +18,5 @@
8440 out_uint16x4_t = vmls_n_u16 (arg0_uint16x4_t, arg1_uint16x4_t, arg2_uint16_t);
8441 }
8442
8443-/* { dg-final { scan-assembler "vmls\.i16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
8444+/* { dg-final { scan-assembler "vmls\.i16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
8445 /* { dg-final { cleanup-saved-temps } } */
8446
8447=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmls_nu32.c'
8448--- old/gcc/testsuite/gcc.target/arm/neon/vmls_nu32.c 2010-07-29 15:38:15 +0000
8449+++ new/gcc/testsuite/gcc.target/arm/neon/vmls_nu32.c 2010-08-20 13:27:11 +0000
8450@@ -18,5 +18,5 @@
8451 out_uint32x2_t = vmls_n_u32 (arg0_uint32x2_t, arg1_uint32x2_t, arg2_uint32_t);
8452 }
8453
8454-/* { dg-final { scan-assembler "vmls\.i32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
8455+/* { dg-final { scan-assembler "vmls\.i32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
8456 /* { dg-final { cleanup-saved-temps } } */
8457
8458=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlsf32.c'
8459--- old/gcc/testsuite/gcc.target/arm/neon/vmlsf32.c 2010-07-29 15:38:15 +0000
8460+++ new/gcc/testsuite/gcc.target/arm/neon/vmlsf32.c 2010-08-20 13:27:11 +0000
8461@@ -18,5 +18,5 @@
8462 out_float32x2_t = vmls_f32 (arg0_float32x2_t, arg1_float32x2_t, arg2_float32x2_t);
8463 }
8464
8465-/* { dg-final { scan-assembler "vmls\.f32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
8466+/* { dg-final { scan-assembler "vmls\.f32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
8467 /* { dg-final { cleanup-saved-temps } } */
8468
8469=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlsl_lanes16.c'
8470--- old/gcc/testsuite/gcc.target/arm/neon/vmlsl_lanes16.c 2010-07-29 15:38:15 +0000
8471+++ new/gcc/testsuite/gcc.target/arm/neon/vmlsl_lanes16.c 2010-08-20 13:27:11 +0000
8472@@ -18,5 +18,5 @@
8473 out_int32x4_t = vmlsl_lane_s16 (arg0_int32x4_t, arg1_int16x4_t, arg2_int16x4_t, 1);
8474 }
8475
8476-/* { dg-final { scan-assembler "vmlsl\.s16\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
8477+/* { dg-final { scan-assembler "vmlsl\.s16\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
8478 /* { dg-final { cleanup-saved-temps } } */
8479
8480=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlsl_lanes32.c'
8481--- old/gcc/testsuite/gcc.target/arm/neon/vmlsl_lanes32.c 2010-07-29 15:38:15 +0000
8482+++ new/gcc/testsuite/gcc.target/arm/neon/vmlsl_lanes32.c 2010-08-20 13:27:11 +0000
8483@@ -18,5 +18,5 @@
8484 out_int64x2_t = vmlsl_lane_s32 (arg0_int64x2_t, arg1_int32x2_t, arg2_int32x2_t, 1);
8485 }
8486
8487-/* { dg-final { scan-assembler "vmlsl\.s32\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
8488+/* { dg-final { scan-assembler "vmlsl\.s32\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
8489 /* { dg-final { cleanup-saved-temps } } */
8490
8491=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlsl_laneu16.c'
8492--- old/gcc/testsuite/gcc.target/arm/neon/vmlsl_laneu16.c 2010-07-29 15:38:15 +0000
8493+++ new/gcc/testsuite/gcc.target/arm/neon/vmlsl_laneu16.c 2010-08-20 13:27:11 +0000
8494@@ -18,5 +18,5 @@
8495 out_uint32x4_t = vmlsl_lane_u16 (arg0_uint32x4_t, arg1_uint16x4_t, arg2_uint16x4_t, 1);
8496 }
8497
8498-/* { dg-final { scan-assembler "vmlsl\.u16\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
8499+/* { dg-final { scan-assembler "vmlsl\.u16\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
8500 /* { dg-final { cleanup-saved-temps } } */
8501
8502=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlsl_laneu32.c'
8503--- old/gcc/testsuite/gcc.target/arm/neon/vmlsl_laneu32.c 2010-07-29 15:38:15 +0000
8504+++ new/gcc/testsuite/gcc.target/arm/neon/vmlsl_laneu32.c 2010-08-20 13:27:11 +0000
8505@@ -18,5 +18,5 @@
8506 out_uint64x2_t = vmlsl_lane_u32 (arg0_uint64x2_t, arg1_uint32x2_t, arg2_uint32x2_t, 1);
8507 }
8508
8509-/* { dg-final { scan-assembler "vmlsl\.u32\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
8510+/* { dg-final { scan-assembler "vmlsl\.u32\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
8511 /* { dg-final { cleanup-saved-temps } } */
8512
8513=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlsl_ns16.c'
8514--- old/gcc/testsuite/gcc.target/arm/neon/vmlsl_ns16.c 2010-07-29 15:38:15 +0000
8515+++ new/gcc/testsuite/gcc.target/arm/neon/vmlsl_ns16.c 2010-08-20 13:27:11 +0000
8516@@ -18,5 +18,5 @@
8517 out_int32x4_t = vmlsl_n_s16 (arg0_int32x4_t, arg1_int16x4_t, arg2_int16_t);
8518 }
8519
8520-/* { dg-final { scan-assembler "vmlsl\.s16\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
8521+/* { dg-final { scan-assembler "vmlsl\.s16\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
8522 /* { dg-final { cleanup-saved-temps } } */
8523
8524=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlsl_ns32.c'
8525--- old/gcc/testsuite/gcc.target/arm/neon/vmlsl_ns32.c 2010-07-29 15:38:15 +0000
8526+++ new/gcc/testsuite/gcc.target/arm/neon/vmlsl_ns32.c 2010-08-20 13:27:11 +0000
8527@@ -18,5 +18,5 @@
8528 out_int64x2_t = vmlsl_n_s32 (arg0_int64x2_t, arg1_int32x2_t, arg2_int32_t);
8529 }
8530
8531-/* { dg-final { scan-assembler "vmlsl\.s32\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
8532+/* { dg-final { scan-assembler "vmlsl\.s32\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
8533 /* { dg-final { cleanup-saved-temps } } */
8534
8535=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlsl_nu16.c'
8536--- old/gcc/testsuite/gcc.target/arm/neon/vmlsl_nu16.c 2010-07-29 15:38:15 +0000
8537+++ new/gcc/testsuite/gcc.target/arm/neon/vmlsl_nu16.c 2010-08-20 13:27:11 +0000
8538@@ -18,5 +18,5 @@
8539 out_uint32x4_t = vmlsl_n_u16 (arg0_uint32x4_t, arg1_uint16x4_t, arg2_uint16_t);
8540 }
8541
8542-/* { dg-final { scan-assembler "vmlsl\.u16\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
8543+/* { dg-final { scan-assembler "vmlsl\.u16\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
8544 /* { dg-final { cleanup-saved-temps } } */
8545
8546=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlsl_nu32.c'
8547--- old/gcc/testsuite/gcc.target/arm/neon/vmlsl_nu32.c 2010-07-29 15:38:15 +0000
8548+++ new/gcc/testsuite/gcc.target/arm/neon/vmlsl_nu32.c 2010-08-20 13:27:11 +0000
8549@@ -18,5 +18,5 @@
8550 out_uint64x2_t = vmlsl_n_u32 (arg0_uint64x2_t, arg1_uint32x2_t, arg2_uint32_t);
8551 }
8552
8553-/* { dg-final { scan-assembler "vmlsl\.u32\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
8554+/* { dg-final { scan-assembler "vmlsl\.u32\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
8555 /* { dg-final { cleanup-saved-temps } } */
8556
8557=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlsls16.c'
8558--- old/gcc/testsuite/gcc.target/arm/neon/vmlsls16.c 2010-07-29 15:38:15 +0000
8559+++ new/gcc/testsuite/gcc.target/arm/neon/vmlsls16.c 2010-08-20 13:27:11 +0000
8560@@ -18,5 +18,5 @@
8561 out_int32x4_t = vmlsl_s16 (arg0_int32x4_t, arg1_int16x4_t, arg2_int16x4_t);
8562 }
8563
8564-/* { dg-final { scan-assembler "vmlsl\.s16\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
8565+/* { dg-final { scan-assembler "vmlsl\.s16\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
8566 /* { dg-final { cleanup-saved-temps } } */
8567
8568=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlsls32.c'
8569--- old/gcc/testsuite/gcc.target/arm/neon/vmlsls32.c 2010-07-29 15:38:15 +0000
8570+++ new/gcc/testsuite/gcc.target/arm/neon/vmlsls32.c 2010-08-20 13:27:11 +0000
8571@@ -18,5 +18,5 @@
8572 out_int64x2_t = vmlsl_s32 (arg0_int64x2_t, arg1_int32x2_t, arg2_int32x2_t);
8573 }
8574
8575-/* { dg-final { scan-assembler "vmlsl\.s32\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
8576+/* { dg-final { scan-assembler "vmlsl\.s32\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
8577 /* { dg-final { cleanup-saved-temps } } */
8578
8579=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlsls8.c'
8580--- old/gcc/testsuite/gcc.target/arm/neon/vmlsls8.c 2010-07-29 15:38:15 +0000
8581+++ new/gcc/testsuite/gcc.target/arm/neon/vmlsls8.c 2010-08-20 13:27:11 +0000
8582@@ -18,5 +18,5 @@
8583 out_int16x8_t = vmlsl_s8 (arg0_int16x8_t, arg1_int8x8_t, arg2_int8x8_t);
8584 }
8585
8586-/* { dg-final { scan-assembler "vmlsl\.s8\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
8587+/* { dg-final { scan-assembler "vmlsl\.s8\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
8588 /* { dg-final { cleanup-saved-temps } } */
8589
8590=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlslu16.c'
8591--- old/gcc/testsuite/gcc.target/arm/neon/vmlslu16.c 2010-07-29 15:38:15 +0000
8592+++ new/gcc/testsuite/gcc.target/arm/neon/vmlslu16.c 2010-08-20 13:27:11 +0000
8593@@ -18,5 +18,5 @@
8594 out_uint32x4_t = vmlsl_u16 (arg0_uint32x4_t, arg1_uint16x4_t, arg2_uint16x4_t);
8595 }
8596
8597-/* { dg-final { scan-assembler "vmlsl\.u16\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
8598+/* { dg-final { scan-assembler "vmlsl\.u16\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
8599 /* { dg-final { cleanup-saved-temps } } */
8600
8601=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlslu32.c'
8602--- old/gcc/testsuite/gcc.target/arm/neon/vmlslu32.c 2010-07-29 15:38:15 +0000
8603+++ new/gcc/testsuite/gcc.target/arm/neon/vmlslu32.c 2010-08-20 13:27:11 +0000
8604@@ -18,5 +18,5 @@
8605 out_uint64x2_t = vmlsl_u32 (arg0_uint64x2_t, arg1_uint32x2_t, arg2_uint32x2_t);
8606 }
8607
8608-/* { dg-final { scan-assembler "vmlsl\.u32\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
8609+/* { dg-final { scan-assembler "vmlsl\.u32\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
8610 /* { dg-final { cleanup-saved-temps } } */
8611
8612=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlslu8.c'
8613--- old/gcc/testsuite/gcc.target/arm/neon/vmlslu8.c 2010-07-29 15:38:15 +0000
8614+++ new/gcc/testsuite/gcc.target/arm/neon/vmlslu8.c 2010-08-20 13:27:11 +0000
8615@@ -18,5 +18,5 @@
8616 out_uint16x8_t = vmlsl_u8 (arg0_uint16x8_t, arg1_uint8x8_t, arg2_uint8x8_t);
8617 }
8618
8619-/* { dg-final { scan-assembler "vmlsl\.u8\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
8620+/* { dg-final { scan-assembler "vmlsl\.u8\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
8621 /* { dg-final { cleanup-saved-temps } } */
8622
8623=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlss16.c'
8624--- old/gcc/testsuite/gcc.target/arm/neon/vmlss16.c 2010-07-29 15:38:15 +0000
8625+++ new/gcc/testsuite/gcc.target/arm/neon/vmlss16.c 2010-08-20 13:27:11 +0000
8626@@ -18,5 +18,5 @@
8627 out_int16x4_t = vmls_s16 (arg0_int16x4_t, arg1_int16x4_t, arg2_int16x4_t);
8628 }
8629
8630-/* { dg-final { scan-assembler "vmls\.i16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
8631+/* { dg-final { scan-assembler "vmls\.i16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
8632 /* { dg-final { cleanup-saved-temps } } */
8633
8634=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlss32.c'
8635--- old/gcc/testsuite/gcc.target/arm/neon/vmlss32.c 2010-07-29 15:38:15 +0000
8636+++ new/gcc/testsuite/gcc.target/arm/neon/vmlss32.c 2010-08-20 13:27:11 +0000
8637@@ -18,5 +18,5 @@
8638 out_int32x2_t = vmls_s32 (arg0_int32x2_t, arg1_int32x2_t, arg2_int32x2_t);
8639 }
8640
8641-/* { dg-final { scan-assembler "vmls\.i32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
8642+/* { dg-final { scan-assembler "vmls\.i32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
8643 /* { dg-final { cleanup-saved-temps } } */
8644
8645=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlss8.c'
8646--- old/gcc/testsuite/gcc.target/arm/neon/vmlss8.c 2010-07-29 15:38:15 +0000
8647+++ new/gcc/testsuite/gcc.target/arm/neon/vmlss8.c 2010-08-20 13:27:11 +0000
8648@@ -18,5 +18,5 @@
8649 out_int8x8_t = vmls_s8 (arg0_int8x8_t, arg1_int8x8_t, arg2_int8x8_t);
8650 }
8651
8652-/* { dg-final { scan-assembler "vmls\.i8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
8653+/* { dg-final { scan-assembler "vmls\.i8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
8654 /* { dg-final { cleanup-saved-temps } } */
8655
8656=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlsu16.c'
8657--- old/gcc/testsuite/gcc.target/arm/neon/vmlsu16.c 2010-07-29 15:38:15 +0000
8658+++ new/gcc/testsuite/gcc.target/arm/neon/vmlsu16.c 2010-08-20 13:27:11 +0000
8659@@ -18,5 +18,5 @@
8660 out_uint16x4_t = vmls_u16 (arg0_uint16x4_t, arg1_uint16x4_t, arg2_uint16x4_t);
8661 }
8662
8663-/* { dg-final { scan-assembler "vmls\.i16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
8664+/* { dg-final { scan-assembler "vmls\.i16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
8665 /* { dg-final { cleanup-saved-temps } } */
8666
8667=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlsu32.c'
8668--- old/gcc/testsuite/gcc.target/arm/neon/vmlsu32.c 2010-07-29 15:38:15 +0000
8669+++ new/gcc/testsuite/gcc.target/arm/neon/vmlsu32.c 2010-08-20 13:27:11 +0000
8670@@ -18,5 +18,5 @@
8671 out_uint32x2_t = vmls_u32 (arg0_uint32x2_t, arg1_uint32x2_t, arg2_uint32x2_t);
8672 }
8673
8674-/* { dg-final { scan-assembler "vmls\.i32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
8675+/* { dg-final { scan-assembler "vmls\.i32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
8676 /* { dg-final { cleanup-saved-temps } } */
8677
8678=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmlsu8.c'
8679--- old/gcc/testsuite/gcc.target/arm/neon/vmlsu8.c 2010-07-29 15:38:15 +0000
8680+++ new/gcc/testsuite/gcc.target/arm/neon/vmlsu8.c 2010-08-20 13:27:11 +0000
8681@@ -18,5 +18,5 @@
8682 out_uint8x8_t = vmls_u8 (arg0_uint8x8_t, arg1_uint8x8_t, arg2_uint8x8_t);
8683 }
8684
8685-/* { dg-final { scan-assembler "vmls\.i8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
8686+/* { dg-final { scan-assembler "vmls\.i8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
8687 /* { dg-final { cleanup-saved-temps } } */
8688
8689=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmovQ_nf32.c'
8690--- old/gcc/testsuite/gcc.target/arm/neon/vmovQ_nf32.c 2010-07-29 15:38:15 +0000
8691+++ new/gcc/testsuite/gcc.target/arm/neon/vmovQ_nf32.c 2010-08-20 13:27:11 +0000
8692@@ -16,5 +16,5 @@
8693 out_float32x4_t = vmovq_n_f32 (arg0_float32_t);
8694 }
8695
8696-/* { dg-final { scan-assembler "vdup\.32\[ \]+\[qQ\]\[0-9\]+, (\[rR\]\[0-9\]+|\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
8697+/* { dg-final { scan-assembler "vdup\.32\[ \]+\[qQ\]\[0-9\]+, (\[rR\]\[0-9\]+|\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])!?\(\[ \]+@.*\)?\n" } } */
8698 /* { dg-final { cleanup-saved-temps } } */
8699
8700=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmovQ_np16.c'
8701--- old/gcc/testsuite/gcc.target/arm/neon/vmovQ_np16.c 2010-07-29 15:38:15 +0000
8702+++ new/gcc/testsuite/gcc.target/arm/neon/vmovQ_np16.c 2010-08-20 13:27:11 +0000
8703@@ -16,5 +16,5 @@
8704 out_poly16x8_t = vmovq_n_p16 (arg0_poly16_t);
8705 }
8706
8707-/* { dg-final { scan-assembler "vdup\.16\[ \]+\[qQ\]\[0-9\]+, (\[rR\]\[0-9\]+|\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
8708+/* { dg-final { scan-assembler "vdup\.16\[ \]+\[qQ\]\[0-9\]+, (\[rR\]\[0-9\]+|\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])!?\(\[ \]+@.*\)?\n" } } */
8709 /* { dg-final { cleanup-saved-temps } } */
8710
8711=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmovQ_np8.c'
8712--- old/gcc/testsuite/gcc.target/arm/neon/vmovQ_np8.c 2010-07-29 15:38:15 +0000
8713+++ new/gcc/testsuite/gcc.target/arm/neon/vmovQ_np8.c 2010-08-20 13:27:11 +0000
8714@@ -16,5 +16,5 @@
8715 out_poly8x16_t = vmovq_n_p8 (arg0_poly8_t);
8716 }
8717
8718-/* { dg-final { scan-assembler "vdup\.8\[ \]+\[qQ\]\[0-9\]+, (\[rR\]\[0-9\]+|\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
8719+/* { dg-final { scan-assembler "vdup\.8\[ \]+\[qQ\]\[0-9\]+, (\[rR\]\[0-9\]+|\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])!?\(\[ \]+@.*\)?\n" } } */
8720 /* { dg-final { cleanup-saved-temps } } */
8721
8722=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmovQ_ns16.c'
8723--- old/gcc/testsuite/gcc.target/arm/neon/vmovQ_ns16.c 2010-07-29 15:38:15 +0000
8724+++ new/gcc/testsuite/gcc.target/arm/neon/vmovQ_ns16.c 2010-08-20 13:27:11 +0000
8725@@ -16,5 +16,5 @@
8726 out_int16x8_t = vmovq_n_s16 (arg0_int16_t);
8727 }
8728
8729-/* { dg-final { scan-assembler "vdup\.16\[ \]+\[qQ\]\[0-9\]+, (\[rR\]\[0-9\]+|\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
8730+/* { dg-final { scan-assembler "vdup\.16\[ \]+\[qQ\]\[0-9\]+, (\[rR\]\[0-9\]+|\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])!?\(\[ \]+@.*\)?\n" } } */
8731 /* { dg-final { cleanup-saved-temps } } */
8732
8733=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmovQ_ns32.c'
8734--- old/gcc/testsuite/gcc.target/arm/neon/vmovQ_ns32.c 2010-07-29 15:38:15 +0000
8735+++ new/gcc/testsuite/gcc.target/arm/neon/vmovQ_ns32.c 2010-08-20 13:27:11 +0000
8736@@ -16,5 +16,5 @@
8737 out_int32x4_t = vmovq_n_s32 (arg0_int32_t);
8738 }
8739
8740-/* { dg-final { scan-assembler "vdup\.32\[ \]+\[qQ\]\[0-9\]+, (\[rR\]\[0-9\]+|\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
8741+/* { dg-final { scan-assembler "vdup\.32\[ \]+\[qQ\]\[0-9\]+, (\[rR\]\[0-9\]+|\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])!?\(\[ \]+@.*\)?\n" } } */
8742 /* { dg-final { cleanup-saved-temps } } */
8743
8744=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmovQ_ns8.c'
8745--- old/gcc/testsuite/gcc.target/arm/neon/vmovQ_ns8.c 2010-07-29 15:38:15 +0000
8746+++ new/gcc/testsuite/gcc.target/arm/neon/vmovQ_ns8.c 2010-08-20 13:27:11 +0000
8747@@ -16,5 +16,5 @@
8748 out_int8x16_t = vmovq_n_s8 (arg0_int8_t);
8749 }
8750
8751-/* { dg-final { scan-assembler "vdup\.8\[ \]+\[qQ\]\[0-9\]+, (\[rR\]\[0-9\]+|\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
8752+/* { dg-final { scan-assembler "vdup\.8\[ \]+\[qQ\]\[0-9\]+, (\[rR\]\[0-9\]+|\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])!?\(\[ \]+@.*\)?\n" } } */
8753 /* { dg-final { cleanup-saved-temps } } */
8754
8755=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmovQ_nu16.c'
8756--- old/gcc/testsuite/gcc.target/arm/neon/vmovQ_nu16.c 2010-07-29 15:38:15 +0000
8757+++ new/gcc/testsuite/gcc.target/arm/neon/vmovQ_nu16.c 2010-08-20 13:27:11 +0000
8758@@ -16,5 +16,5 @@
8759 out_uint16x8_t = vmovq_n_u16 (arg0_uint16_t);
8760 }
8761
8762-/* { dg-final { scan-assembler "vdup\.16\[ \]+\[qQ\]\[0-9\]+, (\[rR\]\[0-9\]+|\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
8763+/* { dg-final { scan-assembler "vdup\.16\[ \]+\[qQ\]\[0-9\]+, (\[rR\]\[0-9\]+|\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])!?\(\[ \]+@.*\)?\n" } } */
8764 /* { dg-final { cleanup-saved-temps } } */
8765
8766=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmovQ_nu32.c'
8767--- old/gcc/testsuite/gcc.target/arm/neon/vmovQ_nu32.c 2010-07-29 15:38:15 +0000
8768+++ new/gcc/testsuite/gcc.target/arm/neon/vmovQ_nu32.c 2010-08-20 13:27:11 +0000
8769@@ -16,5 +16,5 @@
8770 out_uint32x4_t = vmovq_n_u32 (arg0_uint32_t);
8771 }
8772
8773-/* { dg-final { scan-assembler "vdup\.32\[ \]+\[qQ\]\[0-9\]+, (\[rR\]\[0-9\]+|\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
8774+/* { dg-final { scan-assembler "vdup\.32\[ \]+\[qQ\]\[0-9\]+, (\[rR\]\[0-9\]+|\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])!?\(\[ \]+@.*\)?\n" } } */
8775 /* { dg-final { cleanup-saved-temps } } */
8776
8777=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmovQ_nu8.c'
8778--- old/gcc/testsuite/gcc.target/arm/neon/vmovQ_nu8.c 2010-07-29 15:38:15 +0000
8779+++ new/gcc/testsuite/gcc.target/arm/neon/vmovQ_nu8.c 2010-08-20 13:27:11 +0000
8780@@ -16,5 +16,5 @@
8781 out_uint8x16_t = vmovq_n_u8 (arg0_uint8_t);
8782 }
8783
8784-/* { dg-final { scan-assembler "vdup\.8\[ \]+\[qQ\]\[0-9\]+, (\[rR\]\[0-9\]+|\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
8785+/* { dg-final { scan-assembler "vdup\.8\[ \]+\[qQ\]\[0-9\]+, (\[rR\]\[0-9\]+|\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])!?\(\[ \]+@.*\)?\n" } } */
8786 /* { dg-final { cleanup-saved-temps } } */
8787
8788=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmov_nf32.c'
8789--- old/gcc/testsuite/gcc.target/arm/neon/vmov_nf32.c 2010-07-29 15:38:15 +0000
8790+++ new/gcc/testsuite/gcc.target/arm/neon/vmov_nf32.c 2010-08-20 13:27:11 +0000
8791@@ -16,5 +16,5 @@
8792 out_float32x2_t = vmov_n_f32 (arg0_float32_t);
8793 }
8794
8795-/* { dg-final { scan-assembler "vdup\.32\[ \]+\[dD\]\[0-9\]+, (\[rR\]\[0-9\]+|\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
8796+/* { dg-final { scan-assembler "vdup\.32\[ \]+\[dD\]\[0-9\]+, (\[rR\]\[0-9\]+|\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])!?\(\[ \]+@.*\)?\n" } } */
8797 /* { dg-final { cleanup-saved-temps } } */
8798
8799=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmov_np16.c'
8800--- old/gcc/testsuite/gcc.target/arm/neon/vmov_np16.c 2010-07-29 15:38:15 +0000
8801+++ new/gcc/testsuite/gcc.target/arm/neon/vmov_np16.c 2010-08-20 13:27:11 +0000
8802@@ -16,5 +16,5 @@
8803 out_poly16x4_t = vmov_n_p16 (arg0_poly16_t);
8804 }
8805
8806-/* { dg-final { scan-assembler "vdup\.16\[ \]+\[dD\]\[0-9\]+, (\[rR\]\[0-9\]+|\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
8807+/* { dg-final { scan-assembler "vdup\.16\[ \]+\[dD\]\[0-9\]+, (\[rR\]\[0-9\]+|\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])!?\(\[ \]+@.*\)?\n" } } */
8808 /* { dg-final { cleanup-saved-temps } } */
8809
8810=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmov_np8.c'
8811--- old/gcc/testsuite/gcc.target/arm/neon/vmov_np8.c 2010-07-29 15:38:15 +0000
8812+++ new/gcc/testsuite/gcc.target/arm/neon/vmov_np8.c 2010-08-20 13:27:11 +0000
8813@@ -16,5 +16,5 @@
8814 out_poly8x8_t = vmov_n_p8 (arg0_poly8_t);
8815 }
8816
8817-/* { dg-final { scan-assembler "vdup\.8\[ \]+\[dD\]\[0-9\]+, (\[rR\]\[0-9\]+|\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
8818+/* { dg-final { scan-assembler "vdup\.8\[ \]+\[dD\]\[0-9\]+, (\[rR\]\[0-9\]+|\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])!?\(\[ \]+@.*\)?\n" } } */
8819 /* { dg-final { cleanup-saved-temps } } */
8820
8821=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmov_ns16.c'
8822--- old/gcc/testsuite/gcc.target/arm/neon/vmov_ns16.c 2010-07-29 15:38:15 +0000
8823+++ new/gcc/testsuite/gcc.target/arm/neon/vmov_ns16.c 2010-08-20 13:27:11 +0000
8824@@ -16,5 +16,5 @@
8825 out_int16x4_t = vmov_n_s16 (arg0_int16_t);
8826 }
8827
8828-/* { dg-final { scan-assembler "vdup\.16\[ \]+\[dD\]\[0-9\]+, (\[rR\]\[0-9\]+|\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
8829+/* { dg-final { scan-assembler "vdup\.16\[ \]+\[dD\]\[0-9\]+, (\[rR\]\[0-9\]+|\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])!?\(\[ \]+@.*\)?\n" } } */
8830 /* { dg-final { cleanup-saved-temps } } */
8831
8832=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmov_ns32.c'
8833--- old/gcc/testsuite/gcc.target/arm/neon/vmov_ns32.c 2010-07-29 15:38:15 +0000
8834+++ new/gcc/testsuite/gcc.target/arm/neon/vmov_ns32.c 2010-08-20 13:27:11 +0000
8835@@ -16,5 +16,5 @@
8836 out_int32x2_t = vmov_n_s32 (arg0_int32_t);
8837 }
8838
8839-/* { dg-final { scan-assembler "vdup\.32\[ \]+\[dD\]\[0-9\]+, (\[rR\]\[0-9\]+|\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
8840+/* { dg-final { scan-assembler "vdup\.32\[ \]+\[dD\]\[0-9\]+, (\[rR\]\[0-9\]+|\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])!?\(\[ \]+@.*\)?\n" } } */
8841 /* { dg-final { cleanup-saved-temps } } */
8842
8843=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmov_ns8.c'
8844--- old/gcc/testsuite/gcc.target/arm/neon/vmov_ns8.c 2010-07-29 15:38:15 +0000
8845+++ new/gcc/testsuite/gcc.target/arm/neon/vmov_ns8.c 2010-08-20 13:27:11 +0000
8846@@ -16,5 +16,5 @@
8847 out_int8x8_t = vmov_n_s8 (arg0_int8_t);
8848 }
8849
8850-/* { dg-final { scan-assembler "vdup\.8\[ \]+\[dD\]\[0-9\]+, (\[rR\]\[0-9\]+|\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
8851+/* { dg-final { scan-assembler "vdup\.8\[ \]+\[dD\]\[0-9\]+, (\[rR\]\[0-9\]+|\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])!?\(\[ \]+@.*\)?\n" } } */
8852 /* { dg-final { cleanup-saved-temps } } */
8853
8854=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmov_nu16.c'
8855--- old/gcc/testsuite/gcc.target/arm/neon/vmov_nu16.c 2010-07-29 15:38:15 +0000
8856+++ new/gcc/testsuite/gcc.target/arm/neon/vmov_nu16.c 2010-08-20 13:27:11 +0000
8857@@ -16,5 +16,5 @@
8858 out_uint16x4_t = vmov_n_u16 (arg0_uint16_t);
8859 }
8860
8861-/* { dg-final { scan-assembler "vdup\.16\[ \]+\[dD\]\[0-9\]+, (\[rR\]\[0-9\]+|\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
8862+/* { dg-final { scan-assembler "vdup\.16\[ \]+\[dD\]\[0-9\]+, (\[rR\]\[0-9\]+|\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])!?\(\[ \]+@.*\)?\n" } } */
8863 /* { dg-final { cleanup-saved-temps } } */
8864
8865=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmov_nu32.c'
8866--- old/gcc/testsuite/gcc.target/arm/neon/vmov_nu32.c 2010-07-29 15:38:15 +0000
8867+++ new/gcc/testsuite/gcc.target/arm/neon/vmov_nu32.c 2010-08-20 13:27:11 +0000
8868@@ -16,5 +16,5 @@
8869 out_uint32x2_t = vmov_n_u32 (arg0_uint32_t);
8870 }
8871
8872-/* { dg-final { scan-assembler "vdup\.32\[ \]+\[dD\]\[0-9\]+, (\[rR\]\[0-9\]+|\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
8873+/* { dg-final { scan-assembler "vdup\.32\[ \]+\[dD\]\[0-9\]+, (\[rR\]\[0-9\]+|\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])!?\(\[ \]+@.*\)?\n" } } */
8874 /* { dg-final { cleanup-saved-temps } } */
8875
8876=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmov_nu8.c'
8877--- old/gcc/testsuite/gcc.target/arm/neon/vmov_nu8.c 2010-07-29 15:38:15 +0000
8878+++ new/gcc/testsuite/gcc.target/arm/neon/vmov_nu8.c 2010-08-20 13:27:11 +0000
8879@@ -16,5 +16,5 @@
8880 out_uint8x8_t = vmov_n_u8 (arg0_uint8_t);
8881 }
8882
8883-/* { dg-final { scan-assembler "vdup\.8\[ \]+\[dD\]\[0-9\]+, (\[rR\]\[0-9\]+|\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
8884+/* { dg-final { scan-assembler "vdup\.8\[ \]+\[dD\]\[0-9\]+, (\[rR\]\[0-9\]+|\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])!?\(\[ \]+@.*\)?\n" } } */
8885 /* { dg-final { cleanup-saved-temps } } */
8886
8887=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmovls16.c'
8888--- old/gcc/testsuite/gcc.target/arm/neon/vmovls16.c 2010-07-29 15:38:15 +0000
8889+++ new/gcc/testsuite/gcc.target/arm/neon/vmovls16.c 2010-08-20 13:27:11 +0000
8890@@ -16,5 +16,5 @@
8891 out_int32x4_t = vmovl_s16 (arg0_int16x4_t);
8892 }
8893
8894-/* { dg-final { scan-assembler "vmovl\.s16\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
8895+/* { dg-final { scan-assembler "vmovl\.s16\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
8896 /* { dg-final { cleanup-saved-temps } } */
8897
8898=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmovls32.c'
8899--- old/gcc/testsuite/gcc.target/arm/neon/vmovls32.c 2010-07-29 15:38:15 +0000
8900+++ new/gcc/testsuite/gcc.target/arm/neon/vmovls32.c 2010-08-20 13:27:11 +0000
8901@@ -16,5 +16,5 @@
8902 out_int64x2_t = vmovl_s32 (arg0_int32x2_t);
8903 }
8904
8905-/* { dg-final { scan-assembler "vmovl\.s32\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
8906+/* { dg-final { scan-assembler "vmovl\.s32\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
8907 /* { dg-final { cleanup-saved-temps } } */
8908
8909=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmovls8.c'
8910--- old/gcc/testsuite/gcc.target/arm/neon/vmovls8.c 2010-07-29 15:38:15 +0000
8911+++ new/gcc/testsuite/gcc.target/arm/neon/vmovls8.c 2010-08-20 13:27:11 +0000
8912@@ -16,5 +16,5 @@
8913 out_int16x8_t = vmovl_s8 (arg0_int8x8_t);
8914 }
8915
8916-/* { dg-final { scan-assembler "vmovl\.s8\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
8917+/* { dg-final { scan-assembler "vmovl\.s8\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
8918 /* { dg-final { cleanup-saved-temps } } */
8919
8920=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmovlu16.c'
8921--- old/gcc/testsuite/gcc.target/arm/neon/vmovlu16.c 2010-07-29 15:38:15 +0000
8922+++ new/gcc/testsuite/gcc.target/arm/neon/vmovlu16.c 2010-08-20 13:27:11 +0000
8923@@ -16,5 +16,5 @@
8924 out_uint32x4_t = vmovl_u16 (arg0_uint16x4_t);
8925 }
8926
8927-/* { dg-final { scan-assembler "vmovl\.u16\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
8928+/* { dg-final { scan-assembler "vmovl\.u16\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
8929 /* { dg-final { cleanup-saved-temps } } */
8930
8931=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmovlu32.c'
8932--- old/gcc/testsuite/gcc.target/arm/neon/vmovlu32.c 2010-07-29 15:38:15 +0000
8933+++ new/gcc/testsuite/gcc.target/arm/neon/vmovlu32.c 2010-08-20 13:27:11 +0000
8934@@ -16,5 +16,5 @@
8935 out_uint64x2_t = vmovl_u32 (arg0_uint32x2_t);
8936 }
8937
8938-/* { dg-final { scan-assembler "vmovl\.u32\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
8939+/* { dg-final { scan-assembler "vmovl\.u32\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
8940 /* { dg-final { cleanup-saved-temps } } */
8941
8942=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmovlu8.c'
8943--- old/gcc/testsuite/gcc.target/arm/neon/vmovlu8.c 2010-07-29 15:38:15 +0000
8944+++ new/gcc/testsuite/gcc.target/arm/neon/vmovlu8.c 2010-08-20 13:27:11 +0000
8945@@ -16,5 +16,5 @@
8946 out_uint16x8_t = vmovl_u8 (arg0_uint8x8_t);
8947 }
8948
8949-/* { dg-final { scan-assembler "vmovl\.u8\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
8950+/* { dg-final { scan-assembler "vmovl\.u8\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
8951 /* { dg-final { cleanup-saved-temps } } */
8952
8953=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmovns16.c'
8954--- old/gcc/testsuite/gcc.target/arm/neon/vmovns16.c 2010-07-29 15:38:15 +0000
8955+++ new/gcc/testsuite/gcc.target/arm/neon/vmovns16.c 2010-08-20 13:27:11 +0000
8956@@ -16,5 +16,5 @@
8957 out_int8x8_t = vmovn_s16 (arg0_int16x8_t);
8958 }
8959
8960-/* { dg-final { scan-assembler "vmovn\.i16\[ \]+\[dD\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
8961+/* { dg-final { scan-assembler "vmovn\.i16\[ \]+\[dD\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
8962 /* { dg-final { cleanup-saved-temps } } */
8963
8964=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmovns32.c'
8965--- old/gcc/testsuite/gcc.target/arm/neon/vmovns32.c 2010-07-29 15:38:15 +0000
8966+++ new/gcc/testsuite/gcc.target/arm/neon/vmovns32.c 2010-08-20 13:27:11 +0000
8967@@ -16,5 +16,5 @@
8968 out_int16x4_t = vmovn_s32 (arg0_int32x4_t);
8969 }
8970
8971-/* { dg-final { scan-assembler "vmovn\.i32\[ \]+\[dD\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
8972+/* { dg-final { scan-assembler "vmovn\.i32\[ \]+\[dD\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
8973 /* { dg-final { cleanup-saved-temps } } */
8974
8975=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmovns64.c'
8976--- old/gcc/testsuite/gcc.target/arm/neon/vmovns64.c 2010-07-29 15:38:15 +0000
8977+++ new/gcc/testsuite/gcc.target/arm/neon/vmovns64.c 2010-08-20 13:27:11 +0000
8978@@ -16,5 +16,5 @@
8979 out_int32x2_t = vmovn_s64 (arg0_int64x2_t);
8980 }
8981
8982-/* { dg-final { scan-assembler "vmovn\.i64\[ \]+\[dD\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
8983+/* { dg-final { scan-assembler "vmovn\.i64\[ \]+\[dD\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
8984 /* { dg-final { cleanup-saved-temps } } */
8985
8986=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmovnu16.c'
8987--- old/gcc/testsuite/gcc.target/arm/neon/vmovnu16.c 2010-07-29 15:38:15 +0000
8988+++ new/gcc/testsuite/gcc.target/arm/neon/vmovnu16.c 2010-08-20 13:27:11 +0000
8989@@ -16,5 +16,5 @@
8990 out_uint8x8_t = vmovn_u16 (arg0_uint16x8_t);
8991 }
8992
8993-/* { dg-final { scan-assembler "vmovn\.i16\[ \]+\[dD\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
8994+/* { dg-final { scan-assembler "vmovn\.i16\[ \]+\[dD\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
8995 /* { dg-final { cleanup-saved-temps } } */
8996
8997=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmovnu32.c'
8998--- old/gcc/testsuite/gcc.target/arm/neon/vmovnu32.c 2010-07-29 15:38:15 +0000
8999+++ new/gcc/testsuite/gcc.target/arm/neon/vmovnu32.c 2010-08-20 13:27:11 +0000
9000@@ -16,5 +16,5 @@
9001 out_uint16x4_t = vmovn_u32 (arg0_uint32x4_t);
9002 }
9003
9004-/* { dg-final { scan-assembler "vmovn\.i32\[ \]+\[dD\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
9005+/* { dg-final { scan-assembler "vmovn\.i32\[ \]+\[dD\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
9006 /* { dg-final { cleanup-saved-temps } } */
9007
9008=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmovnu64.c'
9009--- old/gcc/testsuite/gcc.target/arm/neon/vmovnu64.c 2010-07-29 15:38:15 +0000
9010+++ new/gcc/testsuite/gcc.target/arm/neon/vmovnu64.c 2010-08-20 13:27:11 +0000
9011@@ -16,5 +16,5 @@
9012 out_uint32x2_t = vmovn_u64 (arg0_uint64x2_t);
9013 }
9014
9015-/* { dg-final { scan-assembler "vmovn\.i64\[ \]+\[dD\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
9016+/* { dg-final { scan-assembler "vmovn\.i64\[ \]+\[dD\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
9017 /* { dg-final { cleanup-saved-temps } } */
9018
9019=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmulQ_lanef32.c'
9020--- old/gcc/testsuite/gcc.target/arm/neon/vmulQ_lanef32.c 2010-07-29 15:38:15 +0000
9021+++ new/gcc/testsuite/gcc.target/arm/neon/vmulQ_lanef32.c 2010-08-20 13:27:11 +0000
9022@@ -17,5 +17,5 @@
9023 out_float32x4_t = vmulq_lane_f32 (arg0_float32x4_t, arg1_float32x2_t, 1);
9024 }
9025
9026-/* { dg-final { scan-assembler "vmul\.f32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
9027+/* { dg-final { scan-assembler "vmul\.f32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
9028 /* { dg-final { cleanup-saved-temps } } */
9029
9030=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmulQ_lanes16.c'
9031--- old/gcc/testsuite/gcc.target/arm/neon/vmulQ_lanes16.c 2010-07-29 15:38:15 +0000
9032+++ new/gcc/testsuite/gcc.target/arm/neon/vmulQ_lanes16.c 2010-08-20 13:27:11 +0000
9033@@ -17,5 +17,5 @@
9034 out_int16x8_t = vmulq_lane_s16 (arg0_int16x8_t, arg1_int16x4_t, 1);
9035 }
9036
9037-/* { dg-final { scan-assembler "vmul\.i16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
9038+/* { dg-final { scan-assembler "vmul\.i16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
9039 /* { dg-final { cleanup-saved-temps } } */
9040
9041=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmulQ_lanes32.c'
9042--- old/gcc/testsuite/gcc.target/arm/neon/vmulQ_lanes32.c 2010-07-29 15:38:15 +0000
9043+++ new/gcc/testsuite/gcc.target/arm/neon/vmulQ_lanes32.c 2010-08-20 13:27:11 +0000
9044@@ -17,5 +17,5 @@
9045 out_int32x4_t = vmulq_lane_s32 (arg0_int32x4_t, arg1_int32x2_t, 1);
9046 }
9047
9048-/* { dg-final { scan-assembler "vmul\.i32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
9049+/* { dg-final { scan-assembler "vmul\.i32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
9050 /* { dg-final { cleanup-saved-temps } } */
9051
9052=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmulQ_laneu16.c'
9053--- old/gcc/testsuite/gcc.target/arm/neon/vmulQ_laneu16.c 2010-07-29 15:38:15 +0000
9054+++ new/gcc/testsuite/gcc.target/arm/neon/vmulQ_laneu16.c 2010-08-20 13:27:11 +0000
9055@@ -17,5 +17,5 @@
9056 out_uint16x8_t = vmulq_lane_u16 (arg0_uint16x8_t, arg1_uint16x4_t, 1);
9057 }
9058
9059-/* { dg-final { scan-assembler "vmul\.i16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
9060+/* { dg-final { scan-assembler "vmul\.i16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
9061 /* { dg-final { cleanup-saved-temps } } */
9062
9063=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmulQ_laneu32.c'
9064--- old/gcc/testsuite/gcc.target/arm/neon/vmulQ_laneu32.c 2010-07-29 15:38:15 +0000
9065+++ new/gcc/testsuite/gcc.target/arm/neon/vmulQ_laneu32.c 2010-08-20 13:27:11 +0000
9066@@ -17,5 +17,5 @@
9067 out_uint32x4_t = vmulq_lane_u32 (arg0_uint32x4_t, arg1_uint32x2_t, 1);
9068 }
9069
9070-/* { dg-final { scan-assembler "vmul\.i32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
9071+/* { dg-final { scan-assembler "vmul\.i32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
9072 /* { dg-final { cleanup-saved-temps } } */
9073
9074=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmulQ_nf32.c'
9075--- old/gcc/testsuite/gcc.target/arm/neon/vmulQ_nf32.c 2010-07-29 15:38:15 +0000
9076+++ new/gcc/testsuite/gcc.target/arm/neon/vmulQ_nf32.c 2010-08-20 13:27:11 +0000
9077@@ -17,5 +17,5 @@
9078 out_float32x4_t = vmulq_n_f32 (arg0_float32x4_t, arg1_float32_t);
9079 }
9080
9081-/* { dg-final { scan-assembler "vmul\.f32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
9082+/* { dg-final { scan-assembler "vmul\.f32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
9083 /* { dg-final { cleanup-saved-temps } } */
9084
9085=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmulQ_ns16.c'
9086--- old/gcc/testsuite/gcc.target/arm/neon/vmulQ_ns16.c 2010-07-29 15:38:15 +0000
9087+++ new/gcc/testsuite/gcc.target/arm/neon/vmulQ_ns16.c 2010-08-20 13:27:11 +0000
9088@@ -17,5 +17,5 @@
9089 out_int16x8_t = vmulq_n_s16 (arg0_int16x8_t, arg1_int16_t);
9090 }
9091
9092-/* { dg-final { scan-assembler "vmul\.i16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
9093+/* { dg-final { scan-assembler "vmul\.i16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
9094 /* { dg-final { cleanup-saved-temps } } */
9095
9096=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmulQ_ns32.c'
9097--- old/gcc/testsuite/gcc.target/arm/neon/vmulQ_ns32.c 2010-07-29 15:38:15 +0000
9098+++ new/gcc/testsuite/gcc.target/arm/neon/vmulQ_ns32.c 2010-08-20 13:27:11 +0000
9099@@ -17,5 +17,5 @@
9100 out_int32x4_t = vmulq_n_s32 (arg0_int32x4_t, arg1_int32_t);
9101 }
9102
9103-/* { dg-final { scan-assembler "vmul\.i32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
9104+/* { dg-final { scan-assembler "vmul\.i32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
9105 /* { dg-final { cleanup-saved-temps } } */
9106
9107=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmulQ_nu16.c'
9108--- old/gcc/testsuite/gcc.target/arm/neon/vmulQ_nu16.c 2010-07-29 15:38:15 +0000
9109+++ new/gcc/testsuite/gcc.target/arm/neon/vmulQ_nu16.c 2010-08-20 13:27:11 +0000
9110@@ -17,5 +17,5 @@
9111 out_uint16x8_t = vmulq_n_u16 (arg0_uint16x8_t, arg1_uint16_t);
9112 }
9113
9114-/* { dg-final { scan-assembler "vmul\.i16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
9115+/* { dg-final { scan-assembler "vmul\.i16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
9116 /* { dg-final { cleanup-saved-temps } } */
9117
9118=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmulQ_nu32.c'
9119--- old/gcc/testsuite/gcc.target/arm/neon/vmulQ_nu32.c 2010-07-29 15:38:15 +0000
9120+++ new/gcc/testsuite/gcc.target/arm/neon/vmulQ_nu32.c 2010-08-20 13:27:11 +0000
9121@@ -17,5 +17,5 @@
9122 out_uint32x4_t = vmulq_n_u32 (arg0_uint32x4_t, arg1_uint32_t);
9123 }
9124
9125-/* { dg-final { scan-assembler "vmul\.i32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
9126+/* { dg-final { scan-assembler "vmul\.i32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
9127 /* { dg-final { cleanup-saved-temps } } */
9128
9129=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmulQf32.c'
9130--- old/gcc/testsuite/gcc.target/arm/neon/vmulQf32.c 2010-07-29 15:38:15 +0000
9131+++ new/gcc/testsuite/gcc.target/arm/neon/vmulQf32.c 2010-08-20 13:27:11 +0000
9132@@ -17,5 +17,5 @@
9133 out_float32x4_t = vmulq_f32 (arg0_float32x4_t, arg1_float32x4_t);
9134 }
9135
9136-/* { dg-final { scan-assembler "vmul\.f32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
9137+/* { dg-final { scan-assembler "vmul\.f32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
9138 /* { dg-final { cleanup-saved-temps } } */
9139
9140=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmulQp8.c'
9141--- old/gcc/testsuite/gcc.target/arm/neon/vmulQp8.c 2010-07-29 15:38:15 +0000
9142+++ new/gcc/testsuite/gcc.target/arm/neon/vmulQp8.c 2010-08-20 13:27:11 +0000
9143@@ -17,5 +17,5 @@
9144 out_poly8x16_t = vmulq_p8 (arg0_poly8x16_t, arg1_poly8x16_t);
9145 }
9146
9147-/* { dg-final { scan-assembler "vmul\.p8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
9148+/* { dg-final { scan-assembler "vmul\.p8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
9149 /* { dg-final { cleanup-saved-temps } } */
9150
9151=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmulQs16.c'
9152--- old/gcc/testsuite/gcc.target/arm/neon/vmulQs16.c 2010-07-29 15:38:15 +0000
9153+++ new/gcc/testsuite/gcc.target/arm/neon/vmulQs16.c 2010-08-20 13:27:11 +0000
9154@@ -17,5 +17,5 @@
9155 out_int16x8_t = vmulq_s16 (arg0_int16x8_t, arg1_int16x8_t);
9156 }
9157
9158-/* { dg-final { scan-assembler "vmul\.i16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
9159+/* { dg-final { scan-assembler "vmul\.i16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
9160 /* { dg-final { cleanup-saved-temps } } */
9161
9162=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmulQs32.c'
9163--- old/gcc/testsuite/gcc.target/arm/neon/vmulQs32.c 2010-07-29 15:38:15 +0000
9164+++ new/gcc/testsuite/gcc.target/arm/neon/vmulQs32.c 2010-08-20 13:27:11 +0000
9165@@ -17,5 +17,5 @@
9166 out_int32x4_t = vmulq_s32 (arg0_int32x4_t, arg1_int32x4_t);
9167 }
9168
9169-/* { dg-final { scan-assembler "vmul\.i32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
9170+/* { dg-final { scan-assembler "vmul\.i32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
9171 /* { dg-final { cleanup-saved-temps } } */
9172
9173=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmulQs8.c'
9174--- old/gcc/testsuite/gcc.target/arm/neon/vmulQs8.c 2010-07-29 15:38:15 +0000
9175+++ new/gcc/testsuite/gcc.target/arm/neon/vmulQs8.c 2010-08-20 13:27:11 +0000
9176@@ -17,5 +17,5 @@
9177 out_int8x16_t = vmulq_s8 (arg0_int8x16_t, arg1_int8x16_t);
9178 }
9179
9180-/* { dg-final { scan-assembler "vmul\.i8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
9181+/* { dg-final { scan-assembler "vmul\.i8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
9182 /* { dg-final { cleanup-saved-temps } } */
9183
9184=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmulQu16.c'
9185--- old/gcc/testsuite/gcc.target/arm/neon/vmulQu16.c 2010-07-29 15:38:15 +0000
9186+++ new/gcc/testsuite/gcc.target/arm/neon/vmulQu16.c 2010-08-20 13:27:11 +0000
9187@@ -17,5 +17,5 @@
9188 out_uint16x8_t = vmulq_u16 (arg0_uint16x8_t, arg1_uint16x8_t);
9189 }
9190
9191-/* { dg-final { scan-assembler "vmul\.i16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
9192+/* { dg-final { scan-assembler "vmul\.i16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
9193 /* { dg-final { cleanup-saved-temps } } */
9194
9195=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmulQu32.c'
9196--- old/gcc/testsuite/gcc.target/arm/neon/vmulQu32.c 2010-07-29 15:38:15 +0000
9197+++ new/gcc/testsuite/gcc.target/arm/neon/vmulQu32.c 2010-08-20 13:27:11 +0000
9198@@ -17,5 +17,5 @@
9199 out_uint32x4_t = vmulq_u32 (arg0_uint32x4_t, arg1_uint32x4_t);
9200 }
9201
9202-/* { dg-final { scan-assembler "vmul\.i32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
9203+/* { dg-final { scan-assembler "vmul\.i32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
9204 /* { dg-final { cleanup-saved-temps } } */
9205
9206=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmulQu8.c'
9207--- old/gcc/testsuite/gcc.target/arm/neon/vmulQu8.c 2010-07-29 15:38:15 +0000
9208+++ new/gcc/testsuite/gcc.target/arm/neon/vmulQu8.c 2010-08-20 13:27:11 +0000
9209@@ -17,5 +17,5 @@
9210 out_uint8x16_t = vmulq_u8 (arg0_uint8x16_t, arg1_uint8x16_t);
9211 }
9212
9213-/* { dg-final { scan-assembler "vmul\.i8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
9214+/* { dg-final { scan-assembler "vmul\.i8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
9215 /* { dg-final { cleanup-saved-temps } } */
9216
9217=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmul_lanef32.c'
9218--- old/gcc/testsuite/gcc.target/arm/neon/vmul_lanef32.c 2010-07-29 15:38:15 +0000
9219+++ new/gcc/testsuite/gcc.target/arm/neon/vmul_lanef32.c 2010-08-20 13:27:11 +0000
9220@@ -17,5 +17,5 @@
9221 out_float32x2_t = vmul_lane_f32 (arg0_float32x2_t, arg1_float32x2_t, 1);
9222 }
9223
9224-/* { dg-final { scan-assembler "vmul\.f32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
9225+/* { dg-final { scan-assembler "vmul\.f32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
9226 /* { dg-final { cleanup-saved-temps } } */
9227
9228=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmul_lanes16.c'
9229--- old/gcc/testsuite/gcc.target/arm/neon/vmul_lanes16.c 2010-07-29 15:38:15 +0000
9230+++ new/gcc/testsuite/gcc.target/arm/neon/vmul_lanes16.c 2010-08-20 13:27:11 +0000
9231@@ -17,5 +17,5 @@
9232 out_int16x4_t = vmul_lane_s16 (arg0_int16x4_t, arg1_int16x4_t, 1);
9233 }
9234
9235-/* { dg-final { scan-assembler "vmul\.i16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
9236+/* { dg-final { scan-assembler "vmul\.i16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
9237 /* { dg-final { cleanup-saved-temps } } */
9238
9239=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmul_lanes32.c'
9240--- old/gcc/testsuite/gcc.target/arm/neon/vmul_lanes32.c 2010-07-29 15:38:15 +0000
9241+++ new/gcc/testsuite/gcc.target/arm/neon/vmul_lanes32.c 2010-08-20 13:27:11 +0000
9242@@ -17,5 +17,5 @@
9243 out_int32x2_t = vmul_lane_s32 (arg0_int32x2_t, arg1_int32x2_t, 1);
9244 }
9245
9246-/* { dg-final { scan-assembler "vmul\.i32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
9247+/* { dg-final { scan-assembler "vmul\.i32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
9248 /* { dg-final { cleanup-saved-temps } } */
9249
9250=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmul_laneu16.c'
9251--- old/gcc/testsuite/gcc.target/arm/neon/vmul_laneu16.c 2010-07-29 15:38:15 +0000
9252+++ new/gcc/testsuite/gcc.target/arm/neon/vmul_laneu16.c 2010-08-20 13:27:11 +0000
9253@@ -17,5 +17,5 @@
9254 out_uint16x4_t = vmul_lane_u16 (arg0_uint16x4_t, arg1_uint16x4_t, 1);
9255 }
9256
9257-/* { dg-final { scan-assembler "vmul\.i16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
9258+/* { dg-final { scan-assembler "vmul\.i16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
9259 /* { dg-final { cleanup-saved-temps } } */
9260
9261=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmul_laneu32.c'
9262--- old/gcc/testsuite/gcc.target/arm/neon/vmul_laneu32.c 2010-07-29 15:38:15 +0000
9263+++ new/gcc/testsuite/gcc.target/arm/neon/vmul_laneu32.c 2010-08-20 13:27:11 +0000
9264@@ -17,5 +17,5 @@
9265 out_uint32x2_t = vmul_lane_u32 (arg0_uint32x2_t, arg1_uint32x2_t, 1);
9266 }
9267
9268-/* { dg-final { scan-assembler "vmul\.i32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
9269+/* { dg-final { scan-assembler "vmul\.i32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
9270 /* { dg-final { cleanup-saved-temps } } */
9271
9272=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmul_nf32.c'
9273--- old/gcc/testsuite/gcc.target/arm/neon/vmul_nf32.c 2010-07-29 15:38:15 +0000
9274+++ new/gcc/testsuite/gcc.target/arm/neon/vmul_nf32.c 2010-08-20 13:27:11 +0000
9275@@ -17,5 +17,5 @@
9276 out_float32x2_t = vmul_n_f32 (arg0_float32x2_t, arg1_float32_t);
9277 }
9278
9279-/* { dg-final { scan-assembler "vmul\.f32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
9280+/* { dg-final { scan-assembler "vmul\.f32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
9281 /* { dg-final { cleanup-saved-temps } } */
9282
9283=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmul_ns16.c'
9284--- old/gcc/testsuite/gcc.target/arm/neon/vmul_ns16.c 2010-07-29 15:38:15 +0000
9285+++ new/gcc/testsuite/gcc.target/arm/neon/vmul_ns16.c 2010-08-20 13:27:11 +0000
9286@@ -17,5 +17,5 @@
9287 out_int16x4_t = vmul_n_s16 (arg0_int16x4_t, arg1_int16_t);
9288 }
9289
9290-/* { dg-final { scan-assembler "vmul\.i16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
9291+/* { dg-final { scan-assembler "vmul\.i16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
9292 /* { dg-final { cleanup-saved-temps } } */
9293
9294=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmul_ns32.c'
9295--- old/gcc/testsuite/gcc.target/arm/neon/vmul_ns32.c 2010-07-29 15:38:15 +0000
9296+++ new/gcc/testsuite/gcc.target/arm/neon/vmul_ns32.c 2010-08-20 13:27:11 +0000
9297@@ -17,5 +17,5 @@
9298 out_int32x2_t = vmul_n_s32 (arg0_int32x2_t, arg1_int32_t);
9299 }
9300
9301-/* { dg-final { scan-assembler "vmul\.i32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
9302+/* { dg-final { scan-assembler "vmul\.i32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
9303 /* { dg-final { cleanup-saved-temps } } */
9304
9305=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmul_nu16.c'
9306--- old/gcc/testsuite/gcc.target/arm/neon/vmul_nu16.c 2010-07-29 15:38:15 +0000
9307+++ new/gcc/testsuite/gcc.target/arm/neon/vmul_nu16.c 2010-08-20 13:27:11 +0000
9308@@ -17,5 +17,5 @@
9309 out_uint16x4_t = vmul_n_u16 (arg0_uint16x4_t, arg1_uint16_t);
9310 }
9311
9312-/* { dg-final { scan-assembler "vmul\.i16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
9313+/* { dg-final { scan-assembler "vmul\.i16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
9314 /* { dg-final { cleanup-saved-temps } } */
9315
9316=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmul_nu32.c'
9317--- old/gcc/testsuite/gcc.target/arm/neon/vmul_nu32.c 2010-07-29 15:38:15 +0000
9318+++ new/gcc/testsuite/gcc.target/arm/neon/vmul_nu32.c 2010-08-20 13:27:11 +0000
9319@@ -17,5 +17,5 @@
9320 out_uint32x2_t = vmul_n_u32 (arg0_uint32x2_t, arg1_uint32_t);
9321 }
9322
9323-/* { dg-final { scan-assembler "vmul\.i32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
9324+/* { dg-final { scan-assembler "vmul\.i32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
9325 /* { dg-final { cleanup-saved-temps } } */
9326
9327=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmulf32.c'
9328--- old/gcc/testsuite/gcc.target/arm/neon/vmulf32.c 2010-07-29 15:38:15 +0000
9329+++ new/gcc/testsuite/gcc.target/arm/neon/vmulf32.c 2010-08-20 13:27:11 +0000
9330@@ -17,5 +17,5 @@
9331 out_float32x2_t = vmul_f32 (arg0_float32x2_t, arg1_float32x2_t);
9332 }
9333
9334-/* { dg-final { scan-assembler "vmul\.f32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
9335+/* { dg-final { scan-assembler "vmul\.f32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
9336 /* { dg-final { cleanup-saved-temps } } */
9337
9338=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmull_lanes16.c'
9339--- old/gcc/testsuite/gcc.target/arm/neon/vmull_lanes16.c 2010-07-29 15:38:15 +0000
9340+++ new/gcc/testsuite/gcc.target/arm/neon/vmull_lanes16.c 2010-08-20 13:27:11 +0000
9341@@ -17,5 +17,5 @@
9342 out_int32x4_t = vmull_lane_s16 (arg0_int16x4_t, arg1_int16x4_t, 1);
9343 }
9344
9345-/* { dg-final { scan-assembler "vmull\.s16\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
9346+/* { dg-final { scan-assembler "vmull\.s16\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
9347 /* { dg-final { cleanup-saved-temps } } */
9348
9349=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmull_lanes32.c'
9350--- old/gcc/testsuite/gcc.target/arm/neon/vmull_lanes32.c 2010-07-29 15:38:15 +0000
9351+++ new/gcc/testsuite/gcc.target/arm/neon/vmull_lanes32.c 2010-08-20 13:27:11 +0000
9352@@ -17,5 +17,5 @@
9353 out_int64x2_t = vmull_lane_s32 (arg0_int32x2_t, arg1_int32x2_t, 1);
9354 }
9355
9356-/* { dg-final { scan-assembler "vmull\.s32\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
9357+/* { dg-final { scan-assembler "vmull\.s32\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
9358 /* { dg-final { cleanup-saved-temps } } */
9359
9360=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmull_laneu16.c'
9361--- old/gcc/testsuite/gcc.target/arm/neon/vmull_laneu16.c 2010-07-29 15:38:15 +0000
9362+++ new/gcc/testsuite/gcc.target/arm/neon/vmull_laneu16.c 2010-08-20 13:27:11 +0000
9363@@ -17,5 +17,5 @@
9364 out_uint32x4_t = vmull_lane_u16 (arg0_uint16x4_t, arg1_uint16x4_t, 1);
9365 }
9366
9367-/* { dg-final { scan-assembler "vmull\.u16\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
9368+/* { dg-final { scan-assembler "vmull\.u16\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
9369 /* { dg-final { cleanup-saved-temps } } */
9370
9371=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmull_laneu32.c'
9372--- old/gcc/testsuite/gcc.target/arm/neon/vmull_laneu32.c 2010-07-29 15:38:15 +0000
9373+++ new/gcc/testsuite/gcc.target/arm/neon/vmull_laneu32.c 2010-08-20 13:27:11 +0000
9374@@ -17,5 +17,5 @@
9375 out_uint64x2_t = vmull_lane_u32 (arg0_uint32x2_t, arg1_uint32x2_t, 1);
9376 }
9377
9378-/* { dg-final { scan-assembler "vmull\.u32\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
9379+/* { dg-final { scan-assembler "vmull\.u32\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
9380 /* { dg-final { cleanup-saved-temps } } */
9381
9382=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmull_ns16.c'
9383--- old/gcc/testsuite/gcc.target/arm/neon/vmull_ns16.c 2010-07-29 15:38:15 +0000
9384+++ new/gcc/testsuite/gcc.target/arm/neon/vmull_ns16.c 2010-08-20 13:27:11 +0000
9385@@ -17,5 +17,5 @@
9386 out_int32x4_t = vmull_n_s16 (arg0_int16x4_t, arg1_int16_t);
9387 }
9388
9389-/* { dg-final { scan-assembler "vmull\.s16\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
9390+/* { dg-final { scan-assembler "vmull\.s16\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
9391 /* { dg-final { cleanup-saved-temps } } */
9392
9393=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmull_ns32.c'
9394--- old/gcc/testsuite/gcc.target/arm/neon/vmull_ns32.c 2010-07-29 15:38:15 +0000
9395+++ new/gcc/testsuite/gcc.target/arm/neon/vmull_ns32.c 2010-08-20 13:27:11 +0000
9396@@ -17,5 +17,5 @@
9397 out_int64x2_t = vmull_n_s32 (arg0_int32x2_t, arg1_int32_t);
9398 }
9399
9400-/* { dg-final { scan-assembler "vmull\.s32\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
9401+/* { dg-final { scan-assembler "vmull\.s32\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
9402 /* { dg-final { cleanup-saved-temps } } */
9403
9404=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmull_nu16.c'
9405--- old/gcc/testsuite/gcc.target/arm/neon/vmull_nu16.c 2010-07-29 15:38:15 +0000
9406+++ new/gcc/testsuite/gcc.target/arm/neon/vmull_nu16.c 2010-08-20 13:27:11 +0000
9407@@ -17,5 +17,5 @@
9408 out_uint32x4_t = vmull_n_u16 (arg0_uint16x4_t, arg1_uint16_t);
9409 }
9410
9411-/* { dg-final { scan-assembler "vmull\.u16\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
9412+/* { dg-final { scan-assembler "vmull\.u16\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
9413 /* { dg-final { cleanup-saved-temps } } */
9414
9415=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmull_nu32.c'
9416--- old/gcc/testsuite/gcc.target/arm/neon/vmull_nu32.c 2010-07-29 15:38:15 +0000
9417+++ new/gcc/testsuite/gcc.target/arm/neon/vmull_nu32.c 2010-08-20 13:27:11 +0000
9418@@ -17,5 +17,5 @@
9419 out_uint64x2_t = vmull_n_u32 (arg0_uint32x2_t, arg1_uint32_t);
9420 }
9421
9422-/* { dg-final { scan-assembler "vmull\.u32\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
9423+/* { dg-final { scan-assembler "vmull\.u32\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
9424 /* { dg-final { cleanup-saved-temps } } */
9425
9426=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmullp8.c'
9427--- old/gcc/testsuite/gcc.target/arm/neon/vmullp8.c 2010-07-29 15:38:15 +0000
9428+++ new/gcc/testsuite/gcc.target/arm/neon/vmullp8.c 2010-08-20 13:27:11 +0000
9429@@ -17,5 +17,5 @@
9430 out_poly16x8_t = vmull_p8 (arg0_poly8x8_t, arg1_poly8x8_t);
9431 }
9432
9433-/* { dg-final { scan-assembler "vmull\.p8\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
9434+/* { dg-final { scan-assembler "vmull\.p8\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
9435 /* { dg-final { cleanup-saved-temps } } */
9436
9437=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmulls16.c'
9438--- old/gcc/testsuite/gcc.target/arm/neon/vmulls16.c 2010-07-29 15:38:15 +0000
9439+++ new/gcc/testsuite/gcc.target/arm/neon/vmulls16.c 2010-08-20 13:27:11 +0000
9440@@ -17,5 +17,5 @@
9441 out_int32x4_t = vmull_s16 (arg0_int16x4_t, arg1_int16x4_t);
9442 }
9443
9444-/* { dg-final { scan-assembler "vmull\.s16\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
9445+/* { dg-final { scan-assembler "vmull\.s16\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
9446 /* { dg-final { cleanup-saved-temps } } */
9447
9448=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmulls32.c'
9449--- old/gcc/testsuite/gcc.target/arm/neon/vmulls32.c 2010-07-29 15:38:15 +0000
9450+++ new/gcc/testsuite/gcc.target/arm/neon/vmulls32.c 2010-08-20 13:27:11 +0000
9451@@ -17,5 +17,5 @@
9452 out_int64x2_t = vmull_s32 (arg0_int32x2_t, arg1_int32x2_t);
9453 }
9454
9455-/* { dg-final { scan-assembler "vmull\.s32\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
9456+/* { dg-final { scan-assembler "vmull\.s32\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
9457 /* { dg-final { cleanup-saved-temps } } */
9458
9459=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmulls8.c'
9460--- old/gcc/testsuite/gcc.target/arm/neon/vmulls8.c 2010-07-29 15:38:15 +0000
9461+++ new/gcc/testsuite/gcc.target/arm/neon/vmulls8.c 2010-08-20 13:27:11 +0000
9462@@ -17,5 +17,5 @@
9463 out_int16x8_t = vmull_s8 (arg0_int8x8_t, arg1_int8x8_t);
9464 }
9465
9466-/* { dg-final { scan-assembler "vmull\.s8\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
9467+/* { dg-final { scan-assembler "vmull\.s8\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
9468 /* { dg-final { cleanup-saved-temps } } */
9469
9470=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmullu16.c'
9471--- old/gcc/testsuite/gcc.target/arm/neon/vmullu16.c 2010-07-29 15:38:15 +0000
9472+++ new/gcc/testsuite/gcc.target/arm/neon/vmullu16.c 2010-08-20 13:27:11 +0000
9473@@ -17,5 +17,5 @@
9474 out_uint32x4_t = vmull_u16 (arg0_uint16x4_t, arg1_uint16x4_t);
9475 }
9476
9477-/* { dg-final { scan-assembler "vmull\.u16\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
9478+/* { dg-final { scan-assembler "vmull\.u16\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
9479 /* { dg-final { cleanup-saved-temps } } */
9480
9481=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmullu32.c'
9482--- old/gcc/testsuite/gcc.target/arm/neon/vmullu32.c 2010-07-29 15:38:15 +0000
9483+++ new/gcc/testsuite/gcc.target/arm/neon/vmullu32.c 2010-08-20 13:27:11 +0000
9484@@ -17,5 +17,5 @@
9485 out_uint64x2_t = vmull_u32 (arg0_uint32x2_t, arg1_uint32x2_t);
9486 }
9487
9488-/* { dg-final { scan-assembler "vmull\.u32\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
9489+/* { dg-final { scan-assembler "vmull\.u32\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
9490 /* { dg-final { cleanup-saved-temps } } */
9491
9492=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmullu8.c'
9493--- old/gcc/testsuite/gcc.target/arm/neon/vmullu8.c 2010-07-29 15:38:15 +0000
9494+++ new/gcc/testsuite/gcc.target/arm/neon/vmullu8.c 2010-08-20 13:27:11 +0000
9495@@ -17,5 +17,5 @@
9496 out_uint16x8_t = vmull_u8 (arg0_uint8x8_t, arg1_uint8x8_t);
9497 }
9498
9499-/* { dg-final { scan-assembler "vmull\.u8\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
9500+/* { dg-final { scan-assembler "vmull\.u8\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
9501 /* { dg-final { cleanup-saved-temps } } */
9502
9503=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmulp8.c'
9504--- old/gcc/testsuite/gcc.target/arm/neon/vmulp8.c 2010-07-29 15:38:15 +0000
9505+++ new/gcc/testsuite/gcc.target/arm/neon/vmulp8.c 2010-08-20 13:27:11 +0000
9506@@ -17,5 +17,5 @@
9507 out_poly8x8_t = vmul_p8 (arg0_poly8x8_t, arg1_poly8x8_t);
9508 }
9509
9510-/* { dg-final { scan-assembler "vmul\.p8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
9511+/* { dg-final { scan-assembler "vmul\.p8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
9512 /* { dg-final { cleanup-saved-temps } } */
9513
9514=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmuls16.c'
9515--- old/gcc/testsuite/gcc.target/arm/neon/vmuls16.c 2010-07-29 15:38:15 +0000
9516+++ new/gcc/testsuite/gcc.target/arm/neon/vmuls16.c 2010-08-20 13:27:11 +0000
9517@@ -17,5 +17,5 @@
9518 out_int16x4_t = vmul_s16 (arg0_int16x4_t, arg1_int16x4_t);
9519 }
9520
9521-/* { dg-final { scan-assembler "vmul\.i16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
9522+/* { dg-final { scan-assembler "vmul\.i16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
9523 /* { dg-final { cleanup-saved-temps } } */
9524
9525=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmuls32.c'
9526--- old/gcc/testsuite/gcc.target/arm/neon/vmuls32.c 2010-07-29 15:38:15 +0000
9527+++ new/gcc/testsuite/gcc.target/arm/neon/vmuls32.c 2010-08-20 13:27:11 +0000
9528@@ -17,5 +17,5 @@
9529 out_int32x2_t = vmul_s32 (arg0_int32x2_t, arg1_int32x2_t);
9530 }
9531
9532-/* { dg-final { scan-assembler "vmul\.i32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
9533+/* { dg-final { scan-assembler "vmul\.i32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
9534 /* { dg-final { cleanup-saved-temps } } */
9535
9536=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmuls8.c'
9537--- old/gcc/testsuite/gcc.target/arm/neon/vmuls8.c 2010-07-29 15:38:15 +0000
9538+++ new/gcc/testsuite/gcc.target/arm/neon/vmuls8.c 2010-08-20 13:27:11 +0000
9539@@ -17,5 +17,5 @@
9540 out_int8x8_t = vmul_s8 (arg0_int8x8_t, arg1_int8x8_t);
9541 }
9542
9543-/* { dg-final { scan-assembler "vmul\.i8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
9544+/* { dg-final { scan-assembler "vmul\.i8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
9545 /* { dg-final { cleanup-saved-temps } } */
9546
9547=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmulu16.c'
9548--- old/gcc/testsuite/gcc.target/arm/neon/vmulu16.c 2010-07-29 15:38:15 +0000
9549+++ new/gcc/testsuite/gcc.target/arm/neon/vmulu16.c 2010-08-20 13:27:11 +0000
9550@@ -17,5 +17,5 @@
9551 out_uint16x4_t = vmul_u16 (arg0_uint16x4_t, arg1_uint16x4_t);
9552 }
9553
9554-/* { dg-final { scan-assembler "vmul\.i16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
9555+/* { dg-final { scan-assembler "vmul\.i16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
9556 /* { dg-final { cleanup-saved-temps } } */
9557
9558=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmulu32.c'
9559--- old/gcc/testsuite/gcc.target/arm/neon/vmulu32.c 2010-07-29 15:38:15 +0000
9560+++ new/gcc/testsuite/gcc.target/arm/neon/vmulu32.c 2010-08-20 13:27:11 +0000
9561@@ -17,5 +17,5 @@
9562 out_uint32x2_t = vmul_u32 (arg0_uint32x2_t, arg1_uint32x2_t);
9563 }
9564
9565-/* { dg-final { scan-assembler "vmul\.i32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
9566+/* { dg-final { scan-assembler "vmul\.i32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
9567 /* { dg-final { cleanup-saved-temps } } */
9568
9569=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmulu8.c'
9570--- old/gcc/testsuite/gcc.target/arm/neon/vmulu8.c 2010-07-29 15:38:15 +0000
9571+++ new/gcc/testsuite/gcc.target/arm/neon/vmulu8.c 2010-08-20 13:27:11 +0000
9572@@ -17,5 +17,5 @@
9573 out_uint8x8_t = vmul_u8 (arg0_uint8x8_t, arg1_uint8x8_t);
9574 }
9575
9576-/* { dg-final { scan-assembler "vmul\.i8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
9577+/* { dg-final { scan-assembler "vmul\.i8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
9578 /* { dg-final { cleanup-saved-temps } } */
9579
9580=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmvnQp8.c'
9581--- old/gcc/testsuite/gcc.target/arm/neon/vmvnQp8.c 2010-07-29 15:38:15 +0000
9582+++ new/gcc/testsuite/gcc.target/arm/neon/vmvnQp8.c 2010-08-20 13:27:11 +0000
9583@@ -16,5 +16,5 @@
9584 out_poly8x16_t = vmvnq_p8 (arg0_poly8x16_t);
9585 }
9586
9587-/* { dg-final { scan-assembler "vmvn\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
9588+/* { dg-final { scan-assembler "vmvn\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
9589 /* { dg-final { cleanup-saved-temps } } */
9590
9591=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmvnQs16.c'
9592--- old/gcc/testsuite/gcc.target/arm/neon/vmvnQs16.c 2010-07-29 15:38:15 +0000
9593+++ new/gcc/testsuite/gcc.target/arm/neon/vmvnQs16.c 2010-08-20 13:27:11 +0000
9594@@ -16,5 +16,5 @@
9595 out_int16x8_t = vmvnq_s16 (arg0_int16x8_t);
9596 }
9597
9598-/* { dg-final { scan-assembler "vmvn\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
9599+/* { dg-final { scan-assembler "vmvn\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
9600 /* { dg-final { cleanup-saved-temps } } */
9601
9602=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmvnQs32.c'
9603--- old/gcc/testsuite/gcc.target/arm/neon/vmvnQs32.c 2010-07-29 15:38:15 +0000
9604+++ new/gcc/testsuite/gcc.target/arm/neon/vmvnQs32.c 2010-08-20 13:27:11 +0000
9605@@ -16,5 +16,5 @@
9606 out_int32x4_t = vmvnq_s32 (arg0_int32x4_t);
9607 }
9608
9609-/* { dg-final { scan-assembler "vmvn\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
9610+/* { dg-final { scan-assembler "vmvn\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
9611 /* { dg-final { cleanup-saved-temps } } */
9612
9613=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmvnQs8.c'
9614--- old/gcc/testsuite/gcc.target/arm/neon/vmvnQs8.c 2010-07-29 15:38:15 +0000
9615+++ new/gcc/testsuite/gcc.target/arm/neon/vmvnQs8.c 2010-08-20 13:27:11 +0000
9616@@ -16,5 +16,5 @@
9617 out_int8x16_t = vmvnq_s8 (arg0_int8x16_t);
9618 }
9619
9620-/* { dg-final { scan-assembler "vmvn\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
9621+/* { dg-final { scan-assembler "vmvn\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
9622 /* { dg-final { cleanup-saved-temps } } */
9623
9624=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmvnQu16.c'
9625--- old/gcc/testsuite/gcc.target/arm/neon/vmvnQu16.c 2010-07-29 15:38:15 +0000
9626+++ new/gcc/testsuite/gcc.target/arm/neon/vmvnQu16.c 2010-08-20 13:27:11 +0000
9627@@ -16,5 +16,5 @@
9628 out_uint16x8_t = vmvnq_u16 (arg0_uint16x8_t);
9629 }
9630
9631-/* { dg-final { scan-assembler "vmvn\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
9632+/* { dg-final { scan-assembler "vmvn\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
9633 /* { dg-final { cleanup-saved-temps } } */
9634
9635=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmvnQu32.c'
9636--- old/gcc/testsuite/gcc.target/arm/neon/vmvnQu32.c 2010-07-29 15:38:15 +0000
9637+++ new/gcc/testsuite/gcc.target/arm/neon/vmvnQu32.c 2010-08-20 13:27:11 +0000
9638@@ -16,5 +16,5 @@
9639 out_uint32x4_t = vmvnq_u32 (arg0_uint32x4_t);
9640 }
9641
9642-/* { dg-final { scan-assembler "vmvn\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
9643+/* { dg-final { scan-assembler "vmvn\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
9644 /* { dg-final { cleanup-saved-temps } } */
9645
9646=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmvnQu8.c'
9647--- old/gcc/testsuite/gcc.target/arm/neon/vmvnQu8.c 2010-07-29 15:38:15 +0000
9648+++ new/gcc/testsuite/gcc.target/arm/neon/vmvnQu8.c 2010-08-20 13:27:11 +0000
9649@@ -16,5 +16,5 @@
9650 out_uint8x16_t = vmvnq_u8 (arg0_uint8x16_t);
9651 }
9652
9653-/* { dg-final { scan-assembler "vmvn\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
9654+/* { dg-final { scan-assembler "vmvn\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
9655 /* { dg-final { cleanup-saved-temps } } */
9656
9657=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmvnp8.c'
9658--- old/gcc/testsuite/gcc.target/arm/neon/vmvnp8.c 2010-07-29 15:38:15 +0000
9659+++ new/gcc/testsuite/gcc.target/arm/neon/vmvnp8.c 2010-08-20 13:27:11 +0000
9660@@ -16,5 +16,5 @@
9661 out_poly8x8_t = vmvn_p8 (arg0_poly8x8_t);
9662 }
9663
9664-/* { dg-final { scan-assembler "vmvn\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
9665+/* { dg-final { scan-assembler "vmvn\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
9666 /* { dg-final { cleanup-saved-temps } } */
9667
9668=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmvns16.c'
9669--- old/gcc/testsuite/gcc.target/arm/neon/vmvns16.c 2010-07-29 15:38:15 +0000
9670+++ new/gcc/testsuite/gcc.target/arm/neon/vmvns16.c 2010-08-20 13:27:11 +0000
9671@@ -16,5 +16,5 @@
9672 out_int16x4_t = vmvn_s16 (arg0_int16x4_t);
9673 }
9674
9675-/* { dg-final { scan-assembler "vmvn\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
9676+/* { dg-final { scan-assembler "vmvn\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
9677 /* { dg-final { cleanup-saved-temps } } */
9678
9679=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmvns32.c'
9680--- old/gcc/testsuite/gcc.target/arm/neon/vmvns32.c 2010-07-29 15:38:15 +0000
9681+++ new/gcc/testsuite/gcc.target/arm/neon/vmvns32.c 2010-08-20 13:27:11 +0000
9682@@ -16,5 +16,5 @@
9683 out_int32x2_t = vmvn_s32 (arg0_int32x2_t);
9684 }
9685
9686-/* { dg-final { scan-assembler "vmvn\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
9687+/* { dg-final { scan-assembler "vmvn\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
9688 /* { dg-final { cleanup-saved-temps } } */
9689
9690=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmvns8.c'
9691--- old/gcc/testsuite/gcc.target/arm/neon/vmvns8.c 2010-07-29 15:38:15 +0000
9692+++ new/gcc/testsuite/gcc.target/arm/neon/vmvns8.c 2010-08-20 13:27:11 +0000
9693@@ -16,5 +16,5 @@
9694 out_int8x8_t = vmvn_s8 (arg0_int8x8_t);
9695 }
9696
9697-/* { dg-final { scan-assembler "vmvn\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
9698+/* { dg-final { scan-assembler "vmvn\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
9699 /* { dg-final { cleanup-saved-temps } } */
9700
9701=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmvnu16.c'
9702--- old/gcc/testsuite/gcc.target/arm/neon/vmvnu16.c 2010-07-29 15:38:15 +0000
9703+++ new/gcc/testsuite/gcc.target/arm/neon/vmvnu16.c 2010-08-20 13:27:11 +0000
9704@@ -16,5 +16,5 @@
9705 out_uint16x4_t = vmvn_u16 (arg0_uint16x4_t);
9706 }
9707
9708-/* { dg-final { scan-assembler "vmvn\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
9709+/* { dg-final { scan-assembler "vmvn\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
9710 /* { dg-final { cleanup-saved-temps } } */
9711
9712=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmvnu32.c'
9713--- old/gcc/testsuite/gcc.target/arm/neon/vmvnu32.c 2010-07-29 15:38:15 +0000
9714+++ new/gcc/testsuite/gcc.target/arm/neon/vmvnu32.c 2010-08-20 13:27:11 +0000
9715@@ -16,5 +16,5 @@
9716 out_uint32x2_t = vmvn_u32 (arg0_uint32x2_t);
9717 }
9718
9719-/* { dg-final { scan-assembler "vmvn\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
9720+/* { dg-final { scan-assembler "vmvn\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
9721 /* { dg-final { cleanup-saved-temps } } */
9722
9723=== modified file 'gcc/testsuite/gcc.target/arm/neon/vmvnu8.c'
9724--- old/gcc/testsuite/gcc.target/arm/neon/vmvnu8.c 2010-07-29 15:38:15 +0000
9725+++ new/gcc/testsuite/gcc.target/arm/neon/vmvnu8.c 2010-08-20 13:27:11 +0000
9726@@ -16,5 +16,5 @@
9727 out_uint8x8_t = vmvn_u8 (arg0_uint8x8_t);
9728 }
9729
9730-/* { dg-final { scan-assembler "vmvn\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
9731+/* { dg-final { scan-assembler "vmvn\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
9732 /* { dg-final { cleanup-saved-temps } } */
9733
9734=== modified file 'gcc/testsuite/gcc.target/arm/neon/vnegQf32.c'
9735--- old/gcc/testsuite/gcc.target/arm/neon/vnegQf32.c 2010-07-29 15:38:15 +0000
9736+++ new/gcc/testsuite/gcc.target/arm/neon/vnegQf32.c 2010-08-20 13:27:11 +0000
9737@@ -16,5 +16,5 @@
9738 out_float32x4_t = vnegq_f32 (arg0_float32x4_t);
9739 }
9740
9741-/* { dg-final { scan-assembler "vneg\.f32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
9742+/* { dg-final { scan-assembler "vneg\.f32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
9743 /* { dg-final { cleanup-saved-temps } } */
9744
9745=== modified file 'gcc/testsuite/gcc.target/arm/neon/vnegQs16.c'
9746--- old/gcc/testsuite/gcc.target/arm/neon/vnegQs16.c 2010-07-29 15:38:15 +0000
9747+++ new/gcc/testsuite/gcc.target/arm/neon/vnegQs16.c 2010-08-20 13:27:11 +0000
9748@@ -16,5 +16,5 @@
9749 out_int16x8_t = vnegq_s16 (arg0_int16x8_t);
9750 }
9751
9752-/* { dg-final { scan-assembler "vneg\.s16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
9753+/* { dg-final { scan-assembler "vneg\.s16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
9754 /* { dg-final { cleanup-saved-temps } } */
9755
9756=== modified file 'gcc/testsuite/gcc.target/arm/neon/vnegQs32.c'
9757--- old/gcc/testsuite/gcc.target/arm/neon/vnegQs32.c 2010-07-29 15:38:15 +0000
9758+++ new/gcc/testsuite/gcc.target/arm/neon/vnegQs32.c 2010-08-20 13:27:11 +0000
9759@@ -16,5 +16,5 @@
9760 out_int32x4_t = vnegq_s32 (arg0_int32x4_t);
9761 }
9762
9763-/* { dg-final { scan-assembler "vneg\.s32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
9764+/* { dg-final { scan-assembler "vneg\.s32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
9765 /* { dg-final { cleanup-saved-temps } } */
9766
9767=== modified file 'gcc/testsuite/gcc.target/arm/neon/vnegQs8.c'
9768--- old/gcc/testsuite/gcc.target/arm/neon/vnegQs8.c 2010-07-29 15:38:15 +0000
9769+++ new/gcc/testsuite/gcc.target/arm/neon/vnegQs8.c 2010-08-20 13:27:11 +0000
9770@@ -16,5 +16,5 @@
9771 out_int8x16_t = vnegq_s8 (arg0_int8x16_t);
9772 }
9773
9774-/* { dg-final { scan-assembler "vneg\.s8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
9775+/* { dg-final { scan-assembler "vneg\.s8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
9776 /* { dg-final { cleanup-saved-temps } } */
9777
9778=== modified file 'gcc/testsuite/gcc.target/arm/neon/vnegf32.c'
9779--- old/gcc/testsuite/gcc.target/arm/neon/vnegf32.c 2010-07-29 15:38:15 +0000
9780+++ new/gcc/testsuite/gcc.target/arm/neon/vnegf32.c 2010-08-20 13:27:11 +0000
9781@@ -16,5 +16,5 @@
9782 out_float32x2_t = vneg_f32 (arg0_float32x2_t);
9783 }
9784
9785-/* { dg-final { scan-assembler "vneg\.f32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
9786+/* { dg-final { scan-assembler "vneg\.f32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
9787 /* { dg-final { cleanup-saved-temps } } */
9788
9789=== modified file 'gcc/testsuite/gcc.target/arm/neon/vnegs16.c'
9790--- old/gcc/testsuite/gcc.target/arm/neon/vnegs16.c 2010-07-29 15:38:15 +0000
9791+++ new/gcc/testsuite/gcc.target/arm/neon/vnegs16.c 2010-08-20 13:27:11 +0000
9792@@ -16,5 +16,5 @@
9793 out_int16x4_t = vneg_s16 (arg0_int16x4_t);
9794 }
9795
9796-/* { dg-final { scan-assembler "vneg\.s16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
9797+/* { dg-final { scan-assembler "vneg\.s16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
9798 /* { dg-final { cleanup-saved-temps } } */
9799
9800=== modified file 'gcc/testsuite/gcc.target/arm/neon/vnegs32.c'
9801--- old/gcc/testsuite/gcc.target/arm/neon/vnegs32.c 2010-07-29 15:38:15 +0000
9802+++ new/gcc/testsuite/gcc.target/arm/neon/vnegs32.c 2010-08-20 13:27:11 +0000
9803@@ -16,5 +16,5 @@
9804 out_int32x2_t = vneg_s32 (arg0_int32x2_t);
9805 }
9806
9807-/* { dg-final { scan-assembler "vneg\.s32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
9808+/* { dg-final { scan-assembler "vneg\.s32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
9809 /* { dg-final { cleanup-saved-temps } } */
9810
9811=== modified file 'gcc/testsuite/gcc.target/arm/neon/vnegs8.c'
9812--- old/gcc/testsuite/gcc.target/arm/neon/vnegs8.c 2010-07-29 15:38:15 +0000
9813+++ new/gcc/testsuite/gcc.target/arm/neon/vnegs8.c 2010-08-20 13:27:11 +0000
9814@@ -16,5 +16,5 @@
9815 out_int8x8_t = vneg_s8 (arg0_int8x8_t);
9816 }
9817
9818-/* { dg-final { scan-assembler "vneg\.s8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
9819+/* { dg-final { scan-assembler "vneg\.s8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
9820 /* { dg-final { cleanup-saved-temps } } */
9821
9822=== modified file 'gcc/testsuite/gcc.target/arm/neon/vornQs16.c'
9823--- old/gcc/testsuite/gcc.target/arm/neon/vornQs16.c 2010-07-29 15:38:15 +0000
9824+++ new/gcc/testsuite/gcc.target/arm/neon/vornQs16.c 2010-08-20 13:27:11 +0000
9825@@ -17,5 +17,5 @@
9826 out_int16x8_t = vornq_s16 (arg0_int16x8_t, arg1_int16x8_t);
9827 }
9828
9829-/* { dg-final { scan-assembler "vorn\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
9830+/* { dg-final { scan-assembler "vorn\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
9831 /* { dg-final { cleanup-saved-temps } } */
9832
9833=== modified file 'gcc/testsuite/gcc.target/arm/neon/vornQs32.c'
9834--- old/gcc/testsuite/gcc.target/arm/neon/vornQs32.c 2010-07-29 15:38:15 +0000
9835+++ new/gcc/testsuite/gcc.target/arm/neon/vornQs32.c 2010-08-20 13:27:11 +0000
9836@@ -17,5 +17,5 @@
9837 out_int32x4_t = vornq_s32 (arg0_int32x4_t, arg1_int32x4_t);
9838 }
9839
9840-/* { dg-final { scan-assembler "vorn\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
9841+/* { dg-final { scan-assembler "vorn\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
9842 /* { dg-final { cleanup-saved-temps } } */
9843
9844=== modified file 'gcc/testsuite/gcc.target/arm/neon/vornQs64.c'
9845--- old/gcc/testsuite/gcc.target/arm/neon/vornQs64.c 2010-07-29 15:38:15 +0000
9846+++ new/gcc/testsuite/gcc.target/arm/neon/vornQs64.c 2010-08-20 13:27:11 +0000
9847@@ -17,5 +17,5 @@
9848 out_int64x2_t = vornq_s64 (arg0_int64x2_t, arg1_int64x2_t);
9849 }
9850
9851-/* { dg-final { scan-assembler "vorn\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
9852+/* { dg-final { scan-assembler "vorn\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
9853 /* { dg-final { cleanup-saved-temps } } */
9854
9855=== modified file 'gcc/testsuite/gcc.target/arm/neon/vornQs8.c'
9856--- old/gcc/testsuite/gcc.target/arm/neon/vornQs8.c 2010-07-29 15:38:15 +0000
9857+++ new/gcc/testsuite/gcc.target/arm/neon/vornQs8.c 2010-08-20 13:27:11 +0000
9858@@ -17,5 +17,5 @@
9859 out_int8x16_t = vornq_s8 (arg0_int8x16_t, arg1_int8x16_t);
9860 }
9861
9862-/* { dg-final { scan-assembler "vorn\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
9863+/* { dg-final { scan-assembler "vorn\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
9864 /* { dg-final { cleanup-saved-temps } } */
9865
9866=== modified file 'gcc/testsuite/gcc.target/arm/neon/vornQu16.c'
9867--- old/gcc/testsuite/gcc.target/arm/neon/vornQu16.c 2010-07-29 15:38:15 +0000
9868+++ new/gcc/testsuite/gcc.target/arm/neon/vornQu16.c 2010-08-20 13:27:11 +0000
9869@@ -17,5 +17,5 @@
9870 out_uint16x8_t = vornq_u16 (arg0_uint16x8_t, arg1_uint16x8_t);
9871 }
9872
9873-/* { dg-final { scan-assembler "vorn\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
9874+/* { dg-final { scan-assembler "vorn\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
9875 /* { dg-final { cleanup-saved-temps } } */
9876
9877=== modified file 'gcc/testsuite/gcc.target/arm/neon/vornQu32.c'
9878--- old/gcc/testsuite/gcc.target/arm/neon/vornQu32.c 2010-07-29 15:38:15 +0000
9879+++ new/gcc/testsuite/gcc.target/arm/neon/vornQu32.c 2010-08-20 13:27:11 +0000
9880@@ -17,5 +17,5 @@
9881 out_uint32x4_t = vornq_u32 (arg0_uint32x4_t, arg1_uint32x4_t);
9882 }
9883
9884-/* { dg-final { scan-assembler "vorn\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
9885+/* { dg-final { scan-assembler "vorn\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
9886 /* { dg-final { cleanup-saved-temps } } */
9887
9888=== modified file 'gcc/testsuite/gcc.target/arm/neon/vornQu64.c'
9889--- old/gcc/testsuite/gcc.target/arm/neon/vornQu64.c 2010-07-29 15:38:15 +0000
9890+++ new/gcc/testsuite/gcc.target/arm/neon/vornQu64.c 2010-08-20 13:27:11 +0000
9891@@ -17,5 +17,5 @@
9892 out_uint64x2_t = vornq_u64 (arg0_uint64x2_t, arg1_uint64x2_t);
9893 }
9894
9895-/* { dg-final { scan-assembler "vorn\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
9896+/* { dg-final { scan-assembler "vorn\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
9897 /* { dg-final { cleanup-saved-temps } } */
9898
9899=== modified file 'gcc/testsuite/gcc.target/arm/neon/vornQu8.c'
9900--- old/gcc/testsuite/gcc.target/arm/neon/vornQu8.c 2010-07-29 15:38:15 +0000
9901+++ new/gcc/testsuite/gcc.target/arm/neon/vornQu8.c 2010-08-20 13:27:11 +0000
9902@@ -17,5 +17,5 @@
9903 out_uint8x16_t = vornq_u8 (arg0_uint8x16_t, arg1_uint8x16_t);
9904 }
9905
9906-/* { dg-final { scan-assembler "vorn\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
9907+/* { dg-final { scan-assembler "vorn\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
9908 /* { dg-final { cleanup-saved-temps } } */
9909
9910=== modified file 'gcc/testsuite/gcc.target/arm/neon/vorns16.c'
9911--- old/gcc/testsuite/gcc.target/arm/neon/vorns16.c 2010-07-29 15:38:15 +0000
9912+++ new/gcc/testsuite/gcc.target/arm/neon/vorns16.c 2010-08-20 13:27:11 +0000
9913@@ -17,5 +17,5 @@
9914 out_int16x4_t = vorn_s16 (arg0_int16x4_t, arg1_int16x4_t);
9915 }
9916
9917-/* { dg-final { scan-assembler "vorn\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
9918+/* { dg-final { scan-assembler "vorn\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
9919 /* { dg-final { cleanup-saved-temps } } */
9920
9921=== modified file 'gcc/testsuite/gcc.target/arm/neon/vorns32.c'
9922--- old/gcc/testsuite/gcc.target/arm/neon/vorns32.c 2010-07-29 15:38:15 +0000
9923+++ new/gcc/testsuite/gcc.target/arm/neon/vorns32.c 2010-08-20 13:27:11 +0000
9924@@ -17,5 +17,5 @@
9925 out_int32x2_t = vorn_s32 (arg0_int32x2_t, arg1_int32x2_t);
9926 }
9927
9928-/* { dg-final { scan-assembler "vorn\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
9929+/* { dg-final { scan-assembler "vorn\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
9930 /* { dg-final { cleanup-saved-temps } } */
9931
9932=== modified file 'gcc/testsuite/gcc.target/arm/neon/vorns8.c'
9933--- old/gcc/testsuite/gcc.target/arm/neon/vorns8.c 2010-07-29 15:38:15 +0000
9934+++ new/gcc/testsuite/gcc.target/arm/neon/vorns8.c 2010-08-20 13:27:11 +0000
9935@@ -17,5 +17,5 @@
9936 out_int8x8_t = vorn_s8 (arg0_int8x8_t, arg1_int8x8_t);
9937 }
9938
9939-/* { dg-final { scan-assembler "vorn\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
9940+/* { dg-final { scan-assembler "vorn\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
9941 /* { dg-final { cleanup-saved-temps } } */
9942
9943=== modified file 'gcc/testsuite/gcc.target/arm/neon/vornu16.c'
9944--- old/gcc/testsuite/gcc.target/arm/neon/vornu16.c 2010-07-29 15:38:15 +0000
9945+++ new/gcc/testsuite/gcc.target/arm/neon/vornu16.c 2010-08-20 13:27:11 +0000
9946@@ -17,5 +17,5 @@
9947 out_uint16x4_t = vorn_u16 (arg0_uint16x4_t, arg1_uint16x4_t);
9948 }
9949
9950-/* { dg-final { scan-assembler "vorn\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
9951+/* { dg-final { scan-assembler "vorn\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
9952 /* { dg-final { cleanup-saved-temps } } */
9953
9954=== modified file 'gcc/testsuite/gcc.target/arm/neon/vornu32.c'
9955--- old/gcc/testsuite/gcc.target/arm/neon/vornu32.c 2010-07-29 15:38:15 +0000
9956+++ new/gcc/testsuite/gcc.target/arm/neon/vornu32.c 2010-08-20 13:27:11 +0000
9957@@ -17,5 +17,5 @@
9958 out_uint32x2_t = vorn_u32 (arg0_uint32x2_t, arg1_uint32x2_t);
9959 }
9960
9961-/* { dg-final { scan-assembler "vorn\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
9962+/* { dg-final { scan-assembler "vorn\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
9963 /* { dg-final { cleanup-saved-temps } } */
9964
9965=== modified file 'gcc/testsuite/gcc.target/arm/neon/vornu8.c'
9966--- old/gcc/testsuite/gcc.target/arm/neon/vornu8.c 2010-07-29 15:38:15 +0000
9967+++ new/gcc/testsuite/gcc.target/arm/neon/vornu8.c 2010-08-20 13:27:11 +0000
9968@@ -17,5 +17,5 @@
9969 out_uint8x8_t = vorn_u8 (arg0_uint8x8_t, arg1_uint8x8_t);
9970 }
9971
9972-/* { dg-final { scan-assembler "vorn\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
9973+/* { dg-final { scan-assembler "vorn\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
9974 /* { dg-final { cleanup-saved-temps } } */
9975
9976=== modified file 'gcc/testsuite/gcc.target/arm/neon/vorrQs16.c'
9977--- old/gcc/testsuite/gcc.target/arm/neon/vorrQs16.c 2010-07-29 15:38:15 +0000
9978+++ new/gcc/testsuite/gcc.target/arm/neon/vorrQs16.c 2010-08-20 13:27:11 +0000
9979@@ -17,5 +17,5 @@
9980 out_int16x8_t = vorrq_s16 (arg0_int16x8_t, arg1_int16x8_t);
9981 }
9982
9983-/* { dg-final { scan-assembler "vorr\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
9984+/* { dg-final { scan-assembler "vorr\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
9985 /* { dg-final { cleanup-saved-temps } } */
9986
9987=== modified file 'gcc/testsuite/gcc.target/arm/neon/vorrQs32.c'
9988--- old/gcc/testsuite/gcc.target/arm/neon/vorrQs32.c 2010-07-29 15:38:15 +0000
9989+++ new/gcc/testsuite/gcc.target/arm/neon/vorrQs32.c 2010-08-20 13:27:11 +0000
9990@@ -17,5 +17,5 @@
9991 out_int32x4_t = vorrq_s32 (arg0_int32x4_t, arg1_int32x4_t);
9992 }
9993
9994-/* { dg-final { scan-assembler "vorr\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
9995+/* { dg-final { scan-assembler "vorr\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
9996 /* { dg-final { cleanup-saved-temps } } */
9997
9998=== modified file 'gcc/testsuite/gcc.target/arm/neon/vorrQs64.c'
9999--- old/gcc/testsuite/gcc.target/arm/neon/vorrQs64.c 2010-07-29 15:38:15 +0000
10000+++ new/gcc/testsuite/gcc.target/arm/neon/vorrQs64.c 2010-08-20 13:27:11 +0000
10001@@ -17,5 +17,5 @@
10002 out_int64x2_t = vorrq_s64 (arg0_int64x2_t, arg1_int64x2_t);
10003 }
10004
10005-/* { dg-final { scan-assembler "vorr\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
10006+/* { dg-final { scan-assembler "vorr\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
10007 /* { dg-final { cleanup-saved-temps } } */
10008
10009=== modified file 'gcc/testsuite/gcc.target/arm/neon/vorrQs8.c'
10010--- old/gcc/testsuite/gcc.target/arm/neon/vorrQs8.c 2010-07-29 15:38:15 +0000
10011+++ new/gcc/testsuite/gcc.target/arm/neon/vorrQs8.c 2010-08-20 13:27:11 +0000
10012@@ -17,5 +17,5 @@
10013 out_int8x16_t = vorrq_s8 (arg0_int8x16_t, arg1_int8x16_t);
10014 }
10015
10016-/* { dg-final { scan-assembler "vorr\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
10017+/* { dg-final { scan-assembler "vorr\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
10018 /* { dg-final { cleanup-saved-temps } } */
10019
10020=== modified file 'gcc/testsuite/gcc.target/arm/neon/vorrQu16.c'
10021--- old/gcc/testsuite/gcc.target/arm/neon/vorrQu16.c 2010-07-29 15:38:15 +0000
10022+++ new/gcc/testsuite/gcc.target/arm/neon/vorrQu16.c 2010-08-20 13:27:11 +0000
10023@@ -17,5 +17,5 @@
10024 out_uint16x8_t = vorrq_u16 (arg0_uint16x8_t, arg1_uint16x8_t);
10025 }
10026
10027-/* { dg-final { scan-assembler "vorr\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
10028+/* { dg-final { scan-assembler "vorr\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
10029 /* { dg-final { cleanup-saved-temps } } */
10030
10031=== modified file 'gcc/testsuite/gcc.target/arm/neon/vorrQu32.c'
10032--- old/gcc/testsuite/gcc.target/arm/neon/vorrQu32.c 2010-07-29 15:38:15 +0000
10033+++ new/gcc/testsuite/gcc.target/arm/neon/vorrQu32.c 2010-08-20 13:27:11 +0000
10034@@ -17,5 +17,5 @@
10035 out_uint32x4_t = vorrq_u32 (arg0_uint32x4_t, arg1_uint32x4_t);
10036 }
10037
10038-/* { dg-final { scan-assembler "vorr\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
10039+/* { dg-final { scan-assembler "vorr\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
10040 /* { dg-final { cleanup-saved-temps } } */
10041
10042=== modified file 'gcc/testsuite/gcc.target/arm/neon/vorrQu64.c'
10043--- old/gcc/testsuite/gcc.target/arm/neon/vorrQu64.c 2010-07-29 15:38:15 +0000
10044+++ new/gcc/testsuite/gcc.target/arm/neon/vorrQu64.c 2010-08-20 13:27:11 +0000
10045@@ -17,5 +17,5 @@
10046 out_uint64x2_t = vorrq_u64 (arg0_uint64x2_t, arg1_uint64x2_t);
10047 }
10048
10049-/* { dg-final { scan-assembler "vorr\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
10050+/* { dg-final { scan-assembler "vorr\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
10051 /* { dg-final { cleanup-saved-temps } } */
10052
10053=== modified file 'gcc/testsuite/gcc.target/arm/neon/vorrQu8.c'
10054--- old/gcc/testsuite/gcc.target/arm/neon/vorrQu8.c 2010-07-29 15:38:15 +0000
10055+++ new/gcc/testsuite/gcc.target/arm/neon/vorrQu8.c 2010-08-20 13:27:11 +0000
10056@@ -17,5 +17,5 @@
10057 out_uint8x16_t = vorrq_u8 (arg0_uint8x16_t, arg1_uint8x16_t);
10058 }
10059
10060-/* { dg-final { scan-assembler "vorr\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
10061+/* { dg-final { scan-assembler "vorr\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
10062 /* { dg-final { cleanup-saved-temps } } */
10063
10064=== modified file 'gcc/testsuite/gcc.target/arm/neon/vorrs16.c'
10065--- old/gcc/testsuite/gcc.target/arm/neon/vorrs16.c 2010-07-29 15:38:15 +0000
10066+++ new/gcc/testsuite/gcc.target/arm/neon/vorrs16.c 2010-08-20 13:27:11 +0000
10067@@ -17,5 +17,5 @@
10068 out_int16x4_t = vorr_s16 (arg0_int16x4_t, arg1_int16x4_t);
10069 }
10070
10071-/* { dg-final { scan-assembler "vorr\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
10072+/* { dg-final { scan-assembler "vorr\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
10073 /* { dg-final { cleanup-saved-temps } } */
10074
10075=== modified file 'gcc/testsuite/gcc.target/arm/neon/vorrs32.c'
10076--- old/gcc/testsuite/gcc.target/arm/neon/vorrs32.c 2010-07-29 15:38:15 +0000
10077+++ new/gcc/testsuite/gcc.target/arm/neon/vorrs32.c 2010-08-20 13:27:11 +0000
10078@@ -17,5 +17,5 @@
10079 out_int32x2_t = vorr_s32 (arg0_int32x2_t, arg1_int32x2_t);
10080 }
10081
10082-/* { dg-final { scan-assembler "vorr\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
10083+/* { dg-final { scan-assembler "vorr\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
10084 /* { dg-final { cleanup-saved-temps } } */
10085
10086=== modified file 'gcc/testsuite/gcc.target/arm/neon/vorrs8.c'
10087--- old/gcc/testsuite/gcc.target/arm/neon/vorrs8.c 2010-07-29 15:38:15 +0000
10088+++ new/gcc/testsuite/gcc.target/arm/neon/vorrs8.c 2010-08-20 13:27:11 +0000
10089@@ -17,5 +17,5 @@
10090 out_int8x8_t = vorr_s8 (arg0_int8x8_t, arg1_int8x8_t);
10091 }
10092
10093-/* { dg-final { scan-assembler "vorr\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
10094+/* { dg-final { scan-assembler "vorr\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
10095 /* { dg-final { cleanup-saved-temps } } */
10096
10097=== modified file 'gcc/testsuite/gcc.target/arm/neon/vorru16.c'
10098--- old/gcc/testsuite/gcc.target/arm/neon/vorru16.c 2010-07-29 15:38:15 +0000
10099+++ new/gcc/testsuite/gcc.target/arm/neon/vorru16.c 2010-08-20 13:27:11 +0000
10100@@ -17,5 +17,5 @@
10101 out_uint16x4_t = vorr_u16 (arg0_uint16x4_t, arg1_uint16x4_t);
10102 }
10103
10104-/* { dg-final { scan-assembler "vorr\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
10105+/* { dg-final { scan-assembler "vorr\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
10106 /* { dg-final { cleanup-saved-temps } } */
10107
10108=== modified file 'gcc/testsuite/gcc.target/arm/neon/vorru32.c'
10109--- old/gcc/testsuite/gcc.target/arm/neon/vorru32.c 2010-07-29 15:38:15 +0000
10110+++ new/gcc/testsuite/gcc.target/arm/neon/vorru32.c 2010-08-20 13:27:11 +0000
10111@@ -17,5 +17,5 @@
10112 out_uint32x2_t = vorr_u32 (arg0_uint32x2_t, arg1_uint32x2_t);
10113 }
10114
10115-/* { dg-final { scan-assembler "vorr\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
10116+/* { dg-final { scan-assembler "vorr\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
10117 /* { dg-final { cleanup-saved-temps } } */
10118
10119=== modified file 'gcc/testsuite/gcc.target/arm/neon/vorru8.c'
10120--- old/gcc/testsuite/gcc.target/arm/neon/vorru8.c 2010-07-29 15:38:15 +0000
10121+++ new/gcc/testsuite/gcc.target/arm/neon/vorru8.c 2010-08-20 13:27:11 +0000
10122@@ -17,5 +17,5 @@
10123 out_uint8x8_t = vorr_u8 (arg0_uint8x8_t, arg1_uint8x8_t);
10124 }
10125
10126-/* { dg-final { scan-assembler "vorr\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
10127+/* { dg-final { scan-assembler "vorr\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
10128 /* { dg-final { cleanup-saved-temps } } */
10129
10130=== modified file 'gcc/testsuite/gcc.target/arm/neon/vpadalQs16.c'
10131--- old/gcc/testsuite/gcc.target/arm/neon/vpadalQs16.c 2010-07-29 15:38:15 +0000
10132+++ new/gcc/testsuite/gcc.target/arm/neon/vpadalQs16.c 2010-08-20 13:27:11 +0000
10133@@ -17,5 +17,5 @@
10134 out_int32x4_t = vpadalq_s16 (arg0_int32x4_t, arg1_int16x8_t);
10135 }
10136
10137-/* { dg-final { scan-assembler "vpadal\.s16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
10138+/* { dg-final { scan-assembler "vpadal\.s16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
10139 /* { dg-final { cleanup-saved-temps } } */
10140
10141=== modified file 'gcc/testsuite/gcc.target/arm/neon/vpadalQs32.c'
10142--- old/gcc/testsuite/gcc.target/arm/neon/vpadalQs32.c 2010-07-29 15:38:15 +0000
10143+++ new/gcc/testsuite/gcc.target/arm/neon/vpadalQs32.c 2010-08-20 13:27:11 +0000
10144@@ -17,5 +17,5 @@
10145 out_int64x2_t = vpadalq_s32 (arg0_int64x2_t, arg1_int32x4_t);
10146 }
10147
10148-/* { dg-final { scan-assembler "vpadal\.s32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
10149+/* { dg-final { scan-assembler "vpadal\.s32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
10150 /* { dg-final { cleanup-saved-temps } } */
10151
10152=== modified file 'gcc/testsuite/gcc.target/arm/neon/vpadalQs8.c'
10153--- old/gcc/testsuite/gcc.target/arm/neon/vpadalQs8.c 2010-07-29 15:38:15 +0000
10154+++ new/gcc/testsuite/gcc.target/arm/neon/vpadalQs8.c 2010-08-20 13:27:11 +0000
10155@@ -17,5 +17,5 @@
10156 out_int16x8_t = vpadalq_s8 (arg0_int16x8_t, arg1_int8x16_t);
10157 }
10158
10159-/* { dg-final { scan-assembler "vpadal\.s8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
10160+/* { dg-final { scan-assembler "vpadal\.s8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
10161 /* { dg-final { cleanup-saved-temps } } */
10162
10163=== modified file 'gcc/testsuite/gcc.target/arm/neon/vpadalQu16.c'
10164--- old/gcc/testsuite/gcc.target/arm/neon/vpadalQu16.c 2010-07-29 15:38:15 +0000
10165+++ new/gcc/testsuite/gcc.target/arm/neon/vpadalQu16.c 2010-08-20 13:27:11 +0000
10166@@ -17,5 +17,5 @@
10167 out_uint32x4_t = vpadalq_u16 (arg0_uint32x4_t, arg1_uint16x8_t);
10168 }
10169
10170-/* { dg-final { scan-assembler "vpadal\.u16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
10171+/* { dg-final { scan-assembler "vpadal\.u16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
10172 /* { dg-final { cleanup-saved-temps } } */
10173
10174=== modified file 'gcc/testsuite/gcc.target/arm/neon/vpadalQu32.c'
10175--- old/gcc/testsuite/gcc.target/arm/neon/vpadalQu32.c 2010-07-29 15:38:15 +0000
10176+++ new/gcc/testsuite/gcc.target/arm/neon/vpadalQu32.c 2010-08-20 13:27:11 +0000
10177@@ -17,5 +17,5 @@
10178 out_uint64x2_t = vpadalq_u32 (arg0_uint64x2_t, arg1_uint32x4_t);
10179 }
10180
10181-/* { dg-final { scan-assembler "vpadal\.u32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
10182+/* { dg-final { scan-assembler "vpadal\.u32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
10183 /* { dg-final { cleanup-saved-temps } } */
10184
10185=== modified file 'gcc/testsuite/gcc.target/arm/neon/vpadalQu8.c'
10186--- old/gcc/testsuite/gcc.target/arm/neon/vpadalQu8.c 2010-07-29 15:38:15 +0000
10187+++ new/gcc/testsuite/gcc.target/arm/neon/vpadalQu8.c 2010-08-20 13:27:11 +0000
10188@@ -17,5 +17,5 @@
10189 out_uint16x8_t = vpadalq_u8 (arg0_uint16x8_t, arg1_uint8x16_t);
10190 }
10191
10192-/* { dg-final { scan-assembler "vpadal\.u8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
10193+/* { dg-final { scan-assembler "vpadal\.u8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
10194 /* { dg-final { cleanup-saved-temps } } */
10195
10196=== modified file 'gcc/testsuite/gcc.target/arm/neon/vpadals16.c'
10197--- old/gcc/testsuite/gcc.target/arm/neon/vpadals16.c 2010-07-29 15:38:15 +0000
10198+++ new/gcc/testsuite/gcc.target/arm/neon/vpadals16.c 2010-08-20 13:27:11 +0000
10199@@ -17,5 +17,5 @@
10200 out_int32x2_t = vpadal_s16 (arg0_int32x2_t, arg1_int16x4_t);
10201 }
10202
10203-/* { dg-final { scan-assembler "vpadal\.s16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
10204+/* { dg-final { scan-assembler "vpadal\.s16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
10205 /* { dg-final { cleanup-saved-temps } } */
10206
10207=== modified file 'gcc/testsuite/gcc.target/arm/neon/vpadals32.c'
10208--- old/gcc/testsuite/gcc.target/arm/neon/vpadals32.c 2010-07-29 15:38:15 +0000
10209+++ new/gcc/testsuite/gcc.target/arm/neon/vpadals32.c 2010-08-20 13:27:11 +0000
10210@@ -17,5 +17,5 @@
10211 out_int64x1_t = vpadal_s32 (arg0_int64x1_t, arg1_int32x2_t);
10212 }
10213
10214-/* { dg-final { scan-assembler "vpadal\.s32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
10215+/* { dg-final { scan-assembler "vpadal\.s32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
10216 /* { dg-final { cleanup-saved-temps } } */
10217
10218=== modified file 'gcc/testsuite/gcc.target/arm/neon/vpadals8.c'
10219--- old/gcc/testsuite/gcc.target/arm/neon/vpadals8.c 2010-07-29 15:38:15 +0000
10220+++ new/gcc/testsuite/gcc.target/arm/neon/vpadals8.c 2010-08-20 13:27:11 +0000
10221@@ -17,5 +17,5 @@
10222 out_int16x4_t = vpadal_s8 (arg0_int16x4_t, arg1_int8x8_t);
10223 }
10224
10225-/* { dg-final { scan-assembler "vpadal\.s8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
10226+/* { dg-final { scan-assembler "vpadal\.s8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
10227 /* { dg-final { cleanup-saved-temps } } */
10228
10229=== modified file 'gcc/testsuite/gcc.target/arm/neon/vpadalu16.c'
10230--- old/gcc/testsuite/gcc.target/arm/neon/vpadalu16.c 2010-07-29 15:38:15 +0000
10231+++ new/gcc/testsuite/gcc.target/arm/neon/vpadalu16.c 2010-08-20 13:27:11 +0000
10232@@ -17,5 +17,5 @@
10233 out_uint32x2_t = vpadal_u16 (arg0_uint32x2_t, arg1_uint16x4_t);
10234 }
10235
10236-/* { dg-final { scan-assembler "vpadal\.u16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
10237+/* { dg-final { scan-assembler "vpadal\.u16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
10238 /* { dg-final { cleanup-saved-temps } } */
10239
10240=== modified file 'gcc/testsuite/gcc.target/arm/neon/vpadalu32.c'
10241--- old/gcc/testsuite/gcc.target/arm/neon/vpadalu32.c 2010-07-29 15:38:15 +0000
10242+++ new/gcc/testsuite/gcc.target/arm/neon/vpadalu32.c 2010-08-20 13:27:11 +0000
10243@@ -17,5 +17,5 @@
10244 out_uint64x1_t = vpadal_u32 (arg0_uint64x1_t, arg1_uint32x2_t);
10245 }
10246
10247-/* { dg-final { scan-assembler "vpadal\.u32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
10248+/* { dg-final { scan-assembler "vpadal\.u32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
10249 /* { dg-final { cleanup-saved-temps } } */
10250
10251=== modified file 'gcc/testsuite/gcc.target/arm/neon/vpadalu8.c'
10252--- old/gcc/testsuite/gcc.target/arm/neon/vpadalu8.c 2010-07-29 15:38:15 +0000
10253+++ new/gcc/testsuite/gcc.target/arm/neon/vpadalu8.c 2010-08-20 13:27:11 +0000
10254@@ -17,5 +17,5 @@
10255 out_uint16x4_t = vpadal_u8 (arg0_uint16x4_t, arg1_uint8x8_t);
10256 }
10257
10258-/* { dg-final { scan-assembler "vpadal\.u8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
10259+/* { dg-final { scan-assembler "vpadal\.u8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
10260 /* { dg-final { cleanup-saved-temps } } */
10261
10262=== modified file 'gcc/testsuite/gcc.target/arm/neon/vpaddf32.c'
10263--- old/gcc/testsuite/gcc.target/arm/neon/vpaddf32.c 2010-07-29 15:38:15 +0000
10264+++ new/gcc/testsuite/gcc.target/arm/neon/vpaddf32.c 2010-08-20 13:27:11 +0000
10265@@ -17,5 +17,5 @@
10266 out_float32x2_t = vpadd_f32 (arg0_float32x2_t, arg1_float32x2_t);
10267 }
10268
10269-/* { dg-final { scan-assembler "vpadd\.f32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
10270+/* { dg-final { scan-assembler "vpadd\.f32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
10271 /* { dg-final { cleanup-saved-temps } } */
10272
10273=== modified file 'gcc/testsuite/gcc.target/arm/neon/vpaddlQs16.c'
10274--- old/gcc/testsuite/gcc.target/arm/neon/vpaddlQs16.c 2010-07-29 15:38:15 +0000
10275+++ new/gcc/testsuite/gcc.target/arm/neon/vpaddlQs16.c 2010-08-20 13:27:11 +0000
10276@@ -16,5 +16,5 @@
10277 out_int32x4_t = vpaddlq_s16 (arg0_int16x8_t);
10278 }
10279
10280-/* { dg-final { scan-assembler "vpaddl\.s16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
10281+/* { dg-final { scan-assembler "vpaddl\.s16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
10282 /* { dg-final { cleanup-saved-temps } } */
10283
10284=== modified file 'gcc/testsuite/gcc.target/arm/neon/vpaddlQs32.c'
10285--- old/gcc/testsuite/gcc.target/arm/neon/vpaddlQs32.c 2010-07-29 15:38:15 +0000
10286+++ new/gcc/testsuite/gcc.target/arm/neon/vpaddlQs32.c 2010-08-20 13:27:11 +0000
10287@@ -16,5 +16,5 @@
10288 out_int64x2_t = vpaddlq_s32 (arg0_int32x4_t);
10289 }
10290
10291-/* { dg-final { scan-assembler "vpaddl\.s32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
10292+/* { dg-final { scan-assembler "vpaddl\.s32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
10293 /* { dg-final { cleanup-saved-temps } } */
10294
10295=== modified file 'gcc/testsuite/gcc.target/arm/neon/vpaddlQs8.c'
10296--- old/gcc/testsuite/gcc.target/arm/neon/vpaddlQs8.c 2010-07-29 15:38:15 +0000
10297+++ new/gcc/testsuite/gcc.target/arm/neon/vpaddlQs8.c 2010-08-20 13:27:11 +0000
10298@@ -16,5 +16,5 @@
10299 out_int16x8_t = vpaddlq_s8 (arg0_int8x16_t);
10300 }
10301
10302-/* { dg-final { scan-assembler "vpaddl\.s8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
10303+/* { dg-final { scan-assembler "vpaddl\.s8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
10304 /* { dg-final { cleanup-saved-temps } } */
10305
10306=== modified file 'gcc/testsuite/gcc.target/arm/neon/vpaddlQu16.c'
10307--- old/gcc/testsuite/gcc.target/arm/neon/vpaddlQu16.c 2010-07-29 15:38:15 +0000
10308+++ new/gcc/testsuite/gcc.target/arm/neon/vpaddlQu16.c 2010-08-20 13:27:11 +0000
10309@@ -16,5 +16,5 @@
10310 out_uint32x4_t = vpaddlq_u16 (arg0_uint16x8_t);
10311 }
10312
10313-/* { dg-final { scan-assembler "vpaddl\.u16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
10314+/* { dg-final { scan-assembler "vpaddl\.u16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
10315 /* { dg-final { cleanup-saved-temps } } */
10316
10317=== modified file 'gcc/testsuite/gcc.target/arm/neon/vpaddlQu32.c'
10318--- old/gcc/testsuite/gcc.target/arm/neon/vpaddlQu32.c 2010-07-29 15:38:15 +0000
10319+++ new/gcc/testsuite/gcc.target/arm/neon/vpaddlQu32.c 2010-08-20 13:27:11 +0000
10320@@ -16,5 +16,5 @@
10321 out_uint64x2_t = vpaddlq_u32 (arg0_uint32x4_t);
10322 }
10323
10324-/* { dg-final { scan-assembler "vpaddl\.u32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
10325+/* { dg-final { scan-assembler "vpaddl\.u32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
10326 /* { dg-final { cleanup-saved-temps } } */
10327
10328=== modified file 'gcc/testsuite/gcc.target/arm/neon/vpaddlQu8.c'
10329--- old/gcc/testsuite/gcc.target/arm/neon/vpaddlQu8.c 2010-07-29 15:38:15 +0000
10330+++ new/gcc/testsuite/gcc.target/arm/neon/vpaddlQu8.c 2010-08-20 13:27:11 +0000
10331@@ -16,5 +16,5 @@
10332 out_uint16x8_t = vpaddlq_u8 (arg0_uint8x16_t);
10333 }
10334
10335-/* { dg-final { scan-assembler "vpaddl\.u8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
10336+/* { dg-final { scan-assembler "vpaddl\.u8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
10337 /* { dg-final { cleanup-saved-temps } } */
10338
10339=== modified file 'gcc/testsuite/gcc.target/arm/neon/vpaddls16.c'
10340--- old/gcc/testsuite/gcc.target/arm/neon/vpaddls16.c 2010-07-29 15:38:15 +0000
10341+++ new/gcc/testsuite/gcc.target/arm/neon/vpaddls16.c 2010-08-20 13:27:11 +0000
10342@@ -16,5 +16,5 @@
10343 out_int32x2_t = vpaddl_s16 (arg0_int16x4_t);
10344 }
10345
10346-/* { dg-final { scan-assembler "vpaddl\.s16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
10347+/* { dg-final { scan-assembler "vpaddl\.s16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
10348 /* { dg-final { cleanup-saved-temps } } */
10349
10350=== modified file 'gcc/testsuite/gcc.target/arm/neon/vpaddls32.c'
10351--- old/gcc/testsuite/gcc.target/arm/neon/vpaddls32.c 2010-07-29 15:38:15 +0000
10352+++ new/gcc/testsuite/gcc.target/arm/neon/vpaddls32.c 2010-08-20 13:27:11 +0000
10353@@ -16,5 +16,5 @@
10354 out_int64x1_t = vpaddl_s32 (arg0_int32x2_t);
10355 }
10356
10357-/* { dg-final { scan-assembler "vpaddl\.s32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
10358+/* { dg-final { scan-assembler "vpaddl\.s32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
10359 /* { dg-final { cleanup-saved-temps } } */
10360
10361=== modified file 'gcc/testsuite/gcc.target/arm/neon/vpaddls8.c'
10362--- old/gcc/testsuite/gcc.target/arm/neon/vpaddls8.c 2010-07-29 15:38:15 +0000
10363+++ new/gcc/testsuite/gcc.target/arm/neon/vpaddls8.c 2010-08-20 13:27:11 +0000
10364@@ -16,5 +16,5 @@
10365 out_int16x4_t = vpaddl_s8 (arg0_int8x8_t);
10366 }
10367
10368-/* { dg-final { scan-assembler "vpaddl\.s8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
10369+/* { dg-final { scan-assembler "vpaddl\.s8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
10370 /* { dg-final { cleanup-saved-temps } } */
10371
10372=== modified file 'gcc/testsuite/gcc.target/arm/neon/vpaddlu16.c'
10373--- old/gcc/testsuite/gcc.target/arm/neon/vpaddlu16.c 2010-07-29 15:38:15 +0000
10374+++ new/gcc/testsuite/gcc.target/arm/neon/vpaddlu16.c 2010-08-20 13:27:11 +0000
10375@@ -16,5 +16,5 @@
10376 out_uint32x2_t = vpaddl_u16 (arg0_uint16x4_t);
10377 }
10378
10379-/* { dg-final { scan-assembler "vpaddl\.u16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
10380+/* { dg-final { scan-assembler "vpaddl\.u16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
10381 /* { dg-final { cleanup-saved-temps } } */
10382
10383=== modified file 'gcc/testsuite/gcc.target/arm/neon/vpaddlu32.c'
10384--- old/gcc/testsuite/gcc.target/arm/neon/vpaddlu32.c 2010-07-29 15:38:15 +0000
10385+++ new/gcc/testsuite/gcc.target/arm/neon/vpaddlu32.c 2010-08-20 13:27:11 +0000
10386@@ -16,5 +16,5 @@
10387 out_uint64x1_t = vpaddl_u32 (arg0_uint32x2_t);
10388 }
10389
10390-/* { dg-final { scan-assembler "vpaddl\.u32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
10391+/* { dg-final { scan-assembler "vpaddl\.u32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
10392 /* { dg-final { cleanup-saved-temps } } */
10393
10394=== modified file 'gcc/testsuite/gcc.target/arm/neon/vpaddlu8.c'
10395--- old/gcc/testsuite/gcc.target/arm/neon/vpaddlu8.c 2010-07-29 15:38:15 +0000
10396+++ new/gcc/testsuite/gcc.target/arm/neon/vpaddlu8.c 2010-08-20 13:27:11 +0000
10397@@ -16,5 +16,5 @@
10398 out_uint16x4_t = vpaddl_u8 (arg0_uint8x8_t);
10399 }
10400
10401-/* { dg-final { scan-assembler "vpaddl\.u8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
10402+/* { dg-final { scan-assembler "vpaddl\.u8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
10403 /* { dg-final { cleanup-saved-temps } } */
10404
10405=== modified file 'gcc/testsuite/gcc.target/arm/neon/vpadds16.c'
10406--- old/gcc/testsuite/gcc.target/arm/neon/vpadds16.c 2010-07-29 15:38:15 +0000
10407+++ new/gcc/testsuite/gcc.target/arm/neon/vpadds16.c 2010-08-20 13:27:11 +0000
10408@@ -17,5 +17,5 @@
10409 out_int16x4_t = vpadd_s16 (arg0_int16x4_t, arg1_int16x4_t);
10410 }
10411
10412-/* { dg-final { scan-assembler "vpadd\.i16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
10413+/* { dg-final { scan-assembler "vpadd\.i16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
10414 /* { dg-final { cleanup-saved-temps } } */
10415
10416=== modified file 'gcc/testsuite/gcc.target/arm/neon/vpadds32.c'
10417--- old/gcc/testsuite/gcc.target/arm/neon/vpadds32.c 2010-07-29 15:38:15 +0000
10418+++ new/gcc/testsuite/gcc.target/arm/neon/vpadds32.c 2010-08-20 13:27:11 +0000
10419@@ -17,5 +17,5 @@
10420 out_int32x2_t = vpadd_s32 (arg0_int32x2_t, arg1_int32x2_t);
10421 }
10422
10423-/* { dg-final { scan-assembler "vpadd\.i32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
10424+/* { dg-final { scan-assembler "vpadd\.i32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
10425 /* { dg-final { cleanup-saved-temps } } */
10426
10427=== modified file 'gcc/testsuite/gcc.target/arm/neon/vpadds8.c'
10428--- old/gcc/testsuite/gcc.target/arm/neon/vpadds8.c 2010-07-29 15:38:15 +0000
10429+++ new/gcc/testsuite/gcc.target/arm/neon/vpadds8.c 2010-08-20 13:27:11 +0000
10430@@ -17,5 +17,5 @@
10431 out_int8x8_t = vpadd_s8 (arg0_int8x8_t, arg1_int8x8_t);
10432 }
10433
10434-/* { dg-final { scan-assembler "vpadd\.i8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
10435+/* { dg-final { scan-assembler "vpadd\.i8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
10436 /* { dg-final { cleanup-saved-temps } } */
10437
10438=== modified file 'gcc/testsuite/gcc.target/arm/neon/vpaddu16.c'
10439--- old/gcc/testsuite/gcc.target/arm/neon/vpaddu16.c 2010-07-29 15:38:15 +0000
10440+++ new/gcc/testsuite/gcc.target/arm/neon/vpaddu16.c 2010-08-20 13:27:11 +0000
10441@@ -17,5 +17,5 @@
10442 out_uint16x4_t = vpadd_u16 (arg0_uint16x4_t, arg1_uint16x4_t);
10443 }
10444
10445-/* { dg-final { scan-assembler "vpadd\.i16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
10446+/* { dg-final { scan-assembler "vpadd\.i16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
10447 /* { dg-final { cleanup-saved-temps } } */
10448
10449=== modified file 'gcc/testsuite/gcc.target/arm/neon/vpaddu32.c'
10450--- old/gcc/testsuite/gcc.target/arm/neon/vpaddu32.c 2010-07-29 15:38:15 +0000
10451+++ new/gcc/testsuite/gcc.target/arm/neon/vpaddu32.c 2010-08-20 13:27:11 +0000
10452@@ -17,5 +17,5 @@
10453 out_uint32x2_t = vpadd_u32 (arg0_uint32x2_t, arg1_uint32x2_t);
10454 }
10455
10456-/* { dg-final { scan-assembler "vpadd\.i32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
10457+/* { dg-final { scan-assembler "vpadd\.i32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
10458 /* { dg-final { cleanup-saved-temps } } */
10459
10460=== modified file 'gcc/testsuite/gcc.target/arm/neon/vpaddu8.c'
10461--- old/gcc/testsuite/gcc.target/arm/neon/vpaddu8.c 2010-07-29 15:38:15 +0000
10462+++ new/gcc/testsuite/gcc.target/arm/neon/vpaddu8.c 2010-08-20 13:27:11 +0000
10463@@ -17,5 +17,5 @@
10464 out_uint8x8_t = vpadd_u8 (arg0_uint8x8_t, arg1_uint8x8_t);
10465 }
10466
10467-/* { dg-final { scan-assembler "vpadd\.i8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
10468+/* { dg-final { scan-assembler "vpadd\.i8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
10469 /* { dg-final { cleanup-saved-temps } } */
10470
10471=== modified file 'gcc/testsuite/gcc.target/arm/neon/vpmaxf32.c'
10472--- old/gcc/testsuite/gcc.target/arm/neon/vpmaxf32.c 2010-07-29 15:38:15 +0000
10473+++ new/gcc/testsuite/gcc.target/arm/neon/vpmaxf32.c 2010-08-20 13:27:11 +0000
10474@@ -17,5 +17,5 @@
10475 out_float32x2_t = vpmax_f32 (arg0_float32x2_t, arg1_float32x2_t);
10476 }
10477
10478-/* { dg-final { scan-assembler "vpmax\.f32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
10479+/* { dg-final { scan-assembler "vpmax\.f32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
10480 /* { dg-final { cleanup-saved-temps } } */
10481
10482=== modified file 'gcc/testsuite/gcc.target/arm/neon/vpmaxs16.c'
10483--- old/gcc/testsuite/gcc.target/arm/neon/vpmaxs16.c 2010-07-29 15:38:15 +0000
10484+++ new/gcc/testsuite/gcc.target/arm/neon/vpmaxs16.c 2010-08-20 13:27:11 +0000
10485@@ -17,5 +17,5 @@
10486 out_int16x4_t = vpmax_s16 (arg0_int16x4_t, arg1_int16x4_t);
10487 }
10488
10489-/* { dg-final { scan-assembler "vpmax\.s16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
10490+/* { dg-final { scan-assembler "vpmax\.s16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
10491 /* { dg-final { cleanup-saved-temps } } */
10492
10493=== modified file 'gcc/testsuite/gcc.target/arm/neon/vpmaxs32.c'
10494--- old/gcc/testsuite/gcc.target/arm/neon/vpmaxs32.c 2010-07-29 15:38:15 +0000
10495+++ new/gcc/testsuite/gcc.target/arm/neon/vpmaxs32.c 2010-08-20 13:27:11 +0000
10496@@ -17,5 +17,5 @@
10497 out_int32x2_t = vpmax_s32 (arg0_int32x2_t, arg1_int32x2_t);
10498 }
10499
10500-/* { dg-final { scan-assembler "vpmax\.s32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
10501+/* { dg-final { scan-assembler "vpmax\.s32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
10502 /* { dg-final { cleanup-saved-temps } } */
10503
10504=== modified file 'gcc/testsuite/gcc.target/arm/neon/vpmaxs8.c'
10505--- old/gcc/testsuite/gcc.target/arm/neon/vpmaxs8.c 2010-07-29 15:38:15 +0000
10506+++ new/gcc/testsuite/gcc.target/arm/neon/vpmaxs8.c 2010-08-20 13:27:11 +0000
10507@@ -17,5 +17,5 @@
10508 out_int8x8_t = vpmax_s8 (arg0_int8x8_t, arg1_int8x8_t);
10509 }
10510
10511-/* { dg-final { scan-assembler "vpmax\.s8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
10512+/* { dg-final { scan-assembler "vpmax\.s8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
10513 /* { dg-final { cleanup-saved-temps } } */
10514
10515=== modified file 'gcc/testsuite/gcc.target/arm/neon/vpmaxu16.c'
10516--- old/gcc/testsuite/gcc.target/arm/neon/vpmaxu16.c 2010-07-29 15:38:15 +0000
10517+++ new/gcc/testsuite/gcc.target/arm/neon/vpmaxu16.c 2010-08-20 13:27:11 +0000
10518@@ -17,5 +17,5 @@
10519 out_uint16x4_t = vpmax_u16 (arg0_uint16x4_t, arg1_uint16x4_t);
10520 }
10521
10522-/* { dg-final { scan-assembler "vpmax\.u16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
10523+/* { dg-final { scan-assembler "vpmax\.u16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
10524 /* { dg-final { cleanup-saved-temps } } */
10525
10526=== modified file 'gcc/testsuite/gcc.target/arm/neon/vpmaxu32.c'
10527--- old/gcc/testsuite/gcc.target/arm/neon/vpmaxu32.c 2010-07-29 15:38:15 +0000
10528+++ new/gcc/testsuite/gcc.target/arm/neon/vpmaxu32.c 2010-08-20 13:27:11 +0000
10529@@ -17,5 +17,5 @@
10530 out_uint32x2_t = vpmax_u32 (arg0_uint32x2_t, arg1_uint32x2_t);
10531 }
10532
10533-/* { dg-final { scan-assembler "vpmax\.u32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
10534+/* { dg-final { scan-assembler "vpmax\.u32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
10535 /* { dg-final { cleanup-saved-temps } } */
10536
10537=== modified file 'gcc/testsuite/gcc.target/arm/neon/vpmaxu8.c'
10538--- old/gcc/testsuite/gcc.target/arm/neon/vpmaxu8.c 2010-07-29 15:38:15 +0000
10539+++ new/gcc/testsuite/gcc.target/arm/neon/vpmaxu8.c 2010-08-20 13:27:11 +0000
10540@@ -17,5 +17,5 @@
10541 out_uint8x8_t = vpmax_u8 (arg0_uint8x8_t, arg1_uint8x8_t);
10542 }
10543
10544-/* { dg-final { scan-assembler "vpmax\.u8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
10545+/* { dg-final { scan-assembler "vpmax\.u8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
10546 /* { dg-final { cleanup-saved-temps } } */
10547
10548=== modified file 'gcc/testsuite/gcc.target/arm/neon/vpminf32.c'
10549--- old/gcc/testsuite/gcc.target/arm/neon/vpminf32.c 2010-07-29 15:38:15 +0000
10550+++ new/gcc/testsuite/gcc.target/arm/neon/vpminf32.c 2010-08-20 13:27:11 +0000
10551@@ -17,5 +17,5 @@
10552 out_float32x2_t = vpmin_f32 (arg0_float32x2_t, arg1_float32x2_t);
10553 }
10554
10555-/* { dg-final { scan-assembler "vpmin\.f32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
10556+/* { dg-final { scan-assembler "vpmin\.f32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
10557 /* { dg-final { cleanup-saved-temps } } */
10558
10559=== modified file 'gcc/testsuite/gcc.target/arm/neon/vpmins16.c'
10560--- old/gcc/testsuite/gcc.target/arm/neon/vpmins16.c 2010-07-29 15:38:15 +0000
10561+++ new/gcc/testsuite/gcc.target/arm/neon/vpmins16.c 2010-08-20 13:27:11 +0000
10562@@ -17,5 +17,5 @@
10563 out_int16x4_t = vpmin_s16 (arg0_int16x4_t, arg1_int16x4_t);
10564 }
10565
10566-/* { dg-final { scan-assembler "vpmin\.s16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
10567+/* { dg-final { scan-assembler "vpmin\.s16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
10568 /* { dg-final { cleanup-saved-temps } } */
10569
10570=== modified file 'gcc/testsuite/gcc.target/arm/neon/vpmins32.c'
10571--- old/gcc/testsuite/gcc.target/arm/neon/vpmins32.c 2010-07-29 15:38:15 +0000
10572+++ new/gcc/testsuite/gcc.target/arm/neon/vpmins32.c 2010-08-20 13:27:11 +0000
10573@@ -17,5 +17,5 @@
10574 out_int32x2_t = vpmin_s32 (arg0_int32x2_t, arg1_int32x2_t);
10575 }
10576
10577-/* { dg-final { scan-assembler "vpmin\.s32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
10578+/* { dg-final { scan-assembler "vpmin\.s32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
10579 /* { dg-final { cleanup-saved-temps } } */
10580
10581=== modified file 'gcc/testsuite/gcc.target/arm/neon/vpmins8.c'
10582--- old/gcc/testsuite/gcc.target/arm/neon/vpmins8.c 2010-07-29 15:38:15 +0000
10583+++ new/gcc/testsuite/gcc.target/arm/neon/vpmins8.c 2010-08-20 13:27:11 +0000
10584@@ -17,5 +17,5 @@
10585 out_int8x8_t = vpmin_s8 (arg0_int8x8_t, arg1_int8x8_t);
10586 }
10587
10588-/* { dg-final { scan-assembler "vpmin\.s8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
10589+/* { dg-final { scan-assembler "vpmin\.s8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
10590 /* { dg-final { cleanup-saved-temps } } */
10591
10592=== modified file 'gcc/testsuite/gcc.target/arm/neon/vpminu16.c'
10593--- old/gcc/testsuite/gcc.target/arm/neon/vpminu16.c 2010-07-29 15:38:15 +0000
10594+++ new/gcc/testsuite/gcc.target/arm/neon/vpminu16.c 2010-08-20 13:27:11 +0000
10595@@ -17,5 +17,5 @@
10596 out_uint16x4_t = vpmin_u16 (arg0_uint16x4_t, arg1_uint16x4_t);
10597 }
10598
10599-/* { dg-final { scan-assembler "vpmin\.u16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
10600+/* { dg-final { scan-assembler "vpmin\.u16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
10601 /* { dg-final { cleanup-saved-temps } } */
10602
10603=== modified file 'gcc/testsuite/gcc.target/arm/neon/vpminu32.c'
10604--- old/gcc/testsuite/gcc.target/arm/neon/vpminu32.c 2010-07-29 15:38:15 +0000
10605+++ new/gcc/testsuite/gcc.target/arm/neon/vpminu32.c 2010-08-20 13:27:11 +0000
10606@@ -17,5 +17,5 @@
10607 out_uint32x2_t = vpmin_u32 (arg0_uint32x2_t, arg1_uint32x2_t);
10608 }
10609
10610-/* { dg-final { scan-assembler "vpmin\.u32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
10611+/* { dg-final { scan-assembler "vpmin\.u32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
10612 /* { dg-final { cleanup-saved-temps } } */
10613
10614=== modified file 'gcc/testsuite/gcc.target/arm/neon/vpminu8.c'
10615--- old/gcc/testsuite/gcc.target/arm/neon/vpminu8.c 2010-07-29 15:38:15 +0000
10616+++ new/gcc/testsuite/gcc.target/arm/neon/vpminu8.c 2010-08-20 13:27:11 +0000
10617@@ -17,5 +17,5 @@
10618 out_uint8x8_t = vpmin_u8 (arg0_uint8x8_t, arg1_uint8x8_t);
10619 }
10620
10621-/* { dg-final { scan-assembler "vpmin\.u8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
10622+/* { dg-final { scan-assembler "vpmin\.u8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
10623 /* { dg-final { cleanup-saved-temps } } */
10624
10625=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqRdmulhQ_lanes16.c'
10626--- old/gcc/testsuite/gcc.target/arm/neon/vqRdmulhQ_lanes16.c 2010-07-29 15:38:15 +0000
10627+++ new/gcc/testsuite/gcc.target/arm/neon/vqRdmulhQ_lanes16.c 2010-08-20 13:27:11 +0000
10628@@ -17,5 +17,5 @@
10629 out_int16x8_t = vqrdmulhq_lane_s16 (arg0_int16x8_t, arg1_int16x4_t, 1);
10630 }
10631
10632-/* { dg-final { scan-assembler "vqrdmulh\.s16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
10633+/* { dg-final { scan-assembler "vqrdmulh\.s16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
10634 /* { dg-final { cleanup-saved-temps } } */
10635
10636=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqRdmulhQ_lanes32.c'
10637--- old/gcc/testsuite/gcc.target/arm/neon/vqRdmulhQ_lanes32.c 2010-07-29 15:38:15 +0000
10638+++ new/gcc/testsuite/gcc.target/arm/neon/vqRdmulhQ_lanes32.c 2010-08-20 13:27:11 +0000
10639@@ -17,5 +17,5 @@
10640 out_int32x4_t = vqrdmulhq_lane_s32 (arg0_int32x4_t, arg1_int32x2_t, 1);
10641 }
10642
10643-/* { dg-final { scan-assembler "vqrdmulh\.s32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
10644+/* { dg-final { scan-assembler "vqrdmulh\.s32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
10645 /* { dg-final { cleanup-saved-temps } } */
10646
10647=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqRdmulhQ_ns16.c'
10648--- old/gcc/testsuite/gcc.target/arm/neon/vqRdmulhQ_ns16.c 2010-07-29 15:38:15 +0000
10649+++ new/gcc/testsuite/gcc.target/arm/neon/vqRdmulhQ_ns16.c 2010-08-20 13:27:11 +0000
10650@@ -17,5 +17,5 @@
10651 out_int16x8_t = vqrdmulhq_n_s16 (arg0_int16x8_t, arg1_int16_t);
10652 }
10653
10654-/* { dg-final { scan-assembler "vqrdmulh\.s16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
10655+/* { dg-final { scan-assembler "vqrdmulh\.s16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
10656 /* { dg-final { cleanup-saved-temps } } */
10657
10658=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqRdmulhQ_ns32.c'
10659--- old/gcc/testsuite/gcc.target/arm/neon/vqRdmulhQ_ns32.c 2010-07-29 15:38:15 +0000
10660+++ new/gcc/testsuite/gcc.target/arm/neon/vqRdmulhQ_ns32.c 2010-08-20 13:27:11 +0000
10661@@ -17,5 +17,5 @@
10662 out_int32x4_t = vqrdmulhq_n_s32 (arg0_int32x4_t, arg1_int32_t);
10663 }
10664
10665-/* { dg-final { scan-assembler "vqrdmulh\.s32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
10666+/* { dg-final { scan-assembler "vqrdmulh\.s32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
10667 /* { dg-final { cleanup-saved-temps } } */
10668
10669=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqRdmulhQs16.c'
10670--- old/gcc/testsuite/gcc.target/arm/neon/vqRdmulhQs16.c 2010-07-29 15:38:15 +0000
10671+++ new/gcc/testsuite/gcc.target/arm/neon/vqRdmulhQs16.c 2010-08-20 13:27:11 +0000
10672@@ -17,5 +17,5 @@
10673 out_int16x8_t = vqrdmulhq_s16 (arg0_int16x8_t, arg1_int16x8_t);
10674 }
10675
10676-/* { dg-final { scan-assembler "vqrdmulh\.s16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
10677+/* { dg-final { scan-assembler "vqrdmulh\.s16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
10678 /* { dg-final { cleanup-saved-temps } } */
10679
10680=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqRdmulhQs32.c'
10681--- old/gcc/testsuite/gcc.target/arm/neon/vqRdmulhQs32.c 2010-07-29 15:38:15 +0000
10682+++ new/gcc/testsuite/gcc.target/arm/neon/vqRdmulhQs32.c 2010-08-20 13:27:11 +0000
10683@@ -17,5 +17,5 @@
10684 out_int32x4_t = vqrdmulhq_s32 (arg0_int32x4_t, arg1_int32x4_t);
10685 }
10686
10687-/* { dg-final { scan-assembler "vqrdmulh\.s32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
10688+/* { dg-final { scan-assembler "vqrdmulh\.s32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
10689 /* { dg-final { cleanup-saved-temps } } */
10690
10691=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqRdmulh_lanes16.c'
10692--- old/gcc/testsuite/gcc.target/arm/neon/vqRdmulh_lanes16.c 2010-07-29 15:38:15 +0000
10693+++ new/gcc/testsuite/gcc.target/arm/neon/vqRdmulh_lanes16.c 2010-08-20 13:27:11 +0000
10694@@ -17,5 +17,5 @@
10695 out_int16x4_t = vqrdmulh_lane_s16 (arg0_int16x4_t, arg1_int16x4_t, 1);
10696 }
10697
10698-/* { dg-final { scan-assembler "vqrdmulh\.s16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
10699+/* { dg-final { scan-assembler "vqrdmulh\.s16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
10700 /* { dg-final { cleanup-saved-temps } } */
10701
10702=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqRdmulh_lanes32.c'
10703--- old/gcc/testsuite/gcc.target/arm/neon/vqRdmulh_lanes32.c 2010-07-29 15:38:15 +0000
10704+++ new/gcc/testsuite/gcc.target/arm/neon/vqRdmulh_lanes32.c 2010-08-20 13:27:11 +0000
10705@@ -17,5 +17,5 @@
10706 out_int32x2_t = vqrdmulh_lane_s32 (arg0_int32x2_t, arg1_int32x2_t, 1);
10707 }
10708
10709-/* { dg-final { scan-assembler "vqrdmulh\.s32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
10710+/* { dg-final { scan-assembler "vqrdmulh\.s32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
10711 /* { dg-final { cleanup-saved-temps } } */
10712
10713=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqRdmulh_ns16.c'
10714--- old/gcc/testsuite/gcc.target/arm/neon/vqRdmulh_ns16.c 2010-07-29 15:38:15 +0000
10715+++ new/gcc/testsuite/gcc.target/arm/neon/vqRdmulh_ns16.c 2010-08-20 13:27:11 +0000
10716@@ -17,5 +17,5 @@
10717 out_int16x4_t = vqrdmulh_n_s16 (arg0_int16x4_t, arg1_int16_t);
10718 }
10719
10720-/* { dg-final { scan-assembler "vqrdmulh\.s16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
10721+/* { dg-final { scan-assembler "vqrdmulh\.s16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
10722 /* { dg-final { cleanup-saved-temps } } */
10723
10724=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqRdmulh_ns32.c'
10725--- old/gcc/testsuite/gcc.target/arm/neon/vqRdmulh_ns32.c 2010-07-29 15:38:15 +0000
10726+++ new/gcc/testsuite/gcc.target/arm/neon/vqRdmulh_ns32.c 2010-08-20 13:27:11 +0000
10727@@ -17,5 +17,5 @@
10728 out_int32x2_t = vqrdmulh_n_s32 (arg0_int32x2_t, arg1_int32_t);
10729 }
10730
10731-/* { dg-final { scan-assembler "vqrdmulh\.s32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
10732+/* { dg-final { scan-assembler "vqrdmulh\.s32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
10733 /* { dg-final { cleanup-saved-temps } } */
10734
10735=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqRdmulhs16.c'
10736--- old/gcc/testsuite/gcc.target/arm/neon/vqRdmulhs16.c 2010-07-29 15:38:15 +0000
10737+++ new/gcc/testsuite/gcc.target/arm/neon/vqRdmulhs16.c 2010-08-20 13:27:11 +0000
10738@@ -17,5 +17,5 @@
10739 out_int16x4_t = vqrdmulh_s16 (arg0_int16x4_t, arg1_int16x4_t);
10740 }
10741
10742-/* { dg-final { scan-assembler "vqrdmulh\.s16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
10743+/* { dg-final { scan-assembler "vqrdmulh\.s16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
10744 /* { dg-final { cleanup-saved-temps } } */
10745
10746=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqRdmulhs32.c'
10747--- old/gcc/testsuite/gcc.target/arm/neon/vqRdmulhs32.c 2010-07-29 15:38:15 +0000
10748+++ new/gcc/testsuite/gcc.target/arm/neon/vqRdmulhs32.c 2010-08-20 13:27:11 +0000
10749@@ -17,5 +17,5 @@
10750 out_int32x2_t = vqrdmulh_s32 (arg0_int32x2_t, arg1_int32x2_t);
10751 }
10752
10753-/* { dg-final { scan-assembler "vqrdmulh\.s32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
10754+/* { dg-final { scan-assembler "vqrdmulh\.s32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
10755 /* { dg-final { cleanup-saved-temps } } */
10756
10757=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqRshlQs16.c'
10758--- old/gcc/testsuite/gcc.target/arm/neon/vqRshlQs16.c 2010-07-29 15:38:15 +0000
10759+++ new/gcc/testsuite/gcc.target/arm/neon/vqRshlQs16.c 2010-08-20 13:27:11 +0000
10760@@ -17,5 +17,5 @@
10761 out_int16x8_t = vqrshlq_s16 (arg0_int16x8_t, arg1_int16x8_t);
10762 }
10763
10764-/* { dg-final { scan-assembler "vqrshl\.s16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
10765+/* { dg-final { scan-assembler "vqrshl\.s16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
10766 /* { dg-final { cleanup-saved-temps } } */
10767
10768=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqRshlQs32.c'
10769--- old/gcc/testsuite/gcc.target/arm/neon/vqRshlQs32.c 2010-07-29 15:38:15 +0000
10770+++ new/gcc/testsuite/gcc.target/arm/neon/vqRshlQs32.c 2010-08-20 13:27:11 +0000
10771@@ -17,5 +17,5 @@
10772 out_int32x4_t = vqrshlq_s32 (arg0_int32x4_t, arg1_int32x4_t);
10773 }
10774
10775-/* { dg-final { scan-assembler "vqrshl\.s32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
10776+/* { dg-final { scan-assembler "vqrshl\.s32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
10777 /* { dg-final { cleanup-saved-temps } } */
10778
10779=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqRshlQs64.c'
10780--- old/gcc/testsuite/gcc.target/arm/neon/vqRshlQs64.c 2010-07-29 15:38:15 +0000
10781+++ new/gcc/testsuite/gcc.target/arm/neon/vqRshlQs64.c 2010-08-20 13:27:11 +0000
10782@@ -17,5 +17,5 @@
10783 out_int64x2_t = vqrshlq_s64 (arg0_int64x2_t, arg1_int64x2_t);
10784 }
10785
10786-/* { dg-final { scan-assembler "vqrshl\.s64\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
10787+/* { dg-final { scan-assembler "vqrshl\.s64\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
10788 /* { dg-final { cleanup-saved-temps } } */
10789
10790=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqRshlQs8.c'
10791--- old/gcc/testsuite/gcc.target/arm/neon/vqRshlQs8.c 2010-07-29 15:38:15 +0000
10792+++ new/gcc/testsuite/gcc.target/arm/neon/vqRshlQs8.c 2010-08-20 13:27:11 +0000
10793@@ -17,5 +17,5 @@
10794 out_int8x16_t = vqrshlq_s8 (arg0_int8x16_t, arg1_int8x16_t);
10795 }
10796
10797-/* { dg-final { scan-assembler "vqrshl\.s8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
10798+/* { dg-final { scan-assembler "vqrshl\.s8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
10799 /* { dg-final { cleanup-saved-temps } } */
10800
10801=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqRshlQu16.c'
10802--- old/gcc/testsuite/gcc.target/arm/neon/vqRshlQu16.c 2010-07-29 15:38:15 +0000
10803+++ new/gcc/testsuite/gcc.target/arm/neon/vqRshlQu16.c 2010-08-20 13:27:11 +0000
10804@@ -17,5 +17,5 @@
10805 out_uint16x8_t = vqrshlq_u16 (arg0_uint16x8_t, arg1_int16x8_t);
10806 }
10807
10808-/* { dg-final { scan-assembler "vqrshl\.u16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
10809+/* { dg-final { scan-assembler "vqrshl\.u16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
10810 /* { dg-final { cleanup-saved-temps } } */
10811
10812=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqRshlQu32.c'
10813--- old/gcc/testsuite/gcc.target/arm/neon/vqRshlQu32.c 2010-07-29 15:38:15 +0000
10814+++ new/gcc/testsuite/gcc.target/arm/neon/vqRshlQu32.c 2010-08-20 13:27:11 +0000
10815@@ -17,5 +17,5 @@
10816 out_uint32x4_t = vqrshlq_u32 (arg0_uint32x4_t, arg1_int32x4_t);
10817 }
10818
10819-/* { dg-final { scan-assembler "vqrshl\.u32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
10820+/* { dg-final { scan-assembler "vqrshl\.u32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
10821 /* { dg-final { cleanup-saved-temps } } */
10822
10823=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqRshlQu64.c'
10824--- old/gcc/testsuite/gcc.target/arm/neon/vqRshlQu64.c 2010-07-29 15:38:15 +0000
10825+++ new/gcc/testsuite/gcc.target/arm/neon/vqRshlQu64.c 2010-08-20 13:27:11 +0000
10826@@ -17,5 +17,5 @@
10827 out_uint64x2_t = vqrshlq_u64 (arg0_uint64x2_t, arg1_int64x2_t);
10828 }
10829
10830-/* { dg-final { scan-assembler "vqrshl\.u64\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
10831+/* { dg-final { scan-assembler "vqrshl\.u64\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
10832 /* { dg-final { cleanup-saved-temps } } */
10833
10834=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqRshlQu8.c'
10835--- old/gcc/testsuite/gcc.target/arm/neon/vqRshlQu8.c 2010-07-29 15:38:15 +0000
10836+++ new/gcc/testsuite/gcc.target/arm/neon/vqRshlQu8.c 2010-08-20 13:27:11 +0000
10837@@ -17,5 +17,5 @@
10838 out_uint8x16_t = vqrshlq_u8 (arg0_uint8x16_t, arg1_int8x16_t);
10839 }
10840
10841-/* { dg-final { scan-assembler "vqrshl\.u8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
10842+/* { dg-final { scan-assembler "vqrshl\.u8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
10843 /* { dg-final { cleanup-saved-temps } } */
10844
10845=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqRshls16.c'
10846--- old/gcc/testsuite/gcc.target/arm/neon/vqRshls16.c 2010-07-29 15:38:15 +0000
10847+++ new/gcc/testsuite/gcc.target/arm/neon/vqRshls16.c 2010-08-20 13:27:11 +0000
10848@@ -17,5 +17,5 @@
10849 out_int16x4_t = vqrshl_s16 (arg0_int16x4_t, arg1_int16x4_t);
10850 }
10851
10852-/* { dg-final { scan-assembler "vqrshl\.s16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
10853+/* { dg-final { scan-assembler "vqrshl\.s16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
10854 /* { dg-final { cleanup-saved-temps } } */
10855
10856=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqRshls32.c'
10857--- old/gcc/testsuite/gcc.target/arm/neon/vqRshls32.c 2010-07-29 15:38:15 +0000
10858+++ new/gcc/testsuite/gcc.target/arm/neon/vqRshls32.c 2010-08-20 13:27:11 +0000
10859@@ -17,5 +17,5 @@
10860 out_int32x2_t = vqrshl_s32 (arg0_int32x2_t, arg1_int32x2_t);
10861 }
10862
10863-/* { dg-final { scan-assembler "vqrshl\.s32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
10864+/* { dg-final { scan-assembler "vqrshl\.s32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
10865 /* { dg-final { cleanup-saved-temps } } */
10866
10867=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqRshls64.c'
10868--- old/gcc/testsuite/gcc.target/arm/neon/vqRshls64.c 2010-07-29 15:38:15 +0000
10869+++ new/gcc/testsuite/gcc.target/arm/neon/vqRshls64.c 2010-08-20 13:27:11 +0000
10870@@ -17,5 +17,5 @@
10871 out_int64x1_t = vqrshl_s64 (arg0_int64x1_t, arg1_int64x1_t);
10872 }
10873
10874-/* { dg-final { scan-assembler "vqrshl\.s64\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
10875+/* { dg-final { scan-assembler "vqrshl\.s64\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
10876 /* { dg-final { cleanup-saved-temps } } */
10877
10878=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqRshls8.c'
10879--- old/gcc/testsuite/gcc.target/arm/neon/vqRshls8.c 2010-07-29 15:38:15 +0000
10880+++ new/gcc/testsuite/gcc.target/arm/neon/vqRshls8.c 2010-08-20 13:27:11 +0000
10881@@ -17,5 +17,5 @@
10882 out_int8x8_t = vqrshl_s8 (arg0_int8x8_t, arg1_int8x8_t);
10883 }
10884
10885-/* { dg-final { scan-assembler "vqrshl\.s8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
10886+/* { dg-final { scan-assembler "vqrshl\.s8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
10887 /* { dg-final { cleanup-saved-temps } } */
10888
10889=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqRshlu16.c'
10890--- old/gcc/testsuite/gcc.target/arm/neon/vqRshlu16.c 2010-07-29 15:38:15 +0000
10891+++ new/gcc/testsuite/gcc.target/arm/neon/vqRshlu16.c 2010-08-20 13:27:11 +0000
10892@@ -17,5 +17,5 @@
10893 out_uint16x4_t = vqrshl_u16 (arg0_uint16x4_t, arg1_int16x4_t);
10894 }
10895
10896-/* { dg-final { scan-assembler "vqrshl\.u16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
10897+/* { dg-final { scan-assembler "vqrshl\.u16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
10898 /* { dg-final { cleanup-saved-temps } } */
10899
10900=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqRshlu32.c'
10901--- old/gcc/testsuite/gcc.target/arm/neon/vqRshlu32.c 2010-07-29 15:38:15 +0000
10902+++ new/gcc/testsuite/gcc.target/arm/neon/vqRshlu32.c 2010-08-20 13:27:11 +0000
10903@@ -17,5 +17,5 @@
10904 out_uint32x2_t = vqrshl_u32 (arg0_uint32x2_t, arg1_int32x2_t);
10905 }
10906
10907-/* { dg-final { scan-assembler "vqrshl\.u32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
10908+/* { dg-final { scan-assembler "vqrshl\.u32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
10909 /* { dg-final { cleanup-saved-temps } } */
10910
10911=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqRshlu64.c'
10912--- old/gcc/testsuite/gcc.target/arm/neon/vqRshlu64.c 2010-07-29 15:38:15 +0000
10913+++ new/gcc/testsuite/gcc.target/arm/neon/vqRshlu64.c 2010-08-20 13:27:11 +0000
10914@@ -17,5 +17,5 @@
10915 out_uint64x1_t = vqrshl_u64 (arg0_uint64x1_t, arg1_int64x1_t);
10916 }
10917
10918-/* { dg-final { scan-assembler "vqrshl\.u64\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
10919+/* { dg-final { scan-assembler "vqrshl\.u64\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
10920 /* { dg-final { cleanup-saved-temps } } */
10921
10922=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqRshlu8.c'
10923--- old/gcc/testsuite/gcc.target/arm/neon/vqRshlu8.c 2010-07-29 15:38:15 +0000
10924+++ new/gcc/testsuite/gcc.target/arm/neon/vqRshlu8.c 2010-08-20 13:27:11 +0000
10925@@ -17,5 +17,5 @@
10926 out_uint8x8_t = vqrshl_u8 (arg0_uint8x8_t, arg1_int8x8_t);
10927 }
10928
10929-/* { dg-final { scan-assembler "vqrshl\.u8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
10930+/* { dg-final { scan-assembler "vqrshl\.u8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
10931 /* { dg-final { cleanup-saved-temps } } */
10932
10933=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqRshrn_ns16.c'
10934--- old/gcc/testsuite/gcc.target/arm/neon/vqRshrn_ns16.c 2010-07-29 15:38:15 +0000
10935+++ new/gcc/testsuite/gcc.target/arm/neon/vqRshrn_ns16.c 2010-08-20 13:27:11 +0000
10936@@ -16,5 +16,5 @@
10937 out_int8x8_t = vqrshrn_n_s16 (arg0_int16x8_t, 1);
10938 }
10939
10940-/* { dg-final { scan-assembler "vqrshrn\.s16\[ \]+\[dD\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
10941+/* { dg-final { scan-assembler "vqrshrn\.s16\[ \]+\[dD\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
10942 /* { dg-final { cleanup-saved-temps } } */
10943
10944=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqRshrn_ns32.c'
10945--- old/gcc/testsuite/gcc.target/arm/neon/vqRshrn_ns32.c 2010-07-29 15:38:15 +0000
10946+++ new/gcc/testsuite/gcc.target/arm/neon/vqRshrn_ns32.c 2010-08-20 13:27:11 +0000
10947@@ -16,5 +16,5 @@
10948 out_int16x4_t = vqrshrn_n_s32 (arg0_int32x4_t, 1);
10949 }
10950
10951-/* { dg-final { scan-assembler "vqrshrn\.s32\[ \]+\[dD\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
10952+/* { dg-final { scan-assembler "vqrshrn\.s32\[ \]+\[dD\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
10953 /* { dg-final { cleanup-saved-temps } } */
10954
10955=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqRshrn_ns64.c'
10956--- old/gcc/testsuite/gcc.target/arm/neon/vqRshrn_ns64.c 2010-07-29 15:38:15 +0000
10957+++ new/gcc/testsuite/gcc.target/arm/neon/vqRshrn_ns64.c 2010-08-20 13:27:11 +0000
10958@@ -16,5 +16,5 @@
10959 out_int32x2_t = vqrshrn_n_s64 (arg0_int64x2_t, 1);
10960 }
10961
10962-/* { dg-final { scan-assembler "vqrshrn\.s64\[ \]+\[dD\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
10963+/* { dg-final { scan-assembler "vqrshrn\.s64\[ \]+\[dD\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
10964 /* { dg-final { cleanup-saved-temps } } */
10965
10966=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqRshrn_nu16.c'
10967--- old/gcc/testsuite/gcc.target/arm/neon/vqRshrn_nu16.c 2010-07-29 15:38:15 +0000
10968+++ new/gcc/testsuite/gcc.target/arm/neon/vqRshrn_nu16.c 2010-08-20 13:27:11 +0000
10969@@ -16,5 +16,5 @@
10970 out_uint8x8_t = vqrshrn_n_u16 (arg0_uint16x8_t, 1);
10971 }
10972
10973-/* { dg-final { scan-assembler "vqrshrn\.u16\[ \]+\[dD\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
10974+/* { dg-final { scan-assembler "vqrshrn\.u16\[ \]+\[dD\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
10975 /* { dg-final { cleanup-saved-temps } } */
10976
10977=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqRshrn_nu32.c'
10978--- old/gcc/testsuite/gcc.target/arm/neon/vqRshrn_nu32.c 2010-07-29 15:38:15 +0000
10979+++ new/gcc/testsuite/gcc.target/arm/neon/vqRshrn_nu32.c 2010-08-20 13:27:11 +0000
10980@@ -16,5 +16,5 @@
10981 out_uint16x4_t = vqrshrn_n_u32 (arg0_uint32x4_t, 1);
10982 }
10983
10984-/* { dg-final { scan-assembler "vqrshrn\.u32\[ \]+\[dD\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
10985+/* { dg-final { scan-assembler "vqrshrn\.u32\[ \]+\[dD\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
10986 /* { dg-final { cleanup-saved-temps } } */
10987
10988=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqRshrn_nu64.c'
10989--- old/gcc/testsuite/gcc.target/arm/neon/vqRshrn_nu64.c 2010-07-29 15:38:15 +0000
10990+++ new/gcc/testsuite/gcc.target/arm/neon/vqRshrn_nu64.c 2010-08-20 13:27:11 +0000
10991@@ -16,5 +16,5 @@
10992 out_uint32x2_t = vqrshrn_n_u64 (arg0_uint64x2_t, 1);
10993 }
10994
10995-/* { dg-final { scan-assembler "vqrshrn\.u64\[ \]+\[dD\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
10996+/* { dg-final { scan-assembler "vqrshrn\.u64\[ \]+\[dD\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
10997 /* { dg-final { cleanup-saved-temps } } */
10998
10999=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqRshrun_ns16.c'
11000--- old/gcc/testsuite/gcc.target/arm/neon/vqRshrun_ns16.c 2010-07-29 15:38:15 +0000
11001+++ new/gcc/testsuite/gcc.target/arm/neon/vqRshrun_ns16.c 2010-08-20 13:27:11 +0000
11002@@ -16,5 +16,5 @@
11003 out_uint8x8_t = vqrshrun_n_s16 (arg0_int16x8_t, 1);
11004 }
11005
11006-/* { dg-final { scan-assembler "vqrshrun\.s16\[ \]+\[dD\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
11007+/* { dg-final { scan-assembler "vqrshrun\.s16\[ \]+\[dD\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
11008 /* { dg-final { cleanup-saved-temps } } */
11009
11010=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqRshrun_ns32.c'
11011--- old/gcc/testsuite/gcc.target/arm/neon/vqRshrun_ns32.c 2010-07-29 15:38:15 +0000
11012+++ new/gcc/testsuite/gcc.target/arm/neon/vqRshrun_ns32.c 2010-08-20 13:27:11 +0000
11013@@ -16,5 +16,5 @@
11014 out_uint16x4_t = vqrshrun_n_s32 (arg0_int32x4_t, 1);
11015 }
11016
11017-/* { dg-final { scan-assembler "vqrshrun\.s32\[ \]+\[dD\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
11018+/* { dg-final { scan-assembler "vqrshrun\.s32\[ \]+\[dD\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
11019 /* { dg-final { cleanup-saved-temps } } */
11020
11021=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqRshrun_ns64.c'
11022--- old/gcc/testsuite/gcc.target/arm/neon/vqRshrun_ns64.c 2010-07-29 15:38:15 +0000
11023+++ new/gcc/testsuite/gcc.target/arm/neon/vqRshrun_ns64.c 2010-08-20 13:27:11 +0000
11024@@ -16,5 +16,5 @@
11025 out_uint32x2_t = vqrshrun_n_s64 (arg0_int64x2_t, 1);
11026 }
11027
11028-/* { dg-final { scan-assembler "vqrshrun\.s64\[ \]+\[dD\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
11029+/* { dg-final { scan-assembler "vqrshrun\.s64\[ \]+\[dD\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
11030 /* { dg-final { cleanup-saved-temps } } */
11031
11032=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqabsQs16.c'
11033--- old/gcc/testsuite/gcc.target/arm/neon/vqabsQs16.c 2010-07-29 15:38:15 +0000
11034+++ new/gcc/testsuite/gcc.target/arm/neon/vqabsQs16.c 2010-08-20 13:27:11 +0000
11035@@ -16,5 +16,5 @@
11036 out_int16x8_t = vqabsq_s16 (arg0_int16x8_t);
11037 }
11038
11039-/* { dg-final { scan-assembler "vqabs\.s16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
11040+/* { dg-final { scan-assembler "vqabs\.s16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
11041 /* { dg-final { cleanup-saved-temps } } */
11042
11043=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqabsQs32.c'
11044--- old/gcc/testsuite/gcc.target/arm/neon/vqabsQs32.c 2010-07-29 15:38:15 +0000
11045+++ new/gcc/testsuite/gcc.target/arm/neon/vqabsQs32.c 2010-08-20 13:27:11 +0000
11046@@ -16,5 +16,5 @@
11047 out_int32x4_t = vqabsq_s32 (arg0_int32x4_t);
11048 }
11049
11050-/* { dg-final { scan-assembler "vqabs\.s32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
11051+/* { dg-final { scan-assembler "vqabs\.s32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
11052 /* { dg-final { cleanup-saved-temps } } */
11053
11054=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqabsQs8.c'
11055--- old/gcc/testsuite/gcc.target/arm/neon/vqabsQs8.c 2010-07-29 15:38:15 +0000
11056+++ new/gcc/testsuite/gcc.target/arm/neon/vqabsQs8.c 2010-08-20 13:27:11 +0000
11057@@ -16,5 +16,5 @@
11058 out_int8x16_t = vqabsq_s8 (arg0_int8x16_t);
11059 }
11060
11061-/* { dg-final { scan-assembler "vqabs\.s8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
11062+/* { dg-final { scan-assembler "vqabs\.s8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
11063 /* { dg-final { cleanup-saved-temps } } */
11064
11065=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqabss16.c'
11066--- old/gcc/testsuite/gcc.target/arm/neon/vqabss16.c 2010-07-29 15:38:15 +0000
11067+++ new/gcc/testsuite/gcc.target/arm/neon/vqabss16.c 2010-08-20 13:27:11 +0000
11068@@ -16,5 +16,5 @@
11069 out_int16x4_t = vqabs_s16 (arg0_int16x4_t);
11070 }
11071
11072-/* { dg-final { scan-assembler "vqabs\.s16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
11073+/* { dg-final { scan-assembler "vqabs\.s16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
11074 /* { dg-final { cleanup-saved-temps } } */
11075
11076=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqabss32.c'
11077--- old/gcc/testsuite/gcc.target/arm/neon/vqabss32.c 2010-07-29 15:38:15 +0000
11078+++ new/gcc/testsuite/gcc.target/arm/neon/vqabss32.c 2010-08-20 13:27:11 +0000
11079@@ -16,5 +16,5 @@
11080 out_int32x2_t = vqabs_s32 (arg0_int32x2_t);
11081 }
11082
11083-/* { dg-final { scan-assembler "vqabs\.s32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
11084+/* { dg-final { scan-assembler "vqabs\.s32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
11085 /* { dg-final { cleanup-saved-temps } } */
11086
11087=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqabss8.c'
11088--- old/gcc/testsuite/gcc.target/arm/neon/vqabss8.c 2010-07-29 15:38:15 +0000
11089+++ new/gcc/testsuite/gcc.target/arm/neon/vqabss8.c 2010-08-20 13:27:11 +0000
11090@@ -16,5 +16,5 @@
11091 out_int8x8_t = vqabs_s8 (arg0_int8x8_t);
11092 }
11093
11094-/* { dg-final { scan-assembler "vqabs\.s8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
11095+/* { dg-final { scan-assembler "vqabs\.s8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
11096 /* { dg-final { cleanup-saved-temps } } */
11097
11098=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqaddQs16.c'
11099--- old/gcc/testsuite/gcc.target/arm/neon/vqaddQs16.c 2010-07-29 15:38:15 +0000
11100+++ new/gcc/testsuite/gcc.target/arm/neon/vqaddQs16.c 2010-08-20 13:27:11 +0000
11101@@ -17,5 +17,5 @@
11102 out_int16x8_t = vqaddq_s16 (arg0_int16x8_t, arg1_int16x8_t);
11103 }
11104
11105-/* { dg-final { scan-assembler "vqadd\.s16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
11106+/* { dg-final { scan-assembler "vqadd\.s16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
11107 /* { dg-final { cleanup-saved-temps } } */
11108
11109=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqaddQs32.c'
11110--- old/gcc/testsuite/gcc.target/arm/neon/vqaddQs32.c 2010-07-29 15:38:15 +0000
11111+++ new/gcc/testsuite/gcc.target/arm/neon/vqaddQs32.c 2010-08-20 13:27:11 +0000
11112@@ -17,5 +17,5 @@
11113 out_int32x4_t = vqaddq_s32 (arg0_int32x4_t, arg1_int32x4_t);
11114 }
11115
11116-/* { dg-final { scan-assembler "vqadd\.s32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
11117+/* { dg-final { scan-assembler "vqadd\.s32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
11118 /* { dg-final { cleanup-saved-temps } } */
11119
11120=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqaddQs64.c'
11121--- old/gcc/testsuite/gcc.target/arm/neon/vqaddQs64.c 2010-07-29 15:38:15 +0000
11122+++ new/gcc/testsuite/gcc.target/arm/neon/vqaddQs64.c 2010-08-20 13:27:11 +0000
11123@@ -17,5 +17,5 @@
11124 out_int64x2_t = vqaddq_s64 (arg0_int64x2_t, arg1_int64x2_t);
11125 }
11126
11127-/* { dg-final { scan-assembler "vqadd\.s64\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
11128+/* { dg-final { scan-assembler "vqadd\.s64\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
11129 /* { dg-final { cleanup-saved-temps } } */
11130
11131=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqaddQs8.c'
11132--- old/gcc/testsuite/gcc.target/arm/neon/vqaddQs8.c 2010-07-29 15:38:15 +0000
11133+++ new/gcc/testsuite/gcc.target/arm/neon/vqaddQs8.c 2010-08-20 13:27:11 +0000
11134@@ -17,5 +17,5 @@
11135 out_int8x16_t = vqaddq_s8 (arg0_int8x16_t, arg1_int8x16_t);
11136 }
11137
11138-/* { dg-final { scan-assembler "vqadd\.s8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
11139+/* { dg-final { scan-assembler "vqadd\.s8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
11140 /* { dg-final { cleanup-saved-temps } } */
11141
11142=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqaddQu16.c'
11143--- old/gcc/testsuite/gcc.target/arm/neon/vqaddQu16.c 2010-07-29 15:38:15 +0000
11144+++ new/gcc/testsuite/gcc.target/arm/neon/vqaddQu16.c 2010-08-20 13:27:11 +0000
11145@@ -17,5 +17,5 @@
11146 out_uint16x8_t = vqaddq_u16 (arg0_uint16x8_t, arg1_uint16x8_t);
11147 }
11148
11149-/* { dg-final { scan-assembler "vqadd\.u16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
11150+/* { dg-final { scan-assembler "vqadd\.u16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
11151 /* { dg-final { cleanup-saved-temps } } */
11152
11153=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqaddQu32.c'
11154--- old/gcc/testsuite/gcc.target/arm/neon/vqaddQu32.c 2010-07-29 15:38:15 +0000
11155+++ new/gcc/testsuite/gcc.target/arm/neon/vqaddQu32.c 2010-08-20 13:27:11 +0000
11156@@ -17,5 +17,5 @@
11157 out_uint32x4_t = vqaddq_u32 (arg0_uint32x4_t, arg1_uint32x4_t);
11158 }
11159
11160-/* { dg-final { scan-assembler "vqadd\.u32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
11161+/* { dg-final { scan-assembler "vqadd\.u32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
11162 /* { dg-final { cleanup-saved-temps } } */
11163
11164=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqaddQu64.c'
11165--- old/gcc/testsuite/gcc.target/arm/neon/vqaddQu64.c 2010-07-29 15:38:15 +0000
11166+++ new/gcc/testsuite/gcc.target/arm/neon/vqaddQu64.c 2010-08-20 13:27:11 +0000
11167@@ -17,5 +17,5 @@
11168 out_uint64x2_t = vqaddq_u64 (arg0_uint64x2_t, arg1_uint64x2_t);
11169 }
11170
11171-/* { dg-final { scan-assembler "vqadd\.u64\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
11172+/* { dg-final { scan-assembler "vqadd\.u64\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
11173 /* { dg-final { cleanup-saved-temps } } */
11174
11175=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqaddQu8.c'
11176--- old/gcc/testsuite/gcc.target/arm/neon/vqaddQu8.c 2010-07-29 15:38:15 +0000
11177+++ new/gcc/testsuite/gcc.target/arm/neon/vqaddQu8.c 2010-08-20 13:27:11 +0000
11178@@ -17,5 +17,5 @@
11179 out_uint8x16_t = vqaddq_u8 (arg0_uint8x16_t, arg1_uint8x16_t);
11180 }
11181
11182-/* { dg-final { scan-assembler "vqadd\.u8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
11183+/* { dg-final { scan-assembler "vqadd\.u8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
11184 /* { dg-final { cleanup-saved-temps } } */
11185
11186=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqadds16.c'
11187--- old/gcc/testsuite/gcc.target/arm/neon/vqadds16.c 2010-07-29 15:38:15 +0000
11188+++ new/gcc/testsuite/gcc.target/arm/neon/vqadds16.c 2010-08-20 13:27:11 +0000
11189@@ -17,5 +17,5 @@
11190 out_int16x4_t = vqadd_s16 (arg0_int16x4_t, arg1_int16x4_t);
11191 }
11192
11193-/* { dg-final { scan-assembler "vqadd\.s16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
11194+/* { dg-final { scan-assembler "vqadd\.s16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
11195 /* { dg-final { cleanup-saved-temps } } */
11196
11197=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqadds32.c'
11198--- old/gcc/testsuite/gcc.target/arm/neon/vqadds32.c 2010-07-29 15:38:15 +0000
11199+++ new/gcc/testsuite/gcc.target/arm/neon/vqadds32.c 2010-08-20 13:27:11 +0000
11200@@ -17,5 +17,5 @@
11201 out_int32x2_t = vqadd_s32 (arg0_int32x2_t, arg1_int32x2_t);
11202 }
11203
11204-/* { dg-final { scan-assembler "vqadd\.s32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
11205+/* { dg-final { scan-assembler "vqadd\.s32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
11206 /* { dg-final { cleanup-saved-temps } } */
11207
11208=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqadds64.c'
11209--- old/gcc/testsuite/gcc.target/arm/neon/vqadds64.c 2010-07-29 15:38:15 +0000
11210+++ new/gcc/testsuite/gcc.target/arm/neon/vqadds64.c 2010-08-20 13:27:11 +0000
11211@@ -17,5 +17,5 @@
11212 out_int64x1_t = vqadd_s64 (arg0_int64x1_t, arg1_int64x1_t);
11213 }
11214
11215-/* { dg-final { scan-assembler "vqadd\.s64\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
11216+/* { dg-final { scan-assembler "vqadd\.s64\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
11217 /* { dg-final { cleanup-saved-temps } } */
11218
11219=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqadds8.c'
11220--- old/gcc/testsuite/gcc.target/arm/neon/vqadds8.c 2010-07-29 15:38:15 +0000
11221+++ new/gcc/testsuite/gcc.target/arm/neon/vqadds8.c 2010-08-20 13:27:11 +0000
11222@@ -17,5 +17,5 @@
11223 out_int8x8_t = vqadd_s8 (arg0_int8x8_t, arg1_int8x8_t);
11224 }
11225
11226-/* { dg-final { scan-assembler "vqadd\.s8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
11227+/* { dg-final { scan-assembler "vqadd\.s8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
11228 /* { dg-final { cleanup-saved-temps } } */
11229
11230=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqaddu16.c'
11231--- old/gcc/testsuite/gcc.target/arm/neon/vqaddu16.c 2010-07-29 15:38:15 +0000
11232+++ new/gcc/testsuite/gcc.target/arm/neon/vqaddu16.c 2010-08-20 13:27:11 +0000
11233@@ -17,5 +17,5 @@
11234 out_uint16x4_t = vqadd_u16 (arg0_uint16x4_t, arg1_uint16x4_t);
11235 }
11236
11237-/* { dg-final { scan-assembler "vqadd\.u16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
11238+/* { dg-final { scan-assembler "vqadd\.u16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
11239 /* { dg-final { cleanup-saved-temps } } */
11240
11241=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqaddu32.c'
11242--- old/gcc/testsuite/gcc.target/arm/neon/vqaddu32.c 2010-07-29 15:38:15 +0000
11243+++ new/gcc/testsuite/gcc.target/arm/neon/vqaddu32.c 2010-08-20 13:27:11 +0000
11244@@ -17,5 +17,5 @@
11245 out_uint32x2_t = vqadd_u32 (arg0_uint32x2_t, arg1_uint32x2_t);
11246 }
11247
11248-/* { dg-final { scan-assembler "vqadd\.u32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
11249+/* { dg-final { scan-assembler "vqadd\.u32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
11250 /* { dg-final { cleanup-saved-temps } } */
11251
11252=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqaddu64.c'
11253--- old/gcc/testsuite/gcc.target/arm/neon/vqaddu64.c 2010-07-29 15:38:15 +0000
11254+++ new/gcc/testsuite/gcc.target/arm/neon/vqaddu64.c 2010-08-20 13:27:11 +0000
11255@@ -17,5 +17,5 @@
11256 out_uint64x1_t = vqadd_u64 (arg0_uint64x1_t, arg1_uint64x1_t);
11257 }
11258
11259-/* { dg-final { scan-assembler "vqadd\.u64\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
11260+/* { dg-final { scan-assembler "vqadd\.u64\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
11261 /* { dg-final { cleanup-saved-temps } } */
11262
11263=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqaddu8.c'
11264--- old/gcc/testsuite/gcc.target/arm/neon/vqaddu8.c 2010-07-29 15:38:15 +0000
11265+++ new/gcc/testsuite/gcc.target/arm/neon/vqaddu8.c 2010-08-20 13:27:11 +0000
11266@@ -17,5 +17,5 @@
11267 out_uint8x8_t = vqadd_u8 (arg0_uint8x8_t, arg1_uint8x8_t);
11268 }
11269
11270-/* { dg-final { scan-assembler "vqadd\.u8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
11271+/* { dg-final { scan-assembler "vqadd\.u8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
11272 /* { dg-final { cleanup-saved-temps } } */
11273
11274=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqdmlal_lanes16.c'
11275--- old/gcc/testsuite/gcc.target/arm/neon/vqdmlal_lanes16.c 2010-07-29 15:38:15 +0000
11276+++ new/gcc/testsuite/gcc.target/arm/neon/vqdmlal_lanes16.c 2010-08-20 13:27:11 +0000
11277@@ -18,5 +18,5 @@
11278 out_int32x4_t = vqdmlal_lane_s16 (arg0_int32x4_t, arg1_int16x4_t, arg2_int16x4_t, 1);
11279 }
11280
11281-/* { dg-final { scan-assembler "vqdmlal\.s16\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
11282+/* { dg-final { scan-assembler "vqdmlal\.s16\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
11283 /* { dg-final { cleanup-saved-temps } } */
11284
11285=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqdmlal_lanes32.c'
11286--- old/gcc/testsuite/gcc.target/arm/neon/vqdmlal_lanes32.c 2010-07-29 15:38:15 +0000
11287+++ new/gcc/testsuite/gcc.target/arm/neon/vqdmlal_lanes32.c 2010-08-20 13:27:11 +0000
11288@@ -18,5 +18,5 @@
11289 out_int64x2_t = vqdmlal_lane_s32 (arg0_int64x2_t, arg1_int32x2_t, arg2_int32x2_t, 1);
11290 }
11291
11292-/* { dg-final { scan-assembler "vqdmlal\.s32\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
11293+/* { dg-final { scan-assembler "vqdmlal\.s32\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
11294 /* { dg-final { cleanup-saved-temps } } */
11295
11296=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqdmlal_ns16.c'
11297--- old/gcc/testsuite/gcc.target/arm/neon/vqdmlal_ns16.c 2010-07-29 15:38:15 +0000
11298+++ new/gcc/testsuite/gcc.target/arm/neon/vqdmlal_ns16.c 2010-08-20 13:27:11 +0000
11299@@ -18,5 +18,5 @@
11300 out_int32x4_t = vqdmlal_n_s16 (arg0_int32x4_t, arg1_int16x4_t, arg2_int16_t);
11301 }
11302
11303-/* { dg-final { scan-assembler "vqdmlal\.s16\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
11304+/* { dg-final { scan-assembler "vqdmlal\.s16\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
11305 /* { dg-final { cleanup-saved-temps } } */
11306
11307=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqdmlal_ns32.c'
11308--- old/gcc/testsuite/gcc.target/arm/neon/vqdmlal_ns32.c 2010-07-29 15:38:15 +0000
11309+++ new/gcc/testsuite/gcc.target/arm/neon/vqdmlal_ns32.c 2010-08-20 13:27:11 +0000
11310@@ -18,5 +18,5 @@
11311 out_int64x2_t = vqdmlal_n_s32 (arg0_int64x2_t, arg1_int32x2_t, arg2_int32_t);
11312 }
11313
11314-/* { dg-final { scan-assembler "vqdmlal\.s32\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
11315+/* { dg-final { scan-assembler "vqdmlal\.s32\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
11316 /* { dg-final { cleanup-saved-temps } } */
11317
11318=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqdmlals16.c'
11319--- old/gcc/testsuite/gcc.target/arm/neon/vqdmlals16.c 2010-07-29 15:38:15 +0000
11320+++ new/gcc/testsuite/gcc.target/arm/neon/vqdmlals16.c 2010-08-20 13:27:11 +0000
11321@@ -18,5 +18,5 @@
11322 out_int32x4_t = vqdmlal_s16 (arg0_int32x4_t, arg1_int16x4_t, arg2_int16x4_t);
11323 }
11324
11325-/* { dg-final { scan-assembler "vqdmlal\.s16\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
11326+/* { dg-final { scan-assembler "vqdmlal\.s16\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
11327 /* { dg-final { cleanup-saved-temps } } */
11328
11329=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqdmlals32.c'
11330--- old/gcc/testsuite/gcc.target/arm/neon/vqdmlals32.c 2010-07-29 15:38:15 +0000
11331+++ new/gcc/testsuite/gcc.target/arm/neon/vqdmlals32.c 2010-08-20 13:27:11 +0000
11332@@ -18,5 +18,5 @@
11333 out_int64x2_t = vqdmlal_s32 (arg0_int64x2_t, arg1_int32x2_t, arg2_int32x2_t);
11334 }
11335
11336-/* { dg-final { scan-assembler "vqdmlal\.s32\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
11337+/* { dg-final { scan-assembler "vqdmlal\.s32\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
11338 /* { dg-final { cleanup-saved-temps } } */
11339
11340=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqdmlsl_lanes16.c'
11341--- old/gcc/testsuite/gcc.target/arm/neon/vqdmlsl_lanes16.c 2010-07-29 15:38:15 +0000
11342+++ new/gcc/testsuite/gcc.target/arm/neon/vqdmlsl_lanes16.c 2010-08-20 13:27:11 +0000
11343@@ -18,5 +18,5 @@
11344 out_int32x4_t = vqdmlsl_lane_s16 (arg0_int32x4_t, arg1_int16x4_t, arg2_int16x4_t, 1);
11345 }
11346
11347-/* { dg-final { scan-assembler "vqdmlsl\.s16\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
11348+/* { dg-final { scan-assembler "vqdmlsl\.s16\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
11349 /* { dg-final { cleanup-saved-temps } } */
11350
11351=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqdmlsl_lanes32.c'
11352--- old/gcc/testsuite/gcc.target/arm/neon/vqdmlsl_lanes32.c 2010-07-29 15:38:15 +0000
11353+++ new/gcc/testsuite/gcc.target/arm/neon/vqdmlsl_lanes32.c 2010-08-20 13:27:11 +0000
11354@@ -18,5 +18,5 @@
11355 out_int64x2_t = vqdmlsl_lane_s32 (arg0_int64x2_t, arg1_int32x2_t, arg2_int32x2_t, 1);
11356 }
11357
11358-/* { dg-final { scan-assembler "vqdmlsl\.s32\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
11359+/* { dg-final { scan-assembler "vqdmlsl\.s32\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
11360 /* { dg-final { cleanup-saved-temps } } */
11361
11362=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqdmlsl_ns16.c'
11363--- old/gcc/testsuite/gcc.target/arm/neon/vqdmlsl_ns16.c 2010-07-29 15:38:15 +0000
11364+++ new/gcc/testsuite/gcc.target/arm/neon/vqdmlsl_ns16.c 2010-08-20 13:27:11 +0000
11365@@ -18,5 +18,5 @@
11366 out_int32x4_t = vqdmlsl_n_s16 (arg0_int32x4_t, arg1_int16x4_t, arg2_int16_t);
11367 }
11368
11369-/* { dg-final { scan-assembler "vqdmlsl\.s16\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
11370+/* { dg-final { scan-assembler "vqdmlsl\.s16\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
11371 /* { dg-final { cleanup-saved-temps } } */
11372
11373=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqdmlsl_ns32.c'
11374--- old/gcc/testsuite/gcc.target/arm/neon/vqdmlsl_ns32.c 2010-07-29 15:38:15 +0000
11375+++ new/gcc/testsuite/gcc.target/arm/neon/vqdmlsl_ns32.c 2010-08-20 13:27:11 +0000
11376@@ -18,5 +18,5 @@
11377 out_int64x2_t = vqdmlsl_n_s32 (arg0_int64x2_t, arg1_int32x2_t, arg2_int32_t);
11378 }
11379
11380-/* { dg-final { scan-assembler "vqdmlsl\.s32\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
11381+/* { dg-final { scan-assembler "vqdmlsl\.s32\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
11382 /* { dg-final { cleanup-saved-temps } } */
11383
11384=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqdmlsls16.c'
11385--- old/gcc/testsuite/gcc.target/arm/neon/vqdmlsls16.c 2010-07-29 15:38:15 +0000
11386+++ new/gcc/testsuite/gcc.target/arm/neon/vqdmlsls16.c 2010-08-20 13:27:11 +0000
11387@@ -18,5 +18,5 @@
11388 out_int32x4_t = vqdmlsl_s16 (arg0_int32x4_t, arg1_int16x4_t, arg2_int16x4_t);
11389 }
11390
11391-/* { dg-final { scan-assembler "vqdmlsl\.s16\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
11392+/* { dg-final { scan-assembler "vqdmlsl\.s16\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
11393 /* { dg-final { cleanup-saved-temps } } */
11394
11395=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqdmlsls32.c'
11396--- old/gcc/testsuite/gcc.target/arm/neon/vqdmlsls32.c 2010-07-29 15:38:15 +0000
11397+++ new/gcc/testsuite/gcc.target/arm/neon/vqdmlsls32.c 2010-08-20 13:27:11 +0000
11398@@ -18,5 +18,5 @@
11399 out_int64x2_t = vqdmlsl_s32 (arg0_int64x2_t, arg1_int32x2_t, arg2_int32x2_t);
11400 }
11401
11402-/* { dg-final { scan-assembler "vqdmlsl\.s32\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
11403+/* { dg-final { scan-assembler "vqdmlsl\.s32\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
11404 /* { dg-final { cleanup-saved-temps } } */
11405
11406=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqdmulhQ_lanes16.c'
11407--- old/gcc/testsuite/gcc.target/arm/neon/vqdmulhQ_lanes16.c 2010-07-29 15:38:15 +0000
11408+++ new/gcc/testsuite/gcc.target/arm/neon/vqdmulhQ_lanes16.c 2010-08-20 13:27:11 +0000
11409@@ -17,5 +17,5 @@
11410 out_int16x8_t = vqdmulhq_lane_s16 (arg0_int16x8_t, arg1_int16x4_t, 1);
11411 }
11412
11413-/* { dg-final { scan-assembler "vqdmulh\.s16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
11414+/* { dg-final { scan-assembler "vqdmulh\.s16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
11415 /* { dg-final { cleanup-saved-temps } } */
11416
11417=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqdmulhQ_lanes32.c'
11418--- old/gcc/testsuite/gcc.target/arm/neon/vqdmulhQ_lanes32.c 2010-07-29 15:38:15 +0000
11419+++ new/gcc/testsuite/gcc.target/arm/neon/vqdmulhQ_lanes32.c 2010-08-20 13:27:11 +0000
11420@@ -17,5 +17,5 @@
11421 out_int32x4_t = vqdmulhq_lane_s32 (arg0_int32x4_t, arg1_int32x2_t, 1);
11422 }
11423
11424-/* { dg-final { scan-assembler "vqdmulh\.s32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
11425+/* { dg-final { scan-assembler "vqdmulh\.s32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
11426 /* { dg-final { cleanup-saved-temps } } */
11427
11428=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqdmulhQ_ns16.c'
11429--- old/gcc/testsuite/gcc.target/arm/neon/vqdmulhQ_ns16.c 2010-07-29 15:38:15 +0000
11430+++ new/gcc/testsuite/gcc.target/arm/neon/vqdmulhQ_ns16.c 2010-08-20 13:27:11 +0000
11431@@ -17,5 +17,5 @@
11432 out_int16x8_t = vqdmulhq_n_s16 (arg0_int16x8_t, arg1_int16_t);
11433 }
11434
11435-/* { dg-final { scan-assembler "vqdmulh\.s16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
11436+/* { dg-final { scan-assembler "vqdmulh\.s16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
11437 /* { dg-final { cleanup-saved-temps } } */
11438
11439=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqdmulhQ_ns32.c'
11440--- old/gcc/testsuite/gcc.target/arm/neon/vqdmulhQ_ns32.c 2010-07-29 15:38:15 +0000
11441+++ new/gcc/testsuite/gcc.target/arm/neon/vqdmulhQ_ns32.c 2010-08-20 13:27:11 +0000
11442@@ -17,5 +17,5 @@
11443 out_int32x4_t = vqdmulhq_n_s32 (arg0_int32x4_t, arg1_int32_t);
11444 }
11445
11446-/* { dg-final { scan-assembler "vqdmulh\.s32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
11447+/* { dg-final { scan-assembler "vqdmulh\.s32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
11448 /* { dg-final { cleanup-saved-temps } } */
11449
11450=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqdmulhQs16.c'
11451--- old/gcc/testsuite/gcc.target/arm/neon/vqdmulhQs16.c 2010-07-29 15:38:15 +0000
11452+++ new/gcc/testsuite/gcc.target/arm/neon/vqdmulhQs16.c 2010-08-20 13:27:11 +0000
11453@@ -17,5 +17,5 @@
11454 out_int16x8_t = vqdmulhq_s16 (arg0_int16x8_t, arg1_int16x8_t);
11455 }
11456
11457-/* { dg-final { scan-assembler "vqdmulh\.s16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
11458+/* { dg-final { scan-assembler "vqdmulh\.s16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
11459 /* { dg-final { cleanup-saved-temps } } */
11460
11461=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqdmulhQs32.c'
11462--- old/gcc/testsuite/gcc.target/arm/neon/vqdmulhQs32.c 2010-07-29 15:38:15 +0000
11463+++ new/gcc/testsuite/gcc.target/arm/neon/vqdmulhQs32.c 2010-08-20 13:27:11 +0000
11464@@ -17,5 +17,5 @@
11465 out_int32x4_t = vqdmulhq_s32 (arg0_int32x4_t, arg1_int32x4_t);
11466 }
11467
11468-/* { dg-final { scan-assembler "vqdmulh\.s32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
11469+/* { dg-final { scan-assembler "vqdmulh\.s32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
11470 /* { dg-final { cleanup-saved-temps } } */
11471
11472=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqdmulh_lanes16.c'
11473--- old/gcc/testsuite/gcc.target/arm/neon/vqdmulh_lanes16.c 2010-07-29 15:38:15 +0000
11474+++ new/gcc/testsuite/gcc.target/arm/neon/vqdmulh_lanes16.c 2010-08-20 13:27:11 +0000
11475@@ -17,5 +17,5 @@
11476 out_int16x4_t = vqdmulh_lane_s16 (arg0_int16x4_t, arg1_int16x4_t, 1);
11477 }
11478
11479-/* { dg-final { scan-assembler "vqdmulh\.s16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
11480+/* { dg-final { scan-assembler "vqdmulh\.s16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
11481 /* { dg-final { cleanup-saved-temps } } */
11482
11483=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqdmulh_lanes32.c'
11484--- old/gcc/testsuite/gcc.target/arm/neon/vqdmulh_lanes32.c 2010-07-29 15:38:15 +0000
11485+++ new/gcc/testsuite/gcc.target/arm/neon/vqdmulh_lanes32.c 2010-08-20 13:27:11 +0000
11486@@ -17,5 +17,5 @@
11487 out_int32x2_t = vqdmulh_lane_s32 (arg0_int32x2_t, arg1_int32x2_t, 1);
11488 }
11489
11490-/* { dg-final { scan-assembler "vqdmulh\.s32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
11491+/* { dg-final { scan-assembler "vqdmulh\.s32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
11492 /* { dg-final { cleanup-saved-temps } } */
11493
11494=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqdmulh_ns16.c'
11495--- old/gcc/testsuite/gcc.target/arm/neon/vqdmulh_ns16.c 2010-07-29 15:38:15 +0000
11496+++ new/gcc/testsuite/gcc.target/arm/neon/vqdmulh_ns16.c 2010-08-20 13:27:11 +0000
11497@@ -17,5 +17,5 @@
11498 out_int16x4_t = vqdmulh_n_s16 (arg0_int16x4_t, arg1_int16_t);
11499 }
11500
11501-/* { dg-final { scan-assembler "vqdmulh\.s16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
11502+/* { dg-final { scan-assembler "vqdmulh\.s16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
11503 /* { dg-final { cleanup-saved-temps } } */
11504
11505=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqdmulh_ns32.c'
11506--- old/gcc/testsuite/gcc.target/arm/neon/vqdmulh_ns32.c 2010-07-29 15:38:15 +0000
11507+++ new/gcc/testsuite/gcc.target/arm/neon/vqdmulh_ns32.c 2010-08-20 13:27:11 +0000
11508@@ -17,5 +17,5 @@
11509 out_int32x2_t = vqdmulh_n_s32 (arg0_int32x2_t, arg1_int32_t);
11510 }
11511
11512-/* { dg-final { scan-assembler "vqdmulh\.s32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
11513+/* { dg-final { scan-assembler "vqdmulh\.s32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
11514 /* { dg-final { cleanup-saved-temps } } */
11515
11516=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqdmulhs16.c'
11517--- old/gcc/testsuite/gcc.target/arm/neon/vqdmulhs16.c 2010-07-29 15:38:15 +0000
11518+++ new/gcc/testsuite/gcc.target/arm/neon/vqdmulhs16.c 2010-08-20 13:27:11 +0000
11519@@ -17,5 +17,5 @@
11520 out_int16x4_t = vqdmulh_s16 (arg0_int16x4_t, arg1_int16x4_t);
11521 }
11522
11523-/* { dg-final { scan-assembler "vqdmulh\.s16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
11524+/* { dg-final { scan-assembler "vqdmulh\.s16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
11525 /* { dg-final { cleanup-saved-temps } } */
11526
11527=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqdmulhs32.c'
11528--- old/gcc/testsuite/gcc.target/arm/neon/vqdmulhs32.c 2010-07-29 15:38:15 +0000
11529+++ new/gcc/testsuite/gcc.target/arm/neon/vqdmulhs32.c 2010-08-20 13:27:11 +0000
11530@@ -17,5 +17,5 @@
11531 out_int32x2_t = vqdmulh_s32 (arg0_int32x2_t, arg1_int32x2_t);
11532 }
11533
11534-/* { dg-final { scan-assembler "vqdmulh\.s32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
11535+/* { dg-final { scan-assembler "vqdmulh\.s32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
11536 /* { dg-final { cleanup-saved-temps } } */
11537
11538=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqdmull_lanes16.c'
11539--- old/gcc/testsuite/gcc.target/arm/neon/vqdmull_lanes16.c 2010-07-29 15:38:15 +0000
11540+++ new/gcc/testsuite/gcc.target/arm/neon/vqdmull_lanes16.c 2010-08-20 13:27:11 +0000
11541@@ -17,5 +17,5 @@
11542 out_int32x4_t = vqdmull_lane_s16 (arg0_int16x4_t, arg1_int16x4_t, 1);
11543 }
11544
11545-/* { dg-final { scan-assembler "vqdmull\.s16\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
11546+/* { dg-final { scan-assembler "vqdmull\.s16\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
11547 /* { dg-final { cleanup-saved-temps } } */
11548
11549=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqdmull_lanes32.c'
11550--- old/gcc/testsuite/gcc.target/arm/neon/vqdmull_lanes32.c 2010-07-29 15:38:15 +0000
11551+++ new/gcc/testsuite/gcc.target/arm/neon/vqdmull_lanes32.c 2010-08-20 13:27:11 +0000
11552@@ -17,5 +17,5 @@
11553 out_int64x2_t = vqdmull_lane_s32 (arg0_int32x2_t, arg1_int32x2_t, 1);
11554 }
11555
11556-/* { dg-final { scan-assembler "vqdmull\.s32\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
11557+/* { dg-final { scan-assembler "vqdmull\.s32\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
11558 /* { dg-final { cleanup-saved-temps } } */
11559
11560=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqdmull_ns16.c'
11561--- old/gcc/testsuite/gcc.target/arm/neon/vqdmull_ns16.c 2010-07-29 15:38:15 +0000
11562+++ new/gcc/testsuite/gcc.target/arm/neon/vqdmull_ns16.c 2010-08-20 13:27:11 +0000
11563@@ -17,5 +17,5 @@
11564 out_int32x4_t = vqdmull_n_s16 (arg0_int16x4_t, arg1_int16_t);
11565 }
11566
11567-/* { dg-final { scan-assembler "vqdmull\.s16\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
11568+/* { dg-final { scan-assembler "vqdmull\.s16\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
11569 /* { dg-final { cleanup-saved-temps } } */
11570
11571=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqdmull_ns32.c'
11572--- old/gcc/testsuite/gcc.target/arm/neon/vqdmull_ns32.c 2010-07-29 15:38:15 +0000
11573+++ new/gcc/testsuite/gcc.target/arm/neon/vqdmull_ns32.c 2010-08-20 13:27:11 +0000
11574@@ -17,5 +17,5 @@
11575 out_int64x2_t = vqdmull_n_s32 (arg0_int32x2_t, arg1_int32_t);
11576 }
11577
11578-/* { dg-final { scan-assembler "vqdmull\.s32\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
11579+/* { dg-final { scan-assembler "vqdmull\.s32\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
11580 /* { dg-final { cleanup-saved-temps } } */
11581
11582=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqdmulls16.c'
11583--- old/gcc/testsuite/gcc.target/arm/neon/vqdmulls16.c 2010-07-29 15:38:15 +0000
11584+++ new/gcc/testsuite/gcc.target/arm/neon/vqdmulls16.c 2010-08-20 13:27:11 +0000
11585@@ -17,5 +17,5 @@
11586 out_int32x4_t = vqdmull_s16 (arg0_int16x4_t, arg1_int16x4_t);
11587 }
11588
11589-/* { dg-final { scan-assembler "vqdmull\.s16\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
11590+/* { dg-final { scan-assembler "vqdmull\.s16\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
11591 /* { dg-final { cleanup-saved-temps } } */
11592
11593=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqdmulls32.c'
11594--- old/gcc/testsuite/gcc.target/arm/neon/vqdmulls32.c 2010-07-29 15:38:15 +0000
11595+++ new/gcc/testsuite/gcc.target/arm/neon/vqdmulls32.c 2010-08-20 13:27:11 +0000
11596@@ -17,5 +17,5 @@
11597 out_int64x2_t = vqdmull_s32 (arg0_int32x2_t, arg1_int32x2_t);
11598 }
11599
11600-/* { dg-final { scan-assembler "vqdmull\.s32\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
11601+/* { dg-final { scan-assembler "vqdmull\.s32\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
11602 /* { dg-final { cleanup-saved-temps } } */
11603
11604=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqmovns16.c'
11605--- old/gcc/testsuite/gcc.target/arm/neon/vqmovns16.c 2010-07-29 15:38:15 +0000
11606+++ new/gcc/testsuite/gcc.target/arm/neon/vqmovns16.c 2010-08-20 13:27:11 +0000
11607@@ -16,5 +16,5 @@
11608 out_int8x8_t = vqmovn_s16 (arg0_int16x8_t);
11609 }
11610
11611-/* { dg-final { scan-assembler "vqmovn\.s16\[ \]+\[dD\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
11612+/* { dg-final { scan-assembler "vqmovn\.s16\[ \]+\[dD\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
11613 /* { dg-final { cleanup-saved-temps } } */
11614
11615=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqmovns32.c'
11616--- old/gcc/testsuite/gcc.target/arm/neon/vqmovns32.c 2010-07-29 15:38:15 +0000
11617+++ new/gcc/testsuite/gcc.target/arm/neon/vqmovns32.c 2010-08-20 13:27:11 +0000
11618@@ -16,5 +16,5 @@
11619 out_int16x4_t = vqmovn_s32 (arg0_int32x4_t);
11620 }
11621
11622-/* { dg-final { scan-assembler "vqmovn\.s32\[ \]+\[dD\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
11623+/* { dg-final { scan-assembler "vqmovn\.s32\[ \]+\[dD\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
11624 /* { dg-final { cleanup-saved-temps } } */
11625
11626=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqmovns64.c'
11627--- old/gcc/testsuite/gcc.target/arm/neon/vqmovns64.c 2010-07-29 15:38:15 +0000
11628+++ new/gcc/testsuite/gcc.target/arm/neon/vqmovns64.c 2010-08-20 13:27:11 +0000
11629@@ -16,5 +16,5 @@
11630 out_int32x2_t = vqmovn_s64 (arg0_int64x2_t);
11631 }
11632
11633-/* { dg-final { scan-assembler "vqmovn\.s64\[ \]+\[dD\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
11634+/* { dg-final { scan-assembler "vqmovn\.s64\[ \]+\[dD\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
11635 /* { dg-final { cleanup-saved-temps } } */
11636
11637=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqmovnu16.c'
11638--- old/gcc/testsuite/gcc.target/arm/neon/vqmovnu16.c 2010-07-29 15:38:15 +0000
11639+++ new/gcc/testsuite/gcc.target/arm/neon/vqmovnu16.c 2010-08-20 13:27:11 +0000
11640@@ -16,5 +16,5 @@
11641 out_uint8x8_t = vqmovn_u16 (arg0_uint16x8_t);
11642 }
11643
11644-/* { dg-final { scan-assembler "vqmovn\.u16\[ \]+\[dD\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
11645+/* { dg-final { scan-assembler "vqmovn\.u16\[ \]+\[dD\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
11646 /* { dg-final { cleanup-saved-temps } } */
11647
11648=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqmovnu32.c'
11649--- old/gcc/testsuite/gcc.target/arm/neon/vqmovnu32.c 2010-07-29 15:38:15 +0000
11650+++ new/gcc/testsuite/gcc.target/arm/neon/vqmovnu32.c 2010-08-20 13:27:11 +0000
11651@@ -16,5 +16,5 @@
11652 out_uint16x4_t = vqmovn_u32 (arg0_uint32x4_t);
11653 }
11654
11655-/* { dg-final { scan-assembler "vqmovn\.u32\[ \]+\[dD\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
11656+/* { dg-final { scan-assembler "vqmovn\.u32\[ \]+\[dD\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
11657 /* { dg-final { cleanup-saved-temps } } */
11658
11659=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqmovnu64.c'
11660--- old/gcc/testsuite/gcc.target/arm/neon/vqmovnu64.c 2010-07-29 15:38:15 +0000
11661+++ new/gcc/testsuite/gcc.target/arm/neon/vqmovnu64.c 2010-08-20 13:27:11 +0000
11662@@ -16,5 +16,5 @@
11663 out_uint32x2_t = vqmovn_u64 (arg0_uint64x2_t);
11664 }
11665
11666-/* { dg-final { scan-assembler "vqmovn\.u64\[ \]+\[dD\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
11667+/* { dg-final { scan-assembler "vqmovn\.u64\[ \]+\[dD\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
11668 /* { dg-final { cleanup-saved-temps } } */
11669
11670=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqmovuns16.c'
11671--- old/gcc/testsuite/gcc.target/arm/neon/vqmovuns16.c 2010-07-29 15:38:15 +0000
11672+++ new/gcc/testsuite/gcc.target/arm/neon/vqmovuns16.c 2010-08-20 13:27:11 +0000
11673@@ -16,5 +16,5 @@
11674 out_uint8x8_t = vqmovun_s16 (arg0_int16x8_t);
11675 }
11676
11677-/* { dg-final { scan-assembler "vqmovun\.s16\[ \]+\[dD\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
11678+/* { dg-final { scan-assembler "vqmovun\.s16\[ \]+\[dD\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
11679 /* { dg-final { cleanup-saved-temps } } */
11680
11681=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqmovuns32.c'
11682--- old/gcc/testsuite/gcc.target/arm/neon/vqmovuns32.c 2010-07-29 15:38:15 +0000
11683+++ new/gcc/testsuite/gcc.target/arm/neon/vqmovuns32.c 2010-08-20 13:27:11 +0000
11684@@ -16,5 +16,5 @@
11685 out_uint16x4_t = vqmovun_s32 (arg0_int32x4_t);
11686 }
11687
11688-/* { dg-final { scan-assembler "vqmovun\.s32\[ \]+\[dD\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
11689+/* { dg-final { scan-assembler "vqmovun\.s32\[ \]+\[dD\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
11690 /* { dg-final { cleanup-saved-temps } } */
11691
11692=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqmovuns64.c'
11693--- old/gcc/testsuite/gcc.target/arm/neon/vqmovuns64.c 2010-07-29 15:38:15 +0000
11694+++ new/gcc/testsuite/gcc.target/arm/neon/vqmovuns64.c 2010-08-20 13:27:11 +0000
11695@@ -16,5 +16,5 @@
11696 out_uint32x2_t = vqmovun_s64 (arg0_int64x2_t);
11697 }
11698
11699-/* { dg-final { scan-assembler "vqmovun\.s64\[ \]+\[dD\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
11700+/* { dg-final { scan-assembler "vqmovun\.s64\[ \]+\[dD\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
11701 /* { dg-final { cleanup-saved-temps } } */
11702
11703=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqnegQs16.c'
11704--- old/gcc/testsuite/gcc.target/arm/neon/vqnegQs16.c 2010-07-29 15:38:15 +0000
11705+++ new/gcc/testsuite/gcc.target/arm/neon/vqnegQs16.c 2010-08-20 13:27:11 +0000
11706@@ -16,5 +16,5 @@
11707 out_int16x8_t = vqnegq_s16 (arg0_int16x8_t);
11708 }
11709
11710-/* { dg-final { scan-assembler "vqneg\.s16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
11711+/* { dg-final { scan-assembler "vqneg\.s16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
11712 /* { dg-final { cleanup-saved-temps } } */
11713
11714=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqnegQs32.c'
11715--- old/gcc/testsuite/gcc.target/arm/neon/vqnegQs32.c 2010-07-29 15:38:15 +0000
11716+++ new/gcc/testsuite/gcc.target/arm/neon/vqnegQs32.c 2010-08-20 13:27:11 +0000
11717@@ -16,5 +16,5 @@
11718 out_int32x4_t = vqnegq_s32 (arg0_int32x4_t);
11719 }
11720
11721-/* { dg-final { scan-assembler "vqneg\.s32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
11722+/* { dg-final { scan-assembler "vqneg\.s32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
11723 /* { dg-final { cleanup-saved-temps } } */
11724
11725=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqnegQs8.c'
11726--- old/gcc/testsuite/gcc.target/arm/neon/vqnegQs8.c 2010-07-29 15:38:15 +0000
11727+++ new/gcc/testsuite/gcc.target/arm/neon/vqnegQs8.c 2010-08-20 13:27:11 +0000
11728@@ -16,5 +16,5 @@
11729 out_int8x16_t = vqnegq_s8 (arg0_int8x16_t);
11730 }
11731
11732-/* { dg-final { scan-assembler "vqneg\.s8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
11733+/* { dg-final { scan-assembler "vqneg\.s8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
11734 /* { dg-final { cleanup-saved-temps } } */
11735
11736=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqnegs16.c'
11737--- old/gcc/testsuite/gcc.target/arm/neon/vqnegs16.c 2010-07-29 15:38:15 +0000
11738+++ new/gcc/testsuite/gcc.target/arm/neon/vqnegs16.c 2010-08-20 13:27:11 +0000
11739@@ -16,5 +16,5 @@
11740 out_int16x4_t = vqneg_s16 (arg0_int16x4_t);
11741 }
11742
11743-/* { dg-final { scan-assembler "vqneg\.s16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
11744+/* { dg-final { scan-assembler "vqneg\.s16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
11745 /* { dg-final { cleanup-saved-temps } } */
11746
11747=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqnegs32.c'
11748--- old/gcc/testsuite/gcc.target/arm/neon/vqnegs32.c 2010-07-29 15:38:15 +0000
11749+++ new/gcc/testsuite/gcc.target/arm/neon/vqnegs32.c 2010-08-20 13:27:11 +0000
11750@@ -16,5 +16,5 @@
11751 out_int32x2_t = vqneg_s32 (arg0_int32x2_t);
11752 }
11753
11754-/* { dg-final { scan-assembler "vqneg\.s32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
11755+/* { dg-final { scan-assembler "vqneg\.s32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
11756 /* { dg-final { cleanup-saved-temps } } */
11757
11758=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqnegs8.c'
11759--- old/gcc/testsuite/gcc.target/arm/neon/vqnegs8.c 2010-07-29 15:38:15 +0000
11760+++ new/gcc/testsuite/gcc.target/arm/neon/vqnegs8.c 2010-08-20 13:27:11 +0000
11761@@ -16,5 +16,5 @@
11762 out_int8x8_t = vqneg_s8 (arg0_int8x8_t);
11763 }
11764
11765-/* { dg-final { scan-assembler "vqneg\.s8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
11766+/* { dg-final { scan-assembler "vqneg\.s8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
11767 /* { dg-final { cleanup-saved-temps } } */
11768
11769=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqshlQ_ns16.c'
11770--- old/gcc/testsuite/gcc.target/arm/neon/vqshlQ_ns16.c 2010-07-29 15:38:15 +0000
11771+++ new/gcc/testsuite/gcc.target/arm/neon/vqshlQ_ns16.c 2010-08-20 13:27:11 +0000
11772@@ -16,5 +16,5 @@
11773 out_int16x8_t = vqshlq_n_s16 (arg0_int16x8_t, 1);
11774 }
11775
11776-/* { dg-final { scan-assembler "vqshl\.s16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
11777+/* { dg-final { scan-assembler "vqshl\.s16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
11778 /* { dg-final { cleanup-saved-temps } } */
11779
11780=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqshlQ_ns32.c'
11781--- old/gcc/testsuite/gcc.target/arm/neon/vqshlQ_ns32.c 2010-07-29 15:38:15 +0000
11782+++ new/gcc/testsuite/gcc.target/arm/neon/vqshlQ_ns32.c 2010-08-20 13:27:11 +0000
11783@@ -16,5 +16,5 @@
11784 out_int32x4_t = vqshlq_n_s32 (arg0_int32x4_t, 1);
11785 }
11786
11787-/* { dg-final { scan-assembler "vqshl\.s32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
11788+/* { dg-final { scan-assembler "vqshl\.s32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
11789 /* { dg-final { cleanup-saved-temps } } */
11790
11791=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqshlQ_ns64.c'
11792--- old/gcc/testsuite/gcc.target/arm/neon/vqshlQ_ns64.c 2010-07-29 15:38:15 +0000
11793+++ new/gcc/testsuite/gcc.target/arm/neon/vqshlQ_ns64.c 2010-08-20 13:27:11 +0000
11794@@ -16,5 +16,5 @@
11795 out_int64x2_t = vqshlq_n_s64 (arg0_int64x2_t, 1);
11796 }
11797
11798-/* { dg-final { scan-assembler "vqshl\.s64\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
11799+/* { dg-final { scan-assembler "vqshl\.s64\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
11800 /* { dg-final { cleanup-saved-temps } } */
11801
11802=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqshlQ_ns8.c'
11803--- old/gcc/testsuite/gcc.target/arm/neon/vqshlQ_ns8.c 2010-07-29 15:38:15 +0000
11804+++ new/gcc/testsuite/gcc.target/arm/neon/vqshlQ_ns8.c 2010-08-20 13:27:11 +0000
11805@@ -16,5 +16,5 @@
11806 out_int8x16_t = vqshlq_n_s8 (arg0_int8x16_t, 1);
11807 }
11808
11809-/* { dg-final { scan-assembler "vqshl\.s8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
11810+/* { dg-final { scan-assembler "vqshl\.s8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
11811 /* { dg-final { cleanup-saved-temps } } */
11812
11813=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqshlQ_nu16.c'
11814--- old/gcc/testsuite/gcc.target/arm/neon/vqshlQ_nu16.c 2010-07-29 15:38:15 +0000
11815+++ new/gcc/testsuite/gcc.target/arm/neon/vqshlQ_nu16.c 2010-08-20 13:27:11 +0000
11816@@ -16,5 +16,5 @@
11817 out_uint16x8_t = vqshlq_n_u16 (arg0_uint16x8_t, 1);
11818 }
11819
11820-/* { dg-final { scan-assembler "vqshl\.u16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
11821+/* { dg-final { scan-assembler "vqshl\.u16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
11822 /* { dg-final { cleanup-saved-temps } } */
11823
11824=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqshlQ_nu32.c'
11825--- old/gcc/testsuite/gcc.target/arm/neon/vqshlQ_nu32.c 2010-07-29 15:38:15 +0000
11826+++ new/gcc/testsuite/gcc.target/arm/neon/vqshlQ_nu32.c 2010-08-20 13:27:11 +0000
11827@@ -16,5 +16,5 @@
11828 out_uint32x4_t = vqshlq_n_u32 (arg0_uint32x4_t, 1);
11829 }
11830
11831-/* { dg-final { scan-assembler "vqshl\.u32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
11832+/* { dg-final { scan-assembler "vqshl\.u32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
11833 /* { dg-final { cleanup-saved-temps } } */
11834
11835=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqshlQ_nu64.c'
11836--- old/gcc/testsuite/gcc.target/arm/neon/vqshlQ_nu64.c 2010-07-29 15:38:15 +0000
11837+++ new/gcc/testsuite/gcc.target/arm/neon/vqshlQ_nu64.c 2010-08-20 13:27:11 +0000
11838@@ -16,5 +16,5 @@
11839 out_uint64x2_t = vqshlq_n_u64 (arg0_uint64x2_t, 1);
11840 }
11841
11842-/* { dg-final { scan-assembler "vqshl\.u64\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
11843+/* { dg-final { scan-assembler "vqshl\.u64\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
11844 /* { dg-final { cleanup-saved-temps } } */
11845
11846=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqshlQ_nu8.c'
11847--- old/gcc/testsuite/gcc.target/arm/neon/vqshlQ_nu8.c 2010-07-29 15:38:15 +0000
11848+++ new/gcc/testsuite/gcc.target/arm/neon/vqshlQ_nu8.c 2010-08-20 13:27:11 +0000
11849@@ -16,5 +16,5 @@
11850 out_uint8x16_t = vqshlq_n_u8 (arg0_uint8x16_t, 1);
11851 }
11852
11853-/* { dg-final { scan-assembler "vqshl\.u8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
11854+/* { dg-final { scan-assembler "vqshl\.u8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
11855 /* { dg-final { cleanup-saved-temps } } */
11856
11857=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqshlQs16.c'
11858--- old/gcc/testsuite/gcc.target/arm/neon/vqshlQs16.c 2010-07-29 15:38:15 +0000
11859+++ new/gcc/testsuite/gcc.target/arm/neon/vqshlQs16.c 2010-08-20 13:27:11 +0000
11860@@ -17,5 +17,5 @@
11861 out_int16x8_t = vqshlq_s16 (arg0_int16x8_t, arg1_int16x8_t);
11862 }
11863
11864-/* { dg-final { scan-assembler "vqshl\.s16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
11865+/* { dg-final { scan-assembler "vqshl\.s16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
11866 /* { dg-final { cleanup-saved-temps } } */
11867
11868=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqshlQs32.c'
11869--- old/gcc/testsuite/gcc.target/arm/neon/vqshlQs32.c 2010-07-29 15:38:15 +0000
11870+++ new/gcc/testsuite/gcc.target/arm/neon/vqshlQs32.c 2010-08-20 13:27:11 +0000
11871@@ -17,5 +17,5 @@
11872 out_int32x4_t = vqshlq_s32 (arg0_int32x4_t, arg1_int32x4_t);
11873 }
11874
11875-/* { dg-final { scan-assembler "vqshl\.s32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
11876+/* { dg-final { scan-assembler "vqshl\.s32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
11877 /* { dg-final { cleanup-saved-temps } } */
11878
11879=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqshlQs64.c'
11880--- old/gcc/testsuite/gcc.target/arm/neon/vqshlQs64.c 2010-07-29 15:38:15 +0000
11881+++ new/gcc/testsuite/gcc.target/arm/neon/vqshlQs64.c 2010-08-20 13:27:11 +0000
11882@@ -17,5 +17,5 @@
11883 out_int64x2_t = vqshlq_s64 (arg0_int64x2_t, arg1_int64x2_t);
11884 }
11885
11886-/* { dg-final { scan-assembler "vqshl\.s64\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
11887+/* { dg-final { scan-assembler "vqshl\.s64\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
11888 /* { dg-final { cleanup-saved-temps } } */
11889
11890=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqshlQs8.c'
11891--- old/gcc/testsuite/gcc.target/arm/neon/vqshlQs8.c 2010-07-29 15:38:15 +0000
11892+++ new/gcc/testsuite/gcc.target/arm/neon/vqshlQs8.c 2010-08-20 13:27:11 +0000
11893@@ -17,5 +17,5 @@
11894 out_int8x16_t = vqshlq_s8 (arg0_int8x16_t, arg1_int8x16_t);
11895 }
11896
11897-/* { dg-final { scan-assembler "vqshl\.s8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
11898+/* { dg-final { scan-assembler "vqshl\.s8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
11899 /* { dg-final { cleanup-saved-temps } } */
11900
11901=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqshlQu16.c'
11902--- old/gcc/testsuite/gcc.target/arm/neon/vqshlQu16.c 2010-07-29 15:38:15 +0000
11903+++ new/gcc/testsuite/gcc.target/arm/neon/vqshlQu16.c 2010-08-20 13:27:11 +0000
11904@@ -17,5 +17,5 @@
11905 out_uint16x8_t = vqshlq_u16 (arg0_uint16x8_t, arg1_int16x8_t);
11906 }
11907
11908-/* { dg-final { scan-assembler "vqshl\.u16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
11909+/* { dg-final { scan-assembler "vqshl\.u16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
11910 /* { dg-final { cleanup-saved-temps } } */
11911
11912=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqshlQu32.c'
11913--- old/gcc/testsuite/gcc.target/arm/neon/vqshlQu32.c 2010-07-29 15:38:15 +0000
11914+++ new/gcc/testsuite/gcc.target/arm/neon/vqshlQu32.c 2010-08-20 13:27:11 +0000
11915@@ -17,5 +17,5 @@
11916 out_uint32x4_t = vqshlq_u32 (arg0_uint32x4_t, arg1_int32x4_t);
11917 }
11918
11919-/* { dg-final { scan-assembler "vqshl\.u32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
11920+/* { dg-final { scan-assembler "vqshl\.u32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
11921 /* { dg-final { cleanup-saved-temps } } */
11922
11923=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqshlQu64.c'
11924--- old/gcc/testsuite/gcc.target/arm/neon/vqshlQu64.c 2010-07-29 15:38:15 +0000
11925+++ new/gcc/testsuite/gcc.target/arm/neon/vqshlQu64.c 2010-08-20 13:27:11 +0000
11926@@ -17,5 +17,5 @@
11927 out_uint64x2_t = vqshlq_u64 (arg0_uint64x2_t, arg1_int64x2_t);
11928 }
11929
11930-/* { dg-final { scan-assembler "vqshl\.u64\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
11931+/* { dg-final { scan-assembler "vqshl\.u64\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
11932 /* { dg-final { cleanup-saved-temps } } */
11933
11934=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqshlQu8.c'
11935--- old/gcc/testsuite/gcc.target/arm/neon/vqshlQu8.c 2010-07-29 15:38:15 +0000
11936+++ new/gcc/testsuite/gcc.target/arm/neon/vqshlQu8.c 2010-08-20 13:27:11 +0000
11937@@ -17,5 +17,5 @@
11938 out_uint8x16_t = vqshlq_u8 (arg0_uint8x16_t, arg1_int8x16_t);
11939 }
11940
11941-/* { dg-final { scan-assembler "vqshl\.u8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
11942+/* { dg-final { scan-assembler "vqshl\.u8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
11943 /* { dg-final { cleanup-saved-temps } } */
11944
11945=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqshl_ns16.c'
11946--- old/gcc/testsuite/gcc.target/arm/neon/vqshl_ns16.c 2010-07-29 15:38:15 +0000
11947+++ new/gcc/testsuite/gcc.target/arm/neon/vqshl_ns16.c 2010-08-20 13:27:11 +0000
11948@@ -16,5 +16,5 @@
11949 out_int16x4_t = vqshl_n_s16 (arg0_int16x4_t, 1);
11950 }
11951
11952-/* { dg-final { scan-assembler "vqshl\.s16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
11953+/* { dg-final { scan-assembler "vqshl\.s16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
11954 /* { dg-final { cleanup-saved-temps } } */
11955
11956=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqshl_ns32.c'
11957--- old/gcc/testsuite/gcc.target/arm/neon/vqshl_ns32.c 2010-07-29 15:38:15 +0000
11958+++ new/gcc/testsuite/gcc.target/arm/neon/vqshl_ns32.c 2010-08-20 13:27:11 +0000
11959@@ -16,5 +16,5 @@
11960 out_int32x2_t = vqshl_n_s32 (arg0_int32x2_t, 1);
11961 }
11962
11963-/* { dg-final { scan-assembler "vqshl\.s32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
11964+/* { dg-final { scan-assembler "vqshl\.s32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
11965 /* { dg-final { cleanup-saved-temps } } */
11966
11967=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqshl_ns64.c'
11968--- old/gcc/testsuite/gcc.target/arm/neon/vqshl_ns64.c 2010-07-29 15:38:15 +0000
11969+++ new/gcc/testsuite/gcc.target/arm/neon/vqshl_ns64.c 2010-08-20 13:27:11 +0000
11970@@ -16,5 +16,5 @@
11971 out_int64x1_t = vqshl_n_s64 (arg0_int64x1_t, 1);
11972 }
11973
11974-/* { dg-final { scan-assembler "vqshl\.s64\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
11975+/* { dg-final { scan-assembler "vqshl\.s64\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
11976 /* { dg-final { cleanup-saved-temps } } */
11977
11978=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqshl_ns8.c'
11979--- old/gcc/testsuite/gcc.target/arm/neon/vqshl_ns8.c 2010-07-29 15:38:15 +0000
11980+++ new/gcc/testsuite/gcc.target/arm/neon/vqshl_ns8.c 2010-08-20 13:27:11 +0000
11981@@ -16,5 +16,5 @@
11982 out_int8x8_t = vqshl_n_s8 (arg0_int8x8_t, 1);
11983 }
11984
11985-/* { dg-final { scan-assembler "vqshl\.s8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
11986+/* { dg-final { scan-assembler "vqshl\.s8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
11987 /* { dg-final { cleanup-saved-temps } } */
11988
11989=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqshl_nu16.c'
11990--- old/gcc/testsuite/gcc.target/arm/neon/vqshl_nu16.c 2010-07-29 15:38:15 +0000
11991+++ new/gcc/testsuite/gcc.target/arm/neon/vqshl_nu16.c 2010-08-20 13:27:11 +0000
11992@@ -16,5 +16,5 @@
11993 out_uint16x4_t = vqshl_n_u16 (arg0_uint16x4_t, 1);
11994 }
11995
11996-/* { dg-final { scan-assembler "vqshl\.u16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
11997+/* { dg-final { scan-assembler "vqshl\.u16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
11998 /* { dg-final { cleanup-saved-temps } } */
11999
12000=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqshl_nu32.c'
12001--- old/gcc/testsuite/gcc.target/arm/neon/vqshl_nu32.c 2010-07-29 15:38:15 +0000
12002+++ new/gcc/testsuite/gcc.target/arm/neon/vqshl_nu32.c 2010-08-20 13:27:11 +0000
12003@@ -16,5 +16,5 @@
12004 out_uint32x2_t = vqshl_n_u32 (arg0_uint32x2_t, 1);
12005 }
12006
12007-/* { dg-final { scan-assembler "vqshl\.u32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
12008+/* { dg-final { scan-assembler "vqshl\.u32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
12009 /* { dg-final { cleanup-saved-temps } } */
12010
12011=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqshl_nu64.c'
12012--- old/gcc/testsuite/gcc.target/arm/neon/vqshl_nu64.c 2010-07-29 15:38:15 +0000
12013+++ new/gcc/testsuite/gcc.target/arm/neon/vqshl_nu64.c 2010-08-20 13:27:11 +0000
12014@@ -16,5 +16,5 @@
12015 out_uint64x1_t = vqshl_n_u64 (arg0_uint64x1_t, 1);
12016 }
12017
12018-/* { dg-final { scan-assembler "vqshl\.u64\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
12019+/* { dg-final { scan-assembler "vqshl\.u64\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
12020 /* { dg-final { cleanup-saved-temps } } */
12021
12022=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqshl_nu8.c'
12023--- old/gcc/testsuite/gcc.target/arm/neon/vqshl_nu8.c 2010-07-29 15:38:15 +0000
12024+++ new/gcc/testsuite/gcc.target/arm/neon/vqshl_nu8.c 2010-08-20 13:27:11 +0000
12025@@ -16,5 +16,5 @@
12026 out_uint8x8_t = vqshl_n_u8 (arg0_uint8x8_t, 1);
12027 }
12028
12029-/* { dg-final { scan-assembler "vqshl\.u8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
12030+/* { dg-final { scan-assembler "vqshl\.u8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
12031 /* { dg-final { cleanup-saved-temps } } */
12032
12033=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqshls16.c'
12034--- old/gcc/testsuite/gcc.target/arm/neon/vqshls16.c 2010-07-29 15:38:15 +0000
12035+++ new/gcc/testsuite/gcc.target/arm/neon/vqshls16.c 2010-08-20 13:27:11 +0000
12036@@ -17,5 +17,5 @@
12037 out_int16x4_t = vqshl_s16 (arg0_int16x4_t, arg1_int16x4_t);
12038 }
12039
12040-/* { dg-final { scan-assembler "vqshl\.s16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
12041+/* { dg-final { scan-assembler "vqshl\.s16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
12042 /* { dg-final { cleanup-saved-temps } } */
12043
12044=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqshls32.c'
12045--- old/gcc/testsuite/gcc.target/arm/neon/vqshls32.c 2010-07-29 15:38:15 +0000
12046+++ new/gcc/testsuite/gcc.target/arm/neon/vqshls32.c 2010-08-20 13:27:11 +0000
12047@@ -17,5 +17,5 @@
12048 out_int32x2_t = vqshl_s32 (arg0_int32x2_t, arg1_int32x2_t);
12049 }
12050
12051-/* { dg-final { scan-assembler "vqshl\.s32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
12052+/* { dg-final { scan-assembler "vqshl\.s32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
12053 /* { dg-final { cleanup-saved-temps } } */
12054
12055=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqshls64.c'
12056--- old/gcc/testsuite/gcc.target/arm/neon/vqshls64.c 2010-07-29 15:38:15 +0000
12057+++ new/gcc/testsuite/gcc.target/arm/neon/vqshls64.c 2010-08-20 13:27:11 +0000
12058@@ -17,5 +17,5 @@
12059 out_int64x1_t = vqshl_s64 (arg0_int64x1_t, arg1_int64x1_t);
12060 }
12061
12062-/* { dg-final { scan-assembler "vqshl\.s64\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
12063+/* { dg-final { scan-assembler "vqshl\.s64\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
12064 /* { dg-final { cleanup-saved-temps } } */
12065
12066=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqshls8.c'
12067--- old/gcc/testsuite/gcc.target/arm/neon/vqshls8.c 2010-07-29 15:38:15 +0000
12068+++ new/gcc/testsuite/gcc.target/arm/neon/vqshls8.c 2010-08-20 13:27:11 +0000
12069@@ -17,5 +17,5 @@
12070 out_int8x8_t = vqshl_s8 (arg0_int8x8_t, arg1_int8x8_t);
12071 }
12072
12073-/* { dg-final { scan-assembler "vqshl\.s8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
12074+/* { dg-final { scan-assembler "vqshl\.s8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
12075 /* { dg-final { cleanup-saved-temps } } */
12076
12077=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqshlu16.c'
12078--- old/gcc/testsuite/gcc.target/arm/neon/vqshlu16.c 2010-07-29 15:38:15 +0000
12079+++ new/gcc/testsuite/gcc.target/arm/neon/vqshlu16.c 2010-08-20 13:27:11 +0000
12080@@ -17,5 +17,5 @@
12081 out_uint16x4_t = vqshl_u16 (arg0_uint16x4_t, arg1_int16x4_t);
12082 }
12083
12084-/* { dg-final { scan-assembler "vqshl\.u16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
12085+/* { dg-final { scan-assembler "vqshl\.u16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
12086 /* { dg-final { cleanup-saved-temps } } */
12087
12088=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqshlu32.c'
12089--- old/gcc/testsuite/gcc.target/arm/neon/vqshlu32.c 2010-07-29 15:38:15 +0000
12090+++ new/gcc/testsuite/gcc.target/arm/neon/vqshlu32.c 2010-08-20 13:27:11 +0000
12091@@ -17,5 +17,5 @@
12092 out_uint32x2_t = vqshl_u32 (arg0_uint32x2_t, arg1_int32x2_t);
12093 }
12094
12095-/* { dg-final { scan-assembler "vqshl\.u32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
12096+/* { dg-final { scan-assembler "vqshl\.u32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
12097 /* { dg-final { cleanup-saved-temps } } */
12098
12099=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqshlu64.c'
12100--- old/gcc/testsuite/gcc.target/arm/neon/vqshlu64.c 2010-07-29 15:38:15 +0000
12101+++ new/gcc/testsuite/gcc.target/arm/neon/vqshlu64.c 2010-08-20 13:27:11 +0000
12102@@ -17,5 +17,5 @@
12103 out_uint64x1_t = vqshl_u64 (arg0_uint64x1_t, arg1_int64x1_t);
12104 }
12105
12106-/* { dg-final { scan-assembler "vqshl\.u64\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
12107+/* { dg-final { scan-assembler "vqshl\.u64\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
12108 /* { dg-final { cleanup-saved-temps } } */
12109
12110=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqshlu8.c'
12111--- old/gcc/testsuite/gcc.target/arm/neon/vqshlu8.c 2010-07-29 15:38:15 +0000
12112+++ new/gcc/testsuite/gcc.target/arm/neon/vqshlu8.c 2010-08-20 13:27:11 +0000
12113@@ -17,5 +17,5 @@
12114 out_uint8x8_t = vqshl_u8 (arg0_uint8x8_t, arg1_int8x8_t);
12115 }
12116
12117-/* { dg-final { scan-assembler "vqshl\.u8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
12118+/* { dg-final { scan-assembler "vqshl\.u8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
12119 /* { dg-final { cleanup-saved-temps } } */
12120
12121=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqshluQ_ns16.c'
12122--- old/gcc/testsuite/gcc.target/arm/neon/vqshluQ_ns16.c 2010-07-29 15:38:15 +0000
12123+++ new/gcc/testsuite/gcc.target/arm/neon/vqshluQ_ns16.c 2010-08-20 13:27:11 +0000
12124@@ -16,5 +16,5 @@
12125 out_uint16x8_t = vqshluq_n_s16 (arg0_int16x8_t, 1);
12126 }
12127
12128-/* { dg-final { scan-assembler "vqshlu\.s16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
12129+/* { dg-final { scan-assembler "vqshlu\.s16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
12130 /* { dg-final { cleanup-saved-temps } } */
12131
12132=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqshluQ_ns32.c'
12133--- old/gcc/testsuite/gcc.target/arm/neon/vqshluQ_ns32.c 2010-07-29 15:38:15 +0000
12134+++ new/gcc/testsuite/gcc.target/arm/neon/vqshluQ_ns32.c 2010-08-20 13:27:11 +0000
12135@@ -16,5 +16,5 @@
12136 out_uint32x4_t = vqshluq_n_s32 (arg0_int32x4_t, 1);
12137 }
12138
12139-/* { dg-final { scan-assembler "vqshlu\.s32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
12140+/* { dg-final { scan-assembler "vqshlu\.s32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
12141 /* { dg-final { cleanup-saved-temps } } */
12142
12143=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqshluQ_ns64.c'
12144--- old/gcc/testsuite/gcc.target/arm/neon/vqshluQ_ns64.c 2010-07-29 15:38:15 +0000
12145+++ new/gcc/testsuite/gcc.target/arm/neon/vqshluQ_ns64.c 2010-08-20 13:27:11 +0000
12146@@ -16,5 +16,5 @@
12147 out_uint64x2_t = vqshluq_n_s64 (arg0_int64x2_t, 1);
12148 }
12149
12150-/* { dg-final { scan-assembler "vqshlu\.s64\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
12151+/* { dg-final { scan-assembler "vqshlu\.s64\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
12152 /* { dg-final { cleanup-saved-temps } } */
12153
12154=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqshluQ_ns8.c'
12155--- old/gcc/testsuite/gcc.target/arm/neon/vqshluQ_ns8.c 2010-07-29 15:38:15 +0000
12156+++ new/gcc/testsuite/gcc.target/arm/neon/vqshluQ_ns8.c 2010-08-20 13:27:11 +0000
12157@@ -16,5 +16,5 @@
12158 out_uint8x16_t = vqshluq_n_s8 (arg0_int8x16_t, 1);
12159 }
12160
12161-/* { dg-final { scan-assembler "vqshlu\.s8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
12162+/* { dg-final { scan-assembler "vqshlu\.s8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
12163 /* { dg-final { cleanup-saved-temps } } */
12164
12165=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqshlu_ns16.c'
12166--- old/gcc/testsuite/gcc.target/arm/neon/vqshlu_ns16.c 2010-07-29 15:38:15 +0000
12167+++ new/gcc/testsuite/gcc.target/arm/neon/vqshlu_ns16.c 2010-08-20 13:27:11 +0000
12168@@ -16,5 +16,5 @@
12169 out_uint16x4_t = vqshlu_n_s16 (arg0_int16x4_t, 1);
12170 }
12171
12172-/* { dg-final { scan-assembler "vqshlu\.s16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
12173+/* { dg-final { scan-assembler "vqshlu\.s16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
12174 /* { dg-final { cleanup-saved-temps } } */
12175
12176=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqshlu_ns32.c'
12177--- old/gcc/testsuite/gcc.target/arm/neon/vqshlu_ns32.c 2010-07-29 15:38:15 +0000
12178+++ new/gcc/testsuite/gcc.target/arm/neon/vqshlu_ns32.c 2010-08-20 13:27:11 +0000
12179@@ -16,5 +16,5 @@
12180 out_uint32x2_t = vqshlu_n_s32 (arg0_int32x2_t, 1);
12181 }
12182
12183-/* { dg-final { scan-assembler "vqshlu\.s32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
12184+/* { dg-final { scan-assembler "vqshlu\.s32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
12185 /* { dg-final { cleanup-saved-temps } } */
12186
12187=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqshlu_ns64.c'
12188--- old/gcc/testsuite/gcc.target/arm/neon/vqshlu_ns64.c 2010-07-29 15:38:15 +0000
12189+++ new/gcc/testsuite/gcc.target/arm/neon/vqshlu_ns64.c 2010-08-20 13:27:11 +0000
12190@@ -16,5 +16,5 @@
12191 out_uint64x1_t = vqshlu_n_s64 (arg0_int64x1_t, 1);
12192 }
12193
12194-/* { dg-final { scan-assembler "vqshlu\.s64\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
12195+/* { dg-final { scan-assembler "vqshlu\.s64\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
12196 /* { dg-final { cleanup-saved-temps } } */
12197
12198=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqshlu_ns8.c'
12199--- old/gcc/testsuite/gcc.target/arm/neon/vqshlu_ns8.c 2010-07-29 15:38:15 +0000
12200+++ new/gcc/testsuite/gcc.target/arm/neon/vqshlu_ns8.c 2010-08-20 13:27:11 +0000
12201@@ -16,5 +16,5 @@
12202 out_uint8x8_t = vqshlu_n_s8 (arg0_int8x8_t, 1);
12203 }
12204
12205-/* { dg-final { scan-assembler "vqshlu\.s8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
12206+/* { dg-final { scan-assembler "vqshlu\.s8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
12207 /* { dg-final { cleanup-saved-temps } } */
12208
12209=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqshrn_ns16.c'
12210--- old/gcc/testsuite/gcc.target/arm/neon/vqshrn_ns16.c 2010-07-29 15:38:15 +0000
12211+++ new/gcc/testsuite/gcc.target/arm/neon/vqshrn_ns16.c 2010-08-20 13:27:11 +0000
12212@@ -16,5 +16,5 @@
12213 out_int8x8_t = vqshrn_n_s16 (arg0_int16x8_t, 1);
12214 }
12215
12216-/* { dg-final { scan-assembler "vqshrn\.s16\[ \]+\[dD\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
12217+/* { dg-final { scan-assembler "vqshrn\.s16\[ \]+\[dD\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
12218 /* { dg-final { cleanup-saved-temps } } */
12219
12220=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqshrn_ns32.c'
12221--- old/gcc/testsuite/gcc.target/arm/neon/vqshrn_ns32.c 2010-07-29 15:38:15 +0000
12222+++ new/gcc/testsuite/gcc.target/arm/neon/vqshrn_ns32.c 2010-08-20 13:27:11 +0000
12223@@ -16,5 +16,5 @@
12224 out_int16x4_t = vqshrn_n_s32 (arg0_int32x4_t, 1);
12225 }
12226
12227-/* { dg-final { scan-assembler "vqshrn\.s32\[ \]+\[dD\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
12228+/* { dg-final { scan-assembler "vqshrn\.s32\[ \]+\[dD\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
12229 /* { dg-final { cleanup-saved-temps } } */
12230
12231=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqshrn_ns64.c'
12232--- old/gcc/testsuite/gcc.target/arm/neon/vqshrn_ns64.c 2010-07-29 15:38:15 +0000
12233+++ new/gcc/testsuite/gcc.target/arm/neon/vqshrn_ns64.c 2010-08-20 13:27:11 +0000
12234@@ -16,5 +16,5 @@
12235 out_int32x2_t = vqshrn_n_s64 (arg0_int64x2_t, 1);
12236 }
12237
12238-/* { dg-final { scan-assembler "vqshrn\.s64\[ \]+\[dD\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
12239+/* { dg-final { scan-assembler "vqshrn\.s64\[ \]+\[dD\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
12240 /* { dg-final { cleanup-saved-temps } } */
12241
12242=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqshrn_nu16.c'
12243--- old/gcc/testsuite/gcc.target/arm/neon/vqshrn_nu16.c 2010-07-29 15:38:15 +0000
12244+++ new/gcc/testsuite/gcc.target/arm/neon/vqshrn_nu16.c 2010-08-20 13:27:11 +0000
12245@@ -16,5 +16,5 @@
12246 out_uint8x8_t = vqshrn_n_u16 (arg0_uint16x8_t, 1);
12247 }
12248
12249-/* { dg-final { scan-assembler "vqshrn\.u16\[ \]+\[dD\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
12250+/* { dg-final { scan-assembler "vqshrn\.u16\[ \]+\[dD\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
12251 /* { dg-final { cleanup-saved-temps } } */
12252
12253=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqshrn_nu32.c'
12254--- old/gcc/testsuite/gcc.target/arm/neon/vqshrn_nu32.c 2010-07-29 15:38:15 +0000
12255+++ new/gcc/testsuite/gcc.target/arm/neon/vqshrn_nu32.c 2010-08-20 13:27:11 +0000
12256@@ -16,5 +16,5 @@
12257 out_uint16x4_t = vqshrn_n_u32 (arg0_uint32x4_t, 1);
12258 }
12259
12260-/* { dg-final { scan-assembler "vqshrn\.u32\[ \]+\[dD\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
12261+/* { dg-final { scan-assembler "vqshrn\.u32\[ \]+\[dD\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
12262 /* { dg-final { cleanup-saved-temps } } */
12263
12264=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqshrn_nu64.c'
12265--- old/gcc/testsuite/gcc.target/arm/neon/vqshrn_nu64.c 2010-07-29 15:38:15 +0000
12266+++ new/gcc/testsuite/gcc.target/arm/neon/vqshrn_nu64.c 2010-08-20 13:27:11 +0000
12267@@ -16,5 +16,5 @@
12268 out_uint32x2_t = vqshrn_n_u64 (arg0_uint64x2_t, 1);
12269 }
12270
12271-/* { dg-final { scan-assembler "vqshrn\.u64\[ \]+\[dD\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
12272+/* { dg-final { scan-assembler "vqshrn\.u64\[ \]+\[dD\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
12273 /* { dg-final { cleanup-saved-temps } } */
12274
12275=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqshrun_ns16.c'
12276--- old/gcc/testsuite/gcc.target/arm/neon/vqshrun_ns16.c 2010-07-29 15:38:15 +0000
12277+++ new/gcc/testsuite/gcc.target/arm/neon/vqshrun_ns16.c 2010-08-20 13:27:11 +0000
12278@@ -16,5 +16,5 @@
12279 out_uint8x8_t = vqshrun_n_s16 (arg0_int16x8_t, 1);
12280 }
12281
12282-/* { dg-final { scan-assembler "vqshrun\.s16\[ \]+\[dD\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
12283+/* { dg-final { scan-assembler "vqshrun\.s16\[ \]+\[dD\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
12284 /* { dg-final { cleanup-saved-temps } } */
12285
12286=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqshrun_ns32.c'
12287--- old/gcc/testsuite/gcc.target/arm/neon/vqshrun_ns32.c 2010-07-29 15:38:15 +0000
12288+++ new/gcc/testsuite/gcc.target/arm/neon/vqshrun_ns32.c 2010-08-20 13:27:11 +0000
12289@@ -16,5 +16,5 @@
12290 out_uint16x4_t = vqshrun_n_s32 (arg0_int32x4_t, 1);
12291 }
12292
12293-/* { dg-final { scan-assembler "vqshrun\.s32\[ \]+\[dD\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
12294+/* { dg-final { scan-assembler "vqshrun\.s32\[ \]+\[dD\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
12295 /* { dg-final { cleanup-saved-temps } } */
12296
12297=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqshrun_ns64.c'
12298--- old/gcc/testsuite/gcc.target/arm/neon/vqshrun_ns64.c 2010-07-29 15:38:15 +0000
12299+++ new/gcc/testsuite/gcc.target/arm/neon/vqshrun_ns64.c 2010-08-20 13:27:11 +0000
12300@@ -16,5 +16,5 @@
12301 out_uint32x2_t = vqshrun_n_s64 (arg0_int64x2_t, 1);
12302 }
12303
12304-/* { dg-final { scan-assembler "vqshrun\.s64\[ \]+\[dD\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
12305+/* { dg-final { scan-assembler "vqshrun\.s64\[ \]+\[dD\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
12306 /* { dg-final { cleanup-saved-temps } } */
12307
12308=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqsubQs16.c'
12309--- old/gcc/testsuite/gcc.target/arm/neon/vqsubQs16.c 2010-07-29 15:38:15 +0000
12310+++ new/gcc/testsuite/gcc.target/arm/neon/vqsubQs16.c 2010-08-20 13:27:11 +0000
12311@@ -17,5 +17,5 @@
12312 out_int16x8_t = vqsubq_s16 (arg0_int16x8_t, arg1_int16x8_t);
12313 }
12314
12315-/* { dg-final { scan-assembler "vqsub\.s16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
12316+/* { dg-final { scan-assembler "vqsub\.s16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
12317 /* { dg-final { cleanup-saved-temps } } */
12318
12319=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqsubQs32.c'
12320--- old/gcc/testsuite/gcc.target/arm/neon/vqsubQs32.c 2010-07-29 15:38:15 +0000
12321+++ new/gcc/testsuite/gcc.target/arm/neon/vqsubQs32.c 2010-08-20 13:27:11 +0000
12322@@ -17,5 +17,5 @@
12323 out_int32x4_t = vqsubq_s32 (arg0_int32x4_t, arg1_int32x4_t);
12324 }
12325
12326-/* { dg-final { scan-assembler "vqsub\.s32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
12327+/* { dg-final { scan-assembler "vqsub\.s32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
12328 /* { dg-final { cleanup-saved-temps } } */
12329
12330=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqsubQs64.c'
12331--- old/gcc/testsuite/gcc.target/arm/neon/vqsubQs64.c 2010-07-29 15:38:15 +0000
12332+++ new/gcc/testsuite/gcc.target/arm/neon/vqsubQs64.c 2010-08-20 13:27:11 +0000
12333@@ -17,5 +17,5 @@
12334 out_int64x2_t = vqsubq_s64 (arg0_int64x2_t, arg1_int64x2_t);
12335 }
12336
12337-/* { dg-final { scan-assembler "vqsub\.s64\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
12338+/* { dg-final { scan-assembler "vqsub\.s64\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
12339 /* { dg-final { cleanup-saved-temps } } */
12340
12341=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqsubQs8.c'
12342--- old/gcc/testsuite/gcc.target/arm/neon/vqsubQs8.c 2010-07-29 15:38:15 +0000
12343+++ new/gcc/testsuite/gcc.target/arm/neon/vqsubQs8.c 2010-08-20 13:27:11 +0000
12344@@ -17,5 +17,5 @@
12345 out_int8x16_t = vqsubq_s8 (arg0_int8x16_t, arg1_int8x16_t);
12346 }
12347
12348-/* { dg-final { scan-assembler "vqsub\.s8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
12349+/* { dg-final { scan-assembler "vqsub\.s8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
12350 /* { dg-final { cleanup-saved-temps } } */
12351
12352=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqsubQu16.c'
12353--- old/gcc/testsuite/gcc.target/arm/neon/vqsubQu16.c 2010-07-29 15:38:15 +0000
12354+++ new/gcc/testsuite/gcc.target/arm/neon/vqsubQu16.c 2010-08-20 13:27:11 +0000
12355@@ -17,5 +17,5 @@
12356 out_uint16x8_t = vqsubq_u16 (arg0_uint16x8_t, arg1_uint16x8_t);
12357 }
12358
12359-/* { dg-final { scan-assembler "vqsub\.u16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
12360+/* { dg-final { scan-assembler "vqsub\.u16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
12361 /* { dg-final { cleanup-saved-temps } } */
12362
12363=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqsubQu32.c'
12364--- old/gcc/testsuite/gcc.target/arm/neon/vqsubQu32.c 2010-07-29 15:38:15 +0000
12365+++ new/gcc/testsuite/gcc.target/arm/neon/vqsubQu32.c 2010-08-20 13:27:11 +0000
12366@@ -17,5 +17,5 @@
12367 out_uint32x4_t = vqsubq_u32 (arg0_uint32x4_t, arg1_uint32x4_t);
12368 }
12369
12370-/* { dg-final { scan-assembler "vqsub\.u32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
12371+/* { dg-final { scan-assembler "vqsub\.u32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
12372 /* { dg-final { cleanup-saved-temps } } */
12373
12374=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqsubQu64.c'
12375--- old/gcc/testsuite/gcc.target/arm/neon/vqsubQu64.c 2010-07-29 15:38:15 +0000
12376+++ new/gcc/testsuite/gcc.target/arm/neon/vqsubQu64.c 2010-08-20 13:27:11 +0000
12377@@ -17,5 +17,5 @@
12378 out_uint64x2_t = vqsubq_u64 (arg0_uint64x2_t, arg1_uint64x2_t);
12379 }
12380
12381-/* { dg-final { scan-assembler "vqsub\.u64\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
12382+/* { dg-final { scan-assembler "vqsub\.u64\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
12383 /* { dg-final { cleanup-saved-temps } } */
12384
12385=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqsubQu8.c'
12386--- old/gcc/testsuite/gcc.target/arm/neon/vqsubQu8.c 2010-07-29 15:38:15 +0000
12387+++ new/gcc/testsuite/gcc.target/arm/neon/vqsubQu8.c 2010-08-20 13:27:11 +0000
12388@@ -17,5 +17,5 @@
12389 out_uint8x16_t = vqsubq_u8 (arg0_uint8x16_t, arg1_uint8x16_t);
12390 }
12391
12392-/* { dg-final { scan-assembler "vqsub\.u8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
12393+/* { dg-final { scan-assembler "vqsub\.u8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
12394 /* { dg-final { cleanup-saved-temps } } */
12395
12396=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqsubs16.c'
12397--- old/gcc/testsuite/gcc.target/arm/neon/vqsubs16.c 2010-07-29 15:38:15 +0000
12398+++ new/gcc/testsuite/gcc.target/arm/neon/vqsubs16.c 2010-08-20 13:27:11 +0000
12399@@ -17,5 +17,5 @@
12400 out_int16x4_t = vqsub_s16 (arg0_int16x4_t, arg1_int16x4_t);
12401 }
12402
12403-/* { dg-final { scan-assembler "vqsub\.s16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
12404+/* { dg-final { scan-assembler "vqsub\.s16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
12405 /* { dg-final { cleanup-saved-temps } } */
12406
12407=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqsubs32.c'
12408--- old/gcc/testsuite/gcc.target/arm/neon/vqsubs32.c 2010-07-29 15:38:15 +0000
12409+++ new/gcc/testsuite/gcc.target/arm/neon/vqsubs32.c 2010-08-20 13:27:11 +0000
12410@@ -17,5 +17,5 @@
12411 out_int32x2_t = vqsub_s32 (arg0_int32x2_t, arg1_int32x2_t);
12412 }
12413
12414-/* { dg-final { scan-assembler "vqsub\.s32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
12415+/* { dg-final { scan-assembler "vqsub\.s32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
12416 /* { dg-final { cleanup-saved-temps } } */
12417
12418=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqsubs64.c'
12419--- old/gcc/testsuite/gcc.target/arm/neon/vqsubs64.c 2010-07-29 15:38:15 +0000
12420+++ new/gcc/testsuite/gcc.target/arm/neon/vqsubs64.c 2010-08-20 13:27:11 +0000
12421@@ -17,5 +17,5 @@
12422 out_int64x1_t = vqsub_s64 (arg0_int64x1_t, arg1_int64x1_t);
12423 }
12424
12425-/* { dg-final { scan-assembler "vqsub\.s64\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
12426+/* { dg-final { scan-assembler "vqsub\.s64\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
12427 /* { dg-final { cleanup-saved-temps } } */
12428
12429=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqsubs8.c'
12430--- old/gcc/testsuite/gcc.target/arm/neon/vqsubs8.c 2010-07-29 15:38:15 +0000
12431+++ new/gcc/testsuite/gcc.target/arm/neon/vqsubs8.c 2010-08-20 13:27:11 +0000
12432@@ -17,5 +17,5 @@
12433 out_int8x8_t = vqsub_s8 (arg0_int8x8_t, arg1_int8x8_t);
12434 }
12435
12436-/* { dg-final { scan-assembler "vqsub\.s8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
12437+/* { dg-final { scan-assembler "vqsub\.s8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
12438 /* { dg-final { cleanup-saved-temps } } */
12439
12440=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqsubu16.c'
12441--- old/gcc/testsuite/gcc.target/arm/neon/vqsubu16.c 2010-07-29 15:38:15 +0000
12442+++ new/gcc/testsuite/gcc.target/arm/neon/vqsubu16.c 2010-08-20 13:27:11 +0000
12443@@ -17,5 +17,5 @@
12444 out_uint16x4_t = vqsub_u16 (arg0_uint16x4_t, arg1_uint16x4_t);
12445 }
12446
12447-/* { dg-final { scan-assembler "vqsub\.u16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
12448+/* { dg-final { scan-assembler "vqsub\.u16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
12449 /* { dg-final { cleanup-saved-temps } } */
12450
12451=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqsubu32.c'
12452--- old/gcc/testsuite/gcc.target/arm/neon/vqsubu32.c 2010-07-29 15:38:15 +0000
12453+++ new/gcc/testsuite/gcc.target/arm/neon/vqsubu32.c 2010-08-20 13:27:11 +0000
12454@@ -17,5 +17,5 @@
12455 out_uint32x2_t = vqsub_u32 (arg0_uint32x2_t, arg1_uint32x2_t);
12456 }
12457
12458-/* { dg-final { scan-assembler "vqsub\.u32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
12459+/* { dg-final { scan-assembler "vqsub\.u32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
12460 /* { dg-final { cleanup-saved-temps } } */
12461
12462=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqsubu64.c'
12463--- old/gcc/testsuite/gcc.target/arm/neon/vqsubu64.c 2010-07-29 15:38:15 +0000
12464+++ new/gcc/testsuite/gcc.target/arm/neon/vqsubu64.c 2010-08-20 13:27:11 +0000
12465@@ -17,5 +17,5 @@
12466 out_uint64x1_t = vqsub_u64 (arg0_uint64x1_t, arg1_uint64x1_t);
12467 }
12468
12469-/* { dg-final { scan-assembler "vqsub\.u64\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
12470+/* { dg-final { scan-assembler "vqsub\.u64\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
12471 /* { dg-final { cleanup-saved-temps } } */
12472
12473=== modified file 'gcc/testsuite/gcc.target/arm/neon/vqsubu8.c'
12474--- old/gcc/testsuite/gcc.target/arm/neon/vqsubu8.c 2010-07-29 15:38:15 +0000
12475+++ new/gcc/testsuite/gcc.target/arm/neon/vqsubu8.c 2010-08-20 13:27:11 +0000
12476@@ -17,5 +17,5 @@
12477 out_uint8x8_t = vqsub_u8 (arg0_uint8x8_t, arg1_uint8x8_t);
12478 }
12479
12480-/* { dg-final { scan-assembler "vqsub\.u8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
12481+/* { dg-final { scan-assembler "vqsub\.u8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
12482 /* { dg-final { cleanup-saved-temps } } */
12483
12484=== modified file 'gcc/testsuite/gcc.target/arm/neon/vrecpeQf32.c'
12485--- old/gcc/testsuite/gcc.target/arm/neon/vrecpeQf32.c 2010-07-29 15:38:15 +0000
12486+++ new/gcc/testsuite/gcc.target/arm/neon/vrecpeQf32.c 2010-08-20 13:27:11 +0000
12487@@ -16,5 +16,5 @@
12488 out_float32x4_t = vrecpeq_f32 (arg0_float32x4_t);
12489 }
12490
12491-/* { dg-final { scan-assembler "vrecpe\.f32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
12492+/* { dg-final { scan-assembler "vrecpe\.f32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
12493 /* { dg-final { cleanup-saved-temps } } */
12494
12495=== modified file 'gcc/testsuite/gcc.target/arm/neon/vrecpeQu32.c'
12496--- old/gcc/testsuite/gcc.target/arm/neon/vrecpeQu32.c 2010-07-29 15:38:15 +0000
12497+++ new/gcc/testsuite/gcc.target/arm/neon/vrecpeQu32.c 2010-08-20 13:27:11 +0000
12498@@ -16,5 +16,5 @@
12499 out_uint32x4_t = vrecpeq_u32 (arg0_uint32x4_t);
12500 }
12501
12502-/* { dg-final { scan-assembler "vrecpe\.u32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
12503+/* { dg-final { scan-assembler "vrecpe\.u32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
12504 /* { dg-final { cleanup-saved-temps } } */
12505
12506=== modified file 'gcc/testsuite/gcc.target/arm/neon/vrecpef32.c'
12507--- old/gcc/testsuite/gcc.target/arm/neon/vrecpef32.c 2010-07-29 15:38:15 +0000
12508+++ new/gcc/testsuite/gcc.target/arm/neon/vrecpef32.c 2010-08-20 13:27:11 +0000
12509@@ -16,5 +16,5 @@
12510 out_float32x2_t = vrecpe_f32 (arg0_float32x2_t);
12511 }
12512
12513-/* { dg-final { scan-assembler "vrecpe\.f32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
12514+/* { dg-final { scan-assembler "vrecpe\.f32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
12515 /* { dg-final { cleanup-saved-temps } } */
12516
12517=== modified file 'gcc/testsuite/gcc.target/arm/neon/vrecpeu32.c'
12518--- old/gcc/testsuite/gcc.target/arm/neon/vrecpeu32.c 2010-07-29 15:38:15 +0000
12519+++ new/gcc/testsuite/gcc.target/arm/neon/vrecpeu32.c 2010-08-20 13:27:11 +0000
12520@@ -16,5 +16,5 @@
12521 out_uint32x2_t = vrecpe_u32 (arg0_uint32x2_t);
12522 }
12523
12524-/* { dg-final { scan-assembler "vrecpe\.u32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
12525+/* { dg-final { scan-assembler "vrecpe\.u32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
12526 /* { dg-final { cleanup-saved-temps } } */
12527
12528=== modified file 'gcc/testsuite/gcc.target/arm/neon/vrecpsQf32.c'
12529--- old/gcc/testsuite/gcc.target/arm/neon/vrecpsQf32.c 2010-07-29 15:38:15 +0000
12530+++ new/gcc/testsuite/gcc.target/arm/neon/vrecpsQf32.c 2010-08-20 13:27:11 +0000
12531@@ -17,5 +17,5 @@
12532 out_float32x4_t = vrecpsq_f32 (arg0_float32x4_t, arg1_float32x4_t);
12533 }
12534
12535-/* { dg-final { scan-assembler "vrecps\.f32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
12536+/* { dg-final { scan-assembler "vrecps\.f32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
12537 /* { dg-final { cleanup-saved-temps } } */
12538
12539=== modified file 'gcc/testsuite/gcc.target/arm/neon/vrecpsf32.c'
12540--- old/gcc/testsuite/gcc.target/arm/neon/vrecpsf32.c 2010-07-29 15:38:15 +0000
12541+++ new/gcc/testsuite/gcc.target/arm/neon/vrecpsf32.c 2010-08-20 13:27:11 +0000
12542@@ -17,5 +17,5 @@
12543 out_float32x2_t = vrecps_f32 (arg0_float32x2_t, arg1_float32x2_t);
12544 }
12545
12546-/* { dg-final { scan-assembler "vrecps\.f32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
12547+/* { dg-final { scan-assembler "vrecps\.f32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
12548 /* { dg-final { cleanup-saved-temps } } */
12549
12550=== modified file 'gcc/testsuite/gcc.target/arm/neon/vrev16Qp8.c'
12551--- old/gcc/testsuite/gcc.target/arm/neon/vrev16Qp8.c 2010-07-29 15:38:15 +0000
12552+++ new/gcc/testsuite/gcc.target/arm/neon/vrev16Qp8.c 2010-08-20 13:27:11 +0000
12553@@ -16,5 +16,5 @@
12554 out_poly8x16_t = vrev16q_p8 (arg0_poly8x16_t);
12555 }
12556
12557-/* { dg-final { scan-assembler "vrev16\.8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
12558+/* { dg-final { scan-assembler "vrev16\.8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
12559 /* { dg-final { cleanup-saved-temps } } */
12560
12561=== modified file 'gcc/testsuite/gcc.target/arm/neon/vrev16Qs8.c'
12562--- old/gcc/testsuite/gcc.target/arm/neon/vrev16Qs8.c 2010-07-29 15:38:15 +0000
12563+++ new/gcc/testsuite/gcc.target/arm/neon/vrev16Qs8.c 2010-08-20 13:27:11 +0000
12564@@ -16,5 +16,5 @@
12565 out_int8x16_t = vrev16q_s8 (arg0_int8x16_t);
12566 }
12567
12568-/* { dg-final { scan-assembler "vrev16\.8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
12569+/* { dg-final { scan-assembler "vrev16\.8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
12570 /* { dg-final { cleanup-saved-temps } } */
12571
12572=== modified file 'gcc/testsuite/gcc.target/arm/neon/vrev16Qu8.c'
12573--- old/gcc/testsuite/gcc.target/arm/neon/vrev16Qu8.c 2010-07-29 15:38:15 +0000
12574+++ new/gcc/testsuite/gcc.target/arm/neon/vrev16Qu8.c 2010-08-20 13:27:11 +0000
12575@@ -16,5 +16,5 @@
12576 out_uint8x16_t = vrev16q_u8 (arg0_uint8x16_t);
12577 }
12578
12579-/* { dg-final { scan-assembler "vrev16\.8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
12580+/* { dg-final { scan-assembler "vrev16\.8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
12581 /* { dg-final { cleanup-saved-temps } } */
12582
12583=== modified file 'gcc/testsuite/gcc.target/arm/neon/vrev16p8.c'
12584--- old/gcc/testsuite/gcc.target/arm/neon/vrev16p8.c 2010-07-29 15:38:15 +0000
12585+++ new/gcc/testsuite/gcc.target/arm/neon/vrev16p8.c 2010-08-20 13:27:11 +0000
12586@@ -16,5 +16,5 @@
12587 out_poly8x8_t = vrev16_p8 (arg0_poly8x8_t);
12588 }
12589
12590-/* { dg-final { scan-assembler "vrev16\.8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
12591+/* { dg-final { scan-assembler "vrev16\.8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
12592 /* { dg-final { cleanup-saved-temps } } */
12593
12594=== modified file 'gcc/testsuite/gcc.target/arm/neon/vrev16s8.c'
12595--- old/gcc/testsuite/gcc.target/arm/neon/vrev16s8.c 2010-07-29 15:38:15 +0000
12596+++ new/gcc/testsuite/gcc.target/arm/neon/vrev16s8.c 2010-08-20 13:27:11 +0000
12597@@ -16,5 +16,5 @@
12598 out_int8x8_t = vrev16_s8 (arg0_int8x8_t);
12599 }
12600
12601-/* { dg-final { scan-assembler "vrev16\.8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
12602+/* { dg-final { scan-assembler "vrev16\.8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
12603 /* { dg-final { cleanup-saved-temps } } */
12604
12605=== modified file 'gcc/testsuite/gcc.target/arm/neon/vrev16u8.c'
12606--- old/gcc/testsuite/gcc.target/arm/neon/vrev16u8.c 2010-07-29 15:38:15 +0000
12607+++ new/gcc/testsuite/gcc.target/arm/neon/vrev16u8.c 2010-08-20 13:27:11 +0000
12608@@ -16,5 +16,5 @@
12609 out_uint8x8_t = vrev16_u8 (arg0_uint8x8_t);
12610 }
12611
12612-/* { dg-final { scan-assembler "vrev16\.8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
12613+/* { dg-final { scan-assembler "vrev16\.8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
12614 /* { dg-final { cleanup-saved-temps } } */
12615
12616=== modified file 'gcc/testsuite/gcc.target/arm/neon/vrev32Qp16.c'
12617--- old/gcc/testsuite/gcc.target/arm/neon/vrev32Qp16.c 2010-07-29 15:38:15 +0000
12618+++ new/gcc/testsuite/gcc.target/arm/neon/vrev32Qp16.c 2010-08-20 13:27:11 +0000
12619@@ -16,5 +16,5 @@
12620 out_poly16x8_t = vrev32q_p16 (arg0_poly16x8_t);
12621 }
12622
12623-/* { dg-final { scan-assembler "vrev32\.16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
12624+/* { dg-final { scan-assembler "vrev32\.16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
12625 /* { dg-final { cleanup-saved-temps } } */
12626
12627=== modified file 'gcc/testsuite/gcc.target/arm/neon/vrev32Qp8.c'
12628--- old/gcc/testsuite/gcc.target/arm/neon/vrev32Qp8.c 2010-07-29 15:38:15 +0000
12629+++ new/gcc/testsuite/gcc.target/arm/neon/vrev32Qp8.c 2010-08-20 13:27:11 +0000
12630@@ -16,5 +16,5 @@
12631 out_poly8x16_t = vrev32q_p8 (arg0_poly8x16_t);
12632 }
12633
12634-/* { dg-final { scan-assembler "vrev32\.8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
12635+/* { dg-final { scan-assembler "vrev32\.8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
12636 /* { dg-final { cleanup-saved-temps } } */
12637
12638=== modified file 'gcc/testsuite/gcc.target/arm/neon/vrev32Qs16.c'
12639--- old/gcc/testsuite/gcc.target/arm/neon/vrev32Qs16.c 2010-07-29 15:38:15 +0000
12640+++ new/gcc/testsuite/gcc.target/arm/neon/vrev32Qs16.c 2010-08-20 13:27:11 +0000
12641@@ -16,5 +16,5 @@
12642 out_int16x8_t = vrev32q_s16 (arg0_int16x8_t);
12643 }
12644
12645-/* { dg-final { scan-assembler "vrev32\.16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
12646+/* { dg-final { scan-assembler "vrev32\.16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
12647 /* { dg-final { cleanup-saved-temps } } */
12648
12649=== modified file 'gcc/testsuite/gcc.target/arm/neon/vrev32Qs8.c'
12650--- old/gcc/testsuite/gcc.target/arm/neon/vrev32Qs8.c 2010-07-29 15:38:15 +0000
12651+++ new/gcc/testsuite/gcc.target/arm/neon/vrev32Qs8.c 2010-08-20 13:27:11 +0000
12652@@ -16,5 +16,5 @@
12653 out_int8x16_t = vrev32q_s8 (arg0_int8x16_t);
12654 }
12655
12656-/* { dg-final { scan-assembler "vrev32\.8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
12657+/* { dg-final { scan-assembler "vrev32\.8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
12658 /* { dg-final { cleanup-saved-temps } } */
12659
12660=== modified file 'gcc/testsuite/gcc.target/arm/neon/vrev32Qu16.c'
12661--- old/gcc/testsuite/gcc.target/arm/neon/vrev32Qu16.c 2010-07-29 15:38:15 +0000
12662+++ new/gcc/testsuite/gcc.target/arm/neon/vrev32Qu16.c 2010-08-20 13:27:11 +0000
12663@@ -16,5 +16,5 @@
12664 out_uint16x8_t = vrev32q_u16 (arg0_uint16x8_t);
12665 }
12666
12667-/* { dg-final { scan-assembler "vrev32\.16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
12668+/* { dg-final { scan-assembler "vrev32\.16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
12669 /* { dg-final { cleanup-saved-temps } } */
12670
12671=== modified file 'gcc/testsuite/gcc.target/arm/neon/vrev32Qu8.c'
12672--- old/gcc/testsuite/gcc.target/arm/neon/vrev32Qu8.c 2010-07-29 15:38:15 +0000
12673+++ new/gcc/testsuite/gcc.target/arm/neon/vrev32Qu8.c 2010-08-20 13:27:11 +0000
12674@@ -16,5 +16,5 @@
12675 out_uint8x16_t = vrev32q_u8 (arg0_uint8x16_t);
12676 }
12677
12678-/* { dg-final { scan-assembler "vrev32\.8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
12679+/* { dg-final { scan-assembler "vrev32\.8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
12680 /* { dg-final { cleanup-saved-temps } } */
12681
12682=== modified file 'gcc/testsuite/gcc.target/arm/neon/vrev32p16.c'
12683--- old/gcc/testsuite/gcc.target/arm/neon/vrev32p16.c 2010-07-29 15:38:15 +0000
12684+++ new/gcc/testsuite/gcc.target/arm/neon/vrev32p16.c 2010-08-20 13:27:11 +0000
12685@@ -16,5 +16,5 @@
12686 out_poly16x4_t = vrev32_p16 (arg0_poly16x4_t);
12687 }
12688
12689-/* { dg-final { scan-assembler "vrev32\.16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
12690+/* { dg-final { scan-assembler "vrev32\.16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
12691 /* { dg-final { cleanup-saved-temps } } */
12692
12693=== modified file 'gcc/testsuite/gcc.target/arm/neon/vrev32p8.c'
12694--- old/gcc/testsuite/gcc.target/arm/neon/vrev32p8.c 2010-07-29 15:38:15 +0000
12695+++ new/gcc/testsuite/gcc.target/arm/neon/vrev32p8.c 2010-08-20 13:27:11 +0000
12696@@ -16,5 +16,5 @@
12697 out_poly8x8_t = vrev32_p8 (arg0_poly8x8_t);
12698 }
12699
12700-/* { dg-final { scan-assembler "vrev32\.8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
12701+/* { dg-final { scan-assembler "vrev32\.8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
12702 /* { dg-final { cleanup-saved-temps } } */
12703
12704=== modified file 'gcc/testsuite/gcc.target/arm/neon/vrev32s16.c'
12705--- old/gcc/testsuite/gcc.target/arm/neon/vrev32s16.c 2010-07-29 15:38:15 +0000
12706+++ new/gcc/testsuite/gcc.target/arm/neon/vrev32s16.c 2010-08-20 13:27:11 +0000
12707@@ -16,5 +16,5 @@
12708 out_int16x4_t = vrev32_s16 (arg0_int16x4_t);
12709 }
12710
12711-/* { dg-final { scan-assembler "vrev32\.16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
12712+/* { dg-final { scan-assembler "vrev32\.16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
12713 /* { dg-final { cleanup-saved-temps } } */
12714
12715=== modified file 'gcc/testsuite/gcc.target/arm/neon/vrev32s8.c'
12716--- old/gcc/testsuite/gcc.target/arm/neon/vrev32s8.c 2010-07-29 15:38:15 +0000
12717+++ new/gcc/testsuite/gcc.target/arm/neon/vrev32s8.c 2010-08-20 13:27:11 +0000
12718@@ -16,5 +16,5 @@
12719 out_int8x8_t = vrev32_s8 (arg0_int8x8_t);
12720 }
12721
12722-/* { dg-final { scan-assembler "vrev32\.8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
12723+/* { dg-final { scan-assembler "vrev32\.8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
12724 /* { dg-final { cleanup-saved-temps } } */
12725
12726=== modified file 'gcc/testsuite/gcc.target/arm/neon/vrev32u16.c'
12727--- old/gcc/testsuite/gcc.target/arm/neon/vrev32u16.c 2010-07-29 15:38:15 +0000
12728+++ new/gcc/testsuite/gcc.target/arm/neon/vrev32u16.c 2010-08-20 13:27:11 +0000
12729@@ -16,5 +16,5 @@
12730 out_uint16x4_t = vrev32_u16 (arg0_uint16x4_t);
12731 }
12732
12733-/* { dg-final { scan-assembler "vrev32\.16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
12734+/* { dg-final { scan-assembler "vrev32\.16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
12735 /* { dg-final { cleanup-saved-temps } } */
12736
12737=== modified file 'gcc/testsuite/gcc.target/arm/neon/vrev32u8.c'
12738--- old/gcc/testsuite/gcc.target/arm/neon/vrev32u8.c 2010-07-29 15:38:15 +0000
12739+++ new/gcc/testsuite/gcc.target/arm/neon/vrev32u8.c 2010-08-20 13:27:11 +0000
12740@@ -16,5 +16,5 @@
12741 out_uint8x8_t = vrev32_u8 (arg0_uint8x8_t);
12742 }
12743
12744-/* { dg-final { scan-assembler "vrev32\.8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
12745+/* { dg-final { scan-assembler "vrev32\.8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
12746 /* { dg-final { cleanup-saved-temps } } */
12747
12748=== modified file 'gcc/testsuite/gcc.target/arm/neon/vrev64Qf32.c'
12749--- old/gcc/testsuite/gcc.target/arm/neon/vrev64Qf32.c 2010-07-29 15:38:15 +0000
12750+++ new/gcc/testsuite/gcc.target/arm/neon/vrev64Qf32.c 2010-08-20 13:27:11 +0000
12751@@ -16,5 +16,5 @@
12752 out_float32x4_t = vrev64q_f32 (arg0_float32x4_t);
12753 }
12754
12755-/* { dg-final { scan-assembler "vrev64\.32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
12756+/* { dg-final { scan-assembler "vrev64\.32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
12757 /* { dg-final { cleanup-saved-temps } } */
12758
12759=== modified file 'gcc/testsuite/gcc.target/arm/neon/vrev64Qp16.c'
12760--- old/gcc/testsuite/gcc.target/arm/neon/vrev64Qp16.c 2010-07-29 15:38:15 +0000
12761+++ new/gcc/testsuite/gcc.target/arm/neon/vrev64Qp16.c 2010-08-20 13:27:11 +0000
12762@@ -16,5 +16,5 @@
12763 out_poly16x8_t = vrev64q_p16 (arg0_poly16x8_t);
12764 }
12765
12766-/* { dg-final { scan-assembler "vrev64\.16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
12767+/* { dg-final { scan-assembler "vrev64\.16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
12768 /* { dg-final { cleanup-saved-temps } } */
12769
12770=== modified file 'gcc/testsuite/gcc.target/arm/neon/vrev64Qp8.c'
12771--- old/gcc/testsuite/gcc.target/arm/neon/vrev64Qp8.c 2010-07-29 15:38:15 +0000
12772+++ new/gcc/testsuite/gcc.target/arm/neon/vrev64Qp8.c 2010-08-20 13:27:11 +0000
12773@@ -16,5 +16,5 @@
12774 out_poly8x16_t = vrev64q_p8 (arg0_poly8x16_t);
12775 }
12776
12777-/* { dg-final { scan-assembler "vrev64\.8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
12778+/* { dg-final { scan-assembler "vrev64\.8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
12779 /* { dg-final { cleanup-saved-temps } } */
12780
12781=== modified file 'gcc/testsuite/gcc.target/arm/neon/vrev64Qs16.c'
12782--- old/gcc/testsuite/gcc.target/arm/neon/vrev64Qs16.c 2010-07-29 15:38:15 +0000
12783+++ new/gcc/testsuite/gcc.target/arm/neon/vrev64Qs16.c 2010-08-20 13:27:11 +0000
12784@@ -16,5 +16,5 @@
12785 out_int16x8_t = vrev64q_s16 (arg0_int16x8_t);
12786 }
12787
12788-/* { dg-final { scan-assembler "vrev64\.16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
12789+/* { dg-final { scan-assembler "vrev64\.16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
12790 /* { dg-final { cleanup-saved-temps } } */
12791
12792=== modified file 'gcc/testsuite/gcc.target/arm/neon/vrev64Qs32.c'
12793--- old/gcc/testsuite/gcc.target/arm/neon/vrev64Qs32.c 2010-07-29 15:38:15 +0000
12794+++ new/gcc/testsuite/gcc.target/arm/neon/vrev64Qs32.c 2010-08-20 13:27:11 +0000
12795@@ -16,5 +16,5 @@
12796 out_int32x4_t = vrev64q_s32 (arg0_int32x4_t);
12797 }
12798
12799-/* { dg-final { scan-assembler "vrev64\.32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
12800+/* { dg-final { scan-assembler "vrev64\.32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
12801 /* { dg-final { cleanup-saved-temps } } */
12802
12803=== modified file 'gcc/testsuite/gcc.target/arm/neon/vrev64Qs8.c'
12804--- old/gcc/testsuite/gcc.target/arm/neon/vrev64Qs8.c 2010-07-29 15:38:15 +0000
12805+++ new/gcc/testsuite/gcc.target/arm/neon/vrev64Qs8.c 2010-08-20 13:27:11 +0000
12806@@ -16,5 +16,5 @@
12807 out_int8x16_t = vrev64q_s8 (arg0_int8x16_t);
12808 }
12809
12810-/* { dg-final { scan-assembler "vrev64\.8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
12811+/* { dg-final { scan-assembler "vrev64\.8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
12812 /* { dg-final { cleanup-saved-temps } } */
12813
12814=== modified file 'gcc/testsuite/gcc.target/arm/neon/vrev64Qu16.c'
12815--- old/gcc/testsuite/gcc.target/arm/neon/vrev64Qu16.c 2010-07-29 15:38:15 +0000
12816+++ new/gcc/testsuite/gcc.target/arm/neon/vrev64Qu16.c 2010-08-20 13:27:11 +0000
12817@@ -16,5 +16,5 @@
12818 out_uint16x8_t = vrev64q_u16 (arg0_uint16x8_t);
12819 }
12820
12821-/* { dg-final { scan-assembler "vrev64\.16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
12822+/* { dg-final { scan-assembler "vrev64\.16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
12823 /* { dg-final { cleanup-saved-temps } } */
12824
12825=== modified file 'gcc/testsuite/gcc.target/arm/neon/vrev64Qu32.c'
12826--- old/gcc/testsuite/gcc.target/arm/neon/vrev64Qu32.c 2010-07-29 15:38:15 +0000
12827+++ new/gcc/testsuite/gcc.target/arm/neon/vrev64Qu32.c 2010-08-20 13:27:11 +0000
12828@@ -16,5 +16,5 @@
12829 out_uint32x4_t = vrev64q_u32 (arg0_uint32x4_t);
12830 }
12831
12832-/* { dg-final { scan-assembler "vrev64\.32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
12833+/* { dg-final { scan-assembler "vrev64\.32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
12834 /* { dg-final { cleanup-saved-temps } } */
12835
12836=== modified file 'gcc/testsuite/gcc.target/arm/neon/vrev64Qu8.c'
12837--- old/gcc/testsuite/gcc.target/arm/neon/vrev64Qu8.c 2010-07-29 15:38:15 +0000
12838+++ new/gcc/testsuite/gcc.target/arm/neon/vrev64Qu8.c 2010-08-20 13:27:11 +0000
12839@@ -16,5 +16,5 @@
12840 out_uint8x16_t = vrev64q_u8 (arg0_uint8x16_t);
12841 }
12842
12843-/* { dg-final { scan-assembler "vrev64\.8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
12844+/* { dg-final { scan-assembler "vrev64\.8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
12845 /* { dg-final { cleanup-saved-temps } } */
12846
12847=== modified file 'gcc/testsuite/gcc.target/arm/neon/vrev64f32.c'
12848--- old/gcc/testsuite/gcc.target/arm/neon/vrev64f32.c 2010-07-29 15:38:15 +0000
12849+++ new/gcc/testsuite/gcc.target/arm/neon/vrev64f32.c 2010-08-20 13:27:11 +0000
12850@@ -16,5 +16,5 @@
12851 out_float32x2_t = vrev64_f32 (arg0_float32x2_t);
12852 }
12853
12854-/* { dg-final { scan-assembler "vrev64\.32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
12855+/* { dg-final { scan-assembler "vrev64\.32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
12856 /* { dg-final { cleanup-saved-temps } } */
12857
12858=== modified file 'gcc/testsuite/gcc.target/arm/neon/vrev64p16.c'
12859--- old/gcc/testsuite/gcc.target/arm/neon/vrev64p16.c 2010-07-29 15:38:15 +0000
12860+++ new/gcc/testsuite/gcc.target/arm/neon/vrev64p16.c 2010-08-20 13:27:11 +0000
12861@@ -16,5 +16,5 @@
12862 out_poly16x4_t = vrev64_p16 (arg0_poly16x4_t);
12863 }
12864
12865-/* { dg-final { scan-assembler "vrev64\.16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
12866+/* { dg-final { scan-assembler "vrev64\.16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
12867 /* { dg-final { cleanup-saved-temps } } */
12868
12869=== modified file 'gcc/testsuite/gcc.target/arm/neon/vrev64p8.c'
12870--- old/gcc/testsuite/gcc.target/arm/neon/vrev64p8.c 2010-07-29 15:38:15 +0000
12871+++ new/gcc/testsuite/gcc.target/arm/neon/vrev64p8.c 2010-08-20 13:27:11 +0000
12872@@ -16,5 +16,5 @@
12873 out_poly8x8_t = vrev64_p8 (arg0_poly8x8_t);
12874 }
12875
12876-/* { dg-final { scan-assembler "vrev64\.8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
12877+/* { dg-final { scan-assembler "vrev64\.8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
12878 /* { dg-final { cleanup-saved-temps } } */
12879
12880=== modified file 'gcc/testsuite/gcc.target/arm/neon/vrev64s16.c'
12881--- old/gcc/testsuite/gcc.target/arm/neon/vrev64s16.c 2010-07-29 15:38:15 +0000
12882+++ new/gcc/testsuite/gcc.target/arm/neon/vrev64s16.c 2010-08-20 13:27:11 +0000
12883@@ -16,5 +16,5 @@
12884 out_int16x4_t = vrev64_s16 (arg0_int16x4_t);
12885 }
12886
12887-/* { dg-final { scan-assembler "vrev64\.16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
12888+/* { dg-final { scan-assembler "vrev64\.16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
12889 /* { dg-final { cleanup-saved-temps } } */
12890
12891=== modified file 'gcc/testsuite/gcc.target/arm/neon/vrev64s32.c'
12892--- old/gcc/testsuite/gcc.target/arm/neon/vrev64s32.c 2010-07-29 15:38:15 +0000
12893+++ new/gcc/testsuite/gcc.target/arm/neon/vrev64s32.c 2010-08-20 13:27:11 +0000
12894@@ -16,5 +16,5 @@
12895 out_int32x2_t = vrev64_s32 (arg0_int32x2_t);
12896 }
12897
12898-/* { dg-final { scan-assembler "vrev64\.32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
12899+/* { dg-final { scan-assembler "vrev64\.32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
12900 /* { dg-final { cleanup-saved-temps } } */
12901
12902=== modified file 'gcc/testsuite/gcc.target/arm/neon/vrev64s8.c'
12903--- old/gcc/testsuite/gcc.target/arm/neon/vrev64s8.c 2010-07-29 15:38:15 +0000
12904+++ new/gcc/testsuite/gcc.target/arm/neon/vrev64s8.c 2010-08-20 13:27:11 +0000
12905@@ -16,5 +16,5 @@
12906 out_int8x8_t = vrev64_s8 (arg0_int8x8_t);
12907 }
12908
12909-/* { dg-final { scan-assembler "vrev64\.8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
12910+/* { dg-final { scan-assembler "vrev64\.8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
12911 /* { dg-final { cleanup-saved-temps } } */
12912
12913=== modified file 'gcc/testsuite/gcc.target/arm/neon/vrev64u16.c'
12914--- old/gcc/testsuite/gcc.target/arm/neon/vrev64u16.c 2010-07-29 15:38:15 +0000
12915+++ new/gcc/testsuite/gcc.target/arm/neon/vrev64u16.c 2010-08-20 13:27:11 +0000
12916@@ -16,5 +16,5 @@
12917 out_uint16x4_t = vrev64_u16 (arg0_uint16x4_t);
12918 }
12919
12920-/* { dg-final { scan-assembler "vrev64\.16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
12921+/* { dg-final { scan-assembler "vrev64\.16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
12922 /* { dg-final { cleanup-saved-temps } } */
12923
12924=== modified file 'gcc/testsuite/gcc.target/arm/neon/vrev64u32.c'
12925--- old/gcc/testsuite/gcc.target/arm/neon/vrev64u32.c 2010-07-29 15:38:15 +0000
12926+++ new/gcc/testsuite/gcc.target/arm/neon/vrev64u32.c 2010-08-20 13:27:11 +0000
12927@@ -16,5 +16,5 @@
12928 out_uint32x2_t = vrev64_u32 (arg0_uint32x2_t);
12929 }
12930
12931-/* { dg-final { scan-assembler "vrev64\.32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
12932+/* { dg-final { scan-assembler "vrev64\.32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
12933 /* { dg-final { cleanup-saved-temps } } */
12934
12935=== modified file 'gcc/testsuite/gcc.target/arm/neon/vrev64u8.c'
12936--- old/gcc/testsuite/gcc.target/arm/neon/vrev64u8.c 2010-07-29 15:38:15 +0000
12937+++ new/gcc/testsuite/gcc.target/arm/neon/vrev64u8.c 2010-08-20 13:27:11 +0000
12938@@ -16,5 +16,5 @@
12939 out_uint8x8_t = vrev64_u8 (arg0_uint8x8_t);
12940 }
12941
12942-/* { dg-final { scan-assembler "vrev64\.8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
12943+/* { dg-final { scan-assembler "vrev64\.8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
12944 /* { dg-final { cleanup-saved-temps } } */
12945
12946=== modified file 'gcc/testsuite/gcc.target/arm/neon/vrsqrteQf32.c'
12947--- old/gcc/testsuite/gcc.target/arm/neon/vrsqrteQf32.c 2010-07-29 15:38:15 +0000
12948+++ new/gcc/testsuite/gcc.target/arm/neon/vrsqrteQf32.c 2010-08-20 13:27:11 +0000
12949@@ -16,5 +16,5 @@
12950 out_float32x4_t = vrsqrteq_f32 (arg0_float32x4_t);
12951 }
12952
12953-/* { dg-final { scan-assembler "vrsqrte\.f32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
12954+/* { dg-final { scan-assembler "vrsqrte\.f32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
12955 /* { dg-final { cleanup-saved-temps } } */
12956
12957=== modified file 'gcc/testsuite/gcc.target/arm/neon/vrsqrteQu32.c'
12958--- old/gcc/testsuite/gcc.target/arm/neon/vrsqrteQu32.c 2010-07-29 15:38:15 +0000
12959+++ new/gcc/testsuite/gcc.target/arm/neon/vrsqrteQu32.c 2010-08-20 13:27:11 +0000
12960@@ -16,5 +16,5 @@
12961 out_uint32x4_t = vrsqrteq_u32 (arg0_uint32x4_t);
12962 }
12963
12964-/* { dg-final { scan-assembler "vrsqrte\.u32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
12965+/* { dg-final { scan-assembler "vrsqrte\.u32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
12966 /* { dg-final { cleanup-saved-temps } } */
12967
12968=== modified file 'gcc/testsuite/gcc.target/arm/neon/vrsqrtef32.c'
12969--- old/gcc/testsuite/gcc.target/arm/neon/vrsqrtef32.c 2010-07-29 15:38:15 +0000
12970+++ new/gcc/testsuite/gcc.target/arm/neon/vrsqrtef32.c 2010-08-20 13:27:11 +0000
12971@@ -16,5 +16,5 @@
12972 out_float32x2_t = vrsqrte_f32 (arg0_float32x2_t);
12973 }
12974
12975-/* { dg-final { scan-assembler "vrsqrte\.f32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
12976+/* { dg-final { scan-assembler "vrsqrte\.f32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
12977 /* { dg-final { cleanup-saved-temps } } */
12978
12979=== modified file 'gcc/testsuite/gcc.target/arm/neon/vrsqrteu32.c'
12980--- old/gcc/testsuite/gcc.target/arm/neon/vrsqrteu32.c 2010-07-29 15:38:15 +0000
12981+++ new/gcc/testsuite/gcc.target/arm/neon/vrsqrteu32.c 2010-08-20 13:27:11 +0000
12982@@ -16,5 +16,5 @@
12983 out_uint32x2_t = vrsqrte_u32 (arg0_uint32x2_t);
12984 }
12985
12986-/* { dg-final { scan-assembler "vrsqrte\.u32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
12987+/* { dg-final { scan-assembler "vrsqrte\.u32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
12988 /* { dg-final { cleanup-saved-temps } } */
12989
12990=== modified file 'gcc/testsuite/gcc.target/arm/neon/vrsqrtsQf32.c'
12991--- old/gcc/testsuite/gcc.target/arm/neon/vrsqrtsQf32.c 2010-07-29 15:38:15 +0000
12992+++ new/gcc/testsuite/gcc.target/arm/neon/vrsqrtsQf32.c 2010-08-20 13:27:11 +0000
12993@@ -17,5 +17,5 @@
12994 out_float32x4_t = vrsqrtsq_f32 (arg0_float32x4_t, arg1_float32x4_t);
12995 }
12996
12997-/* { dg-final { scan-assembler "vrsqrts\.f32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
12998+/* { dg-final { scan-assembler "vrsqrts\.f32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
12999 /* { dg-final { cleanup-saved-temps } } */
13000
13001=== modified file 'gcc/testsuite/gcc.target/arm/neon/vrsqrtsf32.c'
13002--- old/gcc/testsuite/gcc.target/arm/neon/vrsqrtsf32.c 2010-07-29 15:38:15 +0000
13003+++ new/gcc/testsuite/gcc.target/arm/neon/vrsqrtsf32.c 2010-08-20 13:27:11 +0000
13004@@ -17,5 +17,5 @@
13005 out_float32x2_t = vrsqrts_f32 (arg0_float32x2_t, arg1_float32x2_t);
13006 }
13007
13008-/* { dg-final { scan-assembler "vrsqrts\.f32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
13009+/* { dg-final { scan-assembler "vrsqrts\.f32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
13010 /* { dg-final { cleanup-saved-temps } } */
13011
13012=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsetQ_lanef32.c'
13013--- old/gcc/testsuite/gcc.target/arm/neon/vsetQ_lanef32.c 2010-07-29 15:38:15 +0000
13014+++ new/gcc/testsuite/gcc.target/arm/neon/vsetQ_lanef32.c 2010-08-20 13:27:11 +0000
13015@@ -17,5 +17,5 @@
13016 out_float32x4_t = vsetq_lane_f32 (arg0_float32_t, arg1_float32x4_t, 1);
13017 }
13018
13019-/* { dg-final { scan-assembler "vmov\.32\[ \]+\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[rR\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
13020+/* { dg-final { scan-assembler "vmov\.32\[ \]+\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[rR\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
13021 /* { dg-final { cleanup-saved-temps } } */
13022
13023=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsetQ_lanep16.c'
13024--- old/gcc/testsuite/gcc.target/arm/neon/vsetQ_lanep16.c 2010-07-29 15:38:15 +0000
13025+++ new/gcc/testsuite/gcc.target/arm/neon/vsetQ_lanep16.c 2010-08-20 13:27:11 +0000
13026@@ -17,5 +17,5 @@
13027 out_poly16x8_t = vsetq_lane_p16 (arg0_poly16_t, arg1_poly16x8_t, 1);
13028 }
13029
13030-/* { dg-final { scan-assembler "vmov\.16\[ \]+\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[rR\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
13031+/* { dg-final { scan-assembler "vmov\.16\[ \]+\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[rR\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
13032 /* { dg-final { cleanup-saved-temps } } */
13033
13034=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsetQ_lanep8.c'
13035--- old/gcc/testsuite/gcc.target/arm/neon/vsetQ_lanep8.c 2010-07-29 15:38:15 +0000
13036+++ new/gcc/testsuite/gcc.target/arm/neon/vsetQ_lanep8.c 2010-08-20 13:27:11 +0000
13037@@ -17,5 +17,5 @@
13038 out_poly8x16_t = vsetq_lane_p8 (arg0_poly8_t, arg1_poly8x16_t, 1);
13039 }
13040
13041-/* { dg-final { scan-assembler "vmov\.8\[ \]+\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[rR\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
13042+/* { dg-final { scan-assembler "vmov\.8\[ \]+\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[rR\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
13043 /* { dg-final { cleanup-saved-temps } } */
13044
13045=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsetQ_lanes16.c'
13046--- old/gcc/testsuite/gcc.target/arm/neon/vsetQ_lanes16.c 2010-07-29 15:38:15 +0000
13047+++ new/gcc/testsuite/gcc.target/arm/neon/vsetQ_lanes16.c 2010-08-20 13:27:11 +0000
13048@@ -17,5 +17,5 @@
13049 out_int16x8_t = vsetq_lane_s16 (arg0_int16_t, arg1_int16x8_t, 1);
13050 }
13051
13052-/* { dg-final { scan-assembler "vmov\.16\[ \]+\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[rR\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
13053+/* { dg-final { scan-assembler "vmov\.16\[ \]+\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[rR\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
13054 /* { dg-final { cleanup-saved-temps } } */
13055
13056=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsetQ_lanes32.c'
13057--- old/gcc/testsuite/gcc.target/arm/neon/vsetQ_lanes32.c 2010-07-29 15:38:15 +0000
13058+++ new/gcc/testsuite/gcc.target/arm/neon/vsetQ_lanes32.c 2010-08-20 13:27:11 +0000
13059@@ -17,5 +17,5 @@
13060 out_int32x4_t = vsetq_lane_s32 (arg0_int32_t, arg1_int32x4_t, 1);
13061 }
13062
13063-/* { dg-final { scan-assembler "vmov\.32\[ \]+\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[rR\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
13064+/* { dg-final { scan-assembler "vmov\.32\[ \]+\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[rR\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
13065 /* { dg-final { cleanup-saved-temps } } */
13066
13067=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsetQ_lanes64.c'
13068--- old/gcc/testsuite/gcc.target/arm/neon/vsetQ_lanes64.c 2010-07-29 15:38:15 +0000
13069+++ new/gcc/testsuite/gcc.target/arm/neon/vsetQ_lanes64.c 2010-08-20 13:27:11 +0000
13070@@ -17,5 +17,5 @@
13071 out_int64x2_t = vsetq_lane_s64 (arg0_int64_t, arg1_int64x2_t, 0);
13072 }
13073
13074-/* { dg-final { scan-assembler "vmov\[ \]+\[dD\]\[0-9\]+, \[rR\]\[0-9\]+, \[rR\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
13075+/* { dg-final { scan-assembler "vmov\[ \]+\[dD\]\[0-9\]+, \[rR\]\[0-9\]+, \[rR\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
13076 /* { dg-final { cleanup-saved-temps } } */
13077
13078=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsetQ_lanes8.c'
13079--- old/gcc/testsuite/gcc.target/arm/neon/vsetQ_lanes8.c 2010-07-29 15:38:15 +0000
13080+++ new/gcc/testsuite/gcc.target/arm/neon/vsetQ_lanes8.c 2010-08-20 13:27:11 +0000
13081@@ -17,5 +17,5 @@
13082 out_int8x16_t = vsetq_lane_s8 (arg0_int8_t, arg1_int8x16_t, 1);
13083 }
13084
13085-/* { dg-final { scan-assembler "vmov\.8\[ \]+\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[rR\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
13086+/* { dg-final { scan-assembler "vmov\.8\[ \]+\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[rR\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
13087 /* { dg-final { cleanup-saved-temps } } */
13088
13089=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsetQ_laneu16.c'
13090--- old/gcc/testsuite/gcc.target/arm/neon/vsetQ_laneu16.c 2010-07-29 15:38:15 +0000
13091+++ new/gcc/testsuite/gcc.target/arm/neon/vsetQ_laneu16.c 2010-08-20 13:27:11 +0000
13092@@ -17,5 +17,5 @@
13093 out_uint16x8_t = vsetq_lane_u16 (arg0_uint16_t, arg1_uint16x8_t, 1);
13094 }
13095
13096-/* { dg-final { scan-assembler "vmov\.16\[ \]+\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[rR\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
13097+/* { dg-final { scan-assembler "vmov\.16\[ \]+\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[rR\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
13098 /* { dg-final { cleanup-saved-temps } } */
13099
13100=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsetQ_laneu32.c'
13101--- old/gcc/testsuite/gcc.target/arm/neon/vsetQ_laneu32.c 2010-07-29 15:38:15 +0000
13102+++ new/gcc/testsuite/gcc.target/arm/neon/vsetQ_laneu32.c 2010-08-20 13:27:11 +0000
13103@@ -17,5 +17,5 @@
13104 out_uint32x4_t = vsetq_lane_u32 (arg0_uint32_t, arg1_uint32x4_t, 1);
13105 }
13106
13107-/* { dg-final { scan-assembler "vmov\.32\[ \]+\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[rR\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
13108+/* { dg-final { scan-assembler "vmov\.32\[ \]+\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[rR\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
13109 /* { dg-final { cleanup-saved-temps } } */
13110
13111=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsetQ_laneu64.c'
13112--- old/gcc/testsuite/gcc.target/arm/neon/vsetQ_laneu64.c 2010-07-29 15:38:15 +0000
13113+++ new/gcc/testsuite/gcc.target/arm/neon/vsetQ_laneu64.c 2010-08-20 13:27:11 +0000
13114@@ -17,5 +17,5 @@
13115 out_uint64x2_t = vsetq_lane_u64 (arg0_uint64_t, arg1_uint64x2_t, 0);
13116 }
13117
13118-/* { dg-final { scan-assembler "vmov\[ \]+\[dD\]\[0-9\]+, \[rR\]\[0-9\]+, \[rR\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
13119+/* { dg-final { scan-assembler "vmov\[ \]+\[dD\]\[0-9\]+, \[rR\]\[0-9\]+, \[rR\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
13120 /* { dg-final { cleanup-saved-temps } } */
13121
13122=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsetQ_laneu8.c'
13123--- old/gcc/testsuite/gcc.target/arm/neon/vsetQ_laneu8.c 2010-07-29 15:38:15 +0000
13124+++ new/gcc/testsuite/gcc.target/arm/neon/vsetQ_laneu8.c 2010-08-20 13:27:11 +0000
13125@@ -17,5 +17,5 @@
13126 out_uint8x16_t = vsetq_lane_u8 (arg0_uint8_t, arg1_uint8x16_t, 1);
13127 }
13128
13129-/* { dg-final { scan-assembler "vmov\.8\[ \]+\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[rR\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
13130+/* { dg-final { scan-assembler "vmov\.8\[ \]+\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[rR\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
13131 /* { dg-final { cleanup-saved-temps } } */
13132
13133=== modified file 'gcc/testsuite/gcc.target/arm/neon/vset_lanef32.c'
13134--- old/gcc/testsuite/gcc.target/arm/neon/vset_lanef32.c 2010-07-29 15:38:15 +0000
13135+++ new/gcc/testsuite/gcc.target/arm/neon/vset_lanef32.c 2010-08-20 13:27:11 +0000
13136@@ -17,5 +17,5 @@
13137 out_float32x2_t = vset_lane_f32 (arg0_float32_t, arg1_float32x2_t, 1);
13138 }
13139
13140-/* { dg-final { scan-assembler "vmov\.32\[ \]+\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[rR\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
13141+/* { dg-final { scan-assembler "vmov\.32\[ \]+\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[rR\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
13142 /* { dg-final { cleanup-saved-temps } } */
13143
13144=== modified file 'gcc/testsuite/gcc.target/arm/neon/vset_lanep16.c'
13145--- old/gcc/testsuite/gcc.target/arm/neon/vset_lanep16.c 2010-07-29 15:38:15 +0000
13146+++ new/gcc/testsuite/gcc.target/arm/neon/vset_lanep16.c 2010-08-20 13:27:11 +0000
13147@@ -17,5 +17,5 @@
13148 out_poly16x4_t = vset_lane_p16 (arg0_poly16_t, arg1_poly16x4_t, 1);
13149 }
13150
13151-/* { dg-final { scan-assembler "vmov\.16\[ \]+\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[rR\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
13152+/* { dg-final { scan-assembler "vmov\.16\[ \]+\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[rR\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
13153 /* { dg-final { cleanup-saved-temps } } */
13154
13155=== modified file 'gcc/testsuite/gcc.target/arm/neon/vset_lanep8.c'
13156--- old/gcc/testsuite/gcc.target/arm/neon/vset_lanep8.c 2010-07-29 15:38:15 +0000
13157+++ new/gcc/testsuite/gcc.target/arm/neon/vset_lanep8.c 2010-08-20 13:27:11 +0000
13158@@ -17,5 +17,5 @@
13159 out_poly8x8_t = vset_lane_p8 (arg0_poly8_t, arg1_poly8x8_t, 1);
13160 }
13161
13162-/* { dg-final { scan-assembler "vmov\.8\[ \]+\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[rR\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
13163+/* { dg-final { scan-assembler "vmov\.8\[ \]+\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[rR\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
13164 /* { dg-final { cleanup-saved-temps } } */
13165
13166=== modified file 'gcc/testsuite/gcc.target/arm/neon/vset_lanes16.c'
13167--- old/gcc/testsuite/gcc.target/arm/neon/vset_lanes16.c 2010-07-29 15:38:15 +0000
13168+++ new/gcc/testsuite/gcc.target/arm/neon/vset_lanes16.c 2010-08-20 13:27:11 +0000
13169@@ -17,5 +17,5 @@
13170 out_int16x4_t = vset_lane_s16 (arg0_int16_t, arg1_int16x4_t, 1);
13171 }
13172
13173-/* { dg-final { scan-assembler "vmov\.16\[ \]+\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[rR\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
13174+/* { dg-final { scan-assembler "vmov\.16\[ \]+\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[rR\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
13175 /* { dg-final { cleanup-saved-temps } } */
13176
13177=== modified file 'gcc/testsuite/gcc.target/arm/neon/vset_lanes32.c'
13178--- old/gcc/testsuite/gcc.target/arm/neon/vset_lanes32.c 2010-07-29 15:38:15 +0000
13179+++ new/gcc/testsuite/gcc.target/arm/neon/vset_lanes32.c 2010-08-20 13:27:11 +0000
13180@@ -17,5 +17,5 @@
13181 out_int32x2_t = vset_lane_s32 (arg0_int32_t, arg1_int32x2_t, 1);
13182 }
13183
13184-/* { dg-final { scan-assembler "vmov\.32\[ \]+\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[rR\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
13185+/* { dg-final { scan-assembler "vmov\.32\[ \]+\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[rR\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
13186 /* { dg-final { cleanup-saved-temps } } */
13187
13188=== modified file 'gcc/testsuite/gcc.target/arm/neon/vset_lanes8.c'
13189--- old/gcc/testsuite/gcc.target/arm/neon/vset_lanes8.c 2010-07-29 15:38:15 +0000
13190+++ new/gcc/testsuite/gcc.target/arm/neon/vset_lanes8.c 2010-08-20 13:27:11 +0000
13191@@ -17,5 +17,5 @@
13192 out_int8x8_t = vset_lane_s8 (arg0_int8_t, arg1_int8x8_t, 1);
13193 }
13194
13195-/* { dg-final { scan-assembler "vmov\.8\[ \]+\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[rR\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
13196+/* { dg-final { scan-assembler "vmov\.8\[ \]+\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[rR\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
13197 /* { dg-final { cleanup-saved-temps } } */
13198
13199=== modified file 'gcc/testsuite/gcc.target/arm/neon/vset_laneu16.c'
13200--- old/gcc/testsuite/gcc.target/arm/neon/vset_laneu16.c 2010-07-29 15:38:15 +0000
13201+++ new/gcc/testsuite/gcc.target/arm/neon/vset_laneu16.c 2010-08-20 13:27:11 +0000
13202@@ -17,5 +17,5 @@
13203 out_uint16x4_t = vset_lane_u16 (arg0_uint16_t, arg1_uint16x4_t, 1);
13204 }
13205
13206-/* { dg-final { scan-assembler "vmov\.16\[ \]+\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[rR\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
13207+/* { dg-final { scan-assembler "vmov\.16\[ \]+\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[rR\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
13208 /* { dg-final { cleanup-saved-temps } } */
13209
13210=== modified file 'gcc/testsuite/gcc.target/arm/neon/vset_laneu32.c'
13211--- old/gcc/testsuite/gcc.target/arm/neon/vset_laneu32.c 2010-07-29 15:38:15 +0000
13212+++ new/gcc/testsuite/gcc.target/arm/neon/vset_laneu32.c 2010-08-20 13:27:11 +0000
13213@@ -17,5 +17,5 @@
13214 out_uint32x2_t = vset_lane_u32 (arg0_uint32_t, arg1_uint32x2_t, 1);
13215 }
13216
13217-/* { dg-final { scan-assembler "vmov\.32\[ \]+\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[rR\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
13218+/* { dg-final { scan-assembler "vmov\.32\[ \]+\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[rR\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
13219 /* { dg-final { cleanup-saved-temps } } */
13220
13221=== modified file 'gcc/testsuite/gcc.target/arm/neon/vset_laneu8.c'
13222--- old/gcc/testsuite/gcc.target/arm/neon/vset_laneu8.c 2010-07-29 15:38:15 +0000
13223+++ new/gcc/testsuite/gcc.target/arm/neon/vset_laneu8.c 2010-08-20 13:27:11 +0000
13224@@ -17,5 +17,5 @@
13225 out_uint8x8_t = vset_lane_u8 (arg0_uint8_t, arg1_uint8x8_t, 1);
13226 }
13227
13228-/* { dg-final { scan-assembler "vmov\.8\[ \]+\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[rR\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
13229+/* { dg-final { scan-assembler "vmov\.8\[ \]+\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[rR\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
13230 /* { dg-final { cleanup-saved-temps } } */
13231
13232=== modified file 'gcc/testsuite/gcc.target/arm/neon/vshlQ_ns16.c'
13233--- old/gcc/testsuite/gcc.target/arm/neon/vshlQ_ns16.c 2010-07-29 15:38:15 +0000
13234+++ new/gcc/testsuite/gcc.target/arm/neon/vshlQ_ns16.c 2010-08-20 13:27:11 +0000
13235@@ -16,5 +16,5 @@
13236 out_int16x8_t = vshlq_n_s16 (arg0_int16x8_t, 1);
13237 }
13238
13239-/* { dg-final { scan-assembler "vshl\.i16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
13240+/* { dg-final { scan-assembler "vshl\.i16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
13241 /* { dg-final { cleanup-saved-temps } } */
13242
13243=== modified file 'gcc/testsuite/gcc.target/arm/neon/vshlQ_ns32.c'
13244--- old/gcc/testsuite/gcc.target/arm/neon/vshlQ_ns32.c 2010-07-29 15:38:15 +0000
13245+++ new/gcc/testsuite/gcc.target/arm/neon/vshlQ_ns32.c 2010-08-20 13:27:11 +0000
13246@@ -16,5 +16,5 @@
13247 out_int32x4_t = vshlq_n_s32 (arg0_int32x4_t, 1);
13248 }
13249
13250-/* { dg-final { scan-assembler "vshl\.i32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
13251+/* { dg-final { scan-assembler "vshl\.i32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
13252 /* { dg-final { cleanup-saved-temps } } */
13253
13254=== modified file 'gcc/testsuite/gcc.target/arm/neon/vshlQ_ns64.c'
13255--- old/gcc/testsuite/gcc.target/arm/neon/vshlQ_ns64.c 2010-07-29 15:38:15 +0000
13256+++ new/gcc/testsuite/gcc.target/arm/neon/vshlQ_ns64.c 2010-08-20 13:27:11 +0000
13257@@ -16,5 +16,5 @@
13258 out_int64x2_t = vshlq_n_s64 (arg0_int64x2_t, 1);
13259 }
13260
13261-/* { dg-final { scan-assembler "vshl\.i64\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
13262+/* { dg-final { scan-assembler "vshl\.i64\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
13263 /* { dg-final { cleanup-saved-temps } } */
13264
13265=== modified file 'gcc/testsuite/gcc.target/arm/neon/vshlQ_ns8.c'
13266--- old/gcc/testsuite/gcc.target/arm/neon/vshlQ_ns8.c 2010-07-29 15:38:15 +0000
13267+++ new/gcc/testsuite/gcc.target/arm/neon/vshlQ_ns8.c 2010-08-20 13:27:11 +0000
13268@@ -16,5 +16,5 @@
13269 out_int8x16_t = vshlq_n_s8 (arg0_int8x16_t, 1);
13270 }
13271
13272-/* { dg-final { scan-assembler "vshl\.i8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
13273+/* { dg-final { scan-assembler "vshl\.i8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
13274 /* { dg-final { cleanup-saved-temps } } */
13275
13276=== modified file 'gcc/testsuite/gcc.target/arm/neon/vshlQ_nu16.c'
13277--- old/gcc/testsuite/gcc.target/arm/neon/vshlQ_nu16.c 2010-07-29 15:38:15 +0000
13278+++ new/gcc/testsuite/gcc.target/arm/neon/vshlQ_nu16.c 2010-08-20 13:27:11 +0000
13279@@ -16,5 +16,5 @@
13280 out_uint16x8_t = vshlq_n_u16 (arg0_uint16x8_t, 1);
13281 }
13282
13283-/* { dg-final { scan-assembler "vshl\.i16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
13284+/* { dg-final { scan-assembler "vshl\.i16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
13285 /* { dg-final { cleanup-saved-temps } } */
13286
13287=== modified file 'gcc/testsuite/gcc.target/arm/neon/vshlQ_nu32.c'
13288--- old/gcc/testsuite/gcc.target/arm/neon/vshlQ_nu32.c 2010-07-29 15:38:15 +0000
13289+++ new/gcc/testsuite/gcc.target/arm/neon/vshlQ_nu32.c 2010-08-20 13:27:11 +0000
13290@@ -16,5 +16,5 @@
13291 out_uint32x4_t = vshlq_n_u32 (arg0_uint32x4_t, 1);
13292 }
13293
13294-/* { dg-final { scan-assembler "vshl\.i32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
13295+/* { dg-final { scan-assembler "vshl\.i32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
13296 /* { dg-final { cleanup-saved-temps } } */
13297
13298=== modified file 'gcc/testsuite/gcc.target/arm/neon/vshlQ_nu64.c'
13299--- old/gcc/testsuite/gcc.target/arm/neon/vshlQ_nu64.c 2010-07-29 15:38:15 +0000
13300+++ new/gcc/testsuite/gcc.target/arm/neon/vshlQ_nu64.c 2010-08-20 13:27:11 +0000
13301@@ -16,5 +16,5 @@
13302 out_uint64x2_t = vshlq_n_u64 (arg0_uint64x2_t, 1);
13303 }
13304
13305-/* { dg-final { scan-assembler "vshl\.i64\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
13306+/* { dg-final { scan-assembler "vshl\.i64\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
13307 /* { dg-final { cleanup-saved-temps } } */
13308
13309=== modified file 'gcc/testsuite/gcc.target/arm/neon/vshlQ_nu8.c'
13310--- old/gcc/testsuite/gcc.target/arm/neon/vshlQ_nu8.c 2010-07-29 15:38:15 +0000
13311+++ new/gcc/testsuite/gcc.target/arm/neon/vshlQ_nu8.c 2010-08-20 13:27:11 +0000
13312@@ -16,5 +16,5 @@
13313 out_uint8x16_t = vshlq_n_u8 (arg0_uint8x16_t, 1);
13314 }
13315
13316-/* { dg-final { scan-assembler "vshl\.i8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
13317+/* { dg-final { scan-assembler "vshl\.i8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
13318 /* { dg-final { cleanup-saved-temps } } */
13319
13320=== modified file 'gcc/testsuite/gcc.target/arm/neon/vshlQs16.c'
13321--- old/gcc/testsuite/gcc.target/arm/neon/vshlQs16.c 2010-07-29 15:38:15 +0000
13322+++ new/gcc/testsuite/gcc.target/arm/neon/vshlQs16.c 2010-08-20 13:27:11 +0000
13323@@ -17,5 +17,5 @@
13324 out_int16x8_t = vshlq_s16 (arg0_int16x8_t, arg1_int16x8_t);
13325 }
13326
13327-/* { dg-final { scan-assembler "vshl\.s16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
13328+/* { dg-final { scan-assembler "vshl\.s16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
13329 /* { dg-final { cleanup-saved-temps } } */
13330
13331=== modified file 'gcc/testsuite/gcc.target/arm/neon/vshlQs32.c'
13332--- old/gcc/testsuite/gcc.target/arm/neon/vshlQs32.c 2010-07-29 15:38:15 +0000
13333+++ new/gcc/testsuite/gcc.target/arm/neon/vshlQs32.c 2010-08-20 13:27:11 +0000
13334@@ -17,5 +17,5 @@
13335 out_int32x4_t = vshlq_s32 (arg0_int32x4_t, arg1_int32x4_t);
13336 }
13337
13338-/* { dg-final { scan-assembler "vshl\.s32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
13339+/* { dg-final { scan-assembler "vshl\.s32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
13340 /* { dg-final { cleanup-saved-temps } } */
13341
13342=== modified file 'gcc/testsuite/gcc.target/arm/neon/vshlQs64.c'
13343--- old/gcc/testsuite/gcc.target/arm/neon/vshlQs64.c 2010-07-29 15:38:15 +0000
13344+++ new/gcc/testsuite/gcc.target/arm/neon/vshlQs64.c 2010-08-20 13:27:11 +0000
13345@@ -17,5 +17,5 @@
13346 out_int64x2_t = vshlq_s64 (arg0_int64x2_t, arg1_int64x2_t);
13347 }
13348
13349-/* { dg-final { scan-assembler "vshl\.s64\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
13350+/* { dg-final { scan-assembler "vshl\.s64\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
13351 /* { dg-final { cleanup-saved-temps } } */
13352
13353=== modified file 'gcc/testsuite/gcc.target/arm/neon/vshlQs8.c'
13354--- old/gcc/testsuite/gcc.target/arm/neon/vshlQs8.c 2010-07-29 15:38:15 +0000
13355+++ new/gcc/testsuite/gcc.target/arm/neon/vshlQs8.c 2010-08-20 13:27:11 +0000
13356@@ -17,5 +17,5 @@
13357 out_int8x16_t = vshlq_s8 (arg0_int8x16_t, arg1_int8x16_t);
13358 }
13359
13360-/* { dg-final { scan-assembler "vshl\.s8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
13361+/* { dg-final { scan-assembler "vshl\.s8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
13362 /* { dg-final { cleanup-saved-temps } } */
13363
13364=== modified file 'gcc/testsuite/gcc.target/arm/neon/vshlQu16.c'
13365--- old/gcc/testsuite/gcc.target/arm/neon/vshlQu16.c 2010-07-29 15:38:15 +0000
13366+++ new/gcc/testsuite/gcc.target/arm/neon/vshlQu16.c 2010-08-20 13:27:11 +0000
13367@@ -17,5 +17,5 @@
13368 out_uint16x8_t = vshlq_u16 (arg0_uint16x8_t, arg1_int16x8_t);
13369 }
13370
13371-/* { dg-final { scan-assembler "vshl\.u16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
13372+/* { dg-final { scan-assembler "vshl\.u16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
13373 /* { dg-final { cleanup-saved-temps } } */
13374
13375=== modified file 'gcc/testsuite/gcc.target/arm/neon/vshlQu32.c'
13376--- old/gcc/testsuite/gcc.target/arm/neon/vshlQu32.c 2010-07-29 15:38:15 +0000
13377+++ new/gcc/testsuite/gcc.target/arm/neon/vshlQu32.c 2010-08-20 13:27:11 +0000
13378@@ -17,5 +17,5 @@
13379 out_uint32x4_t = vshlq_u32 (arg0_uint32x4_t, arg1_int32x4_t);
13380 }
13381
13382-/* { dg-final { scan-assembler "vshl\.u32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
13383+/* { dg-final { scan-assembler "vshl\.u32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
13384 /* { dg-final { cleanup-saved-temps } } */
13385
13386=== modified file 'gcc/testsuite/gcc.target/arm/neon/vshlQu64.c'
13387--- old/gcc/testsuite/gcc.target/arm/neon/vshlQu64.c 2010-07-29 15:38:15 +0000
13388+++ new/gcc/testsuite/gcc.target/arm/neon/vshlQu64.c 2010-08-20 13:27:11 +0000
13389@@ -17,5 +17,5 @@
13390 out_uint64x2_t = vshlq_u64 (arg0_uint64x2_t, arg1_int64x2_t);
13391 }
13392
13393-/* { dg-final { scan-assembler "vshl\.u64\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
13394+/* { dg-final { scan-assembler "vshl\.u64\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
13395 /* { dg-final { cleanup-saved-temps } } */
13396
13397=== modified file 'gcc/testsuite/gcc.target/arm/neon/vshlQu8.c'
13398--- old/gcc/testsuite/gcc.target/arm/neon/vshlQu8.c 2010-07-29 15:38:15 +0000
13399+++ new/gcc/testsuite/gcc.target/arm/neon/vshlQu8.c 2010-08-20 13:27:11 +0000
13400@@ -17,5 +17,5 @@
13401 out_uint8x16_t = vshlq_u8 (arg0_uint8x16_t, arg1_int8x16_t);
13402 }
13403
13404-/* { dg-final { scan-assembler "vshl\.u8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
13405+/* { dg-final { scan-assembler "vshl\.u8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
13406 /* { dg-final { cleanup-saved-temps } } */
13407
13408=== modified file 'gcc/testsuite/gcc.target/arm/neon/vshl_ns16.c'
13409--- old/gcc/testsuite/gcc.target/arm/neon/vshl_ns16.c 2010-07-29 15:38:15 +0000
13410+++ new/gcc/testsuite/gcc.target/arm/neon/vshl_ns16.c 2010-08-20 13:27:11 +0000
13411@@ -16,5 +16,5 @@
13412 out_int16x4_t = vshl_n_s16 (arg0_int16x4_t, 1);
13413 }
13414
13415-/* { dg-final { scan-assembler "vshl\.i16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
13416+/* { dg-final { scan-assembler "vshl\.i16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
13417 /* { dg-final { cleanup-saved-temps } } */
13418
13419=== modified file 'gcc/testsuite/gcc.target/arm/neon/vshl_ns32.c'
13420--- old/gcc/testsuite/gcc.target/arm/neon/vshl_ns32.c 2010-07-29 15:38:15 +0000
13421+++ new/gcc/testsuite/gcc.target/arm/neon/vshl_ns32.c 2010-08-20 13:27:11 +0000
13422@@ -16,5 +16,5 @@
13423 out_int32x2_t = vshl_n_s32 (arg0_int32x2_t, 1);
13424 }
13425
13426-/* { dg-final { scan-assembler "vshl\.i32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
13427+/* { dg-final { scan-assembler "vshl\.i32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
13428 /* { dg-final { cleanup-saved-temps } } */
13429
13430=== modified file 'gcc/testsuite/gcc.target/arm/neon/vshl_ns64.c'
13431--- old/gcc/testsuite/gcc.target/arm/neon/vshl_ns64.c 2010-07-29 15:38:15 +0000
13432+++ new/gcc/testsuite/gcc.target/arm/neon/vshl_ns64.c 2010-08-20 13:27:11 +0000
13433@@ -16,5 +16,5 @@
13434 out_int64x1_t = vshl_n_s64 (arg0_int64x1_t, 1);
13435 }
13436
13437-/* { dg-final { scan-assembler "vshl\.i64\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
13438+/* { dg-final { scan-assembler "vshl\.i64\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
13439 /* { dg-final { cleanup-saved-temps } } */
13440
13441=== modified file 'gcc/testsuite/gcc.target/arm/neon/vshl_ns8.c'
13442--- old/gcc/testsuite/gcc.target/arm/neon/vshl_ns8.c 2010-07-29 15:38:15 +0000
13443+++ new/gcc/testsuite/gcc.target/arm/neon/vshl_ns8.c 2010-08-20 13:27:11 +0000
13444@@ -16,5 +16,5 @@
13445 out_int8x8_t = vshl_n_s8 (arg0_int8x8_t, 1);
13446 }
13447
13448-/* { dg-final { scan-assembler "vshl\.i8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
13449+/* { dg-final { scan-assembler "vshl\.i8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
13450 /* { dg-final { cleanup-saved-temps } } */
13451
13452=== modified file 'gcc/testsuite/gcc.target/arm/neon/vshl_nu16.c'
13453--- old/gcc/testsuite/gcc.target/arm/neon/vshl_nu16.c 2010-07-29 15:38:15 +0000
13454+++ new/gcc/testsuite/gcc.target/arm/neon/vshl_nu16.c 2010-08-20 13:27:11 +0000
13455@@ -16,5 +16,5 @@
13456 out_uint16x4_t = vshl_n_u16 (arg0_uint16x4_t, 1);
13457 }
13458
13459-/* { dg-final { scan-assembler "vshl\.i16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
13460+/* { dg-final { scan-assembler "vshl\.i16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
13461 /* { dg-final { cleanup-saved-temps } } */
13462
13463=== modified file 'gcc/testsuite/gcc.target/arm/neon/vshl_nu32.c'
13464--- old/gcc/testsuite/gcc.target/arm/neon/vshl_nu32.c 2010-07-29 15:38:15 +0000
13465+++ new/gcc/testsuite/gcc.target/arm/neon/vshl_nu32.c 2010-08-20 13:27:11 +0000
13466@@ -16,5 +16,5 @@
13467 out_uint32x2_t = vshl_n_u32 (arg0_uint32x2_t, 1);
13468 }
13469
13470-/* { dg-final { scan-assembler "vshl\.i32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
13471+/* { dg-final { scan-assembler "vshl\.i32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
13472 /* { dg-final { cleanup-saved-temps } } */
13473
13474=== modified file 'gcc/testsuite/gcc.target/arm/neon/vshl_nu64.c'
13475--- old/gcc/testsuite/gcc.target/arm/neon/vshl_nu64.c 2010-07-29 15:38:15 +0000
13476+++ new/gcc/testsuite/gcc.target/arm/neon/vshl_nu64.c 2010-08-20 13:27:11 +0000
13477@@ -16,5 +16,5 @@
13478 out_uint64x1_t = vshl_n_u64 (arg0_uint64x1_t, 1);
13479 }
13480
13481-/* { dg-final { scan-assembler "vshl\.i64\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
13482+/* { dg-final { scan-assembler "vshl\.i64\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
13483 /* { dg-final { cleanup-saved-temps } } */
13484
13485=== modified file 'gcc/testsuite/gcc.target/arm/neon/vshl_nu8.c'
13486--- old/gcc/testsuite/gcc.target/arm/neon/vshl_nu8.c 2010-07-29 15:38:15 +0000
13487+++ new/gcc/testsuite/gcc.target/arm/neon/vshl_nu8.c 2010-08-20 13:27:11 +0000
13488@@ -16,5 +16,5 @@
13489 out_uint8x8_t = vshl_n_u8 (arg0_uint8x8_t, 1);
13490 }
13491
13492-/* { dg-final { scan-assembler "vshl\.i8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
13493+/* { dg-final { scan-assembler "vshl\.i8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
13494 /* { dg-final { cleanup-saved-temps } } */
13495
13496=== modified file 'gcc/testsuite/gcc.target/arm/neon/vshll_ns16.c'
13497--- old/gcc/testsuite/gcc.target/arm/neon/vshll_ns16.c 2010-07-29 15:38:15 +0000
13498+++ new/gcc/testsuite/gcc.target/arm/neon/vshll_ns16.c 2010-08-20 13:27:11 +0000
13499@@ -16,5 +16,5 @@
13500 out_int32x4_t = vshll_n_s16 (arg0_int16x4_t, 1);
13501 }
13502
13503-/* { dg-final { scan-assembler "vshll\.s16\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
13504+/* { dg-final { scan-assembler "vshll\.s16\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
13505 /* { dg-final { cleanup-saved-temps } } */
13506
13507=== modified file 'gcc/testsuite/gcc.target/arm/neon/vshll_ns32.c'
13508--- old/gcc/testsuite/gcc.target/arm/neon/vshll_ns32.c 2010-07-29 15:38:15 +0000
13509+++ new/gcc/testsuite/gcc.target/arm/neon/vshll_ns32.c 2010-08-20 13:27:11 +0000
13510@@ -16,5 +16,5 @@
13511 out_int64x2_t = vshll_n_s32 (arg0_int32x2_t, 1);
13512 }
13513
13514-/* { dg-final { scan-assembler "vshll\.s32\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
13515+/* { dg-final { scan-assembler "vshll\.s32\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
13516 /* { dg-final { cleanup-saved-temps } } */
13517
13518=== modified file 'gcc/testsuite/gcc.target/arm/neon/vshll_ns8.c'
13519--- old/gcc/testsuite/gcc.target/arm/neon/vshll_ns8.c 2010-07-29 15:38:15 +0000
13520+++ new/gcc/testsuite/gcc.target/arm/neon/vshll_ns8.c 2010-08-20 13:27:11 +0000
13521@@ -16,5 +16,5 @@
13522 out_int16x8_t = vshll_n_s8 (arg0_int8x8_t, 1);
13523 }
13524
13525-/* { dg-final { scan-assembler "vshll\.s8\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
13526+/* { dg-final { scan-assembler "vshll\.s8\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
13527 /* { dg-final { cleanup-saved-temps } } */
13528
13529=== modified file 'gcc/testsuite/gcc.target/arm/neon/vshll_nu16.c'
13530--- old/gcc/testsuite/gcc.target/arm/neon/vshll_nu16.c 2010-07-29 15:38:15 +0000
13531+++ new/gcc/testsuite/gcc.target/arm/neon/vshll_nu16.c 2010-08-20 13:27:11 +0000
13532@@ -16,5 +16,5 @@
13533 out_uint32x4_t = vshll_n_u16 (arg0_uint16x4_t, 1);
13534 }
13535
13536-/* { dg-final { scan-assembler "vshll\.u16\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
13537+/* { dg-final { scan-assembler "vshll\.u16\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
13538 /* { dg-final { cleanup-saved-temps } } */
13539
13540=== modified file 'gcc/testsuite/gcc.target/arm/neon/vshll_nu32.c'
13541--- old/gcc/testsuite/gcc.target/arm/neon/vshll_nu32.c 2010-07-29 15:38:15 +0000
13542+++ new/gcc/testsuite/gcc.target/arm/neon/vshll_nu32.c 2010-08-20 13:27:11 +0000
13543@@ -16,5 +16,5 @@
13544 out_uint64x2_t = vshll_n_u32 (arg0_uint32x2_t, 1);
13545 }
13546
13547-/* { dg-final { scan-assembler "vshll\.u32\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
13548+/* { dg-final { scan-assembler "vshll\.u32\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
13549 /* { dg-final { cleanup-saved-temps } } */
13550
13551=== modified file 'gcc/testsuite/gcc.target/arm/neon/vshll_nu8.c'
13552--- old/gcc/testsuite/gcc.target/arm/neon/vshll_nu8.c 2010-07-29 15:38:15 +0000
13553+++ new/gcc/testsuite/gcc.target/arm/neon/vshll_nu8.c 2010-08-20 13:27:11 +0000
13554@@ -16,5 +16,5 @@
13555 out_uint16x8_t = vshll_n_u8 (arg0_uint8x8_t, 1);
13556 }
13557
13558-/* { dg-final { scan-assembler "vshll\.u8\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
13559+/* { dg-final { scan-assembler "vshll\.u8\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
13560 /* { dg-final { cleanup-saved-temps } } */
13561
13562=== modified file 'gcc/testsuite/gcc.target/arm/neon/vshls16.c'
13563--- old/gcc/testsuite/gcc.target/arm/neon/vshls16.c 2010-07-29 15:38:15 +0000
13564+++ new/gcc/testsuite/gcc.target/arm/neon/vshls16.c 2010-08-20 13:27:11 +0000
13565@@ -17,5 +17,5 @@
13566 out_int16x4_t = vshl_s16 (arg0_int16x4_t, arg1_int16x4_t);
13567 }
13568
13569-/* { dg-final { scan-assembler "vshl\.s16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
13570+/* { dg-final { scan-assembler "vshl\.s16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
13571 /* { dg-final { cleanup-saved-temps } } */
13572
13573=== modified file 'gcc/testsuite/gcc.target/arm/neon/vshls32.c'
13574--- old/gcc/testsuite/gcc.target/arm/neon/vshls32.c 2010-07-29 15:38:15 +0000
13575+++ new/gcc/testsuite/gcc.target/arm/neon/vshls32.c 2010-08-20 13:27:11 +0000
13576@@ -17,5 +17,5 @@
13577 out_int32x2_t = vshl_s32 (arg0_int32x2_t, arg1_int32x2_t);
13578 }
13579
13580-/* { dg-final { scan-assembler "vshl\.s32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
13581+/* { dg-final { scan-assembler "vshl\.s32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
13582 /* { dg-final { cleanup-saved-temps } } */
13583
13584=== modified file 'gcc/testsuite/gcc.target/arm/neon/vshls64.c'
13585--- old/gcc/testsuite/gcc.target/arm/neon/vshls64.c 2010-07-29 15:38:15 +0000
13586+++ new/gcc/testsuite/gcc.target/arm/neon/vshls64.c 2010-08-20 13:27:11 +0000
13587@@ -17,5 +17,5 @@
13588 out_int64x1_t = vshl_s64 (arg0_int64x1_t, arg1_int64x1_t);
13589 }
13590
13591-/* { dg-final { scan-assembler "vshl\.s64\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
13592+/* { dg-final { scan-assembler "vshl\.s64\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
13593 /* { dg-final { cleanup-saved-temps } } */
13594
13595=== modified file 'gcc/testsuite/gcc.target/arm/neon/vshls8.c'
13596--- old/gcc/testsuite/gcc.target/arm/neon/vshls8.c 2010-07-29 15:38:15 +0000
13597+++ new/gcc/testsuite/gcc.target/arm/neon/vshls8.c 2010-08-20 13:27:11 +0000
13598@@ -17,5 +17,5 @@
13599 out_int8x8_t = vshl_s8 (arg0_int8x8_t, arg1_int8x8_t);
13600 }
13601
13602-/* { dg-final { scan-assembler "vshl\.s8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
13603+/* { dg-final { scan-assembler "vshl\.s8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
13604 /* { dg-final { cleanup-saved-temps } } */
13605
13606=== modified file 'gcc/testsuite/gcc.target/arm/neon/vshlu16.c'
13607--- old/gcc/testsuite/gcc.target/arm/neon/vshlu16.c 2010-07-29 15:38:15 +0000
13608+++ new/gcc/testsuite/gcc.target/arm/neon/vshlu16.c 2010-08-20 13:27:11 +0000
13609@@ -17,5 +17,5 @@
13610 out_uint16x4_t = vshl_u16 (arg0_uint16x4_t, arg1_int16x4_t);
13611 }
13612
13613-/* { dg-final { scan-assembler "vshl\.u16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
13614+/* { dg-final { scan-assembler "vshl\.u16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
13615 /* { dg-final { cleanup-saved-temps } } */
13616
13617=== modified file 'gcc/testsuite/gcc.target/arm/neon/vshlu32.c'
13618--- old/gcc/testsuite/gcc.target/arm/neon/vshlu32.c 2010-07-29 15:38:15 +0000
13619+++ new/gcc/testsuite/gcc.target/arm/neon/vshlu32.c 2010-08-20 13:27:11 +0000
13620@@ -17,5 +17,5 @@
13621 out_uint32x2_t = vshl_u32 (arg0_uint32x2_t, arg1_int32x2_t);
13622 }
13623
13624-/* { dg-final { scan-assembler "vshl\.u32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
13625+/* { dg-final { scan-assembler "vshl\.u32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
13626 /* { dg-final { cleanup-saved-temps } } */
13627
13628=== modified file 'gcc/testsuite/gcc.target/arm/neon/vshlu64.c'
13629--- old/gcc/testsuite/gcc.target/arm/neon/vshlu64.c 2010-07-29 15:38:15 +0000
13630+++ new/gcc/testsuite/gcc.target/arm/neon/vshlu64.c 2010-08-20 13:27:11 +0000
13631@@ -17,5 +17,5 @@
13632 out_uint64x1_t = vshl_u64 (arg0_uint64x1_t, arg1_int64x1_t);
13633 }
13634
13635-/* { dg-final { scan-assembler "vshl\.u64\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
13636+/* { dg-final { scan-assembler "vshl\.u64\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
13637 /* { dg-final { cleanup-saved-temps } } */
13638
13639=== modified file 'gcc/testsuite/gcc.target/arm/neon/vshlu8.c'
13640--- old/gcc/testsuite/gcc.target/arm/neon/vshlu8.c 2010-07-29 15:38:15 +0000
13641+++ new/gcc/testsuite/gcc.target/arm/neon/vshlu8.c 2010-08-20 13:27:11 +0000
13642@@ -17,5 +17,5 @@
13643 out_uint8x8_t = vshl_u8 (arg0_uint8x8_t, arg1_int8x8_t);
13644 }
13645
13646-/* { dg-final { scan-assembler "vshl\.u8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
13647+/* { dg-final { scan-assembler "vshl\.u8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
13648 /* { dg-final { cleanup-saved-temps } } */
13649
13650=== modified file 'gcc/testsuite/gcc.target/arm/neon/vshrQ_ns16.c'
13651--- old/gcc/testsuite/gcc.target/arm/neon/vshrQ_ns16.c 2010-07-29 15:38:15 +0000
13652+++ new/gcc/testsuite/gcc.target/arm/neon/vshrQ_ns16.c 2010-08-20 13:27:11 +0000
13653@@ -16,5 +16,5 @@
13654 out_int16x8_t = vshrq_n_s16 (arg0_int16x8_t, 1);
13655 }
13656
13657-/* { dg-final { scan-assembler "vshr\.s16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
13658+/* { dg-final { scan-assembler "vshr\.s16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
13659 /* { dg-final { cleanup-saved-temps } } */
13660
13661=== modified file 'gcc/testsuite/gcc.target/arm/neon/vshrQ_ns32.c'
13662--- old/gcc/testsuite/gcc.target/arm/neon/vshrQ_ns32.c 2010-07-29 15:38:15 +0000
13663+++ new/gcc/testsuite/gcc.target/arm/neon/vshrQ_ns32.c 2010-08-20 13:27:11 +0000
13664@@ -16,5 +16,5 @@
13665 out_int32x4_t = vshrq_n_s32 (arg0_int32x4_t, 1);
13666 }
13667
13668-/* { dg-final { scan-assembler "vshr\.s32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
13669+/* { dg-final { scan-assembler "vshr\.s32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
13670 /* { dg-final { cleanup-saved-temps } } */
13671
13672=== modified file 'gcc/testsuite/gcc.target/arm/neon/vshrQ_ns64.c'
13673--- old/gcc/testsuite/gcc.target/arm/neon/vshrQ_ns64.c 2010-07-29 15:38:15 +0000
13674+++ new/gcc/testsuite/gcc.target/arm/neon/vshrQ_ns64.c 2010-08-20 13:27:11 +0000
13675@@ -16,5 +16,5 @@
13676 out_int64x2_t = vshrq_n_s64 (arg0_int64x2_t, 1);
13677 }
13678
13679-/* { dg-final { scan-assembler "vshr\.s64\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
13680+/* { dg-final { scan-assembler "vshr\.s64\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
13681 /* { dg-final { cleanup-saved-temps } } */
13682
13683=== modified file 'gcc/testsuite/gcc.target/arm/neon/vshrQ_ns8.c'
13684--- old/gcc/testsuite/gcc.target/arm/neon/vshrQ_ns8.c 2010-07-29 15:38:15 +0000
13685+++ new/gcc/testsuite/gcc.target/arm/neon/vshrQ_ns8.c 2010-08-20 13:27:11 +0000
13686@@ -16,5 +16,5 @@
13687 out_int8x16_t = vshrq_n_s8 (arg0_int8x16_t, 1);
13688 }
13689
13690-/* { dg-final { scan-assembler "vshr\.s8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
13691+/* { dg-final { scan-assembler "vshr\.s8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
13692 /* { dg-final { cleanup-saved-temps } } */
13693
13694=== modified file 'gcc/testsuite/gcc.target/arm/neon/vshrQ_nu16.c'
13695--- old/gcc/testsuite/gcc.target/arm/neon/vshrQ_nu16.c 2010-07-29 15:38:15 +0000
13696+++ new/gcc/testsuite/gcc.target/arm/neon/vshrQ_nu16.c 2010-08-20 13:27:11 +0000
13697@@ -16,5 +16,5 @@
13698 out_uint16x8_t = vshrq_n_u16 (arg0_uint16x8_t, 1);
13699 }
13700
13701-/* { dg-final { scan-assembler "vshr\.u16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
13702+/* { dg-final { scan-assembler "vshr\.u16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
13703 /* { dg-final { cleanup-saved-temps } } */
13704
13705=== modified file 'gcc/testsuite/gcc.target/arm/neon/vshrQ_nu32.c'
13706--- old/gcc/testsuite/gcc.target/arm/neon/vshrQ_nu32.c 2010-07-29 15:38:15 +0000
13707+++ new/gcc/testsuite/gcc.target/arm/neon/vshrQ_nu32.c 2010-08-20 13:27:11 +0000
13708@@ -16,5 +16,5 @@
13709 out_uint32x4_t = vshrq_n_u32 (arg0_uint32x4_t, 1);
13710 }
13711
13712-/* { dg-final { scan-assembler "vshr\.u32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
13713+/* { dg-final { scan-assembler "vshr\.u32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
13714 /* { dg-final { cleanup-saved-temps } } */
13715
13716=== modified file 'gcc/testsuite/gcc.target/arm/neon/vshrQ_nu64.c'
13717--- old/gcc/testsuite/gcc.target/arm/neon/vshrQ_nu64.c 2010-07-29 15:38:15 +0000
13718+++ new/gcc/testsuite/gcc.target/arm/neon/vshrQ_nu64.c 2010-08-20 13:27:11 +0000
13719@@ -16,5 +16,5 @@
13720 out_uint64x2_t = vshrq_n_u64 (arg0_uint64x2_t, 1);
13721 }
13722
13723-/* { dg-final { scan-assembler "vshr\.u64\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
13724+/* { dg-final { scan-assembler "vshr\.u64\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
13725 /* { dg-final { cleanup-saved-temps } } */
13726
13727=== modified file 'gcc/testsuite/gcc.target/arm/neon/vshrQ_nu8.c'
13728--- old/gcc/testsuite/gcc.target/arm/neon/vshrQ_nu8.c 2010-07-29 15:38:15 +0000
13729+++ new/gcc/testsuite/gcc.target/arm/neon/vshrQ_nu8.c 2010-08-20 13:27:11 +0000
13730@@ -16,5 +16,5 @@
13731 out_uint8x16_t = vshrq_n_u8 (arg0_uint8x16_t, 1);
13732 }
13733
13734-/* { dg-final { scan-assembler "vshr\.u8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
13735+/* { dg-final { scan-assembler "vshr\.u8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
13736 /* { dg-final { cleanup-saved-temps } } */
13737
13738=== modified file 'gcc/testsuite/gcc.target/arm/neon/vshr_ns16.c'
13739--- old/gcc/testsuite/gcc.target/arm/neon/vshr_ns16.c 2010-07-29 15:38:15 +0000
13740+++ new/gcc/testsuite/gcc.target/arm/neon/vshr_ns16.c 2010-08-20 13:27:11 +0000
13741@@ -16,5 +16,5 @@
13742 out_int16x4_t = vshr_n_s16 (arg0_int16x4_t, 1);
13743 }
13744
13745-/* { dg-final { scan-assembler "vshr\.s16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
13746+/* { dg-final { scan-assembler "vshr\.s16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
13747 /* { dg-final { cleanup-saved-temps } } */
13748
13749=== modified file 'gcc/testsuite/gcc.target/arm/neon/vshr_ns32.c'
13750--- old/gcc/testsuite/gcc.target/arm/neon/vshr_ns32.c 2010-07-29 15:38:15 +0000
13751+++ new/gcc/testsuite/gcc.target/arm/neon/vshr_ns32.c 2010-08-20 13:27:11 +0000
13752@@ -16,5 +16,5 @@
13753 out_int32x2_t = vshr_n_s32 (arg0_int32x2_t, 1);
13754 }
13755
13756-/* { dg-final { scan-assembler "vshr\.s32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
13757+/* { dg-final { scan-assembler "vshr\.s32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
13758 /* { dg-final { cleanup-saved-temps } } */
13759
13760=== modified file 'gcc/testsuite/gcc.target/arm/neon/vshr_ns64.c'
13761--- old/gcc/testsuite/gcc.target/arm/neon/vshr_ns64.c 2010-07-29 15:38:15 +0000
13762+++ new/gcc/testsuite/gcc.target/arm/neon/vshr_ns64.c 2010-08-20 13:27:11 +0000
13763@@ -16,5 +16,5 @@
13764 out_int64x1_t = vshr_n_s64 (arg0_int64x1_t, 1);
13765 }
13766
13767-/* { dg-final { scan-assembler "vshr\.s64\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
13768+/* { dg-final { scan-assembler "vshr\.s64\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
13769 /* { dg-final { cleanup-saved-temps } } */
13770
13771=== modified file 'gcc/testsuite/gcc.target/arm/neon/vshr_ns8.c'
13772--- old/gcc/testsuite/gcc.target/arm/neon/vshr_ns8.c 2010-07-29 15:38:15 +0000
13773+++ new/gcc/testsuite/gcc.target/arm/neon/vshr_ns8.c 2010-08-20 13:27:11 +0000
13774@@ -16,5 +16,5 @@
13775 out_int8x8_t = vshr_n_s8 (arg0_int8x8_t, 1);
13776 }
13777
13778-/* { dg-final { scan-assembler "vshr\.s8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
13779+/* { dg-final { scan-assembler "vshr\.s8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
13780 /* { dg-final { cleanup-saved-temps } } */
13781
13782=== modified file 'gcc/testsuite/gcc.target/arm/neon/vshr_nu16.c'
13783--- old/gcc/testsuite/gcc.target/arm/neon/vshr_nu16.c 2010-07-29 15:38:15 +0000
13784+++ new/gcc/testsuite/gcc.target/arm/neon/vshr_nu16.c 2010-08-20 13:27:11 +0000
13785@@ -16,5 +16,5 @@
13786 out_uint16x4_t = vshr_n_u16 (arg0_uint16x4_t, 1);
13787 }
13788
13789-/* { dg-final { scan-assembler "vshr\.u16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
13790+/* { dg-final { scan-assembler "vshr\.u16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
13791 /* { dg-final { cleanup-saved-temps } } */
13792
13793=== modified file 'gcc/testsuite/gcc.target/arm/neon/vshr_nu32.c'
13794--- old/gcc/testsuite/gcc.target/arm/neon/vshr_nu32.c 2010-07-29 15:38:15 +0000
13795+++ new/gcc/testsuite/gcc.target/arm/neon/vshr_nu32.c 2010-08-20 13:27:11 +0000
13796@@ -16,5 +16,5 @@
13797 out_uint32x2_t = vshr_n_u32 (arg0_uint32x2_t, 1);
13798 }
13799
13800-/* { dg-final { scan-assembler "vshr\.u32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
13801+/* { dg-final { scan-assembler "vshr\.u32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
13802 /* { dg-final { cleanup-saved-temps } } */
13803
13804=== modified file 'gcc/testsuite/gcc.target/arm/neon/vshr_nu64.c'
13805--- old/gcc/testsuite/gcc.target/arm/neon/vshr_nu64.c 2010-07-29 15:38:15 +0000
13806+++ new/gcc/testsuite/gcc.target/arm/neon/vshr_nu64.c 2010-08-20 13:27:11 +0000
13807@@ -16,5 +16,5 @@
13808 out_uint64x1_t = vshr_n_u64 (arg0_uint64x1_t, 1);
13809 }
13810
13811-/* { dg-final { scan-assembler "vshr\.u64\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
13812+/* { dg-final { scan-assembler "vshr\.u64\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
13813 /* { dg-final { cleanup-saved-temps } } */
13814
13815=== modified file 'gcc/testsuite/gcc.target/arm/neon/vshr_nu8.c'
13816--- old/gcc/testsuite/gcc.target/arm/neon/vshr_nu8.c 2010-07-29 15:38:15 +0000
13817+++ new/gcc/testsuite/gcc.target/arm/neon/vshr_nu8.c 2010-08-20 13:27:11 +0000
13818@@ -16,5 +16,5 @@
13819 out_uint8x8_t = vshr_n_u8 (arg0_uint8x8_t, 1);
13820 }
13821
13822-/* { dg-final { scan-assembler "vshr\.u8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
13823+/* { dg-final { scan-assembler "vshr\.u8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
13824 /* { dg-final { cleanup-saved-temps } } */
13825
13826=== modified file 'gcc/testsuite/gcc.target/arm/neon/vshrn_ns16.c'
13827--- old/gcc/testsuite/gcc.target/arm/neon/vshrn_ns16.c 2010-07-29 15:38:15 +0000
13828+++ new/gcc/testsuite/gcc.target/arm/neon/vshrn_ns16.c 2010-08-20 13:27:11 +0000
13829@@ -16,5 +16,5 @@
13830 out_int8x8_t = vshrn_n_s16 (arg0_int16x8_t, 1);
13831 }
13832
13833-/* { dg-final { scan-assembler "vshrn\.i16\[ \]+\[dD\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
13834+/* { dg-final { scan-assembler "vshrn\.i16\[ \]+\[dD\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
13835 /* { dg-final { cleanup-saved-temps } } */
13836
13837=== modified file 'gcc/testsuite/gcc.target/arm/neon/vshrn_ns32.c'
13838--- old/gcc/testsuite/gcc.target/arm/neon/vshrn_ns32.c 2010-07-29 15:38:15 +0000
13839+++ new/gcc/testsuite/gcc.target/arm/neon/vshrn_ns32.c 2010-08-20 13:27:11 +0000
13840@@ -16,5 +16,5 @@
13841 out_int16x4_t = vshrn_n_s32 (arg0_int32x4_t, 1);
13842 }
13843
13844-/* { dg-final { scan-assembler "vshrn\.i32\[ \]+\[dD\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
13845+/* { dg-final { scan-assembler "vshrn\.i32\[ \]+\[dD\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
13846 /* { dg-final { cleanup-saved-temps } } */
13847
13848=== modified file 'gcc/testsuite/gcc.target/arm/neon/vshrn_ns64.c'
13849--- old/gcc/testsuite/gcc.target/arm/neon/vshrn_ns64.c 2010-07-29 15:38:15 +0000
13850+++ new/gcc/testsuite/gcc.target/arm/neon/vshrn_ns64.c 2010-08-20 13:27:11 +0000
13851@@ -16,5 +16,5 @@
13852 out_int32x2_t = vshrn_n_s64 (arg0_int64x2_t, 1);
13853 }
13854
13855-/* { dg-final { scan-assembler "vshrn\.i64\[ \]+\[dD\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
13856+/* { dg-final { scan-assembler "vshrn\.i64\[ \]+\[dD\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
13857 /* { dg-final { cleanup-saved-temps } } */
13858
13859=== modified file 'gcc/testsuite/gcc.target/arm/neon/vshrn_nu16.c'
13860--- old/gcc/testsuite/gcc.target/arm/neon/vshrn_nu16.c 2010-07-29 15:38:15 +0000
13861+++ new/gcc/testsuite/gcc.target/arm/neon/vshrn_nu16.c 2010-08-20 13:27:11 +0000
13862@@ -16,5 +16,5 @@
13863 out_uint8x8_t = vshrn_n_u16 (arg0_uint16x8_t, 1);
13864 }
13865
13866-/* { dg-final { scan-assembler "vshrn\.i16\[ \]+\[dD\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
13867+/* { dg-final { scan-assembler "vshrn\.i16\[ \]+\[dD\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
13868 /* { dg-final { cleanup-saved-temps } } */
13869
13870=== modified file 'gcc/testsuite/gcc.target/arm/neon/vshrn_nu32.c'
13871--- old/gcc/testsuite/gcc.target/arm/neon/vshrn_nu32.c 2010-07-29 15:38:15 +0000
13872+++ new/gcc/testsuite/gcc.target/arm/neon/vshrn_nu32.c 2010-08-20 13:27:11 +0000
13873@@ -16,5 +16,5 @@
13874 out_uint16x4_t = vshrn_n_u32 (arg0_uint32x4_t, 1);
13875 }
13876
13877-/* { dg-final { scan-assembler "vshrn\.i32\[ \]+\[dD\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
13878+/* { dg-final { scan-assembler "vshrn\.i32\[ \]+\[dD\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
13879 /* { dg-final { cleanup-saved-temps } } */
13880
13881=== modified file 'gcc/testsuite/gcc.target/arm/neon/vshrn_nu64.c'
13882--- old/gcc/testsuite/gcc.target/arm/neon/vshrn_nu64.c 2010-07-29 15:38:15 +0000
13883+++ new/gcc/testsuite/gcc.target/arm/neon/vshrn_nu64.c 2010-08-20 13:27:11 +0000
13884@@ -16,5 +16,5 @@
13885 out_uint32x2_t = vshrn_n_u64 (arg0_uint64x2_t, 1);
13886 }
13887
13888-/* { dg-final { scan-assembler "vshrn\.i64\[ \]+\[dD\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
13889+/* { dg-final { scan-assembler "vshrn\.i64\[ \]+\[dD\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
13890 /* { dg-final { cleanup-saved-temps } } */
13891
13892=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsliQ_np16.c'
13893--- old/gcc/testsuite/gcc.target/arm/neon/vsliQ_np16.c 2010-07-29 15:38:15 +0000
13894+++ new/gcc/testsuite/gcc.target/arm/neon/vsliQ_np16.c 2010-08-20 13:27:11 +0000
13895@@ -17,5 +17,5 @@
13896 out_poly16x8_t = vsliq_n_p16 (arg0_poly16x8_t, arg1_poly16x8_t, 1);
13897 }
13898
13899-/* { dg-final { scan-assembler "vsli\.16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
13900+/* { dg-final { scan-assembler "vsli\.16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
13901 /* { dg-final { cleanup-saved-temps } } */
13902
13903=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsliQ_np8.c'
13904--- old/gcc/testsuite/gcc.target/arm/neon/vsliQ_np8.c 2010-07-29 15:38:15 +0000
13905+++ new/gcc/testsuite/gcc.target/arm/neon/vsliQ_np8.c 2010-08-20 13:27:11 +0000
13906@@ -17,5 +17,5 @@
13907 out_poly8x16_t = vsliq_n_p8 (arg0_poly8x16_t, arg1_poly8x16_t, 1);
13908 }
13909
13910-/* { dg-final { scan-assembler "vsli\.8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
13911+/* { dg-final { scan-assembler "vsli\.8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
13912 /* { dg-final { cleanup-saved-temps } } */
13913
13914=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsliQ_ns16.c'
13915--- old/gcc/testsuite/gcc.target/arm/neon/vsliQ_ns16.c 2010-07-29 15:38:15 +0000
13916+++ new/gcc/testsuite/gcc.target/arm/neon/vsliQ_ns16.c 2010-08-20 13:27:11 +0000
13917@@ -17,5 +17,5 @@
13918 out_int16x8_t = vsliq_n_s16 (arg0_int16x8_t, arg1_int16x8_t, 1);
13919 }
13920
13921-/* { dg-final { scan-assembler "vsli\.16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
13922+/* { dg-final { scan-assembler "vsli\.16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
13923 /* { dg-final { cleanup-saved-temps } } */
13924
13925=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsliQ_ns32.c'
13926--- old/gcc/testsuite/gcc.target/arm/neon/vsliQ_ns32.c 2010-07-29 15:38:15 +0000
13927+++ new/gcc/testsuite/gcc.target/arm/neon/vsliQ_ns32.c 2010-08-20 13:27:11 +0000
13928@@ -17,5 +17,5 @@
13929 out_int32x4_t = vsliq_n_s32 (arg0_int32x4_t, arg1_int32x4_t, 1);
13930 }
13931
13932-/* { dg-final { scan-assembler "vsli\.32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
13933+/* { dg-final { scan-assembler "vsli\.32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
13934 /* { dg-final { cleanup-saved-temps } } */
13935
13936=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsliQ_ns64.c'
13937--- old/gcc/testsuite/gcc.target/arm/neon/vsliQ_ns64.c 2010-07-29 15:38:15 +0000
13938+++ new/gcc/testsuite/gcc.target/arm/neon/vsliQ_ns64.c 2010-08-20 13:27:11 +0000
13939@@ -17,5 +17,5 @@
13940 out_int64x2_t = vsliq_n_s64 (arg0_int64x2_t, arg1_int64x2_t, 1);
13941 }
13942
13943-/* { dg-final { scan-assembler "vsli\.64\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
13944+/* { dg-final { scan-assembler "vsli\.64\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
13945 /* { dg-final { cleanup-saved-temps } } */
13946
13947=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsliQ_ns8.c'
13948--- old/gcc/testsuite/gcc.target/arm/neon/vsliQ_ns8.c 2010-07-29 15:38:15 +0000
13949+++ new/gcc/testsuite/gcc.target/arm/neon/vsliQ_ns8.c 2010-08-20 13:27:11 +0000
13950@@ -17,5 +17,5 @@
13951 out_int8x16_t = vsliq_n_s8 (arg0_int8x16_t, arg1_int8x16_t, 1);
13952 }
13953
13954-/* { dg-final { scan-assembler "vsli\.8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
13955+/* { dg-final { scan-assembler "vsli\.8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
13956 /* { dg-final { cleanup-saved-temps } } */
13957
13958=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsliQ_nu16.c'
13959--- old/gcc/testsuite/gcc.target/arm/neon/vsliQ_nu16.c 2010-07-29 15:38:15 +0000
13960+++ new/gcc/testsuite/gcc.target/arm/neon/vsliQ_nu16.c 2010-08-20 13:27:11 +0000
13961@@ -17,5 +17,5 @@
13962 out_uint16x8_t = vsliq_n_u16 (arg0_uint16x8_t, arg1_uint16x8_t, 1);
13963 }
13964
13965-/* { dg-final { scan-assembler "vsli\.16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
13966+/* { dg-final { scan-assembler "vsli\.16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
13967 /* { dg-final { cleanup-saved-temps } } */
13968
13969=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsliQ_nu32.c'
13970--- old/gcc/testsuite/gcc.target/arm/neon/vsliQ_nu32.c 2010-07-29 15:38:15 +0000
13971+++ new/gcc/testsuite/gcc.target/arm/neon/vsliQ_nu32.c 2010-08-20 13:27:11 +0000
13972@@ -17,5 +17,5 @@
13973 out_uint32x4_t = vsliq_n_u32 (arg0_uint32x4_t, arg1_uint32x4_t, 1);
13974 }
13975
13976-/* { dg-final { scan-assembler "vsli\.32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
13977+/* { dg-final { scan-assembler "vsli\.32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
13978 /* { dg-final { cleanup-saved-temps } } */
13979
13980=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsliQ_nu64.c'
13981--- old/gcc/testsuite/gcc.target/arm/neon/vsliQ_nu64.c 2010-07-29 15:38:15 +0000
13982+++ new/gcc/testsuite/gcc.target/arm/neon/vsliQ_nu64.c 2010-08-20 13:27:11 +0000
13983@@ -17,5 +17,5 @@
13984 out_uint64x2_t = vsliq_n_u64 (arg0_uint64x2_t, arg1_uint64x2_t, 1);
13985 }
13986
13987-/* { dg-final { scan-assembler "vsli\.64\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
13988+/* { dg-final { scan-assembler "vsli\.64\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
13989 /* { dg-final { cleanup-saved-temps } } */
13990
13991=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsliQ_nu8.c'
13992--- old/gcc/testsuite/gcc.target/arm/neon/vsliQ_nu8.c 2010-07-29 15:38:15 +0000
13993+++ new/gcc/testsuite/gcc.target/arm/neon/vsliQ_nu8.c 2010-08-20 13:27:11 +0000
13994@@ -17,5 +17,5 @@
13995 out_uint8x16_t = vsliq_n_u8 (arg0_uint8x16_t, arg1_uint8x16_t, 1);
13996 }
13997
13998-/* { dg-final { scan-assembler "vsli\.8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
13999+/* { dg-final { scan-assembler "vsli\.8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
14000 /* { dg-final { cleanup-saved-temps } } */
14001
14002=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsli_np16.c'
14003--- old/gcc/testsuite/gcc.target/arm/neon/vsli_np16.c 2010-07-29 15:38:15 +0000
14004+++ new/gcc/testsuite/gcc.target/arm/neon/vsli_np16.c 2010-08-20 13:27:11 +0000
14005@@ -17,5 +17,5 @@
14006 out_poly16x4_t = vsli_n_p16 (arg0_poly16x4_t, arg1_poly16x4_t, 1);
14007 }
14008
14009-/* { dg-final { scan-assembler "vsli\.16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
14010+/* { dg-final { scan-assembler "vsli\.16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
14011 /* { dg-final { cleanup-saved-temps } } */
14012
14013=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsli_np8.c'
14014--- old/gcc/testsuite/gcc.target/arm/neon/vsli_np8.c 2010-07-29 15:38:15 +0000
14015+++ new/gcc/testsuite/gcc.target/arm/neon/vsli_np8.c 2010-08-20 13:27:11 +0000
14016@@ -17,5 +17,5 @@
14017 out_poly8x8_t = vsli_n_p8 (arg0_poly8x8_t, arg1_poly8x8_t, 1);
14018 }
14019
14020-/* { dg-final { scan-assembler "vsli\.8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
14021+/* { dg-final { scan-assembler "vsli\.8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
14022 /* { dg-final { cleanup-saved-temps } } */
14023
14024=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsli_ns16.c'
14025--- old/gcc/testsuite/gcc.target/arm/neon/vsli_ns16.c 2010-07-29 15:38:15 +0000
14026+++ new/gcc/testsuite/gcc.target/arm/neon/vsli_ns16.c 2010-08-20 13:27:11 +0000
14027@@ -17,5 +17,5 @@
14028 out_int16x4_t = vsli_n_s16 (arg0_int16x4_t, arg1_int16x4_t, 1);
14029 }
14030
14031-/* { dg-final { scan-assembler "vsli\.16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
14032+/* { dg-final { scan-assembler "vsli\.16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
14033 /* { dg-final { cleanup-saved-temps } } */
14034
14035=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsli_ns32.c'
14036--- old/gcc/testsuite/gcc.target/arm/neon/vsli_ns32.c 2010-07-29 15:38:15 +0000
14037+++ new/gcc/testsuite/gcc.target/arm/neon/vsli_ns32.c 2010-08-20 13:27:11 +0000
14038@@ -17,5 +17,5 @@
14039 out_int32x2_t = vsli_n_s32 (arg0_int32x2_t, arg1_int32x2_t, 1);
14040 }
14041
14042-/* { dg-final { scan-assembler "vsli\.32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
14043+/* { dg-final { scan-assembler "vsli\.32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
14044 /* { dg-final { cleanup-saved-temps } } */
14045
14046=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsli_ns64.c'
14047--- old/gcc/testsuite/gcc.target/arm/neon/vsli_ns64.c 2010-07-29 15:38:15 +0000
14048+++ new/gcc/testsuite/gcc.target/arm/neon/vsli_ns64.c 2010-08-20 13:27:11 +0000
14049@@ -17,5 +17,5 @@
14050 out_int64x1_t = vsli_n_s64 (arg0_int64x1_t, arg1_int64x1_t, 1);
14051 }
14052
14053-/* { dg-final { scan-assembler "vsli\.64\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
14054+/* { dg-final { scan-assembler "vsli\.64\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
14055 /* { dg-final { cleanup-saved-temps } } */
14056
14057=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsli_ns8.c'
14058--- old/gcc/testsuite/gcc.target/arm/neon/vsli_ns8.c 2010-07-29 15:38:15 +0000
14059+++ new/gcc/testsuite/gcc.target/arm/neon/vsli_ns8.c 2010-08-20 13:27:11 +0000
14060@@ -17,5 +17,5 @@
14061 out_int8x8_t = vsli_n_s8 (arg0_int8x8_t, arg1_int8x8_t, 1);
14062 }
14063
14064-/* { dg-final { scan-assembler "vsli\.8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
14065+/* { dg-final { scan-assembler "vsli\.8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
14066 /* { dg-final { cleanup-saved-temps } } */
14067
14068=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsli_nu16.c'
14069--- old/gcc/testsuite/gcc.target/arm/neon/vsli_nu16.c 2010-07-29 15:38:15 +0000
14070+++ new/gcc/testsuite/gcc.target/arm/neon/vsli_nu16.c 2010-08-20 13:27:11 +0000
14071@@ -17,5 +17,5 @@
14072 out_uint16x4_t = vsli_n_u16 (arg0_uint16x4_t, arg1_uint16x4_t, 1);
14073 }
14074
14075-/* { dg-final { scan-assembler "vsli\.16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
14076+/* { dg-final { scan-assembler "vsli\.16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
14077 /* { dg-final { cleanup-saved-temps } } */
14078
14079=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsli_nu32.c'
14080--- old/gcc/testsuite/gcc.target/arm/neon/vsli_nu32.c 2010-07-29 15:38:15 +0000
14081+++ new/gcc/testsuite/gcc.target/arm/neon/vsli_nu32.c 2010-08-20 13:27:11 +0000
14082@@ -17,5 +17,5 @@
14083 out_uint32x2_t = vsli_n_u32 (arg0_uint32x2_t, arg1_uint32x2_t, 1);
14084 }
14085
14086-/* { dg-final { scan-assembler "vsli\.32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
14087+/* { dg-final { scan-assembler "vsli\.32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
14088 /* { dg-final { cleanup-saved-temps } } */
14089
14090=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsli_nu64.c'
14091--- old/gcc/testsuite/gcc.target/arm/neon/vsli_nu64.c 2010-07-29 15:38:15 +0000
14092+++ new/gcc/testsuite/gcc.target/arm/neon/vsli_nu64.c 2010-08-20 13:27:11 +0000
14093@@ -17,5 +17,5 @@
14094 out_uint64x1_t = vsli_n_u64 (arg0_uint64x1_t, arg1_uint64x1_t, 1);
14095 }
14096
14097-/* { dg-final { scan-assembler "vsli\.64\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
14098+/* { dg-final { scan-assembler "vsli\.64\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
14099 /* { dg-final { cleanup-saved-temps } } */
14100
14101=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsli_nu8.c'
14102--- old/gcc/testsuite/gcc.target/arm/neon/vsli_nu8.c 2010-07-29 15:38:15 +0000
14103+++ new/gcc/testsuite/gcc.target/arm/neon/vsli_nu8.c 2010-08-20 13:27:11 +0000
14104@@ -17,5 +17,5 @@
14105 out_uint8x8_t = vsli_n_u8 (arg0_uint8x8_t, arg1_uint8x8_t, 1);
14106 }
14107
14108-/* { dg-final { scan-assembler "vsli\.8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
14109+/* { dg-final { scan-assembler "vsli\.8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
14110 /* { dg-final { cleanup-saved-temps } } */
14111
14112=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsraQ_ns16.c'
14113--- old/gcc/testsuite/gcc.target/arm/neon/vsraQ_ns16.c 2010-07-29 15:38:15 +0000
14114+++ new/gcc/testsuite/gcc.target/arm/neon/vsraQ_ns16.c 2010-08-20 13:27:11 +0000
14115@@ -17,5 +17,5 @@
14116 out_int16x8_t = vsraq_n_s16 (arg0_int16x8_t, arg1_int16x8_t, 1);
14117 }
14118
14119-/* { dg-final { scan-assembler "vsra\.s16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
14120+/* { dg-final { scan-assembler "vsra\.s16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
14121 /* { dg-final { cleanup-saved-temps } } */
14122
14123=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsraQ_ns32.c'
14124--- old/gcc/testsuite/gcc.target/arm/neon/vsraQ_ns32.c 2010-07-29 15:38:15 +0000
14125+++ new/gcc/testsuite/gcc.target/arm/neon/vsraQ_ns32.c 2010-08-20 13:27:11 +0000
14126@@ -17,5 +17,5 @@
14127 out_int32x4_t = vsraq_n_s32 (arg0_int32x4_t, arg1_int32x4_t, 1);
14128 }
14129
14130-/* { dg-final { scan-assembler "vsra\.s32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
14131+/* { dg-final { scan-assembler "vsra\.s32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
14132 /* { dg-final { cleanup-saved-temps } } */
14133
14134=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsraQ_ns64.c'
14135--- old/gcc/testsuite/gcc.target/arm/neon/vsraQ_ns64.c 2010-07-29 15:38:15 +0000
14136+++ new/gcc/testsuite/gcc.target/arm/neon/vsraQ_ns64.c 2010-08-20 13:27:11 +0000
14137@@ -17,5 +17,5 @@
14138 out_int64x2_t = vsraq_n_s64 (arg0_int64x2_t, arg1_int64x2_t, 1);
14139 }
14140
14141-/* { dg-final { scan-assembler "vsra\.s64\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
14142+/* { dg-final { scan-assembler "vsra\.s64\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
14143 /* { dg-final { cleanup-saved-temps } } */
14144
14145=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsraQ_ns8.c'
14146--- old/gcc/testsuite/gcc.target/arm/neon/vsraQ_ns8.c 2010-07-29 15:38:15 +0000
14147+++ new/gcc/testsuite/gcc.target/arm/neon/vsraQ_ns8.c 2010-08-20 13:27:11 +0000
14148@@ -17,5 +17,5 @@
14149 out_int8x16_t = vsraq_n_s8 (arg0_int8x16_t, arg1_int8x16_t, 1);
14150 }
14151
14152-/* { dg-final { scan-assembler "vsra\.s8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
14153+/* { dg-final { scan-assembler "vsra\.s8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
14154 /* { dg-final { cleanup-saved-temps } } */
14155
14156=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsraQ_nu16.c'
14157--- old/gcc/testsuite/gcc.target/arm/neon/vsraQ_nu16.c 2010-07-29 15:38:15 +0000
14158+++ new/gcc/testsuite/gcc.target/arm/neon/vsraQ_nu16.c 2010-08-20 13:27:11 +0000
14159@@ -17,5 +17,5 @@
14160 out_uint16x8_t = vsraq_n_u16 (arg0_uint16x8_t, arg1_uint16x8_t, 1);
14161 }
14162
14163-/* { dg-final { scan-assembler "vsra\.u16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
14164+/* { dg-final { scan-assembler "vsra\.u16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
14165 /* { dg-final { cleanup-saved-temps } } */
14166
14167=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsraQ_nu32.c'
14168--- old/gcc/testsuite/gcc.target/arm/neon/vsraQ_nu32.c 2010-07-29 15:38:15 +0000
14169+++ new/gcc/testsuite/gcc.target/arm/neon/vsraQ_nu32.c 2010-08-20 13:27:11 +0000
14170@@ -17,5 +17,5 @@
14171 out_uint32x4_t = vsraq_n_u32 (arg0_uint32x4_t, arg1_uint32x4_t, 1);
14172 }
14173
14174-/* { dg-final { scan-assembler "vsra\.u32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
14175+/* { dg-final { scan-assembler "vsra\.u32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
14176 /* { dg-final { cleanup-saved-temps } } */
14177
14178=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsraQ_nu64.c'
14179--- old/gcc/testsuite/gcc.target/arm/neon/vsraQ_nu64.c 2010-07-29 15:38:15 +0000
14180+++ new/gcc/testsuite/gcc.target/arm/neon/vsraQ_nu64.c 2010-08-20 13:27:11 +0000
14181@@ -17,5 +17,5 @@
14182 out_uint64x2_t = vsraq_n_u64 (arg0_uint64x2_t, arg1_uint64x2_t, 1);
14183 }
14184
14185-/* { dg-final { scan-assembler "vsra\.u64\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
14186+/* { dg-final { scan-assembler "vsra\.u64\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
14187 /* { dg-final { cleanup-saved-temps } } */
14188
14189=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsraQ_nu8.c'
14190--- old/gcc/testsuite/gcc.target/arm/neon/vsraQ_nu8.c 2010-07-29 15:38:15 +0000
14191+++ new/gcc/testsuite/gcc.target/arm/neon/vsraQ_nu8.c 2010-08-20 13:27:11 +0000
14192@@ -17,5 +17,5 @@
14193 out_uint8x16_t = vsraq_n_u8 (arg0_uint8x16_t, arg1_uint8x16_t, 1);
14194 }
14195
14196-/* { dg-final { scan-assembler "vsra\.u8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
14197+/* { dg-final { scan-assembler "vsra\.u8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
14198 /* { dg-final { cleanup-saved-temps } } */
14199
14200=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsra_ns16.c'
14201--- old/gcc/testsuite/gcc.target/arm/neon/vsra_ns16.c 2010-07-29 15:38:15 +0000
14202+++ new/gcc/testsuite/gcc.target/arm/neon/vsra_ns16.c 2010-08-20 13:27:11 +0000
14203@@ -17,5 +17,5 @@
14204 out_int16x4_t = vsra_n_s16 (arg0_int16x4_t, arg1_int16x4_t, 1);
14205 }
14206
14207-/* { dg-final { scan-assembler "vsra\.s16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
14208+/* { dg-final { scan-assembler "vsra\.s16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
14209 /* { dg-final { cleanup-saved-temps } } */
14210
14211=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsra_ns32.c'
14212--- old/gcc/testsuite/gcc.target/arm/neon/vsra_ns32.c 2010-07-29 15:38:15 +0000
14213+++ new/gcc/testsuite/gcc.target/arm/neon/vsra_ns32.c 2010-08-20 13:27:11 +0000
14214@@ -17,5 +17,5 @@
14215 out_int32x2_t = vsra_n_s32 (arg0_int32x2_t, arg1_int32x2_t, 1);
14216 }
14217
14218-/* { dg-final { scan-assembler "vsra\.s32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
14219+/* { dg-final { scan-assembler "vsra\.s32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
14220 /* { dg-final { cleanup-saved-temps } } */
14221
14222=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsra_ns64.c'
14223--- old/gcc/testsuite/gcc.target/arm/neon/vsra_ns64.c 2010-07-29 15:38:15 +0000
14224+++ new/gcc/testsuite/gcc.target/arm/neon/vsra_ns64.c 2010-08-20 13:27:11 +0000
14225@@ -17,5 +17,5 @@
14226 out_int64x1_t = vsra_n_s64 (arg0_int64x1_t, arg1_int64x1_t, 1);
14227 }
14228
14229-/* { dg-final { scan-assembler "vsra\.s64\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
14230+/* { dg-final { scan-assembler "vsra\.s64\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
14231 /* { dg-final { cleanup-saved-temps } } */
14232
14233=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsra_ns8.c'
14234--- old/gcc/testsuite/gcc.target/arm/neon/vsra_ns8.c 2010-07-29 15:38:15 +0000
14235+++ new/gcc/testsuite/gcc.target/arm/neon/vsra_ns8.c 2010-08-20 13:27:11 +0000
14236@@ -17,5 +17,5 @@
14237 out_int8x8_t = vsra_n_s8 (arg0_int8x8_t, arg1_int8x8_t, 1);
14238 }
14239
14240-/* { dg-final { scan-assembler "vsra\.s8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
14241+/* { dg-final { scan-assembler "vsra\.s8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
14242 /* { dg-final { cleanup-saved-temps } } */
14243
14244=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsra_nu16.c'
14245--- old/gcc/testsuite/gcc.target/arm/neon/vsra_nu16.c 2010-07-29 15:38:15 +0000
14246+++ new/gcc/testsuite/gcc.target/arm/neon/vsra_nu16.c 2010-08-20 13:27:11 +0000
14247@@ -17,5 +17,5 @@
14248 out_uint16x4_t = vsra_n_u16 (arg0_uint16x4_t, arg1_uint16x4_t, 1);
14249 }
14250
14251-/* { dg-final { scan-assembler "vsra\.u16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
14252+/* { dg-final { scan-assembler "vsra\.u16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
14253 /* { dg-final { cleanup-saved-temps } } */
14254
14255=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsra_nu32.c'
14256--- old/gcc/testsuite/gcc.target/arm/neon/vsra_nu32.c 2010-07-29 15:38:15 +0000
14257+++ new/gcc/testsuite/gcc.target/arm/neon/vsra_nu32.c 2010-08-20 13:27:11 +0000
14258@@ -17,5 +17,5 @@
14259 out_uint32x2_t = vsra_n_u32 (arg0_uint32x2_t, arg1_uint32x2_t, 1);
14260 }
14261
14262-/* { dg-final { scan-assembler "vsra\.u32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
14263+/* { dg-final { scan-assembler "vsra\.u32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
14264 /* { dg-final { cleanup-saved-temps } } */
14265
14266=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsra_nu64.c'
14267--- old/gcc/testsuite/gcc.target/arm/neon/vsra_nu64.c 2010-07-29 15:38:15 +0000
14268+++ new/gcc/testsuite/gcc.target/arm/neon/vsra_nu64.c 2010-08-20 13:27:11 +0000
14269@@ -17,5 +17,5 @@
14270 out_uint64x1_t = vsra_n_u64 (arg0_uint64x1_t, arg1_uint64x1_t, 1);
14271 }
14272
14273-/* { dg-final { scan-assembler "vsra\.u64\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
14274+/* { dg-final { scan-assembler "vsra\.u64\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
14275 /* { dg-final { cleanup-saved-temps } } */
14276
14277=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsra_nu8.c'
14278--- old/gcc/testsuite/gcc.target/arm/neon/vsra_nu8.c 2010-07-29 15:38:15 +0000
14279+++ new/gcc/testsuite/gcc.target/arm/neon/vsra_nu8.c 2010-08-20 13:27:11 +0000
14280@@ -17,5 +17,5 @@
14281 out_uint8x8_t = vsra_n_u8 (arg0_uint8x8_t, arg1_uint8x8_t, 1);
14282 }
14283
14284-/* { dg-final { scan-assembler "vsra\.u8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
14285+/* { dg-final { scan-assembler "vsra\.u8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
14286 /* { dg-final { cleanup-saved-temps } } */
14287
14288=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsriQ_np16.c'
14289--- old/gcc/testsuite/gcc.target/arm/neon/vsriQ_np16.c 2010-07-29 15:38:15 +0000
14290+++ new/gcc/testsuite/gcc.target/arm/neon/vsriQ_np16.c 2010-08-20 13:27:11 +0000
14291@@ -17,5 +17,5 @@
14292 out_poly16x8_t = vsriq_n_p16 (arg0_poly16x8_t, arg1_poly16x8_t, 1);
14293 }
14294
14295-/* { dg-final { scan-assembler "vsri\.16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
14296+/* { dg-final { scan-assembler "vsri\.16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
14297 /* { dg-final { cleanup-saved-temps } } */
14298
14299=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsriQ_np8.c'
14300--- old/gcc/testsuite/gcc.target/arm/neon/vsriQ_np8.c 2010-07-29 15:38:15 +0000
14301+++ new/gcc/testsuite/gcc.target/arm/neon/vsriQ_np8.c 2010-08-20 13:27:11 +0000
14302@@ -17,5 +17,5 @@
14303 out_poly8x16_t = vsriq_n_p8 (arg0_poly8x16_t, arg1_poly8x16_t, 1);
14304 }
14305
14306-/* { dg-final { scan-assembler "vsri\.8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
14307+/* { dg-final { scan-assembler "vsri\.8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
14308 /* { dg-final { cleanup-saved-temps } } */
14309
14310=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsriQ_ns16.c'
14311--- old/gcc/testsuite/gcc.target/arm/neon/vsriQ_ns16.c 2010-07-29 15:38:15 +0000
14312+++ new/gcc/testsuite/gcc.target/arm/neon/vsriQ_ns16.c 2010-08-20 13:27:11 +0000
14313@@ -17,5 +17,5 @@
14314 out_int16x8_t = vsriq_n_s16 (arg0_int16x8_t, arg1_int16x8_t, 1);
14315 }
14316
14317-/* { dg-final { scan-assembler "vsri\.16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
14318+/* { dg-final { scan-assembler "vsri\.16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
14319 /* { dg-final { cleanup-saved-temps } } */
14320
14321=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsriQ_ns32.c'
14322--- old/gcc/testsuite/gcc.target/arm/neon/vsriQ_ns32.c 2010-07-29 15:38:15 +0000
14323+++ new/gcc/testsuite/gcc.target/arm/neon/vsriQ_ns32.c 2010-08-20 13:27:11 +0000
14324@@ -17,5 +17,5 @@
14325 out_int32x4_t = vsriq_n_s32 (arg0_int32x4_t, arg1_int32x4_t, 1);
14326 }
14327
14328-/* { dg-final { scan-assembler "vsri\.32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
14329+/* { dg-final { scan-assembler "vsri\.32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
14330 /* { dg-final { cleanup-saved-temps } } */
14331
14332=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsriQ_ns64.c'
14333--- old/gcc/testsuite/gcc.target/arm/neon/vsriQ_ns64.c 2010-07-29 15:38:15 +0000
14334+++ new/gcc/testsuite/gcc.target/arm/neon/vsriQ_ns64.c 2010-08-20 13:27:11 +0000
14335@@ -17,5 +17,5 @@
14336 out_int64x2_t = vsriq_n_s64 (arg0_int64x2_t, arg1_int64x2_t, 1);
14337 }
14338
14339-/* { dg-final { scan-assembler "vsri\.64\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
14340+/* { dg-final { scan-assembler "vsri\.64\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
14341 /* { dg-final { cleanup-saved-temps } } */
14342
14343=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsriQ_ns8.c'
14344--- old/gcc/testsuite/gcc.target/arm/neon/vsriQ_ns8.c 2010-07-29 15:38:15 +0000
14345+++ new/gcc/testsuite/gcc.target/arm/neon/vsriQ_ns8.c 2010-08-20 13:27:11 +0000
14346@@ -17,5 +17,5 @@
14347 out_int8x16_t = vsriq_n_s8 (arg0_int8x16_t, arg1_int8x16_t, 1);
14348 }
14349
14350-/* { dg-final { scan-assembler "vsri\.8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
14351+/* { dg-final { scan-assembler "vsri\.8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
14352 /* { dg-final { cleanup-saved-temps } } */
14353
14354=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsriQ_nu16.c'
14355--- old/gcc/testsuite/gcc.target/arm/neon/vsriQ_nu16.c 2010-07-29 15:38:15 +0000
14356+++ new/gcc/testsuite/gcc.target/arm/neon/vsriQ_nu16.c 2010-08-20 13:27:11 +0000
14357@@ -17,5 +17,5 @@
14358 out_uint16x8_t = vsriq_n_u16 (arg0_uint16x8_t, arg1_uint16x8_t, 1);
14359 }
14360
14361-/* { dg-final { scan-assembler "vsri\.16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
14362+/* { dg-final { scan-assembler "vsri\.16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
14363 /* { dg-final { cleanup-saved-temps } } */
14364
14365=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsriQ_nu32.c'
14366--- old/gcc/testsuite/gcc.target/arm/neon/vsriQ_nu32.c 2010-07-29 15:38:15 +0000
14367+++ new/gcc/testsuite/gcc.target/arm/neon/vsriQ_nu32.c 2010-08-20 13:27:11 +0000
14368@@ -17,5 +17,5 @@
14369 out_uint32x4_t = vsriq_n_u32 (arg0_uint32x4_t, arg1_uint32x4_t, 1);
14370 }
14371
14372-/* { dg-final { scan-assembler "vsri\.32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
14373+/* { dg-final { scan-assembler "vsri\.32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
14374 /* { dg-final { cleanup-saved-temps } } */
14375
14376=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsriQ_nu64.c'
14377--- old/gcc/testsuite/gcc.target/arm/neon/vsriQ_nu64.c 2010-07-29 15:38:15 +0000
14378+++ new/gcc/testsuite/gcc.target/arm/neon/vsriQ_nu64.c 2010-08-20 13:27:11 +0000
14379@@ -17,5 +17,5 @@
14380 out_uint64x2_t = vsriq_n_u64 (arg0_uint64x2_t, arg1_uint64x2_t, 1);
14381 }
14382
14383-/* { dg-final { scan-assembler "vsri\.64\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
14384+/* { dg-final { scan-assembler "vsri\.64\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
14385 /* { dg-final { cleanup-saved-temps } } */
14386
14387=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsriQ_nu8.c'
14388--- old/gcc/testsuite/gcc.target/arm/neon/vsriQ_nu8.c 2010-07-29 15:38:15 +0000
14389+++ new/gcc/testsuite/gcc.target/arm/neon/vsriQ_nu8.c 2010-08-20 13:27:11 +0000
14390@@ -17,5 +17,5 @@
14391 out_uint8x16_t = vsriq_n_u8 (arg0_uint8x16_t, arg1_uint8x16_t, 1);
14392 }
14393
14394-/* { dg-final { scan-assembler "vsri\.8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
14395+/* { dg-final { scan-assembler "vsri\.8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
14396 /* { dg-final { cleanup-saved-temps } } */
14397
14398=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsri_np16.c'
14399--- old/gcc/testsuite/gcc.target/arm/neon/vsri_np16.c 2010-07-29 15:38:15 +0000
14400+++ new/gcc/testsuite/gcc.target/arm/neon/vsri_np16.c 2010-08-20 13:27:11 +0000
14401@@ -17,5 +17,5 @@
14402 out_poly16x4_t = vsri_n_p16 (arg0_poly16x4_t, arg1_poly16x4_t, 1);
14403 }
14404
14405-/* { dg-final { scan-assembler "vsri\.16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
14406+/* { dg-final { scan-assembler "vsri\.16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
14407 /* { dg-final { cleanup-saved-temps } } */
14408
14409=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsri_np8.c'
14410--- old/gcc/testsuite/gcc.target/arm/neon/vsri_np8.c 2010-07-29 15:38:15 +0000
14411+++ new/gcc/testsuite/gcc.target/arm/neon/vsri_np8.c 2010-08-20 13:27:11 +0000
14412@@ -17,5 +17,5 @@
14413 out_poly8x8_t = vsri_n_p8 (arg0_poly8x8_t, arg1_poly8x8_t, 1);
14414 }
14415
14416-/* { dg-final { scan-assembler "vsri\.8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
14417+/* { dg-final { scan-assembler "vsri\.8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
14418 /* { dg-final { cleanup-saved-temps } } */
14419
14420=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsri_ns16.c'
14421--- old/gcc/testsuite/gcc.target/arm/neon/vsri_ns16.c 2010-07-29 15:38:15 +0000
14422+++ new/gcc/testsuite/gcc.target/arm/neon/vsri_ns16.c 2010-08-20 13:27:11 +0000
14423@@ -17,5 +17,5 @@
14424 out_int16x4_t = vsri_n_s16 (arg0_int16x4_t, arg1_int16x4_t, 1);
14425 }
14426
14427-/* { dg-final { scan-assembler "vsri\.16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
14428+/* { dg-final { scan-assembler "vsri\.16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
14429 /* { dg-final { cleanup-saved-temps } } */
14430
14431=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsri_ns32.c'
14432--- old/gcc/testsuite/gcc.target/arm/neon/vsri_ns32.c 2010-07-29 15:38:15 +0000
14433+++ new/gcc/testsuite/gcc.target/arm/neon/vsri_ns32.c 2010-08-20 13:27:11 +0000
14434@@ -17,5 +17,5 @@
14435 out_int32x2_t = vsri_n_s32 (arg0_int32x2_t, arg1_int32x2_t, 1);
14436 }
14437
14438-/* { dg-final { scan-assembler "vsri\.32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
14439+/* { dg-final { scan-assembler "vsri\.32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
14440 /* { dg-final { cleanup-saved-temps } } */
14441
14442=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsri_ns64.c'
14443--- old/gcc/testsuite/gcc.target/arm/neon/vsri_ns64.c 2010-07-29 15:38:15 +0000
14444+++ new/gcc/testsuite/gcc.target/arm/neon/vsri_ns64.c 2010-08-20 13:27:11 +0000
14445@@ -17,5 +17,5 @@
14446 out_int64x1_t = vsri_n_s64 (arg0_int64x1_t, arg1_int64x1_t, 1);
14447 }
14448
14449-/* { dg-final { scan-assembler "vsri\.64\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
14450+/* { dg-final { scan-assembler "vsri\.64\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
14451 /* { dg-final { cleanup-saved-temps } } */
14452
14453=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsri_ns8.c'
14454--- old/gcc/testsuite/gcc.target/arm/neon/vsri_ns8.c 2010-07-29 15:38:15 +0000
14455+++ new/gcc/testsuite/gcc.target/arm/neon/vsri_ns8.c 2010-08-20 13:27:11 +0000
14456@@ -17,5 +17,5 @@
14457 out_int8x8_t = vsri_n_s8 (arg0_int8x8_t, arg1_int8x8_t, 1);
14458 }
14459
14460-/* { dg-final { scan-assembler "vsri\.8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
14461+/* { dg-final { scan-assembler "vsri\.8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
14462 /* { dg-final { cleanup-saved-temps } } */
14463
14464=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsri_nu16.c'
14465--- old/gcc/testsuite/gcc.target/arm/neon/vsri_nu16.c 2010-07-29 15:38:15 +0000
14466+++ new/gcc/testsuite/gcc.target/arm/neon/vsri_nu16.c 2010-08-20 13:27:11 +0000
14467@@ -17,5 +17,5 @@
14468 out_uint16x4_t = vsri_n_u16 (arg0_uint16x4_t, arg1_uint16x4_t, 1);
14469 }
14470
14471-/* { dg-final { scan-assembler "vsri\.16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
14472+/* { dg-final { scan-assembler "vsri\.16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
14473 /* { dg-final { cleanup-saved-temps } } */
14474
14475=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsri_nu32.c'
14476--- old/gcc/testsuite/gcc.target/arm/neon/vsri_nu32.c 2010-07-29 15:38:15 +0000
14477+++ new/gcc/testsuite/gcc.target/arm/neon/vsri_nu32.c 2010-08-20 13:27:11 +0000
14478@@ -17,5 +17,5 @@
14479 out_uint32x2_t = vsri_n_u32 (arg0_uint32x2_t, arg1_uint32x2_t, 1);
14480 }
14481
14482-/* { dg-final { scan-assembler "vsri\.32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
14483+/* { dg-final { scan-assembler "vsri\.32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
14484 /* { dg-final { cleanup-saved-temps } } */
14485
14486=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsri_nu64.c'
14487--- old/gcc/testsuite/gcc.target/arm/neon/vsri_nu64.c 2010-07-29 15:38:15 +0000
14488+++ new/gcc/testsuite/gcc.target/arm/neon/vsri_nu64.c 2010-08-20 13:27:11 +0000
14489@@ -17,5 +17,5 @@
14490 out_uint64x1_t = vsri_n_u64 (arg0_uint64x1_t, arg1_uint64x1_t, 1);
14491 }
14492
14493-/* { dg-final { scan-assembler "vsri\.64\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
14494+/* { dg-final { scan-assembler "vsri\.64\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
14495 /* { dg-final { cleanup-saved-temps } } */
14496
14497=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsri_nu8.c'
14498--- old/gcc/testsuite/gcc.target/arm/neon/vsri_nu8.c 2010-07-29 15:38:15 +0000
14499+++ new/gcc/testsuite/gcc.target/arm/neon/vsri_nu8.c 2010-08-20 13:27:11 +0000
14500@@ -17,5 +17,5 @@
14501 out_uint8x8_t = vsri_n_u8 (arg0_uint8x8_t, arg1_uint8x8_t, 1);
14502 }
14503
14504-/* { dg-final { scan-assembler "vsri\.8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
14505+/* { dg-final { scan-assembler "vsri\.8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, #\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
14506 /* { dg-final { cleanup-saved-temps } } */
14507
14508=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst1Q_lanef32.c'
14509--- old/gcc/testsuite/gcc.target/arm/neon/vst1Q_lanef32.c 2010-07-29 15:38:15 +0000
14510+++ new/gcc/testsuite/gcc.target/arm/neon/vst1Q_lanef32.c 2010-08-20 13:27:11 +0000
14511@@ -16,5 +16,5 @@
14512 vst1q_lane_f32 (arg0_float32_t, arg1_float32x4_t, 1);
14513 }
14514
14515-/* { dg-final { scan-assembler "vst1\.32\[ \]+((\\\{\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]\\\})|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
14516+/* { dg-final { scan-assembler "vst1\.32\[ \]+((\\\{\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]\\\})|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
14517 /* { dg-final { cleanup-saved-temps } } */
14518
14519=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst1Q_lanep16.c'
14520--- old/gcc/testsuite/gcc.target/arm/neon/vst1Q_lanep16.c 2010-07-29 15:38:15 +0000
14521+++ new/gcc/testsuite/gcc.target/arm/neon/vst1Q_lanep16.c 2010-08-20 13:27:11 +0000
14522@@ -16,5 +16,5 @@
14523 vst1q_lane_p16 (arg0_poly16_t, arg1_poly16x8_t, 1);
14524 }
14525
14526-/* { dg-final { scan-assembler "vst1\.16\[ \]+((\\\{\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]\\\})|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
14527+/* { dg-final { scan-assembler "vst1\.16\[ \]+((\\\{\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]\\\})|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
14528 /* { dg-final { cleanup-saved-temps } } */
14529
14530=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst1Q_lanep8.c'
14531--- old/gcc/testsuite/gcc.target/arm/neon/vst1Q_lanep8.c 2010-07-29 15:38:15 +0000
14532+++ new/gcc/testsuite/gcc.target/arm/neon/vst1Q_lanep8.c 2010-08-20 13:27:11 +0000
14533@@ -16,5 +16,5 @@
14534 vst1q_lane_p8 (arg0_poly8_t, arg1_poly8x16_t, 1);
14535 }
14536
14537-/* { dg-final { scan-assembler "vst1\.8\[ \]+((\\\{\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]\\\})|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
14538+/* { dg-final { scan-assembler "vst1\.8\[ \]+((\\\{\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]\\\})|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
14539 /* { dg-final { cleanup-saved-temps } } */
14540
14541=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst1Q_lanes16.c'
14542--- old/gcc/testsuite/gcc.target/arm/neon/vst1Q_lanes16.c 2010-07-29 15:38:15 +0000
14543+++ new/gcc/testsuite/gcc.target/arm/neon/vst1Q_lanes16.c 2010-08-20 13:27:11 +0000
14544@@ -16,5 +16,5 @@
14545 vst1q_lane_s16 (arg0_int16_t, arg1_int16x8_t, 1);
14546 }
14547
14548-/* { dg-final { scan-assembler "vst1\.16\[ \]+((\\\{\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]\\\})|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
14549+/* { dg-final { scan-assembler "vst1\.16\[ \]+((\\\{\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]\\\})|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
14550 /* { dg-final { cleanup-saved-temps } } */
14551
14552=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst1Q_lanes32.c'
14553--- old/gcc/testsuite/gcc.target/arm/neon/vst1Q_lanes32.c 2010-07-29 15:38:15 +0000
14554+++ new/gcc/testsuite/gcc.target/arm/neon/vst1Q_lanes32.c 2010-08-20 13:27:11 +0000
14555@@ -16,5 +16,5 @@
14556 vst1q_lane_s32 (arg0_int32_t, arg1_int32x4_t, 1);
14557 }
14558
14559-/* { dg-final { scan-assembler "vst1\.32\[ \]+((\\\{\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]\\\})|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
14560+/* { dg-final { scan-assembler "vst1\.32\[ \]+((\\\{\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]\\\})|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
14561 /* { dg-final { cleanup-saved-temps } } */
14562
14563=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst1Q_lanes64.c'
14564--- old/gcc/testsuite/gcc.target/arm/neon/vst1Q_lanes64.c 2010-07-29 15:38:15 +0000
14565+++ new/gcc/testsuite/gcc.target/arm/neon/vst1Q_lanes64.c 2010-08-20 13:27:11 +0000
14566@@ -16,5 +16,5 @@
14567 vst1q_lane_s64 (arg0_int64_t, arg1_int64x2_t, 1);
14568 }
14569
14570-/* { dg-final { scan-assembler "vst1\.64\[ \]+((\\\{\[dD\]\[0-9\]+\\\})|(\[dD\]\[0-9\]+)), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
14571+/* { dg-final { scan-assembler "vst1\.64\[ \]+((\\\{\[dD\]\[0-9\]+\\\})|(\[dD\]\[0-9\]+)), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
14572 /* { dg-final { cleanup-saved-temps } } */
14573
14574=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst1Q_lanes8.c'
14575--- old/gcc/testsuite/gcc.target/arm/neon/vst1Q_lanes8.c 2010-07-29 15:38:15 +0000
14576+++ new/gcc/testsuite/gcc.target/arm/neon/vst1Q_lanes8.c 2010-08-20 13:27:11 +0000
14577@@ -16,5 +16,5 @@
14578 vst1q_lane_s8 (arg0_int8_t, arg1_int8x16_t, 1);
14579 }
14580
14581-/* { dg-final { scan-assembler "vst1\.8\[ \]+((\\\{\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]\\\})|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
14582+/* { dg-final { scan-assembler "vst1\.8\[ \]+((\\\{\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]\\\})|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
14583 /* { dg-final { cleanup-saved-temps } } */
14584
14585=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst1Q_laneu16.c'
14586--- old/gcc/testsuite/gcc.target/arm/neon/vst1Q_laneu16.c 2010-07-29 15:38:15 +0000
14587+++ new/gcc/testsuite/gcc.target/arm/neon/vst1Q_laneu16.c 2010-08-20 13:27:11 +0000
14588@@ -16,5 +16,5 @@
14589 vst1q_lane_u16 (arg0_uint16_t, arg1_uint16x8_t, 1);
14590 }
14591
14592-/* { dg-final { scan-assembler "vst1\.16\[ \]+((\\\{\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]\\\})|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
14593+/* { dg-final { scan-assembler "vst1\.16\[ \]+((\\\{\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]\\\})|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
14594 /* { dg-final { cleanup-saved-temps } } */
14595
14596=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst1Q_laneu32.c'
14597--- old/gcc/testsuite/gcc.target/arm/neon/vst1Q_laneu32.c 2010-07-29 15:38:15 +0000
14598+++ new/gcc/testsuite/gcc.target/arm/neon/vst1Q_laneu32.c 2010-08-20 13:27:11 +0000
14599@@ -16,5 +16,5 @@
14600 vst1q_lane_u32 (arg0_uint32_t, arg1_uint32x4_t, 1);
14601 }
14602
14603-/* { dg-final { scan-assembler "vst1\.32\[ \]+((\\\{\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]\\\})|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
14604+/* { dg-final { scan-assembler "vst1\.32\[ \]+((\\\{\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]\\\})|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
14605 /* { dg-final { cleanup-saved-temps } } */
14606
14607=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst1Q_laneu64.c'
14608--- old/gcc/testsuite/gcc.target/arm/neon/vst1Q_laneu64.c 2010-07-29 15:38:15 +0000
14609+++ new/gcc/testsuite/gcc.target/arm/neon/vst1Q_laneu64.c 2010-08-20 13:27:11 +0000
14610@@ -16,5 +16,5 @@
14611 vst1q_lane_u64 (arg0_uint64_t, arg1_uint64x2_t, 1);
14612 }
14613
14614-/* { dg-final { scan-assembler "vst1\.64\[ \]+((\\\{\[dD\]\[0-9\]+\\\})|(\[dD\]\[0-9\]+)), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
14615+/* { dg-final { scan-assembler "vst1\.64\[ \]+((\\\{\[dD\]\[0-9\]+\\\})|(\[dD\]\[0-9\]+)), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
14616 /* { dg-final { cleanup-saved-temps } } */
14617
14618=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst1Q_laneu8.c'
14619--- old/gcc/testsuite/gcc.target/arm/neon/vst1Q_laneu8.c 2010-07-29 15:38:15 +0000
14620+++ new/gcc/testsuite/gcc.target/arm/neon/vst1Q_laneu8.c 2010-08-20 13:27:11 +0000
14621@@ -16,5 +16,5 @@
14622 vst1q_lane_u8 (arg0_uint8_t, arg1_uint8x16_t, 1);
14623 }
14624
14625-/* { dg-final { scan-assembler "vst1\.8\[ \]+((\\\{\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]\\\})|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
14626+/* { dg-final { scan-assembler "vst1\.8\[ \]+((\\\{\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]\\\})|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
14627 /* { dg-final { cleanup-saved-temps } } */
14628
14629=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst1Qf32.c'
14630--- old/gcc/testsuite/gcc.target/arm/neon/vst1Qf32.c 2010-07-29 15:38:15 +0000
14631+++ new/gcc/testsuite/gcc.target/arm/neon/vst1Qf32.c 2010-08-20 13:27:11 +0000
14632@@ -16,5 +16,5 @@
14633 vst1q_f32 (arg0_float32_t, arg1_float32x4_t);
14634 }
14635
14636-/* { dg-final { scan-assembler "vst1\.32\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
14637+/* { dg-final { scan-assembler "vst1\.32\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
14638 /* { dg-final { cleanup-saved-temps } } */
14639
14640=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst1Qp16.c'
14641--- old/gcc/testsuite/gcc.target/arm/neon/vst1Qp16.c 2010-07-29 15:38:15 +0000
14642+++ new/gcc/testsuite/gcc.target/arm/neon/vst1Qp16.c 2010-08-20 13:27:11 +0000
14643@@ -16,5 +16,5 @@
14644 vst1q_p16 (arg0_poly16_t, arg1_poly16x8_t);
14645 }
14646
14647-/* { dg-final { scan-assembler "vst1\.16\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
14648+/* { dg-final { scan-assembler "vst1\.16\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
14649 /* { dg-final { cleanup-saved-temps } } */
14650
14651=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst1Qp8.c'
14652--- old/gcc/testsuite/gcc.target/arm/neon/vst1Qp8.c 2010-07-29 15:38:15 +0000
14653+++ new/gcc/testsuite/gcc.target/arm/neon/vst1Qp8.c 2010-08-20 13:27:11 +0000
14654@@ -16,5 +16,5 @@
14655 vst1q_p8 (arg0_poly8_t, arg1_poly8x16_t);
14656 }
14657
14658-/* { dg-final { scan-assembler "vst1\.8\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
14659+/* { dg-final { scan-assembler "vst1\.8\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
14660 /* { dg-final { cleanup-saved-temps } } */
14661
14662=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst1Qs16.c'
14663--- old/gcc/testsuite/gcc.target/arm/neon/vst1Qs16.c 2010-07-29 15:38:15 +0000
14664+++ new/gcc/testsuite/gcc.target/arm/neon/vst1Qs16.c 2010-08-20 13:27:11 +0000
14665@@ -16,5 +16,5 @@
14666 vst1q_s16 (arg0_int16_t, arg1_int16x8_t);
14667 }
14668
14669-/* { dg-final { scan-assembler "vst1\.16\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
14670+/* { dg-final { scan-assembler "vst1\.16\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
14671 /* { dg-final { cleanup-saved-temps } } */
14672
14673=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst1Qs32.c'
14674--- old/gcc/testsuite/gcc.target/arm/neon/vst1Qs32.c 2010-07-29 15:38:15 +0000
14675+++ new/gcc/testsuite/gcc.target/arm/neon/vst1Qs32.c 2010-08-20 13:27:11 +0000
14676@@ -16,5 +16,5 @@
14677 vst1q_s32 (arg0_int32_t, arg1_int32x4_t);
14678 }
14679
14680-/* { dg-final { scan-assembler "vst1\.32\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
14681+/* { dg-final { scan-assembler "vst1\.32\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
14682 /* { dg-final { cleanup-saved-temps } } */
14683
14684=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst1Qs64.c'
14685--- old/gcc/testsuite/gcc.target/arm/neon/vst1Qs64.c 2010-07-29 15:38:15 +0000
14686+++ new/gcc/testsuite/gcc.target/arm/neon/vst1Qs64.c 2010-08-20 13:27:11 +0000
14687@@ -16,5 +16,5 @@
14688 vst1q_s64 (arg0_int64_t, arg1_int64x2_t);
14689 }
14690
14691-/* { dg-final { scan-assembler "vst1\.64\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
14692+/* { dg-final { scan-assembler "vst1\.64\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
14693 /* { dg-final { cleanup-saved-temps } } */
14694
14695=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst1Qs8.c'
14696--- old/gcc/testsuite/gcc.target/arm/neon/vst1Qs8.c 2010-07-29 15:38:15 +0000
14697+++ new/gcc/testsuite/gcc.target/arm/neon/vst1Qs8.c 2010-08-20 13:27:11 +0000
14698@@ -16,5 +16,5 @@
14699 vst1q_s8 (arg0_int8_t, arg1_int8x16_t);
14700 }
14701
14702-/* { dg-final { scan-assembler "vst1\.8\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
14703+/* { dg-final { scan-assembler "vst1\.8\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
14704 /* { dg-final { cleanup-saved-temps } } */
14705
14706=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst1Qu16.c'
14707--- old/gcc/testsuite/gcc.target/arm/neon/vst1Qu16.c 2010-07-29 15:38:15 +0000
14708+++ new/gcc/testsuite/gcc.target/arm/neon/vst1Qu16.c 2010-08-20 13:27:11 +0000
14709@@ -16,5 +16,5 @@
14710 vst1q_u16 (arg0_uint16_t, arg1_uint16x8_t);
14711 }
14712
14713-/* { dg-final { scan-assembler "vst1\.16\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
14714+/* { dg-final { scan-assembler "vst1\.16\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
14715 /* { dg-final { cleanup-saved-temps } } */
14716
14717=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst1Qu32.c'
14718--- old/gcc/testsuite/gcc.target/arm/neon/vst1Qu32.c 2010-07-29 15:38:15 +0000
14719+++ new/gcc/testsuite/gcc.target/arm/neon/vst1Qu32.c 2010-08-20 13:27:11 +0000
14720@@ -16,5 +16,5 @@
14721 vst1q_u32 (arg0_uint32_t, arg1_uint32x4_t);
14722 }
14723
14724-/* { dg-final { scan-assembler "vst1\.32\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
14725+/* { dg-final { scan-assembler "vst1\.32\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
14726 /* { dg-final { cleanup-saved-temps } } */
14727
14728=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst1Qu64.c'
14729--- old/gcc/testsuite/gcc.target/arm/neon/vst1Qu64.c 2010-07-29 15:38:15 +0000
14730+++ new/gcc/testsuite/gcc.target/arm/neon/vst1Qu64.c 2010-08-20 13:27:11 +0000
14731@@ -16,5 +16,5 @@
14732 vst1q_u64 (arg0_uint64_t, arg1_uint64x2_t);
14733 }
14734
14735-/* { dg-final { scan-assembler "vst1\.64\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
14736+/* { dg-final { scan-assembler "vst1\.64\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
14737 /* { dg-final { cleanup-saved-temps } } */
14738
14739=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst1Qu8.c'
14740--- old/gcc/testsuite/gcc.target/arm/neon/vst1Qu8.c 2010-07-29 15:38:15 +0000
14741+++ new/gcc/testsuite/gcc.target/arm/neon/vst1Qu8.c 2010-08-20 13:27:11 +0000
14742@@ -16,5 +16,5 @@
14743 vst1q_u8 (arg0_uint8_t, arg1_uint8x16_t);
14744 }
14745
14746-/* { dg-final { scan-assembler "vst1\.8\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
14747+/* { dg-final { scan-assembler "vst1\.8\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
14748 /* { dg-final { cleanup-saved-temps } } */
14749
14750=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst1_lanef32.c'
14751--- old/gcc/testsuite/gcc.target/arm/neon/vst1_lanef32.c 2010-07-29 15:38:15 +0000
14752+++ new/gcc/testsuite/gcc.target/arm/neon/vst1_lanef32.c 2010-08-20 13:27:11 +0000
14753@@ -16,5 +16,5 @@
14754 vst1_lane_f32 (arg0_float32_t, arg1_float32x2_t, 1);
14755 }
14756
14757-/* { dg-final { scan-assembler "vst1\.32\[ \]+((\\\{\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]\\\})|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
14758+/* { dg-final { scan-assembler "vst1\.32\[ \]+((\\\{\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]\\\})|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
14759 /* { dg-final { cleanup-saved-temps } } */
14760
14761=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst1_lanep16.c'
14762--- old/gcc/testsuite/gcc.target/arm/neon/vst1_lanep16.c 2010-07-29 15:38:15 +0000
14763+++ new/gcc/testsuite/gcc.target/arm/neon/vst1_lanep16.c 2010-08-20 13:27:11 +0000
14764@@ -16,5 +16,5 @@
14765 vst1_lane_p16 (arg0_poly16_t, arg1_poly16x4_t, 1);
14766 }
14767
14768-/* { dg-final { scan-assembler "vst1\.16\[ \]+((\\\{\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]\\\})|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
14769+/* { dg-final { scan-assembler "vst1\.16\[ \]+((\\\{\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]\\\})|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
14770 /* { dg-final { cleanup-saved-temps } } */
14771
14772=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst1_lanep8.c'
14773--- old/gcc/testsuite/gcc.target/arm/neon/vst1_lanep8.c 2010-07-29 15:38:15 +0000
14774+++ new/gcc/testsuite/gcc.target/arm/neon/vst1_lanep8.c 2010-08-20 13:27:11 +0000
14775@@ -16,5 +16,5 @@
14776 vst1_lane_p8 (arg0_poly8_t, arg1_poly8x8_t, 1);
14777 }
14778
14779-/* { dg-final { scan-assembler "vst1\.8\[ \]+((\\\{\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]\\\})|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
14780+/* { dg-final { scan-assembler "vst1\.8\[ \]+((\\\{\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]\\\})|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
14781 /* { dg-final { cleanup-saved-temps } } */
14782
14783=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst1_lanes16.c'
14784--- old/gcc/testsuite/gcc.target/arm/neon/vst1_lanes16.c 2010-07-29 15:38:15 +0000
14785+++ new/gcc/testsuite/gcc.target/arm/neon/vst1_lanes16.c 2010-08-20 13:27:11 +0000
14786@@ -16,5 +16,5 @@
14787 vst1_lane_s16 (arg0_int16_t, arg1_int16x4_t, 1);
14788 }
14789
14790-/* { dg-final { scan-assembler "vst1\.16\[ \]+((\\\{\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]\\\})|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
14791+/* { dg-final { scan-assembler "vst1\.16\[ \]+((\\\{\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]\\\})|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
14792 /* { dg-final { cleanup-saved-temps } } */
14793
14794=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst1_lanes32.c'
14795--- old/gcc/testsuite/gcc.target/arm/neon/vst1_lanes32.c 2010-07-29 15:38:15 +0000
14796+++ new/gcc/testsuite/gcc.target/arm/neon/vst1_lanes32.c 2010-08-20 13:27:11 +0000
14797@@ -16,5 +16,5 @@
14798 vst1_lane_s32 (arg0_int32_t, arg1_int32x2_t, 1);
14799 }
14800
14801-/* { dg-final { scan-assembler "vst1\.32\[ \]+((\\\{\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]\\\})|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
14802+/* { dg-final { scan-assembler "vst1\.32\[ \]+((\\\{\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]\\\})|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
14803 /* { dg-final { cleanup-saved-temps } } */
14804
14805=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst1_lanes64.c'
14806--- old/gcc/testsuite/gcc.target/arm/neon/vst1_lanes64.c 2010-07-29 15:38:15 +0000
14807+++ new/gcc/testsuite/gcc.target/arm/neon/vst1_lanes64.c 2010-08-20 13:27:11 +0000
14808@@ -16,5 +16,5 @@
14809 vst1_lane_s64 (arg0_int64_t, arg1_int64x1_t, 0);
14810 }
14811
14812-/* { dg-final { scan-assembler "vst1\.64\[ \]+((\\\{\[dD\]\[0-9\]+\\\})|(\[dD\]\[0-9\]+)), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
14813+/* { dg-final { scan-assembler "vst1\.64\[ \]+((\\\{\[dD\]\[0-9\]+\\\})|(\[dD\]\[0-9\]+)), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
14814 /* { dg-final { cleanup-saved-temps } } */
14815
14816=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst1_lanes8.c'
14817--- old/gcc/testsuite/gcc.target/arm/neon/vst1_lanes8.c 2010-07-29 15:38:15 +0000
14818+++ new/gcc/testsuite/gcc.target/arm/neon/vst1_lanes8.c 2010-08-20 13:27:11 +0000
14819@@ -16,5 +16,5 @@
14820 vst1_lane_s8 (arg0_int8_t, arg1_int8x8_t, 1);
14821 }
14822
14823-/* { dg-final { scan-assembler "vst1\.8\[ \]+((\\\{\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]\\\})|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
14824+/* { dg-final { scan-assembler "vst1\.8\[ \]+((\\\{\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]\\\})|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
14825 /* { dg-final { cleanup-saved-temps } } */
14826
14827=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst1_laneu16.c'
14828--- old/gcc/testsuite/gcc.target/arm/neon/vst1_laneu16.c 2010-07-29 15:38:15 +0000
14829+++ new/gcc/testsuite/gcc.target/arm/neon/vst1_laneu16.c 2010-08-20 13:27:11 +0000
14830@@ -16,5 +16,5 @@
14831 vst1_lane_u16 (arg0_uint16_t, arg1_uint16x4_t, 1);
14832 }
14833
14834-/* { dg-final { scan-assembler "vst1\.16\[ \]+((\\\{\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]\\\})|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
14835+/* { dg-final { scan-assembler "vst1\.16\[ \]+((\\\{\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]\\\})|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
14836 /* { dg-final { cleanup-saved-temps } } */
14837
14838=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst1_laneu32.c'
14839--- old/gcc/testsuite/gcc.target/arm/neon/vst1_laneu32.c 2010-07-29 15:38:15 +0000
14840+++ new/gcc/testsuite/gcc.target/arm/neon/vst1_laneu32.c 2010-08-20 13:27:11 +0000
14841@@ -16,5 +16,5 @@
14842 vst1_lane_u32 (arg0_uint32_t, arg1_uint32x2_t, 1);
14843 }
14844
14845-/* { dg-final { scan-assembler "vst1\.32\[ \]+((\\\{\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]\\\})|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
14846+/* { dg-final { scan-assembler "vst1\.32\[ \]+((\\\{\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]\\\})|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
14847 /* { dg-final { cleanup-saved-temps } } */
14848
14849=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst1_laneu64.c'
14850--- old/gcc/testsuite/gcc.target/arm/neon/vst1_laneu64.c 2010-07-29 15:38:15 +0000
14851+++ new/gcc/testsuite/gcc.target/arm/neon/vst1_laneu64.c 2010-08-20 13:27:11 +0000
14852@@ -16,5 +16,5 @@
14853 vst1_lane_u64 (arg0_uint64_t, arg1_uint64x1_t, 0);
14854 }
14855
14856-/* { dg-final { scan-assembler "vst1\.64\[ \]+((\\\{\[dD\]\[0-9\]+\\\})|(\[dD\]\[0-9\]+)), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
14857+/* { dg-final { scan-assembler "vst1\.64\[ \]+((\\\{\[dD\]\[0-9\]+\\\})|(\[dD\]\[0-9\]+)), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
14858 /* { dg-final { cleanup-saved-temps } } */
14859
14860=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst1_laneu8.c'
14861--- old/gcc/testsuite/gcc.target/arm/neon/vst1_laneu8.c 2010-07-29 15:38:15 +0000
14862+++ new/gcc/testsuite/gcc.target/arm/neon/vst1_laneu8.c 2010-08-20 13:27:11 +0000
14863@@ -16,5 +16,5 @@
14864 vst1_lane_u8 (arg0_uint8_t, arg1_uint8x8_t, 1);
14865 }
14866
14867-/* { dg-final { scan-assembler "vst1\.8\[ \]+((\\\{\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]\\\})|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
14868+/* { dg-final { scan-assembler "vst1\.8\[ \]+((\\\{\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]\\\})|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
14869 /* { dg-final { cleanup-saved-temps } } */
14870
14871=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst1f32.c'
14872--- old/gcc/testsuite/gcc.target/arm/neon/vst1f32.c 2010-07-29 15:38:15 +0000
14873+++ new/gcc/testsuite/gcc.target/arm/neon/vst1f32.c 2010-08-20 13:27:11 +0000
14874@@ -16,5 +16,5 @@
14875 vst1_f32 (arg0_float32_t, arg1_float32x2_t);
14876 }
14877
14878-/* { dg-final { scan-assembler "vst1\.32\[ \]+((\\\{\[dD\]\[0-9\]+\\\})|(\[dD\]\[0-9\]+)), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
14879+/* { dg-final { scan-assembler "vst1\.32\[ \]+((\\\{\[dD\]\[0-9\]+\\\})|(\[dD\]\[0-9\]+)), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
14880 /* { dg-final { cleanup-saved-temps } } */
14881
14882=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst1p16.c'
14883--- old/gcc/testsuite/gcc.target/arm/neon/vst1p16.c 2010-07-29 15:38:15 +0000
14884+++ new/gcc/testsuite/gcc.target/arm/neon/vst1p16.c 2010-08-20 13:27:11 +0000
14885@@ -16,5 +16,5 @@
14886 vst1_p16 (arg0_poly16_t, arg1_poly16x4_t);
14887 }
14888
14889-/* { dg-final { scan-assembler "vst1\.16\[ \]+((\\\{\[dD\]\[0-9\]+\\\})|(\[dD\]\[0-9\]+)), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
14890+/* { dg-final { scan-assembler "vst1\.16\[ \]+((\\\{\[dD\]\[0-9\]+\\\})|(\[dD\]\[0-9\]+)), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
14891 /* { dg-final { cleanup-saved-temps } } */
14892
14893=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst1p8.c'
14894--- old/gcc/testsuite/gcc.target/arm/neon/vst1p8.c 2010-07-29 15:38:15 +0000
14895+++ new/gcc/testsuite/gcc.target/arm/neon/vst1p8.c 2010-08-20 13:27:11 +0000
14896@@ -16,5 +16,5 @@
14897 vst1_p8 (arg0_poly8_t, arg1_poly8x8_t);
14898 }
14899
14900-/* { dg-final { scan-assembler "vst1\.8\[ \]+((\\\{\[dD\]\[0-9\]+\\\})|(\[dD\]\[0-9\]+)), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
14901+/* { dg-final { scan-assembler "vst1\.8\[ \]+((\\\{\[dD\]\[0-9\]+\\\})|(\[dD\]\[0-9\]+)), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
14902 /* { dg-final { cleanup-saved-temps } } */
14903
14904=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst1s16.c'
14905--- old/gcc/testsuite/gcc.target/arm/neon/vst1s16.c 2010-07-29 15:38:15 +0000
14906+++ new/gcc/testsuite/gcc.target/arm/neon/vst1s16.c 2010-08-20 13:27:11 +0000
14907@@ -16,5 +16,5 @@
14908 vst1_s16 (arg0_int16_t, arg1_int16x4_t);
14909 }
14910
14911-/* { dg-final { scan-assembler "vst1\.16\[ \]+((\\\{\[dD\]\[0-9\]+\\\})|(\[dD\]\[0-9\]+)), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
14912+/* { dg-final { scan-assembler "vst1\.16\[ \]+((\\\{\[dD\]\[0-9\]+\\\})|(\[dD\]\[0-9\]+)), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
14913 /* { dg-final { cleanup-saved-temps } } */
14914
14915=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst1s32.c'
14916--- old/gcc/testsuite/gcc.target/arm/neon/vst1s32.c 2010-07-29 15:38:15 +0000
14917+++ new/gcc/testsuite/gcc.target/arm/neon/vst1s32.c 2010-08-20 13:27:11 +0000
14918@@ -16,5 +16,5 @@
14919 vst1_s32 (arg0_int32_t, arg1_int32x2_t);
14920 }
14921
14922-/* { dg-final { scan-assembler "vst1\.32\[ \]+((\\\{\[dD\]\[0-9\]+\\\})|(\[dD\]\[0-9\]+)), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
14923+/* { dg-final { scan-assembler "vst1\.32\[ \]+((\\\{\[dD\]\[0-9\]+\\\})|(\[dD\]\[0-9\]+)), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
14924 /* { dg-final { cleanup-saved-temps } } */
14925
14926=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst1s64.c'
14927--- old/gcc/testsuite/gcc.target/arm/neon/vst1s64.c 2010-07-29 15:38:15 +0000
14928+++ new/gcc/testsuite/gcc.target/arm/neon/vst1s64.c 2010-08-20 13:27:11 +0000
14929@@ -16,5 +16,5 @@
14930 vst1_s64 (arg0_int64_t, arg1_int64x1_t);
14931 }
14932
14933-/* { dg-final { scan-assembler "vst1\.64\[ \]+((\\\{\[dD\]\[0-9\]+\\\})|(\[dD\]\[0-9\]+)), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
14934+/* { dg-final { scan-assembler "vst1\.64\[ \]+((\\\{\[dD\]\[0-9\]+\\\})|(\[dD\]\[0-9\]+)), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
14935 /* { dg-final { cleanup-saved-temps } } */
14936
14937=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst1s8.c'
14938--- old/gcc/testsuite/gcc.target/arm/neon/vst1s8.c 2010-07-29 15:38:15 +0000
14939+++ new/gcc/testsuite/gcc.target/arm/neon/vst1s8.c 2010-08-20 13:27:11 +0000
14940@@ -16,5 +16,5 @@
14941 vst1_s8 (arg0_int8_t, arg1_int8x8_t);
14942 }
14943
14944-/* { dg-final { scan-assembler "vst1\.8\[ \]+((\\\{\[dD\]\[0-9\]+\\\})|(\[dD\]\[0-9\]+)), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
14945+/* { dg-final { scan-assembler "vst1\.8\[ \]+((\\\{\[dD\]\[0-9\]+\\\})|(\[dD\]\[0-9\]+)), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
14946 /* { dg-final { cleanup-saved-temps } } */
14947
14948=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst1u16.c'
14949--- old/gcc/testsuite/gcc.target/arm/neon/vst1u16.c 2010-07-29 15:38:15 +0000
14950+++ new/gcc/testsuite/gcc.target/arm/neon/vst1u16.c 2010-08-20 13:27:11 +0000
14951@@ -16,5 +16,5 @@
14952 vst1_u16 (arg0_uint16_t, arg1_uint16x4_t);
14953 }
14954
14955-/* { dg-final { scan-assembler "vst1\.16\[ \]+((\\\{\[dD\]\[0-9\]+\\\})|(\[dD\]\[0-9\]+)), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
14956+/* { dg-final { scan-assembler "vst1\.16\[ \]+((\\\{\[dD\]\[0-9\]+\\\})|(\[dD\]\[0-9\]+)), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
14957 /* { dg-final { cleanup-saved-temps } } */
14958
14959=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst1u32.c'
14960--- old/gcc/testsuite/gcc.target/arm/neon/vst1u32.c 2010-07-29 15:38:15 +0000
14961+++ new/gcc/testsuite/gcc.target/arm/neon/vst1u32.c 2010-08-20 13:27:11 +0000
14962@@ -16,5 +16,5 @@
14963 vst1_u32 (arg0_uint32_t, arg1_uint32x2_t);
14964 }
14965
14966-/* { dg-final { scan-assembler "vst1\.32\[ \]+((\\\{\[dD\]\[0-9\]+\\\})|(\[dD\]\[0-9\]+)), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
14967+/* { dg-final { scan-assembler "vst1\.32\[ \]+((\\\{\[dD\]\[0-9\]+\\\})|(\[dD\]\[0-9\]+)), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
14968 /* { dg-final { cleanup-saved-temps } } */
14969
14970=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst1u64.c'
14971--- old/gcc/testsuite/gcc.target/arm/neon/vst1u64.c 2010-07-29 15:38:15 +0000
14972+++ new/gcc/testsuite/gcc.target/arm/neon/vst1u64.c 2010-08-20 13:27:11 +0000
14973@@ -16,5 +16,5 @@
14974 vst1_u64 (arg0_uint64_t, arg1_uint64x1_t);
14975 }
14976
14977-/* { dg-final { scan-assembler "vst1\.64\[ \]+((\\\{\[dD\]\[0-9\]+\\\})|(\[dD\]\[0-9\]+)), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
14978+/* { dg-final { scan-assembler "vst1\.64\[ \]+((\\\{\[dD\]\[0-9\]+\\\})|(\[dD\]\[0-9\]+)), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
14979 /* { dg-final { cleanup-saved-temps } } */
14980
14981=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst1u8.c'
14982--- old/gcc/testsuite/gcc.target/arm/neon/vst1u8.c 2010-07-29 15:38:15 +0000
14983+++ new/gcc/testsuite/gcc.target/arm/neon/vst1u8.c 2010-08-20 13:27:11 +0000
14984@@ -16,5 +16,5 @@
14985 vst1_u8 (arg0_uint8_t, arg1_uint8x8_t);
14986 }
14987
14988-/* { dg-final { scan-assembler "vst1\.8\[ \]+((\\\{\[dD\]\[0-9\]+\\\})|(\[dD\]\[0-9\]+)), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
14989+/* { dg-final { scan-assembler "vst1\.8\[ \]+((\\\{\[dD\]\[0-9\]+\\\})|(\[dD\]\[0-9\]+)), \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
14990 /* { dg-final { cleanup-saved-temps } } */
14991
14992=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst2Q_lanef32.c'
14993--- old/gcc/testsuite/gcc.target/arm/neon/vst2Q_lanef32.c 2010-07-29 15:38:15 +0000
14994+++ new/gcc/testsuite/gcc.target/arm/neon/vst2Q_lanef32.c 2010-08-20 13:27:11 +0000
14995@@ -16,5 +16,5 @@
14996 vst2q_lane_f32 (arg0_float32_t, arg1_float32x4x2_t, 1);
14997 }
14998
14999-/* { dg-final { scan-assembler "vst2\.32\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
15000+/* { dg-final { scan-assembler "vst2\.32\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
15001 /* { dg-final { cleanup-saved-temps } } */
15002
15003=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst2Q_lanep16.c'
15004--- old/gcc/testsuite/gcc.target/arm/neon/vst2Q_lanep16.c 2010-07-29 15:38:15 +0000
15005+++ new/gcc/testsuite/gcc.target/arm/neon/vst2Q_lanep16.c 2010-08-20 13:27:11 +0000
15006@@ -16,5 +16,5 @@
15007 vst2q_lane_p16 (arg0_poly16_t, arg1_poly16x8x2_t, 1);
15008 }
15009
15010-/* { dg-final { scan-assembler "vst2\.16\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
15011+/* { dg-final { scan-assembler "vst2\.16\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
15012 /* { dg-final { cleanup-saved-temps } } */
15013
15014=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst2Q_lanes16.c'
15015--- old/gcc/testsuite/gcc.target/arm/neon/vst2Q_lanes16.c 2010-07-29 15:38:15 +0000
15016+++ new/gcc/testsuite/gcc.target/arm/neon/vst2Q_lanes16.c 2010-08-20 13:27:11 +0000
15017@@ -16,5 +16,5 @@
15018 vst2q_lane_s16 (arg0_int16_t, arg1_int16x8x2_t, 1);
15019 }
15020
15021-/* { dg-final { scan-assembler "vst2\.16\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
15022+/* { dg-final { scan-assembler "vst2\.16\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
15023 /* { dg-final { cleanup-saved-temps } } */
15024
15025=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst2Q_lanes32.c'
15026--- old/gcc/testsuite/gcc.target/arm/neon/vst2Q_lanes32.c 2010-07-29 15:38:15 +0000
15027+++ new/gcc/testsuite/gcc.target/arm/neon/vst2Q_lanes32.c 2010-08-20 13:27:11 +0000
15028@@ -16,5 +16,5 @@
15029 vst2q_lane_s32 (arg0_int32_t, arg1_int32x4x2_t, 1);
15030 }
15031
15032-/* { dg-final { scan-assembler "vst2\.32\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
15033+/* { dg-final { scan-assembler "vst2\.32\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
15034 /* { dg-final { cleanup-saved-temps } } */
15035
15036=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst2Q_laneu16.c'
15037--- old/gcc/testsuite/gcc.target/arm/neon/vst2Q_laneu16.c 2010-07-29 15:38:15 +0000
15038+++ new/gcc/testsuite/gcc.target/arm/neon/vst2Q_laneu16.c 2010-08-20 13:27:11 +0000
15039@@ -16,5 +16,5 @@
15040 vst2q_lane_u16 (arg0_uint16_t, arg1_uint16x8x2_t, 1);
15041 }
15042
15043-/* { dg-final { scan-assembler "vst2\.16\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
15044+/* { dg-final { scan-assembler "vst2\.16\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
15045 /* { dg-final { cleanup-saved-temps } } */
15046
15047=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst2Q_laneu32.c'
15048--- old/gcc/testsuite/gcc.target/arm/neon/vst2Q_laneu32.c 2010-07-29 15:38:15 +0000
15049+++ new/gcc/testsuite/gcc.target/arm/neon/vst2Q_laneu32.c 2010-08-20 13:27:11 +0000
15050@@ -16,5 +16,5 @@
15051 vst2q_lane_u32 (arg0_uint32_t, arg1_uint32x4x2_t, 1);
15052 }
15053
15054-/* { dg-final { scan-assembler "vst2\.32\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
15055+/* { dg-final { scan-assembler "vst2\.32\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
15056 /* { dg-final { cleanup-saved-temps } } */
15057
15058=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst2Qf32.c'
15059--- old/gcc/testsuite/gcc.target/arm/neon/vst2Qf32.c 2010-07-29 15:38:15 +0000
15060+++ new/gcc/testsuite/gcc.target/arm/neon/vst2Qf32.c 2010-08-20 13:27:11 +0000
15061@@ -16,6 +16,6 @@
15062 vst2q_f32 (arg0_float32_t, arg1_float32x4x2_t);
15063 }
15064
15065-/* { dg-final { scan-assembler "vst2\.32\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
15066-/* { dg-final { scan-assembler "vst2\.32\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
15067+/* { dg-final { scan-assembler "vst2\.32\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
15068+/* { dg-final { scan-assembler "vst2\.32\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
15069 /* { dg-final { cleanup-saved-temps } } */
15070
15071=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst2Qp16.c'
15072--- old/gcc/testsuite/gcc.target/arm/neon/vst2Qp16.c 2010-07-29 15:38:15 +0000
15073+++ new/gcc/testsuite/gcc.target/arm/neon/vst2Qp16.c 2010-08-20 13:27:11 +0000
15074@@ -16,6 +16,6 @@
15075 vst2q_p16 (arg0_poly16_t, arg1_poly16x8x2_t);
15076 }
15077
15078-/* { dg-final { scan-assembler "vst2\.16\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
15079-/* { dg-final { scan-assembler "vst2\.16\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
15080+/* { dg-final { scan-assembler "vst2\.16\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
15081+/* { dg-final { scan-assembler "vst2\.16\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
15082 /* { dg-final { cleanup-saved-temps } } */
15083
15084=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst2Qp8.c'
15085--- old/gcc/testsuite/gcc.target/arm/neon/vst2Qp8.c 2010-07-29 15:38:15 +0000
15086+++ new/gcc/testsuite/gcc.target/arm/neon/vst2Qp8.c 2010-08-20 13:27:11 +0000
15087@@ -16,6 +16,6 @@
15088 vst2q_p8 (arg0_poly8_t, arg1_poly8x16x2_t);
15089 }
15090
15091-/* { dg-final { scan-assembler "vst2\.8\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
15092-/* { dg-final { scan-assembler "vst2\.8\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
15093+/* { dg-final { scan-assembler "vst2\.8\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
15094+/* { dg-final { scan-assembler "vst2\.8\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
15095 /* { dg-final { cleanup-saved-temps } } */
15096
15097=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst2Qs16.c'
15098--- old/gcc/testsuite/gcc.target/arm/neon/vst2Qs16.c 2010-07-29 15:38:15 +0000
15099+++ new/gcc/testsuite/gcc.target/arm/neon/vst2Qs16.c 2010-08-20 13:27:11 +0000
15100@@ -16,6 +16,6 @@
15101 vst2q_s16 (arg0_int16_t, arg1_int16x8x2_t);
15102 }
15103
15104-/* { dg-final { scan-assembler "vst2\.16\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
15105-/* { dg-final { scan-assembler "vst2\.16\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
15106+/* { dg-final { scan-assembler "vst2\.16\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
15107+/* { dg-final { scan-assembler "vst2\.16\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
15108 /* { dg-final { cleanup-saved-temps } } */
15109
15110=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst2Qs32.c'
15111--- old/gcc/testsuite/gcc.target/arm/neon/vst2Qs32.c 2010-07-29 15:38:15 +0000
15112+++ new/gcc/testsuite/gcc.target/arm/neon/vst2Qs32.c 2010-08-20 13:27:11 +0000
15113@@ -16,6 +16,6 @@
15114 vst2q_s32 (arg0_int32_t, arg1_int32x4x2_t);
15115 }
15116
15117-/* { dg-final { scan-assembler "vst2\.32\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
15118-/* { dg-final { scan-assembler "vst2\.32\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
15119+/* { dg-final { scan-assembler "vst2\.32\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
15120+/* { dg-final { scan-assembler "vst2\.32\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
15121 /* { dg-final { cleanup-saved-temps } } */
15122
15123=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst2Qs8.c'
15124--- old/gcc/testsuite/gcc.target/arm/neon/vst2Qs8.c 2010-07-29 15:38:15 +0000
15125+++ new/gcc/testsuite/gcc.target/arm/neon/vst2Qs8.c 2010-08-20 13:27:11 +0000
15126@@ -16,6 +16,6 @@
15127 vst2q_s8 (arg0_int8_t, arg1_int8x16x2_t);
15128 }
15129
15130-/* { dg-final { scan-assembler "vst2\.8\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
15131-/* { dg-final { scan-assembler "vst2\.8\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
15132+/* { dg-final { scan-assembler "vst2\.8\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
15133+/* { dg-final { scan-assembler "vst2\.8\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
15134 /* { dg-final { cleanup-saved-temps } } */
15135
15136=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst2Qu16.c'
15137--- old/gcc/testsuite/gcc.target/arm/neon/vst2Qu16.c 2010-07-29 15:38:15 +0000
15138+++ new/gcc/testsuite/gcc.target/arm/neon/vst2Qu16.c 2010-08-20 13:27:11 +0000
15139@@ -16,6 +16,6 @@
15140 vst2q_u16 (arg0_uint16_t, arg1_uint16x8x2_t);
15141 }
15142
15143-/* { dg-final { scan-assembler "vst2\.16\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
15144-/* { dg-final { scan-assembler "vst2\.16\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
15145+/* { dg-final { scan-assembler "vst2\.16\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
15146+/* { dg-final { scan-assembler "vst2\.16\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
15147 /* { dg-final { cleanup-saved-temps } } */
15148
15149=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst2Qu32.c'
15150--- old/gcc/testsuite/gcc.target/arm/neon/vst2Qu32.c 2010-07-29 15:38:15 +0000
15151+++ new/gcc/testsuite/gcc.target/arm/neon/vst2Qu32.c 2010-08-20 13:27:11 +0000
15152@@ -16,6 +16,6 @@
15153 vst2q_u32 (arg0_uint32_t, arg1_uint32x4x2_t);
15154 }
15155
15156-/* { dg-final { scan-assembler "vst2\.32\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
15157-/* { dg-final { scan-assembler "vst2\.32\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
15158+/* { dg-final { scan-assembler "vst2\.32\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
15159+/* { dg-final { scan-assembler "vst2\.32\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
15160 /* { dg-final { cleanup-saved-temps } } */
15161
15162=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst2Qu8.c'
15163--- old/gcc/testsuite/gcc.target/arm/neon/vst2Qu8.c 2010-07-29 15:38:15 +0000
15164+++ new/gcc/testsuite/gcc.target/arm/neon/vst2Qu8.c 2010-08-20 13:27:11 +0000
15165@@ -16,6 +16,6 @@
15166 vst2q_u8 (arg0_uint8_t, arg1_uint8x16x2_t);
15167 }
15168
15169-/* { dg-final { scan-assembler "vst2\.8\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
15170-/* { dg-final { scan-assembler "vst2\.8\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
15171+/* { dg-final { scan-assembler "vst2\.8\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
15172+/* { dg-final { scan-assembler "vst2\.8\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
15173 /* { dg-final { cleanup-saved-temps } } */
15174
15175=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst2_lanef32.c'
15176--- old/gcc/testsuite/gcc.target/arm/neon/vst2_lanef32.c 2010-07-29 15:38:15 +0000
15177+++ new/gcc/testsuite/gcc.target/arm/neon/vst2_lanef32.c 2010-08-20 13:27:11 +0000
15178@@ -16,5 +16,5 @@
15179 vst2_lane_f32 (arg0_float32_t, arg1_float32x2x2_t, 1);
15180 }
15181
15182-/* { dg-final { scan-assembler "vst2\.32\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
15183+/* { dg-final { scan-assembler "vst2\.32\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
15184 /* { dg-final { cleanup-saved-temps } } */
15185
15186=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst2_lanep16.c'
15187--- old/gcc/testsuite/gcc.target/arm/neon/vst2_lanep16.c 2010-07-29 15:38:15 +0000
15188+++ new/gcc/testsuite/gcc.target/arm/neon/vst2_lanep16.c 2010-08-20 13:27:11 +0000
15189@@ -16,5 +16,5 @@
15190 vst2_lane_p16 (arg0_poly16_t, arg1_poly16x4x2_t, 1);
15191 }
15192
15193-/* { dg-final { scan-assembler "vst2\.16\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
15194+/* { dg-final { scan-assembler "vst2\.16\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
15195 /* { dg-final { cleanup-saved-temps } } */
15196
15197=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst2_lanep8.c'
15198--- old/gcc/testsuite/gcc.target/arm/neon/vst2_lanep8.c 2010-07-29 15:38:15 +0000
15199+++ new/gcc/testsuite/gcc.target/arm/neon/vst2_lanep8.c 2010-08-20 13:27:11 +0000
15200@@ -16,5 +16,5 @@
15201 vst2_lane_p8 (arg0_poly8_t, arg1_poly8x8x2_t, 1);
15202 }
15203
15204-/* { dg-final { scan-assembler "vst2\.8\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
15205+/* { dg-final { scan-assembler "vst2\.8\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
15206 /* { dg-final { cleanup-saved-temps } } */
15207
15208=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst2_lanes16.c'
15209--- old/gcc/testsuite/gcc.target/arm/neon/vst2_lanes16.c 2010-07-29 15:38:15 +0000
15210+++ new/gcc/testsuite/gcc.target/arm/neon/vst2_lanes16.c 2010-08-20 13:27:11 +0000
15211@@ -16,5 +16,5 @@
15212 vst2_lane_s16 (arg0_int16_t, arg1_int16x4x2_t, 1);
15213 }
15214
15215-/* { dg-final { scan-assembler "vst2\.16\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
15216+/* { dg-final { scan-assembler "vst2\.16\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
15217 /* { dg-final { cleanup-saved-temps } } */
15218
15219=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst2_lanes32.c'
15220--- old/gcc/testsuite/gcc.target/arm/neon/vst2_lanes32.c 2010-07-29 15:38:15 +0000
15221+++ new/gcc/testsuite/gcc.target/arm/neon/vst2_lanes32.c 2010-08-20 13:27:11 +0000
15222@@ -16,5 +16,5 @@
15223 vst2_lane_s32 (arg0_int32_t, arg1_int32x2x2_t, 1);
15224 }
15225
15226-/* { dg-final { scan-assembler "vst2\.32\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
15227+/* { dg-final { scan-assembler "vst2\.32\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
15228 /* { dg-final { cleanup-saved-temps } } */
15229
15230=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst2_lanes8.c'
15231--- old/gcc/testsuite/gcc.target/arm/neon/vst2_lanes8.c 2010-07-29 15:38:15 +0000
15232+++ new/gcc/testsuite/gcc.target/arm/neon/vst2_lanes8.c 2010-08-20 13:27:11 +0000
15233@@ -16,5 +16,5 @@
15234 vst2_lane_s8 (arg0_int8_t, arg1_int8x8x2_t, 1);
15235 }
15236
15237-/* { dg-final { scan-assembler "vst2\.8\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
15238+/* { dg-final { scan-assembler "vst2\.8\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
15239 /* { dg-final { cleanup-saved-temps } } */
15240
15241=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst2_laneu16.c'
15242--- old/gcc/testsuite/gcc.target/arm/neon/vst2_laneu16.c 2010-07-29 15:38:15 +0000
15243+++ new/gcc/testsuite/gcc.target/arm/neon/vst2_laneu16.c 2010-08-20 13:27:11 +0000
15244@@ -16,5 +16,5 @@
15245 vst2_lane_u16 (arg0_uint16_t, arg1_uint16x4x2_t, 1);
15246 }
15247
15248-/* { dg-final { scan-assembler "vst2\.16\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
15249+/* { dg-final { scan-assembler "vst2\.16\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
15250 /* { dg-final { cleanup-saved-temps } } */
15251
15252=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst2_laneu32.c'
15253--- old/gcc/testsuite/gcc.target/arm/neon/vst2_laneu32.c 2010-07-29 15:38:15 +0000
15254+++ new/gcc/testsuite/gcc.target/arm/neon/vst2_laneu32.c 2010-08-20 13:27:11 +0000
15255@@ -16,5 +16,5 @@
15256 vst2_lane_u32 (arg0_uint32_t, arg1_uint32x2x2_t, 1);
15257 }
15258
15259-/* { dg-final { scan-assembler "vst2\.32\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
15260+/* { dg-final { scan-assembler "vst2\.32\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
15261 /* { dg-final { cleanup-saved-temps } } */
15262
15263=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst2_laneu8.c'
15264--- old/gcc/testsuite/gcc.target/arm/neon/vst2_laneu8.c 2010-07-29 15:38:15 +0000
15265+++ new/gcc/testsuite/gcc.target/arm/neon/vst2_laneu8.c 2010-08-20 13:27:11 +0000
15266@@ -16,5 +16,5 @@
15267 vst2_lane_u8 (arg0_uint8_t, arg1_uint8x8x2_t, 1);
15268 }
15269
15270-/* { dg-final { scan-assembler "vst2\.8\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
15271+/* { dg-final { scan-assembler "vst2\.8\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
15272 /* { dg-final { cleanup-saved-temps } } */
15273
15274=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst2f32.c'
15275--- old/gcc/testsuite/gcc.target/arm/neon/vst2f32.c 2010-07-29 15:38:15 +0000
15276+++ new/gcc/testsuite/gcc.target/arm/neon/vst2f32.c 2010-08-20 13:27:11 +0000
15277@@ -16,5 +16,5 @@
15278 vst2_f32 (arg0_float32_t, arg1_float32x2x2_t);
15279 }
15280
15281-/* { dg-final { scan-assembler "vst2\.32\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
15282+/* { dg-final { scan-assembler "vst2\.32\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
15283 /* { dg-final { cleanup-saved-temps } } */
15284
15285=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst2p16.c'
15286--- old/gcc/testsuite/gcc.target/arm/neon/vst2p16.c 2010-07-29 15:38:15 +0000
15287+++ new/gcc/testsuite/gcc.target/arm/neon/vst2p16.c 2010-08-20 13:27:11 +0000
15288@@ -16,5 +16,5 @@
15289 vst2_p16 (arg0_poly16_t, arg1_poly16x4x2_t);
15290 }
15291
15292-/* { dg-final { scan-assembler "vst2\.16\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
15293+/* { dg-final { scan-assembler "vst2\.16\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
15294 /* { dg-final { cleanup-saved-temps } } */
15295
15296=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst2p8.c'
15297--- old/gcc/testsuite/gcc.target/arm/neon/vst2p8.c 2010-07-29 15:38:15 +0000
15298+++ new/gcc/testsuite/gcc.target/arm/neon/vst2p8.c 2010-08-20 13:27:11 +0000
15299@@ -16,5 +16,5 @@
15300 vst2_p8 (arg0_poly8_t, arg1_poly8x8x2_t);
15301 }
15302
15303-/* { dg-final { scan-assembler "vst2\.8\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
15304+/* { dg-final { scan-assembler "vst2\.8\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
15305 /* { dg-final { cleanup-saved-temps } } */
15306
15307=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst2s16.c'
15308--- old/gcc/testsuite/gcc.target/arm/neon/vst2s16.c 2010-07-29 15:38:15 +0000
15309+++ new/gcc/testsuite/gcc.target/arm/neon/vst2s16.c 2010-08-20 13:27:11 +0000
15310@@ -16,5 +16,5 @@
15311 vst2_s16 (arg0_int16_t, arg1_int16x4x2_t);
15312 }
15313
15314-/* { dg-final { scan-assembler "vst2\.16\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
15315+/* { dg-final { scan-assembler "vst2\.16\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
15316 /* { dg-final { cleanup-saved-temps } } */
15317
15318=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst2s32.c'
15319--- old/gcc/testsuite/gcc.target/arm/neon/vst2s32.c 2010-07-29 15:38:15 +0000
15320+++ new/gcc/testsuite/gcc.target/arm/neon/vst2s32.c 2010-08-20 13:27:11 +0000
15321@@ -16,5 +16,5 @@
15322 vst2_s32 (arg0_int32_t, arg1_int32x2x2_t);
15323 }
15324
15325-/* { dg-final { scan-assembler "vst2\.32\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
15326+/* { dg-final { scan-assembler "vst2\.32\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
15327 /* { dg-final { cleanup-saved-temps } } */
15328
15329=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst2s64.c'
15330--- old/gcc/testsuite/gcc.target/arm/neon/vst2s64.c 2010-07-29 15:38:15 +0000
15331+++ new/gcc/testsuite/gcc.target/arm/neon/vst2s64.c 2010-08-20 13:27:11 +0000
15332@@ -16,5 +16,5 @@
15333 vst2_s64 (arg0_int64_t, arg1_int64x1x2_t);
15334 }
15335
15336-/* { dg-final { scan-assembler "vst1\.64\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
15337+/* { dg-final { scan-assembler "vst1\.64\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
15338 /* { dg-final { cleanup-saved-temps } } */
15339
15340=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst2s8.c'
15341--- old/gcc/testsuite/gcc.target/arm/neon/vst2s8.c 2010-07-29 15:38:15 +0000
15342+++ new/gcc/testsuite/gcc.target/arm/neon/vst2s8.c 2010-08-20 13:27:11 +0000
15343@@ -16,5 +16,5 @@
15344 vst2_s8 (arg0_int8_t, arg1_int8x8x2_t);
15345 }
15346
15347-/* { dg-final { scan-assembler "vst2\.8\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
15348+/* { dg-final { scan-assembler "vst2\.8\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
15349 /* { dg-final { cleanup-saved-temps } } */
15350
15351=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst2u16.c'
15352--- old/gcc/testsuite/gcc.target/arm/neon/vst2u16.c 2010-07-29 15:38:15 +0000
15353+++ new/gcc/testsuite/gcc.target/arm/neon/vst2u16.c 2010-08-20 13:27:11 +0000
15354@@ -16,5 +16,5 @@
15355 vst2_u16 (arg0_uint16_t, arg1_uint16x4x2_t);
15356 }
15357
15358-/* { dg-final { scan-assembler "vst2\.16\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
15359+/* { dg-final { scan-assembler "vst2\.16\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
15360 /* { dg-final { cleanup-saved-temps } } */
15361
15362=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst2u32.c'
15363--- old/gcc/testsuite/gcc.target/arm/neon/vst2u32.c 2010-07-29 15:38:15 +0000
15364+++ new/gcc/testsuite/gcc.target/arm/neon/vst2u32.c 2010-08-20 13:27:11 +0000
15365@@ -16,5 +16,5 @@
15366 vst2_u32 (arg0_uint32_t, arg1_uint32x2x2_t);
15367 }
15368
15369-/* { dg-final { scan-assembler "vst2\.32\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
15370+/* { dg-final { scan-assembler "vst2\.32\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
15371 /* { dg-final { cleanup-saved-temps } } */
15372
15373=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst2u64.c'
15374--- old/gcc/testsuite/gcc.target/arm/neon/vst2u64.c 2010-07-29 15:38:15 +0000
15375+++ new/gcc/testsuite/gcc.target/arm/neon/vst2u64.c 2010-08-20 13:27:11 +0000
15376@@ -16,5 +16,5 @@
15377 vst2_u64 (arg0_uint64_t, arg1_uint64x1x2_t);
15378 }
15379
15380-/* { dg-final { scan-assembler "vst1\.64\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
15381+/* { dg-final { scan-assembler "vst1\.64\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
15382 /* { dg-final { cleanup-saved-temps } } */
15383
15384=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst2u8.c'
15385--- old/gcc/testsuite/gcc.target/arm/neon/vst2u8.c 2010-07-29 15:38:15 +0000
15386+++ new/gcc/testsuite/gcc.target/arm/neon/vst2u8.c 2010-08-20 13:27:11 +0000
15387@@ -16,5 +16,5 @@
15388 vst2_u8 (arg0_uint8_t, arg1_uint8x8x2_t);
15389 }
15390
15391-/* { dg-final { scan-assembler "vst2\.8\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
15392+/* { dg-final { scan-assembler "vst2\.8\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
15393 /* { dg-final { cleanup-saved-temps } } */
15394
15395=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst3Q_lanef32.c'
15396--- old/gcc/testsuite/gcc.target/arm/neon/vst3Q_lanef32.c 2010-07-29 15:38:15 +0000
15397+++ new/gcc/testsuite/gcc.target/arm/neon/vst3Q_lanef32.c 2010-08-20 13:27:11 +0000
15398@@ -16,5 +16,5 @@
15399 vst3q_lane_f32 (arg0_float32_t, arg1_float32x4x3_t, 1);
15400 }
15401
15402-/* { dg-final { scan-assembler "vst3\.32\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
15403+/* { dg-final { scan-assembler "vst3\.32\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
15404 /* { dg-final { cleanup-saved-temps } } */
15405
15406=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst3Q_lanep16.c'
15407--- old/gcc/testsuite/gcc.target/arm/neon/vst3Q_lanep16.c 2010-07-29 15:38:15 +0000
15408+++ new/gcc/testsuite/gcc.target/arm/neon/vst3Q_lanep16.c 2010-08-20 13:27:11 +0000
15409@@ -16,5 +16,5 @@
15410 vst3q_lane_p16 (arg0_poly16_t, arg1_poly16x8x3_t, 1);
15411 }
15412
15413-/* { dg-final { scan-assembler "vst3\.16\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
15414+/* { dg-final { scan-assembler "vst3\.16\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
15415 /* { dg-final { cleanup-saved-temps } } */
15416
15417=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst3Q_lanes16.c'
15418--- old/gcc/testsuite/gcc.target/arm/neon/vst3Q_lanes16.c 2010-07-29 15:38:15 +0000
15419+++ new/gcc/testsuite/gcc.target/arm/neon/vst3Q_lanes16.c 2010-08-20 13:27:11 +0000
15420@@ -16,5 +16,5 @@
15421 vst3q_lane_s16 (arg0_int16_t, arg1_int16x8x3_t, 1);
15422 }
15423
15424-/* { dg-final { scan-assembler "vst3\.16\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
15425+/* { dg-final { scan-assembler "vst3\.16\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
15426 /* { dg-final { cleanup-saved-temps } } */
15427
15428=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst3Q_lanes32.c'
15429--- old/gcc/testsuite/gcc.target/arm/neon/vst3Q_lanes32.c 2010-07-29 15:38:15 +0000
15430+++ new/gcc/testsuite/gcc.target/arm/neon/vst3Q_lanes32.c 2010-08-20 13:27:11 +0000
15431@@ -16,5 +16,5 @@
15432 vst3q_lane_s32 (arg0_int32_t, arg1_int32x4x3_t, 1);
15433 }
15434
15435-/* { dg-final { scan-assembler "vst3\.32\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
15436+/* { dg-final { scan-assembler "vst3\.32\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
15437 /* { dg-final { cleanup-saved-temps } } */
15438
15439=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst3Q_laneu16.c'
15440--- old/gcc/testsuite/gcc.target/arm/neon/vst3Q_laneu16.c 2010-07-29 15:38:15 +0000
15441+++ new/gcc/testsuite/gcc.target/arm/neon/vst3Q_laneu16.c 2010-08-20 13:27:11 +0000
15442@@ -16,5 +16,5 @@
15443 vst3q_lane_u16 (arg0_uint16_t, arg1_uint16x8x3_t, 1);
15444 }
15445
15446-/* { dg-final { scan-assembler "vst3\.16\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
15447+/* { dg-final { scan-assembler "vst3\.16\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
15448 /* { dg-final { cleanup-saved-temps } } */
15449
15450=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst3Q_laneu32.c'
15451--- old/gcc/testsuite/gcc.target/arm/neon/vst3Q_laneu32.c 2010-07-29 15:38:15 +0000
15452+++ new/gcc/testsuite/gcc.target/arm/neon/vst3Q_laneu32.c 2010-08-20 13:27:11 +0000
15453@@ -16,5 +16,5 @@
15454 vst3q_lane_u32 (arg0_uint32_t, arg1_uint32x4x3_t, 1);
15455 }
15456
15457-/* { dg-final { scan-assembler "vst3\.32\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
15458+/* { dg-final { scan-assembler "vst3\.32\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
15459 /* { dg-final { cleanup-saved-temps } } */
15460
15461=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst3Qf32.c'
15462--- old/gcc/testsuite/gcc.target/arm/neon/vst3Qf32.c 2010-07-29 15:38:15 +0000
15463+++ new/gcc/testsuite/gcc.target/arm/neon/vst3Qf32.c 2010-08-20 13:27:11 +0000
15464@@ -16,6 +16,6 @@
15465 vst3q_f32 (arg0_float32_t, arg1_float32x4x3_t);
15466 }
15467
15468-/* { dg-final { scan-assembler "vst3\.32\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
15469-/* { dg-final { scan-assembler "vst3\.32\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
15470+/* { dg-final { scan-assembler "vst3\.32\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
15471+/* { dg-final { scan-assembler "vst3\.32\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
15472 /* { dg-final { cleanup-saved-temps } } */
15473
15474=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst3Qp16.c'
15475--- old/gcc/testsuite/gcc.target/arm/neon/vst3Qp16.c 2010-07-29 15:38:15 +0000
15476+++ new/gcc/testsuite/gcc.target/arm/neon/vst3Qp16.c 2010-08-20 13:27:11 +0000
15477@@ -16,6 +16,6 @@
15478 vst3q_p16 (arg0_poly16_t, arg1_poly16x8x3_t);
15479 }
15480
15481-/* { dg-final { scan-assembler "vst3\.16\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
15482-/* { dg-final { scan-assembler "vst3\.16\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
15483+/* { dg-final { scan-assembler "vst3\.16\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
15484+/* { dg-final { scan-assembler "vst3\.16\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
15485 /* { dg-final { cleanup-saved-temps } } */
15486
15487=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst3Qp8.c'
15488--- old/gcc/testsuite/gcc.target/arm/neon/vst3Qp8.c 2010-07-29 15:38:15 +0000
15489+++ new/gcc/testsuite/gcc.target/arm/neon/vst3Qp8.c 2010-08-20 13:27:11 +0000
15490@@ -16,6 +16,6 @@
15491 vst3q_p8 (arg0_poly8_t, arg1_poly8x16x3_t);
15492 }
15493
15494-/* { dg-final { scan-assembler "vst3\.8\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
15495-/* { dg-final { scan-assembler "vst3\.8\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
15496+/* { dg-final { scan-assembler "vst3\.8\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
15497+/* { dg-final { scan-assembler "vst3\.8\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
15498 /* { dg-final { cleanup-saved-temps } } */
15499
15500=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst3Qs16.c'
15501--- old/gcc/testsuite/gcc.target/arm/neon/vst3Qs16.c 2010-07-29 15:38:15 +0000
15502+++ new/gcc/testsuite/gcc.target/arm/neon/vst3Qs16.c 2010-08-20 13:27:11 +0000
15503@@ -16,6 +16,6 @@
15504 vst3q_s16 (arg0_int16_t, arg1_int16x8x3_t);
15505 }
15506
15507-/* { dg-final { scan-assembler "vst3\.16\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
15508-/* { dg-final { scan-assembler "vst3\.16\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
15509+/* { dg-final { scan-assembler "vst3\.16\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
15510+/* { dg-final { scan-assembler "vst3\.16\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
15511 /* { dg-final { cleanup-saved-temps } } */
15512
15513=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst3Qs32.c'
15514--- old/gcc/testsuite/gcc.target/arm/neon/vst3Qs32.c 2010-07-29 15:38:15 +0000
15515+++ new/gcc/testsuite/gcc.target/arm/neon/vst3Qs32.c 2010-08-20 13:27:11 +0000
15516@@ -16,6 +16,6 @@
15517 vst3q_s32 (arg0_int32_t, arg1_int32x4x3_t);
15518 }
15519
15520-/* { dg-final { scan-assembler "vst3\.32\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
15521-/* { dg-final { scan-assembler "vst3\.32\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
15522+/* { dg-final { scan-assembler "vst3\.32\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
15523+/* { dg-final { scan-assembler "vst3\.32\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
15524 /* { dg-final { cleanup-saved-temps } } */
15525
15526=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst3Qs8.c'
15527--- old/gcc/testsuite/gcc.target/arm/neon/vst3Qs8.c 2010-07-29 15:38:15 +0000
15528+++ new/gcc/testsuite/gcc.target/arm/neon/vst3Qs8.c 2010-08-20 13:27:11 +0000
15529@@ -16,6 +16,6 @@
15530 vst3q_s8 (arg0_int8_t, arg1_int8x16x3_t);
15531 }
15532
15533-/* { dg-final { scan-assembler "vst3\.8\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
15534-/* { dg-final { scan-assembler "vst3\.8\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
15535+/* { dg-final { scan-assembler "vst3\.8\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
15536+/* { dg-final { scan-assembler "vst3\.8\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
15537 /* { dg-final { cleanup-saved-temps } } */
15538
15539=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst3Qu16.c'
15540--- old/gcc/testsuite/gcc.target/arm/neon/vst3Qu16.c 2010-07-29 15:38:15 +0000
15541+++ new/gcc/testsuite/gcc.target/arm/neon/vst3Qu16.c 2010-08-20 13:27:11 +0000
15542@@ -16,6 +16,6 @@
15543 vst3q_u16 (arg0_uint16_t, arg1_uint16x8x3_t);
15544 }
15545
15546-/* { dg-final { scan-assembler "vst3\.16\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
15547-/* { dg-final { scan-assembler "vst3\.16\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
15548+/* { dg-final { scan-assembler "vst3\.16\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
15549+/* { dg-final { scan-assembler "vst3\.16\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
15550 /* { dg-final { cleanup-saved-temps } } */
15551
15552=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst3Qu32.c'
15553--- old/gcc/testsuite/gcc.target/arm/neon/vst3Qu32.c 2010-07-29 15:38:15 +0000
15554+++ new/gcc/testsuite/gcc.target/arm/neon/vst3Qu32.c 2010-08-20 13:27:11 +0000
15555@@ -16,6 +16,6 @@
15556 vst3q_u32 (arg0_uint32_t, arg1_uint32x4x3_t);
15557 }
15558
15559-/* { dg-final { scan-assembler "vst3\.32\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
15560-/* { dg-final { scan-assembler "vst3\.32\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
15561+/* { dg-final { scan-assembler "vst3\.32\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
15562+/* { dg-final { scan-assembler "vst3\.32\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
15563 /* { dg-final { cleanup-saved-temps } } */
15564
15565=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst3Qu8.c'
15566--- old/gcc/testsuite/gcc.target/arm/neon/vst3Qu8.c 2010-07-29 15:38:15 +0000
15567+++ new/gcc/testsuite/gcc.target/arm/neon/vst3Qu8.c 2010-08-20 13:27:11 +0000
15568@@ -16,6 +16,6 @@
15569 vst3q_u8 (arg0_uint8_t, arg1_uint8x16x3_t);
15570 }
15571
15572-/* { dg-final { scan-assembler "vst3\.8\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
15573-/* { dg-final { scan-assembler "vst3\.8\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
15574+/* { dg-final { scan-assembler "vst3\.8\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
15575+/* { dg-final { scan-assembler "vst3\.8\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
15576 /* { dg-final { cleanup-saved-temps } } */
15577
15578=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst3_lanef32.c'
15579--- old/gcc/testsuite/gcc.target/arm/neon/vst3_lanef32.c 2010-07-29 15:38:15 +0000
15580+++ new/gcc/testsuite/gcc.target/arm/neon/vst3_lanef32.c 2010-08-20 13:27:11 +0000
15581@@ -16,5 +16,5 @@
15582 vst3_lane_f32 (arg0_float32_t, arg1_float32x2x3_t, 1);
15583 }
15584
15585-/* { dg-final { scan-assembler "vst3\.32\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
15586+/* { dg-final { scan-assembler "vst3\.32\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
15587 /* { dg-final { cleanup-saved-temps } } */
15588
15589=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst3_lanep16.c'
15590--- old/gcc/testsuite/gcc.target/arm/neon/vst3_lanep16.c 2010-07-29 15:38:15 +0000
15591+++ new/gcc/testsuite/gcc.target/arm/neon/vst3_lanep16.c 2010-08-20 13:27:11 +0000
15592@@ -16,5 +16,5 @@
15593 vst3_lane_p16 (arg0_poly16_t, arg1_poly16x4x3_t, 1);
15594 }
15595
15596-/* { dg-final { scan-assembler "vst3\.16\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
15597+/* { dg-final { scan-assembler "vst3\.16\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
15598 /* { dg-final { cleanup-saved-temps } } */
15599
15600=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst3_lanep8.c'
15601--- old/gcc/testsuite/gcc.target/arm/neon/vst3_lanep8.c 2010-07-29 15:38:15 +0000
15602+++ new/gcc/testsuite/gcc.target/arm/neon/vst3_lanep8.c 2010-08-20 13:27:11 +0000
15603@@ -16,5 +16,5 @@
15604 vst3_lane_p8 (arg0_poly8_t, arg1_poly8x8x3_t, 1);
15605 }
15606
15607-/* { dg-final { scan-assembler "vst3\.8\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
15608+/* { dg-final { scan-assembler "vst3\.8\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
15609 /* { dg-final { cleanup-saved-temps } } */
15610
15611=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst3_lanes16.c'
15612--- old/gcc/testsuite/gcc.target/arm/neon/vst3_lanes16.c 2010-07-29 15:38:15 +0000
15613+++ new/gcc/testsuite/gcc.target/arm/neon/vst3_lanes16.c 2010-08-20 13:27:11 +0000
15614@@ -16,5 +16,5 @@
15615 vst3_lane_s16 (arg0_int16_t, arg1_int16x4x3_t, 1);
15616 }
15617
15618-/* { dg-final { scan-assembler "vst3\.16\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
15619+/* { dg-final { scan-assembler "vst3\.16\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
15620 /* { dg-final { cleanup-saved-temps } } */
15621
15622=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst3_lanes32.c'
15623--- old/gcc/testsuite/gcc.target/arm/neon/vst3_lanes32.c 2010-07-29 15:38:15 +0000
15624+++ new/gcc/testsuite/gcc.target/arm/neon/vst3_lanes32.c 2010-08-20 13:27:11 +0000
15625@@ -16,5 +16,5 @@
15626 vst3_lane_s32 (arg0_int32_t, arg1_int32x2x3_t, 1);
15627 }
15628
15629-/* { dg-final { scan-assembler "vst3\.32\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
15630+/* { dg-final { scan-assembler "vst3\.32\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
15631 /* { dg-final { cleanup-saved-temps } } */
15632
15633=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst3_lanes8.c'
15634--- old/gcc/testsuite/gcc.target/arm/neon/vst3_lanes8.c 2010-07-29 15:38:15 +0000
15635+++ new/gcc/testsuite/gcc.target/arm/neon/vst3_lanes8.c 2010-08-20 13:27:11 +0000
15636@@ -16,5 +16,5 @@
15637 vst3_lane_s8 (arg0_int8_t, arg1_int8x8x3_t, 1);
15638 }
15639
15640-/* { dg-final { scan-assembler "vst3\.8\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
15641+/* { dg-final { scan-assembler "vst3\.8\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
15642 /* { dg-final { cleanup-saved-temps } } */
15643
15644=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst3_laneu16.c'
15645--- old/gcc/testsuite/gcc.target/arm/neon/vst3_laneu16.c 2010-07-29 15:38:15 +0000
15646+++ new/gcc/testsuite/gcc.target/arm/neon/vst3_laneu16.c 2010-08-20 13:27:11 +0000
15647@@ -16,5 +16,5 @@
15648 vst3_lane_u16 (arg0_uint16_t, arg1_uint16x4x3_t, 1);
15649 }
15650
15651-/* { dg-final { scan-assembler "vst3\.16\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
15652+/* { dg-final { scan-assembler "vst3\.16\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
15653 /* { dg-final { cleanup-saved-temps } } */
15654
15655=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst3_laneu32.c'
15656--- old/gcc/testsuite/gcc.target/arm/neon/vst3_laneu32.c 2010-07-29 15:38:15 +0000
15657+++ new/gcc/testsuite/gcc.target/arm/neon/vst3_laneu32.c 2010-08-20 13:27:11 +0000
15658@@ -16,5 +16,5 @@
15659 vst3_lane_u32 (arg0_uint32_t, arg1_uint32x2x3_t, 1);
15660 }
15661
15662-/* { dg-final { scan-assembler "vst3\.32\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
15663+/* { dg-final { scan-assembler "vst3\.32\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
15664 /* { dg-final { cleanup-saved-temps } } */
15665
15666=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst3_laneu8.c'
15667--- old/gcc/testsuite/gcc.target/arm/neon/vst3_laneu8.c 2010-07-29 15:38:15 +0000
15668+++ new/gcc/testsuite/gcc.target/arm/neon/vst3_laneu8.c 2010-08-20 13:27:11 +0000
15669@@ -16,5 +16,5 @@
15670 vst3_lane_u8 (arg0_uint8_t, arg1_uint8x8x3_t, 1);
15671 }
15672
15673-/* { dg-final { scan-assembler "vst3\.8\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
15674+/* { dg-final { scan-assembler "vst3\.8\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
15675 /* { dg-final { cleanup-saved-temps } } */
15676
15677=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst3f32.c'
15678--- old/gcc/testsuite/gcc.target/arm/neon/vst3f32.c 2010-07-29 15:38:15 +0000
15679+++ new/gcc/testsuite/gcc.target/arm/neon/vst3f32.c 2010-08-20 13:27:11 +0000
15680@@ -16,5 +16,5 @@
15681 vst3_f32 (arg0_float32_t, arg1_float32x2x3_t);
15682 }
15683
15684-/* { dg-final { scan-assembler "vst3\.32\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
15685+/* { dg-final { scan-assembler "vst3\.32\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
15686 /* { dg-final { cleanup-saved-temps } } */
15687
15688=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst3p16.c'
15689--- old/gcc/testsuite/gcc.target/arm/neon/vst3p16.c 2010-07-29 15:38:15 +0000
15690+++ new/gcc/testsuite/gcc.target/arm/neon/vst3p16.c 2010-08-20 13:27:11 +0000
15691@@ -16,5 +16,5 @@
15692 vst3_p16 (arg0_poly16_t, arg1_poly16x4x3_t);
15693 }
15694
15695-/* { dg-final { scan-assembler "vst3\.16\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
15696+/* { dg-final { scan-assembler "vst3\.16\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
15697 /* { dg-final { cleanup-saved-temps } } */
15698
15699=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst3p8.c'
15700--- old/gcc/testsuite/gcc.target/arm/neon/vst3p8.c 2010-07-29 15:38:15 +0000
15701+++ new/gcc/testsuite/gcc.target/arm/neon/vst3p8.c 2010-08-20 13:27:11 +0000
15702@@ -16,5 +16,5 @@
15703 vst3_p8 (arg0_poly8_t, arg1_poly8x8x3_t);
15704 }
15705
15706-/* { dg-final { scan-assembler "vst3\.8\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
15707+/* { dg-final { scan-assembler "vst3\.8\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
15708 /* { dg-final { cleanup-saved-temps } } */
15709
15710=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst3s16.c'
15711--- old/gcc/testsuite/gcc.target/arm/neon/vst3s16.c 2010-07-29 15:38:15 +0000
15712+++ new/gcc/testsuite/gcc.target/arm/neon/vst3s16.c 2010-08-20 13:27:11 +0000
15713@@ -16,5 +16,5 @@
15714 vst3_s16 (arg0_int16_t, arg1_int16x4x3_t);
15715 }
15716
15717-/* { dg-final { scan-assembler "vst3\.16\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
15718+/* { dg-final { scan-assembler "vst3\.16\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
15719 /* { dg-final { cleanup-saved-temps } } */
15720
15721=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst3s32.c'
15722--- old/gcc/testsuite/gcc.target/arm/neon/vst3s32.c 2010-07-29 15:38:15 +0000
15723+++ new/gcc/testsuite/gcc.target/arm/neon/vst3s32.c 2010-08-20 13:27:11 +0000
15724@@ -16,5 +16,5 @@
15725 vst3_s32 (arg0_int32_t, arg1_int32x2x3_t);
15726 }
15727
15728-/* { dg-final { scan-assembler "vst3\.32\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
15729+/* { dg-final { scan-assembler "vst3\.32\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
15730 /* { dg-final { cleanup-saved-temps } } */
15731
15732=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst3s64.c'
15733--- old/gcc/testsuite/gcc.target/arm/neon/vst3s64.c 2010-07-29 15:38:15 +0000
15734+++ new/gcc/testsuite/gcc.target/arm/neon/vst3s64.c 2010-08-20 13:27:11 +0000
15735@@ -16,5 +16,5 @@
15736 vst3_s64 (arg0_int64_t, arg1_int64x1x3_t);
15737 }
15738
15739-/* { dg-final { scan-assembler "vst1\.64\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
15740+/* { dg-final { scan-assembler "vst1\.64\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
15741 /* { dg-final { cleanup-saved-temps } } */
15742
15743=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst3s8.c'
15744--- old/gcc/testsuite/gcc.target/arm/neon/vst3s8.c 2010-07-29 15:38:15 +0000
15745+++ new/gcc/testsuite/gcc.target/arm/neon/vst3s8.c 2010-08-20 13:27:11 +0000
15746@@ -16,5 +16,5 @@
15747 vst3_s8 (arg0_int8_t, arg1_int8x8x3_t);
15748 }
15749
15750-/* { dg-final { scan-assembler "vst3\.8\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
15751+/* { dg-final { scan-assembler "vst3\.8\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
15752 /* { dg-final { cleanup-saved-temps } } */
15753
15754=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst3u16.c'
15755--- old/gcc/testsuite/gcc.target/arm/neon/vst3u16.c 2010-07-29 15:38:15 +0000
15756+++ new/gcc/testsuite/gcc.target/arm/neon/vst3u16.c 2010-08-20 13:27:11 +0000
15757@@ -16,5 +16,5 @@
15758 vst3_u16 (arg0_uint16_t, arg1_uint16x4x3_t);
15759 }
15760
15761-/* { dg-final { scan-assembler "vst3\.16\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
15762+/* { dg-final { scan-assembler "vst3\.16\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
15763 /* { dg-final { cleanup-saved-temps } } */
15764
15765=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst3u32.c'
15766--- old/gcc/testsuite/gcc.target/arm/neon/vst3u32.c 2010-07-29 15:38:15 +0000
15767+++ new/gcc/testsuite/gcc.target/arm/neon/vst3u32.c 2010-08-20 13:27:11 +0000
15768@@ -16,5 +16,5 @@
15769 vst3_u32 (arg0_uint32_t, arg1_uint32x2x3_t);
15770 }
15771
15772-/* { dg-final { scan-assembler "vst3\.32\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
15773+/* { dg-final { scan-assembler "vst3\.32\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
15774 /* { dg-final { cleanup-saved-temps } } */
15775
15776=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst3u64.c'
15777--- old/gcc/testsuite/gcc.target/arm/neon/vst3u64.c 2010-07-29 15:38:15 +0000
15778+++ new/gcc/testsuite/gcc.target/arm/neon/vst3u64.c 2010-08-20 13:27:11 +0000
15779@@ -16,5 +16,5 @@
15780 vst3_u64 (arg0_uint64_t, arg1_uint64x1x3_t);
15781 }
15782
15783-/* { dg-final { scan-assembler "vst1\.64\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
15784+/* { dg-final { scan-assembler "vst1\.64\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
15785 /* { dg-final { cleanup-saved-temps } } */
15786
15787=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst3u8.c'
15788--- old/gcc/testsuite/gcc.target/arm/neon/vst3u8.c 2010-07-29 15:38:15 +0000
15789+++ new/gcc/testsuite/gcc.target/arm/neon/vst3u8.c 2010-08-20 13:27:11 +0000
15790@@ -16,5 +16,5 @@
15791 vst3_u8 (arg0_uint8_t, arg1_uint8x8x3_t);
15792 }
15793
15794-/* { dg-final { scan-assembler "vst3\.8\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
15795+/* { dg-final { scan-assembler "vst3\.8\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
15796 /* { dg-final { cleanup-saved-temps } } */
15797
15798=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst4Q_lanef32.c'
15799--- old/gcc/testsuite/gcc.target/arm/neon/vst4Q_lanef32.c 2010-07-29 15:38:15 +0000
15800+++ new/gcc/testsuite/gcc.target/arm/neon/vst4Q_lanef32.c 2010-08-20 13:27:11 +0000
15801@@ -16,5 +16,5 @@
15802 vst4q_lane_f32 (arg0_float32_t, arg1_float32x4x4_t, 1);
15803 }
15804
15805-/* { dg-final { scan-assembler "vst4\.32\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
15806+/* { dg-final { scan-assembler "vst4\.32\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
15807 /* { dg-final { cleanup-saved-temps } } */
15808
15809=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst4Q_lanep16.c'
15810--- old/gcc/testsuite/gcc.target/arm/neon/vst4Q_lanep16.c 2010-07-29 15:38:15 +0000
15811+++ new/gcc/testsuite/gcc.target/arm/neon/vst4Q_lanep16.c 2010-08-20 13:27:11 +0000
15812@@ -16,5 +16,5 @@
15813 vst4q_lane_p16 (arg0_poly16_t, arg1_poly16x8x4_t, 1);
15814 }
15815
15816-/* { dg-final { scan-assembler "vst4\.16\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
15817+/* { dg-final { scan-assembler "vst4\.16\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
15818 /* { dg-final { cleanup-saved-temps } } */
15819
15820=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst4Q_lanes16.c'
15821--- old/gcc/testsuite/gcc.target/arm/neon/vst4Q_lanes16.c 2010-07-29 15:38:15 +0000
15822+++ new/gcc/testsuite/gcc.target/arm/neon/vst4Q_lanes16.c 2010-08-20 13:27:11 +0000
15823@@ -16,5 +16,5 @@
15824 vst4q_lane_s16 (arg0_int16_t, arg1_int16x8x4_t, 1);
15825 }
15826
15827-/* { dg-final { scan-assembler "vst4\.16\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
15828+/* { dg-final { scan-assembler "vst4\.16\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
15829 /* { dg-final { cleanup-saved-temps } } */
15830
15831=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst4Q_lanes32.c'
15832--- old/gcc/testsuite/gcc.target/arm/neon/vst4Q_lanes32.c 2010-07-29 15:38:15 +0000
15833+++ new/gcc/testsuite/gcc.target/arm/neon/vst4Q_lanes32.c 2010-08-20 13:27:11 +0000
15834@@ -16,5 +16,5 @@
15835 vst4q_lane_s32 (arg0_int32_t, arg1_int32x4x4_t, 1);
15836 }
15837
15838-/* { dg-final { scan-assembler "vst4\.32\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
15839+/* { dg-final { scan-assembler "vst4\.32\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
15840 /* { dg-final { cleanup-saved-temps } } */
15841
15842=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst4Q_laneu16.c'
15843--- old/gcc/testsuite/gcc.target/arm/neon/vst4Q_laneu16.c 2010-07-29 15:38:15 +0000
15844+++ new/gcc/testsuite/gcc.target/arm/neon/vst4Q_laneu16.c 2010-08-20 13:27:11 +0000
15845@@ -16,5 +16,5 @@
15846 vst4q_lane_u16 (arg0_uint16_t, arg1_uint16x8x4_t, 1);
15847 }
15848
15849-/* { dg-final { scan-assembler "vst4\.16\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
15850+/* { dg-final { scan-assembler "vst4\.16\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
15851 /* { dg-final { cleanup-saved-temps } } */
15852
15853=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst4Q_laneu32.c'
15854--- old/gcc/testsuite/gcc.target/arm/neon/vst4Q_laneu32.c 2010-07-29 15:38:15 +0000
15855+++ new/gcc/testsuite/gcc.target/arm/neon/vst4Q_laneu32.c 2010-08-20 13:27:11 +0000
15856@@ -16,5 +16,5 @@
15857 vst4q_lane_u32 (arg0_uint32_t, arg1_uint32x4x4_t, 1);
15858 }
15859
15860-/* { dg-final { scan-assembler "vst4\.32\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
15861+/* { dg-final { scan-assembler "vst4\.32\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
15862 /* { dg-final { cleanup-saved-temps } } */
15863
15864=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst4Qf32.c'
15865--- old/gcc/testsuite/gcc.target/arm/neon/vst4Qf32.c 2010-07-29 15:38:15 +0000
15866+++ new/gcc/testsuite/gcc.target/arm/neon/vst4Qf32.c 2010-08-20 13:27:11 +0000
15867@@ -16,6 +16,6 @@
15868 vst4q_f32 (arg0_float32_t, arg1_float32x4x4_t);
15869 }
15870
15871-/* { dg-final { scan-assembler "vst4\.32\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
15872-/* { dg-final { scan-assembler "vst4\.32\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
15873+/* { dg-final { scan-assembler "vst4\.32\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
15874+/* { dg-final { scan-assembler "vst4\.32\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
15875 /* { dg-final { cleanup-saved-temps } } */
15876
15877=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst4Qp16.c'
15878--- old/gcc/testsuite/gcc.target/arm/neon/vst4Qp16.c 2010-07-29 15:38:15 +0000
15879+++ new/gcc/testsuite/gcc.target/arm/neon/vst4Qp16.c 2010-08-20 13:27:11 +0000
15880@@ -16,6 +16,6 @@
15881 vst4q_p16 (arg0_poly16_t, arg1_poly16x8x4_t);
15882 }
15883
15884-/* { dg-final { scan-assembler "vst4\.16\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
15885-/* { dg-final { scan-assembler "vst4\.16\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
15886+/* { dg-final { scan-assembler "vst4\.16\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
15887+/* { dg-final { scan-assembler "vst4\.16\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
15888 /* { dg-final { cleanup-saved-temps } } */
15889
15890=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst4Qp8.c'
15891--- old/gcc/testsuite/gcc.target/arm/neon/vst4Qp8.c 2010-07-29 15:38:15 +0000
15892+++ new/gcc/testsuite/gcc.target/arm/neon/vst4Qp8.c 2010-08-20 13:27:11 +0000
15893@@ -16,6 +16,6 @@
15894 vst4q_p8 (arg0_poly8_t, arg1_poly8x16x4_t);
15895 }
15896
15897-/* { dg-final { scan-assembler "vst4\.8\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
15898-/* { dg-final { scan-assembler "vst4\.8\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
15899+/* { dg-final { scan-assembler "vst4\.8\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
15900+/* { dg-final { scan-assembler "vst4\.8\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
15901 /* { dg-final { cleanup-saved-temps } } */
15902
15903=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst4Qs16.c'
15904--- old/gcc/testsuite/gcc.target/arm/neon/vst4Qs16.c 2010-07-29 15:38:15 +0000
15905+++ new/gcc/testsuite/gcc.target/arm/neon/vst4Qs16.c 2010-08-20 13:27:11 +0000
15906@@ -16,6 +16,6 @@
15907 vst4q_s16 (arg0_int16_t, arg1_int16x8x4_t);
15908 }
15909
15910-/* { dg-final { scan-assembler "vst4\.16\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
15911-/* { dg-final { scan-assembler "vst4\.16\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
15912+/* { dg-final { scan-assembler "vst4\.16\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
15913+/* { dg-final { scan-assembler "vst4\.16\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
15914 /* { dg-final { cleanup-saved-temps } } */
15915
15916=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst4Qs32.c'
15917--- old/gcc/testsuite/gcc.target/arm/neon/vst4Qs32.c 2010-07-29 15:38:15 +0000
15918+++ new/gcc/testsuite/gcc.target/arm/neon/vst4Qs32.c 2010-08-20 13:27:11 +0000
15919@@ -16,6 +16,6 @@
15920 vst4q_s32 (arg0_int32_t, arg1_int32x4x4_t);
15921 }
15922
15923-/* { dg-final { scan-assembler "vst4\.32\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
15924-/* { dg-final { scan-assembler "vst4\.32\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
15925+/* { dg-final { scan-assembler "vst4\.32\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
15926+/* { dg-final { scan-assembler "vst4\.32\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
15927 /* { dg-final { cleanup-saved-temps } } */
15928
15929=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst4Qs8.c'
15930--- old/gcc/testsuite/gcc.target/arm/neon/vst4Qs8.c 2010-07-29 15:38:15 +0000
15931+++ new/gcc/testsuite/gcc.target/arm/neon/vst4Qs8.c 2010-08-20 13:27:11 +0000
15932@@ -16,6 +16,6 @@
15933 vst4q_s8 (arg0_int8_t, arg1_int8x16x4_t);
15934 }
15935
15936-/* { dg-final { scan-assembler "vst4\.8\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
15937-/* { dg-final { scan-assembler "vst4\.8\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
15938+/* { dg-final { scan-assembler "vst4\.8\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
15939+/* { dg-final { scan-assembler "vst4\.8\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
15940 /* { dg-final { cleanup-saved-temps } } */
15941
15942=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst4Qu16.c'
15943--- old/gcc/testsuite/gcc.target/arm/neon/vst4Qu16.c 2010-07-29 15:38:15 +0000
15944+++ new/gcc/testsuite/gcc.target/arm/neon/vst4Qu16.c 2010-08-20 13:27:11 +0000
15945@@ -16,6 +16,6 @@
15946 vst4q_u16 (arg0_uint16_t, arg1_uint16x8x4_t);
15947 }
15948
15949-/* { dg-final { scan-assembler "vst4\.16\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
15950-/* { dg-final { scan-assembler "vst4\.16\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
15951+/* { dg-final { scan-assembler "vst4\.16\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
15952+/* { dg-final { scan-assembler "vst4\.16\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
15953 /* { dg-final { cleanup-saved-temps } } */
15954
15955=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst4Qu32.c'
15956--- old/gcc/testsuite/gcc.target/arm/neon/vst4Qu32.c 2010-07-29 15:38:15 +0000
15957+++ new/gcc/testsuite/gcc.target/arm/neon/vst4Qu32.c 2010-08-20 13:27:11 +0000
15958@@ -16,6 +16,6 @@
15959 vst4q_u32 (arg0_uint32_t, arg1_uint32x4x4_t);
15960 }
15961
15962-/* { dg-final { scan-assembler "vst4\.32\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
15963-/* { dg-final { scan-assembler "vst4\.32\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
15964+/* { dg-final { scan-assembler "vst4\.32\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
15965+/* { dg-final { scan-assembler "vst4\.32\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
15966 /* { dg-final { cleanup-saved-temps } } */
15967
15968=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst4Qu8.c'
15969--- old/gcc/testsuite/gcc.target/arm/neon/vst4Qu8.c 2010-07-29 15:38:15 +0000
15970+++ new/gcc/testsuite/gcc.target/arm/neon/vst4Qu8.c 2010-08-20 13:27:11 +0000
15971@@ -16,6 +16,6 @@
15972 vst4q_u8 (arg0_uint8_t, arg1_uint8x16x4_t);
15973 }
15974
15975-/* { dg-final { scan-assembler "vst4\.8\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
15976-/* { dg-final { scan-assembler "vst4\.8\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
15977+/* { dg-final { scan-assembler "vst4\.8\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
15978+/* { dg-final { scan-assembler "vst4\.8\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
15979 /* { dg-final { cleanup-saved-temps } } */
15980
15981=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst4_lanef32.c'
15982--- old/gcc/testsuite/gcc.target/arm/neon/vst4_lanef32.c 2010-07-29 15:38:15 +0000
15983+++ new/gcc/testsuite/gcc.target/arm/neon/vst4_lanef32.c 2010-08-20 13:27:11 +0000
15984@@ -16,5 +16,5 @@
15985 vst4_lane_f32 (arg0_float32_t, arg1_float32x2x4_t, 1);
15986 }
15987
15988-/* { dg-final { scan-assembler "vst4\.32\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
15989+/* { dg-final { scan-assembler "vst4\.32\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
15990 /* { dg-final { cleanup-saved-temps } } */
15991
15992=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst4_lanep16.c'
15993--- old/gcc/testsuite/gcc.target/arm/neon/vst4_lanep16.c 2010-07-29 15:38:15 +0000
15994+++ new/gcc/testsuite/gcc.target/arm/neon/vst4_lanep16.c 2010-08-20 13:27:11 +0000
15995@@ -16,5 +16,5 @@
15996 vst4_lane_p16 (arg0_poly16_t, arg1_poly16x4x4_t, 1);
15997 }
15998
15999-/* { dg-final { scan-assembler "vst4\.16\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
16000+/* { dg-final { scan-assembler "vst4\.16\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
16001 /* { dg-final { cleanup-saved-temps } } */
16002
16003=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst4_lanep8.c'
16004--- old/gcc/testsuite/gcc.target/arm/neon/vst4_lanep8.c 2010-07-29 15:38:15 +0000
16005+++ new/gcc/testsuite/gcc.target/arm/neon/vst4_lanep8.c 2010-08-20 13:27:11 +0000
16006@@ -16,5 +16,5 @@
16007 vst4_lane_p8 (arg0_poly8_t, arg1_poly8x8x4_t, 1);
16008 }
16009
16010-/* { dg-final { scan-assembler "vst4\.8\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
16011+/* { dg-final { scan-assembler "vst4\.8\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
16012 /* { dg-final { cleanup-saved-temps } } */
16013
16014=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst4_lanes16.c'
16015--- old/gcc/testsuite/gcc.target/arm/neon/vst4_lanes16.c 2010-07-29 15:38:15 +0000
16016+++ new/gcc/testsuite/gcc.target/arm/neon/vst4_lanes16.c 2010-08-20 13:27:11 +0000
16017@@ -16,5 +16,5 @@
16018 vst4_lane_s16 (arg0_int16_t, arg1_int16x4x4_t, 1);
16019 }
16020
16021-/* { dg-final { scan-assembler "vst4\.16\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
16022+/* { dg-final { scan-assembler "vst4\.16\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
16023 /* { dg-final { cleanup-saved-temps } } */
16024
16025=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst4_lanes32.c'
16026--- old/gcc/testsuite/gcc.target/arm/neon/vst4_lanes32.c 2010-07-29 15:38:15 +0000
16027+++ new/gcc/testsuite/gcc.target/arm/neon/vst4_lanes32.c 2010-08-20 13:27:11 +0000
16028@@ -16,5 +16,5 @@
16029 vst4_lane_s32 (arg0_int32_t, arg1_int32x2x4_t, 1);
16030 }
16031
16032-/* { dg-final { scan-assembler "vst4\.32\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
16033+/* { dg-final { scan-assembler "vst4\.32\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
16034 /* { dg-final { cleanup-saved-temps } } */
16035
16036=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst4_lanes8.c'
16037--- old/gcc/testsuite/gcc.target/arm/neon/vst4_lanes8.c 2010-07-29 15:38:15 +0000
16038+++ new/gcc/testsuite/gcc.target/arm/neon/vst4_lanes8.c 2010-08-20 13:27:11 +0000
16039@@ -16,5 +16,5 @@
16040 vst4_lane_s8 (arg0_int8_t, arg1_int8x8x4_t, 1);
16041 }
16042
16043-/* { dg-final { scan-assembler "vst4\.8\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
16044+/* { dg-final { scan-assembler "vst4\.8\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
16045 /* { dg-final { cleanup-saved-temps } } */
16046
16047=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst4_laneu16.c'
16048--- old/gcc/testsuite/gcc.target/arm/neon/vst4_laneu16.c 2010-07-29 15:38:15 +0000
16049+++ new/gcc/testsuite/gcc.target/arm/neon/vst4_laneu16.c 2010-08-20 13:27:11 +0000
16050@@ -16,5 +16,5 @@
16051 vst4_lane_u16 (arg0_uint16_t, arg1_uint16x4x4_t, 1);
16052 }
16053
16054-/* { dg-final { scan-assembler "vst4\.16\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
16055+/* { dg-final { scan-assembler "vst4\.16\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
16056 /* { dg-final { cleanup-saved-temps } } */
16057
16058=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst4_laneu32.c'
16059--- old/gcc/testsuite/gcc.target/arm/neon/vst4_laneu32.c 2010-07-29 15:38:15 +0000
16060+++ new/gcc/testsuite/gcc.target/arm/neon/vst4_laneu32.c 2010-08-20 13:27:11 +0000
16061@@ -16,5 +16,5 @@
16062 vst4_lane_u32 (arg0_uint32_t, arg1_uint32x2x4_t, 1);
16063 }
16064
16065-/* { dg-final { scan-assembler "vst4\.32\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
16066+/* { dg-final { scan-assembler "vst4\.32\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
16067 /* { dg-final { cleanup-saved-temps } } */
16068
16069=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst4_laneu8.c'
16070--- old/gcc/testsuite/gcc.target/arm/neon/vst4_laneu8.c 2010-07-29 15:38:15 +0000
16071+++ new/gcc/testsuite/gcc.target/arm/neon/vst4_laneu8.c 2010-08-20 13:27:11 +0000
16072@@ -16,5 +16,5 @@
16073 vst4_lane_u8 (arg0_uint8_t, arg1_uint8x8x4_t, 1);
16074 }
16075
16076-/* { dg-final { scan-assembler "vst4\.8\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
16077+/* { dg-final { scan-assembler "vst4\.8\[ \]+\\\{((\[dD\]\[0-9\]+\\\[\[0-9\]+\\\]-\[dD\]\[0-9\]+\\\[\[0-9\]+\\\])|(\[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\], \[dD\]\[0-9\]+\\\[\[0-9\]+\\\]))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
16078 /* { dg-final { cleanup-saved-temps } } */
16079
16080=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst4f32.c'
16081--- old/gcc/testsuite/gcc.target/arm/neon/vst4f32.c 2010-07-29 15:38:15 +0000
16082+++ new/gcc/testsuite/gcc.target/arm/neon/vst4f32.c 2010-08-20 13:27:11 +0000
16083@@ -16,5 +16,5 @@
16084 vst4_f32 (arg0_float32_t, arg1_float32x2x4_t);
16085 }
16086
16087-/* { dg-final { scan-assembler "vst4\.32\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
16088+/* { dg-final { scan-assembler "vst4\.32\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
16089 /* { dg-final { cleanup-saved-temps } } */
16090
16091=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst4p16.c'
16092--- old/gcc/testsuite/gcc.target/arm/neon/vst4p16.c 2010-07-29 15:38:15 +0000
16093+++ new/gcc/testsuite/gcc.target/arm/neon/vst4p16.c 2010-08-20 13:27:11 +0000
16094@@ -16,5 +16,5 @@
16095 vst4_p16 (arg0_poly16_t, arg1_poly16x4x4_t);
16096 }
16097
16098-/* { dg-final { scan-assembler "vst4\.16\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
16099+/* { dg-final { scan-assembler "vst4\.16\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
16100 /* { dg-final { cleanup-saved-temps } } */
16101
16102=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst4p8.c'
16103--- old/gcc/testsuite/gcc.target/arm/neon/vst4p8.c 2010-07-29 15:38:15 +0000
16104+++ new/gcc/testsuite/gcc.target/arm/neon/vst4p8.c 2010-08-20 13:27:11 +0000
16105@@ -16,5 +16,5 @@
16106 vst4_p8 (arg0_poly8_t, arg1_poly8x8x4_t);
16107 }
16108
16109-/* { dg-final { scan-assembler "vst4\.8\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
16110+/* { dg-final { scan-assembler "vst4\.8\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
16111 /* { dg-final { cleanup-saved-temps } } */
16112
16113=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst4s16.c'
16114--- old/gcc/testsuite/gcc.target/arm/neon/vst4s16.c 2010-07-29 15:38:15 +0000
16115+++ new/gcc/testsuite/gcc.target/arm/neon/vst4s16.c 2010-08-20 13:27:11 +0000
16116@@ -16,5 +16,5 @@
16117 vst4_s16 (arg0_int16_t, arg1_int16x4x4_t);
16118 }
16119
16120-/* { dg-final { scan-assembler "vst4\.16\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
16121+/* { dg-final { scan-assembler "vst4\.16\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
16122 /* { dg-final { cleanup-saved-temps } } */
16123
16124=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst4s32.c'
16125--- old/gcc/testsuite/gcc.target/arm/neon/vst4s32.c 2010-07-29 15:38:15 +0000
16126+++ new/gcc/testsuite/gcc.target/arm/neon/vst4s32.c 2010-08-20 13:27:11 +0000
16127@@ -16,5 +16,5 @@
16128 vst4_s32 (arg0_int32_t, arg1_int32x2x4_t);
16129 }
16130
16131-/* { dg-final { scan-assembler "vst4\.32\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
16132+/* { dg-final { scan-assembler "vst4\.32\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
16133 /* { dg-final { cleanup-saved-temps } } */
16134
16135=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst4s64.c'
16136--- old/gcc/testsuite/gcc.target/arm/neon/vst4s64.c 2010-07-29 15:38:15 +0000
16137+++ new/gcc/testsuite/gcc.target/arm/neon/vst4s64.c 2010-08-20 13:27:11 +0000
16138@@ -16,5 +16,5 @@
16139 vst4_s64 (arg0_int64_t, arg1_int64x1x4_t);
16140 }
16141
16142-/* { dg-final { scan-assembler "vst1\.64\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
16143+/* { dg-final { scan-assembler "vst1\.64\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
16144 /* { dg-final { cleanup-saved-temps } } */
16145
16146=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst4s8.c'
16147--- old/gcc/testsuite/gcc.target/arm/neon/vst4s8.c 2010-07-29 15:38:15 +0000
16148+++ new/gcc/testsuite/gcc.target/arm/neon/vst4s8.c 2010-08-20 13:27:11 +0000
16149@@ -16,5 +16,5 @@
16150 vst4_s8 (arg0_int8_t, arg1_int8x8x4_t);
16151 }
16152
16153-/* { dg-final { scan-assembler "vst4\.8\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
16154+/* { dg-final { scan-assembler "vst4\.8\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
16155 /* { dg-final { cleanup-saved-temps } } */
16156
16157=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst4u16.c'
16158--- old/gcc/testsuite/gcc.target/arm/neon/vst4u16.c 2010-07-29 15:38:15 +0000
16159+++ new/gcc/testsuite/gcc.target/arm/neon/vst4u16.c 2010-08-20 13:27:11 +0000
16160@@ -16,5 +16,5 @@
16161 vst4_u16 (arg0_uint16_t, arg1_uint16x4x4_t);
16162 }
16163
16164-/* { dg-final { scan-assembler "vst4\.16\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
16165+/* { dg-final { scan-assembler "vst4\.16\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
16166 /* { dg-final { cleanup-saved-temps } } */
16167
16168=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst4u32.c'
16169--- old/gcc/testsuite/gcc.target/arm/neon/vst4u32.c 2010-07-29 15:38:15 +0000
16170+++ new/gcc/testsuite/gcc.target/arm/neon/vst4u32.c 2010-08-20 13:27:11 +0000
16171@@ -16,5 +16,5 @@
16172 vst4_u32 (arg0_uint32_t, arg1_uint32x2x4_t);
16173 }
16174
16175-/* { dg-final { scan-assembler "vst4\.32\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
16176+/* { dg-final { scan-assembler "vst4\.32\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
16177 /* { dg-final { cleanup-saved-temps } } */
16178
16179=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst4u64.c'
16180--- old/gcc/testsuite/gcc.target/arm/neon/vst4u64.c 2010-07-29 15:38:15 +0000
16181+++ new/gcc/testsuite/gcc.target/arm/neon/vst4u64.c 2010-08-20 13:27:11 +0000
16182@@ -16,5 +16,5 @@
16183 vst4_u64 (arg0_uint64_t, arg1_uint64x1x4_t);
16184 }
16185
16186-/* { dg-final { scan-assembler "vst1\.64\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
16187+/* { dg-final { scan-assembler "vst1\.64\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
16188 /* { dg-final { cleanup-saved-temps } } */
16189
16190=== modified file 'gcc/testsuite/gcc.target/arm/neon/vst4u8.c'
16191--- old/gcc/testsuite/gcc.target/arm/neon/vst4u8.c 2010-07-29 15:38:15 +0000
16192+++ new/gcc/testsuite/gcc.target/arm/neon/vst4u8.c 2010-08-20 13:27:11 +0000
16193@@ -16,5 +16,5 @@
16194 vst4_u8 (arg0_uint8_t, arg1_uint8x8x4_t);
16195 }
16196
16197-/* { dg-final { scan-assembler "vst4\.8\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
16198+/* { dg-final { scan-assembler "vst4\.8\[ \]+\\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \\\[\[rR\]\[0-9\]+\\\]!?\(\[ \]+@.*\)?\n" } } */
16199 /* { dg-final { cleanup-saved-temps } } */
16200
16201=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsubQf32.c'
16202--- old/gcc/testsuite/gcc.target/arm/neon/vsubQf32.c 2010-07-29 15:38:15 +0000
16203+++ new/gcc/testsuite/gcc.target/arm/neon/vsubQf32.c 2010-08-20 13:27:11 +0000
16204@@ -17,5 +17,5 @@
16205 out_float32x4_t = vsubq_f32 (arg0_float32x4_t, arg1_float32x4_t);
16206 }
16207
16208-/* { dg-final { scan-assembler "vsub\.f32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
16209+/* { dg-final { scan-assembler "vsub\.f32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
16210 /* { dg-final { cleanup-saved-temps } } */
16211
16212=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsubQs16.c'
16213--- old/gcc/testsuite/gcc.target/arm/neon/vsubQs16.c 2010-07-29 15:38:15 +0000
16214+++ new/gcc/testsuite/gcc.target/arm/neon/vsubQs16.c 2010-08-20 13:27:11 +0000
16215@@ -17,5 +17,5 @@
16216 out_int16x8_t = vsubq_s16 (arg0_int16x8_t, arg1_int16x8_t);
16217 }
16218
16219-/* { dg-final { scan-assembler "vsub\.i16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
16220+/* { dg-final { scan-assembler "vsub\.i16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
16221 /* { dg-final { cleanup-saved-temps } } */
16222
16223=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsubQs32.c'
16224--- old/gcc/testsuite/gcc.target/arm/neon/vsubQs32.c 2010-07-29 15:38:15 +0000
16225+++ new/gcc/testsuite/gcc.target/arm/neon/vsubQs32.c 2010-08-20 13:27:11 +0000
16226@@ -17,5 +17,5 @@
16227 out_int32x4_t = vsubq_s32 (arg0_int32x4_t, arg1_int32x4_t);
16228 }
16229
16230-/* { dg-final { scan-assembler "vsub\.i32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
16231+/* { dg-final { scan-assembler "vsub\.i32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
16232 /* { dg-final { cleanup-saved-temps } } */
16233
16234=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsubQs64.c'
16235--- old/gcc/testsuite/gcc.target/arm/neon/vsubQs64.c 2010-07-29 15:38:15 +0000
16236+++ new/gcc/testsuite/gcc.target/arm/neon/vsubQs64.c 2010-08-20 13:27:11 +0000
16237@@ -17,5 +17,5 @@
16238 out_int64x2_t = vsubq_s64 (arg0_int64x2_t, arg1_int64x2_t);
16239 }
16240
16241-/* { dg-final { scan-assembler "vsub\.i64\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
16242+/* { dg-final { scan-assembler "vsub\.i64\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
16243 /* { dg-final { cleanup-saved-temps } } */
16244
16245=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsubQs8.c'
16246--- old/gcc/testsuite/gcc.target/arm/neon/vsubQs8.c 2010-07-29 15:38:15 +0000
16247+++ new/gcc/testsuite/gcc.target/arm/neon/vsubQs8.c 2010-08-20 13:27:11 +0000
16248@@ -17,5 +17,5 @@
16249 out_int8x16_t = vsubq_s8 (arg0_int8x16_t, arg1_int8x16_t);
16250 }
16251
16252-/* { dg-final { scan-assembler "vsub\.i8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
16253+/* { dg-final { scan-assembler "vsub\.i8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
16254 /* { dg-final { cleanup-saved-temps } } */
16255
16256=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsubQu16.c'
16257--- old/gcc/testsuite/gcc.target/arm/neon/vsubQu16.c 2010-07-29 15:38:15 +0000
16258+++ new/gcc/testsuite/gcc.target/arm/neon/vsubQu16.c 2010-08-20 13:27:11 +0000
16259@@ -17,5 +17,5 @@
16260 out_uint16x8_t = vsubq_u16 (arg0_uint16x8_t, arg1_uint16x8_t);
16261 }
16262
16263-/* { dg-final { scan-assembler "vsub\.i16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
16264+/* { dg-final { scan-assembler "vsub\.i16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
16265 /* { dg-final { cleanup-saved-temps } } */
16266
16267=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsubQu32.c'
16268--- old/gcc/testsuite/gcc.target/arm/neon/vsubQu32.c 2010-07-29 15:38:15 +0000
16269+++ new/gcc/testsuite/gcc.target/arm/neon/vsubQu32.c 2010-08-20 13:27:11 +0000
16270@@ -17,5 +17,5 @@
16271 out_uint32x4_t = vsubq_u32 (arg0_uint32x4_t, arg1_uint32x4_t);
16272 }
16273
16274-/* { dg-final { scan-assembler "vsub\.i32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
16275+/* { dg-final { scan-assembler "vsub\.i32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
16276 /* { dg-final { cleanup-saved-temps } } */
16277
16278=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsubQu64.c'
16279--- old/gcc/testsuite/gcc.target/arm/neon/vsubQu64.c 2010-07-29 15:38:15 +0000
16280+++ new/gcc/testsuite/gcc.target/arm/neon/vsubQu64.c 2010-08-20 13:27:11 +0000
16281@@ -17,5 +17,5 @@
16282 out_uint64x2_t = vsubq_u64 (arg0_uint64x2_t, arg1_uint64x2_t);
16283 }
16284
16285-/* { dg-final { scan-assembler "vsub\.i64\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
16286+/* { dg-final { scan-assembler "vsub\.i64\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
16287 /* { dg-final { cleanup-saved-temps } } */
16288
16289=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsubQu8.c'
16290--- old/gcc/testsuite/gcc.target/arm/neon/vsubQu8.c 2010-07-29 15:38:15 +0000
16291+++ new/gcc/testsuite/gcc.target/arm/neon/vsubQu8.c 2010-08-20 13:27:11 +0000
16292@@ -17,5 +17,5 @@
16293 out_uint8x16_t = vsubq_u8 (arg0_uint8x16_t, arg1_uint8x16_t);
16294 }
16295
16296-/* { dg-final { scan-assembler "vsub\.i8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
16297+/* { dg-final { scan-assembler "vsub\.i8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
16298 /* { dg-final { cleanup-saved-temps } } */
16299
16300=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsubf32.c'
16301--- old/gcc/testsuite/gcc.target/arm/neon/vsubf32.c 2010-07-29 15:38:15 +0000
16302+++ new/gcc/testsuite/gcc.target/arm/neon/vsubf32.c 2010-08-20 13:27:11 +0000
16303@@ -17,5 +17,5 @@
16304 out_float32x2_t = vsub_f32 (arg0_float32x2_t, arg1_float32x2_t);
16305 }
16306
16307-/* { dg-final { scan-assembler "vsub\.f32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
16308+/* { dg-final { scan-assembler "vsub\.f32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
16309 /* { dg-final { cleanup-saved-temps } } */
16310
16311=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsubhns16.c'
16312--- old/gcc/testsuite/gcc.target/arm/neon/vsubhns16.c 2010-07-29 15:38:15 +0000
16313+++ new/gcc/testsuite/gcc.target/arm/neon/vsubhns16.c 2010-08-20 13:27:11 +0000
16314@@ -17,5 +17,5 @@
16315 out_int8x8_t = vsubhn_s16 (arg0_int16x8_t, arg1_int16x8_t);
16316 }
16317
16318-/* { dg-final { scan-assembler "vsubhn\.i16\[ \]+\[dD\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
16319+/* { dg-final { scan-assembler "vsubhn\.i16\[ \]+\[dD\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
16320 /* { dg-final { cleanup-saved-temps } } */
16321
16322=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsubhns32.c'
16323--- old/gcc/testsuite/gcc.target/arm/neon/vsubhns32.c 2010-07-29 15:38:15 +0000
16324+++ new/gcc/testsuite/gcc.target/arm/neon/vsubhns32.c 2010-08-20 13:27:11 +0000
16325@@ -17,5 +17,5 @@
16326 out_int16x4_t = vsubhn_s32 (arg0_int32x4_t, arg1_int32x4_t);
16327 }
16328
16329-/* { dg-final { scan-assembler "vsubhn\.i32\[ \]+\[dD\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
16330+/* { dg-final { scan-assembler "vsubhn\.i32\[ \]+\[dD\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
16331 /* { dg-final { cleanup-saved-temps } } */
16332
16333=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsubhns64.c'
16334--- old/gcc/testsuite/gcc.target/arm/neon/vsubhns64.c 2010-07-29 15:38:15 +0000
16335+++ new/gcc/testsuite/gcc.target/arm/neon/vsubhns64.c 2010-08-20 13:27:11 +0000
16336@@ -17,5 +17,5 @@
16337 out_int32x2_t = vsubhn_s64 (arg0_int64x2_t, arg1_int64x2_t);
16338 }
16339
16340-/* { dg-final { scan-assembler "vsubhn\.i64\[ \]+\[dD\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
16341+/* { dg-final { scan-assembler "vsubhn\.i64\[ \]+\[dD\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
16342 /* { dg-final { cleanup-saved-temps } } */
16343
16344=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsubhnu16.c'
16345--- old/gcc/testsuite/gcc.target/arm/neon/vsubhnu16.c 2010-07-29 15:38:15 +0000
16346+++ new/gcc/testsuite/gcc.target/arm/neon/vsubhnu16.c 2010-08-20 13:27:11 +0000
16347@@ -17,5 +17,5 @@
16348 out_uint8x8_t = vsubhn_u16 (arg0_uint16x8_t, arg1_uint16x8_t);
16349 }
16350
16351-/* { dg-final { scan-assembler "vsubhn\.i16\[ \]+\[dD\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
16352+/* { dg-final { scan-assembler "vsubhn\.i16\[ \]+\[dD\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
16353 /* { dg-final { cleanup-saved-temps } } */
16354
16355=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsubhnu32.c'
16356--- old/gcc/testsuite/gcc.target/arm/neon/vsubhnu32.c 2010-07-29 15:38:15 +0000
16357+++ new/gcc/testsuite/gcc.target/arm/neon/vsubhnu32.c 2010-08-20 13:27:11 +0000
16358@@ -17,5 +17,5 @@
16359 out_uint16x4_t = vsubhn_u32 (arg0_uint32x4_t, arg1_uint32x4_t);
16360 }
16361
16362-/* { dg-final { scan-assembler "vsubhn\.i32\[ \]+\[dD\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
16363+/* { dg-final { scan-assembler "vsubhn\.i32\[ \]+\[dD\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
16364 /* { dg-final { cleanup-saved-temps } } */
16365
16366=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsubhnu64.c'
16367--- old/gcc/testsuite/gcc.target/arm/neon/vsubhnu64.c 2010-07-29 15:38:15 +0000
16368+++ new/gcc/testsuite/gcc.target/arm/neon/vsubhnu64.c 2010-08-20 13:27:11 +0000
16369@@ -17,5 +17,5 @@
16370 out_uint32x2_t = vsubhn_u64 (arg0_uint64x2_t, arg1_uint64x2_t);
16371 }
16372
16373-/* { dg-final { scan-assembler "vsubhn\.i64\[ \]+\[dD\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
16374+/* { dg-final { scan-assembler "vsubhn\.i64\[ \]+\[dD\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
16375 /* { dg-final { cleanup-saved-temps } } */
16376
16377=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsubls16.c'
16378--- old/gcc/testsuite/gcc.target/arm/neon/vsubls16.c 2010-07-29 15:38:15 +0000
16379+++ new/gcc/testsuite/gcc.target/arm/neon/vsubls16.c 2010-08-20 13:27:11 +0000
16380@@ -17,5 +17,5 @@
16381 out_int32x4_t = vsubl_s16 (arg0_int16x4_t, arg1_int16x4_t);
16382 }
16383
16384-/* { dg-final { scan-assembler "vsubl\.s16\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
16385+/* { dg-final { scan-assembler "vsubl\.s16\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
16386 /* { dg-final { cleanup-saved-temps } } */
16387
16388=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsubls32.c'
16389--- old/gcc/testsuite/gcc.target/arm/neon/vsubls32.c 2010-07-29 15:38:15 +0000
16390+++ new/gcc/testsuite/gcc.target/arm/neon/vsubls32.c 2010-08-20 13:27:11 +0000
16391@@ -17,5 +17,5 @@
16392 out_int64x2_t = vsubl_s32 (arg0_int32x2_t, arg1_int32x2_t);
16393 }
16394
16395-/* { dg-final { scan-assembler "vsubl\.s32\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
16396+/* { dg-final { scan-assembler "vsubl\.s32\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
16397 /* { dg-final { cleanup-saved-temps } } */
16398
16399=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsubls8.c'
16400--- old/gcc/testsuite/gcc.target/arm/neon/vsubls8.c 2010-07-29 15:38:15 +0000
16401+++ new/gcc/testsuite/gcc.target/arm/neon/vsubls8.c 2010-08-20 13:27:11 +0000
16402@@ -17,5 +17,5 @@
16403 out_int16x8_t = vsubl_s8 (arg0_int8x8_t, arg1_int8x8_t);
16404 }
16405
16406-/* { dg-final { scan-assembler "vsubl\.s8\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
16407+/* { dg-final { scan-assembler "vsubl\.s8\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
16408 /* { dg-final { cleanup-saved-temps } } */
16409
16410=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsublu16.c'
16411--- old/gcc/testsuite/gcc.target/arm/neon/vsublu16.c 2010-07-29 15:38:15 +0000
16412+++ new/gcc/testsuite/gcc.target/arm/neon/vsublu16.c 2010-08-20 13:27:11 +0000
16413@@ -17,5 +17,5 @@
16414 out_uint32x4_t = vsubl_u16 (arg0_uint16x4_t, arg1_uint16x4_t);
16415 }
16416
16417-/* { dg-final { scan-assembler "vsubl\.u16\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
16418+/* { dg-final { scan-assembler "vsubl\.u16\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
16419 /* { dg-final { cleanup-saved-temps } } */
16420
16421=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsublu32.c'
16422--- old/gcc/testsuite/gcc.target/arm/neon/vsublu32.c 2010-07-29 15:38:15 +0000
16423+++ new/gcc/testsuite/gcc.target/arm/neon/vsublu32.c 2010-08-20 13:27:11 +0000
16424@@ -17,5 +17,5 @@
16425 out_uint64x2_t = vsubl_u32 (arg0_uint32x2_t, arg1_uint32x2_t);
16426 }
16427
16428-/* { dg-final { scan-assembler "vsubl\.u32\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
16429+/* { dg-final { scan-assembler "vsubl\.u32\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
16430 /* { dg-final { cleanup-saved-temps } } */
16431
16432=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsublu8.c'
16433--- old/gcc/testsuite/gcc.target/arm/neon/vsublu8.c 2010-07-29 15:38:15 +0000
16434+++ new/gcc/testsuite/gcc.target/arm/neon/vsublu8.c 2010-08-20 13:27:11 +0000
16435@@ -17,5 +17,5 @@
16436 out_uint16x8_t = vsubl_u8 (arg0_uint8x8_t, arg1_uint8x8_t);
16437 }
16438
16439-/* { dg-final { scan-assembler "vsubl\.u8\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
16440+/* { dg-final { scan-assembler "vsubl\.u8\[ \]+\[qQ\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
16441 /* { dg-final { cleanup-saved-temps } } */
16442
16443=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsubs16.c'
16444--- old/gcc/testsuite/gcc.target/arm/neon/vsubs16.c 2010-07-29 15:38:15 +0000
16445+++ new/gcc/testsuite/gcc.target/arm/neon/vsubs16.c 2010-08-20 13:27:11 +0000
16446@@ -17,5 +17,5 @@
16447 out_int16x4_t = vsub_s16 (arg0_int16x4_t, arg1_int16x4_t);
16448 }
16449
16450-/* { dg-final { scan-assembler "vsub\.i16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
16451+/* { dg-final { scan-assembler "vsub\.i16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
16452 /* { dg-final { cleanup-saved-temps } } */
16453
16454=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsubs32.c'
16455--- old/gcc/testsuite/gcc.target/arm/neon/vsubs32.c 2010-07-29 15:38:15 +0000
16456+++ new/gcc/testsuite/gcc.target/arm/neon/vsubs32.c 2010-08-20 13:27:11 +0000
16457@@ -17,5 +17,5 @@
16458 out_int32x2_t = vsub_s32 (arg0_int32x2_t, arg1_int32x2_t);
16459 }
16460
16461-/* { dg-final { scan-assembler "vsub\.i32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
16462+/* { dg-final { scan-assembler "vsub\.i32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
16463 /* { dg-final { cleanup-saved-temps } } */
16464
16465=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsubs8.c'
16466--- old/gcc/testsuite/gcc.target/arm/neon/vsubs8.c 2010-07-29 15:38:15 +0000
16467+++ new/gcc/testsuite/gcc.target/arm/neon/vsubs8.c 2010-08-20 13:27:11 +0000
16468@@ -17,5 +17,5 @@
16469 out_int8x8_t = vsub_s8 (arg0_int8x8_t, arg1_int8x8_t);
16470 }
16471
16472-/* { dg-final { scan-assembler "vsub\.i8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
16473+/* { dg-final { scan-assembler "vsub\.i8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
16474 /* { dg-final { cleanup-saved-temps } } */
16475
16476=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsubu16.c'
16477--- old/gcc/testsuite/gcc.target/arm/neon/vsubu16.c 2010-07-29 15:38:15 +0000
16478+++ new/gcc/testsuite/gcc.target/arm/neon/vsubu16.c 2010-08-20 13:27:11 +0000
16479@@ -17,5 +17,5 @@
16480 out_uint16x4_t = vsub_u16 (arg0_uint16x4_t, arg1_uint16x4_t);
16481 }
16482
16483-/* { dg-final { scan-assembler "vsub\.i16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
16484+/* { dg-final { scan-assembler "vsub\.i16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
16485 /* { dg-final { cleanup-saved-temps } } */
16486
16487=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsubu32.c'
16488--- old/gcc/testsuite/gcc.target/arm/neon/vsubu32.c 2010-07-29 15:38:15 +0000
16489+++ new/gcc/testsuite/gcc.target/arm/neon/vsubu32.c 2010-08-20 13:27:11 +0000
16490@@ -17,5 +17,5 @@
16491 out_uint32x2_t = vsub_u32 (arg0_uint32x2_t, arg1_uint32x2_t);
16492 }
16493
16494-/* { dg-final { scan-assembler "vsub\.i32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
16495+/* { dg-final { scan-assembler "vsub\.i32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
16496 /* { dg-final { cleanup-saved-temps } } */
16497
16498=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsubu8.c'
16499--- old/gcc/testsuite/gcc.target/arm/neon/vsubu8.c 2010-07-29 15:38:15 +0000
16500+++ new/gcc/testsuite/gcc.target/arm/neon/vsubu8.c 2010-08-20 13:27:11 +0000
16501@@ -17,5 +17,5 @@
16502 out_uint8x8_t = vsub_u8 (arg0_uint8x8_t, arg1_uint8x8_t);
16503 }
16504
16505-/* { dg-final { scan-assembler "vsub\.i8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
16506+/* { dg-final { scan-assembler "vsub\.i8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
16507 /* { dg-final { cleanup-saved-temps } } */
16508
16509=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsubws16.c'
16510--- old/gcc/testsuite/gcc.target/arm/neon/vsubws16.c 2010-07-29 15:38:15 +0000
16511+++ new/gcc/testsuite/gcc.target/arm/neon/vsubws16.c 2010-08-20 13:27:11 +0000
16512@@ -17,5 +17,5 @@
16513 out_int32x4_t = vsubw_s16 (arg0_int32x4_t, arg1_int16x4_t);
16514 }
16515
16516-/* { dg-final { scan-assembler "vsubw\.s16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
16517+/* { dg-final { scan-assembler "vsubw\.s16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
16518 /* { dg-final { cleanup-saved-temps } } */
16519
16520=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsubws32.c'
16521--- old/gcc/testsuite/gcc.target/arm/neon/vsubws32.c 2010-07-29 15:38:15 +0000
16522+++ new/gcc/testsuite/gcc.target/arm/neon/vsubws32.c 2010-08-20 13:27:11 +0000
16523@@ -17,5 +17,5 @@
16524 out_int64x2_t = vsubw_s32 (arg0_int64x2_t, arg1_int32x2_t);
16525 }
16526
16527-/* { dg-final { scan-assembler "vsubw\.s32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
16528+/* { dg-final { scan-assembler "vsubw\.s32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
16529 /* { dg-final { cleanup-saved-temps } } */
16530
16531=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsubws8.c'
16532--- old/gcc/testsuite/gcc.target/arm/neon/vsubws8.c 2010-07-29 15:38:15 +0000
16533+++ new/gcc/testsuite/gcc.target/arm/neon/vsubws8.c 2010-08-20 13:27:11 +0000
16534@@ -17,5 +17,5 @@
16535 out_int16x8_t = vsubw_s8 (arg0_int16x8_t, arg1_int8x8_t);
16536 }
16537
16538-/* { dg-final { scan-assembler "vsubw\.s8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
16539+/* { dg-final { scan-assembler "vsubw\.s8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
16540 /* { dg-final { cleanup-saved-temps } } */
16541
16542=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsubwu16.c'
16543--- old/gcc/testsuite/gcc.target/arm/neon/vsubwu16.c 2010-07-29 15:38:15 +0000
16544+++ new/gcc/testsuite/gcc.target/arm/neon/vsubwu16.c 2010-08-20 13:27:11 +0000
16545@@ -17,5 +17,5 @@
16546 out_uint32x4_t = vsubw_u16 (arg0_uint32x4_t, arg1_uint16x4_t);
16547 }
16548
16549-/* { dg-final { scan-assembler "vsubw\.u16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
16550+/* { dg-final { scan-assembler "vsubw\.u16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
16551 /* { dg-final { cleanup-saved-temps } } */
16552
16553=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsubwu32.c'
16554--- old/gcc/testsuite/gcc.target/arm/neon/vsubwu32.c 2010-07-29 15:38:15 +0000
16555+++ new/gcc/testsuite/gcc.target/arm/neon/vsubwu32.c 2010-08-20 13:27:11 +0000
16556@@ -17,5 +17,5 @@
16557 out_uint64x2_t = vsubw_u32 (arg0_uint64x2_t, arg1_uint32x2_t);
16558 }
16559
16560-/* { dg-final { scan-assembler "vsubw\.u32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
16561+/* { dg-final { scan-assembler "vsubw\.u32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
16562 /* { dg-final { cleanup-saved-temps } } */
16563
16564=== modified file 'gcc/testsuite/gcc.target/arm/neon/vsubwu8.c'
16565--- old/gcc/testsuite/gcc.target/arm/neon/vsubwu8.c 2010-07-29 15:38:15 +0000
16566+++ new/gcc/testsuite/gcc.target/arm/neon/vsubwu8.c 2010-08-20 13:27:11 +0000
16567@@ -17,5 +17,5 @@
16568 out_uint16x8_t = vsubw_u8 (arg0_uint16x8_t, arg1_uint8x8_t);
16569 }
16570
16571-/* { dg-final { scan-assembler "vsubw\.u8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
16572+/* { dg-final { scan-assembler "vsubw\.u8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
16573 /* { dg-final { cleanup-saved-temps } } */
16574
16575=== modified file 'gcc/testsuite/gcc.target/arm/neon/vtbl1p8.c'
16576--- old/gcc/testsuite/gcc.target/arm/neon/vtbl1p8.c 2010-07-29 15:38:15 +0000
16577+++ new/gcc/testsuite/gcc.target/arm/neon/vtbl1p8.c 2010-08-20 13:27:11 +0000
16578@@ -17,5 +17,5 @@
16579 out_poly8x8_t = vtbl1_p8 (arg0_poly8x8_t, arg1_uint8x8_t);
16580 }
16581
16582-/* { dg-final { scan-assembler "vtbl\.8\[ \]+\[dD\]\[0-9\]+, ((\\\{\[dD\]\[0-9\]+\\\})|(\[dD\]\[0-9\]+)), \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
16583+/* { dg-final { scan-assembler "vtbl\.8\[ \]+\[dD\]\[0-9\]+, ((\\\{\[dD\]\[0-9\]+\\\})|(\[dD\]\[0-9\]+)), \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
16584 /* { dg-final { cleanup-saved-temps } } */
16585
16586=== modified file 'gcc/testsuite/gcc.target/arm/neon/vtbl1s8.c'
16587--- old/gcc/testsuite/gcc.target/arm/neon/vtbl1s8.c 2010-07-29 15:38:15 +0000
16588+++ new/gcc/testsuite/gcc.target/arm/neon/vtbl1s8.c 2010-08-20 13:27:11 +0000
16589@@ -17,5 +17,5 @@
16590 out_int8x8_t = vtbl1_s8 (arg0_int8x8_t, arg1_int8x8_t);
16591 }
16592
16593-/* { dg-final { scan-assembler "vtbl\.8\[ \]+\[dD\]\[0-9\]+, ((\\\{\[dD\]\[0-9\]+\\\})|(\[dD\]\[0-9\]+)), \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
16594+/* { dg-final { scan-assembler "vtbl\.8\[ \]+\[dD\]\[0-9\]+, ((\\\{\[dD\]\[0-9\]+\\\})|(\[dD\]\[0-9\]+)), \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
16595 /* { dg-final { cleanup-saved-temps } } */
16596
16597=== modified file 'gcc/testsuite/gcc.target/arm/neon/vtbl1u8.c'
16598--- old/gcc/testsuite/gcc.target/arm/neon/vtbl1u8.c 2010-07-29 15:38:15 +0000
16599+++ new/gcc/testsuite/gcc.target/arm/neon/vtbl1u8.c 2010-08-20 13:27:11 +0000
16600@@ -17,5 +17,5 @@
16601 out_uint8x8_t = vtbl1_u8 (arg0_uint8x8_t, arg1_uint8x8_t);
16602 }
16603
16604-/* { dg-final { scan-assembler "vtbl\.8\[ \]+\[dD\]\[0-9\]+, ((\\\{\[dD\]\[0-9\]+\\\})|(\[dD\]\[0-9\]+)), \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
16605+/* { dg-final { scan-assembler "vtbl\.8\[ \]+\[dD\]\[0-9\]+, ((\\\{\[dD\]\[0-9\]+\\\})|(\[dD\]\[0-9\]+)), \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
16606 /* { dg-final { cleanup-saved-temps } } */
16607
16608=== modified file 'gcc/testsuite/gcc.target/arm/neon/vtbl2p8.c'
16609--- old/gcc/testsuite/gcc.target/arm/neon/vtbl2p8.c 2010-07-29 15:38:15 +0000
16610+++ new/gcc/testsuite/gcc.target/arm/neon/vtbl2p8.c 2010-08-20 13:27:11 +0000
16611@@ -17,5 +17,5 @@
16612 out_poly8x8_t = vtbl2_p8 (arg0_poly8x8x2_t, arg1_uint8x8_t);
16613 }
16614
16615-/* { dg-final { scan-assembler "vtbl\.8\[ \]+\[dD\]\[0-9\]+, \\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
16616+/* { dg-final { scan-assembler "vtbl\.8\[ \]+\[dD\]\[0-9\]+, \\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
16617 /* { dg-final { cleanup-saved-temps } } */
16618
16619=== modified file 'gcc/testsuite/gcc.target/arm/neon/vtbl2s8.c'
16620--- old/gcc/testsuite/gcc.target/arm/neon/vtbl2s8.c 2010-07-29 15:38:15 +0000
16621+++ new/gcc/testsuite/gcc.target/arm/neon/vtbl2s8.c 2010-08-20 13:27:11 +0000
16622@@ -17,5 +17,5 @@
16623 out_int8x8_t = vtbl2_s8 (arg0_int8x8x2_t, arg1_int8x8_t);
16624 }
16625
16626-/* { dg-final { scan-assembler "vtbl\.8\[ \]+\[dD\]\[0-9\]+, \\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
16627+/* { dg-final { scan-assembler "vtbl\.8\[ \]+\[dD\]\[0-9\]+, \\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
16628 /* { dg-final { cleanup-saved-temps } } */
16629
16630=== modified file 'gcc/testsuite/gcc.target/arm/neon/vtbl2u8.c'
16631--- old/gcc/testsuite/gcc.target/arm/neon/vtbl2u8.c 2010-07-29 15:38:15 +0000
16632+++ new/gcc/testsuite/gcc.target/arm/neon/vtbl2u8.c 2010-08-20 13:27:11 +0000
16633@@ -17,5 +17,5 @@
16634 out_uint8x8_t = vtbl2_u8 (arg0_uint8x8x2_t, arg1_uint8x8_t);
16635 }
16636
16637-/* { dg-final { scan-assembler "vtbl\.8\[ \]+\[dD\]\[0-9\]+, \\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
16638+/* { dg-final { scan-assembler "vtbl\.8\[ \]+\[dD\]\[0-9\]+, \\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
16639 /* { dg-final { cleanup-saved-temps } } */
16640
16641=== modified file 'gcc/testsuite/gcc.target/arm/neon/vtbl3p8.c'
16642--- old/gcc/testsuite/gcc.target/arm/neon/vtbl3p8.c 2010-07-29 15:38:15 +0000
16643+++ new/gcc/testsuite/gcc.target/arm/neon/vtbl3p8.c 2010-08-20 13:27:11 +0000
16644@@ -17,5 +17,5 @@
16645 out_poly8x8_t = vtbl3_p8 (arg0_poly8x8x3_t, arg1_uint8x8_t);
16646 }
16647
16648-/* { dg-final { scan-assembler "vtbl\.8\[ \]+\[dD\]\[0-9\]+, \\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
16649+/* { dg-final { scan-assembler "vtbl\.8\[ \]+\[dD\]\[0-9\]+, \\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
16650 /* { dg-final { cleanup-saved-temps } } */
16651
16652=== modified file 'gcc/testsuite/gcc.target/arm/neon/vtbl3s8.c'
16653--- old/gcc/testsuite/gcc.target/arm/neon/vtbl3s8.c 2010-07-29 15:38:15 +0000
16654+++ new/gcc/testsuite/gcc.target/arm/neon/vtbl3s8.c 2010-08-20 13:27:11 +0000
16655@@ -17,5 +17,5 @@
16656 out_int8x8_t = vtbl3_s8 (arg0_int8x8x3_t, arg1_int8x8_t);
16657 }
16658
16659-/* { dg-final { scan-assembler "vtbl\.8\[ \]+\[dD\]\[0-9\]+, \\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
16660+/* { dg-final { scan-assembler "vtbl\.8\[ \]+\[dD\]\[0-9\]+, \\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
16661 /* { dg-final { cleanup-saved-temps } } */
16662
16663=== modified file 'gcc/testsuite/gcc.target/arm/neon/vtbl3u8.c'
16664--- old/gcc/testsuite/gcc.target/arm/neon/vtbl3u8.c 2010-07-29 15:38:15 +0000
16665+++ new/gcc/testsuite/gcc.target/arm/neon/vtbl3u8.c 2010-08-20 13:27:11 +0000
16666@@ -17,5 +17,5 @@
16667 out_uint8x8_t = vtbl3_u8 (arg0_uint8x8x3_t, arg1_uint8x8_t);
16668 }
16669
16670-/* { dg-final { scan-assembler "vtbl\.8\[ \]+\[dD\]\[0-9\]+, \\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
16671+/* { dg-final { scan-assembler "vtbl\.8\[ \]+\[dD\]\[0-9\]+, \\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
16672 /* { dg-final { cleanup-saved-temps } } */
16673
16674=== modified file 'gcc/testsuite/gcc.target/arm/neon/vtbl4p8.c'
16675--- old/gcc/testsuite/gcc.target/arm/neon/vtbl4p8.c 2010-07-29 15:38:15 +0000
16676+++ new/gcc/testsuite/gcc.target/arm/neon/vtbl4p8.c 2010-08-20 13:27:11 +0000
16677@@ -17,5 +17,5 @@
16678 out_poly8x8_t = vtbl4_p8 (arg0_poly8x8x4_t, arg1_uint8x8_t);
16679 }
16680
16681-/* { dg-final { scan-assembler "vtbl\.8\[ \]+\[dD\]\[0-9\]+, \\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
16682+/* { dg-final { scan-assembler "vtbl\.8\[ \]+\[dD\]\[0-9\]+, \\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
16683 /* { dg-final { cleanup-saved-temps } } */
16684
16685=== modified file 'gcc/testsuite/gcc.target/arm/neon/vtbl4s8.c'
16686--- old/gcc/testsuite/gcc.target/arm/neon/vtbl4s8.c 2010-07-29 15:38:15 +0000
16687+++ new/gcc/testsuite/gcc.target/arm/neon/vtbl4s8.c 2010-08-20 13:27:11 +0000
16688@@ -17,5 +17,5 @@
16689 out_int8x8_t = vtbl4_s8 (arg0_int8x8x4_t, arg1_int8x8_t);
16690 }
16691
16692-/* { dg-final { scan-assembler "vtbl\.8\[ \]+\[dD\]\[0-9\]+, \\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
16693+/* { dg-final { scan-assembler "vtbl\.8\[ \]+\[dD\]\[0-9\]+, \\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
16694 /* { dg-final { cleanup-saved-temps } } */
16695
16696=== modified file 'gcc/testsuite/gcc.target/arm/neon/vtbl4u8.c'
16697--- old/gcc/testsuite/gcc.target/arm/neon/vtbl4u8.c 2010-07-29 15:38:15 +0000
16698+++ new/gcc/testsuite/gcc.target/arm/neon/vtbl4u8.c 2010-08-20 13:27:11 +0000
16699@@ -17,5 +17,5 @@
16700 out_uint8x8_t = vtbl4_u8 (arg0_uint8x8x4_t, arg1_uint8x8_t);
16701 }
16702
16703-/* { dg-final { scan-assembler "vtbl\.8\[ \]+\[dD\]\[0-9\]+, \\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
16704+/* { dg-final { scan-assembler "vtbl\.8\[ \]+\[dD\]\[0-9\]+, \\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
16705 /* { dg-final { cleanup-saved-temps } } */
16706
16707=== modified file 'gcc/testsuite/gcc.target/arm/neon/vtbx1p8.c'
16708--- old/gcc/testsuite/gcc.target/arm/neon/vtbx1p8.c 2010-07-29 15:38:15 +0000
16709+++ new/gcc/testsuite/gcc.target/arm/neon/vtbx1p8.c 2010-08-20 13:27:11 +0000
16710@@ -18,5 +18,5 @@
16711 out_poly8x8_t = vtbx1_p8 (arg0_poly8x8_t, arg1_poly8x8_t, arg2_uint8x8_t);
16712 }
16713
16714-/* { dg-final { scan-assembler "vtbx\.8\[ \]+\[dD\]\[0-9\]+, ((\\\{\[dD\]\[0-9\]+\\\})|(\[dD\]\[0-9\]+)), \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
16715+/* { dg-final { scan-assembler "vtbx\.8\[ \]+\[dD\]\[0-9\]+, ((\\\{\[dD\]\[0-9\]+\\\})|(\[dD\]\[0-9\]+)), \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
16716 /* { dg-final { cleanup-saved-temps } } */
16717
16718=== modified file 'gcc/testsuite/gcc.target/arm/neon/vtbx1s8.c'
16719--- old/gcc/testsuite/gcc.target/arm/neon/vtbx1s8.c 2010-07-29 15:38:15 +0000
16720+++ new/gcc/testsuite/gcc.target/arm/neon/vtbx1s8.c 2010-08-20 13:27:11 +0000
16721@@ -18,5 +18,5 @@
16722 out_int8x8_t = vtbx1_s8 (arg0_int8x8_t, arg1_int8x8_t, arg2_int8x8_t);
16723 }
16724
16725-/* { dg-final { scan-assembler "vtbx\.8\[ \]+\[dD\]\[0-9\]+, ((\\\{\[dD\]\[0-9\]+\\\})|(\[dD\]\[0-9\]+)), \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
16726+/* { dg-final { scan-assembler "vtbx\.8\[ \]+\[dD\]\[0-9\]+, ((\\\{\[dD\]\[0-9\]+\\\})|(\[dD\]\[0-9\]+)), \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
16727 /* { dg-final { cleanup-saved-temps } } */
16728
16729=== modified file 'gcc/testsuite/gcc.target/arm/neon/vtbx1u8.c'
16730--- old/gcc/testsuite/gcc.target/arm/neon/vtbx1u8.c 2010-07-29 15:38:15 +0000
16731+++ new/gcc/testsuite/gcc.target/arm/neon/vtbx1u8.c 2010-08-20 13:27:11 +0000
16732@@ -18,5 +18,5 @@
16733 out_uint8x8_t = vtbx1_u8 (arg0_uint8x8_t, arg1_uint8x8_t, arg2_uint8x8_t);
16734 }
16735
16736-/* { dg-final { scan-assembler "vtbx\.8\[ \]+\[dD\]\[0-9\]+, ((\\\{\[dD\]\[0-9\]+\\\})|(\[dD\]\[0-9\]+)), \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
16737+/* { dg-final { scan-assembler "vtbx\.8\[ \]+\[dD\]\[0-9\]+, ((\\\{\[dD\]\[0-9\]+\\\})|(\[dD\]\[0-9\]+)), \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
16738 /* { dg-final { cleanup-saved-temps } } */
16739
16740=== modified file 'gcc/testsuite/gcc.target/arm/neon/vtbx2p8.c'
16741--- old/gcc/testsuite/gcc.target/arm/neon/vtbx2p8.c 2010-07-29 15:38:15 +0000
16742+++ new/gcc/testsuite/gcc.target/arm/neon/vtbx2p8.c 2010-08-20 13:27:11 +0000
16743@@ -18,5 +18,5 @@
16744 out_poly8x8_t = vtbx2_p8 (arg0_poly8x8_t, arg1_poly8x8x2_t, arg2_uint8x8_t);
16745 }
16746
16747-/* { dg-final { scan-assembler "vtbx\.8\[ \]+\[dD\]\[0-9\]+, \\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
16748+/* { dg-final { scan-assembler "vtbx\.8\[ \]+\[dD\]\[0-9\]+, \\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
16749 /* { dg-final { cleanup-saved-temps } } */
16750
16751=== modified file 'gcc/testsuite/gcc.target/arm/neon/vtbx2s8.c'
16752--- old/gcc/testsuite/gcc.target/arm/neon/vtbx2s8.c 2010-07-29 15:38:15 +0000
16753+++ new/gcc/testsuite/gcc.target/arm/neon/vtbx2s8.c 2010-08-20 13:27:11 +0000
16754@@ -18,5 +18,5 @@
16755 out_int8x8_t = vtbx2_s8 (arg0_int8x8_t, arg1_int8x8x2_t, arg2_int8x8_t);
16756 }
16757
16758-/* { dg-final { scan-assembler "vtbx\.8\[ \]+\[dD\]\[0-9\]+, \\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
16759+/* { dg-final { scan-assembler "vtbx\.8\[ \]+\[dD\]\[0-9\]+, \\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
16760 /* { dg-final { cleanup-saved-temps } } */
16761
16762=== modified file 'gcc/testsuite/gcc.target/arm/neon/vtbx2u8.c'
16763--- old/gcc/testsuite/gcc.target/arm/neon/vtbx2u8.c 2010-07-29 15:38:15 +0000
16764+++ new/gcc/testsuite/gcc.target/arm/neon/vtbx2u8.c 2010-08-20 13:27:11 +0000
16765@@ -18,5 +18,5 @@
16766 out_uint8x8_t = vtbx2_u8 (arg0_uint8x8_t, arg1_uint8x8x2_t, arg2_uint8x8_t);
16767 }
16768
16769-/* { dg-final { scan-assembler "vtbx\.8\[ \]+\[dD\]\[0-9\]+, \\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
16770+/* { dg-final { scan-assembler "vtbx\.8\[ \]+\[dD\]\[0-9\]+, \\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
16771 /* { dg-final { cleanup-saved-temps } } */
16772
16773=== modified file 'gcc/testsuite/gcc.target/arm/neon/vtbx3p8.c'
16774--- old/gcc/testsuite/gcc.target/arm/neon/vtbx3p8.c 2010-07-29 15:38:15 +0000
16775+++ new/gcc/testsuite/gcc.target/arm/neon/vtbx3p8.c 2010-08-20 13:27:11 +0000
16776@@ -18,5 +18,5 @@
16777 out_poly8x8_t = vtbx3_p8 (arg0_poly8x8_t, arg1_poly8x8x3_t, arg2_uint8x8_t);
16778 }
16779
16780-/* { dg-final { scan-assembler "vtbx\.8\[ \]+\[dD\]\[0-9\]+, \\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
16781+/* { dg-final { scan-assembler "vtbx\.8\[ \]+\[dD\]\[0-9\]+, \\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
16782 /* { dg-final { cleanup-saved-temps } } */
16783
16784=== modified file 'gcc/testsuite/gcc.target/arm/neon/vtbx3s8.c'
16785--- old/gcc/testsuite/gcc.target/arm/neon/vtbx3s8.c 2010-07-29 15:38:15 +0000
16786+++ new/gcc/testsuite/gcc.target/arm/neon/vtbx3s8.c 2010-08-20 13:27:11 +0000
16787@@ -18,5 +18,5 @@
16788 out_int8x8_t = vtbx3_s8 (arg0_int8x8_t, arg1_int8x8x3_t, arg2_int8x8_t);
16789 }
16790
16791-/* { dg-final { scan-assembler "vtbx\.8\[ \]+\[dD\]\[0-9\]+, \\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
16792+/* { dg-final { scan-assembler "vtbx\.8\[ \]+\[dD\]\[0-9\]+, \\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
16793 /* { dg-final { cleanup-saved-temps } } */
16794
16795=== modified file 'gcc/testsuite/gcc.target/arm/neon/vtbx3u8.c'
16796--- old/gcc/testsuite/gcc.target/arm/neon/vtbx3u8.c 2010-07-29 15:38:15 +0000
16797+++ new/gcc/testsuite/gcc.target/arm/neon/vtbx3u8.c 2010-08-20 13:27:11 +0000
16798@@ -18,5 +18,5 @@
16799 out_uint8x8_t = vtbx3_u8 (arg0_uint8x8_t, arg1_uint8x8x3_t, arg2_uint8x8_t);
16800 }
16801
16802-/* { dg-final { scan-assembler "vtbx\.8\[ \]+\[dD\]\[0-9\]+, \\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
16803+/* { dg-final { scan-assembler "vtbx\.8\[ \]+\[dD\]\[0-9\]+, \\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
16804 /* { dg-final { cleanup-saved-temps } } */
16805
16806=== modified file 'gcc/testsuite/gcc.target/arm/neon/vtbx4p8.c'
16807--- old/gcc/testsuite/gcc.target/arm/neon/vtbx4p8.c 2010-07-29 15:38:15 +0000
16808+++ new/gcc/testsuite/gcc.target/arm/neon/vtbx4p8.c 2010-08-20 13:27:11 +0000
16809@@ -18,5 +18,5 @@
16810 out_poly8x8_t = vtbx4_p8 (arg0_poly8x8_t, arg1_poly8x8x4_t, arg2_uint8x8_t);
16811 }
16812
16813-/* { dg-final { scan-assembler "vtbx\.8\[ \]+\[dD\]\[0-9\]+, \\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
16814+/* { dg-final { scan-assembler "vtbx\.8\[ \]+\[dD\]\[0-9\]+, \\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
16815 /* { dg-final { cleanup-saved-temps } } */
16816
16817=== modified file 'gcc/testsuite/gcc.target/arm/neon/vtbx4s8.c'
16818--- old/gcc/testsuite/gcc.target/arm/neon/vtbx4s8.c 2010-07-29 15:38:15 +0000
16819+++ new/gcc/testsuite/gcc.target/arm/neon/vtbx4s8.c 2010-08-20 13:27:11 +0000
16820@@ -18,5 +18,5 @@
16821 out_int8x8_t = vtbx4_s8 (arg0_int8x8_t, arg1_int8x8x4_t, arg2_int8x8_t);
16822 }
16823
16824-/* { dg-final { scan-assembler "vtbx\.8\[ \]+\[dD\]\[0-9\]+, \\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
16825+/* { dg-final { scan-assembler "vtbx\.8\[ \]+\[dD\]\[0-9\]+, \\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
16826 /* { dg-final { cleanup-saved-temps } } */
16827
16828=== modified file 'gcc/testsuite/gcc.target/arm/neon/vtbx4u8.c'
16829--- old/gcc/testsuite/gcc.target/arm/neon/vtbx4u8.c 2010-07-29 15:38:15 +0000
16830+++ new/gcc/testsuite/gcc.target/arm/neon/vtbx4u8.c 2010-08-20 13:27:11 +0000
16831@@ -18,5 +18,5 @@
16832 out_uint8x8_t = vtbx4_u8 (arg0_uint8x8_t, arg1_uint8x8x4_t, arg2_uint8x8_t);
16833 }
16834
16835-/* { dg-final { scan-assembler "vtbx\.8\[ \]+\[dD\]\[0-9\]+, \\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
16836+/* { dg-final { scan-assembler "vtbx\.8\[ \]+\[dD\]\[0-9\]+, \\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
16837 /* { dg-final { cleanup-saved-temps } } */
16838
16839=== modified file 'gcc/testsuite/gcc.target/arm/neon/vtrnQf32.c'
16840--- old/gcc/testsuite/gcc.target/arm/neon/vtrnQf32.c 2010-07-29 15:38:15 +0000
16841+++ new/gcc/testsuite/gcc.target/arm/neon/vtrnQf32.c 2010-08-20 13:27:11 +0000
16842@@ -17,5 +17,5 @@
16843 out_float32x4x2_t = vtrnq_f32 (arg0_float32x4_t, arg1_float32x4_t);
16844 }
16845
16846-/* { dg-final { scan-assembler "vtrn\.32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
16847+/* { dg-final { scan-assembler "vtrn\.32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
16848 /* { dg-final { cleanup-saved-temps } } */
16849
16850=== modified file 'gcc/testsuite/gcc.target/arm/neon/vtrnQp16.c'
16851--- old/gcc/testsuite/gcc.target/arm/neon/vtrnQp16.c 2010-07-29 15:38:15 +0000
16852+++ new/gcc/testsuite/gcc.target/arm/neon/vtrnQp16.c 2010-08-20 13:27:11 +0000
16853@@ -17,5 +17,5 @@
16854 out_poly16x8x2_t = vtrnq_p16 (arg0_poly16x8_t, arg1_poly16x8_t);
16855 }
16856
16857-/* { dg-final { scan-assembler "vtrn\.16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
16858+/* { dg-final { scan-assembler "vtrn\.16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
16859 /* { dg-final { cleanup-saved-temps } } */
16860
16861=== modified file 'gcc/testsuite/gcc.target/arm/neon/vtrnQp8.c'
16862--- old/gcc/testsuite/gcc.target/arm/neon/vtrnQp8.c 2010-07-29 15:38:15 +0000
16863+++ new/gcc/testsuite/gcc.target/arm/neon/vtrnQp8.c 2010-08-20 13:27:11 +0000
16864@@ -17,5 +17,5 @@
16865 out_poly8x16x2_t = vtrnq_p8 (arg0_poly8x16_t, arg1_poly8x16_t);
16866 }
16867
16868-/* { dg-final { scan-assembler "vtrn\.8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
16869+/* { dg-final { scan-assembler "vtrn\.8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
16870 /* { dg-final { cleanup-saved-temps } } */
16871
16872=== modified file 'gcc/testsuite/gcc.target/arm/neon/vtrnQs16.c'
16873--- old/gcc/testsuite/gcc.target/arm/neon/vtrnQs16.c 2010-07-29 15:38:15 +0000
16874+++ new/gcc/testsuite/gcc.target/arm/neon/vtrnQs16.c 2010-08-20 13:27:11 +0000
16875@@ -17,5 +17,5 @@
16876 out_int16x8x2_t = vtrnq_s16 (arg0_int16x8_t, arg1_int16x8_t);
16877 }
16878
16879-/* { dg-final { scan-assembler "vtrn\.16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
16880+/* { dg-final { scan-assembler "vtrn\.16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
16881 /* { dg-final { cleanup-saved-temps } } */
16882
16883=== modified file 'gcc/testsuite/gcc.target/arm/neon/vtrnQs32.c'
16884--- old/gcc/testsuite/gcc.target/arm/neon/vtrnQs32.c 2010-07-29 15:38:15 +0000
16885+++ new/gcc/testsuite/gcc.target/arm/neon/vtrnQs32.c 2010-08-20 13:27:11 +0000
16886@@ -17,5 +17,5 @@
16887 out_int32x4x2_t = vtrnq_s32 (arg0_int32x4_t, arg1_int32x4_t);
16888 }
16889
16890-/* { dg-final { scan-assembler "vtrn\.32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
16891+/* { dg-final { scan-assembler "vtrn\.32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
16892 /* { dg-final { cleanup-saved-temps } } */
16893
16894=== modified file 'gcc/testsuite/gcc.target/arm/neon/vtrnQs8.c'
16895--- old/gcc/testsuite/gcc.target/arm/neon/vtrnQs8.c 2010-07-29 15:38:15 +0000
16896+++ new/gcc/testsuite/gcc.target/arm/neon/vtrnQs8.c 2010-08-20 13:27:11 +0000
16897@@ -17,5 +17,5 @@
16898 out_int8x16x2_t = vtrnq_s8 (arg0_int8x16_t, arg1_int8x16_t);
16899 }
16900
16901-/* { dg-final { scan-assembler "vtrn\.8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
16902+/* { dg-final { scan-assembler "vtrn\.8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
16903 /* { dg-final { cleanup-saved-temps } } */
16904
16905=== modified file 'gcc/testsuite/gcc.target/arm/neon/vtrnQu16.c'
16906--- old/gcc/testsuite/gcc.target/arm/neon/vtrnQu16.c 2010-07-29 15:38:15 +0000
16907+++ new/gcc/testsuite/gcc.target/arm/neon/vtrnQu16.c 2010-08-20 13:27:11 +0000
16908@@ -17,5 +17,5 @@
16909 out_uint16x8x2_t = vtrnq_u16 (arg0_uint16x8_t, arg1_uint16x8_t);
16910 }
16911
16912-/* { dg-final { scan-assembler "vtrn\.16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
16913+/* { dg-final { scan-assembler "vtrn\.16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
16914 /* { dg-final { cleanup-saved-temps } } */
16915
16916=== modified file 'gcc/testsuite/gcc.target/arm/neon/vtrnQu32.c'
16917--- old/gcc/testsuite/gcc.target/arm/neon/vtrnQu32.c 2010-07-29 15:38:15 +0000
16918+++ new/gcc/testsuite/gcc.target/arm/neon/vtrnQu32.c 2010-08-20 13:27:11 +0000
16919@@ -17,5 +17,5 @@
16920 out_uint32x4x2_t = vtrnq_u32 (arg0_uint32x4_t, arg1_uint32x4_t);
16921 }
16922
16923-/* { dg-final { scan-assembler "vtrn\.32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
16924+/* { dg-final { scan-assembler "vtrn\.32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
16925 /* { dg-final { cleanup-saved-temps } } */
16926
16927=== modified file 'gcc/testsuite/gcc.target/arm/neon/vtrnQu8.c'
16928--- old/gcc/testsuite/gcc.target/arm/neon/vtrnQu8.c 2010-07-29 15:38:15 +0000
16929+++ new/gcc/testsuite/gcc.target/arm/neon/vtrnQu8.c 2010-08-20 13:27:11 +0000
16930@@ -17,5 +17,5 @@
16931 out_uint8x16x2_t = vtrnq_u8 (arg0_uint8x16_t, arg1_uint8x16_t);
16932 }
16933
16934-/* { dg-final { scan-assembler "vtrn\.8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
16935+/* { dg-final { scan-assembler "vtrn\.8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
16936 /* { dg-final { cleanup-saved-temps } } */
16937
16938=== modified file 'gcc/testsuite/gcc.target/arm/neon/vtrnf32.c'
16939--- old/gcc/testsuite/gcc.target/arm/neon/vtrnf32.c 2010-07-29 15:38:15 +0000
16940+++ new/gcc/testsuite/gcc.target/arm/neon/vtrnf32.c 2010-08-20 13:27:11 +0000
16941@@ -17,5 +17,5 @@
16942 out_float32x2x2_t = vtrn_f32 (arg0_float32x2_t, arg1_float32x2_t);
16943 }
16944
16945-/* { dg-final { scan-assembler "vtrn\.32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
16946+/* { dg-final { scan-assembler "vtrn\.32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
16947 /* { dg-final { cleanup-saved-temps } } */
16948
16949=== modified file 'gcc/testsuite/gcc.target/arm/neon/vtrnp16.c'
16950--- old/gcc/testsuite/gcc.target/arm/neon/vtrnp16.c 2010-07-29 15:38:15 +0000
16951+++ new/gcc/testsuite/gcc.target/arm/neon/vtrnp16.c 2010-08-20 13:27:11 +0000
16952@@ -17,5 +17,5 @@
16953 out_poly16x4x2_t = vtrn_p16 (arg0_poly16x4_t, arg1_poly16x4_t);
16954 }
16955
16956-/* { dg-final { scan-assembler "vtrn\.16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
16957+/* { dg-final { scan-assembler "vtrn\.16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
16958 /* { dg-final { cleanup-saved-temps } } */
16959
16960=== modified file 'gcc/testsuite/gcc.target/arm/neon/vtrnp8.c'
16961--- old/gcc/testsuite/gcc.target/arm/neon/vtrnp8.c 2010-07-29 15:38:15 +0000
16962+++ new/gcc/testsuite/gcc.target/arm/neon/vtrnp8.c 2010-08-20 13:27:11 +0000
16963@@ -17,5 +17,5 @@
16964 out_poly8x8x2_t = vtrn_p8 (arg0_poly8x8_t, arg1_poly8x8_t);
16965 }
16966
16967-/* { dg-final { scan-assembler "vtrn\.8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
16968+/* { dg-final { scan-assembler "vtrn\.8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
16969 /* { dg-final { cleanup-saved-temps } } */
16970
16971=== modified file 'gcc/testsuite/gcc.target/arm/neon/vtrns16.c'
16972--- old/gcc/testsuite/gcc.target/arm/neon/vtrns16.c 2010-07-29 15:38:15 +0000
16973+++ new/gcc/testsuite/gcc.target/arm/neon/vtrns16.c 2010-08-20 13:27:11 +0000
16974@@ -17,5 +17,5 @@
16975 out_int16x4x2_t = vtrn_s16 (arg0_int16x4_t, arg1_int16x4_t);
16976 }
16977
16978-/* { dg-final { scan-assembler "vtrn\.16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
16979+/* { dg-final { scan-assembler "vtrn\.16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
16980 /* { dg-final { cleanup-saved-temps } } */
16981
16982=== modified file 'gcc/testsuite/gcc.target/arm/neon/vtrns32.c'
16983--- old/gcc/testsuite/gcc.target/arm/neon/vtrns32.c 2010-07-29 15:38:15 +0000
16984+++ new/gcc/testsuite/gcc.target/arm/neon/vtrns32.c 2010-08-20 13:27:11 +0000
16985@@ -17,5 +17,5 @@
16986 out_int32x2x2_t = vtrn_s32 (arg0_int32x2_t, arg1_int32x2_t);
16987 }
16988
16989-/* { dg-final { scan-assembler "vtrn\.32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
16990+/* { dg-final { scan-assembler "vtrn\.32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
16991 /* { dg-final { cleanup-saved-temps } } */
16992
16993=== modified file 'gcc/testsuite/gcc.target/arm/neon/vtrns8.c'
16994--- old/gcc/testsuite/gcc.target/arm/neon/vtrns8.c 2010-07-29 15:38:15 +0000
16995+++ new/gcc/testsuite/gcc.target/arm/neon/vtrns8.c 2010-08-20 13:27:11 +0000
16996@@ -17,5 +17,5 @@
16997 out_int8x8x2_t = vtrn_s8 (arg0_int8x8_t, arg1_int8x8_t);
16998 }
16999
17000-/* { dg-final { scan-assembler "vtrn\.8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
17001+/* { dg-final { scan-assembler "vtrn\.8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
17002 /* { dg-final { cleanup-saved-temps } } */
17003
17004=== modified file 'gcc/testsuite/gcc.target/arm/neon/vtrnu16.c'
17005--- old/gcc/testsuite/gcc.target/arm/neon/vtrnu16.c 2010-07-29 15:38:15 +0000
17006+++ new/gcc/testsuite/gcc.target/arm/neon/vtrnu16.c 2010-08-20 13:27:11 +0000
17007@@ -17,5 +17,5 @@
17008 out_uint16x4x2_t = vtrn_u16 (arg0_uint16x4_t, arg1_uint16x4_t);
17009 }
17010
17011-/* { dg-final { scan-assembler "vtrn\.16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
17012+/* { dg-final { scan-assembler "vtrn\.16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
17013 /* { dg-final { cleanup-saved-temps } } */
17014
17015=== modified file 'gcc/testsuite/gcc.target/arm/neon/vtrnu32.c'
17016--- old/gcc/testsuite/gcc.target/arm/neon/vtrnu32.c 2010-07-29 15:38:15 +0000
17017+++ new/gcc/testsuite/gcc.target/arm/neon/vtrnu32.c 2010-08-20 13:27:11 +0000
17018@@ -17,5 +17,5 @@
17019 out_uint32x2x2_t = vtrn_u32 (arg0_uint32x2_t, arg1_uint32x2_t);
17020 }
17021
17022-/* { dg-final { scan-assembler "vtrn\.32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
17023+/* { dg-final { scan-assembler "vtrn\.32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
17024 /* { dg-final { cleanup-saved-temps } } */
17025
17026=== modified file 'gcc/testsuite/gcc.target/arm/neon/vtrnu8.c'
17027--- old/gcc/testsuite/gcc.target/arm/neon/vtrnu8.c 2010-07-29 15:38:15 +0000
17028+++ new/gcc/testsuite/gcc.target/arm/neon/vtrnu8.c 2010-08-20 13:27:11 +0000
17029@@ -17,5 +17,5 @@
17030 out_uint8x8x2_t = vtrn_u8 (arg0_uint8x8_t, arg1_uint8x8_t);
17031 }
17032
17033-/* { dg-final { scan-assembler "vtrn\.8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
17034+/* { dg-final { scan-assembler "vtrn\.8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
17035 /* { dg-final { cleanup-saved-temps } } */
17036
17037=== modified file 'gcc/testsuite/gcc.target/arm/neon/vtstQp8.c'
17038--- old/gcc/testsuite/gcc.target/arm/neon/vtstQp8.c 2010-07-29 15:38:15 +0000
17039+++ new/gcc/testsuite/gcc.target/arm/neon/vtstQp8.c 2010-08-20 13:27:11 +0000
17040@@ -17,5 +17,5 @@
17041 out_uint8x16_t = vtstq_p8 (arg0_poly8x16_t, arg1_poly8x16_t);
17042 }
17043
17044-/* { dg-final { scan-assembler "vtst\.8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
17045+/* { dg-final { scan-assembler "vtst\.8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
17046 /* { dg-final { cleanup-saved-temps } } */
17047
17048=== modified file 'gcc/testsuite/gcc.target/arm/neon/vtstQs16.c'
17049--- old/gcc/testsuite/gcc.target/arm/neon/vtstQs16.c 2010-07-29 15:38:15 +0000
17050+++ new/gcc/testsuite/gcc.target/arm/neon/vtstQs16.c 2010-08-20 13:27:11 +0000
17051@@ -17,5 +17,5 @@
17052 out_uint16x8_t = vtstq_s16 (arg0_int16x8_t, arg1_int16x8_t);
17053 }
17054
17055-/* { dg-final { scan-assembler "vtst\.16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
17056+/* { dg-final { scan-assembler "vtst\.16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
17057 /* { dg-final { cleanup-saved-temps } } */
17058
17059=== modified file 'gcc/testsuite/gcc.target/arm/neon/vtstQs32.c'
17060--- old/gcc/testsuite/gcc.target/arm/neon/vtstQs32.c 2010-07-29 15:38:15 +0000
17061+++ new/gcc/testsuite/gcc.target/arm/neon/vtstQs32.c 2010-08-20 13:27:11 +0000
17062@@ -17,5 +17,5 @@
17063 out_uint32x4_t = vtstq_s32 (arg0_int32x4_t, arg1_int32x4_t);
17064 }
17065
17066-/* { dg-final { scan-assembler "vtst\.32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
17067+/* { dg-final { scan-assembler "vtst\.32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
17068 /* { dg-final { cleanup-saved-temps } } */
17069
17070=== modified file 'gcc/testsuite/gcc.target/arm/neon/vtstQs8.c'
17071--- old/gcc/testsuite/gcc.target/arm/neon/vtstQs8.c 2010-07-29 15:38:15 +0000
17072+++ new/gcc/testsuite/gcc.target/arm/neon/vtstQs8.c 2010-08-20 13:27:11 +0000
17073@@ -17,5 +17,5 @@
17074 out_uint8x16_t = vtstq_s8 (arg0_int8x16_t, arg1_int8x16_t);
17075 }
17076
17077-/* { dg-final { scan-assembler "vtst\.8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
17078+/* { dg-final { scan-assembler "vtst\.8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
17079 /* { dg-final { cleanup-saved-temps } } */
17080
17081=== modified file 'gcc/testsuite/gcc.target/arm/neon/vtstQu16.c'
17082--- old/gcc/testsuite/gcc.target/arm/neon/vtstQu16.c 2010-07-29 15:38:15 +0000
17083+++ new/gcc/testsuite/gcc.target/arm/neon/vtstQu16.c 2010-08-20 13:27:11 +0000
17084@@ -17,5 +17,5 @@
17085 out_uint16x8_t = vtstq_u16 (arg0_uint16x8_t, arg1_uint16x8_t);
17086 }
17087
17088-/* { dg-final { scan-assembler "vtst\.16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
17089+/* { dg-final { scan-assembler "vtst\.16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
17090 /* { dg-final { cleanup-saved-temps } } */
17091
17092=== modified file 'gcc/testsuite/gcc.target/arm/neon/vtstQu32.c'
17093--- old/gcc/testsuite/gcc.target/arm/neon/vtstQu32.c 2010-07-29 15:38:15 +0000
17094+++ new/gcc/testsuite/gcc.target/arm/neon/vtstQu32.c 2010-08-20 13:27:11 +0000
17095@@ -17,5 +17,5 @@
17096 out_uint32x4_t = vtstq_u32 (arg0_uint32x4_t, arg1_uint32x4_t);
17097 }
17098
17099-/* { dg-final { scan-assembler "vtst\.32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
17100+/* { dg-final { scan-assembler "vtst\.32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
17101 /* { dg-final { cleanup-saved-temps } } */
17102
17103=== modified file 'gcc/testsuite/gcc.target/arm/neon/vtstQu8.c'
17104--- old/gcc/testsuite/gcc.target/arm/neon/vtstQu8.c 2010-07-29 15:38:15 +0000
17105+++ new/gcc/testsuite/gcc.target/arm/neon/vtstQu8.c 2010-08-20 13:27:11 +0000
17106@@ -17,5 +17,5 @@
17107 out_uint8x16_t = vtstq_u8 (arg0_uint8x16_t, arg1_uint8x16_t);
17108 }
17109
17110-/* { dg-final { scan-assembler "vtst\.8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
17111+/* { dg-final { scan-assembler "vtst\.8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
17112 /* { dg-final { cleanup-saved-temps } } */
17113
17114=== modified file 'gcc/testsuite/gcc.target/arm/neon/vtstp8.c'
17115--- old/gcc/testsuite/gcc.target/arm/neon/vtstp8.c 2010-07-29 15:38:15 +0000
17116+++ new/gcc/testsuite/gcc.target/arm/neon/vtstp8.c 2010-08-20 13:27:11 +0000
17117@@ -17,5 +17,5 @@
17118 out_uint8x8_t = vtst_p8 (arg0_poly8x8_t, arg1_poly8x8_t);
17119 }
17120
17121-/* { dg-final { scan-assembler "vtst\.8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
17122+/* { dg-final { scan-assembler "vtst\.8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
17123 /* { dg-final { cleanup-saved-temps } } */
17124
17125=== modified file 'gcc/testsuite/gcc.target/arm/neon/vtsts16.c'
17126--- old/gcc/testsuite/gcc.target/arm/neon/vtsts16.c 2010-07-29 15:38:15 +0000
17127+++ new/gcc/testsuite/gcc.target/arm/neon/vtsts16.c 2010-08-20 13:27:11 +0000
17128@@ -17,5 +17,5 @@
17129 out_uint16x4_t = vtst_s16 (arg0_int16x4_t, arg1_int16x4_t);
17130 }
17131
17132-/* { dg-final { scan-assembler "vtst\.16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
17133+/* { dg-final { scan-assembler "vtst\.16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
17134 /* { dg-final { cleanup-saved-temps } } */
17135
17136=== modified file 'gcc/testsuite/gcc.target/arm/neon/vtsts32.c'
17137--- old/gcc/testsuite/gcc.target/arm/neon/vtsts32.c 2010-07-29 15:38:15 +0000
17138+++ new/gcc/testsuite/gcc.target/arm/neon/vtsts32.c 2010-08-20 13:27:11 +0000
17139@@ -17,5 +17,5 @@
17140 out_uint32x2_t = vtst_s32 (arg0_int32x2_t, arg1_int32x2_t);
17141 }
17142
17143-/* { dg-final { scan-assembler "vtst\.32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
17144+/* { dg-final { scan-assembler "vtst\.32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
17145 /* { dg-final { cleanup-saved-temps } } */
17146
17147=== modified file 'gcc/testsuite/gcc.target/arm/neon/vtsts8.c'
17148--- old/gcc/testsuite/gcc.target/arm/neon/vtsts8.c 2010-07-29 15:38:15 +0000
17149+++ new/gcc/testsuite/gcc.target/arm/neon/vtsts8.c 2010-08-20 13:27:11 +0000
17150@@ -17,5 +17,5 @@
17151 out_uint8x8_t = vtst_s8 (arg0_int8x8_t, arg1_int8x8_t);
17152 }
17153
17154-/* { dg-final { scan-assembler "vtst\.8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
17155+/* { dg-final { scan-assembler "vtst\.8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
17156 /* { dg-final { cleanup-saved-temps } } */
17157
17158=== modified file 'gcc/testsuite/gcc.target/arm/neon/vtstu16.c'
17159--- old/gcc/testsuite/gcc.target/arm/neon/vtstu16.c 2010-07-29 15:38:15 +0000
17160+++ new/gcc/testsuite/gcc.target/arm/neon/vtstu16.c 2010-08-20 13:27:11 +0000
17161@@ -17,5 +17,5 @@
17162 out_uint16x4_t = vtst_u16 (arg0_uint16x4_t, arg1_uint16x4_t);
17163 }
17164
17165-/* { dg-final { scan-assembler "vtst\.16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
17166+/* { dg-final { scan-assembler "vtst\.16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
17167 /* { dg-final { cleanup-saved-temps } } */
17168
17169=== modified file 'gcc/testsuite/gcc.target/arm/neon/vtstu32.c'
17170--- old/gcc/testsuite/gcc.target/arm/neon/vtstu32.c 2010-07-29 15:38:15 +0000
17171+++ new/gcc/testsuite/gcc.target/arm/neon/vtstu32.c 2010-08-20 13:27:11 +0000
17172@@ -17,5 +17,5 @@
17173 out_uint32x2_t = vtst_u32 (arg0_uint32x2_t, arg1_uint32x2_t);
17174 }
17175
17176-/* { dg-final { scan-assembler "vtst\.32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
17177+/* { dg-final { scan-assembler "vtst\.32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
17178 /* { dg-final { cleanup-saved-temps } } */
17179
17180=== modified file 'gcc/testsuite/gcc.target/arm/neon/vtstu8.c'
17181--- old/gcc/testsuite/gcc.target/arm/neon/vtstu8.c 2010-07-29 15:38:15 +0000
17182+++ new/gcc/testsuite/gcc.target/arm/neon/vtstu8.c 2010-08-20 13:27:11 +0000
17183@@ -17,5 +17,5 @@
17184 out_uint8x8_t = vtst_u8 (arg0_uint8x8_t, arg1_uint8x8_t);
17185 }
17186
17187-/* { dg-final { scan-assembler "vtst\.8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
17188+/* { dg-final { scan-assembler "vtst\.8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
17189 /* { dg-final { cleanup-saved-temps } } */
17190
17191=== modified file 'gcc/testsuite/gcc.target/arm/neon/vuzpQf32.c'
17192--- old/gcc/testsuite/gcc.target/arm/neon/vuzpQf32.c 2010-07-29 15:38:15 +0000
17193+++ new/gcc/testsuite/gcc.target/arm/neon/vuzpQf32.c 2010-08-20 13:27:11 +0000
17194@@ -17,5 +17,5 @@
17195 out_float32x4x2_t = vuzpq_f32 (arg0_float32x4_t, arg1_float32x4_t);
17196 }
17197
17198-/* { dg-final { scan-assembler "vuzp\.32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
17199+/* { dg-final { scan-assembler "vuzp\.32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
17200 /* { dg-final { cleanup-saved-temps } } */
17201
17202=== modified file 'gcc/testsuite/gcc.target/arm/neon/vuzpQp16.c'
17203--- old/gcc/testsuite/gcc.target/arm/neon/vuzpQp16.c 2010-07-29 15:38:15 +0000
17204+++ new/gcc/testsuite/gcc.target/arm/neon/vuzpQp16.c 2010-08-20 13:27:11 +0000
17205@@ -17,5 +17,5 @@
17206 out_poly16x8x2_t = vuzpq_p16 (arg0_poly16x8_t, arg1_poly16x8_t);
17207 }
17208
17209-/* { dg-final { scan-assembler "vuzp\.16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
17210+/* { dg-final { scan-assembler "vuzp\.16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
17211 /* { dg-final { cleanup-saved-temps } } */
17212
17213=== modified file 'gcc/testsuite/gcc.target/arm/neon/vuzpQp8.c'
17214--- old/gcc/testsuite/gcc.target/arm/neon/vuzpQp8.c 2010-07-29 15:38:15 +0000
17215+++ new/gcc/testsuite/gcc.target/arm/neon/vuzpQp8.c 2010-08-20 13:27:11 +0000
17216@@ -17,5 +17,5 @@
17217 out_poly8x16x2_t = vuzpq_p8 (arg0_poly8x16_t, arg1_poly8x16_t);
17218 }
17219
17220-/* { dg-final { scan-assembler "vuzp\.8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
17221+/* { dg-final { scan-assembler "vuzp\.8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
17222 /* { dg-final { cleanup-saved-temps } } */
17223
17224=== modified file 'gcc/testsuite/gcc.target/arm/neon/vuzpQs16.c'
17225--- old/gcc/testsuite/gcc.target/arm/neon/vuzpQs16.c 2010-07-29 15:38:15 +0000
17226+++ new/gcc/testsuite/gcc.target/arm/neon/vuzpQs16.c 2010-08-20 13:27:11 +0000
17227@@ -17,5 +17,5 @@
17228 out_int16x8x2_t = vuzpq_s16 (arg0_int16x8_t, arg1_int16x8_t);
17229 }
17230
17231-/* { dg-final { scan-assembler "vuzp\.16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
17232+/* { dg-final { scan-assembler "vuzp\.16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
17233 /* { dg-final { cleanup-saved-temps } } */
17234
17235=== modified file 'gcc/testsuite/gcc.target/arm/neon/vuzpQs32.c'
17236--- old/gcc/testsuite/gcc.target/arm/neon/vuzpQs32.c 2010-07-29 15:38:15 +0000
17237+++ new/gcc/testsuite/gcc.target/arm/neon/vuzpQs32.c 2010-08-20 13:27:11 +0000
17238@@ -17,5 +17,5 @@
17239 out_int32x4x2_t = vuzpq_s32 (arg0_int32x4_t, arg1_int32x4_t);
17240 }
17241
17242-/* { dg-final { scan-assembler "vuzp\.32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
17243+/* { dg-final { scan-assembler "vuzp\.32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
17244 /* { dg-final { cleanup-saved-temps } } */
17245
17246=== modified file 'gcc/testsuite/gcc.target/arm/neon/vuzpQs8.c'
17247--- old/gcc/testsuite/gcc.target/arm/neon/vuzpQs8.c 2010-07-29 15:38:15 +0000
17248+++ new/gcc/testsuite/gcc.target/arm/neon/vuzpQs8.c 2010-08-20 13:27:11 +0000
17249@@ -17,5 +17,5 @@
17250 out_int8x16x2_t = vuzpq_s8 (arg0_int8x16_t, arg1_int8x16_t);
17251 }
17252
17253-/* { dg-final { scan-assembler "vuzp\.8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
17254+/* { dg-final { scan-assembler "vuzp\.8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
17255 /* { dg-final { cleanup-saved-temps } } */
17256
17257=== modified file 'gcc/testsuite/gcc.target/arm/neon/vuzpQu16.c'
17258--- old/gcc/testsuite/gcc.target/arm/neon/vuzpQu16.c 2010-07-29 15:38:15 +0000
17259+++ new/gcc/testsuite/gcc.target/arm/neon/vuzpQu16.c 2010-08-20 13:27:11 +0000
17260@@ -17,5 +17,5 @@
17261 out_uint16x8x2_t = vuzpq_u16 (arg0_uint16x8_t, arg1_uint16x8_t);
17262 }
17263
17264-/* { dg-final { scan-assembler "vuzp\.16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
17265+/* { dg-final { scan-assembler "vuzp\.16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
17266 /* { dg-final { cleanup-saved-temps } } */
17267
17268=== modified file 'gcc/testsuite/gcc.target/arm/neon/vuzpQu32.c'
17269--- old/gcc/testsuite/gcc.target/arm/neon/vuzpQu32.c 2010-07-29 15:38:15 +0000
17270+++ new/gcc/testsuite/gcc.target/arm/neon/vuzpQu32.c 2010-08-20 13:27:11 +0000
17271@@ -17,5 +17,5 @@
17272 out_uint32x4x2_t = vuzpq_u32 (arg0_uint32x4_t, arg1_uint32x4_t);
17273 }
17274
17275-/* { dg-final { scan-assembler "vuzp\.32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
17276+/* { dg-final { scan-assembler "vuzp\.32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
17277 /* { dg-final { cleanup-saved-temps } } */
17278
17279=== modified file 'gcc/testsuite/gcc.target/arm/neon/vuzpQu8.c'
17280--- old/gcc/testsuite/gcc.target/arm/neon/vuzpQu8.c 2010-07-29 15:38:15 +0000
17281+++ new/gcc/testsuite/gcc.target/arm/neon/vuzpQu8.c 2010-08-20 13:27:11 +0000
17282@@ -17,5 +17,5 @@
17283 out_uint8x16x2_t = vuzpq_u8 (arg0_uint8x16_t, arg1_uint8x16_t);
17284 }
17285
17286-/* { dg-final { scan-assembler "vuzp\.8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
17287+/* { dg-final { scan-assembler "vuzp\.8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
17288 /* { dg-final { cleanup-saved-temps } } */
17289
17290=== modified file 'gcc/testsuite/gcc.target/arm/neon/vuzpf32.c'
17291--- old/gcc/testsuite/gcc.target/arm/neon/vuzpf32.c 2010-07-29 15:38:15 +0000
17292+++ new/gcc/testsuite/gcc.target/arm/neon/vuzpf32.c 2010-08-20 13:27:11 +0000
17293@@ -17,5 +17,5 @@
17294 out_float32x2x2_t = vuzp_f32 (arg0_float32x2_t, arg1_float32x2_t);
17295 }
17296
17297-/* { dg-final { scan-assembler "vuzp\.32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
17298+/* { dg-final { scan-assembler "vuzp\.32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
17299 /* { dg-final { cleanup-saved-temps } } */
17300
17301=== modified file 'gcc/testsuite/gcc.target/arm/neon/vuzpp16.c'
17302--- old/gcc/testsuite/gcc.target/arm/neon/vuzpp16.c 2010-07-29 15:38:15 +0000
17303+++ new/gcc/testsuite/gcc.target/arm/neon/vuzpp16.c 2010-08-20 13:27:11 +0000
17304@@ -17,5 +17,5 @@
17305 out_poly16x4x2_t = vuzp_p16 (arg0_poly16x4_t, arg1_poly16x4_t);
17306 }
17307
17308-/* { dg-final { scan-assembler "vuzp\.16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
17309+/* { dg-final { scan-assembler "vuzp\.16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
17310 /* { dg-final { cleanup-saved-temps } } */
17311
17312=== modified file 'gcc/testsuite/gcc.target/arm/neon/vuzpp8.c'
17313--- old/gcc/testsuite/gcc.target/arm/neon/vuzpp8.c 2010-07-29 15:38:15 +0000
17314+++ new/gcc/testsuite/gcc.target/arm/neon/vuzpp8.c 2010-08-20 13:27:11 +0000
17315@@ -17,5 +17,5 @@
17316 out_poly8x8x2_t = vuzp_p8 (arg0_poly8x8_t, arg1_poly8x8_t);
17317 }
17318
17319-/* { dg-final { scan-assembler "vuzp\.8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
17320+/* { dg-final { scan-assembler "vuzp\.8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
17321 /* { dg-final { cleanup-saved-temps } } */
17322
17323=== modified file 'gcc/testsuite/gcc.target/arm/neon/vuzps16.c'
17324--- old/gcc/testsuite/gcc.target/arm/neon/vuzps16.c 2010-07-29 15:38:15 +0000
17325+++ new/gcc/testsuite/gcc.target/arm/neon/vuzps16.c 2010-08-20 13:27:11 +0000
17326@@ -17,5 +17,5 @@
17327 out_int16x4x2_t = vuzp_s16 (arg0_int16x4_t, arg1_int16x4_t);
17328 }
17329
17330-/* { dg-final { scan-assembler "vuzp\.16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
17331+/* { dg-final { scan-assembler "vuzp\.16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
17332 /* { dg-final { cleanup-saved-temps } } */
17333
17334=== modified file 'gcc/testsuite/gcc.target/arm/neon/vuzps32.c'
17335--- old/gcc/testsuite/gcc.target/arm/neon/vuzps32.c 2010-07-29 15:38:15 +0000
17336+++ new/gcc/testsuite/gcc.target/arm/neon/vuzps32.c 2010-08-20 13:27:11 +0000
17337@@ -17,5 +17,5 @@
17338 out_int32x2x2_t = vuzp_s32 (arg0_int32x2_t, arg1_int32x2_t);
17339 }
17340
17341-/* { dg-final { scan-assembler "vuzp\.32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
17342+/* { dg-final { scan-assembler "vuzp\.32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
17343 /* { dg-final { cleanup-saved-temps } } */
17344
17345=== modified file 'gcc/testsuite/gcc.target/arm/neon/vuzps8.c'
17346--- old/gcc/testsuite/gcc.target/arm/neon/vuzps8.c 2010-07-29 15:38:15 +0000
17347+++ new/gcc/testsuite/gcc.target/arm/neon/vuzps8.c 2010-08-20 13:27:11 +0000
17348@@ -17,5 +17,5 @@
17349 out_int8x8x2_t = vuzp_s8 (arg0_int8x8_t, arg1_int8x8_t);
17350 }
17351
17352-/* { dg-final { scan-assembler "vuzp\.8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
17353+/* { dg-final { scan-assembler "vuzp\.8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
17354 /* { dg-final { cleanup-saved-temps } } */
17355
17356=== modified file 'gcc/testsuite/gcc.target/arm/neon/vuzpu16.c'
17357--- old/gcc/testsuite/gcc.target/arm/neon/vuzpu16.c 2010-07-29 15:38:15 +0000
17358+++ new/gcc/testsuite/gcc.target/arm/neon/vuzpu16.c 2010-08-20 13:27:11 +0000
17359@@ -17,5 +17,5 @@
17360 out_uint16x4x2_t = vuzp_u16 (arg0_uint16x4_t, arg1_uint16x4_t);
17361 }
17362
17363-/* { dg-final { scan-assembler "vuzp\.16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
17364+/* { dg-final { scan-assembler "vuzp\.16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
17365 /* { dg-final { cleanup-saved-temps } } */
17366
17367=== modified file 'gcc/testsuite/gcc.target/arm/neon/vuzpu32.c'
17368--- old/gcc/testsuite/gcc.target/arm/neon/vuzpu32.c 2010-07-29 15:38:15 +0000
17369+++ new/gcc/testsuite/gcc.target/arm/neon/vuzpu32.c 2010-08-20 13:27:11 +0000
17370@@ -17,5 +17,5 @@
17371 out_uint32x2x2_t = vuzp_u32 (arg0_uint32x2_t, arg1_uint32x2_t);
17372 }
17373
17374-/* { dg-final { scan-assembler "vuzp\.32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
17375+/* { dg-final { scan-assembler "vuzp\.32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
17376 /* { dg-final { cleanup-saved-temps } } */
17377
17378=== modified file 'gcc/testsuite/gcc.target/arm/neon/vuzpu8.c'
17379--- old/gcc/testsuite/gcc.target/arm/neon/vuzpu8.c 2010-07-29 15:38:15 +0000
17380+++ new/gcc/testsuite/gcc.target/arm/neon/vuzpu8.c 2010-08-20 13:27:11 +0000
17381@@ -17,5 +17,5 @@
17382 out_uint8x8x2_t = vuzp_u8 (arg0_uint8x8_t, arg1_uint8x8_t);
17383 }
17384
17385-/* { dg-final { scan-assembler "vuzp\.8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
17386+/* { dg-final { scan-assembler "vuzp\.8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
17387 /* { dg-final { cleanup-saved-temps } } */
17388
17389=== modified file 'gcc/testsuite/gcc.target/arm/neon/vzipQf32.c'
17390--- old/gcc/testsuite/gcc.target/arm/neon/vzipQf32.c 2010-07-29 15:38:15 +0000
17391+++ new/gcc/testsuite/gcc.target/arm/neon/vzipQf32.c 2010-08-20 13:27:11 +0000
17392@@ -17,5 +17,5 @@
17393 out_float32x4x2_t = vzipq_f32 (arg0_float32x4_t, arg1_float32x4_t);
17394 }
17395
17396-/* { dg-final { scan-assembler "vzip\.32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
17397+/* { dg-final { scan-assembler "vzip\.32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
17398 /* { dg-final { cleanup-saved-temps } } */
17399
17400=== modified file 'gcc/testsuite/gcc.target/arm/neon/vzipQp16.c'
17401--- old/gcc/testsuite/gcc.target/arm/neon/vzipQp16.c 2010-07-29 15:38:15 +0000
17402+++ new/gcc/testsuite/gcc.target/arm/neon/vzipQp16.c 2010-08-20 13:27:11 +0000
17403@@ -17,5 +17,5 @@
17404 out_poly16x8x2_t = vzipq_p16 (arg0_poly16x8_t, arg1_poly16x8_t);
17405 }
17406
17407-/* { dg-final { scan-assembler "vzip\.16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
17408+/* { dg-final { scan-assembler "vzip\.16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
17409 /* { dg-final { cleanup-saved-temps } } */
17410
17411=== modified file 'gcc/testsuite/gcc.target/arm/neon/vzipQp8.c'
17412--- old/gcc/testsuite/gcc.target/arm/neon/vzipQp8.c 2010-07-29 15:38:15 +0000
17413+++ new/gcc/testsuite/gcc.target/arm/neon/vzipQp8.c 2010-08-20 13:27:11 +0000
17414@@ -17,5 +17,5 @@
17415 out_poly8x16x2_t = vzipq_p8 (arg0_poly8x16_t, arg1_poly8x16_t);
17416 }
17417
17418-/* { dg-final { scan-assembler "vzip\.8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
17419+/* { dg-final { scan-assembler "vzip\.8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
17420 /* { dg-final { cleanup-saved-temps } } */
17421
17422=== modified file 'gcc/testsuite/gcc.target/arm/neon/vzipQs16.c'
17423--- old/gcc/testsuite/gcc.target/arm/neon/vzipQs16.c 2010-07-29 15:38:15 +0000
17424+++ new/gcc/testsuite/gcc.target/arm/neon/vzipQs16.c 2010-08-20 13:27:11 +0000
17425@@ -17,5 +17,5 @@
17426 out_int16x8x2_t = vzipq_s16 (arg0_int16x8_t, arg1_int16x8_t);
17427 }
17428
17429-/* { dg-final { scan-assembler "vzip\.16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
17430+/* { dg-final { scan-assembler "vzip\.16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
17431 /* { dg-final { cleanup-saved-temps } } */
17432
17433=== modified file 'gcc/testsuite/gcc.target/arm/neon/vzipQs32.c'
17434--- old/gcc/testsuite/gcc.target/arm/neon/vzipQs32.c 2010-07-29 15:38:15 +0000
17435+++ new/gcc/testsuite/gcc.target/arm/neon/vzipQs32.c 2010-08-20 13:27:11 +0000
17436@@ -17,5 +17,5 @@
17437 out_int32x4x2_t = vzipq_s32 (arg0_int32x4_t, arg1_int32x4_t);
17438 }
17439
17440-/* { dg-final { scan-assembler "vzip\.32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
17441+/* { dg-final { scan-assembler "vzip\.32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
17442 /* { dg-final { cleanup-saved-temps } } */
17443
17444=== modified file 'gcc/testsuite/gcc.target/arm/neon/vzipQs8.c'
17445--- old/gcc/testsuite/gcc.target/arm/neon/vzipQs8.c 2010-07-29 15:38:15 +0000
17446+++ new/gcc/testsuite/gcc.target/arm/neon/vzipQs8.c 2010-08-20 13:27:11 +0000
17447@@ -17,5 +17,5 @@
17448 out_int8x16x2_t = vzipq_s8 (arg0_int8x16_t, arg1_int8x16_t);
17449 }
17450
17451-/* { dg-final { scan-assembler "vzip\.8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
17452+/* { dg-final { scan-assembler "vzip\.8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
17453 /* { dg-final { cleanup-saved-temps } } */
17454
17455=== modified file 'gcc/testsuite/gcc.target/arm/neon/vzipQu16.c'
17456--- old/gcc/testsuite/gcc.target/arm/neon/vzipQu16.c 2010-07-29 15:38:15 +0000
17457+++ new/gcc/testsuite/gcc.target/arm/neon/vzipQu16.c 2010-08-20 13:27:11 +0000
17458@@ -17,5 +17,5 @@
17459 out_uint16x8x2_t = vzipq_u16 (arg0_uint16x8_t, arg1_uint16x8_t);
17460 }
17461
17462-/* { dg-final { scan-assembler "vzip\.16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
17463+/* { dg-final { scan-assembler "vzip\.16\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
17464 /* { dg-final { cleanup-saved-temps } } */
17465
17466=== modified file 'gcc/testsuite/gcc.target/arm/neon/vzipQu32.c'
17467--- old/gcc/testsuite/gcc.target/arm/neon/vzipQu32.c 2010-07-29 15:38:15 +0000
17468+++ new/gcc/testsuite/gcc.target/arm/neon/vzipQu32.c 2010-08-20 13:27:11 +0000
17469@@ -17,5 +17,5 @@
17470 out_uint32x4x2_t = vzipq_u32 (arg0_uint32x4_t, arg1_uint32x4_t);
17471 }
17472
17473-/* { dg-final { scan-assembler "vzip\.32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
17474+/* { dg-final { scan-assembler "vzip\.32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
17475 /* { dg-final { cleanup-saved-temps } } */
17476
17477=== modified file 'gcc/testsuite/gcc.target/arm/neon/vzipQu8.c'
17478--- old/gcc/testsuite/gcc.target/arm/neon/vzipQu8.c 2010-07-29 15:38:15 +0000
17479+++ new/gcc/testsuite/gcc.target/arm/neon/vzipQu8.c 2010-08-20 13:27:11 +0000
17480@@ -17,5 +17,5 @@
17481 out_uint8x16x2_t = vzipq_u8 (arg0_uint8x16_t, arg1_uint8x16_t);
17482 }
17483
17484-/* { dg-final { scan-assembler "vzip\.8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
17485+/* { dg-final { scan-assembler "vzip\.8\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
17486 /* { dg-final { cleanup-saved-temps } } */
17487
17488=== modified file 'gcc/testsuite/gcc.target/arm/neon/vzipf32.c'
17489--- old/gcc/testsuite/gcc.target/arm/neon/vzipf32.c 2010-07-29 15:38:15 +0000
17490+++ new/gcc/testsuite/gcc.target/arm/neon/vzipf32.c 2010-08-20 13:27:11 +0000
17491@@ -17,5 +17,5 @@
17492 out_float32x2x2_t = vzip_f32 (arg0_float32x2_t, arg1_float32x2_t);
17493 }
17494
17495-/* { dg-final { scan-assembler "vzip\.32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
17496+/* { dg-final { scan-assembler "vzip\.32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
17497 /* { dg-final { cleanup-saved-temps } } */
17498
17499=== modified file 'gcc/testsuite/gcc.target/arm/neon/vzipp16.c'
17500--- old/gcc/testsuite/gcc.target/arm/neon/vzipp16.c 2010-07-29 15:38:15 +0000
17501+++ new/gcc/testsuite/gcc.target/arm/neon/vzipp16.c 2010-08-20 13:27:11 +0000
17502@@ -17,5 +17,5 @@
17503 out_poly16x4x2_t = vzip_p16 (arg0_poly16x4_t, arg1_poly16x4_t);
17504 }
17505
17506-/* { dg-final { scan-assembler "vzip\.16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
17507+/* { dg-final { scan-assembler "vzip\.16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
17508 /* { dg-final { cleanup-saved-temps } } */
17509
17510=== modified file 'gcc/testsuite/gcc.target/arm/neon/vzipp8.c'
17511--- old/gcc/testsuite/gcc.target/arm/neon/vzipp8.c 2010-07-29 15:38:15 +0000
17512+++ new/gcc/testsuite/gcc.target/arm/neon/vzipp8.c 2010-08-20 13:27:11 +0000
17513@@ -17,5 +17,5 @@
17514 out_poly8x8x2_t = vzip_p8 (arg0_poly8x8_t, arg1_poly8x8_t);
17515 }
17516
17517-/* { dg-final { scan-assembler "vzip\.8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
17518+/* { dg-final { scan-assembler "vzip\.8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
17519 /* { dg-final { cleanup-saved-temps } } */
17520
17521=== modified file 'gcc/testsuite/gcc.target/arm/neon/vzips16.c'
17522--- old/gcc/testsuite/gcc.target/arm/neon/vzips16.c 2010-07-29 15:38:15 +0000
17523+++ new/gcc/testsuite/gcc.target/arm/neon/vzips16.c 2010-08-20 13:27:11 +0000
17524@@ -17,5 +17,5 @@
17525 out_int16x4x2_t = vzip_s16 (arg0_int16x4_t, arg1_int16x4_t);
17526 }
17527
17528-/* { dg-final { scan-assembler "vzip\.16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
17529+/* { dg-final { scan-assembler "vzip\.16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
17530 /* { dg-final { cleanup-saved-temps } } */
17531
17532=== modified file 'gcc/testsuite/gcc.target/arm/neon/vzips32.c'
17533--- old/gcc/testsuite/gcc.target/arm/neon/vzips32.c 2010-07-29 15:38:15 +0000
17534+++ new/gcc/testsuite/gcc.target/arm/neon/vzips32.c 2010-08-20 13:27:11 +0000
17535@@ -17,5 +17,5 @@
17536 out_int32x2x2_t = vzip_s32 (arg0_int32x2_t, arg1_int32x2_t);
17537 }
17538
17539-/* { dg-final { scan-assembler "vzip\.32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
17540+/* { dg-final { scan-assembler "vzip\.32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
17541 /* { dg-final { cleanup-saved-temps } } */
17542
17543=== modified file 'gcc/testsuite/gcc.target/arm/neon/vzips8.c'
17544--- old/gcc/testsuite/gcc.target/arm/neon/vzips8.c 2010-07-29 15:38:15 +0000
17545+++ new/gcc/testsuite/gcc.target/arm/neon/vzips8.c 2010-08-20 13:27:11 +0000
17546@@ -17,5 +17,5 @@
17547 out_int8x8x2_t = vzip_s8 (arg0_int8x8_t, arg1_int8x8_t);
17548 }
17549
17550-/* { dg-final { scan-assembler "vzip\.8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
17551+/* { dg-final { scan-assembler "vzip\.8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
17552 /* { dg-final { cleanup-saved-temps } } */
17553
17554=== modified file 'gcc/testsuite/gcc.target/arm/neon/vzipu16.c'
17555--- old/gcc/testsuite/gcc.target/arm/neon/vzipu16.c 2010-07-29 15:38:15 +0000
17556+++ new/gcc/testsuite/gcc.target/arm/neon/vzipu16.c 2010-08-20 13:27:11 +0000
17557@@ -17,5 +17,5 @@
17558 out_uint16x4x2_t = vzip_u16 (arg0_uint16x4_t, arg1_uint16x4_t);
17559 }
17560
17561-/* { dg-final { scan-assembler "vzip\.16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
17562+/* { dg-final { scan-assembler "vzip\.16\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
17563 /* { dg-final { cleanup-saved-temps } } */
17564
17565=== modified file 'gcc/testsuite/gcc.target/arm/neon/vzipu32.c'
17566--- old/gcc/testsuite/gcc.target/arm/neon/vzipu32.c 2010-07-29 15:38:15 +0000
17567+++ new/gcc/testsuite/gcc.target/arm/neon/vzipu32.c 2010-08-20 13:27:11 +0000
17568@@ -17,5 +17,5 @@
17569 out_uint32x2x2_t = vzip_u32 (arg0_uint32x2_t, arg1_uint32x2_t);
17570 }
17571
17572-/* { dg-final { scan-assembler "vzip\.32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
17573+/* { dg-final { scan-assembler "vzip\.32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
17574 /* { dg-final { cleanup-saved-temps } } */
17575
17576=== modified file 'gcc/testsuite/gcc.target/arm/neon/vzipu8.c'
17577--- old/gcc/testsuite/gcc.target/arm/neon/vzipu8.c 2010-07-29 15:38:15 +0000
17578+++ new/gcc/testsuite/gcc.target/arm/neon/vzipu8.c 2010-08-20 13:27:11 +0000
17579@@ -17,5 +17,5 @@
17580 out_uint8x8x2_t = vzip_u8 (arg0_uint8x8_t, arg1_uint8x8_t);
17581 }
17582
17583-/* { dg-final { scan-assembler "vzip\.8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
17584+/* { dg-final { scan-assembler "vzip\.8\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@.*\)?\n" } } */
17585 /* { dg-final { cleanup-saved-temps } } */
17586
diff --git a/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99363.patch b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99363.patch
new file mode 100644
index 0000000000..7003cf8376
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99363.patch
@@ -0,0 +1,95 @@
12010-08-05 Jie Zhang <jie@codesourcery.com>
2
3 Issue #7257
4
5 Backport from mainline:
6
7 gcc/
8 2010-08-05 Jie Zhang <jie@codesourcery.com>
9 PR tree-optimization/45144
10 * tree-sra.c (type_consists_of_records_p): Return false
11 if the record contains bit-field.
12
13 gcc/testsuite/
14 2010-08-05 Jie Zhang <jie@codesourcery.com>
15 PR tree-optimization/45144
16 * gcc.dg/tree-ssa/pr45144.c: New test.
17
18 2010-08-04 Mark Mitchell <mark@codesourcery.com>
19
20 Backport from mainline:
21
22=== added file 'gcc/testsuite/gcc.dg/tree-ssa/pr45144.c'
23--- old/gcc/testsuite/gcc.dg/tree-ssa/pr45144.c 1970-01-01 00:00:00 +0000
24+++ new/gcc/testsuite/gcc.dg/tree-ssa/pr45144.c 2010-08-20 16:04:44 +0000
25@@ -0,0 +1,46 @@
26+/* { dg-do compile } */
27+/* { dg-options "-O2 -fdump-tree-optimized" } */
28+
29+void baz (unsigned);
30+
31+extern unsigned buf[];
32+
33+struct A
34+{
35+ unsigned a1:10;
36+ unsigned a2:3;
37+ unsigned:19;
38+};
39+
40+union TMP
41+{
42+ struct A a;
43+ unsigned int b;
44+};
45+
46+static unsigned
47+foo (struct A *p)
48+{
49+ union TMP t;
50+ struct A x;
51+
52+ x = *p;
53+ t.a = x;
54+ return t.b;
55+}
56+
57+void
58+bar (unsigned orig, unsigned *new)
59+{
60+ struct A a;
61+ union TMP s;
62+
63+ s.b = orig;
64+ a = s.a;
65+ if (a.a1)
66+ baz (a.a2);
67+ *new = foo (&a);
68+}
69+
70+/* { dg-final { scan-tree-dump "x = a;" "optimized"} } */
71+/* { dg-final { cleanup-tree-dump "optimized" } } */
72
73=== modified file 'gcc/tree-sra.c'
74--- old/gcc/tree-sra.c 2010-08-10 13:31:21 +0000
75+++ new/gcc/tree-sra.c 2010-08-20 16:04:44 +0000
76@@ -805,7 +805,7 @@
77 /* Return true iff TYPE is a RECORD_TYPE with fields that are either of gimple
78 register types or (recursively) records with only these two kinds of fields.
79 It also returns false if any of these records has a zero-size field as its
80- last field. */
81+ last field or has a bit-field. */
82
83 static bool
84 type_consists_of_records_p (tree type)
85@@ -821,6 +821,9 @@
86 {
87 tree ft = TREE_TYPE (fld);
88
89+ if (DECL_BIT_FIELD (fld))
90+ return false;
91+
92 if (!is_gimple_reg_type (ft)
93 && !type_consists_of_records_p (ft))
94 return false;
95
diff --git a/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99364.patch b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99364.patch
new file mode 100644
index 0000000000..8ae781ecab
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99364.patch
@@ -0,0 +1,511 @@
12010-08-05 Julian Brown <julian@codesourcery.com>
2
3 Backport from mainline (candidate patch):
4
5 gcc/
6 * expr.c (expand_assignment): Add assertion to prevent emitting null
7 rtx for movmisalign pattern.
8 (expand_expr_real_1): Likewise.
9 * config/arm/arm.c (arm_builtin_support_vector_misalignment): New.
10 (TARGET_VECTORIZE_SUPPORT_VECTOR_MISALIGNMENT): New. Use above.
11 (arm_vector_alignment_reachable): New.
12 (TARGET_VECTORIZE_VECTOR_ALIGNMENT_REACHABLE): New. Use above.
13 (neon_vector_mem_operand): Disallow PRE_DEC for misaligned loads.
14 (arm_print_operand): Include alignment qualifier in %A.
15 * config/arm/neon.md (UNSPEC_MISALIGNED_ACCESS): New constant.
16 (movmisalign<mode>): New expander.
17 (movmisalign<mode>_neon_store, movmisalign<mode>_neon_load): New
18 insn patterns.
19
20 gcc/testsuite/
21 * gcc.dg/vect/vect-42.c: Use vect_element_align instead of
22 vect_hw_misalign.
23 * gcc.dg/vect/vect-60.c: Likewise.
24 * gcc.dg/vect/vect-56.c: Likewise.
25 * gcc.dg/vect/vect-93.c: Likewise.
26 * gcc.dg/vect/no-scevccp-outer-8.c: Likewise.
27 * gcc.dg/vect/vect-95.c: Likewise.
28 * gcc.dg/vect/vect-96.c: Likewise.
29 * gcc.dg/vect/vect-outer-5.c: Use quad-word vectors when available.
30 * gcc.dg/vect/slp-25.c: Likewise.
31 * gcc.dg/vect/slp-3.c: Likewise.
32 * gcc.dg/vect/vect-multitypes-1.c: Likewise.
33 * gcc.dg/vect/no-vfa-pr29145.c: Likewise.
34 * gcc.dg/vect/vect-multitypes-4.c: Likewise. Use vect_element_align.
35 * gcc.dg/vect/vect-109.c: Likewise.
36 * gcc.dg/vect/vect-peel-1.c: Likewise.
37 * gcc.dg/vect/vect-peel-2.c: Likewise.
38 * lib/target-supports.exp
39 (check_effective_target_arm_vect_no_misalign): New.
40 (check_effective_target_vect_no_align): Use above.
41 (check_effective_target_vect_element_align): New.
42 (add_options_for_quad_vectors): New.
43
44 2010-08-05 Jie Zhang <jie@codesourcery.com>
45
46 Issue #7257
47
48=== modified file 'gcc/config/arm/arm.c'
49--- old/gcc/config/arm/arm.c 2010-08-16 09:41:58 +0000
50+++ new/gcc/config/arm/arm.c 2010-08-20 16:21:01 +0000
51@@ -228,6 +228,11 @@
52 static void arm_trampoline_init (rtx, tree, rtx);
53 static rtx arm_trampoline_adjust_address (rtx);
54 static rtx arm_pic_static_addr (rtx orig, rtx reg);
55+static bool arm_vector_alignment_reachable (const_tree type, bool is_packed);
56+static bool arm_builtin_support_vector_misalignment (enum machine_mode mode,
57+ const_tree type,
58+ int misalignment,
59+ bool is_packed);
60
61
62 /* Table of machine attributes. */
63@@ -514,6 +519,14 @@
64 #undef TARGET_CAN_ELIMINATE
65 #define TARGET_CAN_ELIMINATE arm_can_eliminate
66
67+#undef TARGET_VECTOR_ALIGNMENT_REACHABLE
68+#define TARGET_VECTOR_ALIGNMENT_REACHABLE \
69+ arm_vector_alignment_reachable
70+
71+#undef TARGET_SUPPORT_VECTOR_MISALIGNMENT
72+#define TARGET_SUPPORT_VECTOR_MISALIGNMENT \
73+ arm_builtin_support_vector_misalignment
74+
75 struct gcc_target targetm = TARGET_INITIALIZER;
76
77 /* Obstack for minipool constant handling. */
78@@ -9084,7 +9097,8 @@
79 return arm_address_register_rtx_p (ind, 0);
80
81 /* Allow post-increment with Neon registers. */
82- if (type != 1 && (GET_CODE (ind) == POST_INC || GET_CODE (ind) == PRE_DEC))
83+ if ((type != 1 && GET_CODE (ind) == POST_INC)
84+ || (type == 0 && GET_CODE (ind) == PRE_DEC))
85 return arm_address_register_rtx_p (XEXP (ind, 0), 0);
86
87 /* FIXME: vld1 allows register post-modify. */
88@@ -16365,6 +16379,8 @@
89 {
90 rtx addr;
91 bool postinc = FALSE;
92+ unsigned align, modesize, align_bits;
93+
94 gcc_assert (GET_CODE (x) == MEM);
95 addr = XEXP (x, 0);
96 if (GET_CODE (addr) == POST_INC)
97@@ -16372,7 +16388,29 @@
98 postinc = 1;
99 addr = XEXP (addr, 0);
100 }
101- asm_fprintf (stream, "[%r]", REGNO (addr));
102+ asm_fprintf (stream, "[%r", REGNO (addr));
103+
104+ /* We know the alignment of this access, so we can emit a hint in the
105+ instruction (for some alignments) as an aid to the memory subsystem
106+ of the target. */
107+ align = MEM_ALIGN (x) >> 3;
108+ modesize = GET_MODE_SIZE (GET_MODE (x));
109+
110+ /* Only certain alignment specifiers are supported by the hardware. */
111+ if (modesize == 16 && (align % 32) == 0)
112+ align_bits = 256;
113+ else if ((modesize == 8 || modesize == 16) && (align % 16) == 0)
114+ align_bits = 128;
115+ else if ((align % 8) == 0)
116+ align_bits = 64;
117+ else
118+ align_bits = 0;
119+
120+ if (align_bits != 0)
121+ asm_fprintf (stream, ", :%d", align_bits);
122+
123+ asm_fprintf (stream, "]");
124+
125 if (postinc)
126 fputs("!", stream);
127 }
128@@ -22450,4 +22488,43 @@
129 return !TARGET_THUMB1;
130 }
131
132+static bool
133+arm_vector_alignment_reachable (const_tree type, bool is_packed)
134+{
135+ /* Vectors which aren't in packed structures will not be less aligned than
136+ the natural alignment of their element type, so this is safe. */
137+ if (TARGET_NEON && !BYTES_BIG_ENDIAN)
138+ return !is_packed;
139+
140+ return default_builtin_vector_alignment_reachable (type, is_packed);
141+}
142+
143+static bool
144+arm_builtin_support_vector_misalignment (enum machine_mode mode,
145+ const_tree type, int misalignment,
146+ bool is_packed)
147+{
148+ if (TARGET_NEON && !BYTES_BIG_ENDIAN)
149+ {
150+ HOST_WIDE_INT align = TYPE_ALIGN_UNIT (type);
151+
152+ if (is_packed)
153+ return align == 1;
154+
155+ /* If the misalignment is unknown, we should be able to handle the access
156+ so long as it is not to a member of a packed data structure. */
157+ if (misalignment == -1)
158+ return true;
159+
160+ /* Return true if the misalignment is a multiple of the natural alignment
161+ of the vector's element type. This is probably always going to be
162+ true in practice, since we've already established that this isn't a
163+ packed access. */
164+ return ((misalignment % align) == 0);
165+ }
166+
167+ return default_builtin_support_vector_misalignment (mode, type, misalignment,
168+ is_packed);
169+}
170+
171 #include "gt-arm.h"
172
173=== modified file 'gcc/config/arm/neon.md'
174--- old/gcc/config/arm/neon.md 2010-08-13 11:40:17 +0000
175+++ new/gcc/config/arm/neon.md 2010-08-20 16:21:01 +0000
176@@ -140,7 +140,8 @@
177 (UNSPEC_VUZP1 201)
178 (UNSPEC_VUZP2 202)
179 (UNSPEC_VZIP1 203)
180- (UNSPEC_VZIP2 204)])
181+ (UNSPEC_VZIP2 204)
182+ (UNSPEC_MISALIGNED_ACCESS 205)])
183
184 ;; Double-width vector modes.
185 (define_mode_iterator VD [V8QI V4HI V2SI V2SF])
186@@ -660,6 +661,52 @@
187 neon_disambiguate_copy (operands, dest, src, 4);
188 })
189
190+(define_expand "movmisalign<mode>"
191+ [(set (match_operand:VDQX 0 "nonimmediate_operand" "")
192+ (unspec:VDQX [(match_operand:VDQX 1 "general_operand" "")]
193+ UNSPEC_MISALIGNED_ACCESS))]
194+ "TARGET_NEON && !BYTES_BIG_ENDIAN"
195+{
196+ /* This pattern is not permitted to fail during expansion: if both arguments
197+ are non-registers (e.g. memory := constant, which can be created by the
198+ auto-vectorizer), force operand 1 into a register. */
199+ if (!s_register_operand (operands[0], <MODE>mode)
200+ && !s_register_operand (operands[1], <MODE>mode))
201+ operands[1] = force_reg (<MODE>mode, operands[1]);
202+})
203+
204+(define_insn "*movmisalign<mode>_neon_store"
205+ [(set (match_operand:VDX 0 "memory_operand" "=Um")
206+ (unspec:VDX [(match_operand:VDX 1 "s_register_operand" " w")]
207+ UNSPEC_MISALIGNED_ACCESS))]
208+ "TARGET_NEON && !BYTES_BIG_ENDIAN"
209+ "vst1.<V_sz_elem>\t{%P1}, %A0"
210+ [(set_attr "neon_type" "neon_vst1_1_2_regs_vst2_2_regs")])
211+
212+(define_insn "*movmisalign<mode>_neon_load"
213+ [(set (match_operand:VDX 0 "s_register_operand" "=w")
214+ (unspec:VDX [(match_operand:VDX 1 "memory_operand" " Um")]
215+ UNSPEC_MISALIGNED_ACCESS))]
216+ "TARGET_NEON && !BYTES_BIG_ENDIAN"
217+ "vld1.<V_sz_elem>\t{%P0}, %A1"
218+ [(set_attr "neon_type" "neon_vld1_1_2_regs")])
219+
220+(define_insn "*movmisalign<mode>_neon_store"
221+ [(set (match_operand:VQX 0 "memory_operand" "=Um")
222+ (unspec:VQX [(match_operand:VQX 1 "s_register_operand" " w")]
223+ UNSPEC_MISALIGNED_ACCESS))]
224+ "TARGET_NEON && !BYTES_BIG_ENDIAN"
225+ "vst1.<V_sz_elem>\t{%q1}, %A0"
226+ [(set_attr "neon_type" "neon_vst1_1_2_regs_vst2_2_regs")])
227+
228+(define_insn "*movmisalign<mode>_neon_load"
229+ [(set (match_operand:VQX 0 "s_register_operand" "=w")
230+ (unspec:VQX [(match_operand:VQX 1 "memory_operand" " Um")]
231+ UNSPEC_MISALIGNED_ACCESS))]
232+ "TARGET_NEON && !BYTES_BIG_ENDIAN"
233+ "vld1.<V_sz_elem>\t{%q0}, %A1"
234+ [(set_attr "neon_type" "neon_vld1_1_2_regs")])
235+
236 (define_insn "vec_set<mode>_internal"
237 [(set (match_operand:VD 0 "s_register_operand" "=w")
238 (vec_merge:VD
239
240=== modified file 'gcc/expr.c'
241--- old/gcc/expr.c 2010-08-12 13:51:16 +0000
242+++ new/gcc/expr.c 2010-08-20 16:21:01 +0000
243@@ -4362,7 +4362,10 @@
244 && op_mode1 != VOIDmode)
245 reg = copy_to_mode_reg (op_mode1, reg);
246
247- insn = GEN_FCN (icode) (mem, reg);
248+ insn = GEN_FCN (icode) (mem, reg);
249+ /* The movmisalign<mode> pattern cannot fail, else the assignment would
250+ silently be omitted. */
251+ gcc_assert (insn != NULL_RTX);
252 emit_insn (insn);
253 return;
254 }
255@@ -8742,6 +8745,7 @@
256
257 /* Nor can the insn generator. */
258 insn = GEN_FCN (icode) (reg, temp);
259+ gcc_assert (insn != NULL_RTX);
260 emit_insn (insn);
261
262 return reg;
263
264=== modified file 'gcc/testsuite/gcc.dg/vect/no-scevccp-outer-8.c'
265--- old/gcc/testsuite/gcc.dg/vect/no-scevccp-outer-8.c 2009-06-05 14:28:50 +0000
266+++ new/gcc/testsuite/gcc.dg/vect/no-scevccp-outer-8.c 2010-08-20 16:21:01 +0000
267@@ -46,5 +46,5 @@
268 return 0;
269 }
270
271-/* { dg-final { scan-tree-dump-times "OUTER LOOP VECTORIZED." 1 "vect" { xfail { ! { vect_hw_misalign } } } } } */
272+/* { dg-final { scan-tree-dump-times "OUTER LOOP VECTORIZED." 1 "vect" { xfail { ! { vect_element_align } } } } } */
273 /* { dg-final { cleanup-tree-dump "vect" } } */
274
275=== modified file 'gcc/testsuite/gcc.dg/vect/no-vfa-pr29145.c'
276--- old/gcc/testsuite/gcc.dg/vect/no-vfa-pr29145.c 2008-08-18 19:36:03 +0000
277+++ new/gcc/testsuite/gcc.dg/vect/no-vfa-pr29145.c 2010-08-20 16:21:01 +0000
278@@ -1,4 +1,5 @@
279 /* { dg-require-effective-target vect_int } */
280+/* { dg-add-options quad_vectors } */
281
282 #include <stdarg.h>
283 #include "tree-vect.h"
284
285=== modified file 'gcc/testsuite/gcc.dg/vect/slp-25.c'
286--- old/gcc/testsuite/gcc.dg/vect/slp-25.c 2009-10-27 11:46:07 +0000
287+++ new/gcc/testsuite/gcc.dg/vect/slp-25.c 2010-08-20 16:21:01 +0000
288@@ -1,4 +1,5 @@
289 /* { dg-require-effective-target vect_int } */
290+/* { dg-add-options quad_vectors } */
291
292 #include <stdarg.h>
293 #include "tree-vect.h"
294
295=== modified file 'gcc/testsuite/gcc.dg/vect/slp-3.c'
296--- old/gcc/testsuite/gcc.dg/vect/slp-3.c 2009-05-12 13:05:28 +0000
297+++ new/gcc/testsuite/gcc.dg/vect/slp-3.c 2010-08-20 16:21:01 +0000
298@@ -1,4 +1,5 @@
299 /* { dg-require-effective-target vect_int } */
300+/* { dg-add-options quad_vectors } */
301
302 #include <stdarg.h>
303 #include <stdio.h>
304
305=== modified file 'gcc/testsuite/gcc.dg/vect/vect-109.c'
306--- old/gcc/testsuite/gcc.dg/vect/vect-109.c 2010-07-10 20:38:32 +0000
307+++ new/gcc/testsuite/gcc.dg/vect/vect-109.c 2010-08-20 16:21:01 +0000
308@@ -1,4 +1,5 @@
309 /* { dg-require-effective-target vect_int } */
310+/* { dg-add-options quad_vectors } */
311
312 #include <stdarg.h>
313 #include "tree-vect.h"
314@@ -72,8 +73,8 @@
315 return 0;
316 }
317
318-/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 2 "vect" { target vect_hw_misalign } } } */
319-/* { dg-final { scan-tree-dump-times "not vectorized: unsupported unaligned store" 2 "vect" { xfail vect_hw_misalign } } } */
320-/* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 10 "vect" { target vect_hw_misalign } } } */
321+/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 2 "vect" { target vect_element_align } } } */
322+/* { dg-final { scan-tree-dump-times "not vectorized: unsupported unaligned store" 2 "vect" { xfail vect_element_align } } } */
323+/* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 10 "vect" { target vect_element_align } } } */
324 /* { dg-final { cleanup-tree-dump "vect" } } */
325
326
327=== modified file 'gcc/testsuite/gcc.dg/vect/vect-42.c'
328--- old/gcc/testsuite/gcc.dg/vect/vect-42.c 2009-11-04 10:22:22 +0000
329+++ new/gcc/testsuite/gcc.dg/vect/vect-42.c 2010-08-20 16:21:01 +0000
330@@ -64,7 +64,7 @@
331
332 /* { dg-final { scan-tree-dump-times "vectorized 2 loops" 1 "vect" } } */
333 /* { dg-final { scan-tree-dump-times "Alignment of access forced using versioning" 3 "vect" { target vect_no_align } } } */
334-/* { dg-final { scan-tree-dump-times "Alignment of access forced using versioning" 1 "vect" { target { { ! vector_alignment_reachable } && { ! vect_hw_misalign } } } } } */
335+/* { dg-final { scan-tree-dump-times "Alignment of access forced using versioning" 1 "vect" { target { { ! vector_alignment_reachable } && { ! vect_element_align } } } } } */
336 /* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 4 "vect" { xfail { vect_no_align || { ! vector_alignment_reachable } } } } } */
337 /* { dg-final { scan-tree-dump-times "Alignment of access forced using peeling" 1 "vect" { xfail { vect_no_align || { ! vector_alignment_reachable } } } } } */
338 /* { dg-final { cleanup-tree-dump "vect" } } */
339
340=== modified file 'gcc/testsuite/gcc.dg/vect/vect-95.c'
341--- old/gcc/testsuite/gcc.dg/vect/vect-95.c 2009-10-27 11:46:07 +0000
342+++ new/gcc/testsuite/gcc.dg/vect/vect-95.c 2010-08-20 16:21:01 +0000
343@@ -56,14 +56,14 @@
344 }
345
346 /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */
347-/* { dg-final { scan-tree-dump-times "Alignment of access forced using peeling" 0 "vect" { xfail {vect_hw_misalign} } } } */
348+/* { dg-final { scan-tree-dump-times "Alignment of access forced using peeling" 0 "vect" { xfail {vect_element_align} } } } */
349
350 /* For targets that support unaligned loads we version for the two unaligned
351 stores and generate misaligned accesses for the loads. For targets that
352 don't support unaligned loads we version for all four accesses. */
353
354-/* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 2 "vect" { xfail { vect_no_align || vect_hw_misalign} } } } */
355-/* { dg-final { scan-tree-dump-times "Alignment of access forced using versioning" 2 "vect" { xfail { vect_no_align || vect_hw_misalign } } } } */
356+/* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 2 "vect" { xfail { vect_no_align || vect_element_align} } } } */
357+/* { dg-final { scan-tree-dump-times "Alignment of access forced using versioning" 2 "vect" { xfail { vect_no_align || vect_element_align } } } } */
358 /* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 0 "vect" { target vect_no_align } } } */
359 /* { dg-final { scan-tree-dump-times "Alignment of access forced using versioning" 4 "vect" { target vect_no_align } } } */
360 /* { dg-final { cleanup-tree-dump "vect" } } */
361
362=== modified file 'gcc/testsuite/gcc.dg/vect/vect-96.c'
363--- old/gcc/testsuite/gcc.dg/vect/vect-96.c 2009-10-27 11:46:07 +0000
364+++ new/gcc/testsuite/gcc.dg/vect/vect-96.c 2010-08-20 16:21:01 +0000
365@@ -45,5 +45,5 @@
366 /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */
367 /* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 1 "vect" { target { {! vect_no_align} && vector_alignment_reachable } } } } */
368 /* { dg-final { scan-tree-dump-times "Alignment of access forced using peeling" 1 "vect" { xfail { { vect_no_align } || {! vector_alignment_reachable} } } } } */
369-/* { dg-final { scan-tree-dump-times "Alignment of access forced using versioning." 1 "vect" { target { vect_no_align || { {! vector_alignment_reachable} && {! vect_hw_misalign} } } } } } */
370+/* { dg-final { scan-tree-dump-times "Alignment of access forced using versioning." 1 "vect" { target { vect_no_align || { {! vector_alignment_reachable} && {! vect_element_align} } } } } } */
371 /* { dg-final { cleanup-tree-dump "vect" } } */
372
373=== modified file 'gcc/testsuite/gcc.dg/vect/vect-multitypes-1.c'
374--- old/gcc/testsuite/gcc.dg/vect/vect-multitypes-1.c 2009-10-27 11:46:07 +0000
375+++ new/gcc/testsuite/gcc.dg/vect/vect-multitypes-1.c 2010-08-20 16:21:01 +0000
376@@ -1,4 +1,5 @@
377 /* { dg-require-effective-target vect_int } */
378+/* { dg-add-options quad_vectors } */
379
380 #include <stdarg.h>
381 #include "tree-vect.h"
382@@ -78,11 +79,11 @@
383 return 0;
384 }
385
386-/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 2 "vect" { xfail {! vect_hw_misalign} } } } */
387-/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { xfail { vect_no_align || vect_hw_misalign } } } } */
388-/* { dg-final { scan-tree-dump-times "Alignment of access forced using peeling" 2 "vect" { xfail {! vect_hw_misalign} } } } */
389-/* { dg-final { scan-tree-dump-times "Alignment of access forced using peeling" 1 "vect" { xfail { vect_no_align || vect_hw_misalign } } } } */
390+/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 2 "vect" { xfail {! vect_element_align} } } } */
391+/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { xfail { vect_no_align || vect_element_align } } } } */
392+/* { dg-final { scan-tree-dump-times "Alignment of access forced using peeling" 2 "vect" { xfail {! vect_element_align} } } } */
393+/* { dg-final { scan-tree-dump-times "Alignment of access forced using peeling" 1 "vect" { xfail { vect_no_align || vect_element_align } } } } */
394 /* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 4 "vect" { xfail *-*-* } } } */
395-/* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 2 "vect" { xfail { vect_no_align || vect_hw_misalign } } } } */
396+/* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 2 "vect" { xfail { vect_no_align || vect_element_align } } } } */
397 /* { dg-final { cleanup-tree-dump "vect" } } */
398
399
400=== modified file 'gcc/testsuite/gcc.dg/vect/vect-multitypes-4.c'
401--- old/gcc/testsuite/gcc.dg/vect/vect-multitypes-4.c 2009-10-27 11:46:07 +0000
402+++ new/gcc/testsuite/gcc.dg/vect/vect-multitypes-4.c 2010-08-20 16:21:01 +0000
403@@ -1,4 +1,5 @@
404 /* { dg-require-effective-target vect_int } */
405+/* { dg-add-options quad_vectors } */
406
407 #include <stdarg.h>
408 #include "tree-vect.h"
409@@ -85,11 +86,11 @@
410 return 0;
411 }
412
413-/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 2 "vect" { xfail {! vect_hw_misalign} } } } */
414-/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { xfail { vect_no_align || vect_hw_misalign } } } } */
415-/* { dg-final { scan-tree-dump-times "Alignment of access forced using peeling" 2 "vect" { xfail {! vect_hw_misalign} } } } */
416-/* { dg-final { scan-tree-dump-times "Alignment of access forced using peeling" 1 "vect" { xfail { vect_no_align || vect_hw_misalign } } } } */
417+/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 2 "vect" { xfail {! vect_element_align} } } } */
418+/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { xfail { vect_no_align || vect_element_align } } } } */
419+/* { dg-final { scan-tree-dump-times "Alignment of access forced using peeling" 2 "vect" { xfail {! vect_element_align} } } } */
420+/* { dg-final { scan-tree-dump-times "Alignment of access forced using peeling" 1 "vect" { xfail { vect_no_align || vect_element_align } } } } */
421 /* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 8 "vect" { xfail *-*-* } } } */
422-/* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 4 "vect" { xfail { vect_no_align || vect_hw_misalign } } } } */
423+/* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 4 "vect" { xfail { vect_no_align || vect_element_align } } } } */
424 /* { dg-final { cleanup-tree-dump "vect" } } */
425
426
427=== modified file 'gcc/testsuite/gcc.dg/vect/vect-outer-5.c'
428--- old/gcc/testsuite/gcc.dg/vect/vect-outer-5.c 2009-05-08 12:39:01 +0000
429+++ new/gcc/testsuite/gcc.dg/vect/vect-outer-5.c 2010-08-20 16:21:01 +0000
430@@ -1,4 +1,5 @@
431 /* { dg-require-effective-target vect_float } */
432+/* { dg-add-options quad_vectors } */
433
434 #include <stdio.h>
435 #include <stdarg.h>
436
437=== modified file 'gcc/testsuite/lib/target-supports.exp'
438--- old/gcc/testsuite/lib/target-supports.exp 2010-08-10 13:31:21 +0000
439+++ new/gcc/testsuite/lib/target-supports.exp 2010-08-20 16:21:01 +0000
440@@ -1642,6 +1642,18 @@
441 }]
442 }
443
444+# Return 1 if this is an ARM target that only supports aligned vector accesses
445+proc check_effective_target_arm_vect_no_misalign { } {
446+ return [check_no_compiler_messages arm_vect_no_misalign assembly {
447+ #if !defined(__arm__) \
448+ || (defined(__ARMEL__) \
449+ && (!defined(__thumb__) || defined(__thumb2__)))
450+ #error FOO
451+ #endif
452+ }]
453+}
454+
455+
456 # Return 1 if this is an ARM target supporting -mfpu=vfp
457 # -mfloat-abi=softfp. Some multilibs may be incompatible with these
458 # options.
459@@ -2547,7 +2559,7 @@
460 if { [istarget mipsisa64*-*-*]
461 || [istarget sparc*-*-*]
462 || [istarget ia64-*-*]
463- || [check_effective_target_arm32] } {
464+ || [check_effective_target_arm_vect_no_misalign] } {
465 set et_vect_no_align_saved 1
466 }
467 }
468@@ -2682,6 +2694,25 @@
469 return $et_vector_alignment_reachable_for_64bit_saved
470 }
471
472+# Return 1 if the target only requires element alignment for vector accesses
473+
474+proc check_effective_target_vect_element_align { } {
475+ global et_vect_element_align
476+
477+ if [info exists et_vect_element_align] {
478+ verbose "check_effective_target_vect_element_align: using cached result" 2
479+ } else {
480+ set et_vect_element_align 0
481+ if { [istarget arm*-*-*]
482+ || [check_effective_target_vect_hw_misalign] } {
483+ set et_vect_element_align 1
484+ }
485+ }
486+
487+ verbose "check_effective_target_vect_element_align: returning $et_vect_element_align" 2
488+ return $et_vect_element_align
489+}
490+
491 # Return 1 if the target supports vector conditional operations, 0 otherwise.
492
493 proc check_effective_target_vect_condition { } {
494@@ -3239,6 +3270,16 @@
495 return $flags
496 }
497
498+# Add to FLAGS the flags needed to enable 128-bit vectors.
499+
500+proc add_options_for_quad_vectors { flags } {
501+ if [is-effective-target arm_neon_ok] {
502+ return "$flags -mvectorize-with-neon-quad"
503+ }
504+
505+ return $flags
506+}
507+
508 # Return 1 if the target provides a full C99 runtime.
509
510 proc check_effective_target_c99_runtime { } {
511
diff --git a/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99365.patch b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99365.patch
new file mode 100644
index 0000000000..36a942118a
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99365.patch
@@ -0,0 +1,38 @@
12010-08-12 Jie Zhang <jie@codesourcery.com>
2
3 Backport from mainline:
4
5 gcc/testsuite/
6 2010-08-12 Jie Zhang <jie@codesourcery.com>
7 * gcc.dg/graphite/interchange-9.c (M): Define to be 111.
8 (N): Likewise.
9 (main): Adjust accordingly.
10
11 2010-08-05 Julian Brown <julian@codesourcery.com>
12
13 Backport from mainline (candidate patch):
14
15=== modified file 'gcc/testsuite/gcc.dg/graphite/interchange-9.c'
16--- old/gcc/testsuite/gcc.dg/graphite/interchange-9.c 2010-02-07 19:49:26 +0000
17+++ new/gcc/testsuite/gcc.dg/graphite/interchange-9.c 2010-08-20 16:32:45 +0000
18@@ -5,8 +5,8 @@
19 #include <stdio.h>
20 #endif
21
22-#define N 1111
23-#define M 1111
24+#define N 111
25+#define M 111
26
27 static int __attribute__((noinline))
28 foo (int *x)
29@@ -38,7 +38,7 @@
30 fprintf (stderr, "res = %d \n", res);
31 #endif
32
33- if (res != 2468642)
34+ if (res != 24642)
35 abort ();
36
37 return 0;
38
diff --git a/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99366.patch b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99366.patch
new file mode 100644
index 0000000000..0998c812e8
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99366.patch
@@ -0,0 +1,26 @@
12010-08-13 Jie Zhang <jie@codesourcery.com>
2
3 Backport from mainline:
4
5 gcc/
6 2010-08-13 Jie Zhang <jie@codesourcery.com>
7 * config/arm/arm.md (cstoredf4): Only valid when
8 !TARGET_VFP_SINGLE.
9
10 2010-08-12 Jie Zhang <jie@codesourcery.com>
11
12 Backport from mainline:
13
14=== modified file 'gcc/config/arm/arm.md'
15--- old/gcc/config/arm/arm.md 2010-08-16 09:41:58 +0000
16+++ new/gcc/config/arm/arm.md 2010-08-20 16:41:37 +0000
17@@ -8344,7 +8344,7 @@
18 (match_operator:SI 1 "arm_comparison_operator"
19 [(match_operand:DF 2 "s_register_operand" "")
20 (match_operand:DF 3 "arm_float_compare_operand" "")]))]
21- "TARGET_32BIT && TARGET_HARD_FLOAT"
22+ "TARGET_32BIT && TARGET_HARD_FLOAT && !TARGET_VFP_SINGLE"
23 "emit_insn (gen_cstore_cc (operands[0], operands[1],
24 operands[2], operands[3])); DONE;"
25 )
26
diff --git a/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99367.patch b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99367.patch
new file mode 100644
index 0000000000..2d572b1bb0
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99367.patch
@@ -0,0 +1,49 @@
12010-08-18 Jie Zhang <jie@codesourcery.com>
2
3 Backport from mainline:
4
5 gcc/testsuite/
6 2010-08-18 Jie Zhang <jie@codesourcery.com>
7 * gcc.dg/builtin-apply2.c (STACK_ARGUMENTS_SIZE): Define to
8 20 if __ARM_PCS is defined otherwise 64.
9 (bar): Use STACK_ARGUMENTS_SIZE for the third argument
10 instead of hard coded 64.
11
12 2010-08-13 Jie Zhang <jie@codesourcery.com>
13
14 Backport from mainline:
15
16=== modified file 'gcc/testsuite/gcc.dg/builtin-apply2.c'
17--- old/gcc/testsuite/gcc.dg/builtin-apply2.c 2009-08-06 13:27:45 +0000
18+++ new/gcc/testsuite/gcc.dg/builtin-apply2.c 2010-08-23 13:59:02 +0000
19@@ -8,10 +8,19 @@
20 /* Verify that __builtin_apply behaves correctly on targets
21 with pre-pushed arguments (e.g. SPARC). */
22
23-
24+
25
26 #define INTEGER_ARG 5
27
28+#ifdef __ARM_PCS
29+/* For Base AAPCS, NAME is passed in r0. D is passed in r2 and r3.
30+ E, F and G are passed on stack. So the size of the stack argument
31+ data is 20. */
32+#define STACK_ARGUMENTS_SIZE 20
33+#else
34+#define STACK_ARGUMENTS_SIZE 64
35+#endif
36+
37 extern void abort(void);
38
39 void foo(char *name, double d, double e, double f, int g)
40@@ -22,7 +31,7 @@
41
42 void bar(char *name, ...)
43 {
44- __builtin_apply(foo, __builtin_apply_args(), 64);
45+ __builtin_apply(foo, __builtin_apply_args(), STACK_ARGUMENTS_SIZE);
46 }
47
48 int main(void)
49
diff --git a/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99368.patch b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99368.patch
new file mode 100644
index 0000000000..0705e4183f
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99368.patch
@@ -0,0 +1,342 @@
12010-08-18 Julian Brown <julian@codesourcery.com>
2
3 Issue #9222
4
5 gcc/
6 * config/arm/neon.md (UNSPEC_VCLE, UNSPEC_VCLT): New constants for
7 unspecs.
8 (vcond<mode>, vcondu<mode>): New expanders.
9 (neon_vceq<mode>, neon_vcge<mode>, neon_vcgt<mode>): Support
10 comparisons with zero.
11 (neon_vcle<mode>, neon_vclt<mode>): New patterns.
12 * config/arm/constraints.md (Dz): New constraint.
13
14 2010-08-18 Jie Zhang <jie@codesourcery.com>
15
16 Backport from mainline:
17
18=== modified file 'gcc/config/arm/constraints.md'
19Index: gcc-4.5/gcc/config/arm/constraints.md
20===================================================================
21--- gcc-4.5.orig/gcc/config/arm/constraints.md
22+++ gcc-4.5/gcc/config/arm/constraints.md
23@@ -29,7 +29,7 @@
24 ;; in Thumb-1 state: I, J, K, L, M, N, O
25
26 ;; The following multi-letter normal constraints have been used:
27-;; in ARM/Thumb-2 state: Da, Db, Dc, Dn, Dl, DL, Dv, Dy, Di
28+;; in ARM/Thumb-2 state: Da, Db, Dc, Dn, Dl, DL, Dv, Dy, Di, Dz
29 ;; in Thumb-1 state: Pa, Pb
30 ;; in Thumb-2 state: Ps, Pt, Pv
31
32@@ -173,6 +173,12 @@
33 (and (match_code "const_double")
34 (match_test "TARGET_32BIT && neg_const_double_rtx_ok_for_fpa (op)")))
35
36+(define_constraint "Dz"
37+ "@internal
38+ In ARM/Thumb-2 state a vector of constant zeros."
39+ (and (match_code "const_vector")
40+ (match_test "TARGET_NEON && op == CONST0_RTX (mode)")))
41+
42 (define_constraint "Da"
43 "@internal
44 In ARM/Thumb-2 state a const_int, const_double or const_vector that can
45Index: gcc-4.5/gcc/config/arm/neon.md
46===================================================================
47--- gcc-4.5.orig/gcc/config/arm/neon.md
48+++ gcc-4.5/gcc/config/arm/neon.md
49@@ -141,7 +141,9 @@
50 (UNSPEC_VUZP2 202)
51 (UNSPEC_VZIP1 203)
52 (UNSPEC_VZIP2 204)
53- (UNSPEC_MISALIGNED_ACCESS 205)])
54+ (UNSPEC_MISALIGNED_ACCESS 205)
55+ (UNSPEC_VCLE 206)
56+ (UNSPEC_VCLT 207)])
57
58 ;; Double-width vector modes.
59 (define_mode_iterator VD [V8QI V4HI V2SI V2SF])
60@@ -1804,6 +1806,169 @@
61 [(set_attr "neon_type" "neon_int_5")]
62 )
63
64+;; Conditional instructions. These are comparisons with conditional moves for
65+;; vectors. They perform the assignment:
66+;;
67+;; Vop0 = (Vop4 <op3> Vop5) ? Vop1 : Vop2;
68+;;
69+;; where op3 is <, <=, ==, !=, >= or >. Operations are performed
70+;; element-wise.
71+
72+(define_expand "vcond<mode>"
73+ [(set (match_operand:VDQW 0 "s_register_operand" "")
74+ (if_then_else:VDQW
75+ (match_operator 3 "arm_comparison_operator"
76+ [(match_operand:VDQW 4 "s_register_operand" "")
77+ (match_operand:VDQW 5 "nonmemory_operand" "")])
78+ (match_operand:VDQW 1 "s_register_operand" "")
79+ (match_operand:VDQW 2 "s_register_operand" "")))]
80+ "TARGET_NEON && (!<Is_float_mode> || flag_unsafe_math_optimizations)"
81+{
82+ rtx mask;
83+ int inverse = 0, immediate_zero = 0;
84+ /* See the description of "magic" bits in the 'T' case of
85+ arm_print_operand. */
86+ HOST_WIDE_INT magic_word = (<MODE>mode == V2SFmode || <MODE>mode == V4SFmode)
87+ ? 3 : 1;
88+ rtx magic_rtx = GEN_INT (magic_word);
89+
90+ mask = gen_reg_rtx (<V_cmp_result>mode);
91+
92+ if (operands[5] == CONST0_RTX (<MODE>mode))
93+ immediate_zero = 1;
94+ else if (!REG_P (operands[5]))
95+ operands[5] = force_reg (<MODE>mode, operands[5]);
96+
97+ switch (GET_CODE (operands[3]))
98+ {
99+ case GE:
100+ emit_insn (gen_neon_vcge<mode> (mask, operands[4], operands[5],
101+ magic_rtx));
102+ break;
103+
104+ case GT:
105+ emit_insn (gen_neon_vcgt<mode> (mask, operands[4], operands[5],
106+ magic_rtx));
107+ break;
108+
109+ case EQ:
110+ emit_insn (gen_neon_vceq<mode> (mask, operands[4], operands[5],
111+ magic_rtx));
112+ break;
113+
114+ case LE:
115+ if (immediate_zero)
116+ emit_insn (gen_neon_vcle<mode> (mask, operands[4], operands[5],
117+ magic_rtx));
118+ else
119+ emit_insn (gen_neon_vcge<mode> (mask, operands[5], operands[4],
120+ magic_rtx));
121+ break;
122+
123+ case LT:
124+ if (immediate_zero)
125+ emit_insn (gen_neon_vclt<mode> (mask, operands[4], operands[5],
126+ magic_rtx));
127+ else
128+ emit_insn (gen_neon_vcgt<mode> (mask, operands[5], operands[4],
129+ magic_rtx));
130+ break;
131+
132+ case NE:
133+ emit_insn (gen_neon_vceq<mode> (mask, operands[4], operands[5],
134+ magic_rtx));
135+ inverse = 1;
136+ break;
137+
138+ default:
139+ gcc_unreachable ();
140+ }
141+
142+ if (inverse)
143+ emit_insn (gen_neon_vbsl<mode> (operands[0], mask, operands[2],
144+ operands[1]));
145+ else
146+ emit_insn (gen_neon_vbsl<mode> (operands[0], mask, operands[1],
147+ operands[2]));
148+
149+ DONE;
150+})
151+
152+(define_expand "vcondu<mode>"
153+ [(set (match_operand:VDQIW 0 "s_register_operand" "")
154+ (if_then_else:VDQIW
155+ (match_operator 3 "arm_comparison_operator"
156+ [(match_operand:VDQIW 4 "s_register_operand" "")
157+ (match_operand:VDQIW 5 "s_register_operand" "")])
158+ (match_operand:VDQIW 1 "s_register_operand" "")
159+ (match_operand:VDQIW 2 "s_register_operand" "")))]
160+ "TARGET_NEON"
161+{
162+ rtx mask;
163+ int inverse = 0, immediate_zero = 0;
164+
165+ mask = gen_reg_rtx (<V_cmp_result>mode);
166+
167+ if (operands[5] == CONST0_RTX (<MODE>mode))
168+ immediate_zero = 1;
169+ else if (!REG_P (operands[5]))
170+ operands[5] = force_reg (<MODE>mode, operands[5]);
171+
172+ switch (GET_CODE (operands[3]))
173+ {
174+ case GEU:
175+ emit_insn (gen_neon_vcge<mode> (mask, operands[4], operands[5],
176+ const0_rtx));
177+ break;
178+
179+ case GTU:
180+ emit_insn (gen_neon_vcgt<mode> (mask, operands[4], operands[5],
181+ const0_rtx));
182+ break;
183+
184+ case EQ:
185+ emit_insn (gen_neon_vceq<mode> (mask, operands[4], operands[5],
186+ const0_rtx));
187+ break;
188+
189+ case LEU:
190+ if (immediate_zero)
191+ emit_insn (gen_neon_vcle<mode> (mask, operands[4], operands[5],
192+ const0_rtx));
193+ else
194+ emit_insn (gen_neon_vcge<mode> (mask, operands[5], operands[4],
195+ const0_rtx));
196+ break;
197+
198+ case LTU:
199+ if (immediate_zero)
200+ emit_insn (gen_neon_vclt<mode> (mask, operands[4], operands[5],
201+ const0_rtx));
202+ else
203+ emit_insn (gen_neon_vcgt<mode> (mask, operands[5], operands[4],
204+ const0_rtx));
205+ break;
206+
207+ case NE:
208+ emit_insn (gen_neon_vceq<mode> (mask, operands[4], operands[5],
209+ const0_rtx));
210+ inverse = 1;
211+ break;
212+
213+ default:
214+ gcc_unreachable ();
215+ }
216+
217+ if (inverse)
218+ emit_insn (gen_neon_vbsl<mode> (operands[0], mask, operands[2],
219+ operands[1]));
220+ else
221+ emit_insn (gen_neon_vbsl<mode> (operands[0], mask, operands[1],
222+ operands[2]));
223+
224+ DONE;
225+})
226+
227 ;; Patterns for builtins.
228
229 ; good for plain vadd, vaddq.
230@@ -2215,13 +2380,16 @@
231 )
232
233 (define_insn "neon_vceq<mode>"
234- [(set (match_operand:<V_cmp_result> 0 "s_register_operand" "=w")
235- (unspec:<V_cmp_result> [(match_operand:VDQW 1 "s_register_operand" "w")
236- (match_operand:VDQW 2 "s_register_operand" "w")
237- (match_operand:SI 3 "immediate_operand" "i")]
238- UNSPEC_VCEQ))]
239+ [(set (match_operand:<V_cmp_result> 0 "s_register_operand" "=w,w")
240+ (unspec:<V_cmp_result>
241+ [(match_operand:VDQW 1 "s_register_operand" "w,w")
242+ (match_operand:VDQW 2 "nonmemory_operand" "w,Dz")
243+ (match_operand:SI 3 "immediate_operand" "i,i")]
244+ UNSPEC_VCEQ))]
245 "TARGET_NEON"
246- "vceq.<V_if_elem>\t%<V_reg>0, %<V_reg>1, %<V_reg>2"
247+ "@
248+ vceq.<V_if_elem>\t%<V_reg>0, %<V_reg>1, %<V_reg>2
249+ vceq.<V_if_elem>\t%<V_reg>0, %<V_reg>1, #0"
250 [(set (attr "neon_type")
251 (if_then_else (ne (symbol_ref "<Is_float_mode>") (const_int 0))
252 (if_then_else (ne (symbol_ref "<Is_d_reg>") (const_int 0))
253@@ -2231,13 +2399,16 @@
254 )
255
256 (define_insn "neon_vcge<mode>"
257- [(set (match_operand:<V_cmp_result> 0 "s_register_operand" "=w")
258- (unspec:<V_cmp_result> [(match_operand:VDQW 1 "s_register_operand" "w")
259- (match_operand:VDQW 2 "s_register_operand" "w")
260- (match_operand:SI 3 "immediate_operand" "i")]
261- UNSPEC_VCGE))]
262+ [(set (match_operand:<V_cmp_result> 0 "s_register_operand" "=w,w")
263+ (unspec:<V_cmp_result>
264+ [(match_operand:VDQW 1 "s_register_operand" "w,w")
265+ (match_operand:VDQW 2 "nonmemory_operand" "w,Dz")
266+ (match_operand:SI 3 "immediate_operand" "i,i")]
267+ UNSPEC_VCGE))]
268 "TARGET_NEON"
269- "vcge.%T3%#<V_sz_elem>\t%<V_reg>0, %<V_reg>1, %<V_reg>2"
270+ "@
271+ vcge.%T3%#<V_sz_elem>\t%<V_reg>0, %<V_reg>1, %<V_reg>2
272+ vcge.%T3%#<V_sz_elem>\t%<V_reg>0, %<V_reg>1, #0"
273 [(set (attr "neon_type")
274 (if_then_else (ne (symbol_ref "<Is_float_mode>") (const_int 0))
275 (if_then_else (ne (symbol_ref "<Is_d_reg>") (const_int 0))
276@@ -2247,13 +2418,16 @@
277 )
278
279 (define_insn "neon_vcgt<mode>"
280- [(set (match_operand:<V_cmp_result> 0 "s_register_operand" "=w")
281- (unspec:<V_cmp_result> [(match_operand:VDQW 1 "s_register_operand" "w")
282- (match_operand:VDQW 2 "s_register_operand" "w")
283- (match_operand:SI 3 "immediate_operand" "i")]
284- UNSPEC_VCGT))]
285+ [(set (match_operand:<V_cmp_result> 0 "s_register_operand" "=w,w")
286+ (unspec:<V_cmp_result>
287+ [(match_operand:VDQW 1 "s_register_operand" "w,w")
288+ (match_operand:VDQW 2 "nonmemory_operand" "w,Dz")
289+ (match_operand:SI 3 "immediate_operand" "i,i")]
290+ UNSPEC_VCGT))]
291 "TARGET_NEON"
292- "vcgt.%T3%#<V_sz_elem>\t%<V_reg>0, %<V_reg>1, %<V_reg>2"
293+ "@
294+ vcgt.%T3%#<V_sz_elem>\t%<V_reg>0, %<V_reg>1, %<V_reg>2
295+ vcgt.%T3%#<V_sz_elem>\t%<V_reg>0, %<V_reg>1, #0"
296 [(set (attr "neon_type")
297 (if_then_else (ne (symbol_ref "<Is_float_mode>") (const_int 0))
298 (if_then_else (ne (symbol_ref "<Is_d_reg>") (const_int 0))
299@@ -2262,6 +2436,43 @@
300 (const_string "neon_int_5")))]
301 )
302
303+;; VCLE and VCLT only support comparisons with immediate zero (register
304+;; variants are VCGE and VCGT with operands reversed).
305+
306+(define_insn "neon_vcle<mode>"
307+ [(set (match_operand:<V_cmp_result> 0 "s_register_operand" "=w")
308+ (unspec:<V_cmp_result>
309+ [(match_operand:VDQW 1 "s_register_operand" "w")
310+ (match_operand:VDQW 2 "nonmemory_operand" "Dz")
311+ (match_operand:SI 3 "immediate_operand" "i")]
312+ UNSPEC_VCLE))]
313+ "TARGET_NEON"
314+ "vcle.%T3%#<V_sz_elem>\t%<V_reg>0, %<V_reg>1, #0"
315+ [(set (attr "neon_type")
316+ (if_then_else (ne (symbol_ref "<Is_float_mode>") (const_int 0))
317+ (if_then_else (ne (symbol_ref "<Is_d_reg>") (const_int 0))
318+ (const_string "neon_fp_vadd_ddd_vabs_dd")
319+ (const_string "neon_fp_vadd_qqq_vabs_qq"))
320+ (const_string "neon_int_5")))]
321+)
322+
323+(define_insn "neon_vclt<mode>"
324+ [(set (match_operand:<V_cmp_result> 0 "s_register_operand" "=w")
325+ (unspec:<V_cmp_result>
326+ [(match_operand:VDQW 1 "s_register_operand" "w")
327+ (match_operand:VDQW 2 "nonmemory_operand" "Dz")
328+ (match_operand:SI 3 "immediate_operand" "i")]
329+ UNSPEC_VCLT))]
330+ "TARGET_NEON"
331+ "vclt.%T3%#<V_sz_elem>\t%<V_reg>0, %<V_reg>1, #0"
332+ [(set (attr "neon_type")
333+ (if_then_else (ne (symbol_ref "<Is_float_mode>") (const_int 0))
334+ (if_then_else (ne (symbol_ref "<Is_d_reg>") (const_int 0))
335+ (const_string "neon_fp_vadd_ddd_vabs_dd")
336+ (const_string "neon_fp_vadd_qqq_vabs_qq"))
337+ (const_string "neon_int_5")))]
338+)
339+
340 (define_insn "neon_vcage<mode>"
341 [(set (match_operand:<V_cmp_result> 0 "s_register_operand" "=w")
342 (unspec:<V_cmp_result> [(match_operand:VCVTF 1 "s_register_operand" "w")
diff --git a/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99369.patch b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99369.patch
new file mode 100644
index 0000000000..9bbc020629
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99369.patch
@@ -0,0 +1,53 @@
12010-08-20 Jie Zhang <jie@codesourcery.com>
2
3 Merged from Sourcery G++ 4.4:
4
5 gcc/
6 2009-05-29 Julian Brown <julian@codesourcery.com>
7 Merged from Sourcery G++ 4.3:
8 * config/arm/arm.md (movsi): Don't split symbol refs here.
9 (define_split): New.
10
11 2010-08-18 Julian Brown <julian@codesourcery.com>
12
13 Issue #9222
14
15=== modified file 'gcc/config/arm/arm.md'
16--- old/gcc/config/arm/arm.md 2010-08-20 16:41:37 +0000
17+++ new/gcc/config/arm/arm.md 2010-08-23 14:39:12 +0000
18@@ -5150,14 +5150,6 @@
19 optimize && can_create_pseudo_p ());
20 DONE;
21 }
22-
23- if (TARGET_USE_MOVT && !target_word_relocations
24- && GET_CODE (operands[1]) == SYMBOL_REF
25- && !flag_pic && !arm_tls_referenced_p (operands[1]))
26- {
27- arm_emit_movpair (operands[0], operands[1]);
28- DONE;
29- }
30 }
31 else /* TARGET_THUMB1... */
32 {
33@@ -5265,6 +5257,19 @@
34 "
35 )
36
37+(define_split
38+ [(set (match_operand:SI 0 "arm_general_register_operand" "")
39+ (match_operand:SI 1 "general_operand" ""))]
40+ "TARGET_32BIT
41+ && TARGET_USE_MOVT && GET_CODE (operands[1]) == SYMBOL_REF
42+ && !flag_pic && !target_word_relocations
43+ && !arm_tls_referenced_p (operands[1])"
44+ [(clobber (const_int 0))]
45+{
46+ arm_emit_movpair (operands[0], operands[1]);
47+ DONE;
48+})
49+
50 (define_insn "*thumb1_movsi_insn"
51 [(set (match_operand:SI 0 "nonimmediate_operand" "=l,l,l,l,l,>,l, m,*lhk")
52 (match_operand:SI 1 "general_operand" "l, I,J,K,>,l,mi,l,*lhk"))]
53
diff --git a/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99371.patch b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99371.patch
new file mode 100644
index 0000000000..be102160c5
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99371.patch
@@ -0,0 +1,663 @@
12010-08-24 Andrew Stubbs <ams@codesourcery.com>
2
3 Backport from FSF:
4
5 2010-08-07 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
6
7 * config/arm/cortex-a9.md: Rewrite VFP Pipeline description.
8 * config/arm/arm.c (arm_xscale_tune): Initialize sched_adjust_cost.
9 (arm_fastmul_tune,arm_slowmul_tune, arm_9e_tune): Likewise.
10 (arm_adjust_cost): Split into xscale_sched_adjust_cost and a
11 generic part.
12 (cortex_a9_sched_adjust_cost): New function.
13 (xscale_sched_adjust_cost): New function.
14 * config/arm/arm-protos.h (struct tune_params): New field
15 sched_adjust_cost.
16 * config/arm/arm-cores.def: Adjust costs for cortex-a9.
17
18 2010-04-17 Richard Earnshaw <rearnsha@arm.com>
19
20 * arm-protos.h (tune_params): New structure.
21 * arm.c (current_tune): New variable.
22 (arm_constant_limit): Delete.
23 (struct processors): Add pointer to the tune parameters.
24 (arm_slowmul_tune): New tuning option.
25 (arm_fastmul_tune, arm_xscale_tune, arm_9e_tune): Likewise.
26 (all_cores): Adjust to pick up the tuning model.
27 (arm_constant_limit): New function.
28 (arm_override_options): Select the appropriate tuning model. Delete
29 initialization of arm_const_limit.
30 (arm_split_constant): Use the new constant-limit model.
31 (arm_rtx_costs): Pick up the current tuning model.
32 * arm.md (is_strongarm, is_xscale): Delete.
33 * arm-generic.md (load_ldsched_x, load_ldsched): Test explicitly
34 for Xscale variant architectures.
35 (mult_ldsched_strongarm, mult_ldsched): Similarly for StrongARM.
36
37 2010-08-23 Andrew Stubbs <ams@codesourcery.com>
38
39 Backport from FSF:
40
41=== modified file 'gcc/config/arm/arm-cores.def'
42--- old/gcc/config/arm/arm-cores.def 2010-07-29 15:53:39 +0000
43+++ new/gcc/config/arm/arm-cores.def 2010-08-24 13:15:54 +0000
44@@ -120,7 +120,7 @@
45 ARM_CORE("arm1156t2f-s", arm1156t2fs, 6T2, FL_LDSCHED | FL_VFPV2, 9e)
46 ARM_CORE("cortex-a5", cortexa5, 7A, FL_LDSCHED, 9e)
47 ARM_CORE("cortex-a8", cortexa8, 7A, FL_LDSCHED, 9e)
48-ARM_CORE("cortex-a9", cortexa9, 7A, FL_LDSCHED, 9e)
49+ARM_CORE("cortex-a9", cortexa9, 7A, FL_LDSCHED, cortex_a9)
50 ARM_CORE("cortex-r4", cortexr4, 7R, FL_LDSCHED, 9e)
51 ARM_CORE("cortex-r4f", cortexr4f, 7R, FL_LDSCHED, 9e)
52 ARM_CORE("cortex-m4", cortexm4, 7EM, FL_LDSCHED, 9e)
53
54=== modified file 'gcc/config/arm/arm-generic.md'
55--- old/gcc/config/arm/arm-generic.md 2007-08-02 09:49:31 +0000
56+++ new/gcc/config/arm/arm-generic.md 2010-08-24 13:15:54 +0000
57@@ -104,14 +104,14 @@
58 (and (eq_attr "generic_sched" "yes")
59 (and (eq_attr "ldsched" "yes")
60 (and (eq_attr "type" "load_byte,load1")
61- (eq_attr "is_xscale" "yes"))))
62+ (eq_attr "tune" "xscale,iwmmxt,iwmmxt2"))))
63 "core")
64
65 (define_insn_reservation "load_ldsched" 2
66 (and (eq_attr "generic_sched" "yes")
67 (and (eq_attr "ldsched" "yes")
68 (and (eq_attr "type" "load_byte,load1")
69- (eq_attr "is_xscale" "no"))))
70+ (eq_attr "tune" "!xscale,iwmmxt,iwmmxt2"))))
71 "core")
72
73 (define_insn_reservation "load_or_store" 2
74@@ -128,14 +128,16 @@
75 (define_insn_reservation "mult_ldsched_strongarm" 3
76 (and (eq_attr "generic_sched" "yes")
77 (and (eq_attr "ldsched" "yes")
78- (and (eq_attr "is_strongarm" "yes")
79+ (and (eq_attr "tune"
80+ "strongarm,strongarm110,strongarm1100,strongarm1110")
81 (eq_attr "type" "mult"))))
82 "core*2")
83
84 (define_insn_reservation "mult_ldsched" 4
85 (and (eq_attr "generic_sched" "yes")
86 (and (eq_attr "ldsched" "yes")
87- (and (eq_attr "is_strongarm" "no")
88+ (and (eq_attr "tune"
89+ "!strongarm,strongarm110,strongarm1100,strongarm1110")
90 (eq_attr "type" "mult"))))
91 "core*4")
92
93
94=== modified file 'gcc/config/arm/arm-protos.h'
95--- old/gcc/config/arm/arm-protos.h 2010-08-10 13:31:21 +0000
96+++ new/gcc/config/arm/arm-protos.h 2010-08-24 13:15:54 +0000
97@@ -214,4 +214,17 @@
98
99 extern void arm_order_regs_for_local_alloc (void);
100
101+#ifdef RTX_CODE
102+/* This needs to be here because we need RTX_CODE and similar. */
103+
104+struct tune_params
105+{
106+ bool (*rtx_costs) (rtx, RTX_CODE, RTX_CODE, int *, bool);
107+ bool (*sched_adjust_cost) (rtx, rtx, rtx, int *);
108+ int constant_limit;
109+};
110+
111+extern const struct tune_params *current_tune;
112+#endif /* RTX_CODE */
113+
114 #endif /* ! GCC_ARM_PROTOS_H */
115
116=== modified file 'gcc/config/arm/arm.c'
117--- old/gcc/config/arm/arm.c 2010-08-20 16:21:01 +0000
118+++ new/gcc/config/arm/arm.c 2010-08-24 13:15:54 +0000
119@@ -228,6 +228,8 @@
120 static void arm_trampoline_init (rtx, tree, rtx);
121 static rtx arm_trampoline_adjust_address (rtx);
122 static rtx arm_pic_static_addr (rtx orig, rtx reg);
123+static bool cortex_a9_sched_adjust_cost (rtx, rtx, rtx, int *);
124+static bool xscale_sched_adjust_cost (rtx, rtx, rtx, int *);
125 static bool arm_vector_alignment_reachable (const_tree type, bool is_packed);
126 static bool arm_builtin_support_vector_misalignment (enum machine_mode mode,
127 const_tree type,
128@@ -545,6 +547,9 @@
129 /* The processor for which instructions should be scheduled. */
130 enum processor_type arm_tune = arm_none;
131
132+/* The current tuning set. */
133+const struct tune_params *current_tune;
134+
135 /* The default processor used if not overridden by commandline. */
136 static enum processor_type arm_default_cpu = arm_none;
137
138@@ -720,9 +725,6 @@
139 the next function. */
140 static int after_arm_reorg = 0;
141
142-/* The maximum number of insns to be used when loading a constant. */
143-static int arm_constant_limit = 3;
144-
145 enum arm_pcs arm_pcs_default;
146
147 /* For an explanation of these variables, see final_prescan_insn below. */
148@@ -761,8 +763,44 @@
149 enum processor_type core;
150 const char *arch;
151 const unsigned long flags;
152- bool (* rtx_costs) (rtx, enum rtx_code, enum rtx_code, int *, bool);
153-};
154+ const struct tune_params *const tune;
155+};
156+
157+const struct tune_params arm_slowmul_tune =
158+{
159+ arm_slowmul_rtx_costs,
160+ NULL,
161+ 3
162+};
163+
164+const struct tune_params arm_fastmul_tune =
165+{
166+ arm_fastmul_rtx_costs,
167+ NULL,
168+ 1
169+};
170+
171+const struct tune_params arm_xscale_tune =
172+{
173+ arm_xscale_rtx_costs,
174+ xscale_sched_adjust_cost,
175+ 2
176+};
177+
178+const struct tune_params arm_9e_tune =
179+{
180+ arm_9e_rtx_costs,
181+ NULL,
182+ 1
183+};
184+
185+const struct tune_params arm_cortex_a9_tune =
186+{
187+ arm_9e_rtx_costs,
188+ cortex_a9_sched_adjust_cost,
189+ 1
190+};
191+
192
193 /* Not all of these give usefully different compilation alternatives,
194 but there is no simple way of generalizing them. */
195@@ -770,7 +808,7 @@
196 {
197 /* ARM Cores */
198 #define ARM_CORE(NAME, IDENT, ARCH, FLAGS, COSTS) \
199- {NAME, arm_none, #ARCH, FLAGS | FL_FOR_ARCH##ARCH, arm_##COSTS##_rtx_costs},
200+ {NAME, arm_none, #ARCH, FLAGS | FL_FOR_ARCH##ARCH, &arm_##COSTS##_tune},
201 #include "arm-cores.def"
202 #undef ARM_CORE
203 {NULL, arm_none, NULL, 0, NULL}
204@@ -779,7 +817,7 @@
205 static const struct processors all_architectures[] =
206 {
207 /* ARM Architectures */
208- /* We don't specify rtx_costs here as it will be figured out
209+ /* We don't specify tuning costs here as it will be figured out
210 from the core. */
211
212 {"armv2", arm2, "2", FL_CO_PROC | FL_MODE26 | FL_FOR_ARCH2, NULL},
213@@ -928,6 +966,13 @@
214 TLS_LE32
215 };
216
217+/* The maximum number of insns to be used when loading a constant. */
218+inline static int
219+arm_constant_limit (bool size_p)
220+{
221+ return size_p ? 1 : current_tune->constant_limit;
222+}
223+
224 /* Emit an insn that's a simple single-set. Both the operands must be known
225 to be valid. */
226 inline static rtx
227@@ -1478,6 +1523,7 @@
228 }
229
230 tune_flags = all_cores[(int)arm_tune].flags;
231+ current_tune = all_cores[(int)arm_tune].tune;
232
233 if (target_fp16_format_name)
234 {
235@@ -1875,26 +1921,12 @@
236
237 if (optimize_size)
238 {
239- arm_constant_limit = 1;
240-
241 /* If optimizing for size, bump the number of instructions that we
242 are prepared to conditionally execute (even on a StrongARM). */
243 max_insns_skipped = 6;
244 }
245 else
246 {
247- /* For processors with load scheduling, it never costs more than
248- 2 cycles to load a constant, and the load scheduler may well
249- reduce that to 1. */
250- if (arm_ld_sched)
251- arm_constant_limit = 1;
252-
253- /* On XScale the longer latency of a load makes it more difficult
254- to achieve a good schedule, so it's faster to synthesize
255- constants that can be done in two insns. */
256- if (arm_tune_xscale)
257- arm_constant_limit = 2;
258-
259 /* StrongARM has early execution of branches, so a sequence
260 that is worth skipping is shorter. */
261 if (arm_tune_strongarm)
262@@ -2423,7 +2455,8 @@
263 && !cond
264 && (arm_gen_constant (code, mode, NULL_RTX, val, target, source,
265 1, 0)
266- > arm_constant_limit + (code != SET)))
267+ > (arm_constant_limit (optimize_function_for_size_p (cfun))
268+ + (code != SET))))
269 {
270 if (code == SET)
271 {
272@@ -7771,9 +7804,9 @@
273 (enum rtx_code) outer_code, total);
274 }
275 else
276- return all_cores[(int)arm_tune].rtx_costs (x, (enum rtx_code) code,
277- (enum rtx_code) outer_code,
278- total, speed);
279+ return current_tune->rtx_costs (x, (enum rtx_code) code,
280+ (enum rtx_code) outer_code,
281+ total, speed);
282 }
283
284 /* RTX costs for cores with a slow MUL implementation. Thumb-2 is not
285@@ -7918,7 +7951,8 @@
286 so it can be ignored. */
287
288 static bool
289-arm_xscale_rtx_costs (rtx x, enum rtx_code code, enum rtx_code outer_code, int *total, bool speed)
290+arm_xscale_rtx_costs (rtx x, enum rtx_code code, enum rtx_code outer_code,
291+ int *total, bool speed)
292 {
293 enum machine_mode mode = GET_MODE (x);
294
295@@ -8119,15 +8153,15 @@
296 return TARGET_32BIT ? arm_arm_address_cost (x) : arm_thumb_address_cost (x);
297 }
298
299-static int
300-arm_adjust_cost (rtx insn, rtx link, rtx dep, int cost)
301+/* Adjust cost hook for XScale. */
302+static bool
303+xscale_sched_adjust_cost (rtx insn, rtx link, rtx dep, int * cost)
304 {
305 rtx i_pat, d_pat;
306
307 /* Some true dependencies can have a higher cost depending
308 on precisely how certain input operands are used. */
309- if (arm_tune_xscale
310- && REG_NOTE_KIND (link) == 0
311+ if (REG_NOTE_KIND (link) == 0
312 && recog_memoized (insn) >= 0
313 && recog_memoized (dep) >= 0)
314 {
315@@ -8161,10 +8195,106 @@
316
317 if (reg_overlap_mentioned_p (recog_data.operand[opno],
318 shifted_operand))
319- return 2;
320+ {
321+ *cost = 2;
322+ return false;
323+ }
324 }
325 }
326 }
327+ return true;
328+}
329+
330+/* Adjust cost hook for Cortex A9. */
331+static bool
332+cortex_a9_sched_adjust_cost (rtx insn, rtx link, rtx dep, int * cost)
333+{
334+ switch (REG_NOTE_KIND (link))
335+ {
336+ case REG_DEP_ANTI:
337+ *cost = 0;
338+ return false;
339+
340+ case REG_DEP_TRUE:
341+ case REG_DEP_OUTPUT:
342+ if (recog_memoized (insn) >= 0
343+ && recog_memoized (dep) >= 0)
344+ {
345+ if (GET_CODE (PATTERN (insn)) == SET)
346+ {
347+ if (GET_MODE_CLASS
348+ (GET_MODE (SET_DEST (PATTERN (insn)))) == MODE_FLOAT
349+ || GET_MODE_CLASS
350+ (GET_MODE (SET_SRC (PATTERN (insn)))) == MODE_FLOAT)
351+ {
352+ enum attr_type attr_type_insn = get_attr_type (insn);
353+ enum attr_type attr_type_dep = get_attr_type (dep);
354+
355+ /* By default all dependencies of the form
356+ s0 = s0 <op> s1
357+ s0 = s0 <op> s2
358+ have an extra latency of 1 cycle because
359+ of the input and output dependency in this
360+ case. However this gets modeled as an true
361+ dependency and hence all these checks. */
362+ if (REG_P (SET_DEST (PATTERN (insn)))
363+ && REG_P (SET_DEST (PATTERN (dep)))
364+ && reg_overlap_mentioned_p (SET_DEST (PATTERN (insn)),
365+ SET_DEST (PATTERN (dep))))
366+ {
367+ /* FMACS is a special case where the dependant
368+ instruction can be issued 3 cycles before
369+ the normal latency in case of an output
370+ dependency. */
371+ if ((attr_type_insn == TYPE_FMACS
372+ || attr_type_insn == TYPE_FMACD)
373+ && (attr_type_dep == TYPE_FMACS
374+ || attr_type_dep == TYPE_FMACD))
375+ {
376+ if (REG_NOTE_KIND (link) == REG_DEP_OUTPUT)
377+ *cost = insn_default_latency (dep) - 3;
378+ else
379+ *cost = insn_default_latency (dep);
380+ return false;
381+ }
382+ else
383+ {
384+ if (REG_NOTE_KIND (link) == REG_DEP_OUTPUT)
385+ *cost = insn_default_latency (dep) + 1;
386+ else
387+ *cost = insn_default_latency (dep);
388+ }
389+ return false;
390+ }
391+ }
392+ }
393+ }
394+ break;
395+
396+ default:
397+ gcc_unreachable ();
398+ }
399+
400+ return true;
401+}
402+
403+/* This function implements the target macro TARGET_SCHED_ADJUST_COST.
404+ It corrects the value of COST based on the relationship between
405+ INSN and DEP through the dependence LINK. It returns the new
406+ value. There is a per-core adjust_cost hook to adjust scheduler costs
407+ and the per-core hook can choose to completely override the generic
408+ adjust_cost function. Only put bits of code into arm_adjust_cost that
409+ are common across all cores. */
410+static int
411+arm_adjust_cost (rtx insn, rtx link, rtx dep, int cost)
412+{
413+ rtx i_pat, d_pat;
414+
415+ if (current_tune->sched_adjust_cost != NULL)
416+ {
417+ if (!current_tune->sched_adjust_cost (insn, link, dep, &cost))
418+ return cost;
419+ }
420
421 /* XXX This is not strictly true for the FPA. */
422 if (REG_NOTE_KIND (link) == REG_DEP_ANTI
423@@ -8187,7 +8317,8 @@
424 constant pool are cached, and that others will miss. This is a
425 hack. */
426
427- if ((GET_CODE (src_mem) == SYMBOL_REF && CONSTANT_POOL_ADDRESS_P (src_mem))
428+ if ((GET_CODE (src_mem) == SYMBOL_REF
429+ && CONSTANT_POOL_ADDRESS_P (src_mem))
430 || reg_mentioned_p (stack_pointer_rtx, src_mem)
431 || reg_mentioned_p (frame_pointer_rtx, src_mem)
432 || reg_mentioned_p (hard_frame_pointer_rtx, src_mem))
433
434=== modified file 'gcc/config/arm/arm.md'
435--- old/gcc/config/arm/arm.md 2010-08-23 14:39:12 +0000
436+++ new/gcc/config/arm/arm.md 2010-08-24 13:15:54 +0000
437@@ -150,13 +150,6 @@
438 ; patterns that share the same RTL in both ARM and Thumb code.
439 (define_attr "is_thumb" "no,yes" (const (symbol_ref "thumb_code")))
440
441-; IS_STRONGARM is set to 'yes' when compiling for StrongARM, it affects
442-; scheduling decisions for the load unit and the multiplier.
443-(define_attr "is_strongarm" "no,yes" (const (symbol_ref "arm_tune_strongarm")))
444-
445-; IS_XSCALE is set to 'yes' when compiling for XScale.
446-(define_attr "is_xscale" "no,yes" (const (symbol_ref "arm_tune_xscale")))
447-
448 ;; Operand number of an input operand that is shifted. Zero if the
449 ;; given instruction does not shift one of its input operands.
450 (define_attr "shift" "" (const_int 0))
451
452=== modified file 'gcc/config/arm/cortex-a9.md'
453--- old/gcc/config/arm/cortex-a9.md 2009-10-31 16:40:03 +0000
454+++ new/gcc/config/arm/cortex-a9.md 2010-08-24 13:15:54 +0000
455@@ -2,8 +2,10 @@
456 ;; Copyright (C) 2008, 2009 Free Software Foundation, Inc.
457 ;; Originally written by CodeSourcery for VFP.
458 ;;
459-;; Integer core pipeline description contributed by ARM Ltd.
460-;;
461+;; Rewritten by Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
462+;; Integer Pipeline description contributed by ARM Ltd.
463+;; VFP Pipeline description rewritten and contributed by ARM Ltd.
464+
465 ;; This file is part of GCC.
466 ;;
467 ;; GCC is free software; you can redistribute it and/or modify it
468@@ -22,28 +24,27 @@
469
470 (define_automaton "cortex_a9")
471
472-;; The Cortex-A9 integer core is modelled as a dual issue pipeline that has
473+;; The Cortex-A9 core is modelled as a dual issue pipeline that has
474 ;; the following components.
475 ;; 1. 1 Load Store Pipeline.
476 ;; 2. P0 / main pipeline for data processing instructions.
477 ;; 3. P1 / Dual pipeline for Data processing instructions.
478 ;; 4. MAC pipeline for multiply as well as multiply
479 ;; and accumulate instructions.
480-;; 5. 1 VFP / Neon pipeline.
481-;; The Load/Store and VFP/Neon pipeline are multiplexed.
482+;; 5. 1 VFP and an optional Neon unit.
483+;; The Load/Store, VFP and Neon issue pipeline are multiplexed.
484 ;; The P0 / main pipeline and M1 stage of the MAC pipeline are
485 ;; multiplexed.
486 ;; The P1 / dual pipeline and M2 stage of the MAC pipeline are
487 ;; multiplexed.
488-;; There are only 4 register read ports and hence at any point of
489+;; There are only 4 integer register read ports and hence at any point of
490 ;; time we can't have issue down the E1 and the E2 ports unless
491 ;; of course there are bypass paths that get exercised.
492 ;; Both P0 and P1 have 2 stages E1 and E2.
493 ;; Data processing instructions issue to E1 or E2 depending on
494 ;; whether they have an early shift or not.
495
496-
497-(define_cpu_unit "cortex_a9_vfp, cortex_a9_ls" "cortex_a9")
498+(define_cpu_unit "ca9_issue_vfp_neon, cortex_a9_ls" "cortex_a9")
499 (define_cpu_unit "cortex_a9_p0_e1, cortex_a9_p0_e2" "cortex_a9")
500 (define_cpu_unit "cortex_a9_p1_e1, cortex_a9_p1_e2" "cortex_a9")
501 (define_cpu_unit "cortex_a9_p0_wb, cortex_a9_p1_wb" "cortex_a9")
502@@ -71,11 +72,7 @@
503
504 ;; Issue at the same time along the load store pipeline and
505 ;; the VFP / Neon pipeline is not possible.
506-;; FIXME:: At some point we need to model the issue
507-;; of the load store and the vfp being shared rather than anything else.
508-
509-(exclusion_set "cortex_a9_ls" "cortex_a9_vfp")
510-
511+(exclusion_set "cortex_a9_ls" "ca9_issue_vfp_neon")
512
513 ;; Default data processing instruction without any shift
514 ;; The only exception to this is the mov instruction
515@@ -101,18 +98,13 @@
516
517 (define_insn_reservation "cortex_a9_load1_2" 4
518 (and (eq_attr "tune" "cortexa9")
519- (eq_attr "type" "load1, load2, load_byte"))
520+ (eq_attr "type" "load1, load2, load_byte, f_loads, f_loadd"))
521 "cortex_a9_ls")
522
523 ;; Loads multiples and store multiples can't be issued for 2 cycles in a
524 ;; row. The description below assumes that addresses are 64 bit aligned.
525 ;; If not, there is an extra cycle latency which is not modelled.
526
527-;; FIXME:: This bit might need to be reworked when we get to
528-;; tuning for the VFP because strictly speaking the ldm
529-;; is sent to the LSU unit as is and there is only an
530-;; issue restriction between the LSU and the VFP/ Neon unit.
531-
532 (define_insn_reservation "cortex_a9_load3_4" 5
533 (and (eq_attr "tune" "cortexa9")
534 (eq_attr "type" "load3, load4"))
535@@ -120,12 +112,13 @@
536
537 (define_insn_reservation "cortex_a9_store1_2" 0
538 (and (eq_attr "tune" "cortexa9")
539- (eq_attr "type" "store1, store2"))
540+ (eq_attr "type" "store1, store2, f_stores, f_stored"))
541 "cortex_a9_ls")
542
543 ;; Almost all our store multiples use an auto-increment
544 ;; form. Don't issue back to back load and store multiples
545 ;; because the load store unit will stall.
546+
547 (define_insn_reservation "cortex_a9_store3_4" 0
548 (and (eq_attr "tune" "cortexa9")
549 (eq_attr "type" "store3, store4"))
550@@ -193,47 +186,79 @@
551 (define_insn_reservation "cortex_a9_call" 0
552 (and (eq_attr "tune" "cortexa9")
553 (eq_attr "type" "call"))
554- "cortex_a9_issue_branch + cortex_a9_multcycle1 + cortex_a9_ls + cortex_a9_vfp")
555+ "cortex_a9_issue_branch + cortex_a9_multcycle1 + cortex_a9_ls + ca9_issue_vfp_neon")
556
557
558 ;; Pipelining for VFP instructions.
559-
560-(define_insn_reservation "cortex_a9_ffarith" 1
561+;; Issue happens either along load store unit or the VFP / Neon unit.
562+;; Pipeline Instruction Classification.
563+;; FPS - fcpys, ffariths, ffarithd,r_2_f,f_2_r
564+;; FP_ADD - fadds, faddd, fcmps (1)
565+;; FPMUL - fmul{s,d}, fmac{s,d}
566+;; FPDIV - fdiv{s,d}
567+(define_cpu_unit "ca9fps" "cortex_a9")
568+(define_cpu_unit "ca9fp_add1, ca9fp_add2, ca9fp_add3, ca9fp_add4" "cortex_a9")
569+(define_cpu_unit "ca9fp_mul1, ca9fp_mul2 , ca9fp_mul3, ca9fp_mul4" "cortex_a9")
570+(define_cpu_unit "ca9fp_ds1" "cortex_a9")
571+
572+
573+;; fmrs, fmrrd, fmstat and fmrx - The data is available after 1 cycle.
574+(define_insn_reservation "cortex_a9_fps" 2
575 (and (eq_attr "tune" "cortexa9")
576- (eq_attr "type" "fcpys,ffariths,ffarithd,fcmps,fcmpd,fconsts,fconstd"))
577- "cortex_a9_vfp")
578+ (eq_attr "type" "fcpys, fconsts, fconstd, ffariths, ffarithd, r_2_f, f_2_r, f_flag"))
579+ "ca9_issue_vfp_neon + ca9fps")
580+
581+(define_bypass 1
582+ "cortex_a9_fps"
583+ "cortex_a9_fadd, cortex_a9_fps, cortex_a9_fcmp, cortex_a9_dp, cortex_a9_dp_shift, cortex_a9_multiply")
584+
585+;; Scheduling on the FP_ADD pipeline.
586+(define_reservation "ca9fp_add" "ca9_issue_vfp_neon + ca9fp_add1, ca9fp_add2, ca9fp_add3, ca9fp_add4")
587
588 (define_insn_reservation "cortex_a9_fadd" 4
589- (and (eq_attr "tune" "cortexa9")
590- (eq_attr "type" "fadds,faddd,f_cvt"))
591- "cortex_a9_vfp")
592-
593-(define_insn_reservation "cortex_a9_fmuls" 5
594- (and (eq_attr "tune" "cortexa9")
595- (eq_attr "type" "fmuls"))
596- "cortex_a9_vfp")
597-
598-(define_insn_reservation "cortex_a9_fmuld" 6
599- (and (eq_attr "tune" "cortexa9")
600- (eq_attr "type" "fmuld"))
601- "cortex_a9_vfp*2")
602+ (and (eq_attr "tune" "cortexa9")
603+ (eq_attr "type" "fadds, faddd, f_cvt"))
604+ "ca9fp_add")
605+
606+(define_insn_reservation "cortex_a9_fcmp" 1
607+ (and (eq_attr "tune" "cortexa9")
608+ (eq_attr "type" "fcmps, fcmpd"))
609+ "ca9_issue_vfp_neon + ca9fp_add1")
610+
611+;; Scheduling for the Multiply and MAC instructions.
612+(define_reservation "ca9fmuls"
613+ "ca9fp_mul1 + ca9_issue_vfp_neon, ca9fp_mul2, ca9fp_mul3, ca9fp_mul4")
614+
615+(define_reservation "ca9fmuld"
616+ "ca9fp_mul1 + ca9_issue_vfp_neon, (ca9fp_mul1 + ca9fp_mul2), ca9fp_mul2, ca9fp_mul3, ca9fp_mul4")
617+
618+(define_insn_reservation "cortex_a9_fmuls" 4
619+ (and (eq_attr "tune" "cortexa9")
620+ (eq_attr "type" "fmuls"))
621+ "ca9fmuls")
622+
623+(define_insn_reservation "cortex_a9_fmuld" 5
624+ (and (eq_attr "tune" "cortexa9")
625+ (eq_attr "type" "fmuld"))
626+ "ca9fmuld")
627
628 (define_insn_reservation "cortex_a9_fmacs" 8
629- (and (eq_attr "tune" "cortexa9")
630- (eq_attr "type" "fmacs"))
631- "cortex_a9_vfp")
632-
633-(define_insn_reservation "cortex_a9_fmacd" 8
634- (and (eq_attr "tune" "cortexa9")
635- (eq_attr "type" "fmacd"))
636- "cortex_a9_vfp*2")
637-
638+ (and (eq_attr "tune" "cortexa9")
639+ (eq_attr "type" "fmacs"))
640+ "ca9fmuls, ca9fp_add")
641+
642+(define_insn_reservation "cortex_a9_fmacd" 9
643+ (and (eq_attr "tune" "cortexa9")
644+ (eq_attr "type" "fmacd"))
645+ "ca9fmuld, ca9fp_add")
646+
647+;; Division pipeline description.
648 (define_insn_reservation "cortex_a9_fdivs" 15
649- (and (eq_attr "tune" "cortexa9")
650- (eq_attr "type" "fdivs"))
651- "cortex_a9_vfp*10")
652+ (and (eq_attr "tune" "cortexa9")
653+ (eq_attr "type" "fdivs"))
654+ "ca9fp_ds1 + ca9_issue_vfp_neon, nothing*14")
655
656 (define_insn_reservation "cortex_a9_fdivd" 25
657- (and (eq_attr "tune" "cortexa9")
658- (eq_attr "type" "fdivd"))
659- "cortex_a9_vfp*20")
660+ (and (eq_attr "tune" "cortexa9")
661+ (eq_attr "type" "fdivd"))
662+ "ca9fp_ds1 + ca9_issue_vfp_neon, nothing*24")
663
diff --git a/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99372.patch b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99372.patch
new file mode 100644
index 0000000000..03b478b798
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99372.patch
@@ -0,0 +1,380 @@
12010-08-25 Andrew Stubbs <ams@codesourcery.com>
2
3 Revert:
4
5 2010-07-26 Julian Brown <julian@codesourcery.com>
6
7 Merge from Sourcery G++ 4.4:
8
9 2010-04-11 Julian Brown <julian@codesourcery.com>
10
11 Issue #7326
12
13 gcc/
14 * config/arm/arm.c (arm_issue_rate): Return 2 for Cortex-A5.
15 * config/arm/arm.md (generic_sched): No for Cortex-A5.
16 (generic_vfp): Likewise.
17 (cortex-a5.md): Include.
18 * config/arm/cortex-a5.md: New.
19
20 2010-08-24 Andrew Stubbs <ams@codesourcery.com>
21
22 Backport from FSF:
23
24=== modified file 'gcc/config/arm/arm.c'
25--- old/gcc/config/arm/arm.c 2010-08-24 13:15:54 +0000
26+++ new/gcc/config/arm/arm.c 2010-08-25 16:20:13 +0000
27@@ -22472,7 +22472,6 @@
28 {
29 case cortexr4:
30 case cortexr4f:
31- case cortexa5:
32 case cortexa8:
33 case cortexa9:
34 return 2;
35
36=== modified file 'gcc/config/arm/arm.md'
37--- old/gcc/config/arm/arm.md 2010-08-24 13:15:54 +0000
38+++ new/gcc/config/arm/arm.md 2010-08-25 16:20:13 +0000
39@@ -412,7 +412,7 @@
40
41 (define_attr "generic_sched" "yes,no"
42 (const (if_then_else
43- (ior (eq_attr "tune" "arm926ejs,arm1020e,arm1026ejs,arm1136js,arm1136jfs,cortexa5,cortexa8,cortexa9")
44+ (ior (eq_attr "tune" "arm926ejs,arm1020e,arm1026ejs,arm1136js,arm1136jfs,cortexa8,cortexa9")
45 (eq_attr "tune_cortexr4" "yes"))
46 (const_string "no")
47 (const_string "yes"))))
48@@ -420,7 +420,7 @@
49 (define_attr "generic_vfp" "yes,no"
50 (const (if_then_else
51 (and (eq_attr "fpu" "vfp")
52- (eq_attr "tune" "!arm1020e,arm1022e,cortexa5,cortexa8,cortexa9")
53+ (eq_attr "tune" "!arm1020e,arm1022e,cortexa8,cortexa9")
54 (eq_attr "tune_cortexr4" "no"))
55 (const_string "yes")
56 (const_string "no"))))
57@@ -444,7 +444,6 @@
58 (include "arm1020e.md")
59 (include "arm1026ejs.md")
60 (include "arm1136jfs.md")
61-(include "cortex-a5.md")
62 (include "cortex-a8.md")
63 (include "cortex-a9.md")
64 (include "cortex-r4.md")
65
66=== removed file 'gcc/config/arm/cortex-a5.md'
67--- old/gcc/config/arm/cortex-a5.md 2010-08-13 15:15:12 +0000
68+++ new/gcc/config/arm/cortex-a5.md 1970-01-01 00:00:00 +0000
69@@ -1,310 +0,0 @@
70-;; ARM Cortex-A5 pipeline description
71-;; Copyright (C) 2010 Free Software Foundation, Inc.
72-;; Contributed by CodeSourcery.
73-;;
74-;; This file is part of GCC.
75-;;
76-;; GCC is free software; you can redistribute it and/or modify it
77-;; under the terms of the GNU General Public License as published by
78-;; the Free Software Foundation; either version 3, or (at your option)
79-;; any later version.
80-;;
81-;; GCC is distributed in the hope that it will be useful, but
82-;; WITHOUT ANY WARRANTY; without even the implied warranty of
83-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
84-;; General Public License for more details.
85-;;
86-;; You should have received a copy of the GNU General Public License
87-;; along with GCC; see the file COPYING3. If not see
88-;; <http://www.gnu.org/licenses/>.
89-
90-(define_automaton "cortex_a5")
91-
92-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
93-;; Functional units.
94-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
95-
96-;; The integer (ALU) pipeline. There are five DPU pipeline stages. However the
97-;; decode/issue stages operate the same for all instructions, so do not model
98-;; them. We only need to model the first execute stage because instructions
99-;; always advance one stage per cycle in order. Only branch instructions may
100-;; dual-issue, so a single unit covers all of the LS, ALU, MAC and FPU
101-;; pipelines.
102-
103-(define_cpu_unit "cortex_a5_ex1" "cortex_a5")
104-
105-;; The branch pipeline. Branches can dual-issue with other instructions
106-;; (except when those instructions take multiple cycles to issue).
107-
108-(define_cpu_unit "cortex_a5_branch" "cortex_a5")
109-
110-;; Pseudo-unit for blocking the multiply pipeline when a double-precision
111-;; multiply is in progress.
112-
113-(define_cpu_unit "cortex_a5_fpmul_pipe" "cortex_a5")
114-
115-;; The floating-point add pipeline (ex1/f1 stage), used to model the usage
116-;; of the add pipeline by fmac instructions, etc.
117-
118-(define_cpu_unit "cortex_a5_fpadd_pipe" "cortex_a5")
119-
120-;; Floating-point div/sqrt (long latency, out-of-order completion).
121-
122-(define_cpu_unit "cortex_a5_fp_div_sqrt" "cortex_a5")
123-
124-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
125-;; ALU instructions.
126-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
127-
128-(define_insn_reservation "cortex_a5_alu" 2
129- (and (eq_attr "tune" "cortexa5")
130- (eq_attr "type" "alu"))
131- "cortex_a5_ex1")
132-
133-(define_insn_reservation "cortex_a5_alu_shift" 2
134- (and (eq_attr "tune" "cortexa5")
135- (eq_attr "type" "alu_shift,alu_shift_reg"))
136- "cortex_a5_ex1")
137-
138-;; Forwarding path for unshifted operands.
139-
140-(define_bypass 1 "cortex_a5_alu,cortex_a5_alu_shift"
141- "cortex_a5_alu")
142-
143-(define_bypass 1 "cortex_a5_alu,cortex_a5_alu_shift"
144- "cortex_a5_alu_shift"
145- "arm_no_early_alu_shift_dep")
146-
147-;; The multiplier pipeline can forward results from wr stage only (so I don't
148-;; think there's any need to specify bypasses).
149-
150-(define_insn_reservation "cortex_a5_mul" 2
151- (and (eq_attr "tune" "cortexa5")
152- (eq_attr "type" "mult"))
153- "cortex_a5_ex1")
154-
155-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
156-;; Load/store instructions.
157-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
158-
159-;; Address-generation happens in the issue stage, which is one stage behind
160-;; the ex1 stage (the first stage we care about for scheduling purposes). The
161-;; dc1 stage is parallel with ex1, dc2 with ex2 and rot with wr.
162-
163-;; FIXME: These might not be entirely accurate for load2, load3, load4. I think
164-;; they make sense since there's a 32-bit interface between the DPU and the DCU,
165-;; so we can't load more than that per cycle. The store2, store3, store4
166-;; reservations are similarly guessed.
167-
168-(define_insn_reservation "cortex_a5_load1" 2
169- (and (eq_attr "tune" "cortexa5")
170- (eq_attr "type" "load_byte,load1"))
171- "cortex_a5_ex1")
172-
173-(define_insn_reservation "cortex_a5_store1" 0
174- (and (eq_attr "tune" "cortexa5")
175- (eq_attr "type" "store1"))
176- "cortex_a5_ex1")
177-
178-(define_insn_reservation "cortex_a5_load2" 3
179- (and (eq_attr "tune" "cortexa5")
180- (eq_attr "type" "load2"))
181- "cortex_a5_ex1+cortex_a5_branch, cortex_a5_ex1")
182-
183-(define_insn_reservation "cortex_a5_store2" 0
184- (and (eq_attr "tune" "cortexa5")
185- (eq_attr "type" "store2"))
186- "cortex_a5_ex1+cortex_a5_branch, cortex_a5_ex1")
187-
188-(define_insn_reservation "cortex_a5_load3" 4
189- (and (eq_attr "tune" "cortexa5")
190- (eq_attr "type" "load3"))
191- "cortex_a5_ex1+cortex_a5_branch, cortex_a5_ex1+cortex_a5_branch,\
192- cortex_a5_ex1")
193-
194-(define_insn_reservation "cortex_a5_store3" 0
195- (and (eq_attr "tune" "cortexa5")
196- (eq_attr "type" "store3"))
197- "cortex_a5_ex1+cortex_a5_branch, cortex_a5_ex1+cortex_a5_branch,\
198- cortex_a5_ex1")
199-
200-(define_insn_reservation "cortex_a5_load4" 5
201- (and (eq_attr "tune" "cortexa5")
202- (eq_attr "type" "load3"))
203- "cortex_a5_ex1+cortex_a5_branch, cortex_a5_ex1+cortex_a5_branch,\
204- cortex_a5_ex1+cortex_a5_branch, cortex_a5_ex1")
205-
206-(define_insn_reservation "cortex_a5_store4" 0
207- (and (eq_attr "tune" "cortexa5")
208- (eq_attr "type" "store3"))
209- "cortex_a5_ex1+cortex_a5_branch, cortex_a5_ex1+cortex_a5_branch,\
210- cortex_a5_ex1+cortex_a5_branch, cortex_a5_ex1")
211-
212-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
213-;; Branches.
214-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
215-
216-;; Direct branches are the only instructions we can dual-issue (also IT and
217-;; nop, but those aren't very interesting for scheduling). (The latency here
218-;; is meant to represent when the branch actually takes place, but may not be
219-;; entirely correct.)
220-
221-(define_insn_reservation "cortex_a5_branch" 3
222- (and (eq_attr "tune" "cortexa5")
223- (eq_attr "type" "branch,call"))
224- "cortex_a5_branch")
225-
226-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
227-;; Floating-point arithmetic.
228-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
229-
230-(define_insn_reservation "cortex_a5_fpalu" 4
231- (and (eq_attr "tune" "cortexa5")
232- (eq_attr "type" "ffariths, fadds, ffarithd, faddd, fcpys, fmuls, f_cvt,\
233- fcmps, fcmpd"))
234- "cortex_a5_ex1+cortex_a5_fpadd_pipe")
235-
236-;; For fconsts and fconstd, 8-bit immediate data is passed directly from
237-;; f1 to f3 (which I think reduces the latency by one cycle).
238-
239-(define_insn_reservation "cortex_a5_fconst" 3
240- (and (eq_attr "tune" "cortexa5")
241- (eq_attr "type" "fconsts,fconstd"))
242- "cortex_a5_ex1+cortex_a5_fpadd_pipe")
243-
244-;; We should try not to attempt to issue a single-precision multiplication in
245-;; the middle of a double-precision multiplication operation (the usage of
246-;; cortex_a5_fpmul_pipe).
247-
248-(define_insn_reservation "cortex_a5_fpmuls" 4
249- (and (eq_attr "tune" "cortexa5")
250- (eq_attr "type" "fmuls"))
251- "cortex_a5_ex1+cortex_a5_fpmul_pipe")
252-
253-;; For single-precision multiply-accumulate, the add (accumulate) is issued
254-;; whilst the multiply is in F4. The multiply result can then be forwarded
255-;; from F5 to F1. The issue unit is only used once (when we first start
256-;; processing the instruction), but the usage of the FP add pipeline could
257-;; block other instructions attempting to use it simultaneously. We try to
258-;; avoid that using cortex_a5_fpadd_pipe.
259-
260-(define_insn_reservation "cortex_a5_fpmacs" 8
261- (and (eq_attr "tune" "cortexa5")
262- (eq_attr "type" "fmacs"))
263- "cortex_a5_ex1+cortex_a5_fpmul_pipe, nothing*3, cortex_a5_fpadd_pipe")
264-
265-;; Non-multiply instructions can issue in the middle two instructions of a
266-;; double-precision multiply. Note that it isn't entirely clear when a branch
267-;; can dual-issue when a multi-cycle multiplication is in progress; we ignore
268-;; that for now though.
269-
270-(define_insn_reservation "cortex_a5_fpmuld" 7
271- (and (eq_attr "tune" "cortexa5")
272- (eq_attr "type" "fmuld"))
273- "cortex_a5_ex1+cortex_a5_fpmul_pipe, cortex_a5_fpmul_pipe*2,\
274- cortex_a5_ex1+cortex_a5_fpmul_pipe")
275-
276-(define_insn_reservation "cortex_a5_fpmacd" 11
277- (and (eq_attr "tune" "cortexa5")
278- (eq_attr "type" "fmacd"))
279- "cortex_a5_ex1+cortex_a5_fpmul_pipe, cortex_a5_fpmul_pipe*2,\
280- cortex_a5_ex1+cortex_a5_fpmul_pipe, nothing*3, cortex_a5_fpadd_pipe")
281-
282-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
283-;; Floating-point divide/square root instructions.
284-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
285-
286-;; ??? Not sure if the 14 cycles taken for single-precision divide to complete
287-;; includes the time taken for the special instruction used to collect the
288-;; result to travel down the multiply pipeline, or not. Assuming so. (If
289-;; that's wrong, the latency should be increased by a few cycles.)
290-
291-;; fsqrt takes one cycle less, but that is not modelled, nor is the use of the
292-;; multiply pipeline to collect the divide/square-root result.
293-
294-(define_insn_reservation "cortex_a5_fdivs" 14
295- (and (eq_attr "tune" "cortexa5")
296- (eq_attr "type" "fdivs"))
297- "cortex_a5_ex1, cortex_a5_fp_div_sqrt * 13")
298-
299-;; ??? Similarly for fdivd.
300-
301-(define_insn_reservation "cortex_a5_fdivd" 29
302- (and (eq_attr "tune" "cortexa5")
303- (eq_attr "type" "fdivd"))
304- "cortex_a5_ex1, cortex_a5_fp_div_sqrt * 28")
305-
306-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
307-;; VFP to/from core transfers.
308-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
309-
310-;; FP loads take data from wr/rot/f3. Might need to define bypasses to model
311-;; this?
312-
313-;; Core-to-VFP transfers use the multiply pipeline.
314-;; Not sure about this at all... I think we need some bypasses too.
315-
316-(define_insn_reservation "cortex_a5_r2f" 4
317- (and (eq_attr "tune" "cortexa5")
318- (eq_attr "type" "r_2_f"))
319- "cortex_a5_ex1")
320-
321-;; Not sure about this either. 6.8.7 says "Additionally, the store pipe used
322-;; for store and FP->core register transfers can forward into the F2 and F3
323-;; stages."
324-;; This doesn't correspond to what we have though.
325-
326-(define_insn_reservation "cortex_a5_f2r" 2
327- (and (eq_attr "tune" "cortexa5")
328- (eq_attr "type" "f_2_r"))
329- "cortex_a5_ex1")
330-
331-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
332-;; VFP flag transfer.
333-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
334-
335-;; ??? The flag forwarding described in section 6.8.11 of the Cortex-A5 DPU
336-;; specification (from fmstat to the ex2 stage of the second instruction) is
337-;; not modeled at present.
338-
339-(define_insn_reservation "cortex_a5_f_flags" 4
340- (and (eq_attr "tune" "cortexa5")
341- (eq_attr "type" "f_flag"))
342- "cortex_a5_ex1")
343-
344-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
345-;; VFP load/store.
346-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
347-
348-(define_insn_reservation "cortex_a5_f_loads" 4
349- (and (eq_attr "tune" "cortexa5")
350- (eq_attr "type" "f_loads"))
351- "cortex_a5_ex1")
352-
353-(define_insn_reservation "cortex_a5_f_loadd" 5
354- (and (eq_attr "tune" "cortexa5")
355- (eq_attr "type" "f_load,f_loadd"))
356- "cortex_a5_ex1+cortex_a5_branch, cortex_a5_ex1")
357-
358-(define_insn_reservation "cortex_a5_f_stores" 0
359- (and (eq_attr "tune" "cortexa5")
360- (eq_attr "type" "f_stores"))
361- "cortex_a5_ex1")
362-
363-(define_insn_reservation "cortex_a5_f_stored" 0
364- (and (eq_attr "tune" "cortexa5")
365- (eq_attr "type" "f_store,f_stored"))
366- "cortex_a5_ex1+cortex_a5_branch, cortex_a5_ex1")
367-
368-;; Load-to-use for floating-point values has a penalty of one cycle, i.e. a
369-;; latency of two (6.8.3).
370-
371-(define_bypass 2 "cortex_a5_f_loads"
372- "cortex_a5_fpalu, cortex_a5_fpmacs, cortex_a5_fpmuld,\
373- cortex_a5_fpmacd, cortex_a5_fdivs, cortex_a5_fdivd,\
374- cortex_a5_f2r")
375-
376-(define_bypass 3 "cortex_a5_f_loadd"
377- "cortex_a5_fpalu, cortex_a5_fpmacs, cortex_a5_fpmuld,\
378- cortex_a5_fpmacd, cortex_a5_fdivs, cortex_a5_fdivd,\
379- cortex_a5_f2r")
380
diff --git a/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99373.patch b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99373.patch
new file mode 100644
index 0000000000..60608e4813
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99373.patch
@@ -0,0 +1,360 @@
1 Backport from FSF:
2
3 2010-08-25 Julian Brown <julian@codesourcery.com>
4
5 * config/arm/arm.c (arm_issue_rate): Return 2 for Cortex-A5.
6 * config/arm/arm.md (generic_sched): No for Cortex-A5.
7 (generic_vfp): Likewise.
8 (cortex-a5.md): Include.
9 * config/arm/cortex-a5.md: New.
10
112010-08-25 Andrew Stubbs <ams@codesourcery.com>
12
13 Revert:
14
15 2010-07-26 Julian Brown <julian@codesourcery.com>
16
17=== modified file 'gcc/config/arm/arm.c'
18--- old/gcc/config/arm/arm.c 2010-08-25 16:20:13 +0000
19+++ new/gcc/config/arm/arm.c 2010-08-25 16:22:17 +0000
20@@ -22472,6 +22472,7 @@
21 {
22 case cortexr4:
23 case cortexr4f:
24+ case cortexa5:
25 case cortexa8:
26 case cortexa9:
27 return 2;
28
29=== modified file 'gcc/config/arm/arm.md'
30--- old/gcc/config/arm/arm.md 2010-08-25 16:20:13 +0000
31+++ new/gcc/config/arm/arm.md 2010-08-25 16:22:17 +0000
32@@ -412,7 +412,7 @@
33
34 (define_attr "generic_sched" "yes,no"
35 (const (if_then_else
36- (ior (eq_attr "tune" "arm926ejs,arm1020e,arm1026ejs,arm1136js,arm1136jfs,cortexa8,cortexa9")
37+ (ior (eq_attr "tune" "arm926ejs,arm1020e,arm1026ejs,arm1136js,arm1136jfs,cortexa5,cortexa8,cortexa9")
38 (eq_attr "tune_cortexr4" "yes"))
39 (const_string "no")
40 (const_string "yes"))))
41@@ -420,7 +420,7 @@
42 (define_attr "generic_vfp" "yes,no"
43 (const (if_then_else
44 (and (eq_attr "fpu" "vfp")
45- (eq_attr "tune" "!arm1020e,arm1022e,cortexa8,cortexa9")
46+ (eq_attr "tune" "!arm1020e,arm1022e,cortexa5,cortexa8,cortexa9")
47 (eq_attr "tune_cortexr4" "no"))
48 (const_string "yes")
49 (const_string "no"))))
50@@ -444,6 +444,7 @@
51 (include "arm1020e.md")
52 (include "arm1026ejs.md")
53 (include "arm1136jfs.md")
54+(include "cortex-a5.md")
55 (include "cortex-a8.md")
56 (include "cortex-a9.md")
57 (include "cortex-r4.md")
58
59=== added file 'gcc/config/arm/cortex-a5.md'
60--- old/gcc/config/arm/cortex-a5.md 1970-01-01 00:00:00 +0000
61+++ new/gcc/config/arm/cortex-a5.md 2010-08-25 16:22:17 +0000
62@@ -0,0 +1,297 @@
63+;; ARM Cortex-A5 pipeline description
64+;; Copyright (C) 2010 Free Software Foundation, Inc.
65+;; Contributed by CodeSourcery.
66+;;
67+;; This file is part of GCC.
68+;;
69+;; GCC is free software; you can redistribute it and/or modify it
70+;; under the terms of the GNU General Public License as published by
71+;; the Free Software Foundation; either version 3, or (at your option)
72+;; any later version.
73+;;
74+;; GCC is distributed in the hope that it will be useful, but
75+;; WITHOUT ANY WARRANTY; without even the implied warranty of
76+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
77+;; General Public License for more details.
78+;;
79+;; You should have received a copy of the GNU General Public License
80+;; along with GCC; see the file COPYING3. If not see
81+;; <http://www.gnu.org/licenses/>.
82+
83+(define_automaton "cortex_a5")
84+
85+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
86+;; Functional units.
87+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
88+
89+;; The integer (ALU) pipeline. There are five DPU pipeline
90+;; stages. However the decode/issue stages operate the same for all
91+;; instructions, so do not model them. We only need to model the
92+;; first execute stage because instructions always advance one stage
93+;; per cycle in order. Only branch instructions may dual-issue, so a
94+;; single unit covers all of the LS, ALU, MAC and FPU pipelines.
95+
96+(define_cpu_unit "cortex_a5_ex1" "cortex_a5")
97+
98+;; The branch pipeline. Branches can dual-issue with other instructions
99+;; (except when those instructions take multiple cycles to issue).
100+
101+(define_cpu_unit "cortex_a5_branch" "cortex_a5")
102+
103+;; Pseudo-unit for blocking the multiply pipeline when a double-precision
104+;; multiply is in progress.
105+
106+(define_cpu_unit "cortex_a5_fpmul_pipe" "cortex_a5")
107+
108+;; The floating-point add pipeline (ex1/f1 stage), used to model the usage
109+;; of the add pipeline by fmac instructions, etc.
110+
111+(define_cpu_unit "cortex_a5_fpadd_pipe" "cortex_a5")
112+
113+;; Floating-point div/sqrt (long latency, out-of-order completion).
114+
115+(define_cpu_unit "cortex_a5_fp_div_sqrt" "cortex_a5")
116+
117+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
118+;; ALU instructions.
119+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
120+
121+(define_insn_reservation "cortex_a5_alu" 2
122+ (and (eq_attr "tune" "cortexa5")
123+ (eq_attr "type" "alu"))
124+ "cortex_a5_ex1")
125+
126+(define_insn_reservation "cortex_a5_alu_shift" 2
127+ (and (eq_attr "tune" "cortexa5")
128+ (eq_attr "type" "alu_shift,alu_shift_reg"))
129+ "cortex_a5_ex1")
130+
131+;; Forwarding path for unshifted operands.
132+
133+(define_bypass 1 "cortex_a5_alu,cortex_a5_alu_shift"
134+ "cortex_a5_alu")
135+
136+(define_bypass 1 "cortex_a5_alu,cortex_a5_alu_shift"
137+ "cortex_a5_alu_shift"
138+ "arm_no_early_alu_shift_dep")
139+
140+;; The multiplier pipeline can forward results from wr stage only so
141+;; there's no need to specify bypasses).
142+
143+(define_insn_reservation "cortex_a5_mul" 2
144+ (and (eq_attr "tune" "cortexa5")
145+ (eq_attr "type" "mult"))
146+ "cortex_a5_ex1")
147+
148+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
149+;; Load/store instructions.
150+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
151+
152+;; Address-generation happens in the issue stage, which is one stage behind
153+;; the ex1 stage (the first stage we care about for scheduling purposes). The
154+;; dc1 stage is parallel with ex1, dc2 with ex2 and rot with wr.
155+
156+(define_insn_reservation "cortex_a5_load1" 2
157+ (and (eq_attr "tune" "cortexa5")
158+ (eq_attr "type" "load_byte,load1"))
159+ "cortex_a5_ex1")
160+
161+(define_insn_reservation "cortex_a5_store1" 0
162+ (and (eq_attr "tune" "cortexa5")
163+ (eq_attr "type" "store1"))
164+ "cortex_a5_ex1")
165+
166+(define_insn_reservation "cortex_a5_load2" 3
167+ (and (eq_attr "tune" "cortexa5")
168+ (eq_attr "type" "load2"))
169+ "cortex_a5_ex1+cortex_a5_branch, cortex_a5_ex1")
170+
171+(define_insn_reservation "cortex_a5_store2" 0
172+ (and (eq_attr "tune" "cortexa5")
173+ (eq_attr "type" "store2"))
174+ "cortex_a5_ex1+cortex_a5_branch, cortex_a5_ex1")
175+
176+(define_insn_reservation "cortex_a5_load3" 4
177+ (and (eq_attr "tune" "cortexa5")
178+ (eq_attr "type" "load3"))
179+ "cortex_a5_ex1+cortex_a5_branch, cortex_a5_ex1+cortex_a5_branch,\
180+ cortex_a5_ex1")
181+
182+(define_insn_reservation "cortex_a5_store3" 0
183+ (and (eq_attr "tune" "cortexa5")
184+ (eq_attr "type" "store3"))
185+ "cortex_a5_ex1+cortex_a5_branch, cortex_a5_ex1+cortex_a5_branch,\
186+ cortex_a5_ex1")
187+
188+(define_insn_reservation "cortex_a5_load4" 5
189+ (and (eq_attr "tune" "cortexa5")
190+ (eq_attr "type" "load3"))
191+ "cortex_a5_ex1+cortex_a5_branch, cortex_a5_ex1+cortex_a5_branch,\
192+ cortex_a5_ex1+cortex_a5_branch, cortex_a5_ex1")
193+
194+(define_insn_reservation "cortex_a5_store4" 0
195+ (and (eq_attr "tune" "cortexa5")
196+ (eq_attr "type" "store3"))
197+ "cortex_a5_ex1+cortex_a5_branch, cortex_a5_ex1+cortex_a5_branch,\
198+ cortex_a5_ex1+cortex_a5_branch, cortex_a5_ex1")
199+
200+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
201+;; Branches.
202+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
203+
204+;; Direct branches are the only instructions we can dual-issue (also IT and
205+;; nop, but those aren't very interesting for scheduling). (The latency here
206+;; is meant to represent when the branch actually takes place, but may not be
207+;; entirely correct.)
208+
209+(define_insn_reservation "cortex_a5_branch" 3
210+ (and (eq_attr "tune" "cortexa5")
211+ (eq_attr "type" "branch,call"))
212+ "cortex_a5_branch")
213+
214+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
215+;; Floating-point arithmetic.
216+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
217+
218+(define_insn_reservation "cortex_a5_fpalu" 4
219+ (and (eq_attr "tune" "cortexa5")
220+ (eq_attr "type" "ffariths, fadds, ffarithd, faddd, fcpys, fmuls, f_cvt,\
221+ fcmps, fcmpd"))
222+ "cortex_a5_ex1+cortex_a5_fpadd_pipe")
223+
224+;; For fconsts and fconstd, 8-bit immediate data is passed directly from
225+;; f1 to f3 (which I think reduces the latency by one cycle).
226+
227+(define_insn_reservation "cortex_a5_fconst" 3
228+ (and (eq_attr "tune" "cortexa5")
229+ (eq_attr "type" "fconsts,fconstd"))
230+ "cortex_a5_ex1+cortex_a5_fpadd_pipe")
231+
232+;; We should try not to attempt to issue a single-precision multiplication in
233+;; the middle of a double-precision multiplication operation (the usage of
234+;; cortex_a5_fpmul_pipe).
235+
236+(define_insn_reservation "cortex_a5_fpmuls" 4
237+ (and (eq_attr "tune" "cortexa5")
238+ (eq_attr "type" "fmuls"))
239+ "cortex_a5_ex1+cortex_a5_fpmul_pipe")
240+
241+;; For single-precision multiply-accumulate, the add (accumulate) is issued
242+;; whilst the multiply is in F4. The multiply result can then be forwarded
243+;; from F5 to F1. The issue unit is only used once (when we first start
244+;; processing the instruction), but the usage of the FP add pipeline could
245+;; block other instructions attempting to use it simultaneously. We try to
246+;; avoid that using cortex_a5_fpadd_pipe.
247+
248+(define_insn_reservation "cortex_a5_fpmacs" 8
249+ (and (eq_attr "tune" "cortexa5")
250+ (eq_attr "type" "fmacs"))
251+ "cortex_a5_ex1+cortex_a5_fpmul_pipe, nothing*3, cortex_a5_fpadd_pipe")
252+
253+;; Non-multiply instructions can issue in the middle two instructions of a
254+;; double-precision multiply. Note that it isn't entirely clear when a branch
255+;; can dual-issue when a multi-cycle multiplication is in progress; we ignore
256+;; that for now though.
257+
258+(define_insn_reservation "cortex_a5_fpmuld" 7
259+ (and (eq_attr "tune" "cortexa5")
260+ (eq_attr "type" "fmuld"))
261+ "cortex_a5_ex1+cortex_a5_fpmul_pipe, cortex_a5_fpmul_pipe*2,\
262+ cortex_a5_ex1+cortex_a5_fpmul_pipe")
263+
264+(define_insn_reservation "cortex_a5_fpmacd" 11
265+ (and (eq_attr "tune" "cortexa5")
266+ (eq_attr "type" "fmacd"))
267+ "cortex_a5_ex1+cortex_a5_fpmul_pipe, cortex_a5_fpmul_pipe*2,\
268+ cortex_a5_ex1+cortex_a5_fpmul_pipe, nothing*3, cortex_a5_fpadd_pipe")
269+
270+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
271+;; Floating-point divide/square root instructions.
272+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
273+
274+;; ??? Not sure if the 14 cycles taken for single-precision divide to complete
275+;; includes the time taken for the special instruction used to collect the
276+;; result to travel down the multiply pipeline, or not. Assuming so. (If
277+;; that's wrong, the latency should be increased by a few cycles.)
278+
279+;; fsqrt takes one cycle less, but that is not modelled, nor is the use of the
280+;; multiply pipeline to collect the divide/square-root result.
281+
282+(define_insn_reservation "cortex_a5_fdivs" 14
283+ (and (eq_attr "tune" "cortexa5")
284+ (eq_attr "type" "fdivs"))
285+ "cortex_a5_ex1, cortex_a5_fp_div_sqrt * 13")
286+
287+;; ??? Similarly for fdivd.
288+
289+(define_insn_reservation "cortex_a5_fdivd" 29
290+ (and (eq_attr "tune" "cortexa5")
291+ (eq_attr "type" "fdivd"))
292+ "cortex_a5_ex1, cortex_a5_fp_div_sqrt * 28")
293+
294+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
295+;; VFP to/from core transfers.
296+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
297+
298+;; FP loads take data from wr/rot/f3.
299+
300+;; Core-to-VFP transfers use the multiply pipeline.
301+
302+(define_insn_reservation "cortex_a5_r2f" 4
303+ (and (eq_attr "tune" "cortexa5")
304+ (eq_attr "type" "r_2_f"))
305+ "cortex_a5_ex1")
306+
307+(define_insn_reservation "cortex_a5_f2r" 2
308+ (and (eq_attr "tune" "cortexa5")
309+ (eq_attr "type" "f_2_r"))
310+ "cortex_a5_ex1")
311+
312+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
313+;; VFP flag transfer.
314+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
315+
316+;; ??? The flag forwarding from fmstat to the ex2 stage of the second
317+;; instruction is not modeled at present.
318+
319+(define_insn_reservation "cortex_a5_f_flags" 4
320+ (and (eq_attr "tune" "cortexa5")
321+ (eq_attr "type" "f_flag"))
322+ "cortex_a5_ex1")
323+
324+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
325+;; VFP load/store.
326+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
327+
328+(define_insn_reservation "cortex_a5_f_loads" 4
329+ (and (eq_attr "tune" "cortexa5")
330+ (eq_attr "type" "f_loads"))
331+ "cortex_a5_ex1")
332+
333+(define_insn_reservation "cortex_a5_f_loadd" 5
334+ (and (eq_attr "tune" "cortexa5")
335+ (eq_attr "type" "f_load,f_loadd"))
336+ "cortex_a5_ex1+cortex_a5_branch, cortex_a5_ex1")
337+
338+(define_insn_reservation "cortex_a5_f_stores" 0
339+ (and (eq_attr "tune" "cortexa5")
340+ (eq_attr "type" "f_stores"))
341+ "cortex_a5_ex1")
342+
343+(define_insn_reservation "cortex_a5_f_stored" 0
344+ (and (eq_attr "tune" "cortexa5")
345+ (eq_attr "type" "f_store,f_stored"))
346+ "cortex_a5_ex1+cortex_a5_branch, cortex_a5_ex1")
347+
348+;; Load-to-use for floating-point values has a penalty of one cycle,
349+;; i.e. a latency of two.
350+
351+(define_bypass 2 "cortex_a5_f_loads"
352+ "cortex_a5_fpalu, cortex_a5_fpmacs, cortex_a5_fpmuld,\
353+ cortex_a5_fpmacd, cortex_a5_fdivs, cortex_a5_fdivd,\
354+ cortex_a5_f2r")
355+
356+(define_bypass 3 "cortex_a5_f_loadd"
357+ "cortex_a5_fpalu, cortex_a5_fpmacs, cortex_a5_fpmuld,\
358+ cortex_a5_fpmacd, cortex_a5_fdivs, cortex_a5_fdivd,\
359+ cortex_a5_f2r")
360
diff --git a/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99374.patch b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99374.patch
new file mode 100644
index 0000000000..dfe193ff28
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99374.patch
@@ -0,0 +1,72 @@
12010-08-26 Andrew Stubbs <ams@codesourcery.com>
2
3 Merge from Ubuntu GCC:
4
5 GCC bugzilla PR objc/41848.
6
7 gcc/
8 * objc/lang-specs.h: Work around ObjC and -fsection-anchors.
9
10 gcc/testsuite/
11 * objc/execute/forward-1.x: Update for ARM.
12
13 2010-08-25 Andrew Stubbs <ams@codesourcery.com>
14
15 Backport from FSF:
16
17=== modified file 'gcc/objc/lang-specs.h'
18--- old/gcc/objc/lang-specs.h 2007-08-02 09:37:36 +0000
19+++ new/gcc/objc/lang-specs.h 2010-08-26 14:02:04 +0000
20@@ -26,29 +26,33 @@
21 {"@objective-c",
22 "%{E|M|MM:cc1obj -E %{traditional|ftraditional|traditional-cpp:-traditional-cpp}\
23 %(cpp_options) %(cpp_debug_options)}\
24+ %{fsection-anchors: %eGNU Objective C can't use -fsection-anchors} \
25 %{!E:%{!M:%{!MM:\
26 %{traditional|ftraditional|traditional-cpp:\
27 %eGNU Objective C no longer supports traditional compilation}\
28 %{save-temps|no-integrated-cpp:cc1obj -E %(cpp_options) -o %{save-temps:%b.mi} %{!save-temps:%g.mi} \n\
29- cc1obj -fpreprocessed %{save-temps:%b.mi} %{!save-temps:%g.mi} %(cc1_options) %{print-objc-runtime-info} %{gen-decls}}\
30+ cc1obj -fpreprocessed -fno-section-anchors %{save-temps:%b.mi} %{!save-temps:%g.mi} %(cc1_options) %{print-objc-runtime-info} %{gen-decls}}\
31 %{!save-temps:%{!no-integrated-cpp:\
32- cc1obj %(cpp_unique_options) %(cc1_options) %{print-objc-runtime-info} %{gen-decls}}}\
33+ cc1obj %(cpp_unique_options) -fno-section-anchors %(cc1_options) %{print-objc-runtime-info} %{gen-decls}}}\
34 %{!fsyntax-only:%(invoke_as)}}}}", 0, 0, 0},
35 {".mi", "@objc-cpp-output", 0, 0, 0},
36 {"@objc-cpp-output",
37- "%{!M:%{!MM:%{!E:cc1obj -fpreprocessed %i %(cc1_options) %{print-objc-runtime-info} %{gen-decls}\
38- %{!fsyntax-only:%(invoke_as)}}}}", 0, 0, 0},
39+ "%{!M:%{!MM:%{!E:cc1obj -fno-section-anchors -fpreprocessed %i %(cc1_options) %{print-objc-runtime-info} %{gen-decls}\
40+ %{!fsyntax-only:%(invoke_as)}}}} \
41+ %{fsection-anchors: %eGNU Objective C can't use -fsection-anchors} ", 0, 0, 0},
42 {"@objective-c-header",
43 "%{E|M|MM:cc1obj -E %{traditional|ftraditional|traditional-cpp:-traditional-cpp}\
44 %(cpp_options) %(cpp_debug_options)}\
45+ %{fsection-anchors: %eGNU Objective C can't use -fsection-anchors} \
46 %{!E:%{!M:%{!MM:\
47 %{traditional|ftraditional|traditional-cpp:\
48 %eGNU Objective C no longer supports traditional compilation}\
49 %{save-temps|no-integrated-cpp:cc1obj -E %(cpp_options) -o %{save-temps:%b.mi} %{!save-temps:%g.mi} \n\
50- cc1obj -fpreprocessed %b.mi %(cc1_options) %{print-objc-runtime-info} %{gen-decls}\
51+ cc1obj -fpreprocessed %b.mi %(cc1_options) -fno-section-anchors %{print-objc-runtime-info} %{gen-decls}\
52 -o %g.s %{!o*:--output-pch=%i.gch}\
53 %W{o*:--output-pch=%*}%V}\
54+ %{fsection-anchors: %eGNU Objective C can't use -fsection-anchors} \
55 %{!save-temps:%{!no-integrated-cpp:\
56- cc1obj %(cpp_unique_options) %(cc1_options) %{print-objc-runtime-info} %{gen-decls}\
57+ cc1obj %(cpp_unique_options) -fno-section-anchors %(cc1_options) %{print-objc-runtime-info} %{gen-decls}\
58 -o %g.s %{!o*:--output-pch=%i.gch}\
59 %W{o*:--output-pch=%*}%V}}}}}", 0, 0, 0},
60
61=== modified file 'gcc/testsuite/objc/execute/forward-1.x'
62--- old/gcc/testsuite/objc/execute/forward-1.x 2010-03-25 22:25:05 +0000
63+++ new/gcc/testsuite/objc/execute/forward-1.x 2010-08-26 14:02:04 +0000
64@@ -4,6 +4,7 @@
65
66 if { ([istarget x86_64-*-linux*] && [check_effective_target_lp64] )
67 || [istarget powerpc*-*-linux*]
68+ || [istarget arm*]
69 || [istarget powerpc*-*-aix*]
70 || [istarget s390*-*-*-linux*]
71 || [istarget sh4-*-linux*]
72
diff --git a/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99375.patch b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99375.patch
new file mode 100644
index 0000000000..fac64b9642
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99375.patch
@@ -0,0 +1,146 @@
12010-08-26 Maciej Rozycki <macro@codesourcery.com>
2
3 Merge from Sourcery G++ 4.4:
4
5 2009-02-17 Andrew Jenner <andrew@codesourcery.com>
6 Maciej Rozycki <macro@codesourcery.com>
7
8 gcc/
9 * unwind.inc (_Unwind_RaiseException): Use return value of
10 uw_init_context.
11 * unwind-dw2.c (uw_init_context): Make macro an expression instead of
12 a statement.
13 (uw_init_context_1): Add return value.
14 * unwind-sjlj.c (uw_init_context): Add return value.
15
16 2010-08-26 Andrew Stubbs <ams@codesourcery.com>
17
18 Merge from Ubuntu GCC:
19
20=== modified file 'gcc/unwind-dw2.c'
21--- old/gcc/unwind-dw2.c 2010-04-27 08:41:30 +0000
22+++ new/gcc/unwind-dw2.c 2010-08-26 15:38:19 +0000
23@@ -1414,16 +1414,12 @@
24 /* Fill in CONTEXT for top-of-stack. The only valid registers at this
25 level will be the return address and the CFA. */
26
27-#define uw_init_context(CONTEXT) \
28- do \
29- { \
30- /* Do any necessary initialization to access arbitrary stack frames. \
31- On the SPARC, this means flushing the register windows. */ \
32- __builtin_unwind_init (); \
33- uw_init_context_1 (CONTEXT, __builtin_dwarf_cfa (), \
34- __builtin_return_address (0)); \
35- } \
36- while (0)
37+#define uw_init_context(CONTEXT) \
38+ /* Do any necessary initialization to access arbitrary stack frames. \
39+ On the SPARC, this means flushing the register windows. */ \
40+ (__builtin_unwind_init (), \
41+ uw_init_context_1 ((CONTEXT), __builtin_dwarf_cfa (), \
42+ __builtin_return_address (0)))
43
44 static inline void
45 init_dwarf_reg_size_table (void)
46@@ -1431,7 +1427,7 @@
47 __builtin_init_dwarf_reg_size_table (dwarf_reg_size_table);
48 }
49
50-static void __attribute__((noinline))
51+static _Unwind_Reason_Code __attribute__((noinline))
52 uw_init_context_1 (struct _Unwind_Context *context,
53 void *outer_cfa, void *outer_ra)
54 {
55@@ -1445,7 +1441,8 @@
56 context->flags = EXTENDED_CONTEXT_BIT;
57
58 code = uw_frame_state_for (context, &fs);
59- gcc_assert (code == _URC_NO_REASON);
60+ if (code != _URC_NO_REASON)
61+ return code;
62
63 #if __GTHREADS
64 {
65@@ -1471,6 +1468,8 @@
66 initialization context, then we can't see it in the given
67 call frame data. So have the initialization context tell us. */
68 context->ra = __builtin_extract_return_addr (outer_ra);
69+
70+ return _URC_NO_REASON;
71 }
72
73 static void _Unwind_DebugHook (void *, void *)
74
75=== modified file 'gcc/unwind-sjlj.c'
76--- old/gcc/unwind-sjlj.c 2009-04-09 14:00:19 +0000
77+++ new/gcc/unwind-sjlj.c 2010-08-26 15:38:19 +0000
78@@ -292,10 +292,11 @@
79 uw_update_context (context, fs);
80 }
81
82-static inline void
83+static inline _Unwind_Reason_Code
84 uw_init_context (struct _Unwind_Context *context)
85 {
86 context->fc = _Unwind_SjLj_GetContext ();
87+ return _URC_NO_REASON;
88 }
89
90 static void __attribute__((noreturn))
91
92=== modified file 'gcc/unwind.inc'
93--- old/gcc/unwind.inc 2009-04-09 14:00:19 +0000
94+++ new/gcc/unwind.inc 2010-08-26 15:38:19 +0000
95@@ -85,7 +85,8 @@
96 _Unwind_Reason_Code code;
97
98 /* Set up this_context to describe the current stack frame. */
99- uw_init_context (&this_context);
100+ code = uw_init_context (&this_context);
101+ gcc_assert (code == _URC_NO_REASON);
102 cur_context = this_context;
103
104 /* Phase 1: Search. Unwind the stack, calling the personality routine
105@@ -198,7 +199,8 @@
106 struct _Unwind_Context this_context, cur_context;
107 _Unwind_Reason_Code code;
108
109- uw_init_context (&this_context);
110+ code = uw_init_context (&this_context);
111+ gcc_assert (code == _URC_NO_REASON);
112 cur_context = this_context;
113
114 exc->private_1 = (_Unwind_Ptr) stop;
115@@ -221,7 +223,8 @@
116 struct _Unwind_Context this_context, cur_context;
117 _Unwind_Reason_Code code;
118
119- uw_init_context (&this_context);
120+ code = uw_init_context (&this_context);
121+ gcc_assert (code == _URC_NO_REASON);
122 cur_context = this_context;
123
124 /* Choose between continuing to process _Unwind_RaiseException
125@@ -251,7 +254,8 @@
126 if (exc->private_1 == 0)
127 return _Unwind_RaiseException (exc);
128
129- uw_init_context (&this_context);
130+ code = uw_init_context (&this_context);
131+ gcc_assert (code == _URC_NO_REASON);
132 cur_context = this_context;
133
134 code = _Unwind_ForcedUnwind_Phase2 (exc, &cur_context);
135@@ -280,7 +284,9 @@
136 struct _Unwind_Context context;
137 _Unwind_Reason_Code code;
138
139- uw_init_context (&context);
140+ code = uw_init_context (&context);
141+ if (code != _URC_NO_REASON)
142+ return _URC_FATAL_PHASE1_ERROR;
143
144 while (1)
145 {
146
diff --git a/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99376.patch b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99376.patch
new file mode 100644
index 0000000000..5e402a753e
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99376.patch
@@ -0,0 +1,35 @@
12010-08-26 Paul Brook <paul@codesourcery.com>
2
3 Merge from Sourcery G++ 4.3/4.4:
4 2007-03-30 Paul Brook <paul@codesourcery.com>
5 gcc/
6 * calls.c (store_one_arg): Check alignment of mode used for save.
7
8 2010-08-26 Maciej Rozycki <macro@codesourcery.com>
9
10 Merge from Sourcery G++ 4.4:
11
12=== modified file 'gcc/calls.c'
13--- old/gcc/calls.c 2010-08-13 10:50:45 +0000
14+++ new/gcc/calls.c 2010-08-26 15:44:20 +0000
15@@ -4048,8 +4048,17 @@
16 /* We need to make a save area. */
17 unsigned int size = arg->locate.size.constant * BITS_PER_UNIT;
18 enum machine_mode save_mode = mode_for_size (size, MODE_INT, 1);
19- rtx adr = memory_address (save_mode, XEXP (arg->stack_slot, 0));
20- rtx stack_area = gen_rtx_MEM (save_mode, adr);
21+ rtx adr;
22+ rtx stack_area;
23+
24+ /* We can only use save_mode if the arg is sufficiently
25+ aligned. */
26+ if (STRICT_ALIGNMENT
27+ && GET_MODE_ALIGNMENT (save_mode) > arg->locate.boundary)
28+ save_mode = BLKmode;
29+
30+ adr = memory_address (save_mode, XEXP (arg->stack_slot, 0));
31+ stack_area = gen_rtx_MEM (save_mode, adr);
32
33 if (save_mode == BLKmode)
34 {
35
diff --git a/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99377.patch b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99377.patch
new file mode 100644
index 0000000000..d51f0874e3
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99377.patch
@@ -0,0 +1,28 @@
1 Issue #1510
2 2007-04-27 Paul Brook <paul@codesourcery.com>
3 gcc/
4 * cse.c (cse_process_notes): Make sure PLUS are canonical.
5
62010-08-26 Paul Brook <paul@codesourcery.com>
7
8 Merge from Sourcery G++ 4.3/4.4:
9 2007-03-30 Paul Brook <paul@codesourcery.com>
10 gcc/
11 * calls.c (store_one_arg): Check alignment of mode used for save.
12
13=== modified file 'gcc/cse.c'
14--- old/gcc/cse.c 2010-01-12 20:25:10 +0000
15+++ new/gcc/cse.c 2010-08-26 15:53:20 +0000
16@@ -6061,6 +6061,11 @@
17 validate_change (object, &XEXP (x, i),
18 cse_process_notes (XEXP (x, i), object, changed), 0);
19
20+ /* Rebuild a PLUS expression in canonical form if the first operand
21+ ends up as a constant. */
22+ if (code == PLUS && GET_CODE (XEXP (x, 0)) == CONST_INT)
23+ return plus_constant (XEXP(x, 1), INTVAL (XEXP (x, 0)));
24+
25 return x;
26 }
27
28
diff --git a/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99378.patch b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99378.patch
new file mode 100644
index 0000000000..aacf19b7c9
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99378.patch
@@ -0,0 +1,159 @@
12010-08-27 Paul Brook <paul@codesourcery.com>
2
3 gcc/
4 * config/arm/thumb2.md (thumb_andsi_not_shiftsi_si,
5 thumb2_notsi_shiftsi, thumb2_notsi_shiftsi_compare0,
6 thumb2_not_shiftsi_compare0_scratch, thumb2_cmpsi_shiftsi,
7 thumb2_cmpsi_shiftsi_swp, thumb2_cmpsi_neg_shiftsi,
8 thumb2_arith_shiftsi, thumb2_arith_shiftsi_compare0,
9 thumb2_arith_shiftsi_compare0_scratch, thumb2_sub_shiftsi,
10 thumb2_sub_shiftsi_compare0, thumb2_sub_shiftsi_compare0_scratch):
11 Use const_shift_count predicate for "M" constraints.
12 * config/arm/predicates.md (const_shift_operand): Remove.
13 (const_shift_count): New.
14
15 gcc/testsuite/
16 * gcc.dg/long-long-shift-1.c: New test.
17
18 2010-08-26 Paul Brook <paul@codesourcery.com>
19
20 Merge from Sourcery G++ 4.3/4.4:
21
22=== modified file 'gcc/config/arm/predicates.md'
23--- old/gcc/config/arm/predicates.md 2010-08-12 13:35:39 +0000
24+++ new/gcc/config/arm/predicates.md 2010-08-31 09:40:16 +0000
25@@ -318,10 +318,9 @@
26 (and (match_code "reg,subreg,mem")
27 (match_operand 0 "nonimmediate_soft_df_operand"))))
28
29-(define_predicate "const_shift_operand"
30+(define_predicate "const_shift_count"
31 (and (match_code "const_int")
32- (ior (match_operand 0 "power_of_two_operand")
33- (match_test "((unsigned HOST_WIDE_INT) INTVAL (op)) < 32"))))
34+ (match_test "((unsigned HOST_WIDE_INT) INTVAL (op)) < 32")))
35
36
37 (define_special_predicate "load_multiple_operation"
38
39=== modified file 'gcc/config/arm/thumb2.md'
40--- old/gcc/config/arm/thumb2.md 2010-08-13 16:00:58 +0000
41+++ new/gcc/config/arm/thumb2.md 2010-08-31 09:40:16 +0000
42@@ -55,7 +55,7 @@
43 [(set (match_operand:SI 0 "s_register_operand" "=r")
44 (and:SI (not:SI (match_operator:SI 4 "shift_operator"
45 [(match_operand:SI 2 "s_register_operand" "r")
46- (match_operand:SI 3 "const_int_operand" "M")]))
47+ (match_operand:SI 3 "const_shift_count" "M")]))
48 (match_operand:SI 1 "s_register_operand" "r")))]
49 "TARGET_THUMB2"
50 "bic%?\\t%0, %1, %2%S4"
51@@ -124,7 +124,7 @@
52 [(set (match_operand:SI 0 "s_register_operand" "=r")
53 (not:SI (match_operator:SI 3 "shift_operator"
54 [(match_operand:SI 1 "s_register_operand" "r")
55- (match_operand:SI 2 "const_int_operand" "M")])))]
56+ (match_operand:SI 2 "const_shift_count" "M")])))]
57 "TARGET_THUMB2"
58 "mvn%?\\t%0, %1%S3"
59 [(set_attr "predicable" "yes")
60@@ -136,7 +136,7 @@
61 [(set (reg:CC_NOOV CC_REGNUM)
62 (compare:CC_NOOV (not:SI (match_operator:SI 3 "shift_operator"
63 [(match_operand:SI 1 "s_register_operand" "r")
64- (match_operand:SI 2 "const_int_operand" "M")]))
65+ (match_operand:SI 2 "const_shift_count" "M")]))
66 (const_int 0)))
67 (set (match_operand:SI 0 "s_register_operand" "=r")
68 (not:SI (match_op_dup 3 [(match_dup 1) (match_dup 2)])))]
69@@ -151,7 +151,7 @@
70 [(set (reg:CC_NOOV CC_REGNUM)
71 (compare:CC_NOOV (not:SI (match_operator:SI 3 "shift_operator"
72 [(match_operand:SI 1 "s_register_operand" "r")
73- (match_operand:SI 2 "const_int_operand" "M")]))
74+ (match_operand:SI 2 "const_shift_count" "M")]))
75 (const_int 0)))
76 (clobber (match_scratch:SI 0 "=r"))]
77 "TARGET_THUMB2"
78@@ -328,7 +328,7 @@
79 (compare:CC (match_operand:SI 0 "s_register_operand" "r")
80 (match_operator:SI 3 "shift_operator"
81 [(match_operand:SI 1 "s_register_operand" "r")
82- (match_operand:SI 2 "const_int_operand" "M")])))]
83+ (match_operand:SI 2 "const_shift_count" "M")])))]
84 "TARGET_THUMB2"
85 "cmp%?\\t%0, %1%S3"
86 [(set_attr "conds" "set")
87@@ -340,7 +340,7 @@
88 [(set (reg:CC_SWP CC_REGNUM)
89 (compare:CC_SWP (match_operator:SI 3 "shift_operator"
90 [(match_operand:SI 1 "s_register_operand" "r")
91- (match_operand:SI 2 "const_int_operand" "M")])
92+ (match_operand:SI 2 "const_shift_count" "M")])
93 (match_operand:SI 0 "s_register_operand" "r")))]
94 "TARGET_THUMB2"
95 "cmp%?\\t%0, %1%S3"
96@@ -354,7 +354,7 @@
97 (compare:CC (match_operand:SI 0 "s_register_operand" "r")
98 (neg:SI (match_operator:SI 3 "shift_operator"
99 [(match_operand:SI 1 "s_register_operand" "r")
100- (match_operand:SI 2 "const_int_operand" "M")]))))]
101+ (match_operand:SI 2 "const_shift_count" "M")]))))]
102 "TARGET_THUMB2"
103 "cmn%?\\t%0, %1%S3"
104 [(set_attr "conds" "set")
105@@ -466,7 +466,7 @@
106 (match_operator:SI 1 "shiftable_operator"
107 [(match_operator:SI 3 "shift_operator"
108 [(match_operand:SI 4 "s_register_operand" "r")
109- (match_operand:SI 5 "const_int_operand" "M")])
110+ (match_operand:SI 5 "const_shift_count" "M")])
111 (match_operand:SI 2 "s_register_operand" "r")]))]
112 "TARGET_THUMB2"
113 "%i1%?\\t%0, %2, %4%S3"
114@@ -499,7 +499,7 @@
115 (compare:CC_NOOV (match_operator:SI 1 "shiftable_operator"
116 [(match_operator:SI 3 "shift_operator"
117 [(match_operand:SI 4 "s_register_operand" "r")
118- (match_operand:SI 5 "const_int_operand" "M")])
119+ (match_operand:SI 5 "const_shift_count" "M")])
120 (match_operand:SI 2 "s_register_operand" "r")])
121 (const_int 0)))
122 (set (match_operand:SI 0 "s_register_operand" "=r")
123@@ -517,7 +517,7 @@
124 (compare:CC_NOOV (match_operator:SI 1 "shiftable_operator"
125 [(match_operator:SI 3 "shift_operator"
126 [(match_operand:SI 4 "s_register_operand" "r")
127- (match_operand:SI 5 "const_int_operand" "M")])
128+ (match_operand:SI 5 "const_shift_count" "M")])
129 (match_operand:SI 2 "s_register_operand" "r")])
130 (const_int 0)))
131 (clobber (match_scratch:SI 0 "=r"))]
132@@ -533,7 +533,7 @@
133 (minus:SI (match_operand:SI 1 "s_register_operand" "r")
134 (match_operator:SI 2 "shift_operator"
135 [(match_operand:SI 3 "s_register_operand" "r")
136- (match_operand:SI 4 "const_int_operand" "M")])))]
137+ (match_operand:SI 4 "const_shift_count" "M")])))]
138 "TARGET_THUMB2"
139 "sub%?\\t%0, %1, %3%S2"
140 [(set_attr "predicable" "yes")
141@@ -547,7 +547,7 @@
142 (minus:SI (match_operand:SI 1 "s_register_operand" "r")
143 (match_operator:SI 2 "shift_operator"
144 [(match_operand:SI 3 "s_register_operand" "r")
145- (match_operand:SI 4 "const_int_operand" "M")]))
146+ (match_operand:SI 4 "const_shift_count" "M")]))
147 (const_int 0)))
148 (set (match_operand:SI 0 "s_register_operand" "=r")
149 (minus:SI (match_dup 1) (match_op_dup 2 [(match_dup 3)
150@@ -565,7 +565,7 @@
151 (minus:SI (match_operand:SI 1 "s_register_operand" "r")
152 (match_operator:SI 2 "shift_operator"
153 [(match_operand:SI 3 "s_register_operand" "r")
154- (match_operand:SI 4 "const_int_operand" "M")]))
155+ (match_operand:SI 4 "const_shift_count" "M")]))
156 (const_int 0)))
157 (clobber (match_scratch:SI 0 "=r"))]
158 "TARGET_THUMB2"
159
diff --git a/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99379.patch b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99379.patch
new file mode 100644
index 0000000000..e1e89bf8af
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99379.patch
@@ -0,0 +1,2011 @@
12010-08-29 Chung-Lin Tang <cltang@codesourcery.com>
2
3 Backport from mainline:
4
5 2010-04-16 Bernd Schmidt <bernds@codesourcery.com>
6
7 PR target/41514
8 gcc/
9 * config/arm/arm.md (cbranchsi4_insn): Renamed from "*cbranchsi4_insn".
10 If the previous insn is a cbranchsi4_insn with the same arguments,
11 omit the compare instruction.
12
13 gcc/testsuite/
14 * gcc.target/arm/thumb-comparisons.c: New test.
15
16 gcc/
17 * config/arm/arm.md (addsi3_cbranch): If destination is a high
18 register, inputs must be low registers and we need a low register
19 scratch. Handle alternative 2 like alternative 3.
20
21 PR target/40603
22 gcc/
23 * config/arm/arm.md (cbranchqi4): New pattern.
24 * config/arm/predicates.md (const0_operand,
25 cbranchqi4_comparison_operator): New predicates.
26
27 gcc/testsuite/
28 * gcc.target/arm/thumb-cbranchqi.c: New test.
29
30 2010-04-27 Bernd Schmidt <bernds@codesourcery.com>
31
32 PR target/40657
33 gcc/
34 * config/arm/arm.c (thumb1_extra_regs_pushed): New function.
35 (thumb1_expand_prologue, thumb1_output_function_prologue): Call it
36 here to determine which regs to push and how much stack to reserve.
37
38 gcc/testsuite/
39 * gcc.target/arm/thumb-stackframe.c: New test.
40
41 2010-07-02 Bernd Schmidt <bernds@codesourcery.com>
42
43 PR target/42835
44 gcc/
45 * config/arm/arm-modes.def (CC_NOTB): New mode.
46 * config/arm/arm.c (get_arm_condition_code): Handle it.
47 * config/arm/thumb2.md (thumb2_compare_scc): Delete pattern.
48 * config/arm/arm.md (subsi3_compare0_c): New pattern.
49 (compare_scc): Now a define_and_split. Add a number of extra
50 splitters before it.
51
52 gcc/testsuite/
53 * gcc.target/arm/pr42835.c: New test.
54
55 PR target/42172
56 gcc/
57 * config/arm/arm.c (thumb1_rtx_costs): Improve support for SIGN_EXTEND
58 and ZERO_EXTEND.
59 (arm_rtx_costs_1): Likewise.
60 (arm_size_rtx_costs): Use arm_rtx_costs_1 for these codes.
61 * config/arm/arm.md (is_arch6): New attribute.
62 (zero_extendhisi2, zero_extendqisi2, extendhisi2,
63 extendqisi2): Tighten the code somewhat, avoiding invalid
64 RTL to occur in the expander patterns.
65 (thumb1_zero_extendhisi2): Merge with thumb1_zero_extendhisi2_v6.
66 (thumb1_zero_extendhisi2_v6): Delete.
67 (thumb1_extendhisi2): Merge with thumb1_extendhisi2_v6.
68 (thumb1_extendhisi2_v6): Delete.
69 (thumb1_extendqisi2): Merge with thumb1_extendhisi2_v6.
70 (thumb1_extendqisi2_v6): Delete.
71 (zero_extendhisi2 for register input splitter): New.
72 (zero_extendqisi2 for register input splitter): New.
73 (thumb1_extendhisi2 for register input splitter): New.
74 (extendhisi2 for register input splitter): New.
75 (extendqisi2 for register input splitter): New.
76 (TARGET_THUMB1 extendqisi2 for memory input splitter): New.
77 (arm_zero_extendhisi2): Allow nonimmediate_operand for operand 1,
78 and add support for a register alternative requiring a split.
79 (thumb1_zero_extendqisi2): Likewise.
80 (arm_zero_extendqisi2): Likewise.
81 (arm_extendhisi2): Likewise.
82 (arm_extendqisi2): Likewise.
83
84 gcc/testsuite/
85 * gcc.target/arm/pr42172-1.c: New test.
86
87 2010-07-05 Bernd Schmidt <bernds@codesourcery.com>
88
89 * config/arm/arm.c (get_arm_condition_code): Remove CC_NOTBmode case.
90 * arm-modes.def (CC_NOTB): Don't define.
91 * config/arm/arm.md (arm_adddi3): Generate canonical RTL.
92 (adddi_sesidi_di, adddi_zesidi_di): Likewise.
93 (LTUGEU): New code_iterator.
94 (cnb, optab): New corresponding code_attrs.
95 (addsi3_carryin_<optab>): Renamed from addsi3_carryin. Change pattern
96 to canonical form. Operands 1 and 2 are commutative. Parametrize
97 using LTUGEU.
98 (addsi3_carryin_shift_<optab>): Likewise.
99 (addsi3_carryin_alt2_<optab>): Renamed from addsi3_carryin_alt2.
100 Operands 1 and 2 are commutative. Parametrize using LTUGEU.
101 (addsi3_carryin_alt1, addsi3_carryin_alt3): Remove.
102 (subsi3_compare): Renamed from subsi3_compare0_c. Change CC_NOTB to
103 CC.
104 (arm_subsi3_insn): Allow constants for operand 0.
105 (compare_scc peephole for eq case): New.
106 (compare_scc splitters): Change CC_NOTB to CC.
107
108 2010-07-09 Bernd Schmidt <bernds@codesourcery.com>
109
110 PR target/40657
111 gcc/
112 * config/arm/arm.c (thumb1_extra_regs_pushed): New arg FOR_PROLOGUE.
113 All callers changed.
114 Handle the case when we're called for the epilogue.
115 (thumb_unexpanded_epilogue): Use it.
116 (thumb1_expand_epilogue): Likewise.
117
118 gcc/testsuite/
119 * gcc.target/arm/pr40657-1.c: New test.
120 * gcc.target/arm/pr40657-2.c: New test.
121 * gcc.c-torture/execute/pr40657.c: New test.
122
123 gcc/
124 * config/arm/arm.md (addsi3_cbranch): Switch alternatives 0 and 1.
125
126 * config/arm/arm.md (Thumb-1 ldrsb peephole): New.
127
128 * config/arm/arm.md (cbranchqi4): Fix array size.
129 (addsi3_cbranch): Also andle alternative 2 like alternative 3 when
130 calculating length.
131
132 2010-08-27 Paul Brook <paul@codesourcery.com>
133
134 gcc/
135
136=== modified file 'gcc/config/arm/arm-modes.def'
137--- old/gcc/config/arm/arm-modes.def 2010-07-29 16:58:56 +0000
138+++ new/gcc/config/arm/arm-modes.def 2010-08-31 10:00:27 +0000
139@@ -34,6 +34,8 @@
140 CCFPmode should be used with floating equalities.
141 CC_NOOVmode should be used with SImode integer equalities.
142 CC_Zmode should be used if only the Z flag is set correctly
143+ CC_Cmode should be used if only the C flag is set correctly, after an
144+ addition.
145 CC_Nmode should be used if only the N (sign) flag is set correctly
146 CC_CZmode should be used if only the C and Z flags are correct
147 (used for DImode unsigned comparisons).
148
149=== modified file 'gcc/config/arm/arm.c'
150--- old/gcc/config/arm/arm.c 2010-08-25 16:22:17 +0000
151+++ new/gcc/config/arm/arm.c 2010-08-31 10:00:27 +0000
152@@ -6443,6 +6443,7 @@
153 thumb1_rtx_costs (rtx x, enum rtx_code code, enum rtx_code outer)
154 {
155 enum machine_mode mode = GET_MODE (x);
156+ int total;
157
158 switch (code)
159 {
160@@ -6545,24 +6546,20 @@
161 return 14;
162 return 2;
163
164+ case SIGN_EXTEND:
165 case ZERO_EXTEND:
166- /* XXX still guessing. */
167- switch (GET_MODE (XEXP (x, 0)))
168- {
169- case QImode:
170- return (1 + (mode == DImode ? 4 : 0)
171- + (GET_CODE (XEXP (x, 0)) == MEM ? 10 : 0));
172-
173- case HImode:
174- return (4 + (mode == DImode ? 4 : 0)
175- + (GET_CODE (XEXP (x, 0)) == MEM ? 10 : 0));
176-
177- case SImode:
178- return (1 + (GET_CODE (XEXP (x, 0)) == MEM ? 10 : 0));
179-
180- default:
181- return 99;
182- }
183+ total = mode == DImode ? COSTS_N_INSNS (1) : 0;
184+ total += thumb1_rtx_costs (XEXP (x, 0), GET_CODE (XEXP (x, 0)), code);
185+
186+ if (mode == SImode)
187+ return total;
188+
189+ if (arm_arch6)
190+ return total + COSTS_N_INSNS (1);
191+
192+ /* Assume a two-shift sequence. Increase the cost slightly so
193+ we prefer actual shifts over an extend operation. */
194+ return total + 1 + COSTS_N_INSNS (2);
195
196 default:
197 return 99;
198@@ -7046,44 +7043,39 @@
199 return false;
200
201 case SIGN_EXTEND:
202- if (GET_MODE_CLASS (mode) == MODE_INT)
203- {
204- *total = 0;
205- if (mode == DImode)
206- *total += COSTS_N_INSNS (1);
207-
208- if (GET_MODE (XEXP (x, 0)) != SImode)
209- {
210- if (arm_arch6)
211- {
212- if (GET_CODE (XEXP (x, 0)) != MEM)
213- *total += COSTS_N_INSNS (1);
214- }
215- else if (!arm_arch4 || GET_CODE (XEXP (x, 0)) != MEM)
216- *total += COSTS_N_INSNS (2);
217- }
218-
219- return false;
220- }
221-
222- /* Fall through */
223 case ZERO_EXTEND:
224 *total = 0;
225 if (GET_MODE_CLASS (mode) == MODE_INT)
226 {
227+ rtx op = XEXP (x, 0);
228+ enum machine_mode opmode = GET_MODE (op);
229+
230 if (mode == DImode)
231 *total += COSTS_N_INSNS (1);
232
233- if (GET_MODE (XEXP (x, 0)) != SImode)
234+ if (opmode != SImode)
235 {
236- if (arm_arch6)
237+ if (MEM_P (op))
238 {
239- if (GET_CODE (XEXP (x, 0)) != MEM)
240- *total += COSTS_N_INSNS (1);
241+ /* If !arm_arch4, we use one of the extendhisi2_mem
242+ or movhi_bytes patterns for HImode. For a QImode
243+ sign extension, we first zero-extend from memory
244+ and then perform a shift sequence. */
245+ if (!arm_arch4 && (opmode != QImode || code == SIGN_EXTEND))
246+ *total += COSTS_N_INSNS (2);
247 }
248- else if (!arm_arch4 || GET_CODE (XEXP (x, 0)) != MEM)
249- *total += COSTS_N_INSNS (GET_MODE (XEXP (x, 0)) == QImode ?
250- 1 : 2);
251+ else if (arm_arch6)
252+ *total += COSTS_N_INSNS (1);
253+
254+ /* We don't have the necessary insn, so we need to perform some
255+ other operation. */
256+ else if (TARGET_ARM && code == ZERO_EXTEND && mode == QImode)
257+ /* An and with constant 255. */
258+ *total += COSTS_N_INSNS (1);
259+ else
260+ /* A shift sequence. Increase costs slightly to avoid
261+ combining two shifts into an extend operation. */
262+ *total += COSTS_N_INSNS (2) + 1;
263 }
264
265 return false;
266@@ -7333,41 +7325,8 @@
267 return false;
268
269 case SIGN_EXTEND:
270- *total = 0;
271- if (GET_MODE_SIZE (GET_MODE (XEXP (x, 0))) < 4)
272- {
273- if (!(arm_arch4 && MEM_P (XEXP (x, 0))))
274- *total += COSTS_N_INSNS (arm_arch6 ? 1 : 2);
275- }
276- if (mode == DImode)
277- *total += COSTS_N_INSNS (1);
278- return false;
279-
280 case ZERO_EXTEND:
281- *total = 0;
282- if (!(arm_arch4 && MEM_P (XEXP (x, 0))))
283- {
284- switch (GET_MODE (XEXP (x, 0)))
285- {
286- case QImode:
287- *total += COSTS_N_INSNS (1);
288- break;
289-
290- case HImode:
291- *total += COSTS_N_INSNS (arm_arch6 ? 1 : 2);
292-
293- case SImode:
294- break;
295-
296- default:
297- *total += COSTS_N_INSNS (2);
298- }
299- }
300-
301- if (mode == DImode)
302- *total += COSTS_N_INSNS (1);
303-
304- return false;
305+ return arm_rtx_costs_1 (x, outer_code, total, 0);
306
307 case CONST_INT:
308 if (const_ok_for_arm (INTVAL (x)))
309@@ -16898,11 +16857,11 @@
310
311 case CC_Cmode:
312 switch (comp_code)
313- {
314- case LTU: return ARM_CS;
315- case GEU: return ARM_CC;
316- default: gcc_unreachable ();
317- }
318+ {
319+ case LTU: return ARM_CS;
320+ case GEU: return ARM_CC;
321+ default: gcc_unreachable ();
322+ }
323
324 case CC_CZmode:
325 switch (comp_code)
326@@ -20127,6 +20086,81 @@
327 #endif
328 }
329
330+/* Given the stack offsets and register mask in OFFSETS, decide how
331+ many additional registers to push instead of subtracting a constant
332+ from SP. For epilogues the principle is the same except we use pop.
333+ FOR_PROLOGUE indicates which we're generating. */
334+static int
335+thumb1_extra_regs_pushed (arm_stack_offsets *offsets, bool for_prologue)
336+{
337+ HOST_WIDE_INT amount;
338+ unsigned long live_regs_mask = offsets->saved_regs_mask;
339+ /* Extract a mask of the ones we can give to the Thumb's push/pop
340+ instruction. */
341+ unsigned long l_mask = live_regs_mask & (for_prologue ? 0x40ff : 0xff);
342+ /* Then count how many other high registers will need to be pushed. */
343+ unsigned long high_regs_pushed = bit_count (live_regs_mask & 0x0f00);
344+ int n_free, reg_base;
345+
346+ if (!for_prologue && frame_pointer_needed)
347+ amount = offsets->locals_base - offsets->saved_regs;
348+ else
349+ amount = offsets->outgoing_args - offsets->saved_regs;
350+
351+ /* If the stack frame size is 512 exactly, we can save one load
352+ instruction, which should make this a win even when optimizing
353+ for speed. */
354+ if (!optimize_size && amount != 512)
355+ return 0;
356+
357+ /* Can't do this if there are high registers to push. */
358+ if (high_regs_pushed != 0)
359+ return 0;
360+
361+ /* Shouldn't do it in the prologue if no registers would normally
362+ be pushed at all. In the epilogue, also allow it if we'll have
363+ a pop insn for the PC. */
364+ if (l_mask == 0
365+ && (for_prologue
366+ || TARGET_BACKTRACE
367+ || (live_regs_mask & 1 << LR_REGNUM) == 0
368+ || TARGET_INTERWORK
369+ || crtl->args.pretend_args_size != 0))
370+ return 0;
371+
372+ /* Don't do this if thumb_expand_prologue wants to emit instructions
373+ between the push and the stack frame allocation. */
374+ if (for_prologue
375+ && ((flag_pic && arm_pic_register != INVALID_REGNUM)
376+ || (!frame_pointer_needed && CALLER_INTERWORKING_SLOT_SIZE > 0)))
377+ return 0;
378+
379+ reg_base = 0;
380+ n_free = 0;
381+ if (!for_prologue)
382+ {
383+ reg_base = arm_size_return_regs () / UNITS_PER_WORD;
384+ live_regs_mask >>= reg_base;
385+ }
386+
387+ while (reg_base + n_free < 8 && !(live_regs_mask & 1)
388+ && (for_prologue || call_used_regs[reg_base + n_free]))
389+ {
390+ live_regs_mask >>= 1;
391+ n_free++;
392+ }
393+
394+ if (n_free == 0)
395+ return 0;
396+ gcc_assert (amount / 4 * 4 == amount);
397+
398+ if (amount >= 512 && (amount - n_free * 4) < 512)
399+ return (amount - 508) / 4;
400+ if (amount <= n_free * 4)
401+ return amount / 4;
402+ return 0;
403+}
404+
405 /* The bits which aren't usefully expanded as rtl. */
406 const char *
407 thumb_unexpanded_epilogue (void)
408@@ -20135,6 +20169,7 @@
409 int regno;
410 unsigned long live_regs_mask = 0;
411 int high_regs_pushed = 0;
412+ int extra_pop;
413 int had_to_push_lr;
414 int size;
415
416@@ -20154,6 +20189,13 @@
417 the register is used to hold a return value. */
418 size = arm_size_return_regs ();
419
420+ extra_pop = thumb1_extra_regs_pushed (offsets, false);
421+ if (extra_pop > 0)
422+ {
423+ unsigned long extra_mask = (1 << extra_pop) - 1;
424+ live_regs_mask |= extra_mask << (size / UNITS_PER_WORD);
425+ }
426+
427 /* The prolog may have pushed some high registers to use as
428 work registers. e.g. the testsuite file:
429 gcc/testsuite/gcc/gcc.c-torture/execute/complex-2.c
430@@ -20237,7 +20279,9 @@
431 live_regs_mask);
432
433 /* We have either just popped the return address into the
434- PC or it is was kept in LR for the entire function. */
435+ PC or it is was kept in LR for the entire function.
436+ Note that thumb_pushpop has already called thumb_exit if the
437+ PC was in the list. */
438 if (!had_to_push_lr)
439 thumb_exit (asm_out_file, LR_REGNUM);
440 }
441@@ -20419,6 +20463,7 @@
442 stack_pointer_rtx);
443
444 amount = offsets->outgoing_args - offsets->saved_regs;
445+ amount -= 4 * thumb1_extra_regs_pushed (offsets, true);
446 if (amount)
447 {
448 if (amount < 512)
449@@ -20503,6 +20548,7 @@
450 emit_insn (gen_movsi (stack_pointer_rtx, hard_frame_pointer_rtx));
451 amount = offsets->locals_base - offsets->saved_regs;
452 }
453+ amount -= 4 * thumb1_extra_regs_pushed (offsets, false);
454
455 gcc_assert (amount >= 0);
456 if (amount)
457@@ -20723,7 +20769,11 @@
458 register. */
459 else if ((l_mask & 0xff) != 0
460 || (high_regs_pushed == 0 && l_mask))
461- thumb_pushpop (f, l_mask, 1, &cfa_offset, l_mask);
462+ {
463+ unsigned long mask = l_mask;
464+ mask |= (1 << thumb1_extra_regs_pushed (offsets, true)) - 1;
465+ thumb_pushpop (f, mask, 1, &cfa_offset, mask);
466+ }
467
468 if (high_regs_pushed)
469 {
470
471=== modified file 'gcc/config/arm/arm.md'
472--- old/gcc/config/arm/arm.md 2010-08-25 16:22:17 +0000
473+++ new/gcc/config/arm/arm.md 2010-08-31 10:00:27 +0000
474@@ -150,6 +150,9 @@
475 ; patterns that share the same RTL in both ARM and Thumb code.
476 (define_attr "is_thumb" "no,yes" (const (symbol_ref "thumb_code")))
477
478+; IS_ARCH6 is set to 'yes' when we are generating code form ARMv6.
479+(define_attr "is_arch6" "no,yes" (const (symbol_ref "arm_arch6")))
480+
481 ;; Operand number of an input operand that is shifted. Zero if the
482 ;; given instruction does not shift one of its input operands.
483 (define_attr "shift" "" (const_int 0))
484@@ -515,8 +518,8 @@
485 (compare:CC_C (plus:SI (match_dup 1) (match_dup 2))
486 (match_dup 1)))
487 (set (match_dup 0) (plus:SI (match_dup 1) (match_dup 2)))])
488- (set (match_dup 3) (plus:SI (ltu:SI (reg:CC_C CC_REGNUM) (const_int 0))
489- (plus:SI (match_dup 4) (match_dup 5))))]
490+ (set (match_dup 3) (plus:SI (plus:SI (match_dup 4) (match_dup 5))
491+ (ltu:SI (reg:CC_C CC_REGNUM) (const_int 0))))]
492 "
493 {
494 operands[3] = gen_highpart (SImode, operands[0]);
495@@ -543,10 +546,10 @@
496 (compare:CC_C (plus:SI (match_dup 1) (match_dup 2))
497 (match_dup 1)))
498 (set (match_dup 0) (plus:SI (match_dup 1) (match_dup 2)))])
499- (set (match_dup 3) (plus:SI (ltu:SI (reg:CC_C CC_REGNUM) (const_int 0))
500- (plus:SI (ashiftrt:SI (match_dup 2)
501+ (set (match_dup 3) (plus:SI (plus:SI (ashiftrt:SI (match_dup 2)
502 (const_int 31))
503- (match_dup 4))))]
504+ (match_dup 4))
505+ (ltu:SI (reg:CC_C CC_REGNUM) (const_int 0))))]
506 "
507 {
508 operands[3] = gen_highpart (SImode, operands[0]);
509@@ -572,8 +575,8 @@
510 (compare:CC_C (plus:SI (match_dup 1) (match_dup 2))
511 (match_dup 1)))
512 (set (match_dup 0) (plus:SI (match_dup 1) (match_dup 2)))])
513- (set (match_dup 3) (plus:SI (ltu:SI (reg:CC_C CC_REGNUM) (const_int 0))
514- (plus:SI (match_dup 4) (const_int 0))))]
515+ (set (match_dup 3) (plus:SI (plus:SI (match_dup 4) (const_int 0))
516+ (ltu:SI (reg:CC_C CC_REGNUM) (const_int 0))))]
517 "
518 {
519 operands[3] = gen_highpart (SImode, operands[0]);
520@@ -861,24 +864,38 @@
521 [(set_attr "conds" "set")]
522 )
523
524-(define_insn "*addsi3_carryin"
525- [(set (match_operand:SI 0 "s_register_operand" "=r")
526- (plus:SI (ltu:SI (reg:CC_C CC_REGNUM) (const_int 0))
527- (plus:SI (match_operand:SI 1 "s_register_operand" "r")
528- (match_operand:SI 2 "arm_rhs_operand" "rI"))))]
529- "TARGET_32BIT"
530- "adc%?\\t%0, %1, %2"
531- [(set_attr "conds" "use")]
532-)
533-
534-(define_insn "*addsi3_carryin_shift"
535- [(set (match_operand:SI 0 "s_register_operand" "=r")
536- (plus:SI (ltu:SI (reg:CC_C CC_REGNUM) (const_int 0))
537- (plus:SI
538- (match_operator:SI 2 "shift_operator"
539- [(match_operand:SI 3 "s_register_operand" "r")
540- (match_operand:SI 4 "reg_or_int_operand" "rM")])
541- (match_operand:SI 1 "s_register_operand" "r"))))]
542+(define_code_iterator LTUGEU [ltu geu])
543+(define_code_attr cnb [(ltu "CC_C") (geu "CC")])
544+(define_code_attr optab [(ltu "ltu") (geu "geu")])
545+
546+(define_insn "*addsi3_carryin_<optab>"
547+ [(set (match_operand:SI 0 "s_register_operand" "=r")
548+ (plus:SI (plus:SI (match_operand:SI 1 "s_register_operand" "%r")
549+ (match_operand:SI 2 "arm_rhs_operand" "rI"))
550+ (LTUGEU:SI (reg:<cnb> CC_REGNUM) (const_int 0))))]
551+ "TARGET_32BIT"
552+ "adc%?\\t%0, %1, %2"
553+ [(set_attr "conds" "use")]
554+)
555+
556+(define_insn "*addsi3_carryin_alt2_<optab>"
557+ [(set (match_operand:SI 0 "s_register_operand" "=r")
558+ (plus:SI (plus:SI (LTUGEU:SI (reg:<cnb> CC_REGNUM) (const_int 0))
559+ (match_operand:SI 1 "s_register_operand" "%r"))
560+ (match_operand:SI 2 "arm_rhs_operand" "rI")))]
561+ "TARGET_32BIT"
562+ "adc%?\\t%0, %1, %2"
563+ [(set_attr "conds" "use")]
564+)
565+
566+(define_insn "*addsi3_carryin_shift_<optab>"
567+ [(set (match_operand:SI 0 "s_register_operand" "=r")
568+ (plus:SI (plus:SI
569+ (match_operator:SI 2 "shift_operator"
570+ [(match_operand:SI 3 "s_register_operand" "r")
571+ (match_operand:SI 4 "reg_or_int_operand" "rM")])
572+ (match_operand:SI 1 "s_register_operand" "r"))
573+ (LTUGEU:SI (reg:<cnb> CC_REGNUM) (const_int 0))))]
574 "TARGET_32BIT"
575 "adc%?\\t%0, %1, %3%S2"
576 [(set_attr "conds" "use")
577@@ -887,36 +904,6 @@
578 (const_string "alu_shift_reg")))]
579 )
580
581-(define_insn "*addsi3_carryin_alt1"
582- [(set (match_operand:SI 0 "s_register_operand" "=r")
583- (plus:SI (plus:SI (match_operand:SI 1 "s_register_operand" "r")
584- (match_operand:SI 2 "arm_rhs_operand" "rI"))
585- (ltu:SI (reg:CC_C CC_REGNUM) (const_int 0))))]
586- "TARGET_32BIT"
587- "adc%?\\t%0, %1, %2"
588- [(set_attr "conds" "use")]
589-)
590-
591-(define_insn "*addsi3_carryin_alt2"
592- [(set (match_operand:SI 0 "s_register_operand" "=r")
593- (plus:SI (plus:SI (ltu:SI (reg:CC_C CC_REGNUM) (const_int 0))
594- (match_operand:SI 1 "s_register_operand" "r"))
595- (match_operand:SI 2 "arm_rhs_operand" "rI")))]
596- "TARGET_32BIT"
597- "adc%?\\t%0, %1, %2"
598- [(set_attr "conds" "use")]
599-)
600-
601-(define_insn "*addsi3_carryin_alt3"
602- [(set (match_operand:SI 0 "s_register_operand" "=r")
603- (plus:SI (plus:SI (ltu:SI (reg:CC_C CC_REGNUM) (const_int 0))
604- (match_operand:SI 2 "arm_rhs_operand" "rI"))
605- (match_operand:SI 1 "s_register_operand" "r")))]
606- "TARGET_32BIT"
607- "adc%?\\t%0, %1, %2"
608- [(set_attr "conds" "use")]
609-)
610-
611 (define_expand "incscc"
612 [(set (match_operand:SI 0 "s_register_operand" "=r,r")
613 (plus:SI (match_operator:SI 2 "arm_comparison_operator"
614@@ -1116,24 +1103,27 @@
615
616 ; ??? Check Thumb-2 split length
617 (define_insn_and_split "*arm_subsi3_insn"
618- [(set (match_operand:SI 0 "s_register_operand" "=r,rk,r")
619- (minus:SI (match_operand:SI 1 "reg_or_int_operand" "rI,!k,?n")
620- (match_operand:SI 2 "s_register_operand" "r, r, r")))]
621+ [(set (match_operand:SI 0 "s_register_operand" "=r,r,rk,r,r")
622+ (minus:SI (match_operand:SI 1 "reg_or_int_operand" "rI,r,!k,?n,r")
623+ (match_operand:SI 2 "reg_or_int_operand" "r,rI, r, r,?n")))]
624 "TARGET_32BIT"
625 "@
626 rsb%?\\t%0, %2, %1
627 sub%?\\t%0, %1, %2
628+ sub%?\\t%0, %1, %2
629+ #
630 #"
631- "TARGET_32BIT
632- && GET_CODE (operands[1]) == CONST_INT
633- && !const_ok_for_arm (INTVAL (operands[1]))"
634+ "&& ((GET_CODE (operands[1]) == CONST_INT
635+ && !const_ok_for_arm (INTVAL (operands[1])))
636+ || (GET_CODE (operands[2]) == CONST_INT
637+ && !const_ok_for_arm (INTVAL (operands[2]))))"
638 [(clobber (const_int 0))]
639 "
640 arm_split_constant (MINUS, SImode, curr_insn,
641 INTVAL (operands[1]), operands[0], operands[2], 0);
642 DONE;
643 "
644- [(set_attr "length" "4,4,16")
645+ [(set_attr "length" "4,4,4,16,16")
646 (set_attr "predicable" "yes")]
647 )
648
649@@ -1165,6 +1155,19 @@
650 [(set_attr "conds" "set")]
651 )
652
653+(define_insn "*subsi3_compare"
654+ [(set (reg:CC CC_REGNUM)
655+ (compare:CC (match_operand:SI 1 "arm_rhs_operand" "r,I")
656+ (match_operand:SI 2 "arm_rhs_operand" "rI,r")))
657+ (set (match_operand:SI 0 "s_register_operand" "=r,r")
658+ (minus:SI (match_dup 1) (match_dup 2)))]
659+ "TARGET_32BIT"
660+ "@
661+ sub%.\\t%0, %1, %2
662+ rsb%.\\t%0, %2, %1"
663+ [(set_attr "conds" "set")]
664+)
665+
666 (define_expand "decscc"
667 [(set (match_operand:SI 0 "s_register_operand" "=r,r")
668 (minus:SI (match_operand:SI 1 "s_register_operand" "0,?r")
669@@ -4050,93 +4053,46 @@
670 )
671
672 (define_expand "zero_extendhisi2"
673- [(set (match_dup 2)
674- (ashift:SI (match_operand:HI 1 "nonimmediate_operand" "")
675- (const_int 16)))
676- (set (match_operand:SI 0 "s_register_operand" "")
677- (lshiftrt:SI (match_dup 2) (const_int 16)))]
678+ [(set (match_operand:SI 0 "s_register_operand" "")
679+ (zero_extend:SI (match_operand:HI 1 "nonimmediate_operand" "")))]
680 "TARGET_EITHER"
681- "
682- {
683- if ((TARGET_THUMB1 || arm_arch4) && GET_CODE (operands[1]) == MEM)
684- {
685- emit_insn (gen_rtx_SET (VOIDmode, operands[0],
686- gen_rtx_ZERO_EXTEND (SImode, operands[1])));
687- DONE;
688- }
689-
690- if (TARGET_ARM && GET_CODE (operands[1]) == MEM)
691- {
692- emit_insn (gen_movhi_bytes (operands[0], operands[1]));
693- DONE;
694- }
695-
696- if (!s_register_operand (operands[1], HImode))
697- operands[1] = copy_to_mode_reg (HImode, operands[1]);
698-
699- if (arm_arch6)
700- {
701- emit_insn (gen_rtx_SET (VOIDmode, operands[0],
702- gen_rtx_ZERO_EXTEND (SImode, operands[1])));
703- DONE;
704- }
705-
706- operands[1] = gen_lowpart (SImode, operands[1]);
707- operands[2] = gen_reg_rtx (SImode);
708- }"
709-)
710+{
711+ if (TARGET_ARM && !arm_arch4 && MEM_P (operands[1]))
712+ {
713+ emit_insn (gen_movhi_bytes (operands[0], operands[1]));
714+ DONE;
715+ }
716+ if (!arm_arch6 && !MEM_P (operands[1]))
717+ {
718+ rtx t = gen_lowpart (SImode, operands[1]);
719+ rtx tmp = gen_reg_rtx (SImode);
720+ emit_insn (gen_ashlsi3 (tmp, t, GEN_INT (16)));
721+ emit_insn (gen_lshrsi3 (operands[0], tmp, GEN_INT (16)));
722+ DONE;
723+ }
724+})
725+
726+(define_split
727+ [(set (match_operand:SI 0 "register_operand" "")
728+ (zero_extend:SI (match_operand:HI 1 "register_operand" "l,m")))]
729+ "!TARGET_THUMB2 && !arm_arch6"
730+ [(set (match_dup 0) (ashift:SI (match_dup 2) (const_int 16)))
731+ (set (match_dup 0) (lshiftrt:SI (match_dup 0) (const_int 16)))]
732+{
733+ operands[2] = gen_lowpart (SImode, operands[1]);
734+})
735
736 (define_insn "*thumb1_zero_extendhisi2"
737- [(set (match_operand:SI 0 "register_operand" "=l")
738- (zero_extend:SI (match_operand:HI 1 "memory_operand" "m")))]
739- "TARGET_THUMB1 && !arm_arch6"
740- "*
741- rtx mem = XEXP (operands[1], 0);
742-
743- if (GET_CODE (mem) == CONST)
744- mem = XEXP (mem, 0);
745-
746- if (GET_CODE (mem) == LABEL_REF)
747- return \"ldr\\t%0, %1\";
748-
749- if (GET_CODE (mem) == PLUS)
750- {
751- rtx a = XEXP (mem, 0);
752- rtx b = XEXP (mem, 1);
753-
754- /* This can happen due to bugs in reload. */
755- if (GET_CODE (a) == REG && REGNO (a) == SP_REGNUM)
756- {
757- rtx ops[2];
758- ops[0] = operands[0];
759- ops[1] = a;
760-
761- output_asm_insn (\"mov %0, %1\", ops);
762-
763- XEXP (mem, 0) = operands[0];
764- }
765-
766- else if ( GET_CODE (a) == LABEL_REF
767- && GET_CODE (b) == CONST_INT)
768- return \"ldr\\t%0, %1\";
769- }
770-
771- return \"ldrh\\t%0, %1\";
772- "
773- [(set_attr "length" "4")
774- (set_attr "type" "load_byte")
775- (set_attr "pool_range" "60")]
776-)
777-
778-(define_insn "*thumb1_zero_extendhisi2_v6"
779 [(set (match_operand:SI 0 "register_operand" "=l,l")
780 (zero_extend:SI (match_operand:HI 1 "nonimmediate_operand" "l,m")))]
781- "TARGET_THUMB1 && arm_arch6"
782+ "TARGET_THUMB1"
783 "*
784 rtx mem;
785
786- if (which_alternative == 0)
787+ if (which_alternative == 0 && arm_arch6)
788 return \"uxth\\t%0, %1\";
789+ if (which_alternative == 0)
790+ return \"#\";
791
792 mem = XEXP (operands[1], 0);
793
794@@ -4170,20 +4126,25 @@
795
796 return \"ldrh\\t%0, %1\";
797 "
798- [(set_attr "length" "2,4")
799+ [(set_attr_alternative "length"
800+ [(if_then_else (eq_attr "is_arch6" "yes")
801+ (const_int 2) (const_int 4))
802+ (const_int 4)])
803 (set_attr "type" "alu_shift,load_byte")
804 (set_attr "pool_range" "*,60")]
805 )
806
807 (define_insn "*arm_zero_extendhisi2"
808- [(set (match_operand:SI 0 "s_register_operand" "=r")
809- (zero_extend:SI (match_operand:HI 1 "memory_operand" "m")))]
810+ [(set (match_operand:SI 0 "s_register_operand" "=r,r")
811+ (zero_extend:SI (match_operand:HI 1 "nonimmediate_operand" "r,m")))]
812 "TARGET_ARM && arm_arch4 && !arm_arch6"
813- "ldr%(h%)\\t%0, %1"
814- [(set_attr "type" "load_byte")
815+ "@
816+ #
817+ ldr%(h%)\\t%0, %1"
818+ [(set_attr "type" "alu_shift,load_byte")
819 (set_attr "predicable" "yes")
820- (set_attr "pool_range" "256")
821- (set_attr "neg_pool_range" "244")]
822+ (set_attr "pool_range" "*,256")
823+ (set_attr "neg_pool_range" "*,244")]
824 )
825
826 (define_insn "*arm_zero_extendhisi2_v6"
827@@ -4213,50 +4174,49 @@
828 [(set (match_operand:SI 0 "s_register_operand" "")
829 (zero_extend:SI (match_operand:QI 1 "nonimmediate_operand" "")))]
830 "TARGET_EITHER"
831- "
832- if (!arm_arch6 && GET_CODE (operands[1]) != MEM)
833- {
834- if (TARGET_ARM)
835- {
836- emit_insn (gen_andsi3 (operands[0],
837- gen_lowpart (SImode, operands[1]),
838- GEN_INT (255)));
839- }
840- else /* TARGET_THUMB */
841- {
842- rtx temp = gen_reg_rtx (SImode);
843- rtx ops[3];
844-
845- operands[1] = copy_to_mode_reg (QImode, operands[1]);
846- operands[1] = gen_lowpart (SImode, operands[1]);
847-
848- ops[0] = temp;
849- ops[1] = operands[1];
850- ops[2] = GEN_INT (24);
851-
852- emit_insn (gen_rtx_SET (VOIDmode, ops[0],
853- gen_rtx_ASHIFT (SImode, ops[1], ops[2])));
854-
855- ops[0] = operands[0];
856- ops[1] = temp;
857- ops[2] = GEN_INT (24);
858-
859- emit_insn (gen_rtx_SET (VOIDmode, ops[0],
860- gen_rtx_LSHIFTRT (SImode, ops[1], ops[2])));
861- }
862- DONE;
863- }
864- "
865-)
866+{
867+ if (TARGET_ARM && !arm_arch6 && GET_CODE (operands[1]) != MEM)
868+ {
869+ emit_insn (gen_andsi3 (operands[0],
870+ gen_lowpart (SImode, operands[1]),
871+ GEN_INT (255)));
872+ DONE;
873+ }
874+ if (!arm_arch6 && !MEM_P (operands[1]))
875+ {
876+ rtx t = gen_lowpart (SImode, operands[1]);
877+ rtx tmp = gen_reg_rtx (SImode);
878+ emit_insn (gen_ashlsi3 (tmp, t, GEN_INT (24)));
879+ emit_insn (gen_lshrsi3 (operands[0], tmp, GEN_INT (24)));
880+ DONE;
881+ }
882+})
883+
884+(define_split
885+ [(set (match_operand:SI 0 "register_operand" "")
886+ (zero_extend:SI (match_operand:QI 1 "register_operand" "")))]
887+ "!arm_arch6"
888+ [(set (match_dup 0) (ashift:SI (match_dup 2) (const_int 24)))
889+ (set (match_dup 0) (lshiftrt:SI (match_dup 0) (const_int 24)))]
890+{
891+ operands[2] = simplify_gen_subreg (SImode, operands[1], QImode, 0);
892+ if (TARGET_ARM)
893+ {
894+ emit_insn (gen_andsi3 (operands[0], operands[2], GEN_INT (255)));
895+ DONE;
896+ }
897+})
898
899 (define_insn "*thumb1_zero_extendqisi2"
900- [(set (match_operand:SI 0 "register_operand" "=l")
901- (zero_extend:SI (match_operand:QI 1 "memory_operand" "m")))]
902+ [(set (match_operand:SI 0 "register_operand" "=l,l")
903+ (zero_extend:SI (match_operand:QI 1 "nonimmediate_operand" "l,m")))]
904 "TARGET_THUMB1 && !arm_arch6"
905- "ldrb\\t%0, %1"
906- [(set_attr "length" "2")
907- (set_attr "type" "load_byte")
908- (set_attr "pool_range" "32")]
909+ "@
910+ #
911+ ldrb\\t%0, %1"
912+ [(set_attr "length" "4,2")
913+ (set_attr "type" "alu_shift,load_byte")
914+ (set_attr "pool_range" "*,32")]
915 )
916
917 (define_insn "*thumb1_zero_extendqisi2_v6"
918@@ -4272,14 +4232,17 @@
919 )
920
921 (define_insn "*arm_zero_extendqisi2"
922- [(set (match_operand:SI 0 "s_register_operand" "=r")
923- (zero_extend:SI (match_operand:QI 1 "memory_operand" "m")))]
924+ [(set (match_operand:SI 0 "s_register_operand" "=r,r")
925+ (zero_extend:SI (match_operand:QI 1 "nonimmediate_operand" "r,m")))]
926 "TARGET_ARM && !arm_arch6"
927- "ldr%(b%)\\t%0, %1\\t%@ zero_extendqisi2"
928- [(set_attr "type" "load_byte")
929+ "@
930+ #
931+ ldr%(b%)\\t%0, %1\\t%@ zero_extendqisi2"
932+ [(set_attr "length" "8,4")
933+ (set_attr "type" "alu_shift,load_byte")
934 (set_attr "predicable" "yes")
935- (set_attr "pool_range" "4096")
936- (set_attr "neg_pool_range" "4084")]
937+ (set_attr "pool_range" "*,4096")
938+ (set_attr "neg_pool_range" "*,4084")]
939 )
940
941 (define_insn "*arm_zero_extendqisi2_v6"
942@@ -4358,108 +4321,42 @@
943 )
944
945 (define_expand "extendhisi2"
946- [(set (match_dup 2)
947- (ashift:SI (match_operand:HI 1 "nonimmediate_operand" "")
948- (const_int 16)))
949- (set (match_operand:SI 0 "s_register_operand" "")
950- (ashiftrt:SI (match_dup 2)
951- (const_int 16)))]
952+ [(set (match_operand:SI 0 "s_register_operand" "")
953+ (sign_extend:SI (match_operand:HI 1 "nonimmediate_operand" "")))]
954 "TARGET_EITHER"
955- "
956- {
957- if (GET_CODE (operands[1]) == MEM)
958- {
959- if (TARGET_THUMB1)
960- {
961- emit_insn (gen_thumb1_extendhisi2 (operands[0], operands[1]));
962- DONE;
963- }
964- else if (arm_arch4)
965- {
966- emit_insn (gen_rtx_SET (VOIDmode, operands[0],
967- gen_rtx_SIGN_EXTEND (SImode, operands[1])));
968- DONE;
969- }
970- }
971-
972- if (TARGET_ARM && GET_CODE (operands[1]) == MEM)
973- {
974- emit_insn (gen_extendhisi2_mem (operands[0], operands[1]));
975- DONE;
976- }
977-
978- if (!s_register_operand (operands[1], HImode))
979- operands[1] = copy_to_mode_reg (HImode, operands[1]);
980-
981- if (arm_arch6)
982- {
983- if (TARGET_THUMB1)
984- emit_insn (gen_thumb1_extendhisi2 (operands[0], operands[1]));
985- else
986- emit_insn (gen_rtx_SET (VOIDmode, operands[0],
987- gen_rtx_SIGN_EXTEND (SImode, operands[1])));
988-
989- DONE;
990- }
991-
992- operands[1] = gen_lowpart (SImode, operands[1]);
993- operands[2] = gen_reg_rtx (SImode);
994- }"
995-)
996-
997-(define_insn "thumb1_extendhisi2"
998- [(set (match_operand:SI 0 "register_operand" "=l")
999- (sign_extend:SI (match_operand:HI 1 "memory_operand" "m")))
1000- (clobber (match_scratch:SI 2 "=&l"))]
1001- "TARGET_THUMB1 && !arm_arch6"
1002- "*
1003- {
1004- rtx ops[4];
1005- rtx mem = XEXP (operands[1], 0);
1006-
1007- /* This code used to try to use 'V', and fix the address only if it was
1008- offsettable, but this fails for e.g. REG+48 because 48 is outside the
1009- range of QImode offsets, and offsettable_address_p does a QImode
1010- address check. */
1011-
1012- if (GET_CODE (mem) == CONST)
1013- mem = XEXP (mem, 0);
1014-
1015- if (GET_CODE (mem) == LABEL_REF)
1016- return \"ldr\\t%0, %1\";
1017-
1018- if (GET_CODE (mem) == PLUS)
1019- {
1020- rtx a = XEXP (mem, 0);
1021- rtx b = XEXP (mem, 1);
1022-
1023- if (GET_CODE (a) == LABEL_REF
1024- && GET_CODE (b) == CONST_INT)
1025- return \"ldr\\t%0, %1\";
1026-
1027- if (GET_CODE (b) == REG)
1028- return \"ldrsh\\t%0, %1\";
1029-
1030- ops[1] = a;
1031- ops[2] = b;
1032- }
1033- else
1034- {
1035- ops[1] = mem;
1036- ops[2] = const0_rtx;
1037- }
1038-
1039- gcc_assert (GET_CODE (ops[1]) == REG);
1040-
1041- ops[0] = operands[0];
1042- ops[3] = operands[2];
1043- output_asm_insn (\"mov\\t%3, %2\;ldrsh\\t%0, [%1, %3]\", ops);
1044- return \"\";
1045- }"
1046- [(set_attr "length" "4")
1047- (set_attr "type" "load_byte")
1048- (set_attr "pool_range" "1020")]
1049-)
1050+{
1051+ if (TARGET_THUMB1)
1052+ {
1053+ emit_insn (gen_thumb1_extendhisi2 (operands[0], operands[1]));
1054+ DONE;
1055+ }
1056+ if (MEM_P (operands[1]) && TARGET_ARM && !arm_arch4)
1057+ {
1058+ emit_insn (gen_extendhisi2_mem (operands[0], operands[1]));
1059+ DONE;
1060+ }
1061+
1062+ if (!arm_arch6 && !MEM_P (operands[1]))
1063+ {
1064+ rtx t = gen_lowpart (SImode, operands[1]);
1065+ rtx tmp = gen_reg_rtx (SImode);
1066+ emit_insn (gen_ashlsi3 (tmp, t, GEN_INT (16)));
1067+ emit_insn (gen_ashrsi3 (operands[0], tmp, GEN_INT (16)));
1068+ DONE;
1069+ }
1070+})
1071+
1072+(define_split
1073+ [(parallel
1074+ [(set (match_operand:SI 0 "register_operand" "")
1075+ (sign_extend:SI (match_operand:HI 1 "register_operand" "")))
1076+ (clobber (match_scratch:SI 2 ""))])]
1077+ "!arm_arch6"
1078+ [(set (match_dup 0) (ashift:SI (match_dup 2) (const_int 16)))
1079+ (set (match_dup 0) (ashiftrt:SI (match_dup 0) (const_int 16)))]
1080+{
1081+ operands[2] = simplify_gen_subreg (SImode, operands[1], HImode, 0);
1082+})
1083
1084 ;; We used to have an early-clobber on the scratch register here.
1085 ;; However, there's a bug somewhere in reload which means that this
1086@@ -4468,16 +4365,18 @@
1087 ;; we try to verify the operands. Fortunately, we don't really need
1088 ;; the early-clobber: we can always use operand 0 if operand 2
1089 ;; overlaps the address.
1090-(define_insn "*thumb1_extendhisi2_insn_v6"
1091+(define_insn "thumb1_extendhisi2"
1092 [(set (match_operand:SI 0 "register_operand" "=l,l")
1093 (sign_extend:SI (match_operand:HI 1 "nonimmediate_operand" "l,m")))
1094 (clobber (match_scratch:SI 2 "=X,l"))]
1095- "TARGET_THUMB1 && arm_arch6"
1096+ "TARGET_THUMB1"
1097 "*
1098 {
1099 rtx ops[4];
1100 rtx mem;
1101
1102+ if (which_alternative == 0 && !arm_arch6)
1103+ return \"#\";
1104 if (which_alternative == 0)
1105 return \"sxth\\t%0, %1\";
1106
1107@@ -4525,7 +4424,10 @@
1108 output_asm_insn (\"mov\\t%3, %2\;ldrsh\\t%0, [%1, %3]\", ops);
1109 return \"\";
1110 }"
1111- [(set_attr "length" "2,4")
1112+ [(set_attr_alternative "length"
1113+ [(if_then_else (eq_attr "is_arch6" "yes")
1114+ (const_int 2) (const_int 4))
1115+ (const_int 4)])
1116 (set_attr "type" "alu_shift,load_byte")
1117 (set_attr "pool_range" "*,1020")]
1118 )
1119@@ -4566,15 +4468,28 @@
1120 }"
1121 )
1122
1123+(define_split
1124+ [(set (match_operand:SI 0 "register_operand" "")
1125+ (sign_extend:SI (match_operand:HI 1 "register_operand" "")))]
1126+ "!arm_arch6"
1127+ [(set (match_dup 0) (ashift:SI (match_dup 2) (const_int 16)))
1128+ (set (match_dup 0) (ashiftrt:SI (match_dup 0) (const_int 16)))]
1129+{
1130+ operands[2] = simplify_gen_subreg (SImode, operands[1], HImode, 0);
1131+})
1132+
1133 (define_insn "*arm_extendhisi2"
1134- [(set (match_operand:SI 0 "s_register_operand" "=r")
1135- (sign_extend:SI (match_operand:HI 1 "memory_operand" "m")))]
1136+ [(set (match_operand:SI 0 "s_register_operand" "=r,r")
1137+ (sign_extend:SI (match_operand:HI 1 "nonimmediate_operand" "r,m")))]
1138 "TARGET_ARM && arm_arch4 && !arm_arch6"
1139- "ldr%(sh%)\\t%0, %1"
1140- [(set_attr "type" "load_byte")
1141+ "@
1142+ #
1143+ ldr%(sh%)\\t%0, %1"
1144+ [(set_attr "length" "8,4")
1145+ (set_attr "type" "alu_shift,load_byte")
1146 (set_attr "predicable" "yes")
1147- (set_attr "pool_range" "256")
1148- (set_attr "neg_pool_range" "244")]
1149+ (set_attr "pool_range" "*,256")
1150+ (set_attr "neg_pool_range" "*,244")]
1151 )
1152
1153 ;; ??? Check Thumb-2 pool range
1154@@ -4636,46 +4551,45 @@
1155 )
1156
1157 (define_expand "extendqisi2"
1158- [(set (match_dup 2)
1159- (ashift:SI (match_operand:QI 1 "arm_reg_or_extendqisi_mem_op" "")
1160- (const_int 24)))
1161- (set (match_operand:SI 0 "s_register_operand" "")
1162- (ashiftrt:SI (match_dup 2)
1163- (const_int 24)))]
1164+ [(set (match_operand:SI 0 "s_register_operand" "")
1165+ (sign_extend:SI (match_operand:QI 1 "arm_reg_or_extendqisi_mem_op" "")))]
1166 "TARGET_EITHER"
1167- "
1168- {
1169- if ((TARGET_THUMB || arm_arch4) && GET_CODE (operands[1]) == MEM)
1170- {
1171- emit_insn (gen_rtx_SET (VOIDmode, operands[0],
1172- gen_rtx_SIGN_EXTEND (SImode, operands[1])));
1173- DONE;
1174- }
1175-
1176- if (!s_register_operand (operands[1], QImode))
1177- operands[1] = copy_to_mode_reg (QImode, operands[1]);
1178-
1179- if (arm_arch6)
1180- {
1181- emit_insn (gen_rtx_SET (VOIDmode, operands[0],
1182- gen_rtx_SIGN_EXTEND (SImode, operands[1])));
1183- DONE;
1184- }
1185-
1186- operands[1] = gen_lowpart (SImode, operands[1]);
1187- operands[2] = gen_reg_rtx (SImode);
1188- }"
1189-)
1190+{
1191+ if (!arm_arch4 && MEM_P (operands[1]))
1192+ operands[1] = copy_to_mode_reg (QImode, operands[1]);
1193+
1194+ if (!arm_arch6 && !MEM_P (operands[1]))
1195+ {
1196+ rtx t = gen_lowpart (SImode, operands[1]);
1197+ rtx tmp = gen_reg_rtx (SImode);
1198+ emit_insn (gen_ashlsi3 (tmp, t, GEN_INT (24)));
1199+ emit_insn (gen_ashrsi3 (operands[0], tmp, GEN_INT (24)));
1200+ DONE;
1201+ }
1202+})
1203+
1204+(define_split
1205+ [(set (match_operand:SI 0 "register_operand" "")
1206+ (sign_extend:SI (match_operand:QI 1 "register_operand" "")))]
1207+ "!arm_arch6"
1208+ [(set (match_dup 0) (ashift:SI (match_dup 2) (const_int 24)))
1209+ (set (match_dup 0) (ashiftrt:SI (match_dup 0) (const_int 24)))]
1210+{
1211+ operands[2] = simplify_gen_subreg (SImode, operands[1], QImode, 0);
1212+})
1213
1214 (define_insn "*arm_extendqisi"
1215- [(set (match_operand:SI 0 "s_register_operand" "=r")
1216- (sign_extend:SI (match_operand:QI 1 "arm_extendqisi_mem_op" "Uq")))]
1217+ [(set (match_operand:SI 0 "s_register_operand" "=r,r")
1218+ (sign_extend:SI (match_operand:QI 1 "arm_reg_or_extendqisi_mem_op" "r,Uq")))]
1219 "TARGET_ARM && arm_arch4 && !arm_arch6"
1220- "ldr%(sb%)\\t%0, %1"
1221- [(set_attr "type" "load_byte")
1222+ "@
1223+ #
1224+ ldr%(sb%)\\t%0, %1"
1225+ [(set_attr "length" "8,4")
1226+ (set_attr "type" "alu_shift,load_byte")
1227 (set_attr "predicable" "yes")
1228- (set_attr "pool_range" "256")
1229- (set_attr "neg_pool_range" "244")]
1230+ (set_attr "pool_range" "*,256")
1231+ (set_attr "neg_pool_range" "*,244")]
1232 )
1233
1234 (define_insn "*arm_extendqisi_v6"
1235@@ -4703,162 +4617,103 @@
1236 (set_attr "predicable" "yes")]
1237 )
1238
1239-(define_insn "*thumb1_extendqisi2"
1240- [(set (match_operand:SI 0 "register_operand" "=l,l")
1241- (sign_extend:SI (match_operand:QI 1 "memory_operand" "V,m")))]
1242- "TARGET_THUMB1 && !arm_arch6"
1243- "*
1244- {
1245- rtx ops[3];
1246- rtx mem = XEXP (operands[1], 0);
1247-
1248- if (GET_CODE (mem) == CONST)
1249- mem = XEXP (mem, 0);
1250-
1251- if (GET_CODE (mem) == LABEL_REF)
1252- return \"ldr\\t%0, %1\";
1253-
1254- if (GET_CODE (mem) == PLUS
1255- && GET_CODE (XEXP (mem, 0)) == LABEL_REF)
1256- return \"ldr\\t%0, %1\";
1257-
1258- if (which_alternative == 0)
1259- return \"ldrsb\\t%0, %1\";
1260-
1261- ops[0] = operands[0];
1262-
1263- if (GET_CODE (mem) == PLUS)
1264- {
1265- rtx a = XEXP (mem, 0);
1266- rtx b = XEXP (mem, 1);
1267-
1268- ops[1] = a;
1269- ops[2] = b;
1270-
1271- if (GET_CODE (a) == REG)
1272- {
1273- if (GET_CODE (b) == REG)
1274- output_asm_insn (\"ldrsb\\t%0, [%1, %2]\", ops);
1275- else if (REGNO (a) == REGNO (ops[0]))
1276- {
1277- output_asm_insn (\"ldrb\\t%0, [%1, %2]\", ops);
1278- output_asm_insn (\"lsl\\t%0, %0, #24\", ops);
1279- output_asm_insn (\"asr\\t%0, %0, #24\", ops);
1280- }
1281- else
1282- output_asm_insn (\"mov\\t%0, %2\;ldrsb\\t%0, [%1, %0]\", ops);
1283- }
1284- else
1285- {
1286- gcc_assert (GET_CODE (b) == REG);
1287- if (REGNO (b) == REGNO (ops[0]))
1288- {
1289- output_asm_insn (\"ldrb\\t%0, [%2, %1]\", ops);
1290- output_asm_insn (\"lsl\\t%0, %0, #24\", ops);
1291- output_asm_insn (\"asr\\t%0, %0, #24\", ops);
1292- }
1293- else
1294- output_asm_insn (\"mov\\t%0, %2\;ldrsb\\t%0, [%1, %0]\", ops);
1295- }
1296- }
1297- else if (GET_CODE (mem) == REG && REGNO (ops[0]) == REGNO (mem))
1298- {
1299- output_asm_insn (\"ldrb\\t%0, [%0, #0]\", ops);
1300- output_asm_insn (\"lsl\\t%0, %0, #24\", ops);
1301- output_asm_insn (\"asr\\t%0, %0, #24\", ops);
1302- }
1303- else
1304- {
1305- ops[1] = mem;
1306- ops[2] = const0_rtx;
1307-
1308- output_asm_insn (\"mov\\t%0, %2\;ldrsb\\t%0, [%1, %0]\", ops);
1309- }
1310- return \"\";
1311- }"
1312- [(set_attr "length" "2,6")
1313- (set_attr "type" "load_byte,load_byte")
1314- (set_attr "pool_range" "32,32")]
1315-)
1316-
1317-(define_insn "*thumb1_extendqisi2_v6"
1318+(define_split
1319+ [(set (match_operand:SI 0 "register_operand" "")
1320+ (sign_extend:SI (match_operand:QI 1 "memory_operand" "")))]
1321+ "TARGET_THUMB1 && reload_completed"
1322+ [(set (match_dup 0) (match_dup 2))
1323+ (set (match_dup 0) (sign_extend:SI (match_dup 3)))]
1324+{
1325+ rtx addr = XEXP (operands[1], 0);
1326+
1327+ if (GET_CODE (addr) == CONST)
1328+ addr = XEXP (addr, 0);
1329+
1330+ if (GET_CODE (addr) == PLUS
1331+ && REG_P (XEXP (addr, 0)) && REG_P (XEXP (addr, 1)))
1332+ /* No split necessary. */
1333+ FAIL;
1334+
1335+ if (GET_CODE (addr) == PLUS
1336+ && !REG_P (XEXP (addr, 0)) && !REG_P (XEXP (addr, 1)))
1337+ FAIL;
1338+
1339+ if (reg_overlap_mentioned_p (operands[0], addr))
1340+ {
1341+ rtx t = gen_lowpart (QImode, operands[0]);
1342+ emit_move_insn (t, operands[1]);
1343+ emit_insn (gen_thumb1_extendqisi2 (operands[0], t));
1344+ DONE;
1345+ }
1346+
1347+ if (REG_P (addr))
1348+ {
1349+ addr = gen_rtx_PLUS (Pmode, addr, operands[0]);
1350+ operands[2] = const0_rtx;
1351+ }
1352+ else if (GET_CODE (addr) != PLUS)
1353+ FAIL;
1354+ else if (REG_P (XEXP (addr, 0)))
1355+ {
1356+ operands[2] = XEXP (addr, 1);
1357+ addr = gen_rtx_PLUS (Pmode, XEXP (addr, 0), operands[0]);
1358+ }
1359+ else
1360+ {
1361+ operands[2] = XEXP (addr, 0);
1362+ addr = gen_rtx_PLUS (Pmode, XEXP (addr, 1), operands[0]);
1363+ }
1364+
1365+ operands[3] = change_address (operands[1], QImode, addr);
1366+})
1367+
1368+(define_peephole2
1369+ [(set (match_operand:SI 0 "register_operand" "")
1370+ (plus:SI (match_dup 0) (match_operand 1 "const_int_operand")))
1371+ (set (match_operand:SI 2 "register_operand" "") (const_int 0))
1372+ (set (match_operand:SI 3 "register_operand" "")
1373+ (sign_extend:SI (match_operand:QI 4 "memory_operand" "")))]
1374+ "TARGET_THUMB1
1375+ && GET_CODE (XEXP (operands[4], 0)) == PLUS
1376+ && rtx_equal_p (operands[0], XEXP (XEXP (operands[4], 0), 0))
1377+ && rtx_equal_p (operands[2], XEXP (XEXP (operands[4], 0), 1))
1378+ && (peep2_reg_dead_p (3, operands[0])
1379+ || rtx_equal_p (operands[0], operands[3]))
1380+ && (peep2_reg_dead_p (3, operands[2])
1381+ || rtx_equal_p (operands[2], operands[3]))"
1382+ [(set (match_dup 2) (match_dup 1))
1383+ (set (match_dup 3) (sign_extend:SI (match_dup 4)))]
1384+{
1385+ rtx addr = gen_rtx_PLUS (Pmode, operands[0], operands[2]);
1386+ operands[4] = change_address (operands[4], QImode, addr);
1387+})
1388+
1389+(define_insn "thumb1_extendqisi2"
1390 [(set (match_operand:SI 0 "register_operand" "=l,l,l")
1391 (sign_extend:SI (match_operand:QI 1 "nonimmediate_operand" "l,V,m")))]
1392- "TARGET_THUMB1 && arm_arch6"
1393- "*
1394- {
1395- rtx ops[3];
1396- rtx mem;
1397-
1398- if (which_alternative == 0)
1399- return \"sxtb\\t%0, %1\";
1400-
1401- mem = XEXP (operands[1], 0);
1402-
1403- if (GET_CODE (mem) == CONST)
1404- mem = XEXP (mem, 0);
1405-
1406- if (GET_CODE (mem) == LABEL_REF)
1407- return \"ldr\\t%0, %1\";
1408-
1409- if (GET_CODE (mem) == PLUS
1410- && GET_CODE (XEXP (mem, 0)) == LABEL_REF)
1411- return \"ldr\\t%0, %1\";
1412-
1413- if (which_alternative == 0)
1414- return \"ldrsb\\t%0, %1\";
1415-
1416- ops[0] = operands[0];
1417-
1418- if (GET_CODE (mem) == PLUS)
1419- {
1420- rtx a = XEXP (mem, 0);
1421- rtx b = XEXP (mem, 1);
1422-
1423- ops[1] = a;
1424- ops[2] = b;
1425-
1426- if (GET_CODE (a) == REG)
1427- {
1428- if (GET_CODE (b) == REG)
1429- output_asm_insn (\"ldrsb\\t%0, [%1, %2]\", ops);
1430- else if (REGNO (a) == REGNO (ops[0]))
1431- {
1432- output_asm_insn (\"ldrb\\t%0, [%1, %2]\", ops);
1433- output_asm_insn (\"sxtb\\t%0, %0\", ops);
1434- }
1435- else
1436- output_asm_insn (\"mov\\t%0, %2\;ldrsb\\t%0, [%1, %0]\", ops);
1437- }
1438- else
1439- {
1440- gcc_assert (GET_CODE (b) == REG);
1441- if (REGNO (b) == REGNO (ops[0]))
1442- {
1443- output_asm_insn (\"ldrb\\t%0, [%2, %1]\", ops);
1444- output_asm_insn (\"sxtb\\t%0, %0\", ops);
1445- }
1446- else
1447- output_asm_insn (\"mov\\t%0, %2\;ldrsb\\t%0, [%1, %0]\", ops);
1448- }
1449- }
1450- else if (GET_CODE (mem) == REG && REGNO (ops[0]) == REGNO (mem))
1451- {
1452- output_asm_insn (\"ldrb\\t%0, [%0, #0]\", ops);
1453- output_asm_insn (\"sxtb\\t%0, %0\", ops);
1454- }
1455- else
1456- {
1457- ops[1] = mem;
1458- ops[2] = const0_rtx;
1459-
1460- output_asm_insn (\"mov\\t%0, %2\;ldrsb\\t%0, [%1, %0]\", ops);
1461- }
1462- return \"\";
1463- }"
1464- [(set_attr "length" "2,2,4")
1465- (set_attr "type" "alu_shift,load_byte,load_byte")
1466- (set_attr "pool_range" "*,32,32")]
1467+ "TARGET_THUMB1"
1468+{
1469+ rtx addr;
1470+
1471+ if (which_alternative == 0 && arm_arch6)
1472+ return "sxtb\\t%0, %1";
1473+ if (which_alternative == 0)
1474+ return "#";
1475+
1476+ addr = XEXP (operands[1], 0);
1477+ if (GET_CODE (addr) == PLUS
1478+ && REG_P (XEXP (addr, 0)) && REG_P (XEXP (addr, 1)))
1479+ return "ldrsb\\t%0, %1";
1480+
1481+ return "#";
1482+}
1483+ [(set_attr_alternative "length"
1484+ [(if_then_else (eq_attr "is_arch6" "yes")
1485+ (const_int 2) (const_int 4))
1486+ (const_int 2)
1487+ (if_then_else (eq_attr "is_arch6" "yes")
1488+ (const_int 4) (const_int 6))])
1489+ (set_attr "type" "alu_shift,load_byte,load_byte")]
1490 )
1491
1492 (define_expand "extendsfdf2"
1493@@ -6784,6 +6639,30 @@
1494 operands[2] = force_reg (SImode, operands[2]);
1495 ")
1496
1497+;; A pattern to recognize a special situation and optimize for it.
1498+;; On the thumb, zero-extension from memory is preferrable to sign-extension
1499+;; due to the available addressing modes. Hence, convert a signed comparison
1500+;; with zero into an unsigned comparison with 127 if possible.
1501+(define_expand "cbranchqi4"
1502+ [(set (pc) (if_then_else
1503+ (match_operator 0 "lt_ge_comparison_operator"
1504+ [(match_operand:QI 1 "memory_operand" "")
1505+ (match_operand:QI 2 "const0_operand" "")])
1506+ (label_ref (match_operand 3 "" ""))
1507+ (pc)))]
1508+ "TARGET_THUMB1"
1509+{
1510+ rtx xops[4];
1511+ xops[1] = gen_reg_rtx (SImode);
1512+ emit_insn (gen_zero_extendqisi2 (xops[1], operands[1]));
1513+ xops[2] = GEN_INT (127);
1514+ xops[0] = gen_rtx_fmt_ee (GET_CODE (operands[0]) == GE ? LEU : GTU,
1515+ VOIDmode, xops[1], xops[2]);
1516+ xops[3] = operands[3];
1517+ emit_insn (gen_cbranchsi4 (xops[0], xops[1], xops[2], xops[3]));
1518+ DONE;
1519+})
1520+
1521 (define_expand "cbranchsf4"
1522 [(set (pc) (if_then_else
1523 (match_operator 0 "arm_comparison_operator"
1524@@ -6849,7 +6728,7 @@
1525 }"
1526 )
1527
1528-(define_insn "*cbranchsi4_insn"
1529+(define_insn "cbranchsi4_insn"
1530 [(set (pc) (if_then_else
1531 (match_operator 0 "arm_comparison_operator"
1532 [(match_operand:SI 1 "s_register_operand" "l,*h")
1533@@ -6858,7 +6737,20 @@
1534 (pc)))]
1535 "TARGET_THUMB1"
1536 "*
1537- output_asm_insn (\"cmp\\t%1, %2\", operands);
1538+ rtx t = prev_nonnote_insn (insn);
1539+ if (t != NULL_RTX
1540+ && INSN_P (t)
1541+ && INSN_CODE (t) == CODE_FOR_cbranchsi4_insn)
1542+ {
1543+ t = XEXP (SET_SRC (PATTERN (t)), 0);
1544+ if (!rtx_equal_p (XEXP (t, 0), operands[1])
1545+ || !rtx_equal_p (XEXP (t, 1), operands[2]))
1546+ t = NULL_RTX;
1547+ }
1548+ else
1549+ t = NULL_RTX;
1550+ if (t == NULL_RTX)
1551+ output_asm_insn (\"cmp\\t%1, %2\", operands);
1552
1553 switch (get_attr_length (insn))
1554 {
1555@@ -7674,15 +7566,15 @@
1556 (if_then_else
1557 (match_operator 4 "arm_comparison_operator"
1558 [(plus:SI
1559- (match_operand:SI 2 "s_register_operand" "%l,0,*0,1,1,1")
1560- (match_operand:SI 3 "reg_or_int_operand" "lL,IJ,*r,lIJ,lIJ,lIJ"))
1561+ (match_operand:SI 2 "s_register_operand" "%0,l,*l,1,1,1")
1562+ (match_operand:SI 3 "reg_or_int_operand" "IJ,lL,*l,lIJ,lIJ,lIJ"))
1563 (const_int 0)])
1564 (label_ref (match_operand 5 "" ""))
1565 (pc)))
1566 (set
1567 (match_operand:SI 0 "thumb_cbrch_target_operand" "=l,l,*!h,*?h,*?m,*?m")
1568 (plus:SI (match_dup 2) (match_dup 3)))
1569- (clobber (match_scratch:SI 1 "=X,X,X,l,&l,&l"))]
1570+ (clobber (match_scratch:SI 1 "=X,X,l,l,&l,&l"))]
1571 "TARGET_THUMB1
1572 && (GET_CODE (operands[4]) == EQ
1573 || GET_CODE (operands[4]) == NE
1574@@ -7692,8 +7584,7 @@
1575 {
1576 rtx cond[3];
1577
1578-
1579- cond[0] = (which_alternative < 3) ? operands[0] : operands[1];
1580+ cond[0] = (which_alternative < 2) ? operands[0] : operands[1];
1581 cond[1] = operands[2];
1582 cond[2] = operands[3];
1583
1584@@ -7702,13 +7593,13 @@
1585 else
1586 output_asm_insn (\"add\\t%0, %1, %2\", cond);
1587
1588- if (which_alternative >= 3
1589+ if (which_alternative >= 2
1590 && which_alternative < 4)
1591 output_asm_insn (\"mov\\t%0, %1\", operands);
1592 else if (which_alternative >= 4)
1593 output_asm_insn (\"str\\t%1, %0\", operands);
1594
1595- switch (get_attr_length (insn) - ((which_alternative >= 3) ? 2 : 0))
1596+ switch (get_attr_length (insn) - ((which_alternative >= 2) ? 2 : 0))
1597 {
1598 case 4:
1599 return \"b%d4\\t%l5\";
1600@@ -7722,7 +7613,7 @@
1601 [(set (attr "far_jump")
1602 (if_then_else
1603 (ior (and (lt (symbol_ref ("which_alternative"))
1604- (const_int 3))
1605+ (const_int 2))
1606 (eq_attr "length" "8"))
1607 (eq_attr "length" "10"))
1608 (const_string "yes")
1609@@ -7730,7 +7621,7 @@
1610 (set (attr "length")
1611 (if_then_else
1612 (lt (symbol_ref ("which_alternative"))
1613- (const_int 3))
1614+ (const_int 2))
1615 (if_then_else
1616 (and (ge (minus (match_dup 5) (pc)) (const_int -250))
1617 (le (minus (match_dup 5) (pc)) (const_int 256)))
1618@@ -9483,41 +9374,117 @@
1619 (set_attr "length" "4,8")]
1620 )
1621
1622-(define_insn "*compare_scc"
1623+; A series of splitters for the compare_scc pattern below. Note that
1624+; order is important.
1625+(define_split
1626+ [(set (match_operand:SI 0 "s_register_operand" "")
1627+ (lt:SI (match_operand:SI 1 "s_register_operand" "")
1628+ (const_int 0)))
1629+ (clobber (reg:CC CC_REGNUM))]
1630+ "TARGET_32BIT && reload_completed"
1631+ [(set (match_dup 0) (lshiftrt:SI (match_dup 1) (const_int 31)))])
1632+
1633+(define_split
1634+ [(set (match_operand:SI 0 "s_register_operand" "")
1635+ (ge:SI (match_operand:SI 1 "s_register_operand" "")
1636+ (const_int 0)))
1637+ (clobber (reg:CC CC_REGNUM))]
1638+ "TARGET_32BIT && reload_completed"
1639+ [(set (match_dup 0) (not:SI (match_dup 1)))
1640+ (set (match_dup 0) (lshiftrt:SI (match_dup 0) (const_int 31)))])
1641+
1642+(define_split
1643+ [(set (match_operand:SI 0 "s_register_operand" "")
1644+ (eq:SI (match_operand:SI 1 "s_register_operand" "")
1645+ (const_int 0)))
1646+ (clobber (reg:CC CC_REGNUM))]
1647+ "TARGET_32BIT && reload_completed"
1648+ [(parallel
1649+ [(set (reg:CC CC_REGNUM)
1650+ (compare:CC (const_int 1) (match_dup 1)))
1651+ (set (match_dup 0)
1652+ (minus:SI (const_int 1) (match_dup 1)))])
1653+ (cond_exec (ltu:CC (reg:CC CC_REGNUM) (const_int 0))
1654+ (set (match_dup 0) (const_int 0)))])
1655+
1656+(define_split
1657+ [(set (match_operand:SI 0 "s_register_operand" "")
1658+ (ne:SI (match_operand:SI 1 "s_register_operand" "")
1659+ (match_operand:SI 2 "const_int_operand" "")))
1660+ (clobber (reg:CC CC_REGNUM))]
1661+ "TARGET_32BIT && reload_completed"
1662+ [(parallel
1663+ [(set (reg:CC CC_REGNUM)
1664+ (compare:CC (match_dup 1) (match_dup 2)))
1665+ (set (match_dup 0) (plus:SI (match_dup 1) (match_dup 3)))])
1666+ (cond_exec (ne:CC (reg:CC CC_REGNUM) (const_int 0))
1667+ (set (match_dup 0) (const_int 1)))]
1668+{
1669+ operands[3] = GEN_INT (-INTVAL (operands[2]));
1670+})
1671+
1672+(define_split
1673+ [(set (match_operand:SI 0 "s_register_operand" "")
1674+ (ne:SI (match_operand:SI 1 "s_register_operand" "")
1675+ (match_operand:SI 2 "arm_add_operand" "")))
1676+ (clobber (reg:CC CC_REGNUM))]
1677+ "TARGET_32BIT && reload_completed"
1678+ [(parallel
1679+ [(set (reg:CC_NOOV CC_REGNUM)
1680+ (compare:CC_NOOV (minus:SI (match_dup 1) (match_dup 2))
1681+ (const_int 0)))
1682+ (set (match_dup 0) (minus:SI (match_dup 1) (match_dup 2)))])
1683+ (cond_exec (ne:CC_NOOV (reg:CC_NOOV CC_REGNUM) (const_int 0))
1684+ (set (match_dup 0) (const_int 1)))])
1685+
1686+(define_insn_and_split "*compare_scc"
1687 [(set (match_operand:SI 0 "s_register_operand" "=r,r")
1688 (match_operator:SI 1 "arm_comparison_operator"
1689 [(match_operand:SI 2 "s_register_operand" "r,r")
1690 (match_operand:SI 3 "arm_add_operand" "rI,L")]))
1691 (clobber (reg:CC CC_REGNUM))]
1692- "TARGET_ARM"
1693- "*
1694- if (operands[3] == const0_rtx)
1695- {
1696- if (GET_CODE (operands[1]) == LT)
1697- return \"mov\\t%0, %2, lsr #31\";
1698-
1699- if (GET_CODE (operands[1]) == GE)
1700- return \"mvn\\t%0, %2\;mov\\t%0, %0, lsr #31\";
1701-
1702- if (GET_CODE (operands[1]) == EQ)
1703- return \"rsbs\\t%0, %2, #1\;movcc\\t%0, #0\";
1704- }
1705-
1706- if (GET_CODE (operands[1]) == NE)
1707- {
1708- if (which_alternative == 1)
1709- return \"adds\\t%0, %2, #%n3\;movne\\t%0, #1\";
1710- return \"subs\\t%0, %2, %3\;movne\\t%0, #1\";
1711- }
1712- if (which_alternative == 1)
1713- output_asm_insn (\"cmn\\t%2, #%n3\", operands);
1714- else
1715- output_asm_insn (\"cmp\\t%2, %3\", operands);
1716- return \"mov%D1\\t%0, #0\;mov%d1\\t%0, #1\";
1717- "
1718- [(set_attr "conds" "clob")
1719- (set_attr "length" "12")]
1720-)
1721+ "TARGET_32BIT"
1722+ "#"
1723+ "&& reload_completed"
1724+ [(set (reg:CC CC_REGNUM) (compare:CC (match_dup 2) (match_dup 3)))
1725+ (cond_exec (match_dup 4) (set (match_dup 0) (const_int 0)))
1726+ (cond_exec (match_dup 5) (set (match_dup 0) (const_int 1)))]
1727+{
1728+ rtx tmp1;
1729+ enum machine_mode mode = SELECT_CC_MODE (GET_CODE (operands[1]),
1730+ operands[2], operands[3]);
1731+ enum rtx_code rc = GET_CODE (operands[1]);
1732+
1733+ tmp1 = gen_rtx_REG (mode, CC_REGNUM);
1734+
1735+ operands[5] = gen_rtx_fmt_ee (rc, VOIDmode, tmp1, const0_rtx);
1736+ if (mode == CCFPmode || mode == CCFPEmode)
1737+ rc = reverse_condition_maybe_unordered (rc);
1738+ else
1739+ rc = reverse_condition (rc);
1740+ operands[4] = gen_rtx_fmt_ee (rc, VOIDmode, tmp1, const0_rtx);
1741+})
1742+
1743+;; Attempt to improve the sequence generated by the compare_scc splitters
1744+;; not to use conditional execution.
1745+(define_peephole2
1746+ [(set (reg:CC CC_REGNUM)
1747+ (compare:CC (match_operand:SI 1 "register_operand" "")
1748+ (match_operand:SI 2 "arm_rhs_operand" "")))
1749+ (cond_exec (ne (reg:CC CC_REGNUM) (const_int 0))
1750+ (set (match_operand:SI 0 "register_operand" "") (const_int 0)))
1751+ (cond_exec (eq (reg:CC CC_REGNUM) (const_int 0))
1752+ (set (match_dup 0) (const_int 1)))
1753+ (match_scratch:SI 3 "r")]
1754+ "TARGET_32BIT"
1755+ [(set (match_dup 3) (minus:SI (match_dup 1) (match_dup 2)))
1756+ (parallel
1757+ [(set (reg:CC CC_REGNUM)
1758+ (compare:CC (const_int 0) (match_dup 3)))
1759+ (set (match_dup 0) (minus:SI (const_int 0) (match_dup 3)))])
1760+ (set (match_dup 0)
1761+ (plus:SI (plus:SI (match_dup 0) (match_dup 3))
1762+ (geu:SI (reg:CC CC_REGNUM) (const_int 0))))])
1763
1764 (define_insn "*cond_move"
1765 [(set (match_operand:SI 0 "s_register_operand" "=r,r,r")
1766
1767=== modified file 'gcc/config/arm/predicates.md'
1768--- old/gcc/config/arm/predicates.md 2010-08-31 09:40:16 +0000
1769+++ new/gcc/config/arm/predicates.md 2010-08-31 10:00:27 +0000
1770@@ -115,6 +115,10 @@
1771 (and (match_code "const_int")
1772 (match_test "const_ok_for_arm (~INTVAL (op))")))
1773
1774+(define_predicate "const0_operand"
1775+ (and (match_code "const_int")
1776+ (match_test "INTVAL (op) == 0")))
1777+
1778 ;; Something valid on the RHS of an ARM data-processing instruction
1779 (define_predicate "arm_rhs_operand"
1780 (ior (match_operand 0 "s_register_operand")
1781@@ -233,6 +237,9 @@
1782 && (TARGET_FPA || TARGET_VFP)")
1783 (match_code "unordered,ordered,unlt,unle,unge,ungt"))))
1784
1785+(define_special_predicate "lt_ge_comparison_operator"
1786+ (match_code "lt,ge"))
1787+
1788 (define_special_predicate "minmax_operator"
1789 (and (match_code "smin,smax,umin,umax")
1790 (match_test "mode == GET_MODE (op)")))
1791
1792=== modified file 'gcc/config/arm/thumb2.md'
1793--- old/gcc/config/arm/thumb2.md 2010-08-31 09:40:16 +0000
1794+++ new/gcc/config/arm/thumb2.md 2010-08-31 10:00:27 +0000
1795@@ -599,42 +599,6 @@
1796 (set_attr "length" "6,10")]
1797 )
1798
1799-(define_insn "*thumb2_compare_scc"
1800- [(set (match_operand:SI 0 "s_register_operand" "=r,r")
1801- (match_operator:SI 1 "arm_comparison_operator"
1802- [(match_operand:SI 2 "s_register_operand" "r,r")
1803- (match_operand:SI 3 "arm_add_operand" "rI,L")]))
1804- (clobber (reg:CC CC_REGNUM))]
1805- "TARGET_THUMB2"
1806- "*
1807- if (operands[3] == const0_rtx)
1808- {
1809- if (GET_CODE (operands[1]) == LT)
1810- return \"lsr\\t%0, %2, #31\";
1811-
1812- if (GET_CODE (operands[1]) == GE)
1813- return \"mvn\\t%0, %2\;lsr\\t%0, %0, #31\";
1814-
1815- if (GET_CODE (operands[1]) == EQ)
1816- return \"rsbs\\t%0, %2, #1\;it\\tcc\;movcc\\t%0, #0\";
1817- }
1818-
1819- if (GET_CODE (operands[1]) == NE)
1820- {
1821- if (which_alternative == 1)
1822- return \"adds\\t%0, %2, #%n3\;it\\tne\;movne\\t%0, #1\";
1823- return \"subs\\t%0, %2, %3\;it\\tne\;movne\\t%0, #1\";
1824- }
1825- if (which_alternative == 1)
1826- output_asm_insn (\"cmn\\t%2, #%n3\", operands);
1827- else
1828- output_asm_insn (\"cmp\\t%2, %3\", operands);
1829- return \"ite\\t%D1\;mov%D1\\t%0, #0\;mov%d1\\t%0, #1\";
1830- "
1831- [(set_attr "conds" "clob")
1832- (set_attr "length" "14")]
1833-)
1834-
1835 (define_insn "*thumb2_cond_move"
1836 [(set (match_operand:SI 0 "s_register_operand" "=r,r,r")
1837 (if_then_else:SI (match_operator 3 "equality_operator"
1838
1839=== added file 'gcc/testsuite/gcc.c-torture/execute/pr40657.c'
1840--- old/gcc/testsuite/gcc.c-torture/execute/pr40657.c 1970-01-01 00:00:00 +0000
1841+++ new/gcc/testsuite/gcc.c-torture/execute/pr40657.c 2010-08-31 10:00:27 +0000
1842@@ -0,0 +1,23 @@
1843+/* Verify that that Thumb-1 epilogue size optimization does not clobber the
1844+ return value. */
1845+
1846+long long v = 0x123456789abc;
1847+
1848+__attribute__((noinline)) void bar (int *x)
1849+{
1850+ asm volatile ("" : "=m" (x) ::);
1851+}
1852+
1853+__attribute__((noinline)) long long foo()
1854+{
1855+ int x;
1856+ bar(&x);
1857+ return v;
1858+}
1859+
1860+int main ()
1861+{
1862+ if (foo () != v)
1863+ abort ();
1864+ exit (0);
1865+}
1866
1867=== added file 'gcc/testsuite/gcc.target/arm/pr40657-1.c'
1868--- old/gcc/testsuite/gcc.target/arm/pr40657-1.c 1970-01-01 00:00:00 +0000
1869+++ new/gcc/testsuite/gcc.target/arm/pr40657-1.c 2010-08-31 10:00:27 +0000
1870@@ -0,0 +1,13 @@
1871+/* { dg-options "-Os -march=armv5te -mthumb" } */
1872+/* { dg-require-effective-target arm_thumb1_ok } */
1873+/* { dg-final { scan-assembler "pop.*r1.*pc" } } */
1874+/* { dg-final { scan-assembler-not "sub\[\\t \]*sp,\[\\t \]*sp" } } */
1875+/* { dg-final { scan-assembler-not "add\[\\t \]*sp,\[\\t \]*sp" } } */
1876+
1877+extern void bar(int*);
1878+int foo()
1879+{
1880+ int x;
1881+ bar(&x);
1882+ return x;
1883+}
1884
1885=== added file 'gcc/testsuite/gcc.target/arm/pr40657-2.c'
1886--- old/gcc/testsuite/gcc.target/arm/pr40657-2.c 1970-01-01 00:00:00 +0000
1887+++ new/gcc/testsuite/gcc.target/arm/pr40657-2.c 2010-08-31 10:00:27 +0000
1888@@ -0,0 +1,20 @@
1889+/* { dg-options "-Os -march=armv4t -mthumb" } */
1890+/* { dg-require-effective-target arm_thumb1_ok } */
1891+/* { dg-final { scan-assembler-not "sub\[\\t \]*sp,\[\\t \]*sp" } } */
1892+/* { dg-final { scan-assembler-not "add\[\\t \]*sp,\[\\t \]*sp" } } */
1893+
1894+/* Here, we test that if there's a pop of r[4567] in the epilogue,
1895+ add sp,sp,#12 is removed and replaced by three additional pops
1896+ of lower-numbered regs. */
1897+
1898+extern void bar(int*);
1899+
1900+int t1, t2, t3, t4, t5;
1901+int foo()
1902+{
1903+ int i,j,k,x = 0;
1904+ for (i = 0; i < t1; i++)
1905+ for (j = 0; j < t2; j++)
1906+ bar(&x);
1907+ return x;
1908+}
1909
1910=== added file 'gcc/testsuite/gcc.target/arm/pr42172-1.c'
1911--- old/gcc/testsuite/gcc.target/arm/pr42172-1.c 1970-01-01 00:00:00 +0000
1912+++ new/gcc/testsuite/gcc.target/arm/pr42172-1.c 2010-08-31 10:00:27 +0000
1913@@ -0,0 +1,19 @@
1914+/* { dg-options "-O2" } */
1915+
1916+struct A {
1917+ unsigned int f1 : 3;
1918+ unsigned int f2 : 3;
1919+ unsigned int f3 : 1;
1920+ unsigned int f4 : 1;
1921+
1922+};
1923+
1924+void init_A (struct A *this)
1925+{
1926+ this->f1 = 0;
1927+ this->f2 = 1;
1928+ this->f3 = 0;
1929+ this->f4 = 0;
1930+}
1931+
1932+/* { dg-final { scan-assembler-times "ldr" 1 } } */
1933
1934=== added file 'gcc/testsuite/gcc.target/arm/pr42835.c'
1935--- old/gcc/testsuite/gcc.target/arm/pr42835.c 1970-01-01 00:00:00 +0000
1936+++ new/gcc/testsuite/gcc.target/arm/pr42835.c 2010-08-31 10:00:27 +0000
1937@@ -0,0 +1,12 @@
1938+/* { dg-do compile } */
1939+/* { dg-options "-mthumb -Os" } */
1940+/* { dg-require-effective-target arm_thumb2_ok } */
1941+
1942+int foo(int *p, int i)
1943+{
1944+ return( (i < 0 && *p == 1)
1945+ || (i > 0 && *p == 2) );
1946+}
1947+
1948+/* { dg-final { scan-assembler-times "movne\[\\t \]*r.,\[\\t \]*#" 1 } } */
1949+/* { dg-final { scan-assembler-times "moveq\[\\t \]*r.,\[\\t \]*#" 1 } } */
1950
1951=== added file 'gcc/testsuite/gcc.target/arm/thumb-cbranchqi.c'
1952--- old/gcc/testsuite/gcc.target/arm/thumb-cbranchqi.c 1970-01-01 00:00:00 +0000
1953+++ new/gcc/testsuite/gcc.target/arm/thumb-cbranchqi.c 2010-08-31 10:00:27 +0000
1954@@ -0,0 +1,15 @@
1955+/* { dg-do compile } */
1956+/* { dg-options "-mthumb -Os" } */
1957+/* { dg-require-effective-target arm_thumb1_ok } */
1958+
1959+int ldrb(unsigned char* p)
1960+{
1961+ if (p[8] <= 0x7F)
1962+ return 2;
1963+ else
1964+ return 5;
1965+}
1966+
1967+
1968+/* { dg-final { scan-assembler "127" } } */
1969+/* { dg-final { scan-assembler "bhi" } } */
1970
1971=== added file 'gcc/testsuite/gcc.target/arm/thumb-comparisons.c'
1972--- old/gcc/testsuite/gcc.target/arm/thumb-comparisons.c 1970-01-01 00:00:00 +0000
1973+++ new/gcc/testsuite/gcc.target/arm/thumb-comparisons.c 2010-08-31 10:00:27 +0000
1974@@ -0,0 +1,18 @@
1975+/* { dg-do compile } */
1976+/* { dg-options "-mthumb -Os" } */
1977+/* { dg-require-effective-target arm_thumb1_ok } */
1978+
1979+int foo(char ch)
1980+{
1981+ switch (ch) {
1982+ case '-':
1983+ case '?':
1984+ case '/':
1985+ case 99:
1986+ return 1;
1987+ default:
1988+ return 0;
1989+ }
1990+}
1991+
1992+/* { dg-final { scan-assembler-times "cmp\[\\t \]*r.,\[\\t \]*#63" 1 } } */
1993
1994=== added file 'gcc/testsuite/gcc.target/arm/thumb-stackframe.c'
1995--- old/gcc/testsuite/gcc.target/arm/thumb-stackframe.c 1970-01-01 00:00:00 +0000
1996+++ new/gcc/testsuite/gcc.target/arm/thumb-stackframe.c 2010-08-31 10:00:27 +0000
1997@@ -0,0 +1,13 @@
1998+/* { dg-do compile } */
1999+/* { dg-options "-mthumb -Os" } */
2000+/* { dg-require-effective-target arm_thumb1_ok } */
2001+
2002+extern void bar(int*);
2003+int foo()
2004+{
2005+ int x;
2006+ bar(&x);
2007+ return x;
2008+}
2009+
2010+/* { dg-final { scan-assembler-not "sub\[\\t \]*sp,\[\\t \]*sp," } } */
2011
diff --git a/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99380.patch b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99380.patch
new file mode 100644
index 0000000000..c66c11f82c
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99380.patch
@@ -0,0 +1,2997 @@
12010-08-31 Chung-Lin Tang <cltang@codesourcery.com>
2
3 Backport from mainline:
4
5 2010-04-14 Bernd Schmidt <bernds@codesourcery.com>
6
7 PR target/21803
8 gcc/
9 * ifcvt.c (cond_exec_process_if_block): Look for identical sequences
10 at the start and end of the then/else blocks, and omit them from the
11 conversion.
12 * cfgcleanup.c (flow_find_cross_jump): No longer static. Remove MODE
13 argument; all callers changed. Pass zero to old_insns_match_p instead.
14 (flow_find_head_matching_sequence): New function.
15 (old_insns_match_p): Check REG_EH_REGION notes for calls.
16 * basic-block.h (flow_find_cross_jump,
17 flow_find_head_matching_sequence): Declare functions.
18
19 gcc/testsuite/
20 * gcc.target/arm/pr42496.c: New test.
21
22 2010-04-22 Bernd Schmidt <bernds@codesourcery.com>
23
24 PR middle-end/29274
25 gcc/
26 * tree-pass.h (pass_optimize_widening_mul): Declare.
27 * tree-ssa-math-opts.c (execute_optimize_widening_mul,
28 gate_optimize_widening_mul): New static functions.
29 (pass_optimize_widening_mul): New.
30 * expr.c (expand_expr_real_2) <case WIDEN_MULT_EXPR>: New case.
31 <case MULT_EXPR>: Remove support for widening multiplies.
32 * tree.def (WIDEN_MULT_EXPR): Tweak comment.
33 * cfgexpand.c (expand_debug_expr) <case WIDEN_MULT_EXPR>: Use
34 simplify_gen_unary rather than directly building extensions.
35 * tree-cfg.c (verify_gimple_assign_binary): Add tests for
36 WIDEN_MULT_EXPR.
37 * expmed.c (expand_widening_mult): New function.
38 * passes.c (init_optimization_passes): Add pass_optimize_widening_mul.
39 * optabs.h (expand_widening_mult): Declare.
40
41 gcc/testsuite/
42 * gcc.target/i386/wmul-1.c: New test.
43 * gcc.target/i386/wmul-2.c: New test.
44 * gcc.target/bfin/wmul-1.c: New test.
45 * gcc.target/bfin/wmul-2.c: New test.
46 * gcc.target/arm/wmul-1.c: New test.
47 * gcc.target/arm/wmul-2.c: New test.
48
49 2010-04-24 Bernd Schmidt <bernds@codesourcery.com>
50
51 PR tree-optimization/41442
52 gcc/
53 * fold-const.c (merge_truthop_with_opposite_arm): New function.
54 (fold_binary_loc): Call it.
55
56 gcc/testsuite/
57 * gcc.target/i386/pr41442.c: New test.
58
59 2010-04-29 Bernd Schmidt <bernds@codesourcery.com>
60
61 PR target/42895
62 gcc/
63 * doc/tm.texi (ADJUST_REG_ALLOC_ORDER): Renamed from
64 ORDER_REGS_FOR_LOCAL_ALLOC. All instances of this macro changed.
65 (HONOR_REG_ALLOC_ORDER): Describe new macro.
66 * ira.c (setup_alloc_regs): Use ADJUST_REG_ALLOC_ORDER if defined.
67 * ira-color.c (assign_hard_reg): Take prologue/epilogue costs into
68 account only if HONOR_REG_ALLOC_ORDER is not defined.
69 * config/arm/arm.h (HONOR_REG_ALLOC_ORDER): Define.
70 * system.h (ORDER_REGS_FOR_LOCAL_ALLOC): Poison.
71
72 2010-05-04 Mikael Pettersson <mikpe@it.uu.se>
73
74 PR bootstrap/43964
75 gcc/
76 * ira-color.c (assign_hard_reg): Declare rclass and add_cost
77 only if HONOR_REG_ALLOC_ORDER is not defined.
78
79 2010-06-04 Bernd Schmidt <bernds@codesourcery.com>
80
81 PR rtl-optimization/39871
82 PR rtl-optimization/40615
83 PR rtl-optimization/42500
84 PR rtl-optimization/42502
85 gcc/
86 * ira.c (init_reg_equiv_memory_loc: New function.
87 (ira): Call it twice.
88 * reload.h (calculate_elim_costs_all_insns): Declare.
89 * ira-costs.c: Include "reload.h".
90 (regno_equiv_gains): New static variable.
91 (init_costs): Allocate it.
92 (finish_costs): Free it.
93 (ira_costs): Call calculate_elim_costs_all_insns.
94 (find_costs_and_classes): Take estimated elimination costs
95 into account.
96 (ira_adjust_equiv_reg_cost): New function.
97 * ira.h (ira_adjust_equiv_reg_cost): Declare it.
98 * reload1.c (init_eliminable_invariants, free_reg_equiv,
99 elimination_costs_in_insn, note_reg_elim_costly): New static functions.
100 (elim_bb): New static variable.
101 (reload): Move code out of here into init_eliminable_invariants and
102 free_reg_equiv. Call them.
103 (calculate_elim_costs_all_insns): New function.
104 (eliminate_regs_1): Declare. Add extra arg FOR_COSTS;
105 all callers changed. If FOR_COSTS is true, don't call alter_reg,
106 but call note_reg_elim_costly if we turned a valid memory address
107 into an invalid one.
108 * Makefile.in (ira-costs.o): Depend on reload.h.
109
110 gcc/testsuite/
111 * gcc.target/arm/eliminate.c: New test.
112
113 2010-06-09 Bernd Schmidt <bernds@codesourcery.com>
114
115 gcc/
116 * config/arm/arm.c (thumb2_reorg): New function.
117 (arm_reorg): Call it.
118 * config/arm/thumb2.md (define_peephole2 for flag clobbering
119 arithmetic operations): Delete.
120
121 2010-06-12 Bernd Schmidt <bernds@codesourcery.com>
122
123 gcc/
124 * config/arm/arm.c (thumb2_reorg): Fix errors in previous change.
125
126 2010-06-17 Bernd Schmidt <bernds@codesourcery.com>
127
128 PR rtl-optimization/39871
129 gcc/
130 * reload1.c (init_eliminable_invariants): For flag_pic, disable
131 equivalences only for constants that aren't LEGITIMATE_PIC_OPERAND_P.
132 (function_invariant_p): Rule out a plus of frame or arg pointer with
133 a SYMBOL_REF.
134 * ira.c (find_reg_equiv_invariant_const): Likewise.
135
136 2010-06-18 Eric Botcazou <ebotcazou@adacore.com>
137
138 PR rtl-optimization/40900
139 gcc/
140 * expr.c (expand_expr_real_1) <SSA_NAME>: Fix long line. Save the
141 original expression for later reuse.
142 <expand_decl_rtl>: Use promote_function_mode to compute the signedness
143 of the promoted RTL for a SSA_NAME on the LHS of a call statement.
144
145 2010-06-18 Bernd Schmidt <bernds@codesourcery.com>
146 gcc/testsuite/
147 * gcc.target/arm/pr40900.c: New test.
148
149 2010-06-30 Bernd Schmidt <bernds@codesourcery.com>
150
151 PR tree-optimization/39799
152 gcc/
153 * tree-inline.c (remap_ssa_name): Initialize variable only if
154 SSA_NAME_OCCURS_IN_ABNORMAL_PHI.
155 * tree-ssa.c (warn_uninit): Avoid emitting an unnecessary message.
156
157 gcc/testsuite/
158 * c-c++-common/uninit-17.c: New test.
159
160 2010-07-25 Eric Botcazou <ebotcazou@adacore.com>
161
162 PR target/44484
163 gcc/
164 * config/sparc/predicates.md (memory_reg_operand): Delete.
165 * config/sparc/sync.md (sync_compare_and_swap): Minor tweaks.
166 (*sync_compare_and_swap): Encode the address form in the pattern.
167 (*sync_compare_and_swapdi_v8plus): Likewise.
168
169 2010-08-29 Chung-Lin Tang <cltang@codesourcery.com>
170
171 Backport from mainline:
172
173=== modified file 'gcc/Makefile.in'
174--- old/gcc/Makefile.in 2010-08-10 13:31:21 +0000
175+++ new/gcc/Makefile.in 2010-09-01 13:29:58 +0000
176@@ -3193,7 +3193,7 @@
177 ira-costs.o: ira-costs.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
178 hard-reg-set.h $(RTL_H) $(EXPR_H) $(TM_P_H) $(FLAGS_H) $(BASIC_BLOCK_H) \
179 $(REGS_H) addresses.h insn-config.h $(RECOG_H) $(TOPLEV_H) $(TARGET_H) \
180- $(PARAMS_H) $(IRA_INT_H)
181+ $(PARAMS_H) $(IRA_INT_H) reload.h
182 ira-conflicts.o: ira-conflicts.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
183 $(TARGET_H) $(RTL_H) $(REGS_H) hard-reg-set.h $(FLAGS_H) \
184 insn-config.h $(RECOG_H) $(BASIC_BLOCK_H) $(TOPLEV_H) $(TM_P_H) $(PARAMS_H) \
185
186=== modified file 'gcc/basic-block.h'
187--- old/gcc/basic-block.h 2010-08-16 09:41:58 +0000
188+++ new/gcc/basic-block.h 2010-09-01 13:29:58 +0000
189@@ -894,6 +894,10 @@
190
191 /* In cfgcleanup.c. */
192 extern bool cleanup_cfg (int);
193+extern int flow_find_cross_jump (basic_block, basic_block, rtx *, rtx *);
194+extern int flow_find_head_matching_sequence (basic_block, basic_block,
195+ rtx *, rtx *, int);
196+
197 extern bool delete_unreachable_blocks (void);
198
199 extern bool mark_dfs_back_edges (void);
200
201=== modified file 'gcc/cfgcleanup.c'
202--- old/gcc/cfgcleanup.c 2010-05-17 16:26:22 +0000
203+++ new/gcc/cfgcleanup.c 2010-09-01 13:29:58 +0000
204@@ -68,7 +68,6 @@
205 static bool try_crossjump_to_edge (int, edge, edge);
206 static bool try_crossjump_bb (int, basic_block);
207 static bool outgoing_edges_match (int, basic_block, basic_block);
208-static int flow_find_cross_jump (int, basic_block, basic_block, rtx *, rtx *);
209 static bool old_insns_match_p (int, rtx, rtx);
210
211 static void merge_blocks_move_predecessor_nojumps (basic_block, basic_block);
212@@ -972,13 +971,27 @@
213 be filled that clobbers a parameter expected by the subroutine.
214
215 ??? We take the simple route for now and assume that if they're
216- equal, they were constructed identically. */
217-
218- if (CALL_P (i1)
219- && (!rtx_equal_p (CALL_INSN_FUNCTION_USAGE (i1),
220+ equal, they were constructed identically.
221+
222+ Also check for identical exception regions. */
223+
224+ if (CALL_P (i1))
225+ {
226+ /* Ensure the same EH region. */
227+ rtx n1 = find_reg_note (i1, REG_EH_REGION, 0);
228+ rtx n2 = find_reg_note (i2, REG_EH_REGION, 0);
229+
230+ if (!n1 && n2)
231+ return false;
232+
233+ if (n1 && (!n2 || XEXP (n1, 0) != XEXP (n2, 0)))
234+ return false;
235+
236+ if (!rtx_equal_p (CALL_INSN_FUNCTION_USAGE (i1),
237 CALL_INSN_FUNCTION_USAGE (i2))
238- || SIBLING_CALL_P (i1) != SIBLING_CALL_P (i2)))
239- return false;
240+ || SIBLING_CALL_P (i1) != SIBLING_CALL_P (i2))
241+ return false;
242+ }
243
244 #ifdef STACK_REGS
245 /* If cross_jump_death_matters is not 0, the insn's mode
246@@ -1017,6 +1030,29 @@
247 return false;
248 }
249
250+/* When comparing insns I1 and I2 in flow_find_cross_jump or
251+ flow_find_head_matching_sequence, ensure the notes match. */
252+
253+static void
254+merge_notes (rtx i1, rtx i2)
255+{
256+ /* If the merged insns have different REG_EQUAL notes, then
257+ remove them. */
258+ rtx equiv1 = find_reg_equal_equiv_note (i1);
259+ rtx equiv2 = find_reg_equal_equiv_note (i2);
260+
261+ if (equiv1 && !equiv2)
262+ remove_note (i1, equiv1);
263+ else if (!equiv1 && equiv2)
264+ remove_note (i2, equiv2);
265+ else if (equiv1 && equiv2
266+ && !rtx_equal_p (XEXP (equiv1, 0), XEXP (equiv2, 0)))
267+ {
268+ remove_note (i1, equiv1);
269+ remove_note (i2, equiv2);
270+ }
271+}
272+
273 /* Look through the insns at the end of BB1 and BB2 and find the longest
274 sequence that are equivalent. Store the first insns for that sequence
275 in *F1 and *F2 and return the sequence length.
276@@ -1024,9 +1060,8 @@
277 To simplify callers of this function, if the blocks match exactly,
278 store the head of the blocks in *F1 and *F2. */
279
280-static int
281-flow_find_cross_jump (int mode ATTRIBUTE_UNUSED, basic_block bb1,
282- basic_block bb2, rtx *f1, rtx *f2)
283+int
284+flow_find_cross_jump (basic_block bb1, basic_block bb2, rtx *f1, rtx *f2)
285 {
286 rtx i1, i2, last1, last2, afterlast1, afterlast2;
287 int ninsns = 0;
288@@ -1066,7 +1101,7 @@
289 if (i1 == BB_HEAD (bb1) || i2 == BB_HEAD (bb2))
290 break;
291
292- if (!old_insns_match_p (mode, i1, i2))
293+ if (!old_insns_match_p (0, i1, i2))
294 break;
295
296 merge_memattrs (i1, i2);
297@@ -1074,21 +1109,7 @@
298 /* Don't begin a cross-jump with a NOTE insn. */
299 if (INSN_P (i1))
300 {
301- /* If the merged insns have different REG_EQUAL notes, then
302- remove them. */
303- rtx equiv1 = find_reg_equal_equiv_note (i1);
304- rtx equiv2 = find_reg_equal_equiv_note (i2);
305-
306- if (equiv1 && !equiv2)
307- remove_note (i1, equiv1);
308- else if (!equiv1 && equiv2)
309- remove_note (i2, equiv2);
310- else if (equiv1 && equiv2
311- && !rtx_equal_p (XEXP (equiv1, 0), XEXP (equiv2, 0)))
312- {
313- remove_note (i1, equiv1);
314- remove_note (i2, equiv2);
315- }
316+ merge_notes (i1, i2);
317
318 afterlast1 = last1, afterlast2 = last2;
319 last1 = i1, last2 = i2;
320@@ -1130,6 +1151,97 @@
321 return ninsns;
322 }
323
324+/* Like flow_find_cross_jump, except start looking for a matching sequence from
325+ the head of the two blocks. Do not include jumps at the end.
326+ If STOP_AFTER is nonzero, stop after finding that many matching
327+ instructions. */
328+
329+int
330+flow_find_head_matching_sequence (basic_block bb1, basic_block bb2, rtx *f1,
331+ rtx *f2, int stop_after)
332+{
333+ rtx i1, i2, last1, last2, beforelast1, beforelast2;
334+ int ninsns = 0;
335+ edge e;
336+ edge_iterator ei;
337+ int nehedges1 = 0, nehedges2 = 0;
338+
339+ FOR_EACH_EDGE (e, ei, bb1->succs)
340+ if (e->flags & EDGE_EH)
341+ nehedges1++;
342+ FOR_EACH_EDGE (e, ei, bb2->succs)
343+ if (e->flags & EDGE_EH)
344+ nehedges2++;
345+
346+ i1 = BB_HEAD (bb1);
347+ i2 = BB_HEAD (bb2);
348+ last1 = beforelast1 = last2 = beforelast2 = NULL_RTX;
349+
350+ while (true)
351+ {
352+
353+ /* Ignore notes. */
354+ while (!NONDEBUG_INSN_P (i1) && i1 != BB_END (bb1))
355+ i1 = NEXT_INSN (i1);
356+
357+ while (!NONDEBUG_INSN_P (i2) && i2 != BB_END (bb2))
358+ i2 = NEXT_INSN (i2);
359+
360+ if (NOTE_P (i1) || NOTE_P (i2)
361+ || JUMP_P (i1) || JUMP_P (i2))
362+ break;
363+
364+ /* A sanity check to make sure we're not merging insns with different
365+ effects on EH. If only one of them ends a basic block, it shouldn't
366+ have an EH edge; if both end a basic block, there should be the same
367+ number of EH edges. */
368+ if ((i1 == BB_END (bb1) && i2 != BB_END (bb2)
369+ && nehedges1 > 0)
370+ || (i2 == BB_END (bb2) && i1 != BB_END (bb1)
371+ && nehedges2 > 0)
372+ || (i1 == BB_END (bb1) && i2 == BB_END (bb2)
373+ && nehedges1 != nehedges2))
374+ break;
375+
376+ if (!old_insns_match_p (0, i1, i2))
377+ break;
378+
379+ merge_memattrs (i1, i2);
380+
381+ /* Don't begin a cross-jump with a NOTE insn. */
382+ if (INSN_P (i1))
383+ {
384+ merge_notes (i1, i2);
385+
386+ beforelast1 = last1, beforelast2 = last2;
387+ last1 = i1, last2 = i2;
388+ ninsns++;
389+ }
390+
391+ if (i1 == BB_END (bb1) || i2 == BB_END (bb2)
392+ || (stop_after > 0 && ninsns == stop_after))
393+ break;
394+
395+ i1 = NEXT_INSN (i1);
396+ i2 = NEXT_INSN (i2);
397+ }
398+
399+#ifdef HAVE_cc0
400+ /* Don't allow a compare to be shared by cross-jumping unless the insn
401+ after the compare is also shared. */
402+ if (ninsns && reg_mentioned_p (cc0_rtx, last1) && sets_cc0_p (last1))
403+ last1 = beforelast1, last2 = beforelast2, ninsns--;
404+#endif
405+
406+ if (ninsns)
407+ {
408+ *f1 = last1;
409+ *f2 = last2;
410+ }
411+
412+ return ninsns;
413+}
414+
415 /* Return true iff outgoing edges of BB1 and BB2 match, together with
416 the branch instruction. This means that if we commonize the control
417 flow before end of the basic block, the semantic remains unchanged.
418@@ -1498,7 +1610,7 @@
419 return false;
420
421 /* ... and part the second. */
422- nmatch = flow_find_cross_jump (mode, src1, src2, &newpos1, &newpos2);
423+ nmatch = flow_find_cross_jump (src1, src2, &newpos1, &newpos2);
424
425 /* Don't proceed with the crossjump unless we found a sufficient number
426 of matching instructions or the 'from' block was totally matched
427
428=== modified file 'gcc/cfgexpand.c'
429--- old/gcc/cfgexpand.c 2010-05-14 17:11:03 +0000
430+++ new/gcc/cfgexpand.c 2010-09-01 13:29:58 +0000
431@@ -3026,14 +3026,15 @@
432 if (SCALAR_INT_MODE_P (GET_MODE (op0))
433 && SCALAR_INT_MODE_P (mode))
434 {
435+ enum machine_mode inner_mode = GET_MODE (op0);
436 if (TYPE_UNSIGNED (TREE_TYPE (TREE_OPERAND (exp, 0))))
437- op0 = gen_rtx_ZERO_EXTEND (mode, op0);
438+ op0 = simplify_gen_unary (ZERO_EXTEND, mode, op0, inner_mode);
439 else
440- op0 = gen_rtx_SIGN_EXTEND (mode, op0);
441+ op0 = simplify_gen_unary (SIGN_EXTEND, mode, op0, inner_mode);
442 if (TYPE_UNSIGNED (TREE_TYPE (TREE_OPERAND (exp, 1))))
443- op1 = gen_rtx_ZERO_EXTEND (mode, op1);
444+ op1 = simplify_gen_unary (ZERO_EXTEND, mode, op1, inner_mode);
445 else
446- op1 = gen_rtx_SIGN_EXTEND (mode, op1);
447+ op1 = simplify_gen_unary (SIGN_EXTEND, mode, op1, inner_mode);
448 return gen_rtx_MULT (mode, op0, op1);
449 }
450 return NULL;
451
452=== modified file 'gcc/config/arm/arm.c'
453--- old/gcc/config/arm/arm.c 2010-08-31 10:00:27 +0000
454+++ new/gcc/config/arm/arm.c 2010-09-01 13:29:58 +0000
455@@ -8116,8 +8116,6 @@
456 static bool
457 xscale_sched_adjust_cost (rtx insn, rtx link, rtx dep, int * cost)
458 {
459- rtx i_pat, d_pat;
460-
461 /* Some true dependencies can have a higher cost depending
462 on precisely how certain input operands are used. */
463 if (REG_NOTE_KIND (link) == 0
464@@ -12166,6 +12164,60 @@
465 return result;
466 }
467
468+/* Convert instructions to their cc-clobbering variant if possible, since
469+ that allows us to use smaller encodings. */
470+
471+static void
472+thumb2_reorg (void)
473+{
474+ basic_block bb;
475+ regset_head live;
476+
477+ INIT_REG_SET (&live);
478+
479+ /* We are freeing block_for_insn in the toplev to keep compatibility
480+ with old MDEP_REORGS that are not CFG based. Recompute it now. */
481+ compute_bb_for_insn ();
482+ df_analyze ();
483+
484+ FOR_EACH_BB (bb)
485+ {
486+ rtx insn;
487+ COPY_REG_SET (&live, DF_LR_OUT (bb));
488+ df_simulate_initialize_backwards (bb, &live);
489+ FOR_BB_INSNS_REVERSE (bb, insn)
490+ {
491+ if (NONJUMP_INSN_P (insn)
492+ && !REGNO_REG_SET_P (&live, CC_REGNUM))
493+ {
494+ rtx pat = PATTERN (insn);
495+ if (GET_CODE (pat) == SET
496+ && low_register_operand (XEXP (pat, 0), SImode)
497+ && thumb_16bit_operator (XEXP (pat, 1), SImode)
498+ && low_register_operand (XEXP (XEXP (pat, 1), 0), SImode)
499+ && low_register_operand (XEXP (XEXP (pat, 1), 1), SImode))
500+ {
501+ rtx dst = XEXP (pat, 0);
502+ rtx src = XEXP (pat, 1);
503+ rtx op0 = XEXP (src, 0);
504+ if (rtx_equal_p (dst, op0)
505+ || GET_CODE (src) == PLUS || GET_CODE (src) == MINUS)
506+ {
507+ rtx ccreg = gen_rtx_REG (CCmode, CC_REGNUM);
508+ rtx clobber = gen_rtx_CLOBBER (VOIDmode, ccreg);
509+ rtvec vec = gen_rtvec (2, pat, clobber);
510+ PATTERN (insn) = gen_rtx_PARALLEL (VOIDmode, vec);
511+ INSN_CODE (insn) = -1;
512+ }
513+ }
514+ }
515+ if (NONDEBUG_INSN_P (insn))
516+ df_simulate_one_insn_backwards (bb, insn, &live);
517+ }
518+ }
519+ CLEAR_REG_SET (&live);
520+}
521+
522 /* Gcc puts the pool in the wrong place for ARM, since we can only
523 load addresses a limited distance around the pc. We do some
524 special munging to move the constant pool values to the correct
525@@ -12177,6 +12229,9 @@
526 HOST_WIDE_INT address = 0;
527 Mfix * fix;
528
529+ if (TARGET_THUMB2)
530+ thumb2_reorg ();
531+
532 minipool_fix_head = minipool_fix_tail = NULL;
533
534 /* The first insn must always be a note, or the code below won't
535
536=== modified file 'gcc/config/arm/arm.h'
537--- old/gcc/config/arm/arm.h 2010-08-13 11:11:15 +0000
538+++ new/gcc/config/arm/arm.h 2010-09-01 13:29:58 +0000
539@@ -1133,7 +1133,11 @@
540 }
541
542 /* Use different register alloc ordering for Thumb. */
543-#define ORDER_REGS_FOR_LOCAL_ALLOC arm_order_regs_for_local_alloc ()
544+#define ADJUST_REG_ALLOC_ORDER arm_order_regs_for_local_alloc ()
545+
546+/* Tell IRA to use the order we define rather than messing it up with its
547+ own cost calculations. */
548+#define HONOR_REG_ALLOC_ORDER
549
550 /* Interrupt functions can only use registers that have already been
551 saved by the prologue, even if they would normally be
552
553=== modified file 'gcc/config/arm/arm.md'
554--- old/gcc/config/arm/arm.md 2010-08-31 10:00:27 +0000
555+++ new/gcc/config/arm/arm.md 2010-09-01 13:29:58 +0000
556@@ -4074,7 +4074,7 @@
557
558 (define_split
559 [(set (match_operand:SI 0 "register_operand" "")
560- (zero_extend:SI (match_operand:HI 1 "register_operand" "l,m")))]
561+ (zero_extend:SI (match_operand:HI 1 "register_operand" "")))]
562 "!TARGET_THUMB2 && !arm_arch6"
563 [(set (match_dup 0) (ashift:SI (match_dup 2) (const_int 16)))
564 (set (match_dup 0) (lshiftrt:SI (match_dup 0) (const_int 16)))]
565
566=== modified file 'gcc/config/arm/thumb2.md'
567--- old/gcc/config/arm/thumb2.md 2010-08-31 10:00:27 +0000
568+++ new/gcc/config/arm/thumb2.md 2010-09-01 13:29:58 +0000
569@@ -1046,29 +1046,6 @@
570 }"
571 )
572
573-;; Peepholes and insns for 16-bit flag clobbering instructions.
574-;; The conditional forms of these instructions do not clobber CC.
575-;; However by the time peepholes are run it is probably too late to do
576-;; anything useful with this information.
577-(define_peephole2
578- [(set (match_operand:SI 0 "low_register_operand" "")
579- (match_operator:SI 3 "thumb_16bit_operator"
580- [(match_operand:SI 1 "low_register_operand" "")
581- (match_operand:SI 2 "low_register_operand" "")]))]
582- "TARGET_THUMB2
583- && (rtx_equal_p(operands[0], operands[1])
584- || GET_CODE(operands[3]) == PLUS
585- || GET_CODE(operands[3]) == MINUS)
586- && peep2_regno_dead_p(0, CC_REGNUM)"
587- [(parallel
588- [(set (match_dup 0)
589- (match_op_dup 3
590- [(match_dup 1)
591- (match_dup 2)]))
592- (clobber (reg:CC CC_REGNUM))])]
593- ""
594-)
595-
596 (define_insn "*thumb2_alusi3_short"
597 [(set (match_operand:SI 0 "s_register_operand" "=l")
598 (match_operator:SI 3 "thumb_16bit_operator"
599
600=== modified file 'gcc/config/avr/avr.h'
601--- old/gcc/config/avr/avr.h 2010-01-11 23:12:14 +0000
602+++ new/gcc/config/avr/avr.h 2010-09-01 13:29:58 +0000
603@@ -232,7 +232,7 @@
604 32,33,34,35 \
605 }
606
607-#define ORDER_REGS_FOR_LOCAL_ALLOC order_regs_for_local_alloc ()
608+#define ADJUST_REG_ALLOC_ORDER order_regs_for_local_alloc ()
609
610
611 #define HARD_REGNO_NREGS(REGNO, MODE) ((GET_MODE_SIZE (MODE) + UNITS_PER_WORD - 1) / UNITS_PER_WORD)
612
613=== modified file 'gcc/config/i386/i386.h'
614--- old/gcc/config/i386/i386.h 2010-04-27 19:14:19 +0000
615+++ new/gcc/config/i386/i386.h 2010-09-01 13:29:58 +0000
616@@ -955,7 +955,7 @@
617 registers listed in CALL_USED_REGISTERS, keeping the others
618 available for storage of persistent values.
619
620- The ORDER_REGS_FOR_LOCAL_ALLOC actually overwrite the order,
621+ The ADJUST_REG_ALLOC_ORDER actually overwrite the order,
622 so this is just empty initializer for array. */
623
624 #define REG_ALLOC_ORDER \
625@@ -964,11 +964,11 @@
626 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, \
627 48, 49, 50, 51, 52 }
628
629-/* ORDER_REGS_FOR_LOCAL_ALLOC is a macro which permits reg_alloc_order
630+/* ADJUST_REG_ALLOC_ORDER is a macro which permits reg_alloc_order
631 to be rearranged based on a particular function. When using sse math,
632 we want to allocate SSE before x87 registers and vice versa. */
633
634-#define ORDER_REGS_FOR_LOCAL_ALLOC x86_order_regs_for_local_alloc ()
635+#define ADJUST_REG_ALLOC_ORDER x86_order_regs_for_local_alloc ()
636
637
638 #define OVERRIDE_ABI_FORMAT(FNDECL) ix86_call_abi_override (FNDECL)
639
640=== modified file 'gcc/config/mips/mips.h'
641--- old/gcc/config/mips/mips.h 2009-10-29 17:39:52 +0000
642+++ new/gcc/config/mips/mips.h 2010-09-01 13:29:58 +0000
643@@ -2059,12 +2059,12 @@
644 182,183,184,185,186,187 \
645 }
646
647-/* ORDER_REGS_FOR_LOCAL_ALLOC is a macro which permits reg_alloc_order
648+/* ADJUST_REG_ALLOC_ORDER is a macro which permits reg_alloc_order
649 to be rearranged based on a particular function. On the mips16, we
650 want to allocate $24 (T_REG) before other registers for
651 instructions for which it is possible. */
652
653-#define ORDER_REGS_FOR_LOCAL_ALLOC mips_order_regs_for_local_alloc ()
654+#define ADJUST_REG_ALLOC_ORDER mips_order_regs_for_local_alloc ()
655
656 /* True if VALUE is an unsigned 6-bit number. */
657
658
659=== modified file 'gcc/config/picochip/picochip.h'
660--- old/gcc/config/picochip/picochip.h 2009-11-04 11:06:36 +0000
661+++ new/gcc/config/picochip/picochip.h 2010-09-01 13:29:58 +0000
662@@ -261,7 +261,7 @@
663 /* We can dynamically change the REG_ALLOC_ORDER using the following hook.
664 It would be desirable to change it for leaf functions so we can put
665 r12 at the end of this list.*/
666-#define ORDER_REGS_FOR_LOCAL_ALLOC picochip_order_regs_for_local_alloc ()
667+#define ADJUST_REG_ALLOC_ORDER picochip_order_regs_for_local_alloc ()
668
669 /* How Values Fit in Registers */
670
671
672=== modified file 'gcc/config/sparc/predicates.md'
673--- old/gcc/config/sparc/predicates.md 2009-02-20 15:20:38 +0000
674+++ new/gcc/config/sparc/predicates.md 2010-09-01 13:29:58 +0000
675@@ -1,5 +1,5 @@
676 ;; Predicate definitions for SPARC.
677-;; Copyright (C) 2005, 2007, 2008 Free Software Foundation, Inc.
678+;; Copyright (C) 2005, 2007, 2008, 2010 Free Software Foundation, Inc.
679 ;;
680 ;; This file is part of GCC.
681 ;;
682@@ -473,9 +473,3 @@
683 ;; and (xor ... (not ...)) to (not (xor ...)). */
684 (define_predicate "cc_arith_not_operator"
685 (match_code "and,ior"))
686-
687-;; Return true if OP is memory operand with just [%reg] addressing mode.
688-(define_predicate "memory_reg_operand"
689- (and (match_code "mem")
690- (and (match_operand 0 "memory_operand")
691- (match_test "REG_P (XEXP (op, 0))"))))
692
693=== modified file 'gcc/config/sparc/sparc.h'
694--- old/gcc/config/sparc/sparc.h 2010-04-02 18:54:46 +0000
695+++ new/gcc/config/sparc/sparc.h 2010-09-01 13:29:58 +0000
696@@ -1181,7 +1181,7 @@
697 96, 97, 98, 99, /* %fcc0-3 */ \
698 100, 0, 14, 30, 31, 101} /* %icc, %g0, %o6, %i6, %i7, %sfp */
699
700-#define ORDER_REGS_FOR_LOCAL_ALLOC order_regs_for_local_alloc ()
701+#define ADJUST_REG_ALLOC_ORDER order_regs_for_local_alloc ()
702
703 extern char sparc_leaf_regs[];
704 #define LEAF_REGISTERS sparc_leaf_regs
705
706=== modified file 'gcc/config/sparc/sync.md'
707--- old/gcc/config/sparc/sync.md 2009-02-20 15:20:38 +0000
708+++ new/gcc/config/sparc/sync.md 2010-09-01 13:29:58 +0000
709@@ -1,5 +1,5 @@
710 ;; GCC machine description for SPARC synchronization instructions.
711-;; Copyright (C) 2005, 2007, 2009
712+;; Copyright (C) 2005, 2007, 2009, 2010
713 ;; Free Software Foundation, Inc.
714 ;;
715 ;; This file is part of GCC.
716@@ -62,7 +62,7 @@
717
718 (define_expand "sync_compare_and_swap<mode>"
719 [(parallel
720- [(set (match_operand:I48MODE 0 "register_operand" "=r")
721+ [(set (match_operand:I48MODE 0 "register_operand" "")
722 (match_operand:I48MODE 1 "memory_operand" ""))
723 (set (match_dup 1)
724 (unspec_volatile:I48MODE
725@@ -71,7 +71,7 @@
726 UNSPECV_CAS))])]
727 "TARGET_V9"
728 {
729- if (! REG_P (XEXP (operands[1], 0)))
730+ if (!REG_P (XEXP (operands[1], 0)))
731 {
732 rtx addr = force_reg (Pmode, XEXP (operands[1], 0));
733 operands[1] = replace_equiv_address (operands[1], addr);
734@@ -81,20 +81,20 @@
735
736 (define_insn "*sync_compare_and_swap<mode>"
737 [(set (match_operand:I48MODE 0 "register_operand" "=r")
738- (match_operand:I48MODE 1 "memory_reg_operand" "+m"))
739- (set (match_dup 1)
740+ (mem:I48MODE (match_operand 1 "register_operand" "r")))
741+ (set (mem:I48MODE (match_dup 1))
742 (unspec_volatile:I48MODE
743 [(match_operand:I48MODE 2 "register_operand" "r")
744 (match_operand:I48MODE 3 "register_operand" "0")]
745 UNSPECV_CAS))]
746 "TARGET_V9 && (<MODE>mode == SImode || TARGET_ARCH64)"
747- "cas<modesuffix>\t%1, %2, %0"
748+ "cas<modesuffix>\t[%1], %2, %0"
749 [(set_attr "type" "multi")])
750
751 (define_insn "*sync_compare_and_swapdi_v8plus"
752 [(set (match_operand:DI 0 "register_operand" "=h")
753- (match_operand:DI 1 "memory_reg_operand" "+m"))
754- (set (match_dup 1)
755+ (mem:DI (match_operand 1 "register_operand" "r")))
756+ (set (mem:DI (match_dup 1))
757 (unspec_volatile:DI
758 [(match_operand:DI 2 "register_operand" "h")
759 (match_operand:DI 3 "register_operand" "0")]
760@@ -109,7 +109,7 @@
761 output_asm_insn ("srl\t%L2, 0, %L2", operands);
762 output_asm_insn ("sllx\t%H2, 32, %H3", operands);
763 output_asm_insn ("or\t%L2, %H3, %H3", operands);
764- output_asm_insn ("casx\t%1, %H3, %L3", operands);
765+ output_asm_insn ("casx\t[%1], %H3, %L3", operands);
766 return "srlx\t%L3, 32, %H3";
767 }
768 [(set_attr "type" "multi")
769
770=== modified file 'gcc/config/xtensa/xtensa.h'
771--- old/gcc/config/xtensa/xtensa.h 2009-09-23 21:24:42 +0000
772+++ new/gcc/config/xtensa/xtensa.h 2010-09-01 13:29:58 +0000
773@@ -286,7 +286,7 @@
774 incoming argument in a2 is live throughout the function and
775 local-alloc decides to use a2, then the incoming argument must
776 either be spilled or copied to another register. To get around
777- this, we define ORDER_REGS_FOR_LOCAL_ALLOC to redefine
778+ this, we define ADJUST_REG_ALLOC_ORDER to redefine
779 reg_alloc_order for leaf functions such that lowest numbered
780 registers are used first with the exception that the incoming
781 argument registers are not used until after other register choices
782@@ -300,7 +300,7 @@
783 35, \
784 }
785
786-#define ORDER_REGS_FOR_LOCAL_ALLOC order_regs_for_local_alloc ()
787+#define ADJUST_REG_ALLOC_ORDER order_regs_for_local_alloc ()
788
789 /* For Xtensa, the only point of this is to prevent GCC from otherwise
790 giving preference to call-used registers. To minimize window
791
792=== modified file 'gcc/doc/tm.texi'
793--- old/gcc/doc/tm.texi 2010-08-13 11:53:46 +0000
794+++ new/gcc/doc/tm.texi 2010-09-01 13:29:58 +0000
795@@ -2093,7 +2093,7 @@
796 the highest numbered allocable register first.
797 @end defmac
798
799-@defmac ORDER_REGS_FOR_LOCAL_ALLOC
800+@defmac ADJUST_REG_ALLOC_ORDER
801 A C statement (sans semicolon) to choose the order in which to allocate
802 hard registers for pseudo-registers local to a basic block.
803
804@@ -2107,6 +2107,15 @@
805 On most machines, it is not necessary to define this macro.
806 @end defmac
807
808+@defmac HONOR_REG_ALLOC_ORDER
809+Normally, IRA tries to estimate the costs for saving a register in the
810+prologue and restoring it in the epilogue. This discourages it from
811+using call-saved registers. If a machine wants to ensure that IRA
812+allocates registers in the order given by REG_ALLOC_ORDER even if some
813+call-saved registers appear earlier than call-used ones, this macro
814+should be defined.
815+@end defmac
816+
817 @defmac IRA_HARD_REGNO_ADD_COST_MULTIPLIER (@var{regno})
818 In some case register allocation order is not enough for the
819 Integrated Register Allocator (@acronym{IRA}) to generate a good code.
820
821=== modified file 'gcc/expmed.c'
822--- old/gcc/expmed.c 2010-03-03 22:10:17 +0000
823+++ new/gcc/expmed.c 2010-09-01 13:29:58 +0000
824@@ -3253,6 +3253,55 @@
825 gcc_assert (op0);
826 return op0;
827 }
828+
829+/* Perform a widening multiplication and return an rtx for the result.
830+ MODE is mode of value; OP0 and OP1 are what to multiply (rtx's);
831+ TARGET is a suggestion for where to store the result (an rtx).
832+ THIS_OPTAB is the optab we should use, it must be either umul_widen_optab
833+ or smul_widen_optab.
834+
835+ We check specially for a constant integer as OP1, comparing the
836+ cost of a widening multiply against the cost of a sequence of shifts
837+ and adds. */
838+
839+rtx
840+expand_widening_mult (enum machine_mode mode, rtx op0, rtx op1, rtx target,
841+ int unsignedp, optab this_optab)
842+{
843+ bool speed = optimize_insn_for_speed_p ();
844+
845+ if (CONST_INT_P (op1)
846+ && (INTVAL (op1) >= 0
847+ || GET_MODE_BITSIZE (mode) <= HOST_BITS_PER_WIDE_INT))
848+ {
849+ HOST_WIDE_INT coeff = INTVAL (op1);
850+ int max_cost;
851+ enum mult_variant variant;
852+ struct algorithm algorithm;
853+
854+ /* Special case powers of two. */
855+ if (EXACT_POWER_OF_2_OR_ZERO_P (coeff))
856+ {
857+ op0 = convert_to_mode (mode, op0, this_optab == umul_widen_optab);
858+ return expand_shift (LSHIFT_EXPR, mode, op0,
859+ build_int_cst (NULL_TREE, floor_log2 (coeff)),
860+ target, unsignedp);
861+ }
862+
863+ /* Exclude cost of op0 from max_cost to match the cost
864+ calculation of the synth_mult. */
865+ max_cost = mul_widen_cost[speed][mode];
866+ if (choose_mult_variant (mode, coeff, &algorithm, &variant,
867+ max_cost))
868+ {
869+ op0 = convert_to_mode (mode, op0, this_optab == umul_widen_optab);
870+ return expand_mult_const (mode, op0, coeff, target,
871+ &algorithm, variant);
872+ }
873+ }
874+ return expand_binop (mode, this_optab, op0, op1, target,
875+ unsignedp, OPTAB_LIB_WIDEN);
876+}
877
878 /* Return the smallest n such that 2**n >= X. */
879
880
881=== modified file 'gcc/expr.c'
882--- old/gcc/expr.c 2010-08-20 16:21:01 +0000
883+++ new/gcc/expr.c 2010-09-01 13:29:58 +0000
884@@ -7224,7 +7224,6 @@
885 optab this_optab;
886 rtx subtarget, original_target;
887 int ignore;
888- tree subexp0, subexp1;
889 bool reduce_bit_field;
890 gimple subexp0_def, subexp1_def;
891 tree top0, top1;
892@@ -7679,13 +7678,7 @@
893
894 goto binop2;
895
896- case MULT_EXPR:
897- /* If this is a fixed-point operation, then we cannot use the code
898- below because "expand_mult" doesn't support sat/no-sat fixed-point
899- multiplications. */
900- if (ALL_FIXED_POINT_MODE_P (mode))
901- goto binop;
902-
903+ case WIDEN_MULT_EXPR:
904 /* If first operand is constant, swap them.
905 Thus the following special case checks need only
906 check the second operand. */
907@@ -7696,96 +7689,35 @@
908 treeop1 = t1;
909 }
910
911- /* Attempt to return something suitable for generating an
912- indexed address, for machines that support that. */
913-
914- if (modifier == EXPAND_SUM && mode == ptr_mode
915- && host_integerp (treeop1, 0))
916- {
917- tree exp1 = treeop1;
918-
919- op0 = expand_expr (treeop0, subtarget, VOIDmode,
920- EXPAND_SUM);
921-
922- if (!REG_P (op0))
923- op0 = force_operand (op0, NULL_RTX);
924- if (!REG_P (op0))
925- op0 = copy_to_mode_reg (mode, op0);
926-
927- return REDUCE_BIT_FIELD (gen_rtx_MULT (mode, op0,
928- gen_int_mode (tree_low_cst (exp1, 0),
929- TYPE_MODE (TREE_TYPE (exp1)))));
930- }
931-
932- if (modifier == EXPAND_STACK_PARM)
933- target = 0;
934-
935- /* Check for multiplying things that have been extended
936- from a narrower type. If this machine supports multiplying
937- in that narrower type with a result in the desired type,
938- do it that way, and avoid the explicit type-conversion. */
939-
940- subexp0 = treeop0;
941- subexp1 = treeop1;
942- subexp0_def = get_def_for_expr (subexp0, NOP_EXPR);
943- subexp1_def = get_def_for_expr (subexp1, NOP_EXPR);
944- top0 = top1 = NULL_TREE;
945-
946 /* First, check if we have a multiplication of one signed and one
947 unsigned operand. */
948- if (subexp0_def
949- && (top0 = gimple_assign_rhs1 (subexp0_def))
950- && subexp1_def
951- && (top1 = gimple_assign_rhs1 (subexp1_def))
952- && TREE_CODE (type) == INTEGER_TYPE
953- && (TYPE_PRECISION (TREE_TYPE (top0))
954- < TYPE_PRECISION (TREE_TYPE (subexp0)))
955- && (TYPE_PRECISION (TREE_TYPE (top0))
956- == TYPE_PRECISION (TREE_TYPE (top1)))
957- && (TYPE_UNSIGNED (TREE_TYPE (top0))
958- != TYPE_UNSIGNED (TREE_TYPE (top1))))
959+ if (TREE_CODE (treeop1) != INTEGER_CST
960+ && (TYPE_UNSIGNED (TREE_TYPE (treeop0))
961+ != TYPE_UNSIGNED (TREE_TYPE (treeop1))))
962 {
963- enum machine_mode innermode
964- = TYPE_MODE (TREE_TYPE (top0));
965+ enum machine_mode innermode = TYPE_MODE (TREE_TYPE (treeop0));
966 this_optab = usmul_widen_optab;
967- if (mode == GET_MODE_WIDER_MODE (innermode))
968+ if (mode == GET_MODE_2XWIDER_MODE (innermode))
969 {
970 if (optab_handler (this_optab, mode)->insn_code != CODE_FOR_nothing)
971 {
972- if (TYPE_UNSIGNED (TREE_TYPE (top0)))
973- expand_operands (top0, top1, NULL_RTX, &op0, &op1,
974+ if (TYPE_UNSIGNED (TREE_TYPE (treeop0)))
975+ expand_operands (treeop0, treeop1, subtarget, &op0, &op1,
976 EXPAND_NORMAL);
977 else
978- expand_operands (top0, top1, NULL_RTX, &op1, &op0,
979+ expand_operands (treeop0, treeop1, subtarget, &op1, &op0,
980 EXPAND_NORMAL);
981-
982 goto binop3;
983 }
984 }
985 }
986- /* Check for a multiplication with matching signedness. If
987- valid, TOP0 and TOP1 were set in the previous if
988- condition. */
989- else if (top0
990- && TREE_CODE (type) == INTEGER_TYPE
991- && (TYPE_PRECISION (TREE_TYPE (top0))
992- < TYPE_PRECISION (TREE_TYPE (subexp0)))
993- && ((TREE_CODE (subexp1) == INTEGER_CST
994- && int_fits_type_p (subexp1, TREE_TYPE (top0))
995- /* Don't use a widening multiply if a shift will do. */
996- && ((GET_MODE_BITSIZE (TYPE_MODE (TREE_TYPE (subexp1)))
997- > HOST_BITS_PER_WIDE_INT)
998- || exact_log2 (TREE_INT_CST_LOW (subexp1)) < 0))
999- ||
1000- (top1
1001- && (TYPE_PRECISION (TREE_TYPE (top1))
1002- == TYPE_PRECISION (TREE_TYPE (top0))
1003- /* If both operands are extended, they must either both
1004- be zero-extended or both be sign-extended. */
1005- && (TYPE_UNSIGNED (TREE_TYPE (top1))
1006- == TYPE_UNSIGNED (TREE_TYPE (top0)))))))
1007+ /* Check for a multiplication with matching signedness. */
1008+ else if ((TREE_CODE (treeop1) == INTEGER_CST
1009+ && int_fits_type_p (treeop1, TREE_TYPE (treeop0)))
1010+ || (TYPE_UNSIGNED (TREE_TYPE (treeop1))
1011+ == TYPE_UNSIGNED (TREE_TYPE (treeop0))))
1012 {
1013- tree op0type = TREE_TYPE (top0);
1014+ tree op0type = TREE_TYPE (treeop0);
1015 enum machine_mode innermode = TYPE_MODE (op0type);
1016 bool zextend_p = TYPE_UNSIGNED (op0type);
1017 optab other_optab = zextend_p ? smul_widen_optab : umul_widen_optab;
1018@@ -7795,24 +7727,22 @@
1019 {
1020 if (optab_handler (this_optab, mode)->insn_code != CODE_FOR_nothing)
1021 {
1022- if (TREE_CODE (subexp1) == INTEGER_CST)
1023- expand_operands (top0, subexp1, NULL_RTX, &op0, &op1,
1024- EXPAND_NORMAL);
1025- else
1026- expand_operands (top0, top1, NULL_RTX, &op0, &op1,
1027- EXPAND_NORMAL);
1028- goto binop3;
1029+ expand_operands (treeop0, treeop1, NULL_RTX, &op0, &op1,
1030+ EXPAND_NORMAL);
1031+ temp = expand_widening_mult (mode, op0, op1, target,
1032+ unsignedp, this_optab);
1033+ return REDUCE_BIT_FIELD (temp);
1034 }
1035- else if (optab_handler (other_optab, mode)->insn_code != CODE_FOR_nothing
1036- && innermode == word_mode)
1037+ if (optab_handler (other_optab, mode)->insn_code != CODE_FOR_nothing
1038+ && innermode == word_mode)
1039 {
1040 rtx htem, hipart;
1041- op0 = expand_normal (top0);
1042- if (TREE_CODE (subexp1) == INTEGER_CST)
1043+ op0 = expand_normal (treeop0);
1044+ if (TREE_CODE (treeop1) == INTEGER_CST)
1045 op1 = convert_modes (innermode, mode,
1046- expand_normal (subexp1), unsignedp);
1047+ expand_normal (treeop1), unsignedp);
1048 else
1049- op1 = expand_normal (top1);
1050+ op1 = expand_normal (treeop1);
1051 temp = expand_binop (mode, other_optab, op0, op1, target,
1052 unsignedp, OPTAB_LIB_WIDEN);
1053 hipart = gen_highpart (innermode, temp);
1054@@ -7825,7 +7755,53 @@
1055 }
1056 }
1057 }
1058- expand_operands (subexp0, subexp1, subtarget, &op0, &op1, EXPAND_NORMAL);
1059+ treeop0 = fold_build1 (CONVERT_EXPR, type, treeop0);
1060+ treeop1 = fold_build1 (CONVERT_EXPR, type, treeop1);
1061+ expand_operands (treeop0, treeop1, subtarget, &op0, &op1, EXPAND_NORMAL);
1062+ return REDUCE_BIT_FIELD (expand_mult (mode, op0, op1, target, unsignedp));
1063+
1064+ case MULT_EXPR:
1065+ /* If this is a fixed-point operation, then we cannot use the code
1066+ below because "expand_mult" doesn't support sat/no-sat fixed-point
1067+ multiplications. */
1068+ if (ALL_FIXED_POINT_MODE_P (mode))
1069+ goto binop;
1070+
1071+ /* If first operand is constant, swap them.
1072+ Thus the following special case checks need only
1073+ check the second operand. */
1074+ if (TREE_CODE (treeop0) == INTEGER_CST)
1075+ {
1076+ tree t1 = treeop0;
1077+ treeop0 = treeop1;
1078+ treeop1 = t1;
1079+ }
1080+
1081+ /* Attempt to return something suitable for generating an
1082+ indexed address, for machines that support that. */
1083+
1084+ if (modifier == EXPAND_SUM && mode == ptr_mode
1085+ && host_integerp (treeop1, 0))
1086+ {
1087+ tree exp1 = treeop1;
1088+
1089+ op0 = expand_expr (treeop0, subtarget, VOIDmode,
1090+ EXPAND_SUM);
1091+
1092+ if (!REG_P (op0))
1093+ op0 = force_operand (op0, NULL_RTX);
1094+ if (!REG_P (op0))
1095+ op0 = copy_to_mode_reg (mode, op0);
1096+
1097+ return REDUCE_BIT_FIELD (gen_rtx_MULT (mode, op0,
1098+ gen_int_mode (tree_low_cst (exp1, 0),
1099+ TYPE_MODE (TREE_TYPE (exp1)))));
1100+ }
1101+
1102+ if (modifier == EXPAND_STACK_PARM)
1103+ target = 0;
1104+
1105+ expand_operands (treeop0, treeop1, subtarget, &op0, &op1, EXPAND_NORMAL);
1106 return REDUCE_BIT_FIELD (expand_mult (mode, op0, op1, target, unsignedp));
1107
1108 case TRUNC_DIV_EXPR:
1109@@ -8311,6 +8287,8 @@
1110 location_t loc = EXPR_LOCATION (exp);
1111 struct separate_ops ops;
1112 tree treeop0, treeop1, treeop2;
1113+ tree ssa_name = NULL_TREE;
1114+ gimple g;
1115
1116 type = TREE_TYPE (exp);
1117 mode = TYPE_MODE (type);
1118@@ -8423,15 +8401,17 @@
1119 base variable. This unnecessarily allocates a pseudo, see how we can
1120 reuse it, if partition base vars have it set already. */
1121 if (!currently_expanding_to_rtl)
1122- return expand_expr_real_1 (SSA_NAME_VAR (exp), target, tmode, modifier, NULL);
1123- {
1124- gimple g = get_gimple_for_ssa_name (exp);
1125- if (g)
1126- return expand_expr_real (gimple_assign_rhs_to_tree (g), target,
1127- tmode, modifier, NULL);
1128- }
1129- decl_rtl = get_rtx_for_ssa_name (exp);
1130- exp = SSA_NAME_VAR (exp);
1131+ return expand_expr_real_1 (SSA_NAME_VAR (exp), target, tmode, modifier,
1132+ NULL);
1133+
1134+ g = get_gimple_for_ssa_name (exp);
1135+ if (g)
1136+ return expand_expr_real (gimple_assign_rhs_to_tree (g), target, tmode,
1137+ modifier, NULL);
1138+
1139+ ssa_name = exp;
1140+ decl_rtl = get_rtx_for_ssa_name (ssa_name);
1141+ exp = SSA_NAME_VAR (ssa_name);
1142 goto expand_decl_rtl;
1143
1144 case PARM_DECL:
1145@@ -8533,15 +8513,21 @@
1146 /* If the mode of DECL_RTL does not match that of the decl, it
1147 must be a promoted value. We return a SUBREG of the wanted mode,
1148 but mark it so that we know that it was already extended. */
1149-
1150- if (REG_P (decl_rtl)
1151- && GET_MODE (decl_rtl) != DECL_MODE (exp))
1152+ if (REG_P (decl_rtl) && GET_MODE (decl_rtl) != DECL_MODE (exp))
1153 {
1154 enum machine_mode pmode;
1155
1156- /* Get the signedness used for this variable. Ensure we get the
1157- same mode we got when the variable was declared. */
1158- pmode = promote_decl_mode (exp, &unsignedp);
1159+ /* Get the signedness to be used for this variable. Ensure we get
1160+ the same mode we got when the variable was declared. */
1161+ if (code == SSA_NAME
1162+ && (g = SSA_NAME_DEF_STMT (ssa_name))
1163+ && gimple_code (g) == GIMPLE_CALL)
1164+ pmode = promote_function_mode (type, mode, &unsignedp,
1165+ TREE_TYPE
1166+ (TREE_TYPE (gimple_call_fn (g))),
1167+ 2);
1168+ else
1169+ pmode = promote_decl_mode (exp, &unsignedp);
1170 gcc_assert (GET_MODE (decl_rtl) == pmode);
1171
1172 temp = gen_lowpart_SUBREG (mode, decl_rtl);
1173
1174=== modified file 'gcc/fold-const.c'
1175--- old/gcc/fold-const.c 2010-04-06 09:36:57 +0000
1176+++ new/gcc/fold-const.c 2010-09-01 13:29:58 +0000
1177@@ -5741,6 +5741,76 @@
1178 const_binop (BIT_XOR_EXPR, c, temp, 0));
1179 }
1180
1181+/* For an expression that has the form
1182+ (A && B) || ~B
1183+ or
1184+ (A || B) && ~B,
1185+ we can drop one of the inner expressions and simplify to
1186+ A || ~B
1187+ or
1188+ A && ~B
1189+ LOC is the location of the resulting expression. OP is the inner
1190+ logical operation; the left-hand side in the examples above, while CMPOP
1191+ is the right-hand side. RHS_ONLY is used to prevent us from accidentally
1192+ removing a condition that guards another, as in
1193+ (A != NULL && A->...) || A == NULL
1194+ which we must not transform. If RHS_ONLY is true, only eliminate the
1195+ right-most operand of the inner logical operation. */
1196+
1197+static tree
1198+merge_truthop_with_opposite_arm (location_t loc, tree op, tree cmpop,
1199+ bool rhs_only)
1200+{
1201+ tree type = TREE_TYPE (cmpop);
1202+ enum tree_code code = TREE_CODE (cmpop);
1203+ enum tree_code truthop_code = TREE_CODE (op);
1204+ tree lhs = TREE_OPERAND (op, 0);
1205+ tree rhs = TREE_OPERAND (op, 1);
1206+ tree orig_lhs = lhs, orig_rhs = rhs;
1207+ enum tree_code rhs_code = TREE_CODE (rhs);
1208+ enum tree_code lhs_code = TREE_CODE (lhs);
1209+ enum tree_code inv_code;
1210+
1211+ if (TREE_SIDE_EFFECTS (op) || TREE_SIDE_EFFECTS (cmpop))
1212+ return NULL_TREE;
1213+
1214+ if (TREE_CODE_CLASS (code) != tcc_comparison)
1215+ return NULL_TREE;
1216+
1217+ if (rhs_code == truthop_code)
1218+ {
1219+ tree newrhs = merge_truthop_with_opposite_arm (loc, rhs, cmpop, rhs_only);
1220+ if (newrhs != NULL_TREE)
1221+ {
1222+ rhs = newrhs;
1223+ rhs_code = TREE_CODE (rhs);
1224+ }
1225+ }
1226+ if (lhs_code == truthop_code && !rhs_only)
1227+ {
1228+ tree newlhs = merge_truthop_with_opposite_arm (loc, lhs, cmpop, false);
1229+ if (newlhs != NULL_TREE)
1230+ {
1231+ lhs = newlhs;
1232+ lhs_code = TREE_CODE (lhs);
1233+ }
1234+ }
1235+
1236+ inv_code = invert_tree_comparison (code, HONOR_NANS (TYPE_MODE (type)));
1237+ if (inv_code == rhs_code
1238+ && operand_equal_p (TREE_OPERAND (rhs, 0), TREE_OPERAND (cmpop, 0), 0)
1239+ && operand_equal_p (TREE_OPERAND (rhs, 1), TREE_OPERAND (cmpop, 1), 0))
1240+ return lhs;
1241+ if (!rhs_only && inv_code == lhs_code
1242+ && operand_equal_p (TREE_OPERAND (lhs, 0), TREE_OPERAND (cmpop, 0), 0)
1243+ && operand_equal_p (TREE_OPERAND (lhs, 1), TREE_OPERAND (cmpop, 1), 0))
1244+ return rhs;
1245+ if (rhs != orig_rhs || lhs != orig_lhs)
1246+ return fold_build2_loc (loc, truthop_code, TREE_TYPE (cmpop),
1247+ lhs, rhs);
1248+ return NULL_TREE;
1249+}
1250+
1251 /* Find ways of folding logical expressions of LHS and RHS:
1252 Try to merge two comparisons to the same innermost item.
1253 Look for range tests like "ch >= '0' && ch <= '9'".
1254@@ -12539,6 +12609,22 @@
1255 if (0 != (tem = fold_range_test (loc, code, type, op0, op1)))
1256 return tem;
1257
1258+ if ((code == TRUTH_ANDIF_EXPR && TREE_CODE (arg0) == TRUTH_ORIF_EXPR)
1259+ || (code == TRUTH_ORIF_EXPR && TREE_CODE (arg0) == TRUTH_ANDIF_EXPR))
1260+ {
1261+ tem = merge_truthop_with_opposite_arm (loc, arg0, arg1, true);
1262+ if (tem)
1263+ return fold_build2_loc (loc, code, type, tem, arg1);
1264+ }
1265+
1266+ if ((code == TRUTH_ANDIF_EXPR && TREE_CODE (arg1) == TRUTH_ORIF_EXPR)
1267+ || (code == TRUTH_ORIF_EXPR && TREE_CODE (arg1) == TRUTH_ANDIF_EXPR))
1268+ {
1269+ tem = merge_truthop_with_opposite_arm (loc, arg1, arg0, false);
1270+ if (tem)
1271+ return fold_build2_loc (loc, code, type, arg0, tem);
1272+ }
1273+
1274 /* Check for the possibility of merging component references. If our
1275 lhs is another similar operation, try to merge its rhs with our
1276 rhs. Then try to merge our lhs and rhs. */
1277
1278=== modified file 'gcc/ifcvt.c'
1279--- old/gcc/ifcvt.c 2010-04-02 18:54:46 +0000
1280+++ new/gcc/ifcvt.c 2010-09-01 13:29:58 +0000
1281@@ -385,7 +385,11 @@
1282 rtx false_expr; /* test for then block insns */
1283 rtx true_prob_val; /* probability of else block */
1284 rtx false_prob_val; /* probability of then block */
1285- int n_insns;
1286+ rtx then_last_head = NULL_RTX; /* Last match at the head of THEN */
1287+ rtx else_last_head = NULL_RTX; /* Last match at the head of ELSE */
1288+ rtx then_first_tail = NULL_RTX; /* First match at the tail of THEN */
1289+ rtx else_first_tail = NULL_RTX; /* First match at the tail of ELSE */
1290+ int then_n_insns, else_n_insns, n_insns;
1291 enum rtx_code false_code;
1292
1293 /* If test is comprised of && or || elements, and we've failed at handling
1294@@ -418,15 +422,78 @@
1295 number of insns and see if it is small enough to convert. */
1296 then_start = first_active_insn (then_bb);
1297 then_end = last_active_insn (then_bb, TRUE);
1298- n_insns = ce_info->num_then_insns = count_bb_insns (then_bb);
1299+ then_n_insns = ce_info->num_then_insns = count_bb_insns (then_bb);
1300+ n_insns = then_n_insns;
1301 max = MAX_CONDITIONAL_EXECUTE;
1302
1303 if (else_bb)
1304 {
1305+ int n_matching;
1306+
1307 max *= 2;
1308 else_start = first_active_insn (else_bb);
1309 else_end = last_active_insn (else_bb, TRUE);
1310- n_insns += ce_info->num_else_insns = count_bb_insns (else_bb);
1311+ else_n_insns = ce_info->num_else_insns = count_bb_insns (else_bb);
1312+ n_insns += else_n_insns;
1313+
1314+ /* Look for matching sequences at the head and tail of the two blocks,
1315+ and limit the range of insns to be converted if possible. */
1316+ n_matching = flow_find_cross_jump (then_bb, else_bb,
1317+ &then_first_tail, &else_first_tail);
1318+ if (then_first_tail == BB_HEAD (then_bb))
1319+ then_start = then_end = NULL_RTX;
1320+ if (else_first_tail == BB_HEAD (else_bb))
1321+ else_start = else_end = NULL_RTX;
1322+
1323+ if (n_matching > 0)
1324+ {
1325+ if (then_end)
1326+ then_end = prev_active_insn (then_first_tail);
1327+ if (else_end)
1328+ else_end = prev_active_insn (else_first_tail);
1329+ n_insns -= 2 * n_matching;
1330+ }
1331+
1332+ if (then_start && else_start)
1333+ {
1334+ int longest_match = MIN (then_n_insns - n_matching,
1335+ else_n_insns - n_matching);
1336+ n_matching
1337+ = flow_find_head_matching_sequence (then_bb, else_bb,
1338+ &then_last_head,
1339+ &else_last_head,
1340+ longest_match);
1341+
1342+ if (n_matching > 0)
1343+ {
1344+ rtx insn;
1345+
1346+ /* We won't pass the insns in the head sequence to
1347+ cond_exec_process_insns, so we need to test them here
1348+ to make sure that they don't clobber the condition. */
1349+ for (insn = BB_HEAD (then_bb);
1350+ insn != NEXT_INSN (then_last_head);
1351+ insn = NEXT_INSN (insn))
1352+ if (!LABEL_P (insn) && !NOTE_P (insn)
1353+ && !DEBUG_INSN_P (insn)
1354+ && modified_in_p (test_expr, insn))
1355+ return FALSE;
1356+ }
1357+
1358+ if (then_last_head == then_end)
1359+ then_start = then_end = NULL_RTX;
1360+ if (else_last_head == else_end)
1361+ else_start = else_end = NULL_RTX;
1362+
1363+ if (n_matching > 0)
1364+ {
1365+ if (then_start)
1366+ then_start = next_active_insn (then_last_head);
1367+ if (else_start)
1368+ else_start = next_active_insn (else_last_head);
1369+ n_insns -= 2 * n_matching;
1370+ }
1371+ }
1372 }
1373
1374 if (n_insns > max)
1375@@ -570,7 +637,21 @@
1376 fprintf (dump_file, "%d insn%s converted to conditional execution.\n",
1377 n_insns, (n_insns == 1) ? " was" : "s were");
1378
1379- /* Merge the blocks! */
1380+ /* Merge the blocks! If we had matching sequences, make sure to delete one
1381+ copy at the appropriate location first: delete the copy in the THEN branch
1382+ for a tail sequence so that the remaining one is executed last for both
1383+ branches, and delete the copy in the ELSE branch for a head sequence so
1384+ that the remaining one is executed first for both branches. */
1385+ if (then_first_tail)
1386+ {
1387+ rtx from = then_first_tail;
1388+ if (!INSN_P (from))
1389+ from = next_active_insn (from);
1390+ delete_insn_chain (from, BB_END (then_bb), false);
1391+ }
1392+ if (else_last_head)
1393+ delete_insn_chain (first_active_insn (else_bb), else_last_head, false);
1394+
1395 merge_if_block (ce_info);
1396 cond_exec_changed_p = TRUE;
1397 return TRUE;
1398
1399=== modified file 'gcc/ira-color.c'
1400--- old/gcc/ira-color.c 2010-04-02 18:54:46 +0000
1401+++ new/gcc/ira-color.c 2010-09-01 13:29:58 +0000
1402@@ -441,14 +441,18 @@
1403 {
1404 HARD_REG_SET conflicting_regs;
1405 int i, j, k, hard_regno, best_hard_regno, class_size;
1406- int cost, mem_cost, min_cost, full_cost, min_full_cost, add_cost;
1407+ int cost, mem_cost, min_cost, full_cost, min_full_cost;
1408 int *a_costs;
1409 int *conflict_costs;
1410- enum reg_class cover_class, rclass, conflict_cover_class;
1411+ enum reg_class cover_class, conflict_cover_class;
1412 enum machine_mode mode;
1413 ira_allocno_t a, conflict_allocno;
1414 ira_allocno_conflict_iterator aci;
1415 static int costs[FIRST_PSEUDO_REGISTER], full_costs[FIRST_PSEUDO_REGISTER];
1416+#ifndef HONOR_REG_ALLOC_ORDER
1417+ enum reg_class rclass;
1418+ int add_cost;
1419+#endif
1420 #ifdef STACK_REGS
1421 bool no_stack_reg_p;
1422 #endif
1423@@ -586,6 +590,7 @@
1424 continue;
1425 cost = costs[i];
1426 full_cost = full_costs[i];
1427+#ifndef HONOR_REG_ALLOC_ORDER
1428 if (! allocated_hardreg_p[hard_regno]
1429 && ira_hard_reg_not_in_set_p (hard_regno, mode, call_used_reg_set))
1430 /* We need to save/restore the hard register in
1431@@ -598,6 +603,7 @@
1432 cost += add_cost;
1433 full_cost += add_cost;
1434 }
1435+#endif
1436 if (min_cost > cost)
1437 min_cost = cost;
1438 if (min_full_cost > full_cost)
1439
1440=== modified file 'gcc/ira-costs.c'
1441--- old/gcc/ira-costs.c 2010-08-13 11:40:17 +0000
1442+++ new/gcc/ira-costs.c 2010-09-01 13:29:58 +0000
1443@@ -33,6 +33,7 @@
1444 #include "addresses.h"
1445 #include "insn-config.h"
1446 #include "recog.h"
1447+#include "reload.h"
1448 #include "toplev.h"
1449 #include "target.h"
1450 #include "params.h"
1451@@ -123,6 +124,10 @@
1452 /* Record cover register class of each allocno with the same regno. */
1453 static enum reg_class *regno_cover_class;
1454
1455+/* Record cost gains for not allocating a register with an invariant
1456+ equivalence. */
1457+static int *regno_equiv_gains;
1458+
1459 /* Execution frequency of the current insn. */
1460 static int frequency;
1461
1462@@ -1263,6 +1268,7 @@
1463 #ifdef FORBIDDEN_INC_DEC_CLASSES
1464 int inc_dec_p = false;
1465 #endif
1466+ int equiv_savings = regno_equiv_gains[i];
1467
1468 if (! allocno_p)
1469 {
1470@@ -1311,6 +1317,15 @@
1471 #endif
1472 }
1473 }
1474+ if (equiv_savings < 0)
1475+ temp_costs->mem_cost = -equiv_savings;
1476+ else if (equiv_savings > 0)
1477+ {
1478+ temp_costs->mem_cost = 0;
1479+ for (k = 0; k < cost_classes_num; k++)
1480+ temp_costs->cost[k] += equiv_savings;
1481+ }
1482+
1483 best_cost = (1 << (HOST_BITS_PER_INT - 2)) - 1;
1484 best = ALL_REGS;
1485 alt_class = NO_REGS;
1486@@ -1680,6 +1695,8 @@
1487 regno_cover_class
1488 = (enum reg_class *) ira_allocate (sizeof (enum reg_class)
1489 * max_reg_num ());
1490+ regno_equiv_gains = (int *) ira_allocate (sizeof (int) * max_reg_num ());
1491+ memset (regno_equiv_gains, 0, sizeof (int) * max_reg_num ());
1492 }
1493
1494 /* Common finalization function for ira_costs and
1495@@ -1687,6 +1704,7 @@
1496 static void
1497 finish_costs (void)
1498 {
1499+ ira_free (regno_equiv_gains);
1500 ira_free (regno_cover_class);
1501 ira_free (pref_buffer);
1502 ira_free (costs);
1503@@ -1702,6 +1720,7 @@
1504 init_costs ();
1505 total_allocno_costs = (struct costs *) ira_allocate (max_struct_costs_size
1506 * ira_allocnos_num);
1507+ calculate_elim_costs_all_insns ();
1508 find_costs_and_classes (ira_dump_file);
1509 setup_allocno_cover_class_and_costs ();
1510 finish_costs ();
1511@@ -1775,3 +1794,16 @@
1512 ALLOCNO_COVER_CLASS_COST (a) = min_cost;
1513 }
1514 }
1515+
1516+/* Add COST to the estimated gain for eliminating REGNO with its
1517+ equivalence. If COST is zero, record that no such elimination is
1518+ possible. */
1519+
1520+void
1521+ira_adjust_equiv_reg_cost (unsigned regno, int cost)
1522+{
1523+ if (cost == 0)
1524+ regno_equiv_gains[regno] = 0;
1525+ else
1526+ regno_equiv_gains[regno] += cost;
1527+}
1528
1529=== modified file 'gcc/ira.c'
1530--- old/gcc/ira.c 2010-08-12 13:51:16 +0000
1531+++ new/gcc/ira.c 2010-09-01 13:29:58 +0000
1532@@ -431,9 +431,6 @@
1533 HARD_REG_SET processed_hard_reg_set;
1534
1535 ira_assert (SHRT_MAX >= FIRST_PSEUDO_REGISTER);
1536- /* We could call ORDER_REGS_FOR_LOCAL_ALLOC here (it is usually
1537- putting hard callee-used hard registers first). But our
1538- heuristics work better. */
1539 for (cl = (int) N_REG_CLASSES - 1; cl >= 0; cl--)
1540 {
1541 COPY_HARD_REG_SET (temp_hard_regset, reg_class_contents[cl]);
1542@@ -490,6 +487,9 @@
1543 static void
1544 setup_alloc_regs (bool use_hard_frame_p)
1545 {
1546+#ifdef ADJUST_REG_ALLOC_ORDER
1547+ ADJUST_REG_ALLOC_ORDER;
1548+#endif
1549 COPY_HARD_REG_SET (no_unit_alloc_regs, fixed_reg_set);
1550 if (! use_hard_frame_p)
1551 SET_HARD_REG_BIT (no_unit_alloc_regs, HARD_FRAME_POINTER_REGNUM);
1552@@ -1533,12 +1533,8 @@
1553
1554 x = XEXP (note, 0);
1555
1556- if (! function_invariant_p (x)
1557- || ! flag_pic
1558- /* A function invariant is often CONSTANT_P but may
1559- include a register. We promise to only pass CONSTANT_P
1560- objects to LEGITIMATE_PIC_OPERAND_P. */
1561- || (CONSTANT_P (x) && LEGITIMATE_PIC_OPERAND_P (x)))
1562+ if (! CONSTANT_P (x)
1563+ || ! flag_pic || LEGITIMATE_PIC_OPERAND_P (x))
1564 {
1565 /* It can happen that a REG_EQUIV note contains a MEM
1566 that is not a legitimate memory operand. As later
1567@@ -3097,8 +3093,19 @@
1568 if (dump_file)
1569 print_insn_chains (dump_file);
1570 }
1571-
1572
1573+/* Allocate memory for reg_equiv_memory_loc. */
1574+static void
1575+init_reg_equiv_memory_loc (void)
1576+{
1577+ max_regno = max_reg_num ();
1578+
1579+ /* And the reg_equiv_memory_loc array. */
1580+ VEC_safe_grow (rtx, gc, reg_equiv_memory_loc_vec, max_regno);
1581+ memset (VEC_address (rtx, reg_equiv_memory_loc_vec), 0,
1582+ sizeof (rtx) * max_regno);
1583+ reg_equiv_memory_loc = VEC_address (rtx, reg_equiv_memory_loc_vec);
1584+}
1585
1586 /* All natural loops. */
1587 struct loops ira_loops;
1588@@ -3203,6 +3210,8 @@
1589 record_loop_exits ();
1590 current_loops = &ira_loops;
1591
1592+ init_reg_equiv_memory_loc ();
1593+
1594 if (internal_flag_ira_verbose > 0 && ira_dump_file != NULL)
1595 fprintf (ira_dump_file, "Building IRA IR\n");
1596 loops_p = ira_build (optimize
1597@@ -3263,13 +3272,8 @@
1598 #endif
1599
1600 delete_trivially_dead_insns (get_insns (), max_reg_num ());
1601- max_regno = max_reg_num ();
1602
1603- /* And the reg_equiv_memory_loc array. */
1604- VEC_safe_grow (rtx, gc, reg_equiv_memory_loc_vec, max_regno);
1605- memset (VEC_address (rtx, reg_equiv_memory_loc_vec), 0,
1606- sizeof (rtx) * max_regno);
1607- reg_equiv_memory_loc = VEC_address (rtx, reg_equiv_memory_loc_vec);
1608+ init_reg_equiv_memory_loc ();
1609
1610 if (max_regno != max_regno_before_ira)
1611 {
1612
1613=== modified file 'gcc/ira.h'
1614--- old/gcc/ira.h 2009-09-02 17:54:25 +0000
1615+++ new/gcc/ira.h 2010-09-01 13:29:58 +0000
1616@@ -87,3 +87,4 @@
1617 extern void ira_mark_new_stack_slot (rtx, int, unsigned int);
1618 extern bool ira_better_spill_reload_regno_p (int *, int *, rtx, rtx, rtx);
1619
1620+extern void ira_adjust_equiv_reg_cost (unsigned, int);
1621
1622=== modified file 'gcc/optabs.h'
1623--- old/gcc/optabs.h 2009-11-25 10:55:54 +0000
1624+++ new/gcc/optabs.h 2010-09-01 13:29:58 +0000
1625@@ -771,6 +771,9 @@
1626 /* Generate code for float to integral conversion. */
1627 extern bool expand_sfix_optab (rtx, rtx, convert_optab);
1628
1629+/* Generate code for a widening multiply. */
1630+extern rtx expand_widening_mult (enum machine_mode, rtx, rtx, rtx, int, optab);
1631+
1632 /* Return tree if target supports vector operations for COND_EXPR. */
1633 bool expand_vec_cond_expr_p (tree, enum machine_mode);
1634
1635
1636=== modified file 'gcc/passes.c'
1637--- old/gcc/passes.c 2010-05-19 12:14:37 +0000
1638+++ new/gcc/passes.c 2010-09-01 13:29:58 +0000
1639@@ -944,6 +944,7 @@
1640 NEXT_PASS (pass_forwprop);
1641 NEXT_PASS (pass_phiopt);
1642 NEXT_PASS (pass_fold_builtins);
1643+ NEXT_PASS (pass_optimize_widening_mul);
1644 NEXT_PASS (pass_tail_calls);
1645 NEXT_PASS (pass_rename_ssa_copies);
1646 NEXT_PASS (pass_uncprop);
1647
1648=== modified file 'gcc/reload.h'
1649--- old/gcc/reload.h 2010-04-02 18:54:46 +0000
1650+++ new/gcc/reload.h 2010-09-01 13:29:58 +0000
1651@@ -347,6 +347,10 @@
1652 extern rtx eliminate_regs (rtx, enum machine_mode, rtx);
1653 extern bool elimination_target_reg_p (rtx);
1654
1655+/* Called from the register allocator to estimate costs of eliminating
1656+ invariant registers. */
1657+extern void calculate_elim_costs_all_insns (void);
1658+
1659 /* Deallocate the reload register used by reload number R. */
1660 extern void deallocate_reload_reg (int r);
1661
1662
1663=== modified file 'gcc/reload1.c'
1664--- old/gcc/reload1.c 2010-03-02 18:56:50 +0000
1665+++ new/gcc/reload1.c 2010-09-01 13:29:58 +0000
1666@@ -413,6 +413,7 @@
1667 static void set_label_offsets (rtx, rtx, int);
1668 static void check_eliminable_occurrences (rtx);
1669 static void elimination_effects (rtx, enum machine_mode);
1670+static rtx eliminate_regs_1 (rtx, enum machine_mode, rtx, bool, bool);
1671 static int eliminate_regs_in_insn (rtx, int);
1672 static void update_eliminable_offsets (void);
1673 static void mark_not_eliminable (rtx, const_rtx, void *);
1674@@ -420,8 +421,11 @@
1675 static bool verify_initial_elim_offsets (void);
1676 static void set_initial_label_offsets (void);
1677 static void set_offsets_for_label (rtx);
1678+static void init_eliminable_invariants (rtx, bool);
1679 static void init_elim_table (void);
1680+static void free_reg_equiv (void);
1681 static void update_eliminables (HARD_REG_SET *);
1682+static void elimination_costs_in_insn (rtx);
1683 static void spill_hard_reg (unsigned int, int);
1684 static int finish_spills (int);
1685 static void scan_paradoxical_subregs (rtx);
1686@@ -698,6 +702,9 @@
1687
1688 /* Global variables used by reload and its subroutines. */
1689
1690+/* The current basic block while in calculate_elim_costs_all_insns. */
1691+static basic_block elim_bb;
1692+
1693 /* Set during calculate_needs if an insn needs register elimination. */
1694 static int something_needs_elimination;
1695 /* Set during calculate_needs if an insn needs an operand changed. */
1696@@ -776,22 +783,6 @@
1697 if (! call_used_regs[i] && ! fixed_regs[i] && ! LOCAL_REGNO (i))
1698 df_set_regs_ever_live (i, true);
1699
1700- /* Find all the pseudo registers that didn't get hard regs
1701- but do have known equivalent constants or memory slots.
1702- These include parameters (known equivalent to parameter slots)
1703- and cse'd or loop-moved constant memory addresses.
1704-
1705- Record constant equivalents in reg_equiv_constant
1706- so they will be substituted by find_reloads.
1707- Record memory equivalents in reg_mem_equiv so they can
1708- be substituted eventually by altering the REG-rtx's. */
1709-
1710- reg_equiv_constant = XCNEWVEC (rtx, max_regno);
1711- reg_equiv_invariant = XCNEWVEC (rtx, max_regno);
1712- reg_equiv_mem = XCNEWVEC (rtx, max_regno);
1713- reg_equiv_alt_mem_list = XCNEWVEC (rtx, max_regno);
1714- reg_equiv_address = XCNEWVEC (rtx, max_regno);
1715- reg_max_ref_width = XCNEWVEC (unsigned int, max_regno);
1716 reg_old_renumber = XCNEWVEC (short, max_regno);
1717 memcpy (reg_old_renumber, reg_renumber, max_regno * sizeof (short));
1718 pseudo_forbidden_regs = XNEWVEC (HARD_REG_SET, max_regno);
1719@@ -799,115 +790,9 @@
1720
1721 CLEAR_HARD_REG_SET (bad_spill_regs_global);
1722
1723- /* Look for REG_EQUIV notes; record what each pseudo is equivalent
1724- to. Also find all paradoxical subregs and find largest such for
1725- each pseudo. */
1726-
1727- num_eliminable_invariants = 0;
1728- for (insn = first; insn; insn = NEXT_INSN (insn))
1729- {
1730- rtx set = single_set (insn);
1731-
1732- /* We may introduce USEs that we want to remove at the end, so
1733- we'll mark them with QImode. Make sure there are no
1734- previously-marked insns left by say regmove. */
1735- if (INSN_P (insn) && GET_CODE (PATTERN (insn)) == USE
1736- && GET_MODE (insn) != VOIDmode)
1737- PUT_MODE (insn, VOIDmode);
1738-
1739- if (NONDEBUG_INSN_P (insn))
1740- scan_paradoxical_subregs (PATTERN (insn));
1741-
1742- if (set != 0 && REG_P (SET_DEST (set)))
1743- {
1744- rtx note = find_reg_note (insn, REG_EQUIV, NULL_RTX);
1745- rtx x;
1746-
1747- if (! note)
1748- continue;
1749-
1750- i = REGNO (SET_DEST (set));
1751- x = XEXP (note, 0);
1752-
1753- if (i <= LAST_VIRTUAL_REGISTER)
1754- continue;
1755-
1756- if (! function_invariant_p (x)
1757- || ! flag_pic
1758- /* A function invariant is often CONSTANT_P but may
1759- include a register. We promise to only pass
1760- CONSTANT_P objects to LEGITIMATE_PIC_OPERAND_P. */
1761- || (CONSTANT_P (x)
1762- && LEGITIMATE_PIC_OPERAND_P (x)))
1763- {
1764- /* It can happen that a REG_EQUIV note contains a MEM
1765- that is not a legitimate memory operand. As later
1766- stages of reload assume that all addresses found
1767- in the reg_equiv_* arrays were originally legitimate,
1768- we ignore such REG_EQUIV notes. */
1769- if (memory_operand (x, VOIDmode))
1770- {
1771- /* Always unshare the equivalence, so we can
1772- substitute into this insn without touching the
1773- equivalence. */
1774- reg_equiv_memory_loc[i] = copy_rtx (x);
1775- }
1776- else if (function_invariant_p (x))
1777- {
1778- if (GET_CODE (x) == PLUS)
1779- {
1780- /* This is PLUS of frame pointer and a constant,
1781- and might be shared. Unshare it. */
1782- reg_equiv_invariant[i] = copy_rtx (x);
1783- num_eliminable_invariants++;
1784- }
1785- else if (x == frame_pointer_rtx || x == arg_pointer_rtx)
1786- {
1787- reg_equiv_invariant[i] = x;
1788- num_eliminable_invariants++;
1789- }
1790- else if (LEGITIMATE_CONSTANT_P (x))
1791- reg_equiv_constant[i] = x;
1792- else
1793- {
1794- reg_equiv_memory_loc[i]
1795- = force_const_mem (GET_MODE (SET_DEST (set)), x);
1796- if (! reg_equiv_memory_loc[i])
1797- reg_equiv_init[i] = NULL_RTX;
1798- }
1799- }
1800- else
1801- {
1802- reg_equiv_init[i] = NULL_RTX;
1803- continue;
1804- }
1805- }
1806- else
1807- reg_equiv_init[i] = NULL_RTX;
1808- }
1809- }
1810-
1811- if (dump_file)
1812- for (i = FIRST_PSEUDO_REGISTER; i < max_regno; i++)
1813- if (reg_equiv_init[i])
1814- {
1815- fprintf (dump_file, "init_insns for %u: ", i);
1816- print_inline_rtx (dump_file, reg_equiv_init[i], 20);
1817- fprintf (dump_file, "\n");
1818- }
1819-
1820+ init_eliminable_invariants (first, true);
1821 init_elim_table ();
1822
1823- first_label_num = get_first_label_num ();
1824- num_labels = max_label_num () - first_label_num;
1825-
1826- /* Allocate the tables used to store offset information at labels. */
1827- /* We used to use alloca here, but the size of what it would try to
1828- allocate would occasionally cause it to exceed the stack limit and
1829- cause a core dump. */
1830- offsets_known_at = XNEWVEC (char, num_labels);
1831- offsets_at = (HOST_WIDE_INT (*)[NUM_ELIMINABLE_REGS]) xmalloc (num_labels * NUM_ELIMINABLE_REGS * sizeof (HOST_WIDE_INT));
1832-
1833 /* Alter each pseudo-reg rtx to contain its hard reg number. Assign
1834 stack slots to the pseudos that lack hard regs or equivalents.
1835 Do not touch virtual registers. */
1836@@ -1411,31 +1296,11 @@
1837 }
1838 }
1839
1840+ free (temp_pseudo_reg_arr);
1841+
1842 /* Indicate that we no longer have known memory locations or constants. */
1843- if (reg_equiv_constant)
1844- free (reg_equiv_constant);
1845- if (reg_equiv_invariant)
1846- free (reg_equiv_invariant);
1847- reg_equiv_constant = 0;
1848- reg_equiv_invariant = 0;
1849- VEC_free (rtx, gc, reg_equiv_memory_loc_vec);
1850- reg_equiv_memory_loc = 0;
1851-
1852- free (temp_pseudo_reg_arr);
1853-
1854- if (offsets_known_at)
1855- free (offsets_known_at);
1856- if (offsets_at)
1857- free (offsets_at);
1858-
1859- for (i = 0; i < FIRST_PSEUDO_REGISTER; i++)
1860- if (reg_equiv_alt_mem_list[i])
1861- free_EXPR_LIST_list (&reg_equiv_alt_mem_list[i]);
1862- free (reg_equiv_alt_mem_list);
1863-
1864- free (reg_equiv_mem);
1865+ free_reg_equiv ();
1866 reg_equiv_init = 0;
1867- free (reg_equiv_address);
1868 free (reg_max_ref_width);
1869 free (reg_old_renumber);
1870 free (pseudo_previous_regs);
1871@@ -1728,6 +1593,100 @@
1872 *pprev_reload = 0;
1873 }
1874
1875+/* This function is called from the register allocator to set up estimates
1876+ for the cost of eliminating pseudos which have REG_EQUIV equivalences to
1877+ an invariant. The structure is similar to calculate_needs_all_insns. */
1878+
1879+void
1880+calculate_elim_costs_all_insns (void)
1881+{
1882+ int *reg_equiv_init_cost;
1883+ basic_block bb;
1884+ int i;
1885+
1886+ reg_equiv_init_cost = XCNEWVEC (int, max_regno);
1887+ init_elim_table ();
1888+ init_eliminable_invariants (get_insns (), false);
1889+
1890+ set_initial_elim_offsets ();
1891+ set_initial_label_offsets ();
1892+
1893+ FOR_EACH_BB (bb)
1894+ {
1895+ rtx insn;
1896+ elim_bb = bb;
1897+
1898+ FOR_BB_INSNS (bb, insn)
1899+ {
1900+ /* If this is a label, a JUMP_INSN, or has REG_NOTES (which might
1901+ include REG_LABEL_OPERAND and REG_LABEL_TARGET), we need to see
1902+ what effects this has on the known offsets at labels. */
1903+
1904+ if (LABEL_P (insn) || JUMP_P (insn)
1905+ || (INSN_P (insn) && REG_NOTES (insn) != 0))
1906+ set_label_offsets (insn, insn, 0);
1907+
1908+ if (INSN_P (insn))
1909+ {
1910+ rtx set = single_set (insn);
1911+
1912+ /* Skip insns that only set an equivalence. */
1913+ if (set && REG_P (SET_DEST (set))
1914+ && reg_renumber[REGNO (SET_DEST (set))] < 0
1915+ && (reg_equiv_constant[REGNO (SET_DEST (set))]
1916+ || (reg_equiv_invariant[REGNO (SET_DEST (set))])))
1917+ {
1918+ unsigned regno = REGNO (SET_DEST (set));
1919+ rtx init = reg_equiv_init[regno];
1920+ if (init)
1921+ {
1922+ rtx t = eliminate_regs_1 (SET_SRC (set), VOIDmode, insn,
1923+ false, true);
1924+ int cost = rtx_cost (t, SET,
1925+ optimize_bb_for_speed_p (bb));
1926+ int freq = REG_FREQ_FROM_BB (bb);
1927+
1928+ reg_equiv_init_cost[regno] = cost * freq;
1929+ continue;
1930+ }
1931+ }
1932+ /* If needed, eliminate any eliminable registers. */
1933+ if (num_eliminable || num_eliminable_invariants)
1934+ elimination_costs_in_insn (insn);
1935+
1936+ if (num_eliminable)
1937+ update_eliminable_offsets ();
1938+ }
1939+ }
1940+ }
1941+ for (i = FIRST_PSEUDO_REGISTER; i < max_regno; i++)
1942+ {
1943+ if (reg_equiv_invariant[i])
1944+ {
1945+ if (reg_equiv_init[i])
1946+ {
1947+ int cost = reg_equiv_init_cost[i];
1948+ if (dump_file)
1949+ fprintf (dump_file,
1950+ "Reg %d has equivalence, initial gains %d\n", i, cost);
1951+ if (cost != 0)
1952+ ira_adjust_equiv_reg_cost (i, cost);
1953+ }
1954+ else
1955+ {
1956+ if (dump_file)
1957+ fprintf (dump_file,
1958+ "Reg %d had equivalence, but can't be eliminated\n",
1959+ i);
1960+ ira_adjust_equiv_reg_cost (i, 0);
1961+ }
1962+ }
1963+ }
1964+
1965+ free_reg_equiv ();
1966+ free (reg_equiv_init_cost);
1967+}
1968+
1969 /* Comparison function for qsort to decide which of two reloads
1970 should be handled first. *P1 and *P2 are the reload numbers. */
1971
1972@@ -2514,6 +2473,36 @@
1973 }
1974 }
1975
1976+/* Called through for_each_rtx, this function examines every reg that occurs
1977+ in PX and adjusts the costs for its elimination which are gathered by IRA.
1978+ DATA is the insn in which PX occurs. We do not recurse into MEM
1979+ expressions. */
1980+
1981+static int
1982+note_reg_elim_costly (rtx *px, void *data)
1983+{
1984+ rtx insn = (rtx)data;
1985+ rtx x = *px;
1986+
1987+ if (MEM_P (x))
1988+ return -1;
1989+
1990+ if (REG_P (x)
1991+ && REGNO (x) >= FIRST_PSEUDO_REGISTER
1992+ && reg_equiv_init[REGNO (x)]
1993+ && reg_equiv_invariant[REGNO (x)])
1994+ {
1995+ rtx t = reg_equiv_invariant[REGNO (x)];
1996+ rtx new_rtx = eliminate_regs_1 (t, Pmode, insn, true, true);
1997+ int cost = rtx_cost (new_rtx, SET, optimize_bb_for_speed_p (elim_bb));
1998+ int freq = REG_FREQ_FROM_BB (elim_bb);
1999+
2000+ if (cost != 0)
2001+ ira_adjust_equiv_reg_cost (REGNO (x), -cost * freq);
2002+ }
2003+ return 0;
2004+}
2005+
2006 /* Scan X and replace any eliminable registers (such as fp) with a
2007 replacement (such as sp), plus an offset.
2008
2009@@ -2533,6 +2522,9 @@
2010 This means, do not set ref_outside_mem even if the reference
2011 is outside of MEMs.
2012
2013+ If FOR_COSTS is true, we are being called before reload in order to
2014+ estimate the costs of keeping registers with an equivalence unallocated.
2015+
2016 REG_EQUIV_MEM and REG_EQUIV_ADDRESS contain address that have had
2017 replacements done assuming all offsets are at their initial values. If
2018 they are not, or if REG_EQUIV_ADDRESS is nonzero for a pseudo we
2019@@ -2541,7 +2533,7 @@
2020
2021 static rtx
2022 eliminate_regs_1 (rtx x, enum machine_mode mem_mode, rtx insn,
2023- bool may_use_invariant)
2024+ bool may_use_invariant, bool for_costs)
2025 {
2026 enum rtx_code code = GET_CODE (x);
2027 struct elim_table *ep;
2028@@ -2589,11 +2581,12 @@
2029 {
2030 if (may_use_invariant || (insn && DEBUG_INSN_P (insn)))
2031 return eliminate_regs_1 (copy_rtx (reg_equiv_invariant[regno]),
2032- mem_mode, insn, true);
2033+ mem_mode, insn, true, for_costs);
2034 /* There exists at least one use of REGNO that cannot be
2035 eliminated. Prevent the defining insn from being deleted. */
2036 reg_equiv_init[regno] = NULL_RTX;
2037- alter_reg (regno, -1, true);
2038+ if (!for_costs)
2039+ alter_reg (regno, -1, true);
2040 }
2041 return x;
2042
2043@@ -2654,8 +2647,10 @@
2044 operand of a load-address insn. */
2045
2046 {
2047- rtx new0 = eliminate_regs_1 (XEXP (x, 0), mem_mode, insn, true);
2048- rtx new1 = eliminate_regs_1 (XEXP (x, 1), mem_mode, insn, true);
2049+ rtx new0 = eliminate_regs_1 (XEXP (x, 0), mem_mode, insn, true,
2050+ for_costs);
2051+ rtx new1 = eliminate_regs_1 (XEXP (x, 1), mem_mode, insn, true,
2052+ for_costs);
2053
2054 if (reg_renumber && (new0 != XEXP (x, 0) || new1 != XEXP (x, 1)))
2055 {
2056@@ -2729,9 +2724,11 @@
2057 case GE: case GT: case GEU: case GTU:
2058 case LE: case LT: case LEU: case LTU:
2059 {
2060- rtx new0 = eliminate_regs_1 (XEXP (x, 0), mem_mode, insn, false);
2061+ rtx new0 = eliminate_regs_1 (XEXP (x, 0), mem_mode, insn, false,
2062+ for_costs);
2063 rtx new1 = XEXP (x, 1)
2064- ? eliminate_regs_1 (XEXP (x, 1), mem_mode, insn, false) : 0;
2065+ ? eliminate_regs_1 (XEXP (x, 1), mem_mode, insn, false,
2066+ for_costs) : 0;
2067
2068 if (new0 != XEXP (x, 0) || new1 != XEXP (x, 1))
2069 return gen_rtx_fmt_ee (code, GET_MODE (x), new0, new1);
2070@@ -2742,7 +2739,8 @@
2071 /* If we have something in XEXP (x, 0), the usual case, eliminate it. */
2072 if (XEXP (x, 0))
2073 {
2074- new_rtx = eliminate_regs_1 (XEXP (x, 0), mem_mode, insn, true);
2075+ new_rtx = eliminate_regs_1 (XEXP (x, 0), mem_mode, insn, true,
2076+ for_costs);
2077 if (new_rtx != XEXP (x, 0))
2078 {
2079 /* If this is a REG_DEAD note, it is not valid anymore.
2080@@ -2750,7 +2748,8 @@
2081 REG_DEAD note for the stack or frame pointer. */
2082 if (REG_NOTE_KIND (x) == REG_DEAD)
2083 return (XEXP (x, 1)
2084- ? eliminate_regs_1 (XEXP (x, 1), mem_mode, insn, true)
2085+ ? eliminate_regs_1 (XEXP (x, 1), mem_mode, insn, true,
2086+ for_costs)
2087 : NULL_RTX);
2088
2089 x = alloc_reg_note (REG_NOTE_KIND (x), new_rtx, XEXP (x, 1));
2090@@ -2765,7 +2764,8 @@
2091 strictly needed, but it simplifies the code. */
2092 if (XEXP (x, 1))
2093 {
2094- new_rtx = eliminate_regs_1 (XEXP (x, 1), mem_mode, insn, true);
2095+ new_rtx = eliminate_regs_1 (XEXP (x, 1), mem_mode, insn, true,
2096+ for_costs);
2097 if (new_rtx != XEXP (x, 1))
2098 return
2099 gen_rtx_fmt_ee (GET_CODE (x), GET_MODE (x), XEXP (x, 0), new_rtx);
2100@@ -2791,7 +2791,7 @@
2101 && XEXP (XEXP (x, 1), 0) == XEXP (x, 0))
2102 {
2103 rtx new_rtx = eliminate_regs_1 (XEXP (XEXP (x, 1), 1), mem_mode,
2104- insn, true);
2105+ insn, true, for_costs);
2106
2107 if (new_rtx != XEXP (XEXP (x, 1), 1))
2108 return gen_rtx_fmt_ee (code, GET_MODE (x), XEXP (x, 0),
2109@@ -2814,7 +2814,8 @@
2110 case POPCOUNT:
2111 case PARITY:
2112 case BSWAP:
2113- new_rtx = eliminate_regs_1 (XEXP (x, 0), mem_mode, insn, false);
2114+ new_rtx = eliminate_regs_1 (XEXP (x, 0), mem_mode, insn, false,
2115+ for_costs);
2116 if (new_rtx != XEXP (x, 0))
2117 return gen_rtx_fmt_e (code, GET_MODE (x), new_rtx);
2118 return x;
2119@@ -2835,7 +2836,8 @@
2120 new_rtx = SUBREG_REG (x);
2121 }
2122 else
2123- new_rtx = eliminate_regs_1 (SUBREG_REG (x), mem_mode, insn, false);
2124+ new_rtx = eliminate_regs_1 (SUBREG_REG (x), mem_mode, insn, false,
2125+ for_costs);
2126
2127 if (new_rtx != SUBREG_REG (x))
2128 {
2129@@ -2869,14 +2871,20 @@
2130 /* Our only special processing is to pass the mode of the MEM to our
2131 recursive call and copy the flags. While we are here, handle this
2132 case more efficiently. */
2133- return
2134- replace_equiv_address_nv (x,
2135- eliminate_regs_1 (XEXP (x, 0), GET_MODE (x),
2136- insn, true));
2137+
2138+ new_rtx = eliminate_regs_1 (XEXP (x, 0), GET_MODE (x), insn, true,
2139+ for_costs);
2140+ if (for_costs
2141+ && memory_address_p (GET_MODE (x), XEXP (x, 0))
2142+ && !memory_address_p (GET_MODE (x), new_rtx))
2143+ for_each_rtx (&XEXP (x, 0), note_reg_elim_costly, insn);
2144+
2145+ return replace_equiv_address_nv (x, new_rtx);
2146
2147 case USE:
2148 /* Handle insn_list USE that a call to a pure function may generate. */
2149- new_rtx = eliminate_regs_1 (XEXP (x, 0), VOIDmode, insn, false);
2150+ new_rtx = eliminate_regs_1 (XEXP (x, 0), VOIDmode, insn, false,
2151+ for_costs);
2152 if (new_rtx != XEXP (x, 0))
2153 return gen_rtx_USE (GET_MODE (x), new_rtx);
2154 return x;
2155@@ -2900,7 +2908,8 @@
2156 {
2157 if (*fmt == 'e')
2158 {
2159- new_rtx = eliminate_regs_1 (XEXP (x, i), mem_mode, insn, false);
2160+ new_rtx = eliminate_regs_1 (XEXP (x, i), mem_mode, insn, false,
2161+ for_costs);
2162 if (new_rtx != XEXP (x, i) && ! copied)
2163 {
2164 x = shallow_copy_rtx (x);
2165@@ -2913,7 +2922,8 @@
2166 int copied_vec = 0;
2167 for (j = 0; j < XVECLEN (x, i); j++)
2168 {
2169- new_rtx = eliminate_regs_1 (XVECEXP (x, i, j), mem_mode, insn, false);
2170+ new_rtx = eliminate_regs_1 (XVECEXP (x, i, j), mem_mode, insn, false,
2171+ for_costs);
2172 if (new_rtx != XVECEXP (x, i, j) && ! copied_vec)
2173 {
2174 rtvec new_v = gen_rtvec_v (XVECLEN (x, i),
2175@@ -2937,7 +2947,7 @@
2176 rtx
2177 eliminate_regs (rtx x, enum machine_mode mem_mode, rtx insn)
2178 {
2179- return eliminate_regs_1 (x, mem_mode, insn, false);
2180+ return eliminate_regs_1 (x, mem_mode, insn, false, false);
2181 }
2182
2183 /* Scan rtx X for modifications of elimination target registers. Update
2184@@ -3455,7 +3465,8 @@
2185 /* Companion to the above plus substitution, we can allow
2186 invariants as the source of a plain move. */
2187 is_set_src = false;
2188- if (old_set && recog_data.operand_loc[i] == &SET_SRC (old_set))
2189+ if (old_set
2190+ && recog_data.operand_loc[i] == &SET_SRC (old_set))
2191 is_set_src = true;
2192 in_plus = false;
2193 if (plus_src
2194@@ -3466,7 +3477,7 @@
2195 substed_operand[i]
2196 = eliminate_regs_1 (recog_data.operand[i], VOIDmode,
2197 replace ? insn : NULL_RTX,
2198- is_set_src || in_plus);
2199+ is_set_src || in_plus, false);
2200 if (substed_operand[i] != orig_operand[i])
2201 val = 1;
2202 /* Terminate the search in check_eliminable_occurrences at
2203@@ -3594,11 +3605,167 @@
2204 the pre-passes. */
2205 if (val && REG_NOTES (insn) != 0)
2206 REG_NOTES (insn)
2207- = eliminate_regs_1 (REG_NOTES (insn), VOIDmode, REG_NOTES (insn), true);
2208+ = eliminate_regs_1 (REG_NOTES (insn), VOIDmode, REG_NOTES (insn), true,
2209+ false);
2210
2211 return val;
2212 }
2213
2214+/* Like eliminate_regs_in_insn, but only estimate costs for the use of the
2215+ register allocator. INSN is the instruction we need to examine, we perform
2216+ eliminations in its operands and record cases where eliminating a reg with
2217+ an invariant equivalence would add extra cost. */
2218+
2219+static void
2220+elimination_costs_in_insn (rtx insn)
2221+{
2222+ int icode = recog_memoized (insn);
2223+ rtx old_body = PATTERN (insn);
2224+ int insn_is_asm = asm_noperands (old_body) >= 0;
2225+ rtx old_set = single_set (insn);
2226+ int i;
2227+ rtx orig_operand[MAX_RECOG_OPERANDS];
2228+ rtx orig_dup[MAX_RECOG_OPERANDS];
2229+ struct elim_table *ep;
2230+ rtx plus_src, plus_cst_src;
2231+ bool sets_reg_p;
2232+
2233+ if (! insn_is_asm && icode < 0)
2234+ {
2235+ gcc_assert (GET_CODE (PATTERN (insn)) == USE
2236+ || GET_CODE (PATTERN (insn)) == CLOBBER
2237+ || GET_CODE (PATTERN (insn)) == ADDR_VEC
2238+ || GET_CODE (PATTERN (insn)) == ADDR_DIFF_VEC
2239+ || GET_CODE (PATTERN (insn)) == ASM_INPUT
2240+ || DEBUG_INSN_P (insn));
2241+ return;
2242+ }
2243+
2244+ if (old_set != 0 && REG_P (SET_DEST (old_set))
2245+ && REGNO (SET_DEST (old_set)) < FIRST_PSEUDO_REGISTER)
2246+ {
2247+ /* Check for setting an eliminable register. */
2248+ for (ep = reg_eliminate; ep < &reg_eliminate[NUM_ELIMINABLE_REGS]; ep++)
2249+ if (ep->from_rtx == SET_DEST (old_set) && ep->can_eliminate)
2250+ return;
2251+ }
2252+
2253+ /* We allow one special case which happens to work on all machines we
2254+ currently support: a single set with the source or a REG_EQUAL
2255+ note being a PLUS of an eliminable register and a constant. */
2256+ plus_src = plus_cst_src = 0;
2257+ sets_reg_p = false;
2258+ if (old_set && REG_P (SET_DEST (old_set)))
2259+ {
2260+ sets_reg_p = true;
2261+ if (GET_CODE (SET_SRC (old_set)) == PLUS)
2262+ plus_src = SET_SRC (old_set);
2263+ /* First see if the source is of the form (plus (...) CST). */
2264+ if (plus_src
2265+ && CONST_INT_P (XEXP (plus_src, 1)))
2266+ plus_cst_src = plus_src;
2267+ else if (REG_P (SET_SRC (old_set))
2268+ || plus_src)
2269+ {
2270+ /* Otherwise, see if we have a REG_EQUAL note of the form
2271+ (plus (...) CST). */
2272+ rtx links;
2273+ for (links = REG_NOTES (insn); links; links = XEXP (links, 1))
2274+ {
2275+ if ((REG_NOTE_KIND (links) == REG_EQUAL
2276+ || REG_NOTE_KIND (links) == REG_EQUIV)
2277+ && GET_CODE (XEXP (links, 0)) == PLUS
2278+ && CONST_INT_P (XEXP (XEXP (links, 0), 1)))
2279+ {
2280+ plus_cst_src = XEXP (links, 0);
2281+ break;
2282+ }
2283+ }
2284+ }
2285+ }
2286+
2287+ /* Determine the effects of this insn on elimination offsets. */
2288+ elimination_effects (old_body, VOIDmode);
2289+
2290+ /* Eliminate all eliminable registers occurring in operands that
2291+ can be handled by reload. */
2292+ extract_insn (insn);
2293+ for (i = 0; i < recog_data.n_dups; i++)
2294+ orig_dup[i] = *recog_data.dup_loc[i];
2295+
2296+ for (i = 0; i < recog_data.n_operands; i++)
2297+ {
2298+ orig_operand[i] = recog_data.operand[i];
2299+
2300+ /* For an asm statement, every operand is eliminable. */
2301+ if (insn_is_asm || insn_data[icode].operand[i].eliminable)
2302+ {
2303+ bool is_set_src, in_plus;
2304+
2305+ /* Check for setting a register that we know about. */
2306+ if (recog_data.operand_type[i] != OP_IN
2307+ && REG_P (orig_operand[i]))
2308+ {
2309+ /* If we are assigning to a register that can be eliminated, it
2310+ must be as part of a PARALLEL, since the code above handles
2311+ single SETs. We must indicate that we can no longer
2312+ eliminate this reg. */
2313+ for (ep = reg_eliminate; ep < &reg_eliminate[NUM_ELIMINABLE_REGS];
2314+ ep++)
2315+ if (ep->from_rtx == orig_operand[i])
2316+ ep->can_eliminate = 0;
2317+ }
2318+
2319+ /* Companion to the above plus substitution, we can allow
2320+ invariants as the source of a plain move. */
2321+ is_set_src = false;
2322+ if (old_set && recog_data.operand_loc[i] == &SET_SRC (old_set))
2323+ is_set_src = true;
2324+ if (is_set_src && !sets_reg_p)
2325+ note_reg_elim_costly (&SET_SRC (old_set), insn);
2326+ in_plus = false;
2327+ if (plus_src && sets_reg_p
2328+ && (recog_data.operand_loc[i] == &XEXP (plus_src, 0)
2329+ || recog_data.operand_loc[i] == &XEXP (plus_src, 1)))
2330+ in_plus = true;
2331+
2332+ eliminate_regs_1 (recog_data.operand[i], VOIDmode,
2333+ NULL_RTX,
2334+ is_set_src || in_plus, true);
2335+ /* Terminate the search in check_eliminable_occurrences at
2336+ this point. */
2337+ *recog_data.operand_loc[i] = 0;
2338+ }
2339+ }
2340+
2341+ for (i = 0; i < recog_data.n_dups; i++)
2342+ *recog_data.dup_loc[i]
2343+ = *recog_data.operand_loc[(int) recog_data.dup_num[i]];
2344+
2345+ /* If any eliminable remain, they aren't eliminable anymore. */
2346+ check_eliminable_occurrences (old_body);
2347+
2348+ /* Restore the old body. */
2349+ for (i = 0; i < recog_data.n_operands; i++)
2350+ *recog_data.operand_loc[i] = orig_operand[i];
2351+ for (i = 0; i < recog_data.n_dups; i++)
2352+ *recog_data.dup_loc[i] = orig_dup[i];
2353+
2354+ /* Update all elimination pairs to reflect the status after the current
2355+ insn. The changes we make were determined by the earlier call to
2356+ elimination_effects. */
2357+
2358+ for (ep = reg_eliminate; ep < &reg_eliminate[NUM_ELIMINABLE_REGS]; ep++)
2359+ {
2360+ if (ep->previous_offset != ep->offset && ep->ref_outside_mem)
2361+ ep->can_eliminate = 0;
2362+
2363+ ep->ref_outside_mem = 0;
2364+ }
2365+
2366+ return;
2367+}
2368+
2369 /* Loop through all elimination pairs.
2370 Recalculate the number not at initial offset.
2371
2372@@ -3908,6 +4075,168 @@
2373 ep->to_rtx = gen_rtx_REG (Pmode, ep->to);
2374 }
2375 }
2376+
2377+/* Find all the pseudo registers that didn't get hard regs
2378+ but do have known equivalent constants or memory slots.
2379+ These include parameters (known equivalent to parameter slots)
2380+ and cse'd or loop-moved constant memory addresses.
2381+
2382+ Record constant equivalents in reg_equiv_constant
2383+ so they will be substituted by find_reloads.
2384+ Record memory equivalents in reg_mem_equiv so they can
2385+ be substituted eventually by altering the REG-rtx's. */
2386+
2387+static void
2388+init_eliminable_invariants (rtx first, bool do_subregs)
2389+{
2390+ int i;
2391+ rtx insn;
2392+
2393+ reg_equiv_constant = XCNEWVEC (rtx, max_regno);
2394+ reg_equiv_invariant = XCNEWVEC (rtx, max_regno);
2395+ reg_equiv_mem = XCNEWVEC (rtx, max_regno);
2396+ reg_equiv_alt_mem_list = XCNEWVEC (rtx, max_regno);
2397+ reg_equiv_address = XCNEWVEC (rtx, max_regno);
2398+ if (do_subregs)
2399+ reg_max_ref_width = XCNEWVEC (unsigned int, max_regno);
2400+ else
2401+ reg_max_ref_width = NULL;
2402+
2403+ num_eliminable_invariants = 0;
2404+
2405+ first_label_num = get_first_label_num ();
2406+ num_labels = max_label_num () - first_label_num;
2407+
2408+ /* Allocate the tables used to store offset information at labels. */
2409+ offsets_known_at = XNEWVEC (char, num_labels);
2410+ offsets_at = (HOST_WIDE_INT (*)[NUM_ELIMINABLE_REGS]) xmalloc (num_labels * NUM_ELIMINABLE_REGS * sizeof (HOST_WIDE_INT));
2411+
2412+/* Look for REG_EQUIV notes; record what each pseudo is equivalent
2413+ to. If DO_SUBREGS is true, also find all paradoxical subregs and
2414+ find largest such for each pseudo. FIRST is the head of the insn
2415+ list. */
2416+
2417+ for (insn = first; insn; insn = NEXT_INSN (insn))
2418+ {
2419+ rtx set = single_set (insn);
2420+
2421+ /* We may introduce USEs that we want to remove at the end, so
2422+ we'll mark them with QImode. Make sure there are no
2423+ previously-marked insns left by say regmove. */
2424+ if (INSN_P (insn) && GET_CODE (PATTERN (insn)) == USE
2425+ && GET_MODE (insn) != VOIDmode)
2426+ PUT_MODE (insn, VOIDmode);
2427+
2428+ if (do_subregs && NONDEBUG_INSN_P (insn))
2429+ scan_paradoxical_subregs (PATTERN (insn));
2430+
2431+ if (set != 0 && REG_P (SET_DEST (set)))
2432+ {
2433+ rtx note = find_reg_note (insn, REG_EQUIV, NULL_RTX);
2434+ rtx x;
2435+
2436+ if (! note)
2437+ continue;
2438+
2439+ i = REGNO (SET_DEST (set));
2440+ x = XEXP (note, 0);
2441+
2442+ if (i <= LAST_VIRTUAL_REGISTER)
2443+ continue;
2444+
2445+ /* If flag_pic and we have constant, verify it's legitimate. */
2446+ if (!CONSTANT_P (x)
2447+ || !flag_pic || LEGITIMATE_PIC_OPERAND_P (x))
2448+ {
2449+ /* It can happen that a REG_EQUIV note contains a MEM
2450+ that is not a legitimate memory operand. As later
2451+ stages of reload assume that all addresses found
2452+ in the reg_equiv_* arrays were originally legitimate,
2453+ we ignore such REG_EQUIV notes. */
2454+ if (memory_operand (x, VOIDmode))
2455+ {
2456+ /* Always unshare the equivalence, so we can
2457+ substitute into this insn without touching the
2458+ equivalence. */
2459+ reg_equiv_memory_loc[i] = copy_rtx (x);
2460+ }
2461+ else if (function_invariant_p (x))
2462+ {
2463+ if (GET_CODE (x) == PLUS)
2464+ {
2465+ /* This is PLUS of frame pointer and a constant,
2466+ and might be shared. Unshare it. */
2467+ reg_equiv_invariant[i] = copy_rtx (x);
2468+ num_eliminable_invariants++;
2469+ }
2470+ else if (x == frame_pointer_rtx || x == arg_pointer_rtx)
2471+ {
2472+ reg_equiv_invariant[i] = x;
2473+ num_eliminable_invariants++;
2474+ }
2475+ else if (LEGITIMATE_CONSTANT_P (x))
2476+ reg_equiv_constant[i] = x;
2477+ else
2478+ {
2479+ reg_equiv_memory_loc[i]
2480+ = force_const_mem (GET_MODE (SET_DEST (set)), x);
2481+ if (! reg_equiv_memory_loc[i])
2482+ reg_equiv_init[i] = NULL_RTX;
2483+ }
2484+ }
2485+ else
2486+ {
2487+ reg_equiv_init[i] = NULL_RTX;
2488+ continue;
2489+ }
2490+ }
2491+ else
2492+ reg_equiv_init[i] = NULL_RTX;
2493+ }
2494+ }
2495+
2496+ if (dump_file)
2497+ for (i = FIRST_PSEUDO_REGISTER; i < max_regno; i++)
2498+ if (reg_equiv_init[i])
2499+ {
2500+ fprintf (dump_file, "init_insns for %u: ", i);
2501+ print_inline_rtx (dump_file, reg_equiv_init[i], 20);
2502+ fprintf (dump_file, "\n");
2503+ }
2504+}
2505+
2506+/* Indicate that we no longer have known memory locations or constants.
2507+ Free all data involved in tracking these. */
2508+
2509+static void
2510+free_reg_equiv (void)
2511+{
2512+ int i;
2513+
2514+ if (reg_equiv_constant)
2515+ free (reg_equiv_constant);
2516+ if (reg_equiv_invariant)
2517+ free (reg_equiv_invariant);
2518+ reg_equiv_constant = 0;
2519+ reg_equiv_invariant = 0;
2520+ VEC_free (rtx, gc, reg_equiv_memory_loc_vec);
2521+ reg_equiv_memory_loc = 0;
2522+
2523+ if (offsets_known_at)
2524+ free (offsets_known_at);
2525+ if (offsets_at)
2526+ free (offsets_at);
2527+ offsets_at = 0;
2528+ offsets_known_at = 0;
2529+
2530+ for (i = 0; i < FIRST_PSEUDO_REGISTER; i++)
2531+ if (reg_equiv_alt_mem_list[i])
2532+ free_EXPR_LIST_list (&reg_equiv_alt_mem_list[i]);
2533+ free (reg_equiv_alt_mem_list);
2534+
2535+ free (reg_equiv_mem);
2536+ free (reg_equiv_address);
2537+}
2538
2539 /* Kick all pseudos out of hard register REGNO.
2540
2541@@ -5664,7 +5993,7 @@
2542 return 1;
2543 if (GET_CODE (x) == PLUS
2544 && (XEXP (x, 0) == frame_pointer_rtx || XEXP (x, 0) == arg_pointer_rtx)
2545- && CONSTANT_P (XEXP (x, 1)))
2546+ && GET_CODE (XEXP (x, 1)) == CONST_INT)
2547 return 1;
2548 return 0;
2549 }
2550
2551=== modified file 'gcc/system.h'
2552--- old/gcc/system.h 2009-12-13 23:00:53 +0000
2553+++ new/gcc/system.h 2010-09-01 13:29:58 +0000
2554@@ -761,7 +761,8 @@
2555 TARGET_ASM_EXCEPTION_SECTION TARGET_ASM_EH_FRAME_SECTION \
2556 SMALL_ARG_MAX ASM_OUTPUT_SHARED_BSS ASM_OUTPUT_SHARED_COMMON \
2557 ASM_OUTPUT_SHARED_LOCAL ASM_MAKE_LABEL_LINKONCE \
2558- STACK_CHECK_PROBE_INTERVAL STACK_CHECK_PROBE_LOAD
2559+ STACK_CHECK_PROBE_INTERVAL STACK_CHECK_PROBE_LOAD \
2560+ ORDER_REGS_FOR_LOCAL_ALLOC
2561
2562 /* Hooks that are no longer used. */
2563 #pragma GCC poison LANG_HOOKS_FUNCTION_MARK LANG_HOOKS_FUNCTION_FREE \
2564
2565=== added file 'gcc/testsuite/c-c++-common/uninit-17.c'
2566--- old/gcc/testsuite/c-c++-common/uninit-17.c 1970-01-01 00:00:00 +0000
2567+++ new/gcc/testsuite/c-c++-common/uninit-17.c 2010-09-01 13:29:58 +0000
2568@@ -0,0 +1,25 @@
2569+/* { dg-do compile } */
2570+/* { dg-options "-O2 -Wuninitialized" } */
2571+
2572+inline int foo(int x)
2573+{
2574+ return x;
2575+}
2576+static void bar(int a, int *ptr)
2577+{
2578+ do
2579+ {
2580+ int b; /* { dg-warning "is used uninitialized" } */
2581+ if (b < 40) {
2582+ ptr[0] = b;
2583+ }
2584+ b += 1;
2585+ ptr++;
2586+ }
2587+ while (--a != 0);
2588+}
2589+void foobar(int a, int *ptr)
2590+{
2591+ bar(foo(a), ptr);
2592+}
2593+
2594
2595=== added file 'gcc/testsuite/gcc.target/arm/eliminate.c'
2596--- old/gcc/testsuite/gcc.target/arm/eliminate.c 1970-01-01 00:00:00 +0000
2597+++ new/gcc/testsuite/gcc.target/arm/eliminate.c 2010-09-01 13:29:58 +0000
2598@@ -0,0 +1,19 @@
2599+/* { dg-do compile } */
2600+/* { dg-options "-O2" } */
2601+
2602+struct X
2603+{
2604+ int c;
2605+};
2606+
2607+extern void bar(struct X *);
2608+
2609+void foo ()
2610+{
2611+ struct X x;
2612+ bar (&x);
2613+ bar (&x);
2614+ bar (&x);
2615+}
2616+
2617+/* { dg-final { scan-assembler-times "r0,\[\\t \]*sp" 3 } } */
2618
2619=== added file 'gcc/testsuite/gcc.target/arm/pr40900.c'
2620--- old/gcc/testsuite/gcc.target/arm/pr40900.c 1970-01-01 00:00:00 +0000
2621+++ new/gcc/testsuite/gcc.target/arm/pr40900.c 2010-09-01 13:29:58 +0000
2622@@ -0,0 +1,12 @@
2623+/* { dg-do compile } */
2624+/* { dg-options "-O2 -fno-optimize-sibling-calls" } */
2625+
2626+extern short shortv2();
2627+short shortv1()
2628+{
2629+ return shortv2();
2630+}
2631+
2632+/* { dg-final { scan-assembler-not "lsl" } } */
2633+/* { dg-final { scan-assembler-not "asr" } } */
2634+/* { dg-final { scan-assembler-not "sxth" } } */
2635
2636=== added file 'gcc/testsuite/gcc.target/arm/pr42496.c'
2637--- old/gcc/testsuite/gcc.target/arm/pr42496.c 1970-01-01 00:00:00 +0000
2638+++ new/gcc/testsuite/gcc.target/arm/pr42496.c 2010-09-01 13:29:58 +0000
2639@@ -0,0 +1,16 @@
2640+/* { dg-options "-O2" } */
2641+
2642+void foo(int i)
2643+{
2644+ extern int j;
2645+
2646+ if (i) {
2647+ j = 10;
2648+ }
2649+ else {
2650+ j = 20;
2651+ }
2652+}
2653+
2654+/* { dg-final { scan-assembler-not "strne" } } */
2655+/* { dg-final { scan-assembler-not "streq" } } */
2656
2657=== added file 'gcc/testsuite/gcc.target/arm/wmul-1.c'
2658--- old/gcc/testsuite/gcc.target/arm/wmul-1.c 1970-01-01 00:00:00 +0000
2659+++ new/gcc/testsuite/gcc.target/arm/wmul-1.c 2010-09-01 13:29:58 +0000
2660@@ -0,0 +1,18 @@
2661+/* { dg-do compile } */
2662+/* { dg-options "-O2 -march=armv6t2 -fno-unroll-loops" } */
2663+
2664+int mac(const short *a, const short *b, int sqr, int *sum)
2665+{
2666+ int i;
2667+ int dotp = *sum;
2668+
2669+ for (i = 0; i < 150; i++) {
2670+ dotp += b[i] * a[i];
2671+ sqr += b[i] * b[i];
2672+ }
2673+
2674+ *sum = dotp;
2675+ return sqr;
2676+}
2677+
2678+/* { dg-final { scan-assembler-times "smulbb" 2 } } */
2679
2680=== added file 'gcc/testsuite/gcc.target/arm/wmul-2.c'
2681--- old/gcc/testsuite/gcc.target/arm/wmul-2.c 1970-01-01 00:00:00 +0000
2682+++ new/gcc/testsuite/gcc.target/arm/wmul-2.c 2010-09-01 13:29:58 +0000
2683@@ -0,0 +1,12 @@
2684+/* { dg-do compile } */
2685+/* { dg-options "-O2 -march=armv6t2 -fno-unroll-loops" } */
2686+
2687+void vec_mpy(int y[], const short x[], short scaler)
2688+{
2689+ int i;
2690+
2691+ for (i = 0; i < 150; i++)
2692+ y[i] += ((scaler * x[i]) >> 31);
2693+}
2694+
2695+/* { dg-final { scan-assembler-times "smulbb" 1 } } */
2696
2697=== added file 'gcc/testsuite/gcc.target/bfin/wmul-1.c'
2698--- old/gcc/testsuite/gcc.target/bfin/wmul-1.c 1970-01-01 00:00:00 +0000
2699+++ new/gcc/testsuite/gcc.target/bfin/wmul-1.c 2010-09-01 13:29:58 +0000
2700@@ -0,0 +1,18 @@
2701+/* { dg-do compile } */
2702+/* { dg-options "-O2" } */
2703+
2704+int mac(const short *a, const short *b, int sqr, int *sum)
2705+{
2706+ int i;
2707+ int dotp = *sum;
2708+
2709+ for (i = 0; i < 150; i++) {
2710+ dotp += b[i] * a[i];
2711+ sqr += b[i] * b[i];
2712+ }
2713+
2714+ *sum = dotp;
2715+ return sqr;
2716+}
2717+
2718+/* { dg-final { scan-assembler-times "\\(IS\\)" 2 } } */
2719
2720=== added file 'gcc/testsuite/gcc.target/bfin/wmul-2.c'
2721--- old/gcc/testsuite/gcc.target/bfin/wmul-2.c 1970-01-01 00:00:00 +0000
2722+++ new/gcc/testsuite/gcc.target/bfin/wmul-2.c 2010-09-01 13:29:58 +0000
2723@@ -0,0 +1,12 @@
2724+/* { dg-do compile } */
2725+/* { dg-options "-O2" } */
2726+
2727+void vec_mpy(int y[], const short x[], short scaler)
2728+{
2729+ int i;
2730+
2731+ for (i = 0; i < 150; i++)
2732+ y[i] += ((scaler * x[i]) >> 31);
2733+}
2734+
2735+/* { dg-final { scan-assembler-times "\\(IS\\)" 1 } } */
2736
2737=== added file 'gcc/testsuite/gcc.target/i386/pr41442.c'
2738--- old/gcc/testsuite/gcc.target/i386/pr41442.c 1970-01-01 00:00:00 +0000
2739+++ new/gcc/testsuite/gcc.target/i386/pr41442.c 2010-09-01 13:29:58 +0000
2740@@ -0,0 +1,18 @@
2741+/* { dg-do compile } */
2742+/* { dg-options "-O2" } */
2743+
2744+typedef struct LINK link;
2745+struct LINK
2746+{
2747+ link* next;
2748+};
2749+
2750+int haha(link* p1, link* p2)
2751+{
2752+ if ((p1->next && !p2->next) || p2->next)
2753+ return 0;
2754+
2755+ return 1;
2756+}
2757+
2758+/* { dg-final { scan-assembler-times "test|cmp" 2 } } */
2759
2760=== added file 'gcc/testsuite/gcc.target/i386/wmul-1.c'
2761--- old/gcc/testsuite/gcc.target/i386/wmul-1.c 1970-01-01 00:00:00 +0000
2762+++ new/gcc/testsuite/gcc.target/i386/wmul-1.c 2010-09-01 13:29:58 +0000
2763@@ -0,0 +1,18 @@
2764+/* { dg-do compile } */
2765+/* { dg-options "-O2" } */
2766+
2767+long long mac(const int *a, const int *b, long long sqr, long long *sum)
2768+{
2769+ int i;
2770+ long long dotp = *sum;
2771+
2772+ for (i = 0; i < 150; i++) {
2773+ dotp += (long long)b[i] * a[i];
2774+ sqr += (long long)b[i] * b[i];
2775+ }
2776+
2777+ *sum = dotp;
2778+ return sqr;
2779+}
2780+
2781+/* { dg-final { scan-assembler-times "imull" 2 } } */
2782
2783=== added file 'gcc/testsuite/gcc.target/i386/wmul-2.c'
2784--- old/gcc/testsuite/gcc.target/i386/wmul-2.c 1970-01-01 00:00:00 +0000
2785+++ new/gcc/testsuite/gcc.target/i386/wmul-2.c 2010-09-01 13:29:58 +0000
2786@@ -0,0 +1,12 @@
2787+/* { dg-do compile } */
2788+/* { dg-options "-O2" } */
2789+
2790+void vec_mpy(int y[], const int x[], int scaler)
2791+{
2792+ int i;
2793+
2794+ for (i = 0; i < 150; i++)
2795+ y[i] += (((long long)scaler * x[i]) >> 31);
2796+}
2797+
2798+/* { dg-final { scan-assembler-times "imull" 1 } } */
2799
2800=== modified file 'gcc/tree-cfg.c'
2801--- old/gcc/tree-cfg.c 2010-08-10 13:31:21 +0000
2802+++ new/gcc/tree-cfg.c 2010-09-01 13:29:58 +0000
2803@@ -3428,8 +3428,13 @@
2804 connected to the operand types. */
2805 return verify_gimple_comparison (lhs_type, rhs1, rhs2);
2806
2807+ case WIDEN_MULT_EXPR:
2808+ if (TREE_CODE (lhs_type) != INTEGER_TYPE)
2809+ return true;
2810+ return ((2 * TYPE_PRECISION (rhs1_type) != TYPE_PRECISION (lhs_type))
2811+ || (TYPE_PRECISION (rhs1_type) != TYPE_PRECISION (rhs2_type)));
2812+
2813 case WIDEN_SUM_EXPR:
2814- case WIDEN_MULT_EXPR:
2815 case VEC_WIDEN_MULT_HI_EXPR:
2816 case VEC_WIDEN_MULT_LO_EXPR:
2817 case VEC_PACK_TRUNC_EXPR:
2818
2819=== modified file 'gcc/tree-inline.c'
2820--- old/gcc/tree-inline.c 2010-08-10 13:31:21 +0000
2821+++ new/gcc/tree-inline.c 2010-09-01 13:29:58 +0000
2822@@ -229,6 +229,7 @@
2823 regions of the CFG, but this is expensive to test. */
2824 if (id->entry_bb
2825 && is_gimple_reg (SSA_NAME_VAR (name))
2826+ && SSA_NAME_OCCURS_IN_ABNORMAL_PHI (name)
2827 && TREE_CODE (SSA_NAME_VAR (name)) != PARM_DECL
2828 && (id->entry_bb != EDGE_SUCC (ENTRY_BLOCK_PTR, 0)->dest
2829 || EDGE_COUNT (id->entry_bb->preds) != 1))
2830
2831=== modified file 'gcc/tree-pass.h'
2832--- old/gcc/tree-pass.h 2010-04-02 18:54:46 +0000
2833+++ new/gcc/tree-pass.h 2010-09-01 13:29:58 +0000
2834@@ -407,6 +407,7 @@
2835 extern struct gimple_opt_pass pass_cse_reciprocals;
2836 extern struct gimple_opt_pass pass_cse_sincos;
2837 extern struct gimple_opt_pass pass_optimize_bswap;
2838+extern struct gimple_opt_pass pass_optimize_widening_mul;
2839 extern struct gimple_opt_pass pass_warn_function_return;
2840 extern struct gimple_opt_pass pass_warn_function_noreturn;
2841 extern struct gimple_opt_pass pass_cselim;
2842
2843=== modified file 'gcc/tree-ssa-math-opts.c'
2844--- old/gcc/tree-ssa-math-opts.c 2010-04-02 18:54:46 +0000
2845+++ new/gcc/tree-ssa-math-opts.c 2010-09-01 13:29:58 +0000
2846@@ -1260,3 +1260,137 @@
2847 0 /* todo_flags_finish */
2848 }
2849 };
2850+
2851+/* Find integer multiplications where the operands are extended from
2852+ smaller types, and replace the MULT_EXPR with a WIDEN_MULT_EXPR
2853+ where appropriate. */
2854+
2855+static unsigned int
2856+execute_optimize_widening_mul (void)
2857+{
2858+ bool changed = false;
2859+ basic_block bb;
2860+
2861+ FOR_EACH_BB (bb)
2862+ {
2863+ gimple_stmt_iterator gsi;
2864+
2865+ for (gsi = gsi_after_labels (bb); !gsi_end_p (gsi); gsi_next (&gsi))
2866+ {
2867+ gimple stmt = gsi_stmt (gsi);
2868+ gimple rhs1_stmt = NULL, rhs2_stmt = NULL;
2869+ tree type, type1 = NULL, type2 = NULL;
2870+ tree rhs1, rhs2, rhs1_convop = NULL, rhs2_convop = NULL;
2871+ enum tree_code rhs1_code, rhs2_code;
2872+
2873+ if (!is_gimple_assign (stmt)
2874+ || gimple_assign_rhs_code (stmt) != MULT_EXPR)
2875+ continue;
2876+
2877+ type = TREE_TYPE (gimple_assign_lhs (stmt));
2878+
2879+ if (TREE_CODE (type) != INTEGER_TYPE)
2880+ continue;
2881+
2882+ rhs1 = gimple_assign_rhs1 (stmt);
2883+ rhs2 = gimple_assign_rhs2 (stmt);
2884+
2885+ if (TREE_CODE (rhs1) == SSA_NAME)
2886+ {
2887+ rhs1_stmt = SSA_NAME_DEF_STMT (rhs1);
2888+ if (!is_gimple_assign (rhs1_stmt))
2889+ continue;
2890+ rhs1_code = gimple_assign_rhs_code (rhs1_stmt);
2891+ if (!CONVERT_EXPR_CODE_P (rhs1_code))
2892+ continue;
2893+ rhs1_convop = gimple_assign_rhs1 (rhs1_stmt);
2894+ type1 = TREE_TYPE (rhs1_convop);
2895+ if (TYPE_PRECISION (type1) * 2 != TYPE_PRECISION (type))
2896+ continue;
2897+ }
2898+ else if (TREE_CODE (rhs1) != INTEGER_CST)
2899+ continue;
2900+
2901+ if (TREE_CODE (rhs2) == SSA_NAME)
2902+ {
2903+ rhs2_stmt = SSA_NAME_DEF_STMT (rhs2);
2904+ if (!is_gimple_assign (rhs2_stmt))
2905+ continue;
2906+ rhs2_code = gimple_assign_rhs_code (rhs2_stmt);
2907+ if (!CONVERT_EXPR_CODE_P (rhs2_code))
2908+ continue;
2909+ rhs2_convop = gimple_assign_rhs1 (rhs2_stmt);
2910+ type2 = TREE_TYPE (rhs2_convop);
2911+ if (TYPE_PRECISION (type2) * 2 != TYPE_PRECISION (type))
2912+ continue;
2913+ }
2914+ else if (TREE_CODE (rhs2) != INTEGER_CST)
2915+ continue;
2916+
2917+ if (rhs1_stmt == NULL && rhs2_stmt == NULL)
2918+ continue;
2919+
2920+ /* Verify that the machine can perform a widening multiply in this
2921+ mode/signedness combination, otherwise this transformation is
2922+ likely to pessimize code. */
2923+ if ((rhs1_stmt == NULL || TYPE_UNSIGNED (type1))
2924+ && (rhs2_stmt == NULL || TYPE_UNSIGNED (type2))
2925+ && (optab_handler (umul_widen_optab, TYPE_MODE (type))
2926+ ->insn_code == CODE_FOR_nothing))
2927+ continue;
2928+ else if ((rhs1_stmt == NULL || !TYPE_UNSIGNED (type1))
2929+ && (rhs2_stmt == NULL || !TYPE_UNSIGNED (type2))
2930+ && (optab_handler (smul_widen_optab, TYPE_MODE (type))
2931+ ->insn_code == CODE_FOR_nothing))
2932+ continue;
2933+ else if (rhs1_stmt != NULL && rhs2_stmt != 0
2934+ && (TYPE_UNSIGNED (type1) != TYPE_UNSIGNED (type2))
2935+ && (optab_handler (usmul_widen_optab, TYPE_MODE (type))
2936+ ->insn_code == CODE_FOR_nothing))
2937+ continue;
2938+
2939+ if ((rhs1_stmt == NULL && !int_fits_type_p (rhs1, type2))
2940+ || (rhs2_stmt == NULL && !int_fits_type_p (rhs2, type1)))
2941+ continue;
2942+
2943+ if (rhs1_stmt == NULL)
2944+ gimple_assign_set_rhs1 (stmt, fold_convert (type2, rhs1));
2945+ else
2946+ gimple_assign_set_rhs1 (stmt, rhs1_convop);
2947+ if (rhs2_stmt == NULL)
2948+ gimple_assign_set_rhs2 (stmt, fold_convert (type1, rhs2));
2949+ else
2950+ gimple_assign_set_rhs2 (stmt, rhs2_convop);
2951+ gimple_assign_set_rhs_code (stmt, WIDEN_MULT_EXPR);
2952+ update_stmt (stmt);
2953+ changed = true;
2954+ }
2955+ }
2956+ return (changed ? TODO_dump_func | TODO_update_ssa | TODO_verify_ssa
2957+ | TODO_verify_stmts : 0);
2958+}
2959+
2960+static bool
2961+gate_optimize_widening_mul (void)
2962+{
2963+ return flag_expensive_optimizations && optimize;
2964+}
2965+
2966+struct gimple_opt_pass pass_optimize_widening_mul =
2967+{
2968+ {
2969+ GIMPLE_PASS,
2970+ "widening_mul", /* name */
2971+ gate_optimize_widening_mul, /* gate */
2972+ execute_optimize_widening_mul, /* execute */
2973+ NULL, /* sub */
2974+ NULL, /* next */
2975+ 0, /* static_pass_number */
2976+ TV_NONE, /* tv_id */
2977+ PROP_ssa, /* properties_required */
2978+ 0, /* properties_provided */
2979+ 0, /* properties_destroyed */
2980+ 0, /* todo_flags_start */
2981+ 0 /* todo_flags_finish */
2982+ }
2983+};
2984
2985=== modified file 'gcc/tree-ssa.c'
2986--- old/gcc/tree-ssa.c 2009-12-07 22:42:10 +0000
2987+++ new/gcc/tree-ssa.c 2010-09-01 13:29:58 +0000
2988@@ -1671,6 +1671,8 @@
2989 {
2990 TREE_NO_WARNING (var) = 1;
2991
2992+ if (location == DECL_SOURCE_LOCATION (var))
2993+ return;
2994 if (xloc.file != floc.file
2995 || xloc.line < floc.line
2996 || xloc.line > LOCATION_LINE (cfun->function_end_locus))
2997
diff --git a/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99381.patch b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99381.patch
new file mode 100644
index 0000000000..c504f44fbe
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99381.patch
@@ -0,0 +1,512 @@
12010-09-06 Mark Mitchell <mark@codesourcery.com>
2
3 Issue #9022
4
5 Backport from mainline:
6 2010-09-05 Mark Mitchell <mark@codesourcery.com>
7 * doc/invoke.texi: Document -Wdouble-promotion.
8 * c-typeck.c (convert_arguments): Check for implicit conversions
9 from float to double.
10 (do_warn_double_promotion): New function.
11 (build_conditional_expr): Use it.
12 (build_binary_op): Likewise.
13 * c.opt (Wdouble-promotion): New.
14 2010-09-05 Mark Mitchell <mark@codesourcery.com>
15 * gcc.dg/Wdouble-promotion.c: New.
16 2010-09-06 Mark Mitchell <mark@codesourcery.com>
17 gcc/
18 * c-common.h (do_warn_double_promotion): Declare.
19 * c-common.c (do_warn_double_promotion): Define.
20 * c-typeck.c (do_warn_double_promotion): Remove.
21 * doc/invoke.texi (-Wdouble-promotion): Note available for C++ and
22 Objective-C++ too.
23 gcc/cp/
24 * typeck.c (cp_build_binary_op): Call do_warn_double_promotion.
25 * call.c (build_conditional_expr): Likewise.
26 (convert_arg_to_ellipsis): Likewise.
27 gcc/testsuite/
28 * g++.dg/warn/Wdouble-promotion.C: New.
29
30 2010-08-31 Chung-Lin Tang <cltang@codesourcery.com>
31
32 Backport from mainline:
33
34=== modified file 'gcc/c-common.c'
35--- old/gcc/c-common.c 2010-06-25 09:35:40 +0000
36+++ new/gcc/c-common.c 2010-09-07 15:47:57 +0000
37@@ -9172,6 +9172,40 @@
38 }
39 }
40
41+/* RESULT_TYPE is the result of converting TYPE1 and TYPE2 to a common
42+ type via c_common_type. If -Wdouble-promotion is in use, and the
43+ conditions for warning have been met, issue a warning. GMSGID is
44+ the warning message. It must have two %T specifiers for the type
45+ that was converted (generally "float") and the type to which it was
46+ converted (generally "double), respectively. LOC is the location
47+ to which the awrning should refer. */
48+
49+void
50+do_warn_double_promotion (tree result_type, tree type1, tree type2,
51+ const char *gmsgid, location_t loc)
52+{
53+ tree source_type;
54+
55+ if (!warn_double_promotion)
56+ return;
57+ /* If the conversion will not occur at run-time, there is no need to
58+ warn about it. */
59+ if (c_inhibit_evaluation_warnings)
60+ return;
61+ if (TYPE_MAIN_VARIANT (result_type) != double_type_node
62+ && TYPE_MAIN_VARIANT (result_type) != complex_double_type_node)
63+ return;
64+ if (TYPE_MAIN_VARIANT (type1) == float_type_node
65+ || TYPE_MAIN_VARIANT (type1) == complex_float_type_node)
66+ source_type = type1;
67+ else if (TYPE_MAIN_VARIANT (type2) == float_type_node
68+ || TYPE_MAIN_VARIANT (type2) == complex_float_type_node)
69+ source_type = type2;
70+ else
71+ return;
72+ warning_at (loc, OPT_Wdouble_promotion, gmsgid, source_type, result_type);
73+}
74+
75 /* Setup a TYPE_DECL node as a typedef representation.
76
77 X is a TYPE_DECL for a typedef statement. Create a brand new
78
79=== modified file 'gcc/c-common.h'
80--- old/gcc/c-common.h 2009-12-17 03:22:22 +0000
81+++ new/gcc/c-common.h 2010-09-07 15:47:57 +0000
82@@ -1056,6 +1056,8 @@
83 tree op0, tree op1,
84 tree result_type,
85 enum tree_code resultcode);
86+extern void do_warn_double_promotion (tree, tree, tree, const char *,
87+ location_t);
88 extern void set_underlying_type (tree x);
89 extern bool is_typedef_decl (tree x);
90 extern VEC(tree,gc) *make_tree_vector (void);
91
92=== modified file 'gcc/c-typeck.c'
93--- old/gcc/c-typeck.c 2010-04-02 18:54:46 +0000
94+++ new/gcc/c-typeck.c 2010-09-07 15:47:57 +0000
95@@ -3012,8 +3012,15 @@
96 if (type_generic)
97 parmval = val;
98 else
99- /* Convert `float' to `double'. */
100- parmval = convert (double_type_node, val);
101+ {
102+ /* Convert `float' to `double'. */
103+ if (warn_double_promotion && !c_inhibit_evaluation_warnings)
104+ warning (OPT_Wdouble_promotion,
105+ "implicit conversion from %qT to %qT when passing "
106+ "argument to function",
107+ valtype, double_type_node);
108+ parmval = convert (double_type_node, val);
109+ }
110 }
111 else if (excess_precision && !type_generic)
112 /* A "double" argument with excess precision being passed
113@@ -4036,6 +4043,10 @@
114 || code2 == COMPLEX_TYPE))
115 {
116 result_type = c_common_type (type1, type2);
117+ do_warn_double_promotion (result_type, type1, type2,
118+ "implicit conversion from %qT to %qT to "
119+ "match other result of conditional",
120+ colon_loc);
121
122 /* If -Wsign-compare, warn here if type1 and type2 have
123 different signedness. We'll promote the signed to unsigned
124@@ -9607,6 +9618,11 @@
125 if (shorten || common || short_compare)
126 {
127 result_type = c_common_type (type0, type1);
128+ do_warn_double_promotion (result_type, type0, type1,
129+ "implicit conversion from %qT to %qT "
130+ "to match other operand of binary "
131+ "expression",
132+ location);
133 if (result_type == error_mark_node)
134 return error_mark_node;
135 }
136
137=== modified file 'gcc/c.opt'
138--- old/gcc/c.opt 2010-04-02 18:54:46 +0000
139+++ new/gcc/c.opt 2010-09-07 15:47:57 +0000
140@@ -265,6 +265,10 @@
141 Wimplicit
142 C ObjC C++ ObjC++ Warning
143
144+Wdouble-promotion
145+C ObjC C++ ObjC++ Var(warn_double_promotion) Warning
146+Warn about implicit conversions from \"float\" to \"double\"
147+
148 Wimplicit-function-declaration
149 C ObjC Var(warn_implicit_function_declaration) Init(-1) Warning
150 Warn about implicit function declarations
151
152=== modified file 'gcc/cp/call.c'
153--- old/gcc/cp/call.c 2010-07-08 13:08:36 +0000
154+++ new/gcc/cp/call.c 2010-09-07 15:47:57 +0000
155@@ -3946,6 +3946,10 @@
156 /* In this case, there is always a common type. */
157 result_type = type_after_usual_arithmetic_conversions (arg2_type,
158 arg3_type);
159+ do_warn_double_promotion (result_type, arg2_type, arg3_type,
160+ "implicit conversion from %qT to %qT to "
161+ "match other result of conditional",
162+ input_location);
163
164 if (TREE_CODE (arg2_type) == ENUMERAL_TYPE
165 && TREE_CODE (arg3_type) == ENUMERAL_TYPE)
166@@ -5179,11 +5183,14 @@
167 tree
168 convert_arg_to_ellipsis (tree arg)
169 {
170+ tree arg_type;
171+
172 /* [expr.call]
173
174 The lvalue-to-rvalue, array-to-pointer, and function-to-pointer
175 standard conversions are performed. */
176 arg = decay_conversion (arg);
177+ arg_type = TREE_TYPE (arg);
178 /* [expr.call]
179
180 If the argument has integral or enumeration type that is subject
181@@ -5191,19 +5198,27 @@
182 type that is subject to the floating point promotion
183 (_conv.fpprom_), the value of the argument is converted to the
184 promoted type before the call. */
185- if (TREE_CODE (TREE_TYPE (arg)) == REAL_TYPE
186- && (TYPE_PRECISION (TREE_TYPE (arg))
187+ if (TREE_CODE (arg_type) == REAL_TYPE
188+ && (TYPE_PRECISION (arg_type)
189 < TYPE_PRECISION (double_type_node))
190- && !DECIMAL_FLOAT_MODE_P (TYPE_MODE (TREE_TYPE (arg))))
191- arg = convert_to_real (double_type_node, arg);
192- else if (INTEGRAL_OR_ENUMERATION_TYPE_P (TREE_TYPE (arg)))
193+ && !DECIMAL_FLOAT_MODE_P (TYPE_MODE (arg_type)))
194+ {
195+ if (warn_double_promotion && !c_inhibit_evaluation_warnings)
196+ warning (OPT_Wdouble_promotion,
197+ "implicit conversion from %qT to %qT when passing "
198+ "argument to function",
199+ arg_type, double_type_node);
200+ arg = convert_to_real (double_type_node, arg);
201+ }
202+ else if (INTEGRAL_OR_ENUMERATION_TYPE_P (arg_type))
203 arg = perform_integral_promotions (arg);
204
205 arg = require_complete_type (arg);
206+ arg_type = TREE_TYPE (arg);
207
208 if (arg != error_mark_node
209- && (type_has_nontrivial_copy_init (TREE_TYPE (arg))
210- || TYPE_HAS_NONTRIVIAL_DESTRUCTOR (TREE_TYPE (arg))))
211+ && (type_has_nontrivial_copy_init (arg_type)
212+ || TYPE_HAS_NONTRIVIAL_DESTRUCTOR (arg_type)))
213 {
214 /* [expr.call] 5.2.2/7:
215 Passing a potentially-evaluated argument of class type (Clause 9)
216@@ -5218,7 +5233,7 @@
217 it is not potentially-evaluated. */
218 if (cp_unevaluated_operand == 0)
219 error ("cannot pass objects of non-trivially-copyable "
220- "type %q#T through %<...%>", TREE_TYPE (arg));
221+ "type %q#T through %<...%>", arg_type);
222 }
223
224 return arg;
225
226=== modified file 'gcc/cp/typeck.c'
227--- old/gcc/cp/typeck.c 2010-06-30 21:06:28 +0000
228+++ new/gcc/cp/typeck.c 2010-09-07 15:47:57 +0000
229@@ -260,6 +260,7 @@
230 enum tree_code code2 = TREE_CODE (t2);
231 tree attributes;
232
233+
234 /* In what follows, we slightly generalize the rules given in [expr] so
235 as to deal with `long long' and `complex'. First, merge the
236 attributes. */
237@@ -4226,7 +4227,14 @@
238 if (!result_type
239 && arithmetic_types_p
240 && (shorten || common || short_compare))
241- result_type = cp_common_type (type0, type1);
242+ {
243+ result_type = cp_common_type (type0, type1);
244+ do_warn_double_promotion (result_type, type0, type1,
245+ "implicit conversion from %qT to %qT "
246+ "to match other operand of binary "
247+ "expression",
248+ location);
249+ }
250
251 if (!result_type)
252 {
253
254=== modified file 'gcc/doc/invoke.texi'
255--- old/gcc/doc/invoke.texi 2010-08-16 09:41:58 +0000
256+++ new/gcc/doc/invoke.texi 2010-09-07 15:47:57 +0000
257@@ -234,8 +234,8 @@
258 -Wchar-subscripts -Wclobbered -Wcomment @gol
259 -Wconversion -Wcoverage-mismatch -Wno-deprecated @gol
260 -Wno-deprecated-declarations -Wdisabled-optimization @gol
261--Wno-div-by-zero -Wempty-body -Wenum-compare -Wno-endif-labels @gol
262--Werror -Werror=* @gol
263+-Wno-div-by-zero -Wdouble-promotion -Wempty-body -Wenum-compare @gol
264+-Wno-endif-labels -Werror -Werror=* @gol
265 -Wfatal-errors -Wfloat-equal -Wformat -Wformat=2 @gol
266 -Wno-format-contains-nul -Wno-format-extra-args -Wformat-nonliteral @gol
267 -Wformat-security -Wformat-y2k @gol
268@@ -2976,6 +2976,30 @@
269 comment, or whenever a Backslash-Newline appears in a @samp{//} comment.
270 This warning is enabled by @option{-Wall}.
271
272+@item -Wdouble-promotion @r{(C, C++, Objective-C and Objective-C++ only)}
273+@opindex Wdouble-promotion
274+@opindex Wno-double-promotion
275+Give a warning when a value of type @code{float} is implicitly
276+promoted to @code{double}. CPUs with a 32-bit ``single-precision''
277+floating-point unit implement @code{float} in hardware, but emulate
278+@code{double} in software. On such a machine, doing computations
279+using @code{double} values is much more expensive because of the
280+overhead required for software emulation.
281+
282+It is easy to accidentally do computations with @code{double} because
283+floating-point literals are implicitly of type @code{double}. For
284+example, in:
285+@smallexample
286+@group
287+float area(float radius)
288+@{
289+ return 3.14159 * radius * radius;
290+@}
291+@end group
292+@end smallexample
293+the compiler will perform the entire computation with @code{double}
294+because the floating-point literal is a @code{double}.
295+
296 @item -Wformat
297 @opindex Wformat
298 @opindex Wno-format
299
300=== added file 'gcc/testsuite/g++.dg/warn/Wdouble-promotion.C'
301--- old/gcc/testsuite/g++.dg/warn/Wdouble-promotion.C 1970-01-01 00:00:00 +0000
302+++ new/gcc/testsuite/g++.dg/warn/Wdouble-promotion.C 2010-09-07 15:47:57 +0000
303@@ -0,0 +1,99 @@
304+/* { dg-do compile } */
305+/* { dg-options "-Wdouble-promotion" } */
306+
307+#include <stddef.h>
308+
309+/* Some targets do not provide <complex.h> so we define I ourselves. */
310+#define I 1.0iF
311+#define ID ((_Complex double)I)
312+
313+float f;
314+double d;
315+int i;
316+long double ld;
317+_Complex float cf;
318+_Complex double cd;
319+_Complex long double cld;
320+size_t s;
321+
322+extern void varargs_fn (int, ...);
323+extern void double_fn (double);
324+extern float float_fn (void);
325+
326+void
327+usual_arithmetic_conversions(void)
328+{
329+ float local_f;
330+ _Complex float local_cf;
331+
332+ /* Values of type "float" are implicitly converted to "double" or
333+ "long double" due to use in arithmetic with "double" or "long
334+ double" operands. */
335+ local_f = f + 1.0; /* { dg-warning "implicit" } */
336+ local_f = f - d; /* { dg-warning "implicit" } */
337+ local_f = 1.0f * 1.0; /* { dg-warning "implicit" } */
338+ local_f = 1.0f / d; /* { dg-warning "implicit" } */
339+
340+ local_cf = cf + 1.0; /* { dg-warning "implicit" } */
341+ local_cf = cf - d; /* { dg-warning "implicit" } */
342+ local_cf = cf + 1.0 * ID; /* { dg-warning "implicit" } */
343+ local_cf = cf - cd; /* { dg-warning "implicit" } */
344+
345+ local_f = i ? f : d; /* { dg-warning "implicit" } */
346+ i = f == d; /* { dg-warning "implicit" } */
347+ i = d != f; /* { dg-warning "implicit" } */
348+}
349+
350+void
351+default_argument_promotion (void)
352+{
353+ /* Because "f" is part of the variable argument list, it is promoted
354+ to "double". */
355+ varargs_fn (1, f); /* { dg-warning "implicit" } */
356+}
357+
358+/* There is no warning when an explicit cast is used to perform the
359+ conversion. */
360+
361+void
362+casts (void)
363+{
364+ float local_f;
365+ _Complex float local_cf;
366+
367+ local_f = (double)f + 1.0; /* { dg-bogus "implicit" } */
368+ local_f = (double)f - d; /* { dg-bogus "implicit" } */
369+ local_f = (double)1.0f + 1.0; /* { dg-bogus "implicit" } */
370+ local_f = (double)1.0f - d; /* { dg-bogus "implicit" } */
371+
372+ local_cf = (_Complex double)cf + 1.0; /* { dg-bogus "implicit" } */
373+ local_cf = (_Complex double)cf - d; /* { dg-bogus "implicit" } */
374+ local_cf = (_Complex double)cf + 1.0 * ID; /* { dg-bogus "implicit" } */
375+ local_cf = (_Complex double)cf - cd; /* { dg-bogus "implicit" } */
376+
377+ local_f = i ? (double)f : d; /* { dg-bogus "implicit" } */
378+ i = (double)f == d; /* { dg-bogus "implicit" } */
379+ i = d != (double)f; /* { dg-bogus "implicit" } */
380+}
381+
382+/* There is no warning on conversions that occur in assignment (and
383+ assignment-like) contexts. */
384+
385+void
386+assignments (void)
387+{
388+ d = f; /* { dg-bogus "implicit" } */
389+ double_fn (f); /* { dg-bogus "implicit" } */
390+ d = float_fn (); /* { dg-bogus "implicit" } */
391+}
392+
393+/* There is no warning in non-evaluated contexts. */
394+
395+void
396+non_evaluated (void)
397+{
398+ s = sizeof (f + 1.0); /* { dg-bogus "implicit" } */
399+ s = __alignof__ (f + 1.0); /* { dg-bogus "implicit" } */
400+ d = (__typeof__(f + 1.0))f; /* { dg-bogus "implicit" } */
401+ s = sizeof (i ? f : d); /* { dg-bogus "implicit" } */
402+}
403
404=== added file 'gcc/testsuite/gcc.dg/Wdouble-promotion.c'
405--- old/gcc/testsuite/gcc.dg/Wdouble-promotion.c 1970-01-01 00:00:00 +0000
406+++ new/gcc/testsuite/gcc.dg/Wdouble-promotion.c 2010-09-07 15:47:57 +0000
407@@ -0,0 +1,104 @@
408+/* { dg-do compile } */
409+/* { dg-options "-Wdouble-promotion" } */
410+
411+#include <stddef.h>
412+
413+/* Some targets do not provide <complex.h> so we define I ourselves. */
414+#define I 1.0iF
415+#define ID ((_Complex double)I)
416+
417+float f;
418+double d;
419+int i;
420+long double ld;
421+_Complex float cf;
422+_Complex double cd;
423+_Complex long double cld;
424+size_t s;
425+
426+extern void unprototyped_fn ();
427+extern void varargs_fn (int, ...);
428+extern void double_fn (double);
429+extern float float_fn (void);
430+
431+void
432+usual_arithmetic_conversions(void)
433+{
434+ float local_f;
435+ _Complex float local_cf;
436+
437+ /* Values of type "float" are implicitly converted to "double" or
438+ "long double" due to use in arithmetic with "double" or "long
439+ double" operands. */
440+ local_f = f + 1.0; /* { dg-warning "implicit" } */
441+ local_f = f - d; /* { dg-warning "implicit" } */
442+ local_f = 1.0f * 1.0; /* { dg-warning "implicit" } */
443+ local_f = 1.0f / d; /* { dg-warning "implicit" } */
444+
445+ local_cf = cf + 1.0; /* { dg-warning "implicit" } */
446+ local_cf = cf - d; /* { dg-warning "implicit" } */
447+ local_cf = cf + 1.0 * ID; /* { dg-warning "implicit" } */
448+ local_cf = cf - cd; /* { dg-warning "implicit" } */
449+
450+ local_f = i ? f : d; /* { dg-warning "implicit" } */
451+ i = f == d; /* { dg-warning "implicit" } */
452+ i = d != f; /* { dg-warning "implicit" } */
453+}
454+
455+void
456+default_argument_promotion (void)
457+{
458+ /* Because there is no prototype, "f" is promoted to "double". */
459+ unprototyped_fn (f); /* { dg-warning "implicit" } */
460+ undeclared_fn (f); /* { dg-warning "implicit" } */
461+ /* Because "f" is part of the variable argument list, it is promoted
462+ to "double". */
463+ varargs_fn (1, f); /* { dg-warning "implicit" } */
464+}
465+
466+/* There is no warning when an explicit cast is used to perform the
467+ conversion. */
468+
469+void
470+casts (void)
471+{
472+ float local_f;
473+ _Complex float local_cf;
474+
475+ local_f = (double)f + 1.0; /* { dg-bogus "implicit" } */
476+ local_f = (double)f - d; /* { dg-bogus "implicit" } */
477+ local_f = (double)1.0f + 1.0; /* { dg-bogus "implicit" } */
478+ local_f = (double)1.0f - d; /* { dg-bogus "implicit" } */
479+
480+ local_cf = (_Complex double)cf + 1.0; /* { dg-bogus "implicit" } */
481+ local_cf = (_Complex double)cf - d; /* { dg-bogus "implicit" } */
482+ local_cf = (_Complex double)cf + 1.0 * ID; /* { dg-bogus "implicit" } */
483+ local_cf = (_Complex double)cf - cd; /* { dg-bogus "implicit" } */
484+
485+ local_f = i ? (double)f : d; /* { dg-bogus "implicit" } */
486+ i = (double)f == d; /* { dg-bogus "implicit" } */
487+ i = d != (double)f; /* { dg-bogus "implicit" } */
488+}
489+
490+/* There is no warning on conversions that occur in assignment (and
491+ assignment-like) contexts. */
492+
493+void
494+assignments (void)
495+{
496+ d = f; /* { dg-bogus "implicit" } */
497+ double_fn (f); /* { dg-bogus "implicit" } */
498+ d = float_fn (); /* { dg-bogus "implicit" } */
499+}
500+
501+/* There is no warning in non-evaluated contexts. */
502+
503+void
504+non_evaluated (void)
505+{
506+ s = sizeof (f + 1.0); /* { dg-bogus "implicit" } */
507+ s = __alignof__ (f + 1.0); /* { dg-bogus "implicit" } */
508+ d = (__typeof__(f + 1.0))f; /* { dg-bogus "implicit" } */
509+ s = sizeof (i ? f : d); /* { dg-bogus "implicit" } */
510+ s = sizeof (unprototyped_fn (f)); /* { dg-bogus "implicit" } */
511+}
512
diff --git a/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99383.patch b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99383.patch
new file mode 100644
index 0000000000..82a9e93e43
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99383.patch
@@ -0,0 +1,369 @@
12010-09-09 Andrew Stubbs <ams@codesourcery.com>
2
3 Backport from mainline:
4
5 2010-08-25 Tejas Belagod <tejas.belagod@arm.com>
6 * config/arm/iterators.md (VU, SE, V_widen_l): New.
7 (V_unpack, US): New.
8 * config/arm/neon.md (vec_unpack<US>_hi_<mode>): Expansion for
9 vmovl.
10 (vec_unpack<US>_lo_<mode>): Likewise.
11 (neon_vec_unpack<US>_hi_<mode>): Instruction pattern for vmovl.
12 (neon_vec_unpack<US>_lo_<mode>): Likewise.
13 (vec_widen_<US>mult_lo_<mode>): Expansion for vmull.
14 (vec_widen_<US>mult_hi_<mode>): Likewise.
15 (neon_vec_<US>mult_lo_<mode>"): Instruction pattern for vmull.
16 (neon_vec_<US>mult_hi_<mode>"): Likewise.
17 (neon_unpack<US>_<mode>): Widening move intermediate step for
18 vectorizing without -mvectorize-with-neon-quad.
19 (neon_vec_<US>mult_<mode>): Widening multiply intermediate step
20 for vectorizing without -mvectorize-with-neon-quad.
21 * config/arm/predicates.md (vect_par_constant_high): Check for
22 high-half lanes of a vector.
23 (vect_par_constant_low): Check for low-half lanes of a vector.
24
25 2010-08-25 Tejas Belagod <tejas.belagod@arm.com>
26 * lib/target-supports.exp (check_effective_target_vect_unpack):
27 Set vect_unpack supported flag to true for neon.
28
29 2010-09-07 Andrew Stubbs <ams@codesourcery.com>
30
31 Backport from gcc-patches:
32
33=== modified file 'gcc/config/arm/arm.md'
34--- old/gcc/config/arm/arm.md 2010-09-01 13:29:58 +0000
35+++ new/gcc/config/arm/arm.md 2010-09-09 14:11:34 +0000
36@@ -868,6 +868,9 @@
37 (define_code_attr cnb [(ltu "CC_C") (geu "CC")])
38 (define_code_attr optab [(ltu "ltu") (geu "geu")])
39
40+;; Assembler mnemonics for signedness of widening operations.
41+(define_code_attr US [(sign_extend "s") (zero_extend "u")])
42+
43 (define_insn "*addsi3_carryin_<optab>"
44 [(set (match_operand:SI 0 "s_register_operand" "=r")
45 (plus:SI (plus:SI (match_operand:SI 1 "s_register_operand" "%r")
46
47=== modified file 'gcc/config/arm/neon.md'
48--- old/gcc/config/arm/neon.md 2010-08-23 14:29:45 +0000
49+++ new/gcc/config/arm/neon.md 2010-09-09 14:11:34 +0000
50@@ -235,6 +235,9 @@
51 ;; Modes with 32-bit elements only.
52 (define_mode_iterator V32 [V2SI V2SF V4SI V4SF])
53
54+;; Modes with 8-bit, 16-bit and 32-bit elements.
55+(define_mode_iterator VU [V16QI V8HI V4SI])
56+
57 ;; (Opposite) mode to convert to/from for above conversions.
58 (define_mode_attr V_CVTTO [(V2SI "V2SF") (V2SF "V2SI")
59 (V4SI "V4SF") (V4SF "V4SI")])
60@@ -388,6 +391,9 @@
61 ;; Same, without unsigned variants (for use with *SFmode pattern).
62 (define_code_iterator vqhs_ops [plus smin smax])
63
64+;; A list of widening operators
65+(define_code_iterator SE [sign_extend zero_extend])
66+
67 ;; Assembler mnemonics for above codes.
68 (define_code_attr VQH_mnem [(plus "vadd") (smin "vmin") (smax "vmax")
69 (umin "vmin") (umax "vmax")])
70@@ -443,6 +449,12 @@
71 (V2SF "2") (V4SF "4")
72 (DI "1") (V2DI "2")])
73
74+;; Same as V_widen, but lower-case.
75+(define_mode_attr V_widen_l [(V8QI "v8hi") (V4HI "v4si") ( V2SI "v2di")])
76+
77+;; Widen. Result is half the number of elements, but widened to double-width.
78+(define_mode_attr V_unpack [(V16QI "V8HI") (V8HI "V4SI") (V4SI "V2DI")])
79+
80 (define_insn "*neon_mov<mode>"
81 [(set (match_operand:VD 0 "nonimmediate_operand"
82 "=w,Uv,w, w, ?r,?w,?r,?r, ?Us")
83@@ -5540,3 +5552,205 @@
84 emit_insn (gen_orn<mode>3_neon (operands[0], operands[1], operands[2]));
85 DONE;
86 })
87+
88+(define_insn "neon_vec_unpack<US>_lo_<mode>"
89+ [(set (match_operand:<V_unpack> 0 "register_operand" "=w")
90+ (SE:<V_unpack> (vec_select:<V_HALF>
91+ (match_operand:VU 1 "register_operand" "w")
92+ (match_operand:VU 2 "vect_par_constant_low" ""))))]
93+ "TARGET_NEON"
94+ "vmovl.<US><V_sz_elem> %q0, %e1"
95+ [(set_attr "neon_type" "neon_shift_1")]
96+)
97+
98+(define_insn "neon_vec_unpack<US>_hi_<mode>"
99+ [(set (match_operand:<V_unpack> 0 "register_operand" "=w")
100+ (SE:<V_unpack> (vec_select:<V_HALF>
101+ (match_operand:VU 1 "register_operand" "w")
102+ (match_operand:VU 2 "vect_par_constant_high" ""))))]
103+ "TARGET_NEON"
104+ "vmovl.<US><V_sz_elem> %q0, %f1"
105+ [(set_attr "neon_type" "neon_shift_1")]
106+)
107+
108+(define_expand "vec_unpack<US>_hi_<mode>"
109+ [(match_operand:<V_unpack> 0 "register_operand" "")
110+ (SE:<V_unpack> (match_operand:VU 1 "register_operand"))]
111+ "TARGET_NEON"
112+ {
113+ rtvec v = rtvec_alloc (<V_mode_nunits>/2) ;
114+ rtx t1;
115+ int i;
116+ for (i = 0; i < (<V_mode_nunits>/2); i++)
117+ RTVEC_ELT (v, i) = GEN_INT ((<V_mode_nunits>/2) + i);
118+
119+ t1 = gen_rtx_PARALLEL (<MODE>mode, v);
120+ emit_insn (gen_neon_vec_unpack<US>_hi_<mode> (operands[0],
121+ operands[1],
122+ t1));
123+ DONE;
124+ }
125+)
126+
127+(define_expand "vec_unpack<US>_lo_<mode>"
128+ [(match_operand:<V_unpack> 0 "register_operand" "")
129+ (SE:<V_unpack> (match_operand:VU 1 "register_operand" ""))]
130+ "TARGET_NEON"
131+ {
132+ rtvec v = rtvec_alloc (<V_mode_nunits>/2) ;
133+ rtx t1;
134+ int i;
135+ for (i = 0; i < (<V_mode_nunits>/2) ; i++)
136+ RTVEC_ELT (v, i) = GEN_INT (i);
137+ t1 = gen_rtx_PARALLEL (<MODE>mode, v);
138+ emit_insn (gen_neon_vec_unpack<US>_lo_<mode> (operands[0],
139+ operands[1],
140+ t1));
141+ DONE;
142+ }
143+)
144+
145+(define_insn "neon_vec_<US>mult_lo_<mode>"
146+ [(set (match_operand:<V_unpack> 0 "register_operand" "=w")
147+ (mult:<V_unpack> (SE:<V_unpack> (vec_select:<V_HALF>
148+ (match_operand:VU 1 "register_operand" "w")
149+ (match_operand:VU 2 "vect_par_constant_low" "")))
150+ (SE:<V_unpack> (vec_select:<V_HALF>
151+ (match_operand:VU 3 "register_operand" "w")
152+ (match_dup 2)))))]
153+ "TARGET_NEON"
154+ "vmull.<US><V_sz_elem> %q0, %e1, %e3"
155+ [(set_attr "neon_type" "neon_shift_1")]
156+)
157+
158+(define_expand "vec_widen_<US>mult_lo_<mode>"
159+ [(match_operand:<V_unpack> 0 "register_operand" "")
160+ (SE:<V_unpack> (match_operand:VU 1 "register_operand" ""))
161+ (SE:<V_unpack> (match_operand:VU 2 "register_operand" ""))]
162+ "TARGET_NEON"
163+ {
164+ rtvec v = rtvec_alloc (<V_mode_nunits>/2) ;
165+ rtx t1;
166+ int i;
167+ for (i = 0; i < (<V_mode_nunits>/2) ; i++)
168+ RTVEC_ELT (v, i) = GEN_INT (i);
169+ t1 = gen_rtx_PARALLEL (<MODE>mode, v);
170+
171+ emit_insn (gen_neon_vec_<US>mult_lo_<mode> (operands[0],
172+ operands[1],
173+ t1,
174+ operands[2]));
175+ DONE;
176+ }
177+)
178+
179+(define_insn "neon_vec_<US>mult_hi_<mode>"
180+ [(set (match_operand:<V_unpack> 0 "register_operand" "=w")
181+ (mult:<V_unpack> (SE:<V_unpack> (vec_select:<V_HALF>
182+ (match_operand:VU 1 "register_operand" "w")
183+ (match_operand:VU 2 "vect_par_constant_high" "")))
184+ (SE:<V_unpack> (vec_select:<V_HALF>
185+ (match_operand:VU 3 "register_operand" "w")
186+ (match_dup 2)))))]
187+ "TARGET_NEON"
188+ "vmull.<US><V_sz_elem> %q0, %f1, %f3"
189+ [(set_attr "neon_type" "neon_shift_1")]
190+)
191+
192+(define_expand "vec_widen_<US>mult_hi_<mode>"
193+ [(match_operand:<V_unpack> 0 "register_operand" "")
194+ (SE:<V_unpack> (match_operand:VU 1 "register_operand" ""))
195+ (SE:<V_unpack> (match_operand:VU 2 "register_operand" ""))]
196+ "TARGET_NEON"
197+ {
198+ rtvec v = rtvec_alloc (<V_mode_nunits>/2) ;
199+ rtx t1;
200+ int i;
201+ for (i = 0; i < (<V_mode_nunits>/2) ; i++)
202+ RTVEC_ELT (v, i) = GEN_INT (<V_mode_nunits>/2 + i);
203+ t1 = gen_rtx_PARALLEL (<MODE>mode, v);
204+
205+ emit_insn (gen_neon_vec_<US>mult_hi_<mode> (operands[0],
206+ operands[1],
207+ t1,
208+ operands[2]));
209+ DONE;
210+
211+ }
212+)
213+
214+;; Vectorize for non-neon-quad case
215+(define_insn "neon_unpack<US>_<mode>"
216+ [(set (match_operand:<V_widen> 0 "register_operand" "=w")
217+ (SE:<V_widen> (match_operand:VDI 1 "register_operand" "")))]
218+ "TARGET_NEON"
219+ "vmovl.<US><V_sz_elem> %q0, %1"
220+ [(set_attr "neon_type" "neon_shift_1")]
221+)
222+
223+(define_expand "vec_unpack<US>_lo_<mode>"
224+ [(match_operand:<V_double_width> 0 "register_operand" "")
225+ (SE:<V_double_width>(match_operand:VDI 1 "register_operand"))]
226+ "TARGET_NEON"
227+{
228+ rtx tmpreg = gen_reg_rtx (<V_widen>mode);
229+ emit_insn (gen_neon_unpack<US>_<mode> (tmpreg, operands[1]));
230+ emit_insn (gen_neon_vget_low<V_widen_l> (operands[0], tmpreg));
231+
232+ DONE;
233+}
234+)
235+
236+(define_expand "vec_unpack<US>_hi_<mode>"
237+ [(match_operand:<V_double_width> 0 "register_operand" "")
238+ (SE:<V_double_width>(match_operand:VDI 1 "register_operand"))]
239+ "TARGET_NEON"
240+{
241+ rtx tmpreg = gen_reg_rtx (<V_widen>mode);
242+ emit_insn (gen_neon_unpack<US>_<mode> (tmpreg, operands[1]));
243+ emit_insn (gen_neon_vget_high<V_widen_l> (operands[0], tmpreg));
244+
245+ DONE;
246+}
247+)
248+
249+(define_insn "neon_vec_<US>mult_<mode>"
250+ [(set (match_operand:<V_widen> 0 "register_operand" "=w")
251+ (mult:<V_widen> (SE:<V_widen>
252+ (match_operand:VDI 1 "register_operand" "w"))
253+ (SE:<V_widen>
254+ (match_operand:VDI 2 "register_operand" "w"))))]
255+ "TARGET_NEON"
256+ "vmull.<US><V_sz_elem> %q0, %1, %2"
257+ [(set_attr "neon_type" "neon_shift_1")]
258+)
259+
260+(define_expand "vec_widen_<US>mult_hi_<mode>"
261+ [(match_operand:<V_double_width> 0 "register_operand" "")
262+ (SE:<V_double_width> (match_operand:VDI 1 "register_operand" ""))
263+ (SE:<V_double_width> (match_operand:VDI 2 "register_operand" ""))]
264+ "TARGET_NEON"
265+ {
266+ rtx tmpreg = gen_reg_rtx (<V_widen>mode);
267+ emit_insn (gen_neon_vec_<US>mult_<mode> (tmpreg, operands[1], operands[2]));
268+ emit_insn (gen_neon_vget_high<V_widen_l> (operands[0], tmpreg));
269+
270+ DONE;
271+
272+ }
273+)
274+
275+(define_expand "vec_widen_<US>mult_lo_<mode>"
276+ [(match_operand:<V_double_width> 0 "register_operand" "")
277+ (SE:<V_double_width> (match_operand:VDI 1 "register_operand" ""))
278+ (SE:<V_double_width> (match_operand:VDI 2 "register_operand" ""))]
279+ "TARGET_NEON"
280+ {
281+ rtx tmpreg = gen_reg_rtx (<V_widen>mode);
282+ emit_insn (gen_neon_vec_<US>mult_<mode> (tmpreg, operands[1], operands[2]));
283+ emit_insn (gen_neon_vget_low<V_widen_l> (operands[0], tmpreg));
284+
285+ DONE;
286+
287+ }
288+)
289
290=== modified file 'gcc/config/arm/predicates.md'
291--- old/gcc/config/arm/predicates.md 2010-08-31 10:00:27 +0000
292+++ new/gcc/config/arm/predicates.md 2010-09-09 14:11:34 +0000
293@@ -573,3 +573,61 @@
294 (and (match_test "TARGET_32BIT")
295 (match_operand 0 "arm_di_operand"))))
296
297+;; Predicates for parallel expanders based on mode.
298+(define_special_predicate "vect_par_constant_high"
299+ (match_code "parallel")
300+{
301+ HOST_WIDE_INT count = XVECLEN (op, 0);
302+ int i;
303+ int base = GET_MODE_NUNITS (mode);
304+
305+ if ((count < 1)
306+ || (count != base/2))
307+ return false;
308+
309+ if (!VECTOR_MODE_P (mode))
310+ return false;
311+
312+ for (i = 0; i < count; i++)
313+ {
314+ rtx elt = XVECEXP (op, 0, i);
315+ int val;
316+
317+ if (GET_CODE (elt) != CONST_INT)
318+ return false;
319+
320+ val = INTVAL (elt);
321+ if (val != (base/2) + i)
322+ return false;
323+ }
324+ return true;
325+})
326+
327+(define_special_predicate "vect_par_constant_low"
328+ (match_code "parallel")
329+{
330+ HOST_WIDE_INT count = XVECLEN (op, 0);
331+ int i;
332+ int base = GET_MODE_NUNITS (mode);
333+
334+ if ((count < 1)
335+ || (count != base/2))
336+ return false;
337+
338+ if (!VECTOR_MODE_P (mode))
339+ return false;
340+
341+ for (i = 0; i < count; i++)
342+ {
343+ rtx elt = XVECEXP (op, 0, i);
344+ int val;
345+
346+ if (GET_CODE (elt) != CONST_INT)
347+ return false;
348+
349+ val = INTVAL (elt);
350+ if (val != i)
351+ return false;
352+ }
353+ return true;
354+})
355
356=== modified file 'gcc/testsuite/lib/target-supports.exp'
357--- old/gcc/testsuite/lib/target-supports.exp 2010-08-24 13:00:03 +0000
358+++ new/gcc/testsuite/lib/target-supports.exp 2010-09-09 14:11:34 +0000
359@@ -2519,7 +2519,8 @@
360 if { ([istarget powerpc*-*-*] && ![istarget powerpc-*paired*])
361 || [istarget i?86-*-*]
362 || [istarget x86_64-*-*]
363- || [istarget spu-*-*] } {
364+ || [istarget spu-*-*]
365+ || ([istarget arm*-*-*] && [check_effective_target_arm_neon]) } {
366 set et_vect_unpack_saved 1
367 }
368 }
369
diff --git a/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99384.patch b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99384.patch
new file mode 100644
index 0000000000..89c04a8949
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99384.patch
@@ -0,0 +1,1202 @@
1 2010-08-18 Marcus Shawcroft <marcus.shawcroft@arm.com>
2 * config/arm/arm-protos.h (arm_expand_sync): New.
3 (arm_output_memory_barrier, arm_output_sync_insn): New.
4 (arm_sync_loop_insns): New.
5 * config/arm/arm.c (FL_ARCH7): New.
6 (FL_FOR_ARCH7): Include FL_ARCH7.
7 (arm_arch7): New.
8 (arm_print_operand): Support %C markup.
9 (arm_legitimize_sync_memory): New.
10 (arm_emit, arm_insn_count, arm_count, arm_output_asm_insn): New.
11 (arm_process_output_memory_barrier, arm_output_memory_barrier): New.
12 (arm_ldrex_suffix, arm_output_ldrex, arm_output_strex): New.
13 (arm_output_op2, arm_output_op3, arm_output_sync_loop): New.
14 (arm_get_sync_operand, FETCH_SYNC_OPERAND): New.
15 (arm_process_output_sync_insn, arm_output_sync_insn): New.
16 (arm_sync_loop_insns,arm_call_generator, arm_expand_sync): New.
17 * config/arm/arm.h (struct arm_sync_generator): New.
18 (TARGET_HAVE_DMB, TARGET_HAVE_DMB_MCR): New.
19 (TARGET_HAVE_MEMORY_BARRIER): New.
20 (TARGET_HAVE_LDREX, TARGET_HAVE_LDREXBHD): New.
21 * config/arm/arm.md: Include sync.md.
22 (UNSPEC_MEMORY_BARRIER): New.
23 (VUNSPEC_SYNC_COMPARE_AND_SWAP, VUNSPEC_SYNC_LOCK): New.
24 (VUNSPEC_SYNC_OP):New.
25 (VUNSPEC_SYNC_NEW_OP, VUNSPEC_SYNC_OLD_OP): New.
26 (sync_result, sync_memory, sync_required_value): New attributes.
27 (sync_new_value, sync_t1, sync_t2): Likewise.
28 (sync_release_barrier, sync_op): Likewise.
29 (length): Add logic to length attribute defintion to call
30 arm_sync_loop_insns when appropriate.
31 * config/arm/sync.md: New file.
32
332010-09-09 Andrew Stubbs <ams@codesourcery.com>
34
35 Backport from mainline:
36
37 2010-08-25 Tejas Belagod <tejas.belagod@arm.com>
38 * config/arm/iterators.md (VU, SE, V_widen_l): New.
39 (V_unpack, US): New.
40
41=== modified file 'gcc/config/arm/arm-protos.h'
42--- old/gcc/config/arm/arm-protos.h 2010-08-24 13:15:54 +0000
43+++ new/gcc/config/arm/arm-protos.h 2010-09-09 15:03:00 +0000
44@@ -148,6 +148,11 @@
45 extern void arm_set_return_address (rtx, rtx);
46 extern int arm_eliminable_register (rtx);
47 extern const char *arm_output_shift(rtx *, int);
48+extern void arm_expand_sync (enum machine_mode, struct arm_sync_generator *,
49+ rtx, rtx, rtx, rtx);
50+extern const char *arm_output_memory_barrier (rtx *);
51+extern const char *arm_output_sync_insn (rtx, rtx *);
52+extern unsigned int arm_sync_loop_insns (rtx , rtx *);
53
54 extern bool arm_output_addr_const_extra (FILE *, rtx);
55
56
57=== modified file 'gcc/config/arm/arm.c'
58--- old/gcc/config/arm/arm.c 2010-09-01 13:29:58 +0000
59+++ new/gcc/config/arm/arm.c 2010-09-09 15:03:00 +0000
60@@ -605,6 +605,7 @@
61 #define FL_NEON (1 << 20) /* Neon instructions. */
62 #define FL_ARCH7EM (1 << 21) /* Instructions present in the ARMv7E-M
63 architecture. */
64+#define FL_ARCH7 (1 << 22) /* Architecture 7. */
65
66 #define FL_IWMMXT (1 << 29) /* XScale v2 or "Intel Wireless MMX technology". */
67
68@@ -625,7 +626,7 @@
69 #define FL_FOR_ARCH6ZK FL_FOR_ARCH6K
70 #define FL_FOR_ARCH6T2 (FL_FOR_ARCH6 | FL_THUMB2)
71 #define FL_FOR_ARCH6M (FL_FOR_ARCH6 & ~FL_NOTM)
72-#define FL_FOR_ARCH7 (FL_FOR_ARCH6T2 &~ FL_NOTM)
73+#define FL_FOR_ARCH7 ((FL_FOR_ARCH6T2 & ~FL_NOTM) | FL_ARCH7)
74 #define FL_FOR_ARCH7A (FL_FOR_ARCH7 | FL_NOTM | FL_ARCH6K)
75 #define FL_FOR_ARCH7R (FL_FOR_ARCH7A | FL_DIV)
76 #define FL_FOR_ARCH7M (FL_FOR_ARCH7 | FL_DIV)
77@@ -663,6 +664,9 @@
78 /* Nonzero if this chip supports the ARM 6K extensions. */
79 int arm_arch6k = 0;
80
81+/* Nonzero if this chip supports the ARM 7 extensions. */
82+int arm_arch7 = 0;
83+
84 /* Nonzero if instructions not present in the 'M' profile can be used. */
85 int arm_arch_notm = 0;
86
87@@ -1634,6 +1638,7 @@
88 arm_arch6 = (insn_flags & FL_ARCH6) != 0;
89 arm_arch6k = (insn_flags & FL_ARCH6K) != 0;
90 arm_arch_notm = (insn_flags & FL_NOTM) != 0;
91+ arm_arch7 = (insn_flags & FL_ARCH7) != 0;
92 arm_arch7em = (insn_flags & FL_ARCH7EM) != 0;
93 arm_arch_thumb2 = (insn_flags & FL_THUMB2) != 0;
94 arm_arch_xscale = (insn_flags & FL_XSCALE) != 0;
95@@ -16561,6 +16566,17 @@
96 }
97 return;
98
99+ case 'C':
100+ {
101+ rtx addr;
102+
103+ gcc_assert (GET_CODE (x) == MEM);
104+ addr = XEXP (x, 0);
105+ gcc_assert (GET_CODE (addr) == REG);
106+ asm_fprintf (stream, "[%r]", REGNO (addr));
107+ }
108+ return;
109+
110 /* Translate an S register number into a D register number and element index. */
111 case 'y':
112 {
113@@ -22763,4 +22779,372 @@
114 is_packed);
115 }
116
117+/* Legitimize a memory reference for sync primitive implemented using
118+ ldrex / strex. We currently force the form of the reference to be
119+ indirect without offset. We do not yet support the indirect offset
120+ addressing supported by some ARM targets for these
121+ instructions. */
122+static rtx
123+arm_legitimize_sync_memory (rtx memory)
124+{
125+ rtx addr = force_reg (Pmode, XEXP (memory, 0));
126+ rtx legitimate_memory = gen_rtx_MEM (GET_MODE (memory), addr);
127+
128+ set_mem_alias_set (legitimate_memory, ALIAS_SET_MEMORY_BARRIER);
129+ MEM_VOLATILE_P (legitimate_memory) = MEM_VOLATILE_P (memory);
130+ return legitimate_memory;
131+}
132+
133+/* An instruction emitter. */
134+typedef void (* emit_f) (int label, const char *, rtx *);
135+
136+/* An instruction emitter that emits via the conventional
137+ output_asm_insn. */
138+static void
139+arm_emit (int label ATTRIBUTE_UNUSED, const char *pattern, rtx *operands)
140+{
141+ output_asm_insn (pattern, operands);
142+}
143+
144+/* Count the number of emitted synchronization instructions. */
145+static unsigned arm_insn_count;
146+
147+/* An emitter that counts emitted instructions but does not actually
148+ emit instruction into the the instruction stream. */
149+static void
150+arm_count (int label,
151+ const char *pattern ATTRIBUTE_UNUSED,
152+ rtx *operands ATTRIBUTE_UNUSED)
153+{
154+ if (! label)
155+ ++ arm_insn_count;
156+}
157+
158+/* Construct a pattern using conventional output formatting and feed
159+ it to output_asm_insn. Provides a mechanism to construct the
160+ output pattern on the fly. Note the hard limit on the pattern
161+ buffer size. */
162+static void
163+arm_output_asm_insn (emit_f emit, int label, rtx *operands,
164+ const char *pattern, ...)
165+{
166+ va_list ap;
167+ char buffer[256];
168+
169+ va_start (ap, pattern);
170+ vsprintf (buffer, pattern, ap);
171+ va_end (ap);
172+ emit (label, buffer, operands);
173+}
174+
175+/* Emit the memory barrier instruction, if any, provided by this
176+ target to a specified emitter. */
177+static void
178+arm_process_output_memory_barrier (emit_f emit, rtx *operands)
179+{
180+ if (TARGET_HAVE_DMB)
181+ {
182+ /* Note we issue a system level barrier. We should consider
183+ issuing a inner shareabilty zone barrier here instead, ie.
184+ "DMB ISH". */
185+ emit (0, "dmb\tsy", operands);
186+ return;
187+ }
188+
189+ if (TARGET_HAVE_DMB_MCR)
190+ {
191+ emit (0, "mcr\tp15, 0, r0, c7, c10, 5", operands);
192+ return;
193+ }
194+
195+ gcc_unreachable ();
196+}
197+
198+/* Emit the memory barrier instruction, if any, provided by this
199+ target. */
200+const char *
201+arm_output_memory_barrier (rtx *operands)
202+{
203+ arm_process_output_memory_barrier (arm_emit, operands);
204+ return "";
205+}
206+
207+/* Helper to figure out the instruction suffix required on ldrex/strex
208+ for operations on an object of the specified mode. */
209+static const char *
210+arm_ldrex_suffix (enum machine_mode mode)
211+{
212+ switch (mode)
213+ {
214+ case QImode: return "b";
215+ case HImode: return "h";
216+ case SImode: return "";
217+ case DImode: return "d";
218+ default:
219+ gcc_unreachable ();
220+ }
221+ return "";
222+}
223+
224+/* Emit an ldrex{b,h,d, } instruction appropriate for the specified
225+ mode. */
226+static void
227+arm_output_ldrex (emit_f emit,
228+ enum machine_mode mode,
229+ rtx target,
230+ rtx memory)
231+{
232+ const char *suffix = arm_ldrex_suffix (mode);
233+ rtx operands[2];
234+
235+ operands[0] = target;
236+ operands[1] = memory;
237+ arm_output_asm_insn (emit, 0, operands, "ldrex%s\t%%0, %%C1", suffix);
238+}
239+
240+/* Emit a strex{b,h,d, } instruction appropriate for the specified
241+ mode. */
242+static void
243+arm_output_strex (emit_f emit,
244+ enum machine_mode mode,
245+ const char *cc,
246+ rtx result,
247+ rtx value,
248+ rtx memory)
249+{
250+ const char *suffix = arm_ldrex_suffix (mode);
251+ rtx operands[3];
252+
253+ operands[0] = result;
254+ operands[1] = value;
255+ operands[2] = memory;
256+ arm_output_asm_insn (emit, 0, operands, "strex%s%s\t%%0, %%1, %%C2", suffix,
257+ cc);
258+}
259+
260+/* Helper to emit a two operand instruction. */
261+static void
262+arm_output_op2 (emit_f emit, const char *mnemonic, rtx d, rtx s)
263+{
264+ rtx operands[2];
265+
266+ operands[0] = d;
267+ operands[1] = s;
268+ arm_output_asm_insn (emit, 0, operands, "%s\t%%0, %%1", mnemonic);
269+}
270+
271+/* Helper to emit a three operand instruction. */
272+static void
273+arm_output_op3 (emit_f emit, const char *mnemonic, rtx d, rtx a, rtx b)
274+{
275+ rtx operands[3];
276+
277+ operands[0] = d;
278+ operands[1] = a;
279+ operands[2] = b;
280+ arm_output_asm_insn (emit, 0, operands, "%s\t%%0, %%1, %%2", mnemonic);
281+}
282+
283+/* Emit a load store exclusive synchronization loop.
284+
285+ do
286+ old_value = [mem]
287+ if old_value != required_value
288+ break;
289+ t1 = sync_op (old_value, new_value)
290+ [mem] = t1, t2 = [0|1]
291+ while ! t2
292+
293+ Note:
294+ t1 == t2 is not permitted
295+ t1 == old_value is permitted
296+
297+ required_value:
298+
299+ RTX register or const_int representing the required old_value for
300+ the modify to continue, if NULL no comparsion is performed. */
301+static void
302+arm_output_sync_loop (emit_f emit,
303+ enum machine_mode mode,
304+ rtx old_value,
305+ rtx memory,
306+ rtx required_value,
307+ rtx new_value,
308+ rtx t1,
309+ rtx t2,
310+ enum attr_sync_op sync_op,
311+ int early_barrier_required)
312+{
313+ rtx operands[1];
314+
315+ gcc_assert (t1 != t2);
316+
317+ if (early_barrier_required)
318+ arm_process_output_memory_barrier (emit, NULL);
319+
320+ arm_output_asm_insn (emit, 1, operands, "%sLSYT%%=:", LOCAL_LABEL_PREFIX);
321+
322+ arm_output_ldrex (emit, mode, old_value, memory);
323+
324+ if (required_value)
325+ {
326+ rtx operands[2];
327+
328+ operands[0] = old_value;
329+ operands[1] = required_value;
330+ arm_output_asm_insn (emit, 0, operands, "cmp\t%%0, %%1");
331+ arm_output_asm_insn (emit, 0, operands, "bne\t%sLSYB%%=", LOCAL_LABEL_PREFIX);
332+ }
333+
334+ switch (sync_op)
335+ {
336+ case SYNC_OP_ADD:
337+ arm_output_op3 (emit, "add", t1, old_value, new_value);
338+ break;
339+
340+ case SYNC_OP_SUB:
341+ arm_output_op3 (emit, "sub", t1, old_value, new_value);
342+ break;
343+
344+ case SYNC_OP_IOR:
345+ arm_output_op3 (emit, "orr", t1, old_value, new_value);
346+ break;
347+
348+ case SYNC_OP_XOR:
349+ arm_output_op3 (emit, "eor", t1, old_value, new_value);
350+ break;
351+
352+ case SYNC_OP_AND:
353+ arm_output_op3 (emit,"and", t1, old_value, new_value);
354+ break;
355+
356+ case SYNC_OP_NAND:
357+ arm_output_op3 (emit, "and", t1, old_value, new_value);
358+ arm_output_op2 (emit, "mvn", t1, t1);
359+ break;
360+
361+ case SYNC_OP_NONE:
362+ t1 = new_value;
363+ break;
364+ }
365+
366+ arm_output_strex (emit, mode, "", t2, t1, memory);
367+ operands[0] = t2;
368+ arm_output_asm_insn (emit, 0, operands, "teq\t%%0, #0");
369+ arm_output_asm_insn (emit, 0, operands, "bne\t%sLSYT%%=", LOCAL_LABEL_PREFIX);
370+
371+ arm_process_output_memory_barrier (emit, NULL);
372+ arm_output_asm_insn (emit, 1, operands, "%sLSYB%%=:", LOCAL_LABEL_PREFIX);
373+}
374+
375+static rtx
376+arm_get_sync_operand (rtx *operands, int index, rtx default_value)
377+{
378+ if (index > 0)
379+ default_value = operands[index - 1];
380+
381+ return default_value;
382+}
383+
384+#define FETCH_SYNC_OPERAND(NAME, DEFAULT) \
385+ arm_get_sync_operand (operands, (int) get_attr_sync_##NAME (insn), DEFAULT);
386+
387+/* Extract the operands for a synchroniztion instruction from the
388+ instructions attributes and emit the instruction. */
389+static void
390+arm_process_output_sync_insn (emit_f emit, rtx insn, rtx *operands)
391+{
392+ rtx result, memory, required_value, new_value, t1, t2;
393+ int early_barrier;
394+ enum machine_mode mode;
395+ enum attr_sync_op sync_op;
396+
397+ result = FETCH_SYNC_OPERAND(result, 0);
398+ memory = FETCH_SYNC_OPERAND(memory, 0);
399+ required_value = FETCH_SYNC_OPERAND(required_value, 0);
400+ new_value = FETCH_SYNC_OPERAND(new_value, 0);
401+ t1 = FETCH_SYNC_OPERAND(t1, 0);
402+ t2 = FETCH_SYNC_OPERAND(t2, 0);
403+ early_barrier =
404+ get_attr_sync_release_barrier (insn) == SYNC_RELEASE_BARRIER_YES;
405+ sync_op = get_attr_sync_op (insn);
406+ mode = GET_MODE (memory);
407+
408+ arm_output_sync_loop (emit, mode, result, memory, required_value,
409+ new_value, t1, t2, sync_op, early_barrier);
410+}
411+
412+/* Emit a synchronization instruction loop. */
413+const char *
414+arm_output_sync_insn (rtx insn, rtx *operands)
415+{
416+ arm_process_output_sync_insn (arm_emit, insn, operands);
417+ return "";
418+}
419+
420+/* Count the number of machine instruction that will be emitted for a
421+ synchronization instruction. Note that the emitter used does not
422+ emit instructions, it just counts instructions being carefull not
423+ to count labels. */
424+unsigned int
425+arm_sync_loop_insns (rtx insn, rtx *operands)
426+{
427+ arm_insn_count = 0;
428+ arm_process_output_sync_insn (arm_count, insn, operands);
429+ return arm_insn_count;
430+}
431+
432+/* Helper to call a target sync instruction generator, dealing with
433+ the variation in operands required by the different generators. */
434+static rtx
435+arm_call_generator (struct arm_sync_generator *generator, rtx old_value,
436+ rtx memory, rtx required_value, rtx new_value)
437+{
438+ switch (generator->op)
439+ {
440+ case arm_sync_generator_omn:
441+ gcc_assert (! required_value);
442+ return generator->u.omn (old_value, memory, new_value);
443+
444+ case arm_sync_generator_omrn:
445+ gcc_assert (required_value);
446+ return generator->u.omrn (old_value, memory, required_value, new_value);
447+ }
448+
449+ return NULL;
450+}
451+
452+/* Expand a synchronization loop. The synchronization loop is expanded
453+ as an opaque block of instructions in order to ensure that we do
454+ not subsequently get extraneous memory accesses inserted within the
455+ critical region. The exclusive access property of ldrex/strex is
456+ only guaranteed in there are no intervening memory accesses. */
457+void
458+arm_expand_sync (enum machine_mode mode,
459+ struct arm_sync_generator *generator,
460+ rtx target, rtx memory, rtx required_value, rtx new_value)
461+{
462+ if (target == NULL)
463+ target = gen_reg_rtx (mode);
464+
465+ memory = arm_legitimize_sync_memory (memory);
466+ if (mode != SImode)
467+ {
468+ rtx load_temp = gen_reg_rtx (SImode);
469+
470+ if (required_value)
471+ required_value = convert_modes (SImode, mode, required_value, true);
472+
473+ new_value = convert_modes (SImode, mode, new_value, true);
474+ emit_insn (arm_call_generator (generator, load_temp, memory,
475+ required_value, new_value));
476+ emit_move_insn (target, gen_lowpart (mode, load_temp));
477+ }
478+ else
479+ {
480+ emit_insn (arm_call_generator (generator, target, memory, required_value,
481+ new_value));
482+ }
483+}
484+
485 #include "gt-arm.h"
486
487=== modified file 'gcc/config/arm/arm.h'
488--- old/gcc/config/arm/arm.h 2010-09-01 13:29:58 +0000
489+++ new/gcc/config/arm/arm.h 2010-09-09 15:03:00 +0000
490@@ -128,6 +128,24 @@
491 /* The processor for which instructions should be scheduled. */
492 extern enum processor_type arm_tune;
493
494+enum arm_sync_generator_tag
495+ {
496+ arm_sync_generator_omn,
497+ arm_sync_generator_omrn
498+ };
499+
500+/* Wrapper to pass around a polymorphic pointer to a sync instruction
501+ generator and. */
502+struct arm_sync_generator
503+{
504+ enum arm_sync_generator_tag op;
505+ union
506+ {
507+ rtx (* omn) (rtx, rtx, rtx);
508+ rtx (* omrn) (rtx, rtx, rtx, rtx);
509+ } u;
510+};
511+
512 typedef enum arm_cond_code
513 {
514 ARM_EQ = 0, ARM_NE, ARM_CS, ARM_CC, ARM_MI, ARM_PL, ARM_VS, ARM_VC,
515@@ -272,6 +290,20 @@
516 for Thumb-2. */
517 #define TARGET_UNIFIED_ASM TARGET_THUMB2
518
519+/* Nonzero if this chip provides the DMB instruction. */
520+#define TARGET_HAVE_DMB (arm_arch7)
521+
522+/* Nonzero if this chip implements a memory barrier via CP15. */
523+#define TARGET_HAVE_DMB_MCR (arm_arch6k && ! TARGET_HAVE_DMB)
524+
525+/* Nonzero if this chip implements a memory barrier instruction. */
526+#define TARGET_HAVE_MEMORY_BARRIER (TARGET_HAVE_DMB || TARGET_HAVE_DMB_MCR)
527+
528+/* Nonzero if this chip supports ldrex and strex */
529+#define TARGET_HAVE_LDREX ((arm_arch6 && TARGET_ARM) || arm_arch7)
530+
531+/* Nonzero if this chip supports ldrex{bhd} and strex{bhd}. */
532+#define TARGET_HAVE_LDREXBHD ((arm_arch6k && TARGET_ARM) || arm_arch7)
533
534 /* True iff the full BPABI is being used. If TARGET_BPABI is true,
535 then TARGET_AAPCS_BASED must be true -- but the converse does not
536@@ -405,6 +437,12 @@
537 /* Nonzero if this chip supports the ARM Architecture 6 extensions. */
538 extern int arm_arch6;
539
540+/* Nonzero if this chip supports the ARM Architecture 6k extensions. */
541+extern int arm_arch6k;
542+
543+/* Nonzero if this chip supports the ARM Architecture 7 extensions. */
544+extern int arm_arch7;
545+
546 /* Nonzero if instructions not present in the 'M' profile can be used. */
547 extern int arm_arch_notm;
548
549
550=== modified file 'gcc/config/arm/arm.md'
551--- old/gcc/config/arm/arm.md 2010-09-09 14:11:34 +0000
552+++ new/gcc/config/arm/arm.md 2010-09-09 15:03:00 +0000
553@@ -103,6 +103,7 @@
554 (UNSPEC_RBIT 26) ; rbit operation.
555 (UNSPEC_SYMBOL_OFFSET 27) ; The offset of the start of the symbol from
556 ; another symbolic address.
557+ (UNSPEC_MEMORY_BARRIER 28) ; Represent a memory barrier.
558 ]
559 )
560
561@@ -139,6 +140,11 @@
562 (VUNSPEC_ALIGN32 16) ; Used to force 32-byte alignment.
563 (VUNSPEC_EH_RETURN 20); Use to override the return address for exception
564 ; handling.
565+ (VUNSPEC_SYNC_COMPARE_AND_SWAP 21) ; Represent an atomic compare swap.
566+ (VUNSPEC_SYNC_LOCK 22) ; Represent a sync_lock_test_and_set.
567+ (VUNSPEC_SYNC_OP 23) ; Represent a sync_<op>
568+ (VUNSPEC_SYNC_NEW_OP 24) ; Represent a sync_new_<op>
569+ (VUNSPEC_SYNC_OLD_OP 25) ; Represent a sync_old_<op>
570 ]
571 )
572
573@@ -163,8 +169,21 @@
574 (define_attr "fpu" "none,fpa,fpe2,fpe3,maverick,vfp"
575 (const (symbol_ref "arm_fpu_attr")))
576
577+(define_attr "sync_result" "none,0,1,2,3,4,5" (const_string "none"))
578+(define_attr "sync_memory" "none,0,1,2,3,4,5" (const_string "none"))
579+(define_attr "sync_required_value" "none,0,1,2,3,4,5" (const_string "none"))
580+(define_attr "sync_new_value" "none,0,1,2,3,4,5" (const_string "none"))
581+(define_attr "sync_t1" "none,0,1,2,3,4,5" (const_string "none"))
582+(define_attr "sync_t2" "none,0,1,2,3,4,5" (const_string "none"))
583+(define_attr "sync_release_barrier" "yes,no" (const_string "yes"))
584+(define_attr "sync_op" "none,add,sub,ior,xor,and,nand"
585+ (const_string "none"))
586+
587 ; LENGTH of an instruction (in bytes)
588-(define_attr "length" "" (const_int 4))
589+(define_attr "length" ""
590+ (cond [(not (eq_attr "sync_memory" "none"))
591+ (symbol_ref "arm_sync_loop_insns (insn, operands) * 4")
592+ ] (const_int 4)))
593
594 ; POOL_RANGE is how far away from a constant pool entry that this insn
595 ; can be placed. If the distance is zero, then this insn will never
596@@ -11530,4 +11549,5 @@
597 (include "thumb2.md")
598 ;; Neon patterns
599 (include "neon.md")
600-
601+;; Synchronization Primitives
602+(include "sync.md")
603
604=== added file 'gcc/config/arm/sync.md'
605--- old/gcc/config/arm/sync.md 1970-01-01 00:00:00 +0000
606+++ new/gcc/config/arm/sync.md 2010-09-09 15:03:00 +0000
607@@ -0,0 +1,594 @@
608+;; Machine description for ARM processor synchronization primitives.
609+;; Copyright (C) 2010 Free Software Foundation, Inc.
610+;; Written by Marcus Shawcroft (marcus.shawcroft@arm.com)
611+;;
612+;; This file is part of GCC.
613+;;
614+;; GCC is free software; you can redistribute it and/or modify it
615+;; under the terms of the GNU General Public License as published by
616+;; the Free Software Foundation; either version 3, or (at your option)
617+;; any later version.
618+;;
619+;; GCC is distributed in the hope that it will be useful, but
620+;; WITHOUT ANY WARRANTY; without even the implied warranty of
621+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
622+;; General Public License for more details.
623+;;
624+;; You should have received a copy of the GNU General Public License
625+;; along with GCC; see the file COPYING3. If not see
626+;; <http://www.gnu.org/licenses/>. */
627+
628+;; ARMV6 introduced ldrex and strex instruction. These instruction
629+;; access SI width data. In order to implement synchronization
630+;; primitives for the narrower QI and HI modes we insert appropriate
631+;; AND/OR sequences into the synchronization loop to mask out the
632+;; relevant component of an SI access.
633+
634+(define_expand "memory_barrier"
635+ [(set (match_dup 0)
636+ (unspec:BLK [(match_dup 0)] UNSPEC_MEMORY_BARRIER))]
637+ "TARGET_HAVE_MEMORY_BARRIER"
638+{
639+ operands[0] = gen_rtx_MEM (BLKmode, gen_rtx_SCRATCH (Pmode));
640+ MEM_VOLATILE_P (operands[0]) = 1;
641+})
642+
643+(define_expand "sync_compare_and_swapsi"
644+ [(set (match_operand:SI 0 "s_register_operand")
645+ (unspec_volatile:SI [(match_operand:SI 1 "memory_operand")
646+ (match_operand:SI 2 "s_register_operand")
647+ (match_operand:SI 3 "s_register_operand")]
648+ VUNSPEC_SYNC_COMPARE_AND_SWAP))]
649+ "TARGET_HAVE_LDREX && TARGET_HAVE_MEMORY_BARRIER"
650+ {
651+ struct arm_sync_generator generator;
652+ generator.op = arm_sync_generator_omrn;
653+ generator.u.omrn = gen_arm_sync_compare_and_swapsi;
654+ arm_expand_sync (SImode, &generator, operands[0], operands[1], operands[2],
655+ operands[3]);
656+ DONE;
657+ })
658+
659+(define_mode_iterator NARROW [QI HI])
660+
661+(define_expand "sync_compare_and_swap<mode>"
662+ [(set (match_operand:NARROW 0 "s_register_operand")
663+ (unspec_volatile:NARROW [(match_operand:NARROW 1 "memory_operand")
664+ (match_operand:NARROW 2 "s_register_operand")
665+ (match_operand:NARROW 3 "s_register_operand")]
666+ VUNSPEC_SYNC_COMPARE_AND_SWAP))]
667+ "TARGET_HAVE_LDREXBHD && TARGET_HAVE_MEMORY_BARRIER"
668+ {
669+ struct arm_sync_generator generator;
670+ generator.op = arm_sync_generator_omrn;
671+ generator.u.omrn = gen_arm_sync_compare_and_swap<mode>;
672+ arm_expand_sync (<MODE>mode, &generator, operands[0], operands[1],
673+ operands[2], operands[3]);
674+ DONE;
675+ })
676+
677+(define_expand "sync_lock_test_and_setsi"
678+ [(match_operand:SI 0 "s_register_operand")
679+ (match_operand:SI 1 "memory_operand")
680+ (match_operand:SI 2 "s_register_operand")]
681+ "TARGET_HAVE_LDREX && TARGET_HAVE_MEMORY_BARRIER"
682+ {
683+ struct arm_sync_generator generator;
684+ generator.op = arm_sync_generator_omn;
685+ generator.u.omn = gen_arm_sync_lock_test_and_setsi;
686+ arm_expand_sync (SImode, &generator, operands[0], operands[1], NULL,
687+ operands[2]);
688+ DONE;
689+ })
690+
691+(define_expand "sync_lock_test_and_set<mode>"
692+ [(match_operand:NARROW 0 "s_register_operand")
693+ (match_operand:NARROW 1 "memory_operand")
694+ (match_operand:NARROW 2 "s_register_operand")]
695+ "TARGET_HAVE_LDREXBHD && TARGET_HAVE_MEMORY_BARRIER"
696+ {
697+ struct arm_sync_generator generator;
698+ generator.op = arm_sync_generator_omn;
699+ generator.u.omn = gen_arm_sync_lock_test_and_set<mode>;
700+ arm_expand_sync (<MODE>mode, &generator, operands[0], operands[1], NULL,
701+ operands[2]);
702+ DONE;
703+ })
704+
705+(define_code_iterator syncop [plus minus ior xor and])
706+
707+(define_code_attr sync_optab [(ior "ior")
708+ (xor "xor")
709+ (and "and")
710+ (plus "add")
711+ (minus "sub")])
712+
713+(define_expand "sync_<sync_optab>si"
714+ [(match_operand:SI 0 "memory_operand")
715+ (match_operand:SI 1 "s_register_operand")
716+ (syncop:SI (match_dup 0) (match_dup 1))]
717+ "TARGET_HAVE_LDREX && TARGET_HAVE_MEMORY_BARRIER"
718+ {
719+ struct arm_sync_generator generator;
720+ generator.op = arm_sync_generator_omn;
721+ generator.u.omn = gen_arm_sync_new_<sync_optab>si;
722+ arm_expand_sync (SImode, &generator, NULL, operands[0], NULL, operands[1]);
723+ DONE;
724+ })
725+
726+(define_expand "sync_nandsi"
727+ [(match_operand:SI 0 "memory_operand")
728+ (match_operand:SI 1 "s_register_operand")
729+ (not:SI (and:SI (match_dup 0) (match_dup 1)))]
730+ "TARGET_HAVE_LDREX && TARGET_HAVE_MEMORY_BARRIER"
731+ {
732+ struct arm_sync_generator generator;
733+ generator.op = arm_sync_generator_omn;
734+ generator.u.omn = gen_arm_sync_new_nandsi;
735+ arm_expand_sync (SImode, &generator, NULL, operands[0], NULL, operands[1]);
736+ DONE;
737+ })
738+
739+(define_expand "sync_<sync_optab><mode>"
740+ [(match_operand:NARROW 0 "memory_operand")
741+ (match_operand:NARROW 1 "s_register_operand")
742+ (syncop:NARROW (match_dup 0) (match_dup 1))]
743+ "TARGET_HAVE_LDREXBHD && TARGET_HAVE_MEMORY_BARRIER"
744+ {
745+ struct arm_sync_generator generator;
746+ generator.op = arm_sync_generator_omn;
747+ generator.u.omn = gen_arm_sync_new_<sync_optab><mode>;
748+ arm_expand_sync (<MODE>mode, &generator, NULL, operands[0], NULL,
749+ operands[1]);
750+ DONE;
751+ })
752+
753+(define_expand "sync_nand<mode>"
754+ [(match_operand:NARROW 0 "memory_operand")
755+ (match_operand:NARROW 1 "s_register_operand")
756+ (not:NARROW (and:NARROW (match_dup 0) (match_dup 1)))]
757+ "TARGET_HAVE_LDREXBHD && TARGET_HAVE_MEMORY_BARRIER"
758+ {
759+ struct arm_sync_generator generator;
760+ generator.op = arm_sync_generator_omn;
761+ generator.u.omn = gen_arm_sync_new_nand<mode>;
762+ arm_expand_sync (<MODE>mode, &generator, NULL, operands[0], NULL,
763+ operands[1]);
764+ DONE;
765+ })
766+
767+(define_expand "sync_new_<sync_optab>si"
768+ [(match_operand:SI 0 "s_register_operand")
769+ (match_operand:SI 1 "memory_operand")
770+ (match_operand:SI 2 "s_register_operand")
771+ (syncop:SI (match_dup 1) (match_dup 2))]
772+ "TARGET_HAVE_LDREX && TARGET_HAVE_MEMORY_BARRIER"
773+ {
774+ struct arm_sync_generator generator;
775+ generator.op = arm_sync_generator_omn;
776+ generator.u.omn = gen_arm_sync_new_<sync_optab>si;
777+ arm_expand_sync (SImode, &generator, operands[0], operands[1], NULL,
778+ operands[2]);
779+ DONE;
780+ })
781+
782+(define_expand "sync_new_nandsi"
783+ [(match_operand:SI 0 "s_register_operand")
784+ (match_operand:SI 1 "memory_operand")
785+ (match_operand:SI 2 "s_register_operand")
786+ (not:SI (and:SI (match_dup 1) (match_dup 2)))]
787+ "TARGET_HAVE_LDREX && TARGET_HAVE_MEMORY_BARRIER"
788+ {
789+ struct arm_sync_generator generator;
790+ generator.op = arm_sync_generator_omn;
791+ generator.u.omn = gen_arm_sync_new_nandsi;
792+ arm_expand_sync (SImode, &generator, operands[0], operands[1], NULL,
793+ operands[2]);
794+ DONE;
795+ })
796+
797+(define_expand "sync_new_<sync_optab><mode>"
798+ [(match_operand:NARROW 0 "s_register_operand")
799+ (match_operand:NARROW 1 "memory_operand")
800+ (match_operand:NARROW 2 "s_register_operand")
801+ (syncop:NARROW (match_dup 1) (match_dup 2))]
802+ "TARGET_HAVE_LDREXBHD && TARGET_HAVE_MEMORY_BARRIER"
803+ {
804+ struct arm_sync_generator generator;
805+ generator.op = arm_sync_generator_omn;
806+ generator.u.omn = gen_arm_sync_new_<sync_optab><mode>;
807+ arm_expand_sync (<MODE>mode, &generator, operands[0], operands[1],
808+ NULL, operands[2]);
809+ DONE;
810+ })
811+
812+(define_expand "sync_new_nand<mode>"
813+ [(match_operand:NARROW 0 "s_register_operand")
814+ (match_operand:NARROW 1 "memory_operand")
815+ (match_operand:NARROW 2 "s_register_operand")
816+ (not:NARROW (and:NARROW (match_dup 1) (match_dup 2)))]
817+ "TARGET_HAVE_LDREXBHD && TARGET_HAVE_MEMORY_BARRIER"
818+ {
819+ struct arm_sync_generator generator;
820+ generator.op = arm_sync_generator_omn;
821+ generator.u.omn = gen_arm_sync_new_nand<mode>;
822+ arm_expand_sync (<MODE>mode, &generator, operands[0], operands[1],
823+ NULL, operands[2]);
824+ DONE;
825+ });
826+
827+(define_expand "sync_old_<sync_optab>si"
828+ [(match_operand:SI 0 "s_register_operand")
829+ (match_operand:SI 1 "memory_operand")
830+ (match_operand:SI 2 "s_register_operand")
831+ (syncop:SI (match_dup 1) (match_dup 2))]
832+ "TARGET_HAVE_LDREX && TARGET_HAVE_MEMORY_BARRIER"
833+ {
834+ struct arm_sync_generator generator;
835+ generator.op = arm_sync_generator_omn;
836+ generator.u.omn = gen_arm_sync_old_<sync_optab>si;
837+ arm_expand_sync (SImode, &generator, operands[0], operands[1], NULL,
838+ operands[2]);
839+ DONE;
840+ })
841+
842+(define_expand "sync_old_nandsi"
843+ [(match_operand:SI 0 "s_register_operand")
844+ (match_operand:SI 1 "memory_operand")
845+ (match_operand:SI 2 "s_register_operand")
846+ (not:SI (and:SI (match_dup 1) (match_dup 2)))]
847+ "TARGET_HAVE_LDREX && TARGET_HAVE_MEMORY_BARRIER"
848+ {
849+ struct arm_sync_generator generator;
850+ generator.op = arm_sync_generator_omn;
851+ generator.u.omn = gen_arm_sync_old_nandsi;
852+ arm_expand_sync (SImode, &generator, operands[0], operands[1], NULL,
853+ operands[2]);
854+ DONE;
855+ })
856+
857+(define_expand "sync_old_<sync_optab><mode>"
858+ [(match_operand:NARROW 0 "s_register_operand")
859+ (match_operand:NARROW 1 "memory_operand")
860+ (match_operand:NARROW 2 "s_register_operand")
861+ (syncop:NARROW (match_dup 1) (match_dup 2))]
862+ "TARGET_HAVE_LDREXBHD && TARGET_HAVE_MEMORY_BARRIER"
863+ {
864+ struct arm_sync_generator generator;
865+ generator.op = arm_sync_generator_omn;
866+ generator.u.omn = gen_arm_sync_old_<sync_optab><mode>;
867+ arm_expand_sync (<MODE>mode, &generator, operands[0], operands[1],
868+ NULL, operands[2]);
869+ DONE;
870+ })
871+
872+(define_expand "sync_old_nand<mode>"
873+ [(match_operand:NARROW 0 "s_register_operand")
874+ (match_operand:NARROW 1 "memory_operand")
875+ (match_operand:NARROW 2 "s_register_operand")
876+ (not:NARROW (and:NARROW (match_dup 1) (match_dup 2)))]
877+ "TARGET_HAVE_LDREXBHD && TARGET_HAVE_MEMORY_BARRIER"
878+ {
879+ struct arm_sync_generator generator;
880+ generator.op = arm_sync_generator_omn;
881+ generator.u.omn = gen_arm_sync_old_nand<mode>;
882+ arm_expand_sync (<MODE>mode, &generator, operands[0], operands[1],
883+ NULL, operands[2]);
884+ DONE;
885+ })
886+
887+(define_insn "arm_sync_compare_and_swapsi"
888+ [(set (match_operand:SI 0 "s_register_operand" "=&r")
889+ (unspec_volatile:SI
890+ [(match_operand:SI 1 "memory_operand" "+m")
891+ (match_operand:SI 2 "s_register_operand" "r")
892+ (match_operand:SI 3 "s_register_operand" "r")]
893+ VUNSPEC_SYNC_COMPARE_AND_SWAP))
894+ (set (match_dup 1) (unspec_volatile:SI [(match_dup 2)]
895+ VUNSPEC_SYNC_COMPARE_AND_SWAP))
896+ (clobber:SI (match_scratch:SI 4 "=&r"))
897+ (set (reg:CC CC_REGNUM) (unspec_volatile:CC [(match_dup 1)]
898+ VUNSPEC_SYNC_COMPARE_AND_SWAP))
899+ ]
900+ "TARGET_HAVE_LDREX && TARGET_HAVE_MEMORY_BARRIER"
901+ {
902+ return arm_output_sync_insn (insn, operands);
903+ }
904+ [(set_attr "sync_result" "0")
905+ (set_attr "sync_memory" "1")
906+ (set_attr "sync_required_value" "2")
907+ (set_attr "sync_new_value" "3")
908+ (set_attr "sync_t1" "0")
909+ (set_attr "sync_t2" "4")
910+ (set_attr "conds" "nocond")
911+ (set_attr "predicable" "no")])
912+
913+(define_insn "arm_sync_compare_and_swap<mode>"
914+ [(set (match_operand:SI 0 "s_register_operand" "=&r")
915+ (zero_extend:SI
916+ (unspec_volatile:NARROW
917+ [(match_operand:NARROW 1 "memory_operand" "+m")
918+ (match_operand:SI 2 "s_register_operand" "r")
919+ (match_operand:SI 3 "s_register_operand" "r")]
920+ VUNSPEC_SYNC_COMPARE_AND_SWAP)))
921+ (set (match_dup 1) (unspec_volatile:NARROW [(match_dup 2)]
922+ VUNSPEC_SYNC_COMPARE_AND_SWAP))
923+ (clobber:SI (match_scratch:SI 4 "=&r"))
924+ (set (reg:CC CC_REGNUM) (unspec_volatile:CC [(match_dup 1)]
925+ VUNSPEC_SYNC_COMPARE_AND_SWAP))
926+ ]
927+ "TARGET_HAVE_LDREXBHD && TARGET_HAVE_MEMORY_BARRIER"
928+ {
929+ return arm_output_sync_insn (insn, operands);
930+ }
931+ [(set_attr "sync_result" "0")
932+ (set_attr "sync_memory" "1")
933+ (set_attr "sync_required_value" "2")
934+ (set_attr "sync_new_value" "3")
935+ (set_attr "sync_t1" "0")
936+ (set_attr "sync_t2" "4")
937+ (set_attr "conds" "nocond")
938+ (set_attr "predicable" "no")])
939+
940+(define_insn "arm_sync_lock_test_and_setsi"
941+ [(set (match_operand:SI 0 "s_register_operand" "=&r")
942+ (match_operand:SI 1 "memory_operand" "+m"))
943+ (set (match_dup 1)
944+ (unspec_volatile:SI [(match_operand:SI 2 "s_register_operand" "r")]
945+ VUNSPEC_SYNC_LOCK))
946+ (clobber (reg:CC CC_REGNUM))
947+ (clobber (match_scratch:SI 3 "=&r"))]
948+ "TARGET_HAVE_LDREX && TARGET_HAVE_MEMORY_BARRIER"
949+ {
950+ return arm_output_sync_insn (insn, operands);
951+ }
952+ [(set_attr "sync_release_barrier" "no")
953+ (set_attr "sync_result" "0")
954+ (set_attr "sync_memory" "1")
955+ (set_attr "sync_new_value" "2")
956+ (set_attr "sync_t1" "0")
957+ (set_attr "sync_t2" "3")
958+ (set_attr "conds" "nocond")
959+ (set_attr "predicable" "no")])
960+
961+(define_insn "arm_sync_lock_test_and_set<mode>"
962+ [(set (match_operand:SI 0 "s_register_operand" "=&r")
963+ (zero_extend:SI (match_operand:NARROW 1 "memory_operand" "+m")))
964+ (set (match_dup 1)
965+ (unspec_volatile:NARROW [(match_operand:SI 2 "s_register_operand" "r")]
966+ VUNSPEC_SYNC_LOCK))
967+ (clobber (reg:CC CC_REGNUM))
968+ (clobber (match_scratch:SI 3 "=&r"))]
969+ "TARGET_HAVE_LDREX && TARGET_HAVE_MEMORY_BARRIER"
970+ {
971+ return arm_output_sync_insn (insn, operands);
972+ }
973+ [(set_attr "sync_release_barrier" "no")
974+ (set_attr "sync_result" "0")
975+ (set_attr "sync_memory" "1")
976+ (set_attr "sync_new_value" "2")
977+ (set_attr "sync_t1" "0")
978+ (set_attr "sync_t2" "3")
979+ (set_attr "conds" "nocond")
980+ (set_attr "predicable" "no")])
981+
982+(define_insn "arm_sync_new_<sync_optab>si"
983+ [(set (match_operand:SI 0 "s_register_operand" "=&r")
984+ (unspec_volatile:SI [(syncop:SI
985+ (match_operand:SI 1 "memory_operand" "+m")
986+ (match_operand:SI 2 "s_register_operand" "r"))
987+ ]
988+ VUNSPEC_SYNC_NEW_OP))
989+ (set (match_dup 1)
990+ (unspec_volatile:SI [(match_dup 1) (match_dup 2)]
991+ VUNSPEC_SYNC_NEW_OP))
992+ (clobber (reg:CC CC_REGNUM))
993+ (clobber (match_scratch:SI 3 "=&r"))]
994+ "TARGET_HAVE_LDREX && TARGET_HAVE_MEMORY_BARRIER"
995+ {
996+ return arm_output_sync_insn (insn, operands);
997+ }
998+ [(set_attr "sync_result" "0")
999+ (set_attr "sync_memory" "1")
1000+ (set_attr "sync_new_value" "2")
1001+ (set_attr "sync_t1" "0")
1002+ (set_attr "sync_t2" "3")
1003+ (set_attr "sync_op" "<sync_optab>")
1004+ (set_attr "conds" "nocond")
1005+ (set_attr "predicable" "no")])
1006+
1007+(define_insn "arm_sync_new_nandsi"
1008+ [(set (match_operand:SI 0 "s_register_operand" "=&r")
1009+ (unspec_volatile:SI [(not:SI (and:SI
1010+ (match_operand:SI 1 "memory_operand" "+m")
1011+ (match_operand:SI 2 "s_register_operand" "r")))
1012+ ]
1013+ VUNSPEC_SYNC_NEW_OP))
1014+ (set (match_dup 1)
1015+ (unspec_volatile:SI [(match_dup 1) (match_dup 2)]
1016+ VUNSPEC_SYNC_NEW_OP))
1017+ (clobber (reg:CC CC_REGNUM))
1018+ (clobber (match_scratch:SI 3 "=&r"))]
1019+ "TARGET_HAVE_LDREX && TARGET_HAVE_MEMORY_BARRIER"
1020+ {
1021+ return arm_output_sync_insn (insn, operands);
1022+ }
1023+ [(set_attr "sync_result" "0")
1024+ (set_attr "sync_memory" "1")
1025+ (set_attr "sync_new_value" "2")
1026+ (set_attr "sync_t1" "0")
1027+ (set_attr "sync_t2" "3")
1028+ (set_attr "sync_op" "nand")
1029+ (set_attr "conds" "nocond")
1030+ (set_attr "predicable" "no")])
1031+
1032+(define_insn "arm_sync_new_<sync_optab><mode>"
1033+ [(set (match_operand:SI 0 "s_register_operand" "=&r")
1034+ (unspec_volatile:SI [(syncop:SI
1035+ (zero_extend:SI
1036+ (match_operand:NARROW 1 "memory_operand" "+m"))
1037+ (match_operand:SI 2 "s_register_operand" "r"))
1038+ ]
1039+ VUNSPEC_SYNC_NEW_OP))
1040+ (set (match_dup 1)
1041+ (unspec_volatile:NARROW [(match_dup 1) (match_dup 2)]
1042+ VUNSPEC_SYNC_NEW_OP))
1043+ (clobber (reg:CC CC_REGNUM))
1044+ (clobber (match_scratch:SI 3 "=&r"))]
1045+ "TARGET_HAVE_LDREXBHD && TARGET_HAVE_MEMORY_BARRIER"
1046+ {
1047+ return arm_output_sync_insn (insn, operands);
1048+ }
1049+ [(set_attr "sync_result" "0")
1050+ (set_attr "sync_memory" "1")
1051+ (set_attr "sync_new_value" "2")
1052+ (set_attr "sync_t1" "0")
1053+ (set_attr "sync_t2" "3")
1054+ (set_attr "sync_op" "<sync_optab>")
1055+ (set_attr "conds" "nocond")
1056+ (set_attr "predicable" "no")])
1057+
1058+(define_insn "arm_sync_new_nand<mode>"
1059+ [(set (match_operand:SI 0 "s_register_operand" "=&r")
1060+ (unspec_volatile:SI
1061+ [(not:SI
1062+ (and:SI
1063+ (zero_extend:SI
1064+ (match_operand:NARROW 1 "memory_operand" "+m"))
1065+ (match_operand:SI 2 "s_register_operand" "r")))
1066+ ] VUNSPEC_SYNC_NEW_OP))
1067+ (set (match_dup 1)
1068+ (unspec_volatile:NARROW [(match_dup 1) (match_dup 2)]
1069+ VUNSPEC_SYNC_NEW_OP))
1070+ (clobber (reg:CC CC_REGNUM))
1071+ (clobber (match_scratch:SI 3 "=&r"))]
1072+ "TARGET_HAVE_LDREX && TARGET_HAVE_MEMORY_BARRIER"
1073+ {
1074+ return arm_output_sync_insn (insn, operands);
1075+ }
1076+ [(set_attr "sync_result" "0")
1077+ (set_attr "sync_memory" "1")
1078+ (set_attr "sync_new_value" "2")
1079+ (set_attr "sync_t1" "0")
1080+ (set_attr "sync_t2" "3")
1081+ (set_attr "sync_op" "nand")
1082+ (set_attr "conds" "nocond")
1083+ (set_attr "predicable" "no")])
1084+
1085+(define_insn "arm_sync_old_<sync_optab>si"
1086+ [(set (match_operand:SI 0 "s_register_operand" "=&r")
1087+ (unspec_volatile:SI [(syncop:SI
1088+ (match_operand:SI 1 "memory_operand" "+m")
1089+ (match_operand:SI 2 "s_register_operand" "r"))
1090+ ]
1091+ VUNSPEC_SYNC_OLD_OP))
1092+ (set (match_dup 1)
1093+ (unspec_volatile:SI [(match_dup 1) (match_dup 2)]
1094+ VUNSPEC_SYNC_OLD_OP))
1095+ (clobber (reg:CC CC_REGNUM))
1096+ (clobber (match_scratch:SI 3 "=&r"))
1097+ (clobber (match_scratch:SI 4 "=&r"))]
1098+ "TARGET_HAVE_LDREX && TARGET_HAVE_MEMORY_BARRIER"
1099+ {
1100+ return arm_output_sync_insn (insn, operands);
1101+ }
1102+ [(set_attr "sync_result" "0")
1103+ (set_attr "sync_memory" "1")
1104+ (set_attr "sync_new_value" "2")
1105+ (set_attr "sync_t1" "3")
1106+ (set_attr "sync_t2" "4")
1107+ (set_attr "sync_op" "<sync_optab>")
1108+ (set_attr "conds" "nocond")
1109+ (set_attr "predicable" "no")])
1110+
1111+(define_insn "arm_sync_old_nandsi"
1112+ [(set (match_operand:SI 0 "s_register_operand" "=&r")
1113+ (unspec_volatile:SI [(not:SI (and:SI
1114+ (match_operand:SI 1 "memory_operand" "+m")
1115+ (match_operand:SI 2 "s_register_operand" "r")))
1116+ ]
1117+ VUNSPEC_SYNC_OLD_OP))
1118+ (set (match_dup 1)
1119+ (unspec_volatile:SI [(match_dup 1) (match_dup 2)]
1120+ VUNSPEC_SYNC_OLD_OP))
1121+ (clobber (reg:CC CC_REGNUM))
1122+ (clobber (match_scratch:SI 3 "=&r"))
1123+ (clobber (match_scratch:SI 4 "=&r"))]
1124+ "TARGET_HAVE_LDREX && TARGET_HAVE_MEMORY_BARRIER"
1125+ {
1126+ return arm_output_sync_insn (insn, operands);
1127+ }
1128+ [(set_attr "sync_result" "0")
1129+ (set_attr "sync_memory" "1")
1130+ (set_attr "sync_new_value" "2")
1131+ (set_attr "sync_t1" "3")
1132+ (set_attr "sync_t2" "4")
1133+ (set_attr "sync_op" "nand")
1134+ (set_attr "conds" "nocond")
1135+ (set_attr "predicable" "no")])
1136+
1137+(define_insn "arm_sync_old_<sync_optab><mode>"
1138+ [(set (match_operand:SI 0 "s_register_operand" "=&r")
1139+ (unspec_volatile:SI [(syncop:SI
1140+ (zero_extend:SI
1141+ (match_operand:NARROW 1 "memory_operand" "+m"))
1142+ (match_operand:SI 2 "s_register_operand" "r"))
1143+ ]
1144+ VUNSPEC_SYNC_OLD_OP))
1145+ (set (match_dup 1)
1146+ (unspec_volatile:NARROW [(match_dup 1) (match_dup 2)]
1147+ VUNSPEC_SYNC_OLD_OP))
1148+ (clobber (reg:CC CC_REGNUM))
1149+ (clobber (match_scratch:SI 3 "=&r"))
1150+ (clobber (match_scratch:SI 4 "=&r"))]
1151+ "TARGET_HAVE_LDREXBHD && TARGET_HAVE_MEMORY_BARRIER"
1152+ {
1153+ return arm_output_sync_insn (insn, operands);
1154+ }
1155+ [(set_attr "sync_result" "0")
1156+ (set_attr "sync_memory" "1")
1157+ (set_attr "sync_new_value" "2")
1158+ (set_attr "sync_t1" "3")
1159+ (set_attr "sync_t2" "4")
1160+ (set_attr "sync_op" "<sync_optab>")
1161+ (set_attr "conds" "nocond")
1162+ (set_attr "predicable" "no")])
1163+
1164+(define_insn "arm_sync_old_nand<mode>"
1165+ [(set (match_operand:SI 0 "s_register_operand" "=&r")
1166+ (unspec_volatile:SI [(not:SI (and:SI
1167+ (zero_extend:SI
1168+ (match_operand:NARROW 1 "memory_operand" "+m"))
1169+ (match_operand:SI 2 "s_register_operand" "r")))
1170+ ]
1171+ VUNSPEC_SYNC_OLD_OP))
1172+ (set (match_dup 1)
1173+ (unspec_volatile:NARROW [(match_dup 1) (match_dup 2)]
1174+ VUNSPEC_SYNC_OLD_OP))
1175+ (clobber (reg:CC CC_REGNUM))
1176+ (clobber (match_scratch:SI 3 "=&r"))
1177+ (clobber (match_scratch:SI 4 "=&r"))]
1178+ "TARGET_HAVE_LDREXBHD && TARGET_HAVE_MEMORY_BARRIER"
1179+ {
1180+ return arm_output_sync_insn (insn, operands);
1181+ }
1182+ [(set_attr "sync_result" "0")
1183+ (set_attr "sync_memory" "1")
1184+ (set_attr "sync_new_value" "2")
1185+ (set_attr "sync_t1" "3")
1186+ (set_attr "sync_t2" "4")
1187+ (set_attr "sync_op" "nand")
1188+ (set_attr "conds" "nocond")
1189+ (set_attr "predicable" "no")])
1190+
1191+(define_insn "*memory_barrier"
1192+ [(set (match_operand:BLK 0 "" "")
1193+ (unspec:BLK [(match_dup 0)] UNSPEC_MEMORY_BARRIER))]
1194+ "TARGET_HAVE_MEMORY_BARRIER"
1195+ {
1196+ return arm_output_memory_barrier (operands);
1197+ }
1198+ [(set_attr "length" "4")
1199+ (set_attr "conds" "unconditional")
1200+ (set_attr "predicable" "no")])
1201+
1202
diff --git a/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99385.patch b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99385.patch
new file mode 100644
index 0000000000..d10cf34654
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99385.patch
@@ -0,0 +1,151 @@
1 2010-09-02 Marcus Shawcroft <marcus.shawcroft@arm.com>
2 * config/arm/predicates.md (arm_sync_memory_operand): New.
3 * config/arm/sync.md (arm_sync_compare_and_swapsi): Change predicate
4 to arm_sync_memory_operand and constraint to Q.
5 (arm_sync_compare_and_swap<mode>): Likewise.
6 (arm_sync_compare_and_swap<mode>): Likewise.
7 (arm_sync_lock_test_and_setsi): Likewise.
8 (arm_sync_lock_test_and_set<mode>): Likewise.
9 (arm_sync_new_<sync_optab>si): Likewise.
10 (arm_sync_new_nandsi): Likewise.
11 (arm_sync_new_<sync_optab><mode>): Likewise.
12 (arm_sync_new_nand<mode>): Likewise.
13 (arm_sync_old_<sync_optab>si): Likewise.
14 (arm_sync_old_nandsi): Likewise.
15 (arm_sync_old_<sync_optab><mode>): Likewise.
16 (arm_sync_old_nand<mode>): Likewise.
17
182010-09-09 Andrew Stubbs <ams@codesourcery.com>
19
20 Backport from mainline:
21
22 2010-08-18 Marcus Shawcroft <marcus.shawcroft@arm.com>
23
24=== modified file 'gcc/config/arm/predicates.md'
25--- old/gcc/config/arm/predicates.md 2010-09-09 14:11:34 +0000
26+++ new/gcc/config/arm/predicates.md 2010-09-09 15:18:16 +0000
27@@ -573,6 +573,11 @@
28 (and (match_test "TARGET_32BIT")
29 (match_operand 0 "arm_di_operand"))))
30
31+;; True if the operand is memory reference suitable for a ldrex/strex.
32+(define_predicate "arm_sync_memory_operand"
33+ (and (match_operand 0 "memory_operand")
34+ (match_code "reg" "0")))
35+
36 ;; Predicates for parallel expanders based on mode.
37 (define_special_predicate "vect_par_constant_high"
38 (match_code "parallel")
39
40=== modified file 'gcc/config/arm/sync.md'
41--- old/gcc/config/arm/sync.md 2010-09-09 15:03:00 +0000
42+++ new/gcc/config/arm/sync.md 2010-09-09 15:18:16 +0000
43@@ -280,7 +280,7 @@
44 (define_insn "arm_sync_compare_and_swapsi"
45 [(set (match_operand:SI 0 "s_register_operand" "=&r")
46 (unspec_volatile:SI
47- [(match_operand:SI 1 "memory_operand" "+m")
48+ [(match_operand:SI 1 "arm_sync_memory_operand" "+Q")
49 (match_operand:SI 2 "s_register_operand" "r")
50 (match_operand:SI 3 "s_register_operand" "r")]
51 VUNSPEC_SYNC_COMPARE_AND_SWAP))
52@@ -307,7 +307,7 @@
53 [(set (match_operand:SI 0 "s_register_operand" "=&r")
54 (zero_extend:SI
55 (unspec_volatile:NARROW
56- [(match_operand:NARROW 1 "memory_operand" "+m")
57+ [(match_operand:NARROW 1 "arm_sync_memory_operand" "+Q")
58 (match_operand:SI 2 "s_register_operand" "r")
59 (match_operand:SI 3 "s_register_operand" "r")]
60 VUNSPEC_SYNC_COMPARE_AND_SWAP)))
61@@ -332,7 +332,7 @@
62
63 (define_insn "arm_sync_lock_test_and_setsi"
64 [(set (match_operand:SI 0 "s_register_operand" "=&r")
65- (match_operand:SI 1 "memory_operand" "+m"))
66+ (match_operand:SI 1 "arm_sync_memory_operand" "+Q"))
67 (set (match_dup 1)
68 (unspec_volatile:SI [(match_operand:SI 2 "s_register_operand" "r")]
69 VUNSPEC_SYNC_LOCK))
70@@ -353,7 +353,7 @@
71
72 (define_insn "arm_sync_lock_test_and_set<mode>"
73 [(set (match_operand:SI 0 "s_register_operand" "=&r")
74- (zero_extend:SI (match_operand:NARROW 1 "memory_operand" "+m")))
75+ (zero_extend:SI (match_operand:NARROW 1 "arm_sync_memory_operand" "+Q")))
76 (set (match_dup 1)
77 (unspec_volatile:NARROW [(match_operand:SI 2 "s_register_operand" "r")]
78 VUNSPEC_SYNC_LOCK))
79@@ -375,7 +375,7 @@
80 (define_insn "arm_sync_new_<sync_optab>si"
81 [(set (match_operand:SI 0 "s_register_operand" "=&r")
82 (unspec_volatile:SI [(syncop:SI
83- (match_operand:SI 1 "memory_operand" "+m")
84+ (match_operand:SI 1 "arm_sync_memory_operand" "+Q")
85 (match_operand:SI 2 "s_register_operand" "r"))
86 ]
87 VUNSPEC_SYNC_NEW_OP))
88@@ -400,7 +400,7 @@
89 (define_insn "arm_sync_new_nandsi"
90 [(set (match_operand:SI 0 "s_register_operand" "=&r")
91 (unspec_volatile:SI [(not:SI (and:SI
92- (match_operand:SI 1 "memory_operand" "+m")
93+ (match_operand:SI 1 "arm_sync_memory_operand" "+Q")
94 (match_operand:SI 2 "s_register_operand" "r")))
95 ]
96 VUNSPEC_SYNC_NEW_OP))
97@@ -426,7 +426,7 @@
98 [(set (match_operand:SI 0 "s_register_operand" "=&r")
99 (unspec_volatile:SI [(syncop:SI
100 (zero_extend:SI
101- (match_operand:NARROW 1 "memory_operand" "+m"))
102+ (match_operand:NARROW 1 "arm_sync_memory_operand" "+Q"))
103 (match_operand:SI 2 "s_register_operand" "r"))
104 ]
105 VUNSPEC_SYNC_NEW_OP))
106@@ -454,7 +454,7 @@
107 [(not:SI
108 (and:SI
109 (zero_extend:SI
110- (match_operand:NARROW 1 "memory_operand" "+m"))
111+ (match_operand:NARROW 1 "arm_sync_memory_operand" "+Q"))
112 (match_operand:SI 2 "s_register_operand" "r")))
113 ] VUNSPEC_SYNC_NEW_OP))
114 (set (match_dup 1)
115@@ -478,7 +478,7 @@
116 (define_insn "arm_sync_old_<sync_optab>si"
117 [(set (match_operand:SI 0 "s_register_operand" "=&r")
118 (unspec_volatile:SI [(syncop:SI
119- (match_operand:SI 1 "memory_operand" "+m")
120+ (match_operand:SI 1 "arm_sync_memory_operand" "+Q")
121 (match_operand:SI 2 "s_register_operand" "r"))
122 ]
123 VUNSPEC_SYNC_OLD_OP))
124@@ -504,7 +504,7 @@
125 (define_insn "arm_sync_old_nandsi"
126 [(set (match_operand:SI 0 "s_register_operand" "=&r")
127 (unspec_volatile:SI [(not:SI (and:SI
128- (match_operand:SI 1 "memory_operand" "+m")
129+ (match_operand:SI 1 "arm_sync_memory_operand" "+Q")
130 (match_operand:SI 2 "s_register_operand" "r")))
131 ]
132 VUNSPEC_SYNC_OLD_OP))
133@@ -531,7 +531,7 @@
134 [(set (match_operand:SI 0 "s_register_operand" "=&r")
135 (unspec_volatile:SI [(syncop:SI
136 (zero_extend:SI
137- (match_operand:NARROW 1 "memory_operand" "+m"))
138+ (match_operand:NARROW 1 "arm_sync_memory_operand" "+Q"))
139 (match_operand:SI 2 "s_register_operand" "r"))
140 ]
141 VUNSPEC_SYNC_OLD_OP))
142@@ -558,7 +558,7 @@
143 [(set (match_operand:SI 0 "s_register_operand" "=&r")
144 (unspec_volatile:SI [(not:SI (and:SI
145 (zero_extend:SI
146- (match_operand:NARROW 1 "memory_operand" "+m"))
147+ (match_operand:NARROW 1 "arm_sync_memory_operand" "+Q"))
148 (match_operand:SI 2 "s_register_operand" "r")))
149 ]
150 VUNSPEC_SYNC_OLD_OP))
151
diff --git a/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99388.patch b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99388.patch
new file mode 100644
index 0000000000..f603fcadba
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99388.patch
@@ -0,0 +1,191 @@
12010-09-13 Andrew Stubbs <ams@codesourcery.com>
2
3 Backport from FSF:
4
5 2010-09-13 Marcus Shawcroft <marcus.shawcroft@arm.com>
6
7 * config/arm/arm.md: (define_attr "conds"): Update comment.
8 * config/arm/sync.md (arm_sync_compare_and_swapsi): Change
9 conds attribute to clob.
10 (arm_sync_compare_and_swapsi): Likewise.
11 (arm_sync_compare_and_swap<mode>): Likewise.
12 (arm_sync_lock_test_and_setsi): Likewise.
13 (arm_sync_lock_test_and_set<mode>): Likewise.
14 (arm_sync_new_<sync_optab>si): Likewise.
15 (arm_sync_new_nandsi): Likewise.
16 (arm_sync_new_<sync_optab><mode>): Likewise.
17 (arm_sync_new_nand<mode>): Likewise.
18 (arm_sync_old_<sync_optab>si): Likewise.
19 (arm_sync_old_nandsi): Likewise.
20 (arm_sync_old_<sync_optab><mode>): Likewise.
21 (arm_sync_old_nand<mode>): Likewise.
22
23 2010-09-13 Marcus Shawcroft <marcus.shawcroft@arm.com>
24
25 * gcc.target/arm/sync-1.c: New.
26
27 2010-09-10 Andrew Stubbs <ams@codesourcery.com>
28
29 gcc/
30
31=== modified file 'gcc/config/arm/arm.md'
32--- old/gcc/config/arm/arm.md 2010-09-09 15:03:00 +0000
33+++ new/gcc/config/arm/arm.md 2010-09-13 15:39:11 +0000
34@@ -352,10 +352,11 @@
35 ; CLOB means that the condition codes are altered in an undefined manner, if
36 ; they are altered at all
37 ;
38-; UNCONDITIONAL means the instions can not be conditionally executed.
39+; UNCONDITIONAL means the instruction can not be conditionally executed and
40+; that the instruction does not use or alter the condition codes.
41 ;
42-; NOCOND means that the condition codes are neither altered nor affect the
43-; output of this insn
44+; NOCOND means that the instruction does not use or alter the condition
45+; codes but can be converted into a conditionally exectuted instruction.
46
47 (define_attr "conds" "use,set,clob,unconditional,nocond"
48 (if_then_else (eq_attr "type" "call")
49
50=== modified file 'gcc/config/arm/sync.md'
51--- old/gcc/config/arm/sync.md 2010-09-09 15:18:16 +0000
52+++ new/gcc/config/arm/sync.md 2010-09-13 15:39:11 +0000
53@@ -300,7 +300,7 @@
54 (set_attr "sync_new_value" "3")
55 (set_attr "sync_t1" "0")
56 (set_attr "sync_t2" "4")
57- (set_attr "conds" "nocond")
58+ (set_attr "conds" "clob")
59 (set_attr "predicable" "no")])
60
61 (define_insn "arm_sync_compare_and_swap<mode>"
62@@ -327,7 +327,7 @@
63 (set_attr "sync_new_value" "3")
64 (set_attr "sync_t1" "0")
65 (set_attr "sync_t2" "4")
66- (set_attr "conds" "nocond")
67+ (set_attr "conds" "clob")
68 (set_attr "predicable" "no")])
69
70 (define_insn "arm_sync_lock_test_and_setsi"
71@@ -348,7 +348,7 @@
72 (set_attr "sync_new_value" "2")
73 (set_attr "sync_t1" "0")
74 (set_attr "sync_t2" "3")
75- (set_attr "conds" "nocond")
76+ (set_attr "conds" "clob")
77 (set_attr "predicable" "no")])
78
79 (define_insn "arm_sync_lock_test_and_set<mode>"
80@@ -369,7 +369,7 @@
81 (set_attr "sync_new_value" "2")
82 (set_attr "sync_t1" "0")
83 (set_attr "sync_t2" "3")
84- (set_attr "conds" "nocond")
85+ (set_attr "conds" "clob")
86 (set_attr "predicable" "no")])
87
88 (define_insn "arm_sync_new_<sync_optab>si"
89@@ -394,7 +394,7 @@
90 (set_attr "sync_t1" "0")
91 (set_attr "sync_t2" "3")
92 (set_attr "sync_op" "<sync_optab>")
93- (set_attr "conds" "nocond")
94+ (set_attr "conds" "clob")
95 (set_attr "predicable" "no")])
96
97 (define_insn "arm_sync_new_nandsi"
98@@ -419,7 +419,7 @@
99 (set_attr "sync_t1" "0")
100 (set_attr "sync_t2" "3")
101 (set_attr "sync_op" "nand")
102- (set_attr "conds" "nocond")
103+ (set_attr "conds" "clob")
104 (set_attr "predicable" "no")])
105
106 (define_insn "arm_sync_new_<sync_optab><mode>"
107@@ -445,7 +445,7 @@
108 (set_attr "sync_t1" "0")
109 (set_attr "sync_t2" "3")
110 (set_attr "sync_op" "<sync_optab>")
111- (set_attr "conds" "nocond")
112+ (set_attr "conds" "clob")
113 (set_attr "predicable" "no")])
114
115 (define_insn "arm_sync_new_nand<mode>"
116@@ -472,7 +472,7 @@
117 (set_attr "sync_t1" "0")
118 (set_attr "sync_t2" "3")
119 (set_attr "sync_op" "nand")
120- (set_attr "conds" "nocond")
121+ (set_attr "conds" "clob")
122 (set_attr "predicable" "no")])
123
124 (define_insn "arm_sync_old_<sync_optab>si"
125@@ -498,7 +498,7 @@
126 (set_attr "sync_t1" "3")
127 (set_attr "sync_t2" "4")
128 (set_attr "sync_op" "<sync_optab>")
129- (set_attr "conds" "nocond")
130+ (set_attr "conds" "clob")
131 (set_attr "predicable" "no")])
132
133 (define_insn "arm_sync_old_nandsi"
134@@ -524,7 +524,7 @@
135 (set_attr "sync_t1" "3")
136 (set_attr "sync_t2" "4")
137 (set_attr "sync_op" "nand")
138- (set_attr "conds" "nocond")
139+ (set_attr "conds" "clob")
140 (set_attr "predicable" "no")])
141
142 (define_insn "arm_sync_old_<sync_optab><mode>"
143@@ -551,7 +551,7 @@
144 (set_attr "sync_t1" "3")
145 (set_attr "sync_t2" "4")
146 (set_attr "sync_op" "<sync_optab>")
147- (set_attr "conds" "nocond")
148+ (set_attr "conds" "clob")
149 (set_attr "predicable" "no")])
150
151 (define_insn "arm_sync_old_nand<mode>"
152@@ -578,7 +578,7 @@
153 (set_attr "sync_t1" "3")
154 (set_attr "sync_t2" "4")
155 (set_attr "sync_op" "nand")
156- (set_attr "conds" "nocond")
157+ (set_attr "conds" "clob")
158 (set_attr "predicable" "no")])
159
160 (define_insn "*memory_barrier"
161
162=== added file 'gcc/testsuite/gcc.target/arm/sync-1.c'
163--- old/gcc/testsuite/gcc.target/arm/sync-1.c 1970-01-01 00:00:00 +0000
164+++ new/gcc/testsuite/gcc.target/arm/sync-1.c 2010-09-13 15:39:11 +0000
165@@ -0,0 +1,25 @@
166+/* { dg-do run } */
167+/* { dg-options "-O2 -march=armv7-a" } */
168+
169+volatile int mem;
170+
171+int
172+bar (int x, int y)
173+{
174+ if (x)
175+ __sync_fetch_and_add(&mem, y);
176+ return 0;
177+}
178+
179+extern void abort (void);
180+
181+int
182+main (int argc, char *argv[])
183+{
184+ mem = 0;
185+ bar (0, 1);
186+ bar (1, 1);
187+ if (mem != 1)
188+ abort ();
189+ return 0;
190+}
191
diff --git a/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99391.patch b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99391.patch
new file mode 100644
index 0000000000..31122e34be
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99391.patch
@@ -0,0 +1,43 @@
12010-09-08 Tom de Vries <tom@codesourcery.com>
2
3 gcc/
4 * gcc/emit-rtl.c (set_mem_attributes_minus_bitpos): Set MEM_READONLY_P
5 for static const strings.
6 * gcc/testsuite/gcc.dg/memcpy-3.c: New test.
7
8 2010-09-13 Andrew Stubbs <ams@codesourcery.com>
9
10 gcc/
11
12=== modified file 'gcc/emit-rtl.c'
13--- old/gcc/emit-rtl.c 2009-11-27 12:00:28 +0000
14+++ new/gcc/emit-rtl.c 2010-09-15 16:40:06 +0000
15@@ -1648,6 +1648,11 @@
16 MEM_READONLY_P (ref) = 1;
17 }
18
19+ /* Mark static const strings readonly as well. */
20+ if (base && TREE_CODE (base) == STRING_CST && TREE_READONLY (base)
21+ && TREE_STATIC (base))
22+ MEM_READONLY_P (ref) = 1;
23+
24 /* If this expression uses it's parent's alias set, mark it such
25 that we won't change it. */
26 if (component_uses_parent_alias_set (t))
27
28=== added file 'gcc/testsuite/gcc.dg/memcpy-3.c'
29--- old/gcc/testsuite/gcc.dg/memcpy-3.c 1970-01-01 00:00:00 +0000
30+++ new/gcc/testsuite/gcc.dg/memcpy-3.c 2010-09-15 16:40:06 +0000
31@@ -0,0 +1,11 @@
32+/* { dg-do compile } */
33+/* { dg-options "-O2 -fdump-rtl-expand" } */
34+
35+void
36+f1 (char *p)
37+{
38+ __builtin_memcpy (p, "123", 3);
39+}
40+
41+/* { dg-final { scan-rtl-dump-times "mem/s/u:" 3 "expand" { target mips*-*-* } } } */
42+/* { dg-final { cleanup-rtl-dump "expand" } } */
43
diff --git a/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99392.patch b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99392.patch
new file mode 100644
index 0000000000..9a9d5940c8
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99392.patch
@@ -0,0 +1,33 @@
12010-09-10 Nathan Froyd <froydnj@codesourcery.com>
2
3 Issue #9120
4
5 * release-notes-csl.xml (Compiler optimization improvements): New
6 bullet.
7
8 gcc/
9 * gimple.c (is_gimple_min_invariant): Check for constant INDIRECT_REFs.
10
11 2010-09-08 Tom de Vries <tom@codesourcery.com>
12
13 gcc/
14
15=== modified file 'gcc/gimple.c'
16--- old/gcc/gimple.c 2010-06-22 17:23:11 +0000
17+++ new/gcc/gimple.c 2010-09-15 16:47:52 +0000
18@@ -2591,7 +2591,13 @@
19
20 op = strip_invariant_refs (TREE_OPERAND (t, 0));
21
22- return op && (CONSTANT_CLASS_P (op) || decl_address_invariant_p (op));
23+ if (!op)
24+ return false;
25+
26+ if (TREE_CODE (op) == INDIRECT_REF)
27+ return CONSTANT_CLASS_P (TREE_OPERAND (op, 0));
28+ else
29+ return CONSTANT_CLASS_P (op) || decl_address_invariant_p (op);
30 }
31
32 /* Return true if T is a gimple invariant address at IPA level
33
diff --git a/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99393.patch b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99393.patch
new file mode 100644
index 0000000000..d8df57a448
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99393.patch
@@ -0,0 +1,45 @@
12010-09-13 Chung-Lin Tang <cltang@codesourcery.com>
2
3 Backport from mainline:
4
5 2010-09-12 Bernd Schmidt <bernds@codesourcery.com>
6
7 gcc/
8 * config/arm/arm.md (arm_ashldi3_1bit, arm_ashrdi3_1bit,
9 arm_lshrdi3_1bit): Put earlyclobber on the right alternative.
10
11 2010-09-10 Nathan Froyd <froydnj@codesourcery.com>
12
13 Issue #9120
14
15=== modified file 'gcc/config/arm/arm.md'
16--- old/gcc/config/arm/arm.md 2010-09-13 15:39:11 +0000
17+++ new/gcc/config/arm/arm.md 2010-09-15 16:55:55 +0000
18@@ -3295,7 +3295,7 @@
19 )
20
21 (define_insn "arm_ashldi3_1bit"
22- [(set (match_operand:DI 0 "s_register_operand" "=&r,r")
23+ [(set (match_operand:DI 0 "s_register_operand" "=r,&r")
24 (ashift:DI (match_operand:DI 1 "s_register_operand" "0,r")
25 (const_int 1)))
26 (clobber (reg:CC CC_REGNUM))]
27@@ -3354,7 +3354,7 @@
28 )
29
30 (define_insn "arm_ashrdi3_1bit"
31- [(set (match_operand:DI 0 "s_register_operand" "=&r,r")
32+ [(set (match_operand:DI 0 "s_register_operand" "=r,&r")
33 (ashiftrt:DI (match_operand:DI 1 "s_register_operand" "0,r")
34 (const_int 1)))
35 (clobber (reg:CC CC_REGNUM))]
36@@ -3410,7 +3410,7 @@
37 )
38
39 (define_insn "arm_lshrdi3_1bit"
40- [(set (match_operand:DI 0 "s_register_operand" "=&r,r")
41+ [(set (match_operand:DI 0 "s_register_operand" "=r,&r")
42 (lshiftrt:DI (match_operand:DI 1 "s_register_operand" "0,r")
43 (const_int 1)))
44 (clobber (reg:CC CC_REGNUM))]
45
diff --git a/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99395.patch b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99395.patch
new file mode 100644
index 0000000000..809a20aae0
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99395.patch
@@ -0,0 +1,26 @@
12010-09-15 Jie Zhang <jie@codesourcery.com>
2
3 Backport from mainline:
4
5 gcc/
6 2010-09-15 Jie Zhang <jie@codesourcery.com>
7 * config/arm/vfp.md (cmpsf_trap_vfp): Change type from
8 fcmpd to fcmps.
9
10 2010-09-13 Chung-Lin Tang <cltang@codesourcery.com>
11
12 Backport from mainline:
13
14=== modified file 'gcc/config/arm/vfp.md'
15--- old/gcc/config/arm/vfp.md 2010-08-13 15:28:31 +0000
16+++ new/gcc/config/arm/vfp.md 2010-09-16 08:57:30 +0000
17@@ -1159,7 +1159,7 @@
18 fcmpes%?\\t%0, %1
19 fcmpezs%?\\t%0"
20 [(set_attr "predicable" "yes")
21- (set_attr "type" "fcmpd")]
22+ (set_attr "type" "fcmps")]
23 )
24
25 (define_insn "*cmpdf_vfp"
26
diff --git a/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99396.patch b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99396.patch
new file mode 100644
index 0000000000..655399ab11
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99396.patch
@@ -0,0 +1,1760 @@
12010-09-15 Chung-Lin Tang <cltang@codesourcery.com>
2
3 Issue #9441
4
5 Backport from mainline:
6
7 2010-06-25 Bernd Schmidt <bernds@codesourcery.com>
8
9 With large parts from Jim Wilson:
10 PR target/43902
11
12 gcc/
13 * tree-pretty-print.c (dump_generic_node, op_code_prio): Add
14 WIDEN_MULT_PLUS_EXPR and WIDEN_MULT_MINUS_EXPR.
15 * optabs.c (optab_for_tree_code): Likewise.
16 (expand_widen_pattern_expr): Likewise.
17 * tree-ssa-math-opts.c (convert_mult_to_widen): New function, broken
18 out of execute_optimize_widening_mul.
19 (convert_plusminus_to_widen): New function.
20 (execute_optimize_widening_mul): Use the two new functions.
21 * expr.c (expand_expr_real_2): Add support for GIMPLE_TERNARY_RHS.
22 Remove code to generate widening multiply-accumulate. Add support
23 for WIDEN_MULT_PLUS_EXPR and WIDEN_MULT_MINUS_EXPR.
24 * gimple-pretty-print.c (dump_ternary_rhs): New function.
25 (dump_gimple_assign): Call it when appropriate.
26 * tree.def (WIDEN_MULT_PLUS_EXPR, WIDEN_MULT_MINUS_EXPR): New codes.
27 * cfgexpand.c (gimple_assign_rhs_to_tree): Likewise.
28 (expand_gimple_stmt_1): Likewise.
29 (expand_debug_expr): Support WIDEN_MULT_PLUS_EXPR and
30 WIDEN_MULT_MINUS_EXPR.
31 * tree-ssa-operands.c (get_expr_operands): Likewise.
32 * tree-inline.c (estimate_operator_cost): Likewise.
33 * gimple.c (extract_ops_from_tree_1): Renamed from
34 extract_ops_from_tree. Add new arg for a third operand; fill it.
35 (gimple_build_assign_stat): Support operations with three operands.
36 (gimple_build_assign_with_ops_stat): Likewise.
37 (gimple_assign_set_rhs_from_tree): Likewise.
38 (gimple_assign_set_rhs_with_ops_1): Renamed from
39 gimple_assign_set_rhs_with_ops. Add new arg for a third operand.
40 (get_gimple_rhs_num_ops): Support GIMPLE_TERNARY_RHS.
41 (get_gimple_rhs_num_ops): Handle WIDEN_MULT_PLUS_EXPR and
42 WIDEN_MULT_MINUS_EXPR.
43 * gimple.h (enum gimple_rhs_class): Add GIMPLE_TERNARY_RHS.
44 (extract_ops_from_tree_1): Adjust declaration.
45 (gimple_assign_set_rhs_with_ops_1): Likewise.
46 (gimple_build_assign_with_ops): Pass NULL for last operand.
47 (gimple_build_assign_with_ops3): New macro.
48 (gimple_assign_rhs3, gimple_assign_rhs3_ptr, gimple_assign_set_rhs3,
49 gimple_assign_set_rhs_with_ops, extract_ops_from_tree): New inline
50 functions.
51 * tree-cfg.c (verify_gimple_assign_ternary): New static function.
52 (verify_gimple_assign): Call it.
53 * doc/gimple.texi (Manipulating operands): Document GIMPLE_TERNARY_RHS.
54 (Tuple specific accessors, subsection GIMPLE_ASSIGN): Document new
55 functions for dealing with three-operand statements.
56 * tree.c (commutative_ternary_tree_code): New function.
57 * tree.h (commutative_ternary_tree_code): Declare it.
58 * tree-vrp.c (gimple_assign_nonnegative_warnv_p): Return false for
59 ternary statements.
60 (gimple_assign_nonzero_warnv_p): Likewise.
61 * tree-ssa-sccvn.c (stmt_has_constants): Handle GIMPLE_TERNARY_RHS.
62 * tree-ssa-ccp.c (get_rhs_assign_op_for_ccp): New static function.
63 (ccp_fold): Use it. Handle GIMPLE_TERNARY_RHS.
64 * tree-ssa-dom.c (enum expr_kind): Add EXPR_TERNARY.
65 (struct hashtable_expr): New member ternary in the union.
66 (initialize_hash_element): Handle GIMPLE_TERNARY_RHS.
67 (hashable_expr_equal_p): Fix indentation. Handle EXPR_TERNARY.
68 (iterative_hash_hashable_expr): Likewise.
69 (print_expr_hash_elt): Handle EXPR_TERNARY.
70 * gimple-fold.c (fold_gimple_assign): Handle GIMPLE_TERNARY_RHS.
71 * tree-ssa-threadedge.c (fold_assignment_stmt): Remove useless break
72 statements. Handle GIMPLE_TERNARY_RHS.
73
74 From Jim Wilson:
75 gcc/testsuite/
76 * gcc.target/mips/madd-9.c: New test.
77
78 2010-06-29 Bernd Schmidt <bernds@codesourcery.com>
79
80 PR target/43902
81 gcc/
82 * config/arm/arm.md (maddsidi4, umaddsidi4): New expanders.
83 (maddhisi4): Renamed from mulhisi3addsi. Operands renumbered.
84 (maddhidi4): Likewise.
85
86 gcc/testsuite/
87 * gcc.target/arm/wmul-1.c: Test for smlabb instead of smulbb.
88 * gcc.target/arm/wmul-3.c: New test.
89 * gcc.target/arm/wmul-4.c: New test.
90
91 2010-07-22 Richard Sandiford <rdsandiford@googlemail.com>
92
93 gcc/
94 * tree-ssa-math-opts.c (is_widening_mult_rhs_p): New function.
95 (is_widening_mult_p): Likewise.
96 (convert_to_widen): Use them.
97 (convert_plusminus_to_widen): Likewise. Handle fixed-point types as
98 well as integer ones.
99
100 2010-07-31 Richard Sandiford <rdsandiford@googlemail.com>
101
102 gcc/
103 * tree-ssa-math-opts.c (convert_plusminus_to_widen): Fix type
104 used in the call to optab_for_tree_code. Fix the second
105 is_widening_mult_p call. Check that both unwidened operands
106 have the same sign.
107
108 2010-09-15 Jie Zhang <jie@codesourcery.com>
109
110 Backport from mainline:
111
112=== modified file 'gcc/cfgexpand.c'
113--- old/gcc/cfgexpand.c 2010-09-01 13:29:58 +0000
114+++ new/gcc/cfgexpand.c 2010-09-16 09:15:46 +0000
115@@ -64,7 +64,13 @@
116
117 grhs_class = get_gimple_rhs_class (gimple_expr_code (stmt));
118
119- if (grhs_class == GIMPLE_BINARY_RHS)
120+ if (grhs_class == GIMPLE_TERNARY_RHS)
121+ t = build3 (gimple_assign_rhs_code (stmt),
122+ TREE_TYPE (gimple_assign_lhs (stmt)),
123+ gimple_assign_rhs1 (stmt),
124+ gimple_assign_rhs2 (stmt),
125+ gimple_assign_rhs3 (stmt));
126+ else if (grhs_class == GIMPLE_BINARY_RHS)
127 t = build2 (gimple_assign_rhs_code (stmt),
128 TREE_TYPE (gimple_assign_lhs (stmt)),
129 gimple_assign_rhs1 (stmt),
130@@ -1887,6 +1893,9 @@
131 ops.type = TREE_TYPE (lhs);
132 switch (get_gimple_rhs_class (gimple_expr_code (stmt)))
133 {
134+ case GIMPLE_TERNARY_RHS:
135+ ops.op2 = gimple_assign_rhs3 (stmt);
136+ /* Fallthru */
137 case GIMPLE_BINARY_RHS:
138 ops.op1 = gimple_assign_rhs2 (stmt);
139 /* Fallthru */
140@@ -2237,6 +2246,8 @@
141 {
142 case COND_EXPR:
143 case DOT_PROD_EXPR:
144+ case WIDEN_MULT_PLUS_EXPR:
145+ case WIDEN_MULT_MINUS_EXPR:
146 goto ternary;
147
148 case TRUTH_ANDIF_EXPR:
149@@ -3023,6 +3034,8 @@
150 return NULL;
151
152 case WIDEN_MULT_EXPR:
153+ case WIDEN_MULT_PLUS_EXPR:
154+ case WIDEN_MULT_MINUS_EXPR:
155 if (SCALAR_INT_MODE_P (GET_MODE (op0))
156 && SCALAR_INT_MODE_P (mode))
157 {
158@@ -3035,7 +3048,13 @@
159 op1 = simplify_gen_unary (ZERO_EXTEND, mode, op1, inner_mode);
160 else
161 op1 = simplify_gen_unary (SIGN_EXTEND, mode, op1, inner_mode);
162- return gen_rtx_MULT (mode, op0, op1);
163+ op0 = gen_rtx_MULT (mode, op0, op1);
164+ if (TREE_CODE (exp) == WIDEN_MULT_EXPR)
165+ return op0;
166+ else if (TREE_CODE (exp) == WIDEN_MULT_PLUS_EXPR)
167+ return gen_rtx_PLUS (mode, op0, op2);
168+ else
169+ return gen_rtx_MINUS (mode, op2, op0);
170 }
171 return NULL;
172
173
174=== modified file 'gcc/config/arm/arm.md'
175--- old/gcc/config/arm/arm.md 2010-09-15 16:55:55 +0000
176+++ new/gcc/config/arm/arm.md 2010-09-16 09:15:46 +0000
177@@ -1507,7 +1507,15 @@
178 (set_attr "predicable" "yes")]
179 )
180
181-;; Unnamed template to match long long multiply-accumulate (smlal)
182+(define_expand "maddsidi4"
183+ [(set (match_operand:DI 0 "s_register_operand" "")
184+ (plus:DI
185+ (mult:DI
186+ (sign_extend:DI (match_operand:SI 1 "s_register_operand" ""))
187+ (sign_extend:DI (match_operand:SI 2 "s_register_operand" "")))
188+ (match_operand:DI 3 "s_register_operand" "")))]
189+ "TARGET_32BIT && arm_arch3m"
190+ "")
191
192 (define_insn "*mulsidi3adddi"
193 [(set (match_operand:DI 0 "s_register_operand" "=&r")
194@@ -1603,7 +1611,15 @@
195 (set_attr "predicable" "yes")]
196 )
197
198-;; Unnamed template to match long long unsigned multiply-accumulate (umlal)
199+(define_expand "umaddsidi4"
200+ [(set (match_operand:DI 0 "s_register_operand" "")
201+ (plus:DI
202+ (mult:DI
203+ (zero_extend:DI (match_operand:SI 1 "s_register_operand" ""))
204+ (zero_extend:DI (match_operand:SI 2 "s_register_operand" "")))
205+ (match_operand:DI 3 "s_register_operand" "")))]
206+ "TARGET_32BIT && arm_arch3m"
207+ "")
208
209 (define_insn "*umulsidi3adddi"
210 [(set (match_operand:DI 0 "s_register_operand" "=&r")
211@@ -1771,29 +1787,29 @@
212 (set_attr "predicable" "yes")]
213 )
214
215-(define_insn "*mulhisi3addsi"
216+(define_insn "maddhisi4"
217 [(set (match_operand:SI 0 "s_register_operand" "=r")
218- (plus:SI (match_operand:SI 1 "s_register_operand" "r")
219+ (plus:SI (match_operand:SI 3 "s_register_operand" "r")
220 (mult:SI (sign_extend:SI
221- (match_operand:HI 2 "s_register_operand" "%r"))
222+ (match_operand:HI 1 "s_register_operand" "%r"))
223 (sign_extend:SI
224- (match_operand:HI 3 "s_register_operand" "r")))))]
225+ (match_operand:HI 2 "s_register_operand" "r")))))]
226 "TARGET_DSP_MULTIPLY"
227- "smlabb%?\\t%0, %2, %3, %1"
228+ "smlabb%?\\t%0, %1, %2, %3"
229 [(set_attr "insn" "smlaxy")
230 (set_attr "predicable" "yes")]
231 )
232
233-(define_insn "*mulhidi3adddi"
234+(define_insn "*maddhidi4"
235 [(set (match_operand:DI 0 "s_register_operand" "=r")
236 (plus:DI
237- (match_operand:DI 1 "s_register_operand" "0")
238+ (match_operand:DI 3 "s_register_operand" "0")
239 (mult:DI (sign_extend:DI
240- (match_operand:HI 2 "s_register_operand" "%r"))
241+ (match_operand:HI 1 "s_register_operand" "%r"))
242 (sign_extend:DI
243- (match_operand:HI 3 "s_register_operand" "r")))))]
244+ (match_operand:HI 2 "s_register_operand" "r")))))]
245 "TARGET_DSP_MULTIPLY"
246- "smlalbb%?\\t%Q0, %R0, %2, %3"
247+ "smlalbb%?\\t%Q0, %R0, %1, %2"
248 [(set_attr "insn" "smlalxy")
249 (set_attr "predicable" "yes")])
250
251
252=== modified file 'gcc/doc/gimple.texi'
253--- old/gcc/doc/gimple.texi 2010-07-06 19:23:53 +0000
254+++ new/gcc/doc/gimple.texi 2010-09-16 09:15:46 +0000
255@@ -554,6 +554,9 @@
256 @item @code{GIMPLE_INVALID_RHS}
257 The tree cannot be used as a GIMPLE operand.
258
259+@item @code{GIMPLE_TERNARY_RHS}
260+The tree is a valid GIMPLE ternary operation.
261+
262 @item @code{GIMPLE_BINARY_RHS}
263 The tree is a valid GIMPLE binary operation.
264
265@@ -575,10 +578,11 @@
266 expressions should be flattened into the operand vector.
267 @end itemize
268
269-For tree nodes in the categories @code{GIMPLE_BINARY_RHS} and
270-@code{GIMPLE_UNARY_RHS}, they cannot be stored inside tuples directly.
271-They first need to be flattened and separated into individual
272-components. For instance, given the GENERIC expression
273+For tree nodes in the categories @code{GIMPLE_TERNARY_RHS},
274+@code{GIMPLE_BINARY_RHS} and @code{GIMPLE_UNARY_RHS}, they cannot be
275+stored inside tuples directly. They first need to be flattened and
276+separated into individual components. For instance, given the GENERIC
277+expression
278
279 @smallexample
280 a = b + c
281@@ -1082,7 +1086,16 @@
282 Return the address of the second operand on the @code{RHS} of assignment
283 statement @code{G}.
284 @end deftypefn
285+
286+@deftypefn {GIMPLE function} tree gimple_assign_rhs3 (gimple g)
287+Return the third operand on the @code{RHS} of assignment statement @code{G}.
288+@end deftypefn
289
290+@deftypefn {GIMPLE function} tree *gimple_assign_rhs3_ptr (gimple g)
291+Return the address of the third operand on the @code{RHS} of assignment
292+statement @code{G}.
293+@end deftypefn
294+
295 @deftypefn {GIMPLE function} void gimple_assign_set_lhs (gimple g, tree lhs)
296 Set @code{LHS} to be the @code{LHS} operand of assignment statement @code{G}.
297 @end deftypefn
298@@ -1092,20 +1105,16 @@
299 statement @code{G}.
300 @end deftypefn
301
302-@deftypefn {GIMPLE function} tree gimple_assign_rhs2 (gimple g)
303-Return the second operand on the @code{RHS} of assignment statement @code{G}.
304-@end deftypefn
305-
306-@deftypefn {GIMPLE function} tree *gimple_assign_rhs2_ptr (gimple g)
307-Return a pointer to the second operand on the @code{RHS} of assignment
308-statement @code{G}.
309-@end deftypefn
310-
311 @deftypefn {GIMPLE function} void gimple_assign_set_rhs2 (gimple g, tree rhs)
312 Set @code{RHS} to be the second operand on the @code{RHS} of assignment
313 statement @code{G}.
314 @end deftypefn
315
316+@deftypefn {GIMPLE function} void gimple_assign_set_rhs3 (gimple g, tree rhs)
317+Set @code{RHS} to be the third operand on the @code{RHS} of assignment
318+statement @code{G}.
319+@end deftypefn
320+
321 @deftypefn {GIMPLE function} bool gimple_assign_cast_p (gimple s)
322 Return true if @code{S} is a type-cast assignment.
323 @end deftypefn
324
325=== modified file 'gcc/expr.c'
326--- old/gcc/expr.c 2010-09-01 13:29:58 +0000
327+++ new/gcc/expr.c 2010-09-16 09:15:46 +0000
328@@ -7225,8 +7225,6 @@
329 rtx subtarget, original_target;
330 int ignore;
331 bool reduce_bit_field;
332- gimple subexp0_def, subexp1_def;
333- tree top0, top1;
334 location_t loc = ops->location;
335 tree treeop0, treeop1;
336 #define REDUCE_BIT_FIELD(expr) (reduce_bit_field \
337@@ -7246,7 +7244,8 @@
338 exactly those that are valid in gimple expressions that aren't
339 GIMPLE_SINGLE_RHS (or invalid). */
340 gcc_assert (get_gimple_rhs_class (code) == GIMPLE_UNARY_RHS
341- || get_gimple_rhs_class (code) == GIMPLE_BINARY_RHS);
342+ || get_gimple_rhs_class (code) == GIMPLE_BINARY_RHS
343+ || get_gimple_rhs_class (code) == GIMPLE_TERNARY_RHS);
344
345 ignore = (target == const0_rtx
346 || ((CONVERT_EXPR_CODE_P (code)
347@@ -7421,58 +7420,6 @@
348 fold_convert_loc (loc, ssizetype,
349 treeop1));
350 case PLUS_EXPR:
351-
352- /* Check if this is a case for multiplication and addition. */
353- if ((TREE_CODE (type) == INTEGER_TYPE
354- || TREE_CODE (type) == FIXED_POINT_TYPE)
355- && (subexp0_def = get_def_for_expr (treeop0,
356- MULT_EXPR)))
357- {
358- tree subsubexp0, subsubexp1;
359- gimple subsubexp0_def, subsubexp1_def;
360- enum tree_code this_code;
361-
362- this_code = TREE_CODE (type) == INTEGER_TYPE ? NOP_EXPR
363- : FIXED_CONVERT_EXPR;
364- subsubexp0 = gimple_assign_rhs1 (subexp0_def);
365- subsubexp0_def = get_def_for_expr (subsubexp0, this_code);
366- subsubexp1 = gimple_assign_rhs2 (subexp0_def);
367- subsubexp1_def = get_def_for_expr (subsubexp1, this_code);
368- if (subsubexp0_def && subsubexp1_def
369- && (top0 = gimple_assign_rhs1 (subsubexp0_def))
370- && (top1 = gimple_assign_rhs1 (subsubexp1_def))
371- && (TYPE_PRECISION (TREE_TYPE (top0))
372- < TYPE_PRECISION (TREE_TYPE (subsubexp0)))
373- && (TYPE_PRECISION (TREE_TYPE (top0))
374- == TYPE_PRECISION (TREE_TYPE (top1)))
375- && (TYPE_UNSIGNED (TREE_TYPE (top0))
376- == TYPE_UNSIGNED (TREE_TYPE (top1))))
377- {
378- tree op0type = TREE_TYPE (top0);
379- enum machine_mode innermode = TYPE_MODE (op0type);
380- bool zextend_p = TYPE_UNSIGNED (op0type);
381- bool sat_p = TYPE_SATURATING (TREE_TYPE (subsubexp0));
382- if (sat_p == 0)
383- this_optab = zextend_p ? umadd_widen_optab : smadd_widen_optab;
384- else
385- this_optab = zextend_p ? usmadd_widen_optab
386- : ssmadd_widen_optab;
387- if (mode == GET_MODE_2XWIDER_MODE (innermode)
388- && (optab_handler (this_optab, mode)->insn_code
389- != CODE_FOR_nothing))
390- {
391- expand_operands (top0, top1, NULL_RTX, &op0, &op1,
392- EXPAND_NORMAL);
393- op2 = expand_expr (treeop1, subtarget,
394- VOIDmode, EXPAND_NORMAL);
395- temp = expand_ternary_op (mode, this_optab, op0, op1, op2,
396- target, unsignedp);
397- gcc_assert (temp);
398- return REDUCE_BIT_FIELD (temp);
399- }
400- }
401- }
402-
403 /* If we are adding a constant, a VAR_DECL that is sp, fp, or ap, and
404 something else, make sure we add the register to the constant and
405 then to the other thing. This case can occur during strength
406@@ -7587,57 +7534,6 @@
407 return REDUCE_BIT_FIELD (simplify_gen_binary (PLUS, mode, op0, op1));
408
409 case MINUS_EXPR:
410- /* Check if this is a case for multiplication and subtraction. */
411- if ((TREE_CODE (type) == INTEGER_TYPE
412- || TREE_CODE (type) == FIXED_POINT_TYPE)
413- && (subexp1_def = get_def_for_expr (treeop1,
414- MULT_EXPR)))
415- {
416- tree subsubexp0, subsubexp1;
417- gimple subsubexp0_def, subsubexp1_def;
418- enum tree_code this_code;
419-
420- this_code = TREE_CODE (type) == INTEGER_TYPE ? NOP_EXPR
421- : FIXED_CONVERT_EXPR;
422- subsubexp0 = gimple_assign_rhs1 (subexp1_def);
423- subsubexp0_def = get_def_for_expr (subsubexp0, this_code);
424- subsubexp1 = gimple_assign_rhs2 (subexp1_def);
425- subsubexp1_def = get_def_for_expr (subsubexp1, this_code);
426- if (subsubexp0_def && subsubexp1_def
427- && (top0 = gimple_assign_rhs1 (subsubexp0_def))
428- && (top1 = gimple_assign_rhs1 (subsubexp1_def))
429- && (TYPE_PRECISION (TREE_TYPE (top0))
430- < TYPE_PRECISION (TREE_TYPE (subsubexp0)))
431- && (TYPE_PRECISION (TREE_TYPE (top0))
432- == TYPE_PRECISION (TREE_TYPE (top1)))
433- && (TYPE_UNSIGNED (TREE_TYPE (top0))
434- == TYPE_UNSIGNED (TREE_TYPE (top1))))
435- {
436- tree op0type = TREE_TYPE (top0);
437- enum machine_mode innermode = TYPE_MODE (op0type);
438- bool zextend_p = TYPE_UNSIGNED (op0type);
439- bool sat_p = TYPE_SATURATING (TREE_TYPE (subsubexp0));
440- if (sat_p == 0)
441- this_optab = zextend_p ? umsub_widen_optab : smsub_widen_optab;
442- else
443- this_optab = zextend_p ? usmsub_widen_optab
444- : ssmsub_widen_optab;
445- if (mode == GET_MODE_2XWIDER_MODE (innermode)
446- && (optab_handler (this_optab, mode)->insn_code
447- != CODE_FOR_nothing))
448- {
449- expand_operands (top0, top1, NULL_RTX, &op0, &op1,
450- EXPAND_NORMAL);
451- op2 = expand_expr (treeop0, subtarget,
452- VOIDmode, EXPAND_NORMAL);
453- temp = expand_ternary_op (mode, this_optab, op0, op1, op2,
454- target, unsignedp);
455- gcc_assert (temp);
456- return REDUCE_BIT_FIELD (temp);
457- }
458- }
459- }
460-
461 /* For initializers, we are allowed to return a MINUS of two
462 symbolic constants. Here we handle all cases when both operands
463 are constant. */
464@@ -7678,6 +7574,14 @@
465
466 goto binop2;
467
468+ case WIDEN_MULT_PLUS_EXPR:
469+ case WIDEN_MULT_MINUS_EXPR:
470+ expand_operands (treeop0, treeop1, NULL_RTX, &op0, &op1, EXPAND_NORMAL);
471+ op2 = expand_normal (ops->op2);
472+ target = expand_widen_pattern_expr (ops, op0, op1, op2,
473+ target, unsignedp);
474+ return target;
475+
476 case WIDEN_MULT_EXPR:
477 /* If first operand is constant, swap them.
478 Thus the following special case checks need only
479
480=== modified file 'gcc/gimple-pretty-print.c'
481--- old/gcc/gimple-pretty-print.c 2009-11-25 10:55:54 +0000
482+++ new/gcc/gimple-pretty-print.c 2010-09-16 09:15:46 +0000
483@@ -376,6 +376,34 @@
484 }
485 }
486
487+/* Helper for dump_gimple_assign. Print the ternary RHS of the
488+ assignment GS. BUFFER, SPC and FLAGS are as in dump_gimple_stmt. */
489+
490+static void
491+dump_ternary_rhs (pretty_printer *buffer, gimple gs, int spc, int flags)
492+{
493+ const char *p;
494+ enum tree_code code = gimple_assign_rhs_code (gs);
495+ switch (code)
496+ {
497+ case WIDEN_MULT_PLUS_EXPR:
498+ case WIDEN_MULT_MINUS_EXPR:
499+ for (p = tree_code_name [(int) code]; *p; p++)
500+ pp_character (buffer, TOUPPER (*p));
501+ pp_string (buffer, " <");
502+ dump_generic_node (buffer, gimple_assign_rhs1 (gs), spc, flags, false);
503+ pp_string (buffer, ", ");
504+ dump_generic_node (buffer, gimple_assign_rhs2 (gs), spc, flags, false);
505+ pp_string (buffer, ", ");
506+ dump_generic_node (buffer, gimple_assign_rhs3 (gs), spc, flags, false);
507+ pp_character (buffer, '>');
508+ break;
509+
510+ default:
511+ gcc_unreachable ();
512+ }
513+}
514+
515
516 /* Dump the gimple assignment GS. BUFFER, SPC and FLAGS are as in
517 dump_gimple_stmt. */
518@@ -418,6 +446,8 @@
519 dump_unary_rhs (buffer, gs, spc, flags);
520 else if (gimple_num_ops (gs) == 3)
521 dump_binary_rhs (buffer, gs, spc, flags);
522+ else if (gimple_num_ops (gs) == 4)
523+ dump_ternary_rhs (buffer, gs, spc, flags);
524 else
525 gcc_unreachable ();
526 if (!(flags & TDF_RHS_ONLY))
527
528=== modified file 'gcc/gimple.c'
529--- old/gcc/gimple.c 2010-09-15 16:47:52 +0000
530+++ new/gcc/gimple.c 2010-09-16 09:15:46 +0000
531@@ -289,31 +289,40 @@
532
533
534 /* Extract the operands and code for expression EXPR into *SUBCODE_P,
535- *OP1_P and *OP2_P respectively. */
536+ *OP1_P, *OP2_P and *OP3_P respectively. */
537
538 void
539-extract_ops_from_tree (tree expr, enum tree_code *subcode_p, tree *op1_p,
540- tree *op2_p)
541+extract_ops_from_tree_1 (tree expr, enum tree_code *subcode_p, tree *op1_p,
542+ tree *op2_p, tree *op3_p)
543 {
544 enum gimple_rhs_class grhs_class;
545
546 *subcode_p = TREE_CODE (expr);
547 grhs_class = get_gimple_rhs_class (*subcode_p);
548
549- if (grhs_class == GIMPLE_BINARY_RHS)
550- {
551- *op1_p = TREE_OPERAND (expr, 0);
552- *op2_p = TREE_OPERAND (expr, 1);
553+ if (grhs_class == GIMPLE_TERNARY_RHS)
554+ {
555+ *op1_p = TREE_OPERAND (expr, 0);
556+ *op2_p = TREE_OPERAND (expr, 1);
557+ *op3_p = TREE_OPERAND (expr, 2);
558+ }
559+ else if (grhs_class == GIMPLE_BINARY_RHS)
560+ {
561+ *op1_p = TREE_OPERAND (expr, 0);
562+ *op2_p = TREE_OPERAND (expr, 1);
563+ *op3_p = NULL_TREE;
564 }
565 else if (grhs_class == GIMPLE_UNARY_RHS)
566 {
567 *op1_p = TREE_OPERAND (expr, 0);
568 *op2_p = NULL_TREE;
569+ *op3_p = NULL_TREE;
570 }
571 else if (grhs_class == GIMPLE_SINGLE_RHS)
572 {
573 *op1_p = expr;
574 *op2_p = NULL_TREE;
575+ *op3_p = NULL_TREE;
576 }
577 else
578 gcc_unreachable ();
579@@ -329,10 +338,10 @@
580 gimple_build_assign_stat (tree lhs, tree rhs MEM_STAT_DECL)
581 {
582 enum tree_code subcode;
583- tree op1, op2;
584+ tree op1, op2, op3;
585
586- extract_ops_from_tree (rhs, &subcode, &op1, &op2);
587- return gimple_build_assign_with_ops_stat (subcode, lhs, op1, op2
588+ extract_ops_from_tree_1 (rhs, &subcode, &op1, &op2, &op3);
589+ return gimple_build_assign_with_ops_stat (subcode, lhs, op1, op2, op3
590 PASS_MEM_STAT);
591 }
592
593@@ -343,7 +352,7 @@
594
595 gimple
596 gimple_build_assign_with_ops_stat (enum tree_code subcode, tree lhs, tree op1,
597- tree op2 MEM_STAT_DECL)
598+ tree op2, tree op3 MEM_STAT_DECL)
599 {
600 unsigned num_ops;
601 gimple p;
602@@ -362,6 +371,12 @@
603 gimple_assign_set_rhs2 (p, op2);
604 }
605
606+ if (op3)
607+ {
608+ gcc_assert (num_ops > 3);
609+ gimple_assign_set_rhs3 (p, op3);
610+ }
611+
612 return p;
613 }
614
615@@ -1860,22 +1875,22 @@
616 gimple_assign_set_rhs_from_tree (gimple_stmt_iterator *gsi, tree expr)
617 {
618 enum tree_code subcode;
619- tree op1, op2;
620+ tree op1, op2, op3;
621
622- extract_ops_from_tree (expr, &subcode, &op1, &op2);
623- gimple_assign_set_rhs_with_ops (gsi, subcode, op1, op2);
624+ extract_ops_from_tree_1 (expr, &subcode, &op1, &op2, &op3);
625+ gimple_assign_set_rhs_with_ops_1 (gsi, subcode, op1, op2, op3);
626 }
627
628
629 /* Set the RHS of assignment statement pointed-to by GSI to CODE with
630- operands OP1 and OP2.
631+ operands OP1, OP2 and OP3.
632
633 NOTE: The statement pointed-to by GSI may be reallocated if it
634 did not have enough operand slots. */
635
636 void
637-gimple_assign_set_rhs_with_ops (gimple_stmt_iterator *gsi, enum tree_code code,
638- tree op1, tree op2)
639+gimple_assign_set_rhs_with_ops_1 (gimple_stmt_iterator *gsi, enum tree_code code,
640+ tree op1, tree op2, tree op3)
641 {
642 unsigned new_rhs_ops = get_gimple_rhs_num_ops (code);
643 gimple stmt = gsi_stmt (*gsi);
644@@ -1899,6 +1914,8 @@
645 gimple_assign_set_rhs1 (stmt, op1);
646 if (new_rhs_ops > 1)
647 gimple_assign_set_rhs2 (stmt, op2);
648+ if (new_rhs_ops > 2)
649+ gimple_assign_set_rhs3 (stmt, op3);
650 }
651
652
653@@ -2378,6 +2395,8 @@
654 return 1;
655 else if (rhs_class == GIMPLE_BINARY_RHS)
656 return 2;
657+ else if (rhs_class == GIMPLE_TERNARY_RHS)
658+ return 3;
659 else
660 gcc_unreachable ();
661 }
662@@ -2394,6 +2413,8 @@
663 || (SYM) == TRUTH_OR_EXPR \
664 || (SYM) == TRUTH_XOR_EXPR) ? GIMPLE_BINARY_RHS \
665 : (SYM) == TRUTH_NOT_EXPR ? GIMPLE_UNARY_RHS \
666+ : ((SYM) == WIDEN_MULT_PLUS_EXPR \
667+ || (SYM) == WIDEN_MULT_MINUS_EXPR) ? GIMPLE_TERNARY_RHS \
668 : ((SYM) == COND_EXPR \
669 || (SYM) == CONSTRUCTOR \
670 || (SYM) == OBJ_TYPE_REF \
671
672=== modified file 'gcc/gimple.h'
673--- old/gcc/gimple.h 2010-08-10 13:31:21 +0000
674+++ new/gcc/gimple.h 2010-09-16 09:15:46 +0000
675@@ -80,6 +80,7 @@
676 enum gimple_rhs_class
677 {
678 GIMPLE_INVALID_RHS, /* The expression cannot be used on the RHS. */
679+ GIMPLE_TERNARY_RHS, /* The expression is a ternary operation. */
680 GIMPLE_BINARY_RHS, /* The expression is a binary operation. */
681 GIMPLE_UNARY_RHS, /* The expression is a unary operation. */
682 GIMPLE_SINGLE_RHS /* The expression is a single object (an SSA
683@@ -786,12 +787,14 @@
684 gimple gimple_build_assign_stat (tree, tree MEM_STAT_DECL);
685 #define gimple_build_assign(l,r) gimple_build_assign_stat (l, r MEM_STAT_INFO)
686
687-void extract_ops_from_tree (tree, enum tree_code *, tree *, tree *);
688+void extract_ops_from_tree_1 (tree, enum tree_code *, tree *, tree *, tree *);
689
690 gimple gimple_build_assign_with_ops_stat (enum tree_code, tree, tree,
691- tree MEM_STAT_DECL);
692-#define gimple_build_assign_with_ops(c,o1,o2,o3) \
693- gimple_build_assign_with_ops_stat (c, o1, o2, o3 MEM_STAT_INFO)
694+ tree, tree MEM_STAT_DECL);
695+#define gimple_build_assign_with_ops(c,o1,o2,o3) \
696+ gimple_build_assign_with_ops_stat (c, o1, o2, o3, NULL_TREE MEM_STAT_INFO)
697+#define gimple_build_assign_with_ops3(c,o1,o2,o3,o4) \
698+ gimple_build_assign_with_ops_stat (c, o1, o2, o3, o4 MEM_STAT_INFO)
699
700 gimple gimple_build_debug_bind_stat (tree, tree, gimple MEM_STAT_DECL);
701 #define gimple_build_debug_bind(var,val,stmt) \
702@@ -850,8 +853,8 @@
703 bool gimple_assign_unary_nop_p (gimple);
704 void gimple_set_bb (gimple, struct basic_block_def *);
705 void gimple_assign_set_rhs_from_tree (gimple_stmt_iterator *, tree);
706-void gimple_assign_set_rhs_with_ops (gimple_stmt_iterator *, enum tree_code,
707- tree, tree);
708+void gimple_assign_set_rhs_with_ops_1 (gimple_stmt_iterator *, enum tree_code,
709+ tree, tree, tree);
710 tree gimple_get_lhs (const_gimple);
711 void gimple_set_lhs (gimple, tree);
712 void gimple_replace_lhs (gimple, tree);
713@@ -1793,6 +1796,63 @@
714 gimple_set_op (gs, 2, rhs);
715 }
716
717+/* Return the third operand on the RHS of assignment statement GS.
718+ If GS does not have two operands, NULL is returned instead. */
719+
720+static inline tree
721+gimple_assign_rhs3 (const_gimple gs)
722+{
723+ GIMPLE_CHECK (gs, GIMPLE_ASSIGN);
724+
725+ if (gimple_num_ops (gs) >= 4)
726+ return gimple_op (gs, 3);
727+ else
728+ return NULL_TREE;
729+}
730+
731+/* Return a pointer to the third operand on the RHS of assignment
732+ statement GS. */
733+
734+static inline tree *
735+gimple_assign_rhs3_ptr (const_gimple gs)
736+{
737+ GIMPLE_CHECK (gs, GIMPLE_ASSIGN);
738+ return gimple_op_ptr (gs, 3);
739+}
740+
741+
742+/* Set RHS to be the third operand on the RHS of assignment statement GS. */
743+
744+static inline void
745+gimple_assign_set_rhs3 (gimple gs, tree rhs)
746+{
747+ GIMPLE_CHECK (gs, GIMPLE_ASSIGN);
748+
749+ gimple_set_op (gs, 3, rhs);
750+}
751+
752+/* A wrapper around gimple_assign_set_rhs_with_ops_1, for callers which expect
753+ to see only a maximum of two operands. */
754+
755+static inline void
756+gimple_assign_set_rhs_with_ops (gimple_stmt_iterator *gsi, enum tree_code code,
757+ tree op1, tree op2)
758+{
759+ gimple_assign_set_rhs_with_ops_1 (gsi, code, op1, op2, NULL);
760+}
761+
762+/* A wrapper around extract_ops_from_tree_1, for callers which expect
763+ to see only a maximum of two operands. */
764+
765+static inline void
766+extract_ops_from_tree (tree expr, enum tree_code *code, tree *op0,
767+ tree *op1)
768+{
769+ tree op2;
770+ extract_ops_from_tree_1 (expr, code, op0, op1, &op2);
771+ gcc_assert (op2 == NULL_TREE);
772+}
773+
774 /* Returns true if GS is a nontemporal move. */
775
776 static inline bool
777
778=== modified file 'gcc/optabs.c'
779--- old/gcc/optabs.c 2010-03-19 19:45:01 +0000
780+++ new/gcc/optabs.c 2010-09-16 09:15:46 +0000
781@@ -408,6 +408,20 @@
782 case DOT_PROD_EXPR:
783 return TYPE_UNSIGNED (type) ? udot_prod_optab : sdot_prod_optab;
784
785+ case WIDEN_MULT_PLUS_EXPR:
786+ return (TYPE_UNSIGNED (type)
787+ ? (TYPE_SATURATING (type)
788+ ? usmadd_widen_optab : umadd_widen_optab)
789+ : (TYPE_SATURATING (type)
790+ ? ssmadd_widen_optab : smadd_widen_optab));
791+
792+ case WIDEN_MULT_MINUS_EXPR:
793+ return (TYPE_UNSIGNED (type)
794+ ? (TYPE_SATURATING (type)
795+ ? usmsub_widen_optab : umsub_widen_optab)
796+ : (TYPE_SATURATING (type)
797+ ? ssmsub_widen_optab : smsub_widen_optab));
798+
799 case REDUC_MAX_EXPR:
800 return TYPE_UNSIGNED (type) ? reduc_umax_optab : reduc_smax_optab;
801
802@@ -547,7 +561,12 @@
803 tmode0 = TYPE_MODE (TREE_TYPE (oprnd0));
804 widen_pattern_optab =
805 optab_for_tree_code (ops->code, TREE_TYPE (oprnd0), optab_default);
806- icode = (int) optab_handler (widen_pattern_optab, tmode0)->insn_code;
807+ if (ops->code == WIDEN_MULT_PLUS_EXPR
808+ || ops->code == WIDEN_MULT_MINUS_EXPR)
809+ icode = (int) optab_handler (widen_pattern_optab,
810+ TYPE_MODE (TREE_TYPE (ops->op2)))->insn_code;
811+ else
812+ icode = (int) optab_handler (widen_pattern_optab, tmode0)->insn_code;
813 gcc_assert (icode != CODE_FOR_nothing);
814 xmode0 = insn_data[icode].operand[1].mode;
815
816
817=== modified file 'gcc/testsuite/gcc.target/arm/wmul-1.c'
818--- old/gcc/testsuite/gcc.target/arm/wmul-1.c 2010-09-01 13:29:58 +0000
819+++ new/gcc/testsuite/gcc.target/arm/wmul-1.c 2010-09-16 09:15:46 +0000
820@@ -15,4 +15,4 @@
821 return sqr;
822 }
823
824-/* { dg-final { scan-assembler-times "smulbb" 2 } } */
825+/* { dg-final { scan-assembler-times "smlabb" 2 } } */
826
827=== modified file 'gcc/tree-cfg.c'
828--- old/gcc/tree-cfg.c 2010-09-01 13:29:58 +0000
829+++ new/gcc/tree-cfg.c 2010-09-16 09:15:46 +0000
830@@ -3483,6 +3483,65 @@
831 return false;
832 }
833
834+/* Verify a gimple assignment statement STMT with a ternary rhs.
835+ Returns true if anything is wrong. */
836+
837+static bool
838+verify_gimple_assign_ternary (gimple stmt)
839+{
840+ enum tree_code rhs_code = gimple_assign_rhs_code (stmt);
841+ tree lhs = gimple_assign_lhs (stmt);
842+ tree lhs_type = TREE_TYPE (lhs);
843+ tree rhs1 = gimple_assign_rhs1 (stmt);
844+ tree rhs1_type = TREE_TYPE (rhs1);
845+ tree rhs2 = gimple_assign_rhs2 (stmt);
846+ tree rhs2_type = TREE_TYPE (rhs2);
847+ tree rhs3 = gimple_assign_rhs3 (stmt);
848+ tree rhs3_type = TREE_TYPE (rhs3);
849+
850+ if (!is_gimple_reg (lhs)
851+ && !(optimize == 0
852+ && TREE_CODE (lhs_type) == COMPLEX_TYPE))
853+ {
854+ error ("non-register as LHS of ternary operation");
855+ return true;
856+ }
857+
858+ if (!is_gimple_val (rhs1)
859+ || !is_gimple_val (rhs2)
860+ || !is_gimple_val (rhs3))
861+ {
862+ error ("invalid operands in ternary operation");
863+ return true;
864+ }
865+
866+ /* First handle operations that involve different types. */
867+ switch (rhs_code)
868+ {
869+ case WIDEN_MULT_PLUS_EXPR:
870+ case WIDEN_MULT_MINUS_EXPR:
871+ if ((!INTEGRAL_TYPE_P (rhs1_type)
872+ && !FIXED_POINT_TYPE_P (rhs1_type))
873+ || !useless_type_conversion_p (rhs1_type, rhs2_type)
874+ || !useless_type_conversion_p (lhs_type, rhs3_type)
875+ || 2 * TYPE_PRECISION (rhs1_type) != TYPE_PRECISION (lhs_type)
876+ || TYPE_PRECISION (rhs1_type) != TYPE_PRECISION (rhs2_type))
877+ {
878+ error ("type mismatch in widening multiply-accumulate expression");
879+ debug_generic_expr (lhs_type);
880+ debug_generic_expr (rhs1_type);
881+ debug_generic_expr (rhs2_type);
882+ debug_generic_expr (rhs3_type);
883+ return true;
884+ }
885+ break;
886+
887+ default:
888+ gcc_unreachable ();
889+ }
890+ return false;
891+}
892+
893 /* Verify a gimple assignment statement STMT with a single rhs.
894 Returns true if anything is wrong. */
895
896@@ -3615,6 +3674,9 @@
897 case GIMPLE_BINARY_RHS:
898 return verify_gimple_assign_binary (stmt);
899
900+ case GIMPLE_TERNARY_RHS:
901+ return verify_gimple_assign_ternary (stmt);
902+
903 default:
904 gcc_unreachable ();
905 }
906
907=== modified file 'gcc/tree-inline.c'
908--- old/gcc/tree-inline.c 2010-09-01 13:29:58 +0000
909+++ new/gcc/tree-inline.c 2010-09-16 09:15:46 +0000
910@@ -3199,6 +3199,8 @@
911 case WIDEN_SUM_EXPR:
912 case WIDEN_MULT_EXPR:
913 case DOT_PROD_EXPR:
914+ case WIDEN_MULT_PLUS_EXPR:
915+ case WIDEN_MULT_MINUS_EXPR:
916
917 case VEC_WIDEN_MULT_HI_EXPR:
918 case VEC_WIDEN_MULT_LO_EXPR:
919
920=== modified file 'gcc/tree-pretty-print.c'
921--- old/gcc/tree-pretty-print.c 2009-11-30 10:36:54 +0000
922+++ new/gcc/tree-pretty-print.c 2010-09-16 09:15:46 +0000
923@@ -1939,6 +1939,26 @@
924 pp_string (buffer, " > ");
925 break;
926
927+ case WIDEN_MULT_PLUS_EXPR:
928+ pp_string (buffer, " WIDEN_MULT_PLUS_EXPR < ");
929+ dump_generic_node (buffer, TREE_OPERAND (node, 0), spc, flags, false);
930+ pp_string (buffer, ", ");
931+ dump_generic_node (buffer, TREE_OPERAND (node, 1), spc, flags, false);
932+ pp_string (buffer, ", ");
933+ dump_generic_node (buffer, TREE_OPERAND (node, 2), spc, flags, false);
934+ pp_string (buffer, " > ");
935+ break;
936+
937+ case WIDEN_MULT_MINUS_EXPR:
938+ pp_string (buffer, " WIDEN_MULT_MINUS_EXPR < ");
939+ dump_generic_node (buffer, TREE_OPERAND (node, 0), spc, flags, false);
940+ pp_string (buffer, ", ");
941+ dump_generic_node (buffer, TREE_OPERAND (node, 1), spc, flags, false);
942+ pp_string (buffer, ", ");
943+ dump_generic_node (buffer, TREE_OPERAND (node, 2), spc, flags, false);
944+ pp_string (buffer, " > ");
945+ break;
946+
947 case OMP_PARALLEL:
948 pp_string (buffer, "#pragma omp parallel");
949 dump_omp_clauses (buffer, OMP_PARALLEL_CLAUSES (node), spc, flags);
950@@ -2432,6 +2452,8 @@
951 case VEC_WIDEN_MULT_LO_EXPR:
952 case WIDEN_MULT_EXPR:
953 case DOT_PROD_EXPR:
954+ case WIDEN_MULT_PLUS_EXPR:
955+ case WIDEN_MULT_MINUS_EXPR:
956 case MULT_EXPR:
957 case TRUNC_DIV_EXPR:
958 case CEIL_DIV_EXPR:
959
960=== modified file 'gcc/tree-ssa-ccp.c'
961--- old/gcc/tree-ssa-ccp.c 2010-08-10 13:31:21 +0000
962+++ new/gcc/tree-ssa-ccp.c 2010-09-16 09:15:46 +0000
963@@ -915,6 +915,23 @@
964 TREE_TYPE (TREE_OPERAND (addr, 0))));
965 }
966
967+/* Get operand number OPNR from the rhs of STMT. Before returning it,
968+ simplify it to a constant if possible. */
969+
970+static tree
971+get_rhs_assign_op_for_ccp (gimple stmt, int opnr)
972+{
973+ tree op = gimple_op (stmt, opnr);
974+
975+ if (TREE_CODE (op) == SSA_NAME)
976+ {
977+ prop_value_t *val = get_value (op);
978+ if (val->lattice_val == CONSTANT)
979+ op = get_value (op)->value;
980+ }
981+ return op;
982+}
983+
984 /* CCP specific front-end to the non-destructive constant folding
985 routines.
986
987@@ -1037,15 +1054,7 @@
988 Note that we know the single operand must be a constant,
989 so this should almost always return a simplified RHS. */
990 tree lhs = gimple_assign_lhs (stmt);
991- tree op0 = gimple_assign_rhs1 (stmt);
992-
993- /* Simplify the operand down to a constant. */
994- if (TREE_CODE (op0) == SSA_NAME)
995- {
996- prop_value_t *val = get_value (op0);
997- if (val->lattice_val == CONSTANT)
998- op0 = get_value (op0)->value;
999- }
1000+ tree op0 = get_rhs_assign_op_for_ccp (stmt, 1);
1001
1002 /* Conversions are useless for CCP purposes if they are
1003 value-preserving. Thus the restrictions that
1004@@ -1082,23 +1091,8 @@
1005 case GIMPLE_BINARY_RHS:
1006 {
1007 /* Handle binary operators that can appear in GIMPLE form. */
1008- tree op0 = gimple_assign_rhs1 (stmt);
1009- tree op1 = gimple_assign_rhs2 (stmt);
1010-
1011- /* Simplify the operands down to constants when appropriate. */
1012- if (TREE_CODE (op0) == SSA_NAME)
1013- {
1014- prop_value_t *val = get_value (op0);
1015- if (val->lattice_val == CONSTANT)
1016- op0 = val->value;
1017- }
1018-
1019- if (TREE_CODE (op1) == SSA_NAME)
1020- {
1021- prop_value_t *val = get_value (op1);
1022- if (val->lattice_val == CONSTANT)
1023- op1 = val->value;
1024- }
1025+ tree op0 = get_rhs_assign_op_for_ccp (stmt, 1);
1026+ tree op1 = get_rhs_assign_op_for_ccp (stmt, 2);
1027
1028 /* Fold &foo + CST into an invariant reference if possible. */
1029 if (gimple_assign_rhs_code (stmt) == POINTER_PLUS_EXPR
1030@@ -1115,6 +1109,17 @@
1031 gimple_expr_type (stmt), op0, op1);
1032 }
1033
1034+ case GIMPLE_TERNARY_RHS:
1035+ {
1036+ /* Handle binary operators that can appear in GIMPLE form. */
1037+ tree op0 = get_rhs_assign_op_for_ccp (stmt, 1);
1038+ tree op1 = get_rhs_assign_op_for_ccp (stmt, 2);
1039+ tree op2 = get_rhs_assign_op_for_ccp (stmt, 3);
1040+
1041+ return fold_ternary_loc (loc, subcode,
1042+ gimple_expr_type (stmt), op0, op1, op2);
1043+ }
1044+
1045 default:
1046 gcc_unreachable ();
1047 }
1048@@ -2959,6 +2964,33 @@
1049 }
1050 break;
1051
1052+ case GIMPLE_TERNARY_RHS:
1053+ result = fold_ternary_loc (loc, subcode,
1054+ TREE_TYPE (gimple_assign_lhs (stmt)),
1055+ gimple_assign_rhs1 (stmt),
1056+ gimple_assign_rhs2 (stmt),
1057+ gimple_assign_rhs3 (stmt));
1058+
1059+ if (result)
1060+ {
1061+ STRIP_USELESS_TYPE_CONVERSION (result);
1062+ if (valid_gimple_rhs_p (result))
1063+ return result;
1064+
1065+ /* Fold might have produced non-GIMPLE, so if we trust it blindly
1066+ we lose canonicalization opportunities. Do not go again
1067+ through fold here though, or the same non-GIMPLE will be
1068+ produced. */
1069+ if (commutative_ternary_tree_code (subcode)
1070+ && tree_swap_operands_p (gimple_assign_rhs1 (stmt),
1071+ gimple_assign_rhs2 (stmt), false))
1072+ return build3 (subcode, TREE_TYPE (gimple_assign_lhs (stmt)),
1073+ gimple_assign_rhs2 (stmt),
1074+ gimple_assign_rhs1 (stmt),
1075+ gimple_assign_rhs3 (stmt));
1076+ }
1077+ break;
1078+
1079 case GIMPLE_INVALID_RHS:
1080 gcc_unreachable ();
1081 }
1082
1083=== modified file 'gcc/tree-ssa-dom.c'
1084--- old/gcc/tree-ssa-dom.c 2010-07-20 11:44:16 +0000
1085+++ new/gcc/tree-ssa-dom.c 2010-09-16 09:15:46 +0000
1086@@ -54,6 +54,7 @@
1087 EXPR_SINGLE,
1088 EXPR_UNARY,
1089 EXPR_BINARY,
1090+ EXPR_TERNARY,
1091 EXPR_CALL
1092 };
1093
1094@@ -64,7 +65,8 @@
1095 union {
1096 struct { tree rhs; } single;
1097 struct { enum tree_code op; tree opnd; } unary;
1098- struct { enum tree_code op; tree opnd0; tree opnd1; } binary;
1099+ struct { enum tree_code op; tree opnd0, opnd1; } binary;
1100+ struct { enum tree_code op; tree opnd0, opnd1, opnd2; } ternary;
1101 struct { tree fn; bool pure; size_t nargs; tree *args; } call;
1102 } ops;
1103 };
1104@@ -214,22 +216,30 @@
1105 switch (get_gimple_rhs_class (subcode))
1106 {
1107 case GIMPLE_SINGLE_RHS:
1108- expr->kind = EXPR_SINGLE;
1109- expr->ops.single.rhs = gimple_assign_rhs1 (stmt);
1110- break;
1111+ expr->kind = EXPR_SINGLE;
1112+ expr->ops.single.rhs = gimple_assign_rhs1 (stmt);
1113+ break;
1114 case GIMPLE_UNARY_RHS:
1115- expr->kind = EXPR_UNARY;
1116+ expr->kind = EXPR_UNARY;
1117 expr->type = TREE_TYPE (gimple_assign_lhs (stmt));
1118- expr->ops.unary.op = subcode;
1119- expr->ops.unary.opnd = gimple_assign_rhs1 (stmt);
1120- break;
1121+ expr->ops.unary.op = subcode;
1122+ expr->ops.unary.opnd = gimple_assign_rhs1 (stmt);
1123+ break;
1124 case GIMPLE_BINARY_RHS:
1125- expr->kind = EXPR_BINARY;
1126- expr->type = TREE_TYPE (gimple_assign_lhs (stmt));
1127- expr->ops.binary.op = subcode;
1128- expr->ops.binary.opnd0 = gimple_assign_rhs1 (stmt);
1129- expr->ops.binary.opnd1 = gimple_assign_rhs2 (stmt);
1130- break;
1131+ expr->kind = EXPR_BINARY;
1132+ expr->type = TREE_TYPE (gimple_assign_lhs (stmt));
1133+ expr->ops.binary.op = subcode;
1134+ expr->ops.binary.opnd0 = gimple_assign_rhs1 (stmt);
1135+ expr->ops.binary.opnd1 = gimple_assign_rhs2 (stmt);
1136+ break;
1137+ case GIMPLE_TERNARY_RHS:
1138+ expr->kind = EXPR_TERNARY;
1139+ expr->type = TREE_TYPE (gimple_assign_lhs (stmt));
1140+ expr->ops.ternary.op = subcode;
1141+ expr->ops.ternary.opnd0 = gimple_assign_rhs1 (stmt);
1142+ expr->ops.ternary.opnd1 = gimple_assign_rhs2 (stmt);
1143+ expr->ops.ternary.opnd2 = gimple_assign_rhs3 (stmt);
1144+ break;
1145 default:
1146 gcc_unreachable ();
1147 }
1148@@ -374,23 +384,40 @@
1149 expr1->ops.unary.opnd, 0);
1150
1151 case EXPR_BINARY:
1152- {
1153- if (expr0->ops.binary.op != expr1->ops.binary.op)
1154- return false;
1155-
1156- if (operand_equal_p (expr0->ops.binary.opnd0,
1157- expr1->ops.binary.opnd0, 0)
1158- && operand_equal_p (expr0->ops.binary.opnd1,
1159- expr1->ops.binary.opnd1, 0))
1160- return true;
1161-
1162- /* For commutative ops, allow the other order. */
1163- return (commutative_tree_code (expr0->ops.binary.op)
1164- && operand_equal_p (expr0->ops.binary.opnd0,
1165- expr1->ops.binary.opnd1, 0)
1166- && operand_equal_p (expr0->ops.binary.opnd1,
1167- expr1->ops.binary.opnd0, 0));
1168- }
1169+ if (expr0->ops.binary.op != expr1->ops.binary.op)
1170+ return false;
1171+
1172+ if (operand_equal_p (expr0->ops.binary.opnd0,
1173+ expr1->ops.binary.opnd0, 0)
1174+ && operand_equal_p (expr0->ops.binary.opnd1,
1175+ expr1->ops.binary.opnd1, 0))
1176+ return true;
1177+
1178+ /* For commutative ops, allow the other order. */
1179+ return (commutative_tree_code (expr0->ops.binary.op)
1180+ && operand_equal_p (expr0->ops.binary.opnd0,
1181+ expr1->ops.binary.opnd1, 0)
1182+ && operand_equal_p (expr0->ops.binary.opnd1,
1183+ expr1->ops.binary.opnd0, 0));
1184+
1185+ case EXPR_TERNARY:
1186+ if (expr0->ops.ternary.op != expr1->ops.ternary.op
1187+ || !operand_equal_p (expr0->ops.ternary.opnd2,
1188+ expr1->ops.ternary.opnd2, 0))
1189+ return false;
1190+
1191+ if (operand_equal_p (expr0->ops.ternary.opnd0,
1192+ expr1->ops.ternary.opnd0, 0)
1193+ && operand_equal_p (expr0->ops.ternary.opnd1,
1194+ expr1->ops.ternary.opnd1, 0))
1195+ return true;
1196+
1197+ /* For commutative ops, allow the other order. */
1198+ return (commutative_ternary_tree_code (expr0->ops.ternary.op)
1199+ && operand_equal_p (expr0->ops.ternary.opnd0,
1200+ expr1->ops.ternary.opnd1, 0)
1201+ && operand_equal_p (expr0->ops.ternary.opnd1,
1202+ expr1->ops.ternary.opnd0, 0));
1203
1204 case EXPR_CALL:
1205 {
1206@@ -453,8 +480,8 @@
1207 case EXPR_BINARY:
1208 val = iterative_hash_object (expr->ops.binary.op, val);
1209 if (commutative_tree_code (expr->ops.binary.op))
1210- val = iterative_hash_exprs_commutative (expr->ops.binary.opnd0,
1211- expr->ops.binary.opnd1, val);
1212+ val = iterative_hash_exprs_commutative (expr->ops.binary.opnd0,
1213+ expr->ops.binary.opnd1, val);
1214 else
1215 {
1216 val = iterative_hash_expr (expr->ops.binary.opnd0, val);
1217@@ -462,6 +489,19 @@
1218 }
1219 break;
1220
1221+ case EXPR_TERNARY:
1222+ val = iterative_hash_object (expr->ops.ternary.op, val);
1223+ if (commutative_ternary_tree_code (expr->ops.ternary.op))
1224+ val = iterative_hash_exprs_commutative (expr->ops.ternary.opnd0,
1225+ expr->ops.ternary.opnd1, val);
1226+ else
1227+ {
1228+ val = iterative_hash_expr (expr->ops.ternary.opnd0, val);
1229+ val = iterative_hash_expr (expr->ops.ternary.opnd1, val);
1230+ }
1231+ val = iterative_hash_expr (expr->ops.ternary.opnd2, val);
1232+ break;
1233+
1234 case EXPR_CALL:
1235 {
1236 size_t i;
1237@@ -514,6 +554,16 @@
1238 print_generic_expr (stream, element->expr.ops.binary.opnd1, 0);
1239 break;
1240
1241+ case EXPR_TERNARY:
1242+ fprintf (stream, " %s <", tree_code_name[element->expr.ops.ternary.op]);
1243+ print_generic_expr (stream, element->expr.ops.ternary.opnd0, 0);
1244+ fputs (", ", stream);
1245+ print_generic_expr (stream, element->expr.ops.ternary.opnd1, 0);
1246+ fputs (", ", stream);
1247+ print_generic_expr (stream, element->expr.ops.ternary.opnd2, 0);
1248+ fputs (">", stream);
1249+ break;
1250+
1251 case EXPR_CALL:
1252 {
1253 size_t i;
1254
1255=== modified file 'gcc/tree-ssa-math-opts.c'
1256--- old/gcc/tree-ssa-math-opts.c 2010-09-01 13:29:58 +0000
1257+++ new/gcc/tree-ssa-math-opts.c 2010-09-16 09:15:46 +0000
1258@@ -1261,6 +1261,235 @@
1259 }
1260 };
1261
1262+/* Return true if RHS is a suitable operand for a widening multiplication.
1263+ There are two cases:
1264+
1265+ - RHS makes some value twice as wide. Store that value in *NEW_RHS_OUT
1266+ if so, and store its type in *TYPE_OUT.
1267+
1268+ - RHS is an integer constant. Store that value in *NEW_RHS_OUT if so,
1269+ but leave *TYPE_OUT untouched. */
1270+
1271+static bool
1272+is_widening_mult_rhs_p (tree rhs, tree *type_out, tree *new_rhs_out)
1273+{
1274+ gimple stmt;
1275+ tree type, type1, rhs1;
1276+ enum tree_code rhs_code;
1277+
1278+ if (TREE_CODE (rhs) == SSA_NAME)
1279+ {
1280+ type = TREE_TYPE (rhs);
1281+ stmt = SSA_NAME_DEF_STMT (rhs);
1282+ if (!is_gimple_assign (stmt))
1283+ return false;
1284+
1285+ rhs_code = gimple_assign_rhs_code (stmt);
1286+ if (TREE_CODE (type) == INTEGER_TYPE
1287+ ? !CONVERT_EXPR_CODE_P (rhs_code)
1288+ : rhs_code != FIXED_CONVERT_EXPR)
1289+ return false;
1290+
1291+ rhs1 = gimple_assign_rhs1 (stmt);
1292+ type1 = TREE_TYPE (rhs1);
1293+ if (TREE_CODE (type1) != TREE_CODE (type)
1294+ || TYPE_PRECISION (type1) * 2 != TYPE_PRECISION (type))
1295+ return false;
1296+
1297+ *new_rhs_out = rhs1;
1298+ *type_out = type1;
1299+ return true;
1300+ }
1301+
1302+ if (TREE_CODE (rhs) == INTEGER_CST)
1303+ {
1304+ *new_rhs_out = rhs;
1305+ *type_out = NULL;
1306+ return true;
1307+ }
1308+
1309+ return false;
1310+}
1311+
1312+/* Return true if STMT performs a widening multiplication. If so,
1313+ store the unwidened types of the operands in *TYPE1_OUT and *TYPE2_OUT
1314+ respectively. Also fill *RHS1_OUT and *RHS2_OUT such that converting
1315+ those operands to types *TYPE1_OUT and *TYPE2_OUT would give the
1316+ operands of the multiplication. */
1317+
1318+static bool
1319+is_widening_mult_p (gimple stmt,
1320+ tree *type1_out, tree *rhs1_out,
1321+ tree *type2_out, tree *rhs2_out)
1322+{
1323+ tree type;
1324+
1325+ type = TREE_TYPE (gimple_assign_lhs (stmt));
1326+ if (TREE_CODE (type) != INTEGER_TYPE
1327+ && TREE_CODE (type) != FIXED_POINT_TYPE)
1328+ return false;
1329+
1330+ if (!is_widening_mult_rhs_p (gimple_assign_rhs1 (stmt), type1_out, rhs1_out))
1331+ return false;
1332+
1333+ if (!is_widening_mult_rhs_p (gimple_assign_rhs2 (stmt), type2_out, rhs2_out))
1334+ return false;
1335+
1336+ if (*type1_out == NULL)
1337+ {
1338+ if (*type2_out == NULL || !int_fits_type_p (*rhs1_out, *type2_out))
1339+ return false;
1340+ *type1_out = *type2_out;
1341+ }
1342+
1343+ if (*type2_out == NULL)
1344+ {
1345+ if (!int_fits_type_p (*rhs2_out, *type1_out))
1346+ return false;
1347+ *type2_out = *type1_out;
1348+ }
1349+
1350+ return true;
1351+}
1352+
1353+/* Process a single gimple statement STMT, which has a MULT_EXPR as
1354+ its rhs, and try to convert it into a WIDEN_MULT_EXPR. The return
1355+ value is true iff we converted the statement. */
1356+
1357+static bool
1358+convert_mult_to_widen (gimple stmt)
1359+{
1360+ tree lhs, rhs1, rhs2, type, type1, type2;
1361+ enum insn_code handler;
1362+
1363+ lhs = gimple_assign_lhs (stmt);
1364+ type = TREE_TYPE (lhs);
1365+ if (TREE_CODE (type) != INTEGER_TYPE)
1366+ return false;
1367+
1368+ if (!is_widening_mult_p (stmt, &type1, &rhs1, &type2, &rhs2))
1369+ return false;
1370+
1371+ if (TYPE_UNSIGNED (type1) && TYPE_UNSIGNED (type2))
1372+ handler = optab_handler (umul_widen_optab, TYPE_MODE (type))->insn_code;
1373+ else if (!TYPE_UNSIGNED (type1) && !TYPE_UNSIGNED (type2))
1374+ handler = optab_handler (smul_widen_optab, TYPE_MODE (type))->insn_code;
1375+ else
1376+ handler = optab_handler (usmul_widen_optab, TYPE_MODE (type))->insn_code;
1377+
1378+ if (handler == CODE_FOR_nothing)
1379+ return false;
1380+
1381+ gimple_assign_set_rhs1 (stmt, fold_convert (type1, rhs1));
1382+ gimple_assign_set_rhs2 (stmt, fold_convert (type2, rhs2));
1383+ gimple_assign_set_rhs_code (stmt, WIDEN_MULT_EXPR);
1384+ update_stmt (stmt);
1385+ return true;
1386+}
1387+
1388+/* Process a single gimple statement STMT, which is found at the
1389+ iterator GSI and has a either a PLUS_EXPR or a MINUS_EXPR as its
1390+ rhs (given by CODE), and try to convert it into a
1391+ WIDEN_MULT_PLUS_EXPR or a WIDEN_MULT_MINUS_EXPR. The return value
1392+ is true iff we converted the statement. */
1393+
1394+static bool
1395+convert_plusminus_to_widen (gimple_stmt_iterator *gsi, gimple stmt,
1396+ enum tree_code code)
1397+{
1398+ gimple rhs1_stmt = NULL, rhs2_stmt = NULL;
1399+ tree type, type1, type2;
1400+ tree lhs, rhs1, rhs2, mult_rhs1, mult_rhs2, add_rhs;
1401+ enum tree_code rhs1_code = ERROR_MARK, rhs2_code = ERROR_MARK;
1402+ optab this_optab;
1403+ enum tree_code wmult_code;
1404+
1405+ lhs = gimple_assign_lhs (stmt);
1406+ type = TREE_TYPE (lhs);
1407+ if (TREE_CODE (type) != INTEGER_TYPE
1408+ && TREE_CODE (type) != FIXED_POINT_TYPE)
1409+ return false;
1410+
1411+ if (code == MINUS_EXPR)
1412+ wmult_code = WIDEN_MULT_MINUS_EXPR;
1413+ else
1414+ wmult_code = WIDEN_MULT_PLUS_EXPR;
1415+
1416+ rhs1 = gimple_assign_rhs1 (stmt);
1417+ rhs2 = gimple_assign_rhs2 (stmt);
1418+
1419+ if (TREE_CODE (rhs1) == SSA_NAME)
1420+ {
1421+ rhs1_stmt = SSA_NAME_DEF_STMT (rhs1);
1422+ if (is_gimple_assign (rhs1_stmt))
1423+ rhs1_code = gimple_assign_rhs_code (rhs1_stmt);
1424+ }
1425+ else
1426+ return false;
1427+
1428+ if (TREE_CODE (rhs2) == SSA_NAME)
1429+ {
1430+ rhs2_stmt = SSA_NAME_DEF_STMT (rhs2);
1431+ if (is_gimple_assign (rhs2_stmt))
1432+ rhs2_code = gimple_assign_rhs_code (rhs2_stmt);
1433+ }
1434+ else
1435+ return false;
1436+
1437+ if (code == PLUS_EXPR && rhs1_code == MULT_EXPR)
1438+ {
1439+ if (!is_widening_mult_p (rhs1_stmt, &type1, &mult_rhs1,
1440+ &type2, &mult_rhs2))
1441+ return false;
1442+ add_rhs = rhs2;
1443+ }
1444+ else if (rhs2_code == MULT_EXPR)
1445+ {
1446+ if (!is_widening_mult_p (rhs2_stmt, &type1, &mult_rhs1,
1447+ &type2, &mult_rhs2))
1448+ return false;
1449+ add_rhs = rhs1;
1450+ }
1451+ else if (code == PLUS_EXPR && rhs1_code == WIDEN_MULT_EXPR)
1452+ {
1453+ mult_rhs1 = gimple_assign_rhs1 (rhs1_stmt);
1454+ mult_rhs2 = gimple_assign_rhs2 (rhs1_stmt);
1455+ type1 = TREE_TYPE (mult_rhs1);
1456+ type2 = TREE_TYPE (mult_rhs2);
1457+ add_rhs = rhs2;
1458+ }
1459+ else if (rhs2_code == WIDEN_MULT_EXPR)
1460+ {
1461+ mult_rhs1 = gimple_assign_rhs1 (rhs2_stmt);
1462+ mult_rhs2 = gimple_assign_rhs2 (rhs2_stmt);
1463+ type1 = TREE_TYPE (mult_rhs1);
1464+ type2 = TREE_TYPE (mult_rhs2);
1465+ add_rhs = rhs1;
1466+ }
1467+ else
1468+ return false;
1469+
1470+ if (TYPE_UNSIGNED (type1) != TYPE_UNSIGNED (type2))
1471+ return false;
1472+
1473+ /* Verify that the machine can perform a widening multiply
1474+ accumulate in this mode/signedness combination, otherwise
1475+ this transformation is likely to pessimize code. */
1476+ this_optab = optab_for_tree_code (wmult_code, type1, optab_default);
1477+ if (optab_handler (this_optab, TYPE_MODE (type))->insn_code
1478+ == CODE_FOR_nothing)
1479+ return false;
1480+
1481+ /* ??? May need some type verification here? */
1482+
1483+ gimple_assign_set_rhs_with_ops_1 (gsi, wmult_code,
1484+ fold_convert (type1, mult_rhs1),
1485+ fold_convert (type2, mult_rhs2),
1486+ add_rhs);
1487+ update_stmt (gsi_stmt (*gsi));
1488+ return true;
1489+}
1490+
1491 /* Find integer multiplications where the operands are extended from
1492 smaller types, and replace the MULT_EXPR with a WIDEN_MULT_EXPR
1493 where appropriate. */
1494@@ -1278,94 +1507,19 @@
1495 for (gsi = gsi_after_labels (bb); !gsi_end_p (gsi); gsi_next (&gsi))
1496 {
1497 gimple stmt = gsi_stmt (gsi);
1498- gimple rhs1_stmt = NULL, rhs2_stmt = NULL;
1499- tree type, type1 = NULL, type2 = NULL;
1500- tree rhs1, rhs2, rhs1_convop = NULL, rhs2_convop = NULL;
1501- enum tree_code rhs1_code, rhs2_code;
1502-
1503- if (!is_gimple_assign (stmt)
1504- || gimple_assign_rhs_code (stmt) != MULT_EXPR)
1505- continue;
1506-
1507- type = TREE_TYPE (gimple_assign_lhs (stmt));
1508-
1509- if (TREE_CODE (type) != INTEGER_TYPE)
1510- continue;
1511-
1512- rhs1 = gimple_assign_rhs1 (stmt);
1513- rhs2 = gimple_assign_rhs2 (stmt);
1514-
1515- if (TREE_CODE (rhs1) == SSA_NAME)
1516- {
1517- rhs1_stmt = SSA_NAME_DEF_STMT (rhs1);
1518- if (!is_gimple_assign (rhs1_stmt))
1519- continue;
1520- rhs1_code = gimple_assign_rhs_code (rhs1_stmt);
1521- if (!CONVERT_EXPR_CODE_P (rhs1_code))
1522- continue;
1523- rhs1_convop = gimple_assign_rhs1 (rhs1_stmt);
1524- type1 = TREE_TYPE (rhs1_convop);
1525- if (TYPE_PRECISION (type1) * 2 != TYPE_PRECISION (type))
1526- continue;
1527- }
1528- else if (TREE_CODE (rhs1) != INTEGER_CST)
1529- continue;
1530-
1531- if (TREE_CODE (rhs2) == SSA_NAME)
1532- {
1533- rhs2_stmt = SSA_NAME_DEF_STMT (rhs2);
1534- if (!is_gimple_assign (rhs2_stmt))
1535- continue;
1536- rhs2_code = gimple_assign_rhs_code (rhs2_stmt);
1537- if (!CONVERT_EXPR_CODE_P (rhs2_code))
1538- continue;
1539- rhs2_convop = gimple_assign_rhs1 (rhs2_stmt);
1540- type2 = TREE_TYPE (rhs2_convop);
1541- if (TYPE_PRECISION (type2) * 2 != TYPE_PRECISION (type))
1542- continue;
1543- }
1544- else if (TREE_CODE (rhs2) != INTEGER_CST)
1545- continue;
1546-
1547- if (rhs1_stmt == NULL && rhs2_stmt == NULL)
1548- continue;
1549-
1550- /* Verify that the machine can perform a widening multiply in this
1551- mode/signedness combination, otherwise this transformation is
1552- likely to pessimize code. */
1553- if ((rhs1_stmt == NULL || TYPE_UNSIGNED (type1))
1554- && (rhs2_stmt == NULL || TYPE_UNSIGNED (type2))
1555- && (optab_handler (umul_widen_optab, TYPE_MODE (type))
1556- ->insn_code == CODE_FOR_nothing))
1557- continue;
1558- else if ((rhs1_stmt == NULL || !TYPE_UNSIGNED (type1))
1559- && (rhs2_stmt == NULL || !TYPE_UNSIGNED (type2))
1560- && (optab_handler (smul_widen_optab, TYPE_MODE (type))
1561- ->insn_code == CODE_FOR_nothing))
1562- continue;
1563- else if (rhs1_stmt != NULL && rhs2_stmt != 0
1564- && (TYPE_UNSIGNED (type1) != TYPE_UNSIGNED (type2))
1565- && (optab_handler (usmul_widen_optab, TYPE_MODE (type))
1566- ->insn_code == CODE_FOR_nothing))
1567- continue;
1568-
1569- if ((rhs1_stmt == NULL && !int_fits_type_p (rhs1, type2))
1570- || (rhs2_stmt == NULL && !int_fits_type_p (rhs2, type1)))
1571- continue;
1572-
1573- if (rhs1_stmt == NULL)
1574- gimple_assign_set_rhs1 (stmt, fold_convert (type2, rhs1));
1575- else
1576- gimple_assign_set_rhs1 (stmt, rhs1_convop);
1577- if (rhs2_stmt == NULL)
1578- gimple_assign_set_rhs2 (stmt, fold_convert (type1, rhs2));
1579- else
1580- gimple_assign_set_rhs2 (stmt, rhs2_convop);
1581- gimple_assign_set_rhs_code (stmt, WIDEN_MULT_EXPR);
1582- update_stmt (stmt);
1583- changed = true;
1584+ enum tree_code code;
1585+
1586+ if (!is_gimple_assign (stmt))
1587+ continue;
1588+
1589+ code = gimple_assign_rhs_code (stmt);
1590+ if (code == MULT_EXPR)
1591+ changed |= convert_mult_to_widen (stmt);
1592+ else if (code == PLUS_EXPR || code == MINUS_EXPR)
1593+ changed |= convert_plusminus_to_widen (&gsi, stmt, code);
1594 }
1595 }
1596+
1597 return (changed ? TODO_dump_func | TODO_update_ssa | TODO_verify_ssa
1598 | TODO_verify_stmts : 0);
1599 }
1600
1601=== modified file 'gcc/tree-ssa-operands.c'
1602--- old/gcc/tree-ssa-operands.c 2010-04-02 18:54:46 +0000
1603+++ new/gcc/tree-ssa-operands.c 2010-09-16 09:15:46 +0000
1604@@ -994,11 +994,13 @@
1605
1606 case DOT_PROD_EXPR:
1607 case REALIGN_LOAD_EXPR:
1608+ case WIDEN_MULT_PLUS_EXPR:
1609+ case WIDEN_MULT_MINUS_EXPR:
1610 {
1611 get_expr_operands (stmt, &TREE_OPERAND (expr, 0), flags);
1612- get_expr_operands (stmt, &TREE_OPERAND (expr, 1), flags);
1613- get_expr_operands (stmt, &TREE_OPERAND (expr, 2), flags);
1614- return;
1615+ get_expr_operands (stmt, &TREE_OPERAND (expr, 1), flags);
1616+ get_expr_operands (stmt, &TREE_OPERAND (expr, 2), flags);
1617+ return;
1618 }
1619
1620 case FUNCTION_DECL:
1621
1622=== modified file 'gcc/tree-ssa-sccvn.c'
1623--- old/gcc/tree-ssa-sccvn.c 2010-05-14 11:40:18 +0000
1624+++ new/gcc/tree-ssa-sccvn.c 2010-09-16 09:15:46 +0000
1625@@ -2277,6 +2277,10 @@
1626 case GIMPLE_BINARY_RHS:
1627 return (is_gimple_min_invariant (gimple_assign_rhs1 (stmt))
1628 || is_gimple_min_invariant (gimple_assign_rhs2 (stmt)));
1629+ case GIMPLE_TERNARY_RHS:
1630+ return (is_gimple_min_invariant (gimple_assign_rhs1 (stmt))
1631+ || is_gimple_min_invariant (gimple_assign_rhs2 (stmt))
1632+ || is_gimple_min_invariant (gimple_assign_rhs3 (stmt)));
1633 case GIMPLE_SINGLE_RHS:
1634 /* Constants inside reference ops are rarely interesting, but
1635 it can take a lot of looking to find them. */
1636
1637=== modified file 'gcc/tree-ssa-threadedge.c'
1638--- old/gcc/tree-ssa-threadedge.c 2009-11-25 10:55:54 +0000
1639+++ new/gcc/tree-ssa-threadedge.c 2010-09-16 09:15:46 +0000
1640@@ -247,14 +247,14 @@
1641
1642 return fold (rhs);
1643 }
1644- break;
1645+
1646 case GIMPLE_UNARY_RHS:
1647 {
1648 tree lhs = gimple_assign_lhs (stmt);
1649 tree op0 = gimple_assign_rhs1 (stmt);
1650 return fold_unary (subcode, TREE_TYPE (lhs), op0);
1651 }
1652- break;
1653+
1654 case GIMPLE_BINARY_RHS:
1655 {
1656 tree lhs = gimple_assign_lhs (stmt);
1657@@ -262,7 +262,16 @@
1658 tree op1 = gimple_assign_rhs2 (stmt);
1659 return fold_binary (subcode, TREE_TYPE (lhs), op0, op1);
1660 }
1661- break;
1662+
1663+ case GIMPLE_TERNARY_RHS:
1664+ {
1665+ tree lhs = gimple_assign_lhs (stmt);
1666+ tree op0 = gimple_assign_rhs1 (stmt);
1667+ tree op1 = gimple_assign_rhs2 (stmt);
1668+ tree op2 = gimple_assign_rhs3 (stmt);
1669+ return fold_ternary (subcode, TREE_TYPE (lhs), op0, op1, op2);
1670+ }
1671+
1672 default:
1673 gcc_unreachable ();
1674 }
1675
1676=== modified file 'gcc/tree-vrp.c'
1677--- old/gcc/tree-vrp.c 2010-06-14 14:23:31 +0000
1678+++ new/gcc/tree-vrp.c 2010-09-16 09:15:46 +0000
1679@@ -864,6 +864,8 @@
1680 gimple_assign_rhs1 (stmt),
1681 gimple_assign_rhs2 (stmt),
1682 strict_overflow_p);
1683+ case GIMPLE_TERNARY_RHS:
1684+ return false;
1685 case GIMPLE_SINGLE_RHS:
1686 return tree_single_nonnegative_warnv_p (gimple_assign_rhs1 (stmt),
1687 strict_overflow_p);
1688@@ -935,6 +937,8 @@
1689 gimple_assign_rhs1 (stmt),
1690 gimple_assign_rhs2 (stmt),
1691 strict_overflow_p);
1692+ case GIMPLE_TERNARY_RHS:
1693+ return false;
1694 case GIMPLE_SINGLE_RHS:
1695 return tree_single_nonzero_warnv_p (gimple_assign_rhs1 (stmt),
1696 strict_overflow_p);
1697
1698=== modified file 'gcc/tree.c'
1699--- old/gcc/tree.c 2010-08-10 13:31:21 +0000
1700+++ new/gcc/tree.c 2010-09-16 09:15:46 +0000
1701@@ -6538,6 +6538,23 @@
1702 return false;
1703 }
1704
1705+/* Return true if CODE represents a ternary tree code for which the
1706+ first two operands are commutative. Otherwise return false. */
1707+bool
1708+commutative_ternary_tree_code (enum tree_code code)
1709+{
1710+ switch (code)
1711+ {
1712+ case WIDEN_MULT_PLUS_EXPR:
1713+ case WIDEN_MULT_MINUS_EXPR:
1714+ return true;
1715+
1716+ default:
1717+ break;
1718+ }
1719+ return false;
1720+}
1721+
1722 /* Generate a hash value for an expression. This can be used iteratively
1723 by passing a previous result as the VAL argument.
1724
1725
1726=== modified file 'gcc/tree.def'
1727--- old/gcc/tree.def 2010-04-02 18:54:46 +0000
1728+++ new/gcc/tree.def 2010-09-16 09:15:46 +0000
1729@@ -1083,6 +1083,18 @@
1730 the arguments from type t1 to type t2, and then multiplying them. */
1731 DEFTREECODE (WIDEN_MULT_EXPR, "widen_mult_expr", tcc_binary, 2)
1732
1733+/* Widening multiply-accumulate.
1734+ The first two arguments are of type t1.
1735+ The third argument and the result are of type t2, such as t2 is at least
1736+ twice the size of t1. t1 and t2 must be integral or fixed-point types.
1737+ The expression is equivalent to a WIDEN_MULT_EXPR operation
1738+ of the first two operands followed by an add or subtract of the third
1739+ operand. */
1740+DEFTREECODE (WIDEN_MULT_PLUS_EXPR, "widen_mult_plus_expr", tcc_expression, 3)
1741+/* This is like the above, except in the final expression the multiply result
1742+ is subtracted from t3. */
1743+DEFTREECODE (WIDEN_MULT_MINUS_EXPR, "widen_mult_plus_expr", tcc_expression, 3)
1744+
1745 /* Whole vector left/right shift in bits.
1746 Operand 0 is a vector to be shifted.
1747 Operand 1 is an integer shift amount in bits. */
1748
1749=== modified file 'gcc/tree.h'
1750--- old/gcc/tree.h 2010-08-10 13:31:21 +0000
1751+++ new/gcc/tree.h 2010-09-16 09:15:46 +0000
1752@@ -4705,6 +4705,7 @@
1753 extern int type_num_arguments (const_tree);
1754 extern bool associative_tree_code (enum tree_code);
1755 extern bool commutative_tree_code (enum tree_code);
1756+extern bool commutative_ternary_tree_code (enum tree_code);
1757 extern tree upper_bound_in_type (tree, tree);
1758 extern tree lower_bound_in_type (tree, tree);
1759 extern int operand_equal_for_phi_arg_p (const_tree, const_tree);
1760
diff --git a/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99397.patch b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99397.patch
new file mode 100644
index 0000000000..e795d54e0f
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99397.patch
@@ -0,0 +1,3565 @@
12010-09-16 Andrew Stubbs <ams@codesourcery.com>
2
3 Backport from FSF:
4
5 2010-09-01 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
6
7 * config/arm/neon-schedgen.ml (core): New type.
8 (allCores): List of supported cores.
9 (availability_table): Add supported cores.
10 (collate_bypasses): Accept core as a parameter.
11 (worst_case_latencies_and_bypasses): Accept core as a
12 parameter.
13 (emit_insn_reservations): Accept core as a parameter.
14 Use tuneStr and coreStr to get tune attribute and prefix
15 for functional units.
16 (emit_bypasses): Accept core name and use it.
17 (calculate_per_core_availability_table): New.
18 (filter_core): New.
19 (calculate_core_availability_table): New.
20 (main): Use calculate_core_availablity_table.
21 * config/arm/cortex-a8-neon.md: Update copyright year.
22 Regenerated from ml file and merged in.
23 (neon_mrrc, neon_mrc): Rename to cortex_a8_neon_mrrc and
24 cortex_a8_neon_mrc.
25
26 2010-09-10 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
27
28 * config/arm/neon-schedgen.ml (allCores): Add support for
29 Cortex-A9.
30 * config/arm/cortex-a9-neon.md: New and partially generated.
31 * config/arm/cortex-a9.md (cortex_a9_dp): Adjust for Neon.
32
33 2010-09-15 Chung-Lin Tang <cltang@codesourcery.com>
34
35 Issue #9441
36
37=== modified file 'gcc/config/arm/cortex-a8-neon.md'
38--- old/gcc/config/arm/cortex-a8-neon.md 2009-02-20 15:20:38 +0000
39+++ new/gcc/config/arm/cortex-a8-neon.md 2010-09-16 09:47:44 +0000
40@@ -182,12 +182,12 @@
41
42 ;; NEON -> core transfers.
43
44-(define_insn_reservation "neon_mrc" 20
45+(define_insn_reservation "cortex_a8_neon_mrc" 20
46 (and (eq_attr "tune" "cortexa8")
47 (eq_attr "neon_type" "neon_mrc"))
48 "cortex_a8_neon_ls")
49
50-(define_insn_reservation "neon_mrrc" 21
51+(define_insn_reservation "cortex_a8_neon_mrrc" 21
52 (and (eq_attr "tune" "cortexa8")
53 (eq_attr "neon_type" "neon_mrrc"))
54 "cortex_a8_neon_ls_2")
55@@ -196,48 +196,48 @@
56
57 ;; Instructions using this reservation read their source operands at N2, and
58 ;; produce a result at N3.
59-(define_insn_reservation "neon_int_1" 3
60+(define_insn_reservation "cortex_a8_neon_int_1" 3
61 (and (eq_attr "tune" "cortexa8")
62 (eq_attr "neon_type" "neon_int_1"))
63 "cortex_a8_neon_dp")
64
65 ;; Instructions using this reservation read their (D|Q)m operands at N1,
66 ;; their (D|Q)n operands at N2, and produce a result at N3.
67-(define_insn_reservation "neon_int_2" 3
68+(define_insn_reservation "cortex_a8_neon_int_2" 3
69 (and (eq_attr "tune" "cortexa8")
70 (eq_attr "neon_type" "neon_int_2"))
71 "cortex_a8_neon_dp")
72
73 ;; Instructions using this reservation read their source operands at N1, and
74 ;; produce a result at N3.
75-(define_insn_reservation "neon_int_3" 3
76+(define_insn_reservation "cortex_a8_neon_int_3" 3
77 (and (eq_attr "tune" "cortexa8")
78 (eq_attr "neon_type" "neon_int_3"))
79 "cortex_a8_neon_dp")
80
81 ;; Instructions using this reservation read their source operands at N2, and
82 ;; produce a result at N4.
83-(define_insn_reservation "neon_int_4" 4
84+(define_insn_reservation "cortex_a8_neon_int_4" 4
85 (and (eq_attr "tune" "cortexa8")
86 (eq_attr "neon_type" "neon_int_4"))
87 "cortex_a8_neon_dp")
88
89 ;; Instructions using this reservation read their (D|Q)m operands at N1,
90 ;; their (D|Q)n operands at N2, and produce a result at N4.
91-(define_insn_reservation "neon_int_5" 4
92+(define_insn_reservation "cortex_a8_neon_int_5" 4
93 (and (eq_attr "tune" "cortexa8")
94 (eq_attr "neon_type" "neon_int_5"))
95 "cortex_a8_neon_dp")
96
97 ;; Instructions using this reservation read their source operands at N1, and
98 ;; produce a result at N4.
99-(define_insn_reservation "neon_vqneg_vqabs" 4
100+(define_insn_reservation "cortex_a8_neon_vqneg_vqabs" 4
101 (and (eq_attr "tune" "cortexa8")
102 (eq_attr "neon_type" "neon_vqneg_vqabs"))
103 "cortex_a8_neon_dp")
104
105 ;; Instructions using this reservation produce a result at N3.
106-(define_insn_reservation "neon_vmov" 3
107+(define_insn_reservation "cortex_a8_neon_vmov" 3
108 (and (eq_attr "tune" "cortexa8")
109 (eq_attr "neon_type" "neon_vmov"))
110 "cortex_a8_neon_dp")
111@@ -245,7 +245,7 @@
112 ;; Instructions using this reservation read their (D|Q)n operands at N2,
113 ;; their (D|Q)m operands at N1, their (D|Q)d operands at N3, and
114 ;; produce a result at N6.
115-(define_insn_reservation "neon_vaba" 6
116+(define_insn_reservation "cortex_a8_neon_vaba" 6
117 (and (eq_attr "tune" "cortexa8")
118 (eq_attr "neon_type" "neon_vaba"))
119 "cortex_a8_neon_dp")
120@@ -253,35 +253,35 @@
121 ;; Instructions using this reservation read their (D|Q)n operands at N2,
122 ;; their (D|Q)m operands at N1, their (D|Q)d operands at N3, and
123 ;; produce a result at N6 on cycle 2.
124-(define_insn_reservation "neon_vaba_qqq" 7
125+(define_insn_reservation "cortex_a8_neon_vaba_qqq" 7
126 (and (eq_attr "tune" "cortexa8")
127 (eq_attr "neon_type" "neon_vaba_qqq"))
128 "cortex_a8_neon_dp_2")
129
130 ;; Instructions using this reservation read their (D|Q)m operands at N1,
131 ;; their (D|Q)d operands at N3, and produce a result at N6.
132-(define_insn_reservation "neon_vsma" 6
133+(define_insn_reservation "cortex_a8_neon_vsma" 6
134 (and (eq_attr "tune" "cortexa8")
135 (eq_attr "neon_type" "neon_vsma"))
136 "cortex_a8_neon_dp")
137
138 ;; Instructions using this reservation read their source operands at N2, and
139 ;; produce a result at N6.
140-(define_insn_reservation "neon_mul_ddd_8_16_qdd_16_8_long_32_16_long" 6
141+(define_insn_reservation "cortex_a8_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long" 6
142 (and (eq_attr "tune" "cortexa8")
143 (eq_attr "neon_type" "neon_mul_ddd_8_16_qdd_16_8_long_32_16_long"))
144 "cortex_a8_neon_dp")
145
146 ;; Instructions using this reservation read their source operands at N2, and
147 ;; produce a result at N6 on cycle 2.
148-(define_insn_reservation "neon_mul_qqq_8_16_32_ddd_32" 7
149+(define_insn_reservation "cortex_a8_neon_mul_qqq_8_16_32_ddd_32" 7
150 (and (eq_attr "tune" "cortexa8")
151 (eq_attr "neon_type" "neon_mul_qqq_8_16_32_ddd_32"))
152 "cortex_a8_neon_dp_2")
153
154 ;; Instructions using this reservation read their (D|Q)n operands at N2,
155 ;; their (D|Q)m operands at N1, and produce a result at N6 on cycle 2.
156-(define_insn_reservation "neon_mul_qdd_64_32_long_qqd_16_ddd_32_scalar_64_32_long_scalar" 7
157+(define_insn_reservation "cortex_a8_neon_mul_qdd_64_32_long_qqd_16_ddd_32_scalar_64_32_long_scalar" 7
158 (and (eq_attr "tune" "cortexa8")
159 (eq_attr "neon_type" "neon_mul_qdd_64_32_long_qqd_16_ddd_32_scalar_64_32_long_scalar"))
160 "cortex_a8_neon_dp_2")
161@@ -289,7 +289,7 @@
162 ;; Instructions using this reservation read their (D|Q)n operands at N2,
163 ;; their (D|Q)m operands at N2, their (D|Q)d operands at N3, and
164 ;; produce a result at N6.
165-(define_insn_reservation "neon_mla_ddd_8_16_qdd_16_8_long_32_16_long" 6
166+(define_insn_reservation "cortex_a8_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long" 6
167 (and (eq_attr "tune" "cortexa8")
168 (eq_attr "neon_type" "neon_mla_ddd_8_16_qdd_16_8_long_32_16_long"))
169 "cortex_a8_neon_dp")
170@@ -297,7 +297,7 @@
171 ;; Instructions using this reservation read their (D|Q)n operands at N2,
172 ;; their (D|Q)m operands at N2, their (D|Q)d operands at N3, and
173 ;; produce a result at N6 on cycle 2.
174-(define_insn_reservation "neon_mla_qqq_8_16" 7
175+(define_insn_reservation "cortex_a8_neon_mla_qqq_8_16" 7
176 (and (eq_attr "tune" "cortexa8")
177 (eq_attr "neon_type" "neon_mla_qqq_8_16"))
178 "cortex_a8_neon_dp_2")
179@@ -305,7 +305,7 @@
180 ;; Instructions using this reservation read their (D|Q)n operands at N2,
181 ;; their (D|Q)m operands at N1, their (D|Q)d operands at N3, and
182 ;; produce a result at N6 on cycle 2.
183-(define_insn_reservation "neon_mla_ddd_32_qqd_16_ddd_32_scalar_qdd_64_32_long_scalar_qdd_64_32_long" 7
184+(define_insn_reservation "cortex_a8_neon_mla_ddd_32_qqd_16_ddd_32_scalar_qdd_64_32_long_scalar_qdd_64_32_long" 7
185 (and (eq_attr "tune" "cortexa8")
186 (eq_attr "neon_type" "neon_mla_ddd_32_qqd_16_ddd_32_scalar_qdd_64_32_long_scalar_qdd_64_32_long"))
187 "cortex_a8_neon_dp_2")
188@@ -313,21 +313,21 @@
189 ;; Instructions using this reservation read their (D|Q)n operands at N2,
190 ;; their (D|Q)m operands at N1, their (D|Q)d operands at N3, and
191 ;; produce a result at N6 on cycle 4.
192-(define_insn_reservation "neon_mla_qqq_32_qqd_32_scalar" 9
193+(define_insn_reservation "cortex_a8_neon_mla_qqq_32_qqd_32_scalar" 9
194 (and (eq_attr "tune" "cortexa8")
195 (eq_attr "neon_type" "neon_mla_qqq_32_qqd_32_scalar"))
196 "cortex_a8_neon_dp_4")
197
198 ;; Instructions using this reservation read their (D|Q)n operands at N2,
199 ;; their (D|Q)m operands at N1, and produce a result at N6.
200-(define_insn_reservation "neon_mul_ddd_16_scalar_32_16_long_scalar" 6
201+(define_insn_reservation "cortex_a8_neon_mul_ddd_16_scalar_32_16_long_scalar" 6
202 (and (eq_attr "tune" "cortexa8")
203 (eq_attr "neon_type" "neon_mul_ddd_16_scalar_32_16_long_scalar"))
204 "cortex_a8_neon_dp")
205
206 ;; Instructions using this reservation read their (D|Q)n operands at N2,
207 ;; their (D|Q)m operands at N1, and produce a result at N6 on cycle 4.
208-(define_insn_reservation "neon_mul_qqd_32_scalar" 9
209+(define_insn_reservation "cortex_a8_neon_mul_qqd_32_scalar" 9
210 (and (eq_attr "tune" "cortexa8")
211 (eq_attr "neon_type" "neon_mul_qqd_32_scalar"))
212 "cortex_a8_neon_dp_4")
213@@ -335,84 +335,84 @@
214 ;; Instructions using this reservation read their (D|Q)n operands at N2,
215 ;; their (D|Q)m operands at N1, their (D|Q)d operands at N3, and
216 ;; produce a result at N6.
217-(define_insn_reservation "neon_mla_ddd_16_scalar_qdd_32_16_long_scalar" 6
218+(define_insn_reservation "cortex_a8_neon_mla_ddd_16_scalar_qdd_32_16_long_scalar" 6
219 (and (eq_attr "tune" "cortexa8")
220 (eq_attr "neon_type" "neon_mla_ddd_16_scalar_qdd_32_16_long_scalar"))
221 "cortex_a8_neon_dp")
222
223 ;; Instructions using this reservation read their source operands at N1, and
224 ;; produce a result at N3.
225-(define_insn_reservation "neon_shift_1" 3
226+(define_insn_reservation "cortex_a8_neon_shift_1" 3
227 (and (eq_attr "tune" "cortexa8")
228 (eq_attr "neon_type" "neon_shift_1"))
229 "cortex_a8_neon_dp")
230
231 ;; Instructions using this reservation read their source operands at N1, and
232 ;; produce a result at N4.
233-(define_insn_reservation "neon_shift_2" 4
234+(define_insn_reservation "cortex_a8_neon_shift_2" 4
235 (and (eq_attr "tune" "cortexa8")
236 (eq_attr "neon_type" "neon_shift_2"))
237 "cortex_a8_neon_dp")
238
239 ;; Instructions using this reservation read their source operands at N1, and
240 ;; produce a result at N3 on cycle 2.
241-(define_insn_reservation "neon_shift_3" 4
242+(define_insn_reservation "cortex_a8_neon_shift_3" 4
243 (and (eq_attr "tune" "cortexa8")
244 (eq_attr "neon_type" "neon_shift_3"))
245 "cortex_a8_neon_dp_2")
246
247 ;; Instructions using this reservation read their source operands at N1, and
248 ;; produce a result at N1.
249-(define_insn_reservation "neon_vshl_ddd" 1
250+(define_insn_reservation "cortex_a8_neon_vshl_ddd" 1
251 (and (eq_attr "tune" "cortexa8")
252 (eq_attr "neon_type" "neon_vshl_ddd"))
253 "cortex_a8_neon_dp")
254
255 ;; Instructions using this reservation read their source operands at N1, and
256 ;; produce a result at N4 on cycle 2.
257-(define_insn_reservation "neon_vqshl_vrshl_vqrshl_qqq" 5
258+(define_insn_reservation "cortex_a8_neon_vqshl_vrshl_vqrshl_qqq" 5
259 (and (eq_attr "tune" "cortexa8")
260 (eq_attr "neon_type" "neon_vqshl_vrshl_vqrshl_qqq"))
261 "cortex_a8_neon_dp_2")
262
263 ;; Instructions using this reservation read their (D|Q)m operands at N1,
264 ;; their (D|Q)d operands at N3, and produce a result at N6.
265-(define_insn_reservation "neon_vsra_vrsra" 6
266+(define_insn_reservation "cortex_a8_neon_vsra_vrsra" 6
267 (and (eq_attr "tune" "cortexa8")
268 (eq_attr "neon_type" "neon_vsra_vrsra"))
269 "cortex_a8_neon_dp")
270
271 ;; Instructions using this reservation read their source operands at N2, and
272 ;; produce a result at N5.
273-(define_insn_reservation "neon_fp_vadd_ddd_vabs_dd" 5
274+(define_insn_reservation "cortex_a8_neon_fp_vadd_ddd_vabs_dd" 5
275 (and (eq_attr "tune" "cortexa8")
276 (eq_attr "neon_type" "neon_fp_vadd_ddd_vabs_dd"))
277 "cortex_a8_neon_fadd")
278
279 ;; Instructions using this reservation read their source operands at N2, and
280 ;; produce a result at N5 on cycle 2.
281-(define_insn_reservation "neon_fp_vadd_qqq_vabs_qq" 6
282+(define_insn_reservation "cortex_a8_neon_fp_vadd_qqq_vabs_qq" 6
283 (and (eq_attr "tune" "cortexa8")
284 (eq_attr "neon_type" "neon_fp_vadd_qqq_vabs_qq"))
285 "cortex_a8_neon_fadd_2")
286
287 ;; Instructions using this reservation read their source operands at N1, and
288 ;; produce a result at N5.
289-(define_insn_reservation "neon_fp_vsum" 5
290+(define_insn_reservation "cortex_a8_neon_fp_vsum" 5
291 (and (eq_attr "tune" "cortexa8")
292 (eq_attr "neon_type" "neon_fp_vsum"))
293 "cortex_a8_neon_fadd")
294
295 ;; Instructions using this reservation read their (D|Q)n operands at N2,
296 ;; their (D|Q)m operands at N1, and produce a result at N5.
297-(define_insn_reservation "neon_fp_vmul_ddd" 5
298+(define_insn_reservation "cortex_a8_neon_fp_vmul_ddd" 5
299 (and (eq_attr "tune" "cortexa8")
300 (eq_attr "neon_type" "neon_fp_vmul_ddd"))
301 "cortex_a8_neon_dp")
302
303 ;; Instructions using this reservation read their (D|Q)n operands at N2,
304 ;; their (D|Q)m operands at N1, and produce a result at N5 on cycle 2.
305-(define_insn_reservation "neon_fp_vmul_qqd" 6
306+(define_insn_reservation "cortex_a8_neon_fp_vmul_qqd" 6
307 (and (eq_attr "tune" "cortexa8")
308 (eq_attr "neon_type" "neon_fp_vmul_qqd"))
309 "cortex_a8_neon_dp_2")
310@@ -420,7 +420,7 @@
311 ;; Instructions using this reservation read their (D|Q)n operands at N2,
312 ;; their (D|Q)m operands at N2, their (D|Q)d operands at N3, and
313 ;; produce a result at N9.
314-(define_insn_reservation "neon_fp_vmla_ddd" 9
315+(define_insn_reservation "cortex_a8_neon_fp_vmla_ddd" 9
316 (and (eq_attr "tune" "cortexa8")
317 (eq_attr "neon_type" "neon_fp_vmla_ddd"))
318 "cortex_a8_neon_fmul_then_fadd")
319@@ -428,7 +428,7 @@
320 ;; Instructions using this reservation read their (D|Q)n operands at N2,
321 ;; their (D|Q)m operands at N2, their (D|Q)d operands at N3, and
322 ;; produce a result at N9 on cycle 2.
323-(define_insn_reservation "neon_fp_vmla_qqq" 10
324+(define_insn_reservation "cortex_a8_neon_fp_vmla_qqq" 10
325 (and (eq_attr "tune" "cortexa8")
326 (eq_attr "neon_type" "neon_fp_vmla_qqq"))
327 "cortex_a8_neon_fmul_then_fadd_2")
328@@ -436,7 +436,7 @@
329 ;; Instructions using this reservation read their (D|Q)n operands at N2,
330 ;; their (D|Q)m operands at N1, their (D|Q)d operands at N3, and
331 ;; produce a result at N9.
332-(define_insn_reservation "neon_fp_vmla_ddd_scalar" 9
333+(define_insn_reservation "cortex_a8_neon_fp_vmla_ddd_scalar" 9
334 (and (eq_attr "tune" "cortexa8")
335 (eq_attr "neon_type" "neon_fp_vmla_ddd_scalar"))
336 "cortex_a8_neon_fmul_then_fadd")
337@@ -444,869 +444,869 @@
338 ;; Instructions using this reservation read their (D|Q)n operands at N2,
339 ;; their (D|Q)m operands at N1, their (D|Q)d operands at N3, and
340 ;; produce a result at N9 on cycle 2.
341-(define_insn_reservation "neon_fp_vmla_qqq_scalar" 10
342+(define_insn_reservation "cortex_a8_neon_fp_vmla_qqq_scalar" 10
343 (and (eq_attr "tune" "cortexa8")
344 (eq_attr "neon_type" "neon_fp_vmla_qqq_scalar"))
345 "cortex_a8_neon_fmul_then_fadd_2")
346
347 ;; Instructions using this reservation read their source operands at N2, and
348 ;; produce a result at N9.
349-(define_insn_reservation "neon_fp_vrecps_vrsqrts_ddd" 9
350+(define_insn_reservation "cortex_a8_neon_fp_vrecps_vrsqrts_ddd" 9
351 (and (eq_attr "tune" "cortexa8")
352 (eq_attr "neon_type" "neon_fp_vrecps_vrsqrts_ddd"))
353 "cortex_a8_neon_fmul_then_fadd")
354
355 ;; Instructions using this reservation read their source operands at N2, and
356 ;; produce a result at N9 on cycle 2.
357-(define_insn_reservation "neon_fp_vrecps_vrsqrts_qqq" 10
358+(define_insn_reservation "cortex_a8_neon_fp_vrecps_vrsqrts_qqq" 10
359 (and (eq_attr "tune" "cortexa8")
360 (eq_attr "neon_type" "neon_fp_vrecps_vrsqrts_qqq"))
361 "cortex_a8_neon_fmul_then_fadd_2")
362
363 ;; Instructions using this reservation read their source operands at N1, and
364 ;; produce a result at N2.
365-(define_insn_reservation "neon_bp_simple" 2
366+(define_insn_reservation "cortex_a8_neon_bp_simple" 2
367 (and (eq_attr "tune" "cortexa8")
368 (eq_attr "neon_type" "neon_bp_simple"))
369 "cortex_a8_neon_perm")
370
371 ;; Instructions using this reservation read their source operands at N1, and
372 ;; produce a result at N2 on cycle 2.
373-(define_insn_reservation "neon_bp_2cycle" 3
374+(define_insn_reservation "cortex_a8_neon_bp_2cycle" 3
375 (and (eq_attr "tune" "cortexa8")
376 (eq_attr "neon_type" "neon_bp_2cycle"))
377 "cortex_a8_neon_perm_2")
378
379 ;; Instructions using this reservation read their source operands at N1, and
380 ;; produce a result at N2 on cycle 3.
381-(define_insn_reservation "neon_bp_3cycle" 4
382+(define_insn_reservation "cortex_a8_neon_bp_3cycle" 4
383 (and (eq_attr "tune" "cortexa8")
384 (eq_attr "neon_type" "neon_bp_3cycle"))
385 "cortex_a8_neon_perm_3")
386
387 ;; Instructions using this reservation produce a result at N1.
388-(define_insn_reservation "neon_ldr" 1
389+(define_insn_reservation "cortex_a8_neon_ldr" 1
390 (and (eq_attr "tune" "cortexa8")
391 (eq_attr "neon_type" "neon_ldr"))
392 "cortex_a8_neon_ls")
393
394 ;; Instructions using this reservation read their source operands at N1.
395-(define_insn_reservation "neon_str" 0
396+(define_insn_reservation "cortex_a8_neon_str" 0
397 (and (eq_attr "tune" "cortexa8")
398 (eq_attr "neon_type" "neon_str"))
399 "cortex_a8_neon_ls")
400
401 ;; Instructions using this reservation produce a result at N1 on cycle 2.
402-(define_insn_reservation "neon_vld1_1_2_regs" 2
403+(define_insn_reservation "cortex_a8_neon_vld1_1_2_regs" 2
404 (and (eq_attr "tune" "cortexa8")
405 (eq_attr "neon_type" "neon_vld1_1_2_regs"))
406 "cortex_a8_neon_ls_2")
407
408 ;; Instructions using this reservation produce a result at N1 on cycle 3.
409-(define_insn_reservation "neon_vld1_3_4_regs" 3
410+(define_insn_reservation "cortex_a8_neon_vld1_3_4_regs" 3
411 (and (eq_attr "tune" "cortexa8")
412 (eq_attr "neon_type" "neon_vld1_3_4_regs"))
413 "cortex_a8_neon_ls_3")
414
415 ;; Instructions using this reservation produce a result at N2 on cycle 2.
416-(define_insn_reservation "neon_vld2_2_regs_vld1_vld2_all_lanes" 3
417+(define_insn_reservation "cortex_a8_neon_vld2_2_regs_vld1_vld2_all_lanes" 3
418 (and (eq_attr "tune" "cortexa8")
419 (eq_attr "neon_type" "neon_vld2_2_regs_vld1_vld2_all_lanes"))
420 "cortex_a8_neon_ls_2")
421
422 ;; Instructions using this reservation produce a result at N2 on cycle 3.
423-(define_insn_reservation "neon_vld2_4_regs" 4
424+(define_insn_reservation "cortex_a8_neon_vld2_4_regs" 4
425 (and (eq_attr "tune" "cortexa8")
426 (eq_attr "neon_type" "neon_vld2_4_regs"))
427 "cortex_a8_neon_ls_3")
428
429 ;; Instructions using this reservation produce a result at N2 on cycle 4.
430-(define_insn_reservation "neon_vld3_vld4" 5
431+(define_insn_reservation "cortex_a8_neon_vld3_vld4" 5
432 (and (eq_attr "tune" "cortexa8")
433 (eq_attr "neon_type" "neon_vld3_vld4"))
434 "cortex_a8_neon_ls_4")
435
436 ;; Instructions using this reservation read their source operands at N1.
437-(define_insn_reservation "neon_vst1_1_2_regs_vst2_2_regs" 0
438+(define_insn_reservation "cortex_a8_neon_vst1_1_2_regs_vst2_2_regs" 0
439 (and (eq_attr "tune" "cortexa8")
440 (eq_attr "neon_type" "neon_vst1_1_2_regs_vst2_2_regs"))
441 "cortex_a8_neon_ls_2")
442
443 ;; Instructions using this reservation read their source operands at N1.
444-(define_insn_reservation "neon_vst1_3_4_regs" 0
445+(define_insn_reservation "cortex_a8_neon_vst1_3_4_regs" 0
446 (and (eq_attr "tune" "cortexa8")
447 (eq_attr "neon_type" "neon_vst1_3_4_regs"))
448 "cortex_a8_neon_ls_3")
449
450 ;; Instructions using this reservation read their source operands at N1.
451-(define_insn_reservation "neon_vst2_4_regs_vst3_vst4" 0
452+(define_insn_reservation "cortex_a8_neon_vst2_4_regs_vst3_vst4" 0
453 (and (eq_attr "tune" "cortexa8")
454 (eq_attr "neon_type" "neon_vst2_4_regs_vst3_vst4"))
455 "cortex_a8_neon_ls_4")
456
457 ;; Instructions using this reservation read their source operands at N1.
458-(define_insn_reservation "neon_vst3_vst4" 0
459+(define_insn_reservation "cortex_a8_neon_vst3_vst4" 0
460 (and (eq_attr "tune" "cortexa8")
461 (eq_attr "neon_type" "neon_vst3_vst4"))
462 "cortex_a8_neon_ls_4")
463
464 ;; Instructions using this reservation read their source operands at N1, and
465 ;; produce a result at N2 on cycle 3.
466-(define_insn_reservation "neon_vld1_vld2_lane" 4
467+(define_insn_reservation "cortex_a8_neon_vld1_vld2_lane" 4
468 (and (eq_attr "tune" "cortexa8")
469 (eq_attr "neon_type" "neon_vld1_vld2_lane"))
470 "cortex_a8_neon_ls_3")
471
472 ;; Instructions using this reservation read their source operands at N1, and
473 ;; produce a result at N2 on cycle 5.
474-(define_insn_reservation "neon_vld3_vld4_lane" 6
475+(define_insn_reservation "cortex_a8_neon_vld3_vld4_lane" 6
476 (and (eq_attr "tune" "cortexa8")
477 (eq_attr "neon_type" "neon_vld3_vld4_lane"))
478 "cortex_a8_neon_ls_5")
479
480 ;; Instructions using this reservation read their source operands at N1.
481-(define_insn_reservation "neon_vst1_vst2_lane" 0
482+(define_insn_reservation "cortex_a8_neon_vst1_vst2_lane" 0
483 (and (eq_attr "tune" "cortexa8")
484 (eq_attr "neon_type" "neon_vst1_vst2_lane"))
485 "cortex_a8_neon_ls_2")
486
487 ;; Instructions using this reservation read their source operands at N1.
488-(define_insn_reservation "neon_vst3_vst4_lane" 0
489+(define_insn_reservation "cortex_a8_neon_vst3_vst4_lane" 0
490 (and (eq_attr "tune" "cortexa8")
491 (eq_attr "neon_type" "neon_vst3_vst4_lane"))
492 "cortex_a8_neon_ls_3")
493
494 ;; Instructions using this reservation produce a result at N2 on cycle 2.
495-(define_insn_reservation "neon_vld3_vld4_all_lanes" 3
496+(define_insn_reservation "cortex_a8_neon_vld3_vld4_all_lanes" 3
497 (and (eq_attr "tune" "cortexa8")
498 (eq_attr "neon_type" "neon_vld3_vld4_all_lanes"))
499 "cortex_a8_neon_ls_3")
500
501 ;; Instructions using this reservation produce a result at N2.
502-(define_insn_reservation "neon_mcr" 2
503+(define_insn_reservation "cortex_a8_neon_mcr" 2
504 (and (eq_attr "tune" "cortexa8")
505 (eq_attr "neon_type" "neon_mcr"))
506 "cortex_a8_neon_perm")
507
508 ;; Instructions using this reservation produce a result at N2.
509-(define_insn_reservation "neon_mcr_2_mcrr" 2
510+(define_insn_reservation "cortex_a8_neon_mcr_2_mcrr" 2
511 (and (eq_attr "tune" "cortexa8")
512 (eq_attr "neon_type" "neon_mcr_2_mcrr"))
513 "cortex_a8_neon_perm_2")
514
515 ;; Exceptions to the default latencies.
516
517-(define_bypass 1 "neon_mcr_2_mcrr"
518- "neon_int_1,\
519- neon_int_4,\
520- neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
521- neon_mul_qqq_8_16_32_ddd_32,\
522- neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
523- neon_mla_qqq_8_16,\
524- neon_fp_vadd_ddd_vabs_dd,\
525- neon_fp_vadd_qqq_vabs_qq,\
526- neon_fp_vmla_ddd,\
527- neon_fp_vmla_qqq,\
528- neon_fp_vrecps_vrsqrts_ddd,\
529- neon_fp_vrecps_vrsqrts_qqq")
530-
531-(define_bypass 1 "neon_mcr"
532- "neon_int_1,\
533- neon_int_4,\
534- neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
535- neon_mul_qqq_8_16_32_ddd_32,\
536- neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
537- neon_mla_qqq_8_16,\
538- neon_fp_vadd_ddd_vabs_dd,\
539- neon_fp_vadd_qqq_vabs_qq,\
540- neon_fp_vmla_ddd,\
541- neon_fp_vmla_qqq,\
542- neon_fp_vrecps_vrsqrts_ddd,\
543- neon_fp_vrecps_vrsqrts_qqq")
544-
545-(define_bypass 2 "neon_vld3_vld4_all_lanes"
546- "neon_int_1,\
547- neon_int_4,\
548- neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
549- neon_mul_qqq_8_16_32_ddd_32,\
550- neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
551- neon_mla_qqq_8_16,\
552- neon_fp_vadd_ddd_vabs_dd,\
553- neon_fp_vadd_qqq_vabs_qq,\
554- neon_fp_vmla_ddd,\
555- neon_fp_vmla_qqq,\
556- neon_fp_vrecps_vrsqrts_ddd,\
557- neon_fp_vrecps_vrsqrts_qqq")
558-
559-(define_bypass 5 "neon_vld3_vld4_lane"
560- "neon_int_1,\
561- neon_int_4,\
562- neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
563- neon_mul_qqq_8_16_32_ddd_32,\
564- neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
565- neon_mla_qqq_8_16,\
566- neon_fp_vadd_ddd_vabs_dd,\
567- neon_fp_vadd_qqq_vabs_qq,\
568- neon_fp_vmla_ddd,\
569- neon_fp_vmla_qqq,\
570- neon_fp_vrecps_vrsqrts_ddd,\
571- neon_fp_vrecps_vrsqrts_qqq")
572-
573-(define_bypass 3 "neon_vld1_vld2_lane"
574- "neon_int_1,\
575- neon_int_4,\
576- neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
577- neon_mul_qqq_8_16_32_ddd_32,\
578- neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
579- neon_mla_qqq_8_16,\
580- neon_fp_vadd_ddd_vabs_dd,\
581- neon_fp_vadd_qqq_vabs_qq,\
582- neon_fp_vmla_ddd,\
583- neon_fp_vmla_qqq,\
584- neon_fp_vrecps_vrsqrts_ddd,\
585- neon_fp_vrecps_vrsqrts_qqq")
586-
587-(define_bypass 4 "neon_vld3_vld4"
588- "neon_int_1,\
589- neon_int_4,\
590- neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
591- neon_mul_qqq_8_16_32_ddd_32,\
592- neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
593- neon_mla_qqq_8_16,\
594- neon_fp_vadd_ddd_vabs_dd,\
595- neon_fp_vadd_qqq_vabs_qq,\
596- neon_fp_vmla_ddd,\
597- neon_fp_vmla_qqq,\
598- neon_fp_vrecps_vrsqrts_ddd,\
599- neon_fp_vrecps_vrsqrts_qqq")
600-
601-(define_bypass 3 "neon_vld2_4_regs"
602- "neon_int_1,\
603- neon_int_4,\
604- neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
605- neon_mul_qqq_8_16_32_ddd_32,\
606- neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
607- neon_mla_qqq_8_16,\
608- neon_fp_vadd_ddd_vabs_dd,\
609- neon_fp_vadd_qqq_vabs_qq,\
610- neon_fp_vmla_ddd,\
611- neon_fp_vmla_qqq,\
612- neon_fp_vrecps_vrsqrts_ddd,\
613- neon_fp_vrecps_vrsqrts_qqq")
614-
615-(define_bypass 2 "neon_vld2_2_regs_vld1_vld2_all_lanes"
616- "neon_int_1,\
617- neon_int_4,\
618- neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
619- neon_mul_qqq_8_16_32_ddd_32,\
620- neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
621- neon_mla_qqq_8_16,\
622- neon_fp_vadd_ddd_vabs_dd,\
623- neon_fp_vadd_qqq_vabs_qq,\
624- neon_fp_vmla_ddd,\
625- neon_fp_vmla_qqq,\
626- neon_fp_vrecps_vrsqrts_ddd,\
627- neon_fp_vrecps_vrsqrts_qqq")
628-
629-(define_bypass 2 "neon_vld1_3_4_regs"
630- "neon_int_1,\
631- neon_int_4,\
632- neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
633- neon_mul_qqq_8_16_32_ddd_32,\
634- neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
635- neon_mla_qqq_8_16,\
636- neon_fp_vadd_ddd_vabs_dd,\
637- neon_fp_vadd_qqq_vabs_qq,\
638- neon_fp_vmla_ddd,\
639- neon_fp_vmla_qqq,\
640- neon_fp_vrecps_vrsqrts_ddd,\
641- neon_fp_vrecps_vrsqrts_qqq")
642-
643-(define_bypass 1 "neon_vld1_1_2_regs"
644- "neon_int_1,\
645- neon_int_4,\
646- neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
647- neon_mul_qqq_8_16_32_ddd_32,\
648- neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
649- neon_mla_qqq_8_16,\
650- neon_fp_vadd_ddd_vabs_dd,\
651- neon_fp_vadd_qqq_vabs_qq,\
652- neon_fp_vmla_ddd,\
653- neon_fp_vmla_qqq,\
654- neon_fp_vrecps_vrsqrts_ddd,\
655- neon_fp_vrecps_vrsqrts_qqq")
656-
657-(define_bypass 0 "neon_ldr"
658- "neon_int_1,\
659- neon_int_4,\
660- neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
661- neon_mul_qqq_8_16_32_ddd_32,\
662- neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
663- neon_mla_qqq_8_16,\
664- neon_fp_vadd_ddd_vabs_dd,\
665- neon_fp_vadd_qqq_vabs_qq,\
666- neon_fp_vmla_ddd,\
667- neon_fp_vmla_qqq,\
668- neon_fp_vrecps_vrsqrts_ddd,\
669- neon_fp_vrecps_vrsqrts_qqq")
670-
671-(define_bypass 3 "neon_bp_3cycle"
672- "neon_int_1,\
673- neon_int_4,\
674- neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
675- neon_mul_qqq_8_16_32_ddd_32,\
676- neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
677- neon_mla_qqq_8_16,\
678- neon_fp_vadd_ddd_vabs_dd,\
679- neon_fp_vadd_qqq_vabs_qq,\
680- neon_fp_vmla_ddd,\
681- neon_fp_vmla_qqq,\
682- neon_fp_vrecps_vrsqrts_ddd,\
683- neon_fp_vrecps_vrsqrts_qqq")
684-
685-(define_bypass 2 "neon_bp_2cycle"
686- "neon_int_1,\
687- neon_int_4,\
688- neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
689- neon_mul_qqq_8_16_32_ddd_32,\
690- neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
691- neon_mla_qqq_8_16,\
692- neon_fp_vadd_ddd_vabs_dd,\
693- neon_fp_vadd_qqq_vabs_qq,\
694- neon_fp_vmla_ddd,\
695- neon_fp_vmla_qqq,\
696- neon_fp_vrecps_vrsqrts_ddd,\
697- neon_fp_vrecps_vrsqrts_qqq")
698-
699-(define_bypass 1 "neon_bp_simple"
700- "neon_int_1,\
701- neon_int_4,\
702- neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
703- neon_mul_qqq_8_16_32_ddd_32,\
704- neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
705- neon_mla_qqq_8_16,\
706- neon_fp_vadd_ddd_vabs_dd,\
707- neon_fp_vadd_qqq_vabs_qq,\
708- neon_fp_vmla_ddd,\
709- neon_fp_vmla_qqq,\
710- neon_fp_vrecps_vrsqrts_ddd,\
711- neon_fp_vrecps_vrsqrts_qqq")
712-
713-(define_bypass 9 "neon_fp_vrecps_vrsqrts_qqq"
714- "neon_int_1,\
715- neon_int_4,\
716- neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
717- neon_mul_qqq_8_16_32_ddd_32,\
718- neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
719- neon_mla_qqq_8_16,\
720- neon_fp_vadd_ddd_vabs_dd,\
721- neon_fp_vadd_qqq_vabs_qq,\
722- neon_fp_vmla_ddd,\
723- neon_fp_vmla_qqq,\
724- neon_fp_vrecps_vrsqrts_ddd,\
725- neon_fp_vrecps_vrsqrts_qqq")
726-
727-(define_bypass 8 "neon_fp_vrecps_vrsqrts_ddd"
728- "neon_int_1,\
729- neon_int_4,\
730- neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
731- neon_mul_qqq_8_16_32_ddd_32,\
732- neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
733- neon_mla_qqq_8_16,\
734- neon_fp_vadd_ddd_vabs_dd,\
735- neon_fp_vadd_qqq_vabs_qq,\
736- neon_fp_vmla_ddd,\
737- neon_fp_vmla_qqq,\
738- neon_fp_vrecps_vrsqrts_ddd,\
739- neon_fp_vrecps_vrsqrts_qqq")
740-
741-(define_bypass 9 "neon_fp_vmla_qqq_scalar"
742- "neon_int_1,\
743- neon_int_4,\
744- neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
745- neon_mul_qqq_8_16_32_ddd_32,\
746- neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
747- neon_mla_qqq_8_16,\
748- neon_fp_vadd_ddd_vabs_dd,\
749- neon_fp_vadd_qqq_vabs_qq,\
750- neon_fp_vmla_ddd,\
751- neon_fp_vmla_qqq,\
752- neon_fp_vrecps_vrsqrts_ddd,\
753- neon_fp_vrecps_vrsqrts_qqq")
754-
755-(define_bypass 8 "neon_fp_vmla_ddd_scalar"
756- "neon_int_1,\
757- neon_int_4,\
758- neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
759- neon_mul_qqq_8_16_32_ddd_32,\
760- neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
761- neon_mla_qqq_8_16,\
762- neon_fp_vadd_ddd_vabs_dd,\
763- neon_fp_vadd_qqq_vabs_qq,\
764- neon_fp_vmla_ddd,\
765- neon_fp_vmla_qqq,\
766- neon_fp_vrecps_vrsqrts_ddd,\
767- neon_fp_vrecps_vrsqrts_qqq")
768-
769-(define_bypass 9 "neon_fp_vmla_qqq"
770- "neon_int_1,\
771- neon_int_4,\
772- neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
773- neon_mul_qqq_8_16_32_ddd_32,\
774- neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
775- neon_mla_qqq_8_16,\
776- neon_fp_vadd_ddd_vabs_dd,\
777- neon_fp_vadd_qqq_vabs_qq,\
778- neon_fp_vmla_ddd,\
779- neon_fp_vmla_qqq,\
780- neon_fp_vrecps_vrsqrts_ddd,\
781- neon_fp_vrecps_vrsqrts_qqq")
782-
783-(define_bypass 8 "neon_fp_vmla_ddd"
784- "neon_int_1,\
785- neon_int_4,\
786- neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
787- neon_mul_qqq_8_16_32_ddd_32,\
788- neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
789- neon_mla_qqq_8_16,\
790- neon_fp_vadd_ddd_vabs_dd,\
791- neon_fp_vadd_qqq_vabs_qq,\
792- neon_fp_vmla_ddd,\
793- neon_fp_vmla_qqq,\
794- neon_fp_vrecps_vrsqrts_ddd,\
795- neon_fp_vrecps_vrsqrts_qqq")
796-
797-(define_bypass 5 "neon_fp_vmul_qqd"
798- "neon_int_1,\
799- neon_int_4,\
800- neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
801- neon_mul_qqq_8_16_32_ddd_32,\
802- neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
803- neon_mla_qqq_8_16,\
804- neon_fp_vadd_ddd_vabs_dd,\
805- neon_fp_vadd_qqq_vabs_qq,\
806- neon_fp_vmla_ddd,\
807- neon_fp_vmla_qqq,\
808- neon_fp_vrecps_vrsqrts_ddd,\
809- neon_fp_vrecps_vrsqrts_qqq")
810-
811-(define_bypass 4 "neon_fp_vmul_ddd"
812- "neon_int_1,\
813- neon_int_4,\
814- neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
815- neon_mul_qqq_8_16_32_ddd_32,\
816- neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
817- neon_mla_qqq_8_16,\
818- neon_fp_vadd_ddd_vabs_dd,\
819- neon_fp_vadd_qqq_vabs_qq,\
820- neon_fp_vmla_ddd,\
821- neon_fp_vmla_qqq,\
822- neon_fp_vrecps_vrsqrts_ddd,\
823- neon_fp_vrecps_vrsqrts_qqq")
824-
825-(define_bypass 4 "neon_fp_vsum"
826- "neon_int_1,\
827- neon_int_4,\
828- neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
829- neon_mul_qqq_8_16_32_ddd_32,\
830- neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
831- neon_mla_qqq_8_16,\
832- neon_fp_vadd_ddd_vabs_dd,\
833- neon_fp_vadd_qqq_vabs_qq,\
834- neon_fp_vmla_ddd,\
835- neon_fp_vmla_qqq,\
836- neon_fp_vrecps_vrsqrts_ddd,\
837- neon_fp_vrecps_vrsqrts_qqq")
838-
839-(define_bypass 5 "neon_fp_vadd_qqq_vabs_qq"
840- "neon_int_1,\
841- neon_int_4,\
842- neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
843- neon_mul_qqq_8_16_32_ddd_32,\
844- neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
845- neon_mla_qqq_8_16,\
846- neon_fp_vadd_ddd_vabs_dd,\
847- neon_fp_vadd_qqq_vabs_qq,\
848- neon_fp_vmla_ddd,\
849- neon_fp_vmla_qqq,\
850- neon_fp_vrecps_vrsqrts_ddd,\
851- neon_fp_vrecps_vrsqrts_qqq")
852-
853-(define_bypass 4 "neon_fp_vadd_ddd_vabs_dd"
854- "neon_int_1,\
855- neon_int_4,\
856- neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
857- neon_mul_qqq_8_16_32_ddd_32,\
858- neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
859- neon_mla_qqq_8_16,\
860- neon_fp_vadd_ddd_vabs_dd,\
861- neon_fp_vadd_qqq_vabs_qq,\
862- neon_fp_vmla_ddd,\
863- neon_fp_vmla_qqq,\
864- neon_fp_vrecps_vrsqrts_ddd,\
865- neon_fp_vrecps_vrsqrts_qqq")
866-
867-(define_bypass 5 "neon_vsra_vrsra"
868- "neon_int_1,\
869- neon_int_4,\
870- neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
871- neon_mul_qqq_8_16_32_ddd_32,\
872- neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
873- neon_mla_qqq_8_16,\
874- neon_fp_vadd_ddd_vabs_dd,\
875- neon_fp_vadd_qqq_vabs_qq,\
876- neon_fp_vmla_ddd,\
877- neon_fp_vmla_qqq,\
878- neon_fp_vrecps_vrsqrts_ddd,\
879- neon_fp_vrecps_vrsqrts_qqq")
880-
881-(define_bypass 4 "neon_vqshl_vrshl_vqrshl_qqq"
882- "neon_int_1,\
883- neon_int_4,\
884- neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
885- neon_mul_qqq_8_16_32_ddd_32,\
886- neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
887- neon_mla_qqq_8_16,\
888- neon_fp_vadd_ddd_vabs_dd,\
889- neon_fp_vadd_qqq_vabs_qq,\
890- neon_fp_vmla_ddd,\
891- neon_fp_vmla_qqq,\
892- neon_fp_vrecps_vrsqrts_ddd,\
893- neon_fp_vrecps_vrsqrts_qqq")
894-
895-(define_bypass 0 "neon_vshl_ddd"
896- "neon_int_1,\
897- neon_int_4,\
898- neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
899- neon_mul_qqq_8_16_32_ddd_32,\
900- neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
901- neon_mla_qqq_8_16,\
902- neon_fp_vadd_ddd_vabs_dd,\
903- neon_fp_vadd_qqq_vabs_qq,\
904- neon_fp_vmla_ddd,\
905- neon_fp_vmla_qqq,\
906- neon_fp_vrecps_vrsqrts_ddd,\
907- neon_fp_vrecps_vrsqrts_qqq")
908-
909-(define_bypass 3 "neon_shift_3"
910- "neon_int_1,\
911- neon_int_4,\
912- neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
913- neon_mul_qqq_8_16_32_ddd_32,\
914- neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
915- neon_mla_qqq_8_16,\
916- neon_fp_vadd_ddd_vabs_dd,\
917- neon_fp_vadd_qqq_vabs_qq,\
918- neon_fp_vmla_ddd,\
919- neon_fp_vmla_qqq,\
920- neon_fp_vrecps_vrsqrts_ddd,\
921- neon_fp_vrecps_vrsqrts_qqq")
922-
923-(define_bypass 3 "neon_shift_2"
924- "neon_int_1,\
925- neon_int_4,\
926- neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
927- neon_mul_qqq_8_16_32_ddd_32,\
928- neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
929- neon_mla_qqq_8_16,\
930- neon_fp_vadd_ddd_vabs_dd,\
931- neon_fp_vadd_qqq_vabs_qq,\
932- neon_fp_vmla_ddd,\
933- neon_fp_vmla_qqq,\
934- neon_fp_vrecps_vrsqrts_ddd,\
935- neon_fp_vrecps_vrsqrts_qqq")
936-
937-(define_bypass 2 "neon_shift_1"
938- "neon_int_1,\
939- neon_int_4,\
940- neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
941- neon_mul_qqq_8_16_32_ddd_32,\
942- neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
943- neon_mla_qqq_8_16,\
944- neon_fp_vadd_ddd_vabs_dd,\
945- neon_fp_vadd_qqq_vabs_qq,\
946- neon_fp_vmla_ddd,\
947- neon_fp_vmla_qqq,\
948- neon_fp_vrecps_vrsqrts_ddd,\
949- neon_fp_vrecps_vrsqrts_qqq")
950-
951-(define_bypass 5 "neon_mla_ddd_16_scalar_qdd_32_16_long_scalar"
952- "neon_int_1,\
953- neon_int_4,\
954- neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
955- neon_mul_qqq_8_16_32_ddd_32,\
956- neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
957- neon_mla_qqq_8_16,\
958- neon_fp_vadd_ddd_vabs_dd,\
959- neon_fp_vadd_qqq_vabs_qq,\
960- neon_fp_vmla_ddd,\
961- neon_fp_vmla_qqq,\
962- neon_fp_vrecps_vrsqrts_ddd,\
963- neon_fp_vrecps_vrsqrts_qqq")
964-
965-(define_bypass 8 "neon_mul_qqd_32_scalar"
966- "neon_int_1,\
967- neon_int_4,\
968- neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
969- neon_mul_qqq_8_16_32_ddd_32,\
970- neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
971- neon_mla_qqq_8_16,\
972- neon_fp_vadd_ddd_vabs_dd,\
973- neon_fp_vadd_qqq_vabs_qq,\
974- neon_fp_vmla_ddd,\
975- neon_fp_vmla_qqq,\
976- neon_fp_vrecps_vrsqrts_ddd,\
977- neon_fp_vrecps_vrsqrts_qqq")
978-
979-(define_bypass 5 "neon_mul_ddd_16_scalar_32_16_long_scalar"
980- "neon_int_1,\
981- neon_int_4,\
982- neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
983- neon_mul_qqq_8_16_32_ddd_32,\
984- neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
985- neon_mla_qqq_8_16,\
986- neon_fp_vadd_ddd_vabs_dd,\
987- neon_fp_vadd_qqq_vabs_qq,\
988- neon_fp_vmla_ddd,\
989- neon_fp_vmla_qqq,\
990- neon_fp_vrecps_vrsqrts_ddd,\
991- neon_fp_vrecps_vrsqrts_qqq")
992-
993-(define_bypass 8 "neon_mla_qqq_32_qqd_32_scalar"
994- "neon_int_1,\
995- neon_int_4,\
996- neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
997- neon_mul_qqq_8_16_32_ddd_32,\
998- neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
999- neon_mla_qqq_8_16,\
1000- neon_fp_vadd_ddd_vabs_dd,\
1001- neon_fp_vadd_qqq_vabs_qq,\
1002- neon_fp_vmla_ddd,\
1003- neon_fp_vmla_qqq,\
1004- neon_fp_vrecps_vrsqrts_ddd,\
1005- neon_fp_vrecps_vrsqrts_qqq")
1006-
1007-(define_bypass 6 "neon_mla_ddd_32_qqd_16_ddd_32_scalar_qdd_64_32_long_scalar_qdd_64_32_long"
1008- "neon_int_1,\
1009- neon_int_4,\
1010- neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
1011- neon_mul_qqq_8_16_32_ddd_32,\
1012- neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
1013- neon_mla_qqq_8_16,\
1014- neon_fp_vadd_ddd_vabs_dd,\
1015- neon_fp_vadd_qqq_vabs_qq,\
1016- neon_fp_vmla_ddd,\
1017- neon_fp_vmla_qqq,\
1018- neon_fp_vrecps_vrsqrts_ddd,\
1019- neon_fp_vrecps_vrsqrts_qqq")
1020-
1021-(define_bypass 6 "neon_mla_qqq_8_16"
1022- "neon_int_1,\
1023- neon_int_4,\
1024- neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
1025- neon_mul_qqq_8_16_32_ddd_32,\
1026- neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
1027- neon_mla_qqq_8_16,\
1028- neon_fp_vadd_ddd_vabs_dd,\
1029- neon_fp_vadd_qqq_vabs_qq,\
1030- neon_fp_vmla_ddd,\
1031- neon_fp_vmla_qqq,\
1032- neon_fp_vrecps_vrsqrts_ddd,\
1033- neon_fp_vrecps_vrsqrts_qqq")
1034-
1035-(define_bypass 5 "neon_mla_ddd_8_16_qdd_16_8_long_32_16_long"
1036- "neon_int_1,\
1037- neon_int_4,\
1038- neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
1039- neon_mul_qqq_8_16_32_ddd_32,\
1040- neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
1041- neon_mla_qqq_8_16,\
1042- neon_fp_vadd_ddd_vabs_dd,\
1043- neon_fp_vadd_qqq_vabs_qq,\
1044- neon_fp_vmla_ddd,\
1045- neon_fp_vmla_qqq,\
1046- neon_fp_vrecps_vrsqrts_ddd,\
1047- neon_fp_vrecps_vrsqrts_qqq")
1048-
1049-(define_bypass 6 "neon_mul_qdd_64_32_long_qqd_16_ddd_32_scalar_64_32_long_scalar"
1050- "neon_int_1,\
1051- neon_int_4,\
1052- neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
1053- neon_mul_qqq_8_16_32_ddd_32,\
1054- neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
1055- neon_mla_qqq_8_16,\
1056- neon_fp_vadd_ddd_vabs_dd,\
1057- neon_fp_vadd_qqq_vabs_qq,\
1058- neon_fp_vmla_ddd,\
1059- neon_fp_vmla_qqq,\
1060- neon_fp_vrecps_vrsqrts_ddd,\
1061- neon_fp_vrecps_vrsqrts_qqq")
1062-
1063-(define_bypass 6 "neon_mul_qqq_8_16_32_ddd_32"
1064- "neon_int_1,\
1065- neon_int_4,\
1066- neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
1067- neon_mul_qqq_8_16_32_ddd_32,\
1068- neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
1069- neon_mla_qqq_8_16,\
1070- neon_fp_vadd_ddd_vabs_dd,\
1071- neon_fp_vadd_qqq_vabs_qq,\
1072- neon_fp_vmla_ddd,\
1073- neon_fp_vmla_qqq,\
1074- neon_fp_vrecps_vrsqrts_ddd,\
1075- neon_fp_vrecps_vrsqrts_qqq")
1076-
1077-(define_bypass 5 "neon_mul_ddd_8_16_qdd_16_8_long_32_16_long"
1078- "neon_int_1,\
1079- neon_int_4,\
1080- neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
1081- neon_mul_qqq_8_16_32_ddd_32,\
1082- neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
1083- neon_mla_qqq_8_16,\
1084- neon_fp_vadd_ddd_vabs_dd,\
1085- neon_fp_vadd_qqq_vabs_qq,\
1086- neon_fp_vmla_ddd,\
1087- neon_fp_vmla_qqq,\
1088- neon_fp_vrecps_vrsqrts_ddd,\
1089- neon_fp_vrecps_vrsqrts_qqq")
1090-
1091-(define_bypass 5 "neon_vsma"
1092- "neon_int_1,\
1093- neon_int_4,\
1094- neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
1095- neon_mul_qqq_8_16_32_ddd_32,\
1096- neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
1097- neon_mla_qqq_8_16,\
1098- neon_fp_vadd_ddd_vabs_dd,\
1099- neon_fp_vadd_qqq_vabs_qq,\
1100- neon_fp_vmla_ddd,\
1101- neon_fp_vmla_qqq,\
1102- neon_fp_vrecps_vrsqrts_ddd,\
1103- neon_fp_vrecps_vrsqrts_qqq")
1104-
1105-(define_bypass 6 "neon_vaba_qqq"
1106- "neon_int_1,\
1107- neon_int_4,\
1108- neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
1109- neon_mul_qqq_8_16_32_ddd_32,\
1110- neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
1111- neon_mla_qqq_8_16,\
1112- neon_fp_vadd_ddd_vabs_dd,\
1113- neon_fp_vadd_qqq_vabs_qq,\
1114- neon_fp_vmla_ddd,\
1115- neon_fp_vmla_qqq,\
1116- neon_fp_vrecps_vrsqrts_ddd,\
1117- neon_fp_vrecps_vrsqrts_qqq")
1118-
1119-(define_bypass 5 "neon_vaba"
1120- "neon_int_1,\
1121- neon_int_4,\
1122- neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
1123- neon_mul_qqq_8_16_32_ddd_32,\
1124- neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
1125- neon_mla_qqq_8_16,\
1126- neon_fp_vadd_ddd_vabs_dd,\
1127- neon_fp_vadd_qqq_vabs_qq,\
1128- neon_fp_vmla_ddd,\
1129- neon_fp_vmla_qqq,\
1130- neon_fp_vrecps_vrsqrts_ddd,\
1131- neon_fp_vrecps_vrsqrts_qqq")
1132-
1133-(define_bypass 2 "neon_vmov"
1134- "neon_int_1,\
1135- neon_int_4,\
1136- neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
1137- neon_mul_qqq_8_16_32_ddd_32,\
1138- neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
1139- neon_mla_qqq_8_16,\
1140- neon_fp_vadd_ddd_vabs_dd,\
1141- neon_fp_vadd_qqq_vabs_qq,\
1142- neon_fp_vmla_ddd,\
1143- neon_fp_vmla_qqq,\
1144- neon_fp_vrecps_vrsqrts_ddd,\
1145- neon_fp_vrecps_vrsqrts_qqq")
1146-
1147-(define_bypass 3 "neon_vqneg_vqabs"
1148- "neon_int_1,\
1149- neon_int_4,\
1150- neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
1151- neon_mul_qqq_8_16_32_ddd_32,\
1152- neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
1153- neon_mla_qqq_8_16,\
1154- neon_fp_vadd_ddd_vabs_dd,\
1155- neon_fp_vadd_qqq_vabs_qq,\
1156- neon_fp_vmla_ddd,\
1157- neon_fp_vmla_qqq,\
1158- neon_fp_vrecps_vrsqrts_ddd,\
1159- neon_fp_vrecps_vrsqrts_qqq")
1160-
1161-(define_bypass 3 "neon_int_5"
1162- "neon_int_1,\
1163- neon_int_4,\
1164- neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
1165- neon_mul_qqq_8_16_32_ddd_32,\
1166- neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
1167- neon_mla_qqq_8_16,\
1168- neon_fp_vadd_ddd_vabs_dd,\
1169- neon_fp_vadd_qqq_vabs_qq,\
1170- neon_fp_vmla_ddd,\
1171- neon_fp_vmla_qqq,\
1172- neon_fp_vrecps_vrsqrts_ddd,\
1173- neon_fp_vrecps_vrsqrts_qqq")
1174-
1175-(define_bypass 3 "neon_int_4"
1176- "neon_int_1,\
1177- neon_int_4,\
1178- neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
1179- neon_mul_qqq_8_16_32_ddd_32,\
1180- neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
1181- neon_mla_qqq_8_16,\
1182- neon_fp_vadd_ddd_vabs_dd,\
1183- neon_fp_vadd_qqq_vabs_qq,\
1184- neon_fp_vmla_ddd,\
1185- neon_fp_vmla_qqq,\
1186- neon_fp_vrecps_vrsqrts_ddd,\
1187- neon_fp_vrecps_vrsqrts_qqq")
1188-
1189-(define_bypass 2 "neon_int_3"
1190- "neon_int_1,\
1191- neon_int_4,\
1192- neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
1193- neon_mul_qqq_8_16_32_ddd_32,\
1194- neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
1195- neon_mla_qqq_8_16,\
1196- neon_fp_vadd_ddd_vabs_dd,\
1197- neon_fp_vadd_qqq_vabs_qq,\
1198- neon_fp_vmla_ddd,\
1199- neon_fp_vmla_qqq,\
1200- neon_fp_vrecps_vrsqrts_ddd,\
1201- neon_fp_vrecps_vrsqrts_qqq")
1202-
1203-(define_bypass 2 "neon_int_2"
1204- "neon_int_1,\
1205- neon_int_4,\
1206- neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
1207- neon_mul_qqq_8_16_32_ddd_32,\
1208- neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
1209- neon_mla_qqq_8_16,\
1210- neon_fp_vadd_ddd_vabs_dd,\
1211- neon_fp_vadd_qqq_vabs_qq,\
1212- neon_fp_vmla_ddd,\
1213- neon_fp_vmla_qqq,\
1214- neon_fp_vrecps_vrsqrts_ddd,\
1215- neon_fp_vrecps_vrsqrts_qqq")
1216-
1217-(define_bypass 2 "neon_int_1"
1218- "neon_int_1,\
1219- neon_int_4,\
1220- neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
1221- neon_mul_qqq_8_16_32_ddd_32,\
1222- neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
1223- neon_mla_qqq_8_16,\
1224- neon_fp_vadd_ddd_vabs_dd,\
1225- neon_fp_vadd_qqq_vabs_qq,\
1226- neon_fp_vmla_ddd,\
1227- neon_fp_vmla_qqq,\
1228- neon_fp_vrecps_vrsqrts_ddd,\
1229- neon_fp_vrecps_vrsqrts_qqq")
1230+(define_bypass 1 "cortex_a8_neon_mcr_2_mcrr"
1231+ "cortex_a8_neon_int_1,\
1232+ cortex_a8_neon_int_4,\
1233+ cortex_a8_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
1234+ cortex_a8_neon_mul_qqq_8_16_32_ddd_32,\
1235+ cortex_a8_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
1236+ cortex_a8_neon_mla_qqq_8_16,\
1237+ cortex_a8_neon_fp_vadd_ddd_vabs_dd,\
1238+ cortex_a8_neon_fp_vadd_qqq_vabs_qq,\
1239+ cortex_a8_neon_fp_vmla_ddd,\
1240+ cortex_a8_neon_fp_vmla_qqq,\
1241+ cortex_a8_neon_fp_vrecps_vrsqrts_ddd,\
1242+ cortex_a8_neon_fp_vrecps_vrsqrts_qqq")
1243+
1244+(define_bypass 1 "cortex_a8_neon_mcr"
1245+ "cortex_a8_neon_int_1,\
1246+ cortex_a8_neon_int_4,\
1247+ cortex_a8_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
1248+ cortex_a8_neon_mul_qqq_8_16_32_ddd_32,\
1249+ cortex_a8_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
1250+ cortex_a8_neon_mla_qqq_8_16,\
1251+ cortex_a8_neon_fp_vadd_ddd_vabs_dd,\
1252+ cortex_a8_neon_fp_vadd_qqq_vabs_qq,\
1253+ cortex_a8_neon_fp_vmla_ddd,\
1254+ cortex_a8_neon_fp_vmla_qqq,\
1255+ cortex_a8_neon_fp_vrecps_vrsqrts_ddd,\
1256+ cortex_a8_neon_fp_vrecps_vrsqrts_qqq")
1257+
1258+(define_bypass 2 "cortex_a8_neon_vld3_vld4_all_lanes"
1259+ "cortex_a8_neon_int_1,\
1260+ cortex_a8_neon_int_4,\
1261+ cortex_a8_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
1262+ cortex_a8_neon_mul_qqq_8_16_32_ddd_32,\
1263+ cortex_a8_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
1264+ cortex_a8_neon_mla_qqq_8_16,\
1265+ cortex_a8_neon_fp_vadd_ddd_vabs_dd,\
1266+ cortex_a8_neon_fp_vadd_qqq_vabs_qq,\
1267+ cortex_a8_neon_fp_vmla_ddd,\
1268+ cortex_a8_neon_fp_vmla_qqq,\
1269+ cortex_a8_neon_fp_vrecps_vrsqrts_ddd,\
1270+ cortex_a8_neon_fp_vrecps_vrsqrts_qqq")
1271+
1272+(define_bypass 5 "cortex_a8_neon_vld3_vld4_lane"
1273+ "cortex_a8_neon_int_1,\
1274+ cortex_a8_neon_int_4,\
1275+ cortex_a8_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
1276+ cortex_a8_neon_mul_qqq_8_16_32_ddd_32,\
1277+ cortex_a8_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
1278+ cortex_a8_neon_mla_qqq_8_16,\
1279+ cortex_a8_neon_fp_vadd_ddd_vabs_dd,\
1280+ cortex_a8_neon_fp_vadd_qqq_vabs_qq,\
1281+ cortex_a8_neon_fp_vmla_ddd,\
1282+ cortex_a8_neon_fp_vmla_qqq,\
1283+ cortex_a8_neon_fp_vrecps_vrsqrts_ddd,\
1284+ cortex_a8_neon_fp_vrecps_vrsqrts_qqq")
1285+
1286+(define_bypass 3 "cortex_a8_neon_vld1_vld2_lane"
1287+ "cortex_a8_neon_int_1,\
1288+ cortex_a8_neon_int_4,\
1289+ cortex_a8_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
1290+ cortex_a8_neon_mul_qqq_8_16_32_ddd_32,\
1291+ cortex_a8_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
1292+ cortex_a8_neon_mla_qqq_8_16,\
1293+ cortex_a8_neon_fp_vadd_ddd_vabs_dd,\
1294+ cortex_a8_neon_fp_vadd_qqq_vabs_qq,\
1295+ cortex_a8_neon_fp_vmla_ddd,\
1296+ cortex_a8_neon_fp_vmla_qqq,\
1297+ cortex_a8_neon_fp_vrecps_vrsqrts_ddd,\
1298+ cortex_a8_neon_fp_vrecps_vrsqrts_qqq")
1299+
1300+(define_bypass 4 "cortex_a8_neon_vld3_vld4"
1301+ "cortex_a8_neon_int_1,\
1302+ cortex_a8_neon_int_4,\
1303+ cortex_a8_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
1304+ cortex_a8_neon_mul_qqq_8_16_32_ddd_32,\
1305+ cortex_a8_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
1306+ cortex_a8_neon_mla_qqq_8_16,\
1307+ cortex_a8_neon_fp_vadd_ddd_vabs_dd,\
1308+ cortex_a8_neon_fp_vadd_qqq_vabs_qq,\
1309+ cortex_a8_neon_fp_vmla_ddd,\
1310+ cortex_a8_neon_fp_vmla_qqq,\
1311+ cortex_a8_neon_fp_vrecps_vrsqrts_ddd,\
1312+ cortex_a8_neon_fp_vrecps_vrsqrts_qqq")
1313+
1314+(define_bypass 3 "cortex_a8_neon_vld2_4_regs"
1315+ "cortex_a8_neon_int_1,\
1316+ cortex_a8_neon_int_4,\
1317+ cortex_a8_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
1318+ cortex_a8_neon_mul_qqq_8_16_32_ddd_32,\
1319+ cortex_a8_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
1320+ cortex_a8_neon_mla_qqq_8_16,\
1321+ cortex_a8_neon_fp_vadd_ddd_vabs_dd,\
1322+ cortex_a8_neon_fp_vadd_qqq_vabs_qq,\
1323+ cortex_a8_neon_fp_vmla_ddd,\
1324+ cortex_a8_neon_fp_vmla_qqq,\
1325+ cortex_a8_neon_fp_vrecps_vrsqrts_ddd,\
1326+ cortex_a8_neon_fp_vrecps_vrsqrts_qqq")
1327+
1328+(define_bypass 2 "cortex_a8_neon_vld2_2_regs_vld1_vld2_all_lanes"
1329+ "cortex_a8_neon_int_1,\
1330+ cortex_a8_neon_int_4,\
1331+ cortex_a8_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
1332+ cortex_a8_neon_mul_qqq_8_16_32_ddd_32,\
1333+ cortex_a8_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
1334+ cortex_a8_neon_mla_qqq_8_16,\
1335+ cortex_a8_neon_fp_vadd_ddd_vabs_dd,\
1336+ cortex_a8_neon_fp_vadd_qqq_vabs_qq,\
1337+ cortex_a8_neon_fp_vmla_ddd,\
1338+ cortex_a8_neon_fp_vmla_qqq,\
1339+ cortex_a8_neon_fp_vrecps_vrsqrts_ddd,\
1340+ cortex_a8_neon_fp_vrecps_vrsqrts_qqq")
1341+
1342+(define_bypass 2 "cortex_a8_neon_vld1_3_4_regs"
1343+ "cortex_a8_neon_int_1,\
1344+ cortex_a8_neon_int_4,\
1345+ cortex_a8_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
1346+ cortex_a8_neon_mul_qqq_8_16_32_ddd_32,\
1347+ cortex_a8_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
1348+ cortex_a8_neon_mla_qqq_8_16,\
1349+ cortex_a8_neon_fp_vadd_ddd_vabs_dd,\
1350+ cortex_a8_neon_fp_vadd_qqq_vabs_qq,\
1351+ cortex_a8_neon_fp_vmla_ddd,\
1352+ cortex_a8_neon_fp_vmla_qqq,\
1353+ cortex_a8_neon_fp_vrecps_vrsqrts_ddd,\
1354+ cortex_a8_neon_fp_vrecps_vrsqrts_qqq")
1355+
1356+(define_bypass 1 "cortex_a8_neon_vld1_1_2_regs"
1357+ "cortex_a8_neon_int_1,\
1358+ cortex_a8_neon_int_4,\
1359+ cortex_a8_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
1360+ cortex_a8_neon_mul_qqq_8_16_32_ddd_32,\
1361+ cortex_a8_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
1362+ cortex_a8_neon_mla_qqq_8_16,\
1363+ cortex_a8_neon_fp_vadd_ddd_vabs_dd,\
1364+ cortex_a8_neon_fp_vadd_qqq_vabs_qq,\
1365+ cortex_a8_neon_fp_vmla_ddd,\
1366+ cortex_a8_neon_fp_vmla_qqq,\
1367+ cortex_a8_neon_fp_vrecps_vrsqrts_ddd,\
1368+ cortex_a8_neon_fp_vrecps_vrsqrts_qqq")
1369+
1370+(define_bypass 0 "cortex_a8_neon_ldr"
1371+ "cortex_a8_neon_int_1,\
1372+ cortex_a8_neon_int_4,\
1373+ cortex_a8_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
1374+ cortex_a8_neon_mul_qqq_8_16_32_ddd_32,\
1375+ cortex_a8_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
1376+ cortex_a8_neon_mla_qqq_8_16,\
1377+ cortex_a8_neon_fp_vadd_ddd_vabs_dd,\
1378+ cortex_a8_neon_fp_vadd_qqq_vabs_qq,\
1379+ cortex_a8_neon_fp_vmla_ddd,\
1380+ cortex_a8_neon_fp_vmla_qqq,\
1381+ cortex_a8_neon_fp_vrecps_vrsqrts_ddd,\
1382+ cortex_a8_neon_fp_vrecps_vrsqrts_qqq")
1383+
1384+(define_bypass 3 "cortex_a8_neon_bp_3cycle"
1385+ "cortex_a8_neon_int_1,\
1386+ cortex_a8_neon_int_4,\
1387+ cortex_a8_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
1388+ cortex_a8_neon_mul_qqq_8_16_32_ddd_32,\
1389+ cortex_a8_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
1390+ cortex_a8_neon_mla_qqq_8_16,\
1391+ cortex_a8_neon_fp_vadd_ddd_vabs_dd,\
1392+ cortex_a8_neon_fp_vadd_qqq_vabs_qq,\
1393+ cortex_a8_neon_fp_vmla_ddd,\
1394+ cortex_a8_neon_fp_vmla_qqq,\
1395+ cortex_a8_neon_fp_vrecps_vrsqrts_ddd,\
1396+ cortex_a8_neon_fp_vrecps_vrsqrts_qqq")
1397+
1398+(define_bypass 2 "cortex_a8_neon_bp_2cycle"
1399+ "cortex_a8_neon_int_1,\
1400+ cortex_a8_neon_int_4,\
1401+ cortex_a8_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
1402+ cortex_a8_neon_mul_qqq_8_16_32_ddd_32,\
1403+ cortex_a8_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
1404+ cortex_a8_neon_mla_qqq_8_16,\
1405+ cortex_a8_neon_fp_vadd_ddd_vabs_dd,\
1406+ cortex_a8_neon_fp_vadd_qqq_vabs_qq,\
1407+ cortex_a8_neon_fp_vmla_ddd,\
1408+ cortex_a8_neon_fp_vmla_qqq,\
1409+ cortex_a8_neon_fp_vrecps_vrsqrts_ddd,\
1410+ cortex_a8_neon_fp_vrecps_vrsqrts_qqq")
1411+
1412+(define_bypass 1 "cortex_a8_neon_bp_simple"
1413+ "cortex_a8_neon_int_1,\
1414+ cortex_a8_neon_int_4,\
1415+ cortex_a8_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
1416+ cortex_a8_neon_mul_qqq_8_16_32_ddd_32,\
1417+ cortex_a8_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
1418+ cortex_a8_neon_mla_qqq_8_16,\
1419+ cortex_a8_neon_fp_vadd_ddd_vabs_dd,\
1420+ cortex_a8_neon_fp_vadd_qqq_vabs_qq,\
1421+ cortex_a8_neon_fp_vmla_ddd,\
1422+ cortex_a8_neon_fp_vmla_qqq,\
1423+ cortex_a8_neon_fp_vrecps_vrsqrts_ddd,\
1424+ cortex_a8_neon_fp_vrecps_vrsqrts_qqq")
1425+
1426+(define_bypass 9 "cortex_a8_neon_fp_vrecps_vrsqrts_qqq"
1427+ "cortex_a8_neon_int_1,\
1428+ cortex_a8_neon_int_4,\
1429+ cortex_a8_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
1430+ cortex_a8_neon_mul_qqq_8_16_32_ddd_32,\
1431+ cortex_a8_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
1432+ cortex_a8_neon_mla_qqq_8_16,\
1433+ cortex_a8_neon_fp_vadd_ddd_vabs_dd,\
1434+ cortex_a8_neon_fp_vadd_qqq_vabs_qq,\
1435+ cortex_a8_neon_fp_vmla_ddd,\
1436+ cortex_a8_neon_fp_vmla_qqq,\
1437+ cortex_a8_neon_fp_vrecps_vrsqrts_ddd,\
1438+ cortex_a8_neon_fp_vrecps_vrsqrts_qqq")
1439+
1440+(define_bypass 8 "cortex_a8_neon_fp_vrecps_vrsqrts_ddd"
1441+ "cortex_a8_neon_int_1,\
1442+ cortex_a8_neon_int_4,\
1443+ cortex_a8_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
1444+ cortex_a8_neon_mul_qqq_8_16_32_ddd_32,\
1445+ cortex_a8_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
1446+ cortex_a8_neon_mla_qqq_8_16,\
1447+ cortex_a8_neon_fp_vadd_ddd_vabs_dd,\
1448+ cortex_a8_neon_fp_vadd_qqq_vabs_qq,\
1449+ cortex_a8_neon_fp_vmla_ddd,\
1450+ cortex_a8_neon_fp_vmla_qqq,\
1451+ cortex_a8_neon_fp_vrecps_vrsqrts_ddd,\
1452+ cortex_a8_neon_fp_vrecps_vrsqrts_qqq")
1453+
1454+(define_bypass 9 "cortex_a8_neon_fp_vmla_qqq_scalar"
1455+ "cortex_a8_neon_int_1,\
1456+ cortex_a8_neon_int_4,\
1457+ cortex_a8_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
1458+ cortex_a8_neon_mul_qqq_8_16_32_ddd_32,\
1459+ cortex_a8_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
1460+ cortex_a8_neon_mla_qqq_8_16,\
1461+ cortex_a8_neon_fp_vadd_ddd_vabs_dd,\
1462+ cortex_a8_neon_fp_vadd_qqq_vabs_qq,\
1463+ cortex_a8_neon_fp_vmla_ddd,\
1464+ cortex_a8_neon_fp_vmla_qqq,\
1465+ cortex_a8_neon_fp_vrecps_vrsqrts_ddd,\
1466+ cortex_a8_neon_fp_vrecps_vrsqrts_qqq")
1467+
1468+(define_bypass 8 "cortex_a8_neon_fp_vmla_ddd_scalar"
1469+ "cortex_a8_neon_int_1,\
1470+ cortex_a8_neon_int_4,\
1471+ cortex_a8_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
1472+ cortex_a8_neon_mul_qqq_8_16_32_ddd_32,\
1473+ cortex_a8_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
1474+ cortex_a8_neon_mla_qqq_8_16,\
1475+ cortex_a8_neon_fp_vadd_ddd_vabs_dd,\
1476+ cortex_a8_neon_fp_vadd_qqq_vabs_qq,\
1477+ cortex_a8_neon_fp_vmla_ddd,\
1478+ cortex_a8_neon_fp_vmla_qqq,\
1479+ cortex_a8_neon_fp_vrecps_vrsqrts_ddd,\
1480+ cortex_a8_neon_fp_vrecps_vrsqrts_qqq")
1481+
1482+(define_bypass 9 "cortex_a8_neon_fp_vmla_qqq"
1483+ "cortex_a8_neon_int_1,\
1484+ cortex_a8_neon_int_4,\
1485+ cortex_a8_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
1486+ cortex_a8_neon_mul_qqq_8_16_32_ddd_32,\
1487+ cortex_a8_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
1488+ cortex_a8_neon_mla_qqq_8_16,\
1489+ cortex_a8_neon_fp_vadd_ddd_vabs_dd,\
1490+ cortex_a8_neon_fp_vadd_qqq_vabs_qq,\
1491+ cortex_a8_neon_fp_vmla_ddd,\
1492+ cortex_a8_neon_fp_vmla_qqq,\
1493+ cortex_a8_neon_fp_vrecps_vrsqrts_ddd,\
1494+ cortex_a8_neon_fp_vrecps_vrsqrts_qqq")
1495+
1496+(define_bypass 8 "cortex_a8_neon_fp_vmla_ddd"
1497+ "cortex_a8_neon_int_1,\
1498+ cortex_a8_neon_int_4,\
1499+ cortex_a8_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
1500+ cortex_a8_neon_mul_qqq_8_16_32_ddd_32,\
1501+ cortex_a8_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
1502+ cortex_a8_neon_mla_qqq_8_16,\
1503+ cortex_a8_neon_fp_vadd_ddd_vabs_dd,\
1504+ cortex_a8_neon_fp_vadd_qqq_vabs_qq,\
1505+ cortex_a8_neon_fp_vmla_ddd,\
1506+ cortex_a8_neon_fp_vmla_qqq,\
1507+ cortex_a8_neon_fp_vrecps_vrsqrts_ddd,\
1508+ cortex_a8_neon_fp_vrecps_vrsqrts_qqq")
1509+
1510+(define_bypass 5 "cortex_a8_neon_fp_vmul_qqd"
1511+ "cortex_a8_neon_int_1,\
1512+ cortex_a8_neon_int_4,\
1513+ cortex_a8_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
1514+ cortex_a8_neon_mul_qqq_8_16_32_ddd_32,\
1515+ cortex_a8_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
1516+ cortex_a8_neon_mla_qqq_8_16,\
1517+ cortex_a8_neon_fp_vadd_ddd_vabs_dd,\
1518+ cortex_a8_neon_fp_vadd_qqq_vabs_qq,\
1519+ cortex_a8_neon_fp_vmla_ddd,\
1520+ cortex_a8_neon_fp_vmla_qqq,\
1521+ cortex_a8_neon_fp_vrecps_vrsqrts_ddd,\
1522+ cortex_a8_neon_fp_vrecps_vrsqrts_qqq")
1523+
1524+(define_bypass 4 "cortex_a8_neon_fp_vmul_ddd"
1525+ "cortex_a8_neon_int_1,\
1526+ cortex_a8_neon_int_4,\
1527+ cortex_a8_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
1528+ cortex_a8_neon_mul_qqq_8_16_32_ddd_32,\
1529+ cortex_a8_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
1530+ cortex_a8_neon_mla_qqq_8_16,\
1531+ cortex_a8_neon_fp_vadd_ddd_vabs_dd,\
1532+ cortex_a8_neon_fp_vadd_qqq_vabs_qq,\
1533+ cortex_a8_neon_fp_vmla_ddd,\
1534+ cortex_a8_neon_fp_vmla_qqq,\
1535+ cortex_a8_neon_fp_vrecps_vrsqrts_ddd,\
1536+ cortex_a8_neon_fp_vrecps_vrsqrts_qqq")
1537+
1538+(define_bypass 4 "cortex_a8_neon_fp_vsum"
1539+ "cortex_a8_neon_int_1,\
1540+ cortex_a8_neon_int_4,\
1541+ cortex_a8_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
1542+ cortex_a8_neon_mul_qqq_8_16_32_ddd_32,\
1543+ cortex_a8_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
1544+ cortex_a8_neon_mla_qqq_8_16,\
1545+ cortex_a8_neon_fp_vadd_ddd_vabs_dd,\
1546+ cortex_a8_neon_fp_vadd_qqq_vabs_qq,\
1547+ cortex_a8_neon_fp_vmla_ddd,\
1548+ cortex_a8_neon_fp_vmla_qqq,\
1549+ cortex_a8_neon_fp_vrecps_vrsqrts_ddd,\
1550+ cortex_a8_neon_fp_vrecps_vrsqrts_qqq")
1551+
1552+(define_bypass 5 "cortex_a8_neon_fp_vadd_qqq_vabs_qq"
1553+ "cortex_a8_neon_int_1,\
1554+ cortex_a8_neon_int_4,\
1555+ cortex_a8_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
1556+ cortex_a8_neon_mul_qqq_8_16_32_ddd_32,\
1557+ cortex_a8_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
1558+ cortex_a8_neon_mla_qqq_8_16,\
1559+ cortex_a8_neon_fp_vadd_ddd_vabs_dd,\
1560+ cortex_a8_neon_fp_vadd_qqq_vabs_qq,\
1561+ cortex_a8_neon_fp_vmla_ddd,\
1562+ cortex_a8_neon_fp_vmla_qqq,\
1563+ cortex_a8_neon_fp_vrecps_vrsqrts_ddd,\
1564+ cortex_a8_neon_fp_vrecps_vrsqrts_qqq")
1565+
1566+(define_bypass 4 "cortex_a8_neon_fp_vadd_ddd_vabs_dd"
1567+ "cortex_a8_neon_int_1,\
1568+ cortex_a8_neon_int_4,\
1569+ cortex_a8_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
1570+ cortex_a8_neon_mul_qqq_8_16_32_ddd_32,\
1571+ cortex_a8_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
1572+ cortex_a8_neon_mla_qqq_8_16,\
1573+ cortex_a8_neon_fp_vadd_ddd_vabs_dd,\
1574+ cortex_a8_neon_fp_vadd_qqq_vabs_qq,\
1575+ cortex_a8_neon_fp_vmla_ddd,\
1576+ cortex_a8_neon_fp_vmla_qqq,\
1577+ cortex_a8_neon_fp_vrecps_vrsqrts_ddd,\
1578+ cortex_a8_neon_fp_vrecps_vrsqrts_qqq")
1579+
1580+(define_bypass 5 "cortex_a8_neon_vsra_vrsra"
1581+ "cortex_a8_neon_int_1,\
1582+ cortex_a8_neon_int_4,\
1583+ cortex_a8_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
1584+ cortex_a8_neon_mul_qqq_8_16_32_ddd_32,\
1585+ cortex_a8_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
1586+ cortex_a8_neon_mla_qqq_8_16,\
1587+ cortex_a8_neon_fp_vadd_ddd_vabs_dd,\
1588+ cortex_a8_neon_fp_vadd_qqq_vabs_qq,\
1589+ cortex_a8_neon_fp_vmla_ddd,\
1590+ cortex_a8_neon_fp_vmla_qqq,\
1591+ cortex_a8_neon_fp_vrecps_vrsqrts_ddd,\
1592+ cortex_a8_neon_fp_vrecps_vrsqrts_qqq")
1593+
1594+(define_bypass 4 "cortex_a8_neon_vqshl_vrshl_vqrshl_qqq"
1595+ "cortex_a8_neon_int_1,\
1596+ cortex_a8_neon_int_4,\
1597+ cortex_a8_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
1598+ cortex_a8_neon_mul_qqq_8_16_32_ddd_32,\
1599+ cortex_a8_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
1600+ cortex_a8_neon_mla_qqq_8_16,\
1601+ cortex_a8_neon_fp_vadd_ddd_vabs_dd,\
1602+ cortex_a8_neon_fp_vadd_qqq_vabs_qq,\
1603+ cortex_a8_neon_fp_vmla_ddd,\
1604+ cortex_a8_neon_fp_vmla_qqq,\
1605+ cortex_a8_neon_fp_vrecps_vrsqrts_ddd,\
1606+ cortex_a8_neon_fp_vrecps_vrsqrts_qqq")
1607+
1608+(define_bypass 0 "cortex_a8_neon_vshl_ddd"
1609+ "cortex_a8_neon_int_1,\
1610+ cortex_a8_neon_int_4,\
1611+ cortex_a8_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
1612+ cortex_a8_neon_mul_qqq_8_16_32_ddd_32,\
1613+ cortex_a8_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
1614+ cortex_a8_neon_mla_qqq_8_16,\
1615+ cortex_a8_neon_fp_vadd_ddd_vabs_dd,\
1616+ cortex_a8_neon_fp_vadd_qqq_vabs_qq,\
1617+ cortex_a8_neon_fp_vmla_ddd,\
1618+ cortex_a8_neon_fp_vmla_qqq,\
1619+ cortex_a8_neon_fp_vrecps_vrsqrts_ddd,\
1620+ cortex_a8_neon_fp_vrecps_vrsqrts_qqq")
1621+
1622+(define_bypass 3 "cortex_a8_neon_shift_3"
1623+ "cortex_a8_neon_int_1,\
1624+ cortex_a8_neon_int_4,\
1625+ cortex_a8_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
1626+ cortex_a8_neon_mul_qqq_8_16_32_ddd_32,\
1627+ cortex_a8_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
1628+ cortex_a8_neon_mla_qqq_8_16,\
1629+ cortex_a8_neon_fp_vadd_ddd_vabs_dd,\
1630+ cortex_a8_neon_fp_vadd_qqq_vabs_qq,\
1631+ cortex_a8_neon_fp_vmla_ddd,\
1632+ cortex_a8_neon_fp_vmla_qqq,\
1633+ cortex_a8_neon_fp_vrecps_vrsqrts_ddd,\
1634+ cortex_a8_neon_fp_vrecps_vrsqrts_qqq")
1635+
1636+(define_bypass 3 "cortex_a8_neon_shift_2"
1637+ "cortex_a8_neon_int_1,\
1638+ cortex_a8_neon_int_4,\
1639+ cortex_a8_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
1640+ cortex_a8_neon_mul_qqq_8_16_32_ddd_32,\
1641+ cortex_a8_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
1642+ cortex_a8_neon_mla_qqq_8_16,\
1643+ cortex_a8_neon_fp_vadd_ddd_vabs_dd,\
1644+ cortex_a8_neon_fp_vadd_qqq_vabs_qq,\
1645+ cortex_a8_neon_fp_vmla_ddd,\
1646+ cortex_a8_neon_fp_vmla_qqq,\
1647+ cortex_a8_neon_fp_vrecps_vrsqrts_ddd,\
1648+ cortex_a8_neon_fp_vrecps_vrsqrts_qqq")
1649+
1650+(define_bypass 2 "cortex_a8_neon_shift_1"
1651+ "cortex_a8_neon_int_1,\
1652+ cortex_a8_neon_int_4,\
1653+ cortex_a8_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
1654+ cortex_a8_neon_mul_qqq_8_16_32_ddd_32,\
1655+ cortex_a8_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
1656+ cortex_a8_neon_mla_qqq_8_16,\
1657+ cortex_a8_neon_fp_vadd_ddd_vabs_dd,\
1658+ cortex_a8_neon_fp_vadd_qqq_vabs_qq,\
1659+ cortex_a8_neon_fp_vmla_ddd,\
1660+ cortex_a8_neon_fp_vmla_qqq,\
1661+ cortex_a8_neon_fp_vrecps_vrsqrts_ddd,\
1662+ cortex_a8_neon_fp_vrecps_vrsqrts_qqq")
1663+
1664+(define_bypass 5 "cortex_a8_neon_mla_ddd_16_scalar_qdd_32_16_long_scalar"
1665+ "cortex_a8_neon_int_1,\
1666+ cortex_a8_neon_int_4,\
1667+ cortex_a8_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
1668+ cortex_a8_neon_mul_qqq_8_16_32_ddd_32,\
1669+ cortex_a8_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
1670+ cortex_a8_neon_mla_qqq_8_16,\
1671+ cortex_a8_neon_fp_vadd_ddd_vabs_dd,\
1672+ cortex_a8_neon_fp_vadd_qqq_vabs_qq,\
1673+ cortex_a8_neon_fp_vmla_ddd,\
1674+ cortex_a8_neon_fp_vmla_qqq,\
1675+ cortex_a8_neon_fp_vrecps_vrsqrts_ddd,\
1676+ cortex_a8_neon_fp_vrecps_vrsqrts_qqq")
1677+
1678+(define_bypass 8 "cortex_a8_neon_mul_qqd_32_scalar"
1679+ "cortex_a8_neon_int_1,\
1680+ cortex_a8_neon_int_4,\
1681+ cortex_a8_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
1682+ cortex_a8_neon_mul_qqq_8_16_32_ddd_32,\
1683+ cortex_a8_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
1684+ cortex_a8_neon_mla_qqq_8_16,\
1685+ cortex_a8_neon_fp_vadd_ddd_vabs_dd,\
1686+ cortex_a8_neon_fp_vadd_qqq_vabs_qq,\
1687+ cortex_a8_neon_fp_vmla_ddd,\
1688+ cortex_a8_neon_fp_vmla_qqq,\
1689+ cortex_a8_neon_fp_vrecps_vrsqrts_ddd,\
1690+ cortex_a8_neon_fp_vrecps_vrsqrts_qqq")
1691+
1692+(define_bypass 5 "cortex_a8_neon_mul_ddd_16_scalar_32_16_long_scalar"
1693+ "cortex_a8_neon_int_1,\
1694+ cortex_a8_neon_int_4,\
1695+ cortex_a8_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
1696+ cortex_a8_neon_mul_qqq_8_16_32_ddd_32,\
1697+ cortex_a8_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
1698+ cortex_a8_neon_mla_qqq_8_16,\
1699+ cortex_a8_neon_fp_vadd_ddd_vabs_dd,\
1700+ cortex_a8_neon_fp_vadd_qqq_vabs_qq,\
1701+ cortex_a8_neon_fp_vmla_ddd,\
1702+ cortex_a8_neon_fp_vmla_qqq,\
1703+ cortex_a8_neon_fp_vrecps_vrsqrts_ddd,\
1704+ cortex_a8_neon_fp_vrecps_vrsqrts_qqq")
1705+
1706+(define_bypass 8 "cortex_a8_neon_mla_qqq_32_qqd_32_scalar"
1707+ "cortex_a8_neon_int_1,\
1708+ cortex_a8_neon_int_4,\
1709+ cortex_a8_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
1710+ cortex_a8_neon_mul_qqq_8_16_32_ddd_32,\
1711+ cortex_a8_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
1712+ cortex_a8_neon_mla_qqq_8_16,\
1713+ cortex_a8_neon_fp_vadd_ddd_vabs_dd,\
1714+ cortex_a8_neon_fp_vadd_qqq_vabs_qq,\
1715+ cortex_a8_neon_fp_vmla_ddd,\
1716+ cortex_a8_neon_fp_vmla_qqq,\
1717+ cortex_a8_neon_fp_vrecps_vrsqrts_ddd,\
1718+ cortex_a8_neon_fp_vrecps_vrsqrts_qqq")
1719+
1720+(define_bypass 6 "cortex_a8_neon_mla_ddd_32_qqd_16_ddd_32_scalar_qdd_64_32_long_scalar_qdd_64_32_long"
1721+ "cortex_a8_neon_int_1,\
1722+ cortex_a8_neon_int_4,\
1723+ cortex_a8_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
1724+ cortex_a8_neon_mul_qqq_8_16_32_ddd_32,\
1725+ cortex_a8_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
1726+ cortex_a8_neon_mla_qqq_8_16,\
1727+ cortex_a8_neon_fp_vadd_ddd_vabs_dd,\
1728+ cortex_a8_neon_fp_vadd_qqq_vabs_qq,\
1729+ cortex_a8_neon_fp_vmla_ddd,\
1730+ cortex_a8_neon_fp_vmla_qqq,\
1731+ cortex_a8_neon_fp_vrecps_vrsqrts_ddd,\
1732+ cortex_a8_neon_fp_vrecps_vrsqrts_qqq")
1733+
1734+(define_bypass 6 "cortex_a8_neon_mla_qqq_8_16"
1735+ "cortex_a8_neon_int_1,\
1736+ cortex_a8_neon_int_4,\
1737+ cortex_a8_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
1738+ cortex_a8_neon_mul_qqq_8_16_32_ddd_32,\
1739+ cortex_a8_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
1740+ cortex_a8_neon_mla_qqq_8_16,\
1741+ cortex_a8_neon_fp_vadd_ddd_vabs_dd,\
1742+ cortex_a8_neon_fp_vadd_qqq_vabs_qq,\
1743+ cortex_a8_neon_fp_vmla_ddd,\
1744+ cortex_a8_neon_fp_vmla_qqq,\
1745+ cortex_a8_neon_fp_vrecps_vrsqrts_ddd,\
1746+ cortex_a8_neon_fp_vrecps_vrsqrts_qqq")
1747+
1748+(define_bypass 5 "cortex_a8_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long"
1749+ "cortex_a8_neon_int_1,\
1750+ cortex_a8_neon_int_4,\
1751+ cortex_a8_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
1752+ cortex_a8_neon_mul_qqq_8_16_32_ddd_32,\
1753+ cortex_a8_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
1754+ cortex_a8_neon_mla_qqq_8_16,\
1755+ cortex_a8_neon_fp_vadd_ddd_vabs_dd,\
1756+ cortex_a8_neon_fp_vadd_qqq_vabs_qq,\
1757+ cortex_a8_neon_fp_vmla_ddd,\
1758+ cortex_a8_neon_fp_vmla_qqq,\
1759+ cortex_a8_neon_fp_vrecps_vrsqrts_ddd,\
1760+ cortex_a8_neon_fp_vrecps_vrsqrts_qqq")
1761+
1762+(define_bypass 6 "cortex_a8_neon_mul_qdd_64_32_long_qqd_16_ddd_32_scalar_64_32_long_scalar"
1763+ "cortex_a8_neon_int_1,\
1764+ cortex_a8_neon_int_4,\
1765+ cortex_a8_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
1766+ cortex_a8_neon_mul_qqq_8_16_32_ddd_32,\
1767+ cortex_a8_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
1768+ cortex_a8_neon_mla_qqq_8_16,\
1769+ cortex_a8_neon_fp_vadd_ddd_vabs_dd,\
1770+ cortex_a8_neon_fp_vadd_qqq_vabs_qq,\
1771+ cortex_a8_neon_fp_vmla_ddd,\
1772+ cortex_a8_neon_fp_vmla_qqq,\
1773+ cortex_a8_neon_fp_vrecps_vrsqrts_ddd,\
1774+ cortex_a8_neon_fp_vrecps_vrsqrts_qqq")
1775+
1776+(define_bypass 6 "cortex_a8_neon_mul_qqq_8_16_32_ddd_32"
1777+ "cortex_a8_neon_int_1,\
1778+ cortex_a8_neon_int_4,\
1779+ cortex_a8_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
1780+ cortex_a8_neon_mul_qqq_8_16_32_ddd_32,\
1781+ cortex_a8_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
1782+ cortex_a8_neon_mla_qqq_8_16,\
1783+ cortex_a8_neon_fp_vadd_ddd_vabs_dd,\
1784+ cortex_a8_neon_fp_vadd_qqq_vabs_qq,\
1785+ cortex_a8_neon_fp_vmla_ddd,\
1786+ cortex_a8_neon_fp_vmla_qqq,\
1787+ cortex_a8_neon_fp_vrecps_vrsqrts_ddd,\
1788+ cortex_a8_neon_fp_vrecps_vrsqrts_qqq")
1789+
1790+(define_bypass 5 "cortex_a8_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long"
1791+ "cortex_a8_neon_int_1,\
1792+ cortex_a8_neon_int_4,\
1793+ cortex_a8_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
1794+ cortex_a8_neon_mul_qqq_8_16_32_ddd_32,\
1795+ cortex_a8_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
1796+ cortex_a8_neon_mla_qqq_8_16,\
1797+ cortex_a8_neon_fp_vadd_ddd_vabs_dd,\
1798+ cortex_a8_neon_fp_vadd_qqq_vabs_qq,\
1799+ cortex_a8_neon_fp_vmla_ddd,\
1800+ cortex_a8_neon_fp_vmla_qqq,\
1801+ cortex_a8_neon_fp_vrecps_vrsqrts_ddd,\
1802+ cortex_a8_neon_fp_vrecps_vrsqrts_qqq")
1803+
1804+(define_bypass 5 "cortex_a8_neon_vsma"
1805+ "cortex_a8_neon_int_1,\
1806+ cortex_a8_neon_int_4,\
1807+ cortex_a8_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
1808+ cortex_a8_neon_mul_qqq_8_16_32_ddd_32,\
1809+ cortex_a8_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
1810+ cortex_a8_neon_mla_qqq_8_16,\
1811+ cortex_a8_neon_fp_vadd_ddd_vabs_dd,\
1812+ cortex_a8_neon_fp_vadd_qqq_vabs_qq,\
1813+ cortex_a8_neon_fp_vmla_ddd,\
1814+ cortex_a8_neon_fp_vmla_qqq,\
1815+ cortex_a8_neon_fp_vrecps_vrsqrts_ddd,\
1816+ cortex_a8_neon_fp_vrecps_vrsqrts_qqq")
1817+
1818+(define_bypass 6 "cortex_a8_neon_vaba_qqq"
1819+ "cortex_a8_neon_int_1,\
1820+ cortex_a8_neon_int_4,\
1821+ cortex_a8_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
1822+ cortex_a8_neon_mul_qqq_8_16_32_ddd_32,\
1823+ cortex_a8_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
1824+ cortex_a8_neon_mla_qqq_8_16,\
1825+ cortex_a8_neon_fp_vadd_ddd_vabs_dd,\
1826+ cortex_a8_neon_fp_vadd_qqq_vabs_qq,\
1827+ cortex_a8_neon_fp_vmla_ddd,\
1828+ cortex_a8_neon_fp_vmla_qqq,\
1829+ cortex_a8_neon_fp_vrecps_vrsqrts_ddd,\
1830+ cortex_a8_neon_fp_vrecps_vrsqrts_qqq")
1831+
1832+(define_bypass 5 "cortex_a8_neon_vaba"
1833+ "cortex_a8_neon_int_1,\
1834+ cortex_a8_neon_int_4,\
1835+ cortex_a8_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
1836+ cortex_a8_neon_mul_qqq_8_16_32_ddd_32,\
1837+ cortex_a8_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
1838+ cortex_a8_neon_mla_qqq_8_16,\
1839+ cortex_a8_neon_fp_vadd_ddd_vabs_dd,\
1840+ cortex_a8_neon_fp_vadd_qqq_vabs_qq,\
1841+ cortex_a8_neon_fp_vmla_ddd,\
1842+ cortex_a8_neon_fp_vmla_qqq,\
1843+ cortex_a8_neon_fp_vrecps_vrsqrts_ddd,\
1844+ cortex_a8_neon_fp_vrecps_vrsqrts_qqq")
1845+
1846+(define_bypass 2 "cortex_a8_neon_vmov"
1847+ "cortex_a8_neon_int_1,\
1848+ cortex_a8_neon_int_4,\
1849+ cortex_a8_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
1850+ cortex_a8_neon_mul_qqq_8_16_32_ddd_32,\
1851+ cortex_a8_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
1852+ cortex_a8_neon_mla_qqq_8_16,\
1853+ cortex_a8_neon_fp_vadd_ddd_vabs_dd,\
1854+ cortex_a8_neon_fp_vadd_qqq_vabs_qq,\
1855+ cortex_a8_neon_fp_vmla_ddd,\
1856+ cortex_a8_neon_fp_vmla_qqq,\
1857+ cortex_a8_neon_fp_vrecps_vrsqrts_ddd,\
1858+ cortex_a8_neon_fp_vrecps_vrsqrts_qqq")
1859+
1860+(define_bypass 3 "cortex_a8_neon_vqneg_vqabs"
1861+ "cortex_a8_neon_int_1,\
1862+ cortex_a8_neon_int_4,\
1863+ cortex_a8_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
1864+ cortex_a8_neon_mul_qqq_8_16_32_ddd_32,\
1865+ cortex_a8_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
1866+ cortex_a8_neon_mla_qqq_8_16,\
1867+ cortex_a8_neon_fp_vadd_ddd_vabs_dd,\
1868+ cortex_a8_neon_fp_vadd_qqq_vabs_qq,\
1869+ cortex_a8_neon_fp_vmla_ddd,\
1870+ cortex_a8_neon_fp_vmla_qqq,\
1871+ cortex_a8_neon_fp_vrecps_vrsqrts_ddd,\
1872+ cortex_a8_neon_fp_vrecps_vrsqrts_qqq")
1873+
1874+(define_bypass 3 "cortex_a8_neon_int_5"
1875+ "cortex_a8_neon_int_1,\
1876+ cortex_a8_neon_int_4,\
1877+ cortex_a8_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
1878+ cortex_a8_neon_mul_qqq_8_16_32_ddd_32,\
1879+ cortex_a8_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
1880+ cortex_a8_neon_mla_qqq_8_16,\
1881+ cortex_a8_neon_fp_vadd_ddd_vabs_dd,\
1882+ cortex_a8_neon_fp_vadd_qqq_vabs_qq,\
1883+ cortex_a8_neon_fp_vmla_ddd,\
1884+ cortex_a8_neon_fp_vmla_qqq,\
1885+ cortex_a8_neon_fp_vrecps_vrsqrts_ddd,\
1886+ cortex_a8_neon_fp_vrecps_vrsqrts_qqq")
1887+
1888+(define_bypass 3 "cortex_a8_neon_int_4"
1889+ "cortex_a8_neon_int_1,\
1890+ cortex_a8_neon_int_4,\
1891+ cortex_a8_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
1892+ cortex_a8_neon_mul_qqq_8_16_32_ddd_32,\
1893+ cortex_a8_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
1894+ cortex_a8_neon_mla_qqq_8_16,\
1895+ cortex_a8_neon_fp_vadd_ddd_vabs_dd,\
1896+ cortex_a8_neon_fp_vadd_qqq_vabs_qq,\
1897+ cortex_a8_neon_fp_vmla_ddd,\
1898+ cortex_a8_neon_fp_vmla_qqq,\
1899+ cortex_a8_neon_fp_vrecps_vrsqrts_ddd,\
1900+ cortex_a8_neon_fp_vrecps_vrsqrts_qqq")
1901+
1902+(define_bypass 2 "cortex_a8_neon_int_3"
1903+ "cortex_a8_neon_int_1,\
1904+ cortex_a8_neon_int_4,\
1905+ cortex_a8_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
1906+ cortex_a8_neon_mul_qqq_8_16_32_ddd_32,\
1907+ cortex_a8_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
1908+ cortex_a8_neon_mla_qqq_8_16,\
1909+ cortex_a8_neon_fp_vadd_ddd_vabs_dd,\
1910+ cortex_a8_neon_fp_vadd_qqq_vabs_qq,\
1911+ cortex_a8_neon_fp_vmla_ddd,\
1912+ cortex_a8_neon_fp_vmla_qqq,\
1913+ cortex_a8_neon_fp_vrecps_vrsqrts_ddd,\
1914+ cortex_a8_neon_fp_vrecps_vrsqrts_qqq")
1915+
1916+(define_bypass 2 "cortex_a8_neon_int_2"
1917+ "cortex_a8_neon_int_1,\
1918+ cortex_a8_neon_int_4,\
1919+ cortex_a8_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
1920+ cortex_a8_neon_mul_qqq_8_16_32_ddd_32,\
1921+ cortex_a8_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
1922+ cortex_a8_neon_mla_qqq_8_16,\
1923+ cortex_a8_neon_fp_vadd_ddd_vabs_dd,\
1924+ cortex_a8_neon_fp_vadd_qqq_vabs_qq,\
1925+ cortex_a8_neon_fp_vmla_ddd,\
1926+ cortex_a8_neon_fp_vmla_qqq,\
1927+ cortex_a8_neon_fp_vrecps_vrsqrts_ddd,\
1928+ cortex_a8_neon_fp_vrecps_vrsqrts_qqq")
1929+
1930+(define_bypass 2 "cortex_a8_neon_int_1"
1931+ "cortex_a8_neon_int_1,\
1932+ cortex_a8_neon_int_4,\
1933+ cortex_a8_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
1934+ cortex_a8_neon_mul_qqq_8_16_32_ddd_32,\
1935+ cortex_a8_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
1936+ cortex_a8_neon_mla_qqq_8_16,\
1937+ cortex_a8_neon_fp_vadd_ddd_vabs_dd,\
1938+ cortex_a8_neon_fp_vadd_qqq_vabs_qq,\
1939+ cortex_a8_neon_fp_vmla_ddd,\
1940+ cortex_a8_neon_fp_vmla_qqq,\
1941+ cortex_a8_neon_fp_vrecps_vrsqrts_ddd,\
1942+ cortex_a8_neon_fp_vrecps_vrsqrts_qqq")
1943
1944
1945=== added file 'gcc/config/arm/cortex-a9-neon.md'
1946--- old/gcc/config/arm/cortex-a9-neon.md 1970-01-01 00:00:00 +0000
1947+++ new/gcc/config/arm/cortex-a9-neon.md 2010-09-16 09:47:44 +0000
1948@@ -0,0 +1,1237 @@
1949+;; ARM Cortex-A9 pipeline description
1950+;; Copyright (C) 2010 Free Software Foundation, Inc.
1951+;;
1952+;; Neon pipeline description contributed by ARM Ltd.
1953+;;
1954+;; This file is part of GCC.
1955+;;
1956+;; GCC is free software; you can redistribute it and/or modify it
1957+;; under the terms of the GNU General Public License as published by
1958+;; the Free Software Foundation; either version 3, or (at your option)
1959+;; any later version.
1960+;;
1961+;; GCC is distributed in the hope that it will be useful, but
1962+;; WITHOUT ANY WARRANTY; without even the implied warranty of
1963+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
1964+;; General Public License for more details.
1965+;;
1966+;; You should have received a copy of the GNU General Public License
1967+;; along with GCC; see the file COPYING3. If not see
1968+;; <http://www.gnu.org/licenses/>.
1969+
1970+
1971+(define_automaton "cortex_a9_neon")
1972+
1973+;; Only one instruction can be issued per cycle.
1974+(define_cpu_unit "cortex_a9_neon_issue_perm" "cortex_a9_neon")
1975+
1976+;; Only one data-processing instruction can be issued per cycle.
1977+(define_cpu_unit "cortex_a9_neon_issue_dp" "cortex_a9_neon")
1978+
1979+;; We need a special mutual exclusion (to be used in addition to
1980+;; cortex_a9_neon_issue_dp) for the case when an instruction such as
1981+;; vmla.f is forwarded from E5 of the floating-point multiply pipeline to
1982+;; E2 of the floating-point add pipeline. On the cycle previous to that
1983+;; forward we must prevent issue of any instruction to the floating-point
1984+;; add pipeline, but still allow issue of a data-processing instruction
1985+;; to any of the other pipelines.
1986+(define_cpu_unit "cortex_a9_neon_issue_fadd" "cortex_a9_neon")
1987+(define_cpu_unit "cortex_a9_neon_mcr" "cortex_a9_neon")
1988+
1989+
1990+;; Patterns of reservation.
1991+;; We model the NEON issue units as running in parallel with the core ones.
1992+;; We assume that multi-cycle NEON instructions get decomposed into
1993+;; micro-ops as they are issued into the NEON pipeline.
1994+
1995+(define_reservation "cortex_a9_neon_dp"
1996+ "ca9_issue_vfp_neon + cortex_a9_neon_issue_dp")
1997+(define_reservation "cortex_a9_neon_dp_2"
1998+ "ca9_issue_vfp_neon + cortex_a9_neon_issue_dp,\
1999+ cortex_a9_neon_issue_dp")
2000+(define_reservation "cortex_a9_neon_dp_4"
2001+ "ca9_issue_vfp_neon + cortex_a9_neon_issue_dp,\
2002+ cortex_a9_neon_issue_dp + cortex_a9_neon_issue_perm,\
2003+ cortex_a9_neon_issue_dp + cortex_a9_neon_issue_perm,\
2004+ cortex_a9_neon_issue_dp")
2005+
2006+(define_reservation "cortex_a9_neon_fadd"
2007+ "ca9_issue_vfp_neon + cortex_a9_neon_issue_dp + \
2008+ cortex_a9_neon_issue_fadd")
2009+(define_reservation "cortex_a9_neon_fadd_2"
2010+ "ca9_issue_vfp_neon + cortex_a9_neon_issue_dp,\
2011+ cortex_a9_neon_issue_fadd,\
2012+ cortex_a9_neon_issue_dp")
2013+
2014+(define_reservation "cortex_a9_neon_perm"
2015+ "ca9_issue_vfp_neon+cortex_a9_neon_issue_perm")
2016+(define_reservation "cortex_a9_neon_perm_2"
2017+ "ca9_issue_vfp_neon+cortex_a9_neon_issue_perm, \
2018+ cortex_a9_neon_issue_perm")
2019+(define_reservation "cortex_a9_neon_perm_3"
2020+ "ca9_issue_vfp_neon+cortex_a9_neon_issue_perm,\
2021+ cortex_a9_neon_issue_dp+cortex_a9_neon_issue_perm,\
2022+ cortex_a9_neon_issue_perm")
2023+
2024+(define_reservation "cortex_a9_neon_ls"
2025+ "ca9_issue_vfp_neon+cortex_a9_neon_issue_perm+cortex_a9_ls")
2026+(define_reservation "cortex_a9_neon_ls_2"
2027+ "ca9_issue_vfp_neon+cortex_a9_neon_issue_perm,\
2028+ cortex_a9_neon_issue_perm")
2029+(define_reservation "cortex_a9_neon_ls_3"
2030+ "ca9_issue_vfp_neon+cortex_a9_neon_issue_perm,\
2031+ cortex_a9_neon_issue_dp+cortex_a9_neon_issue_perm,\
2032+ cortex_a9_neon_issue_perm")
2033+(define_reservation "cortex_a9_neon_ls_4"
2034+ "ca9_issue_vfp_neon+cortex_a9_neon_issue_perm,\
2035+ cortex_a9_neon_issue_dp+cortex_a9_neon_issue_perm,\
2036+ cortex_a9_neon_issue_dp+cortex_a9_neon_issue_perm,\
2037+ cortex_a9_neon_issue_perm")
2038+(define_reservation "cortex_a9_neon_ls_5"
2039+ "ca9_issue_vfp_neon + cortex_a9_neon_issue_perm,\
2040+ cortex_a9_neon_issue_dp+cortex_a9_neon_issue_perm,\
2041+ cortex_a9_neon_issue_dp+cortex_a9_neon_issue_perm,\
2042+ cortex_a9_neon_issue_dp+cortex_a9_neon_issue_perm,\
2043+ cortex_a9_neon_issue_perm")
2044+
2045+(define_reservation "cortex_a9_neon_fmul_then_fadd"
2046+ "ca9_issue_vfp_neon + cortex_a9_neon_issue_dp,\
2047+ nothing*3,\
2048+ cortex_a9_neon_issue_fadd")
2049+(define_reservation "cortex_a9_neon_fmul_then_fadd_2"
2050+ "ca9_issue_vfp_neon + cortex_a9_neon_issue_dp,\
2051+ cortex_a9_neon_issue_dp,\
2052+ nothing*2,\
2053+ cortex_a9_neon_issue_fadd,\
2054+ cortex_a9_neon_issue_fadd")
2055+
2056+
2057+;; NEON -> core transfers.
2058+(define_insn_reservation "ca9_neon_mrc" 1
2059+ (and (eq_attr "tune" "cortexa9")
2060+ (eq_attr "neon_type" "neon_mrc"))
2061+ "ca9_issue_vfp_neon + cortex_a9_neon_mcr")
2062+
2063+(define_insn_reservation "ca9_neon_mrrc" 1
2064+ (and (eq_attr "tune" "cortexa9")
2065+ (eq_attr "neon_type" "neon_mrrc"))
2066+ "ca9_issue_vfp_neon + cortex_a9_neon_mcr")
2067+
2068+;; The remainder of this file is auto-generated by neon-schedgen.
2069+
2070+;; Instructions using this reservation read their source operands at N2, and
2071+;; produce a result at N3.
2072+(define_insn_reservation "cortex_a9_neon_int_1" 3
2073+ (and (eq_attr "tune" "cortexa9")
2074+ (eq_attr "neon_type" "neon_int_1"))
2075+ "cortex_a9_neon_dp")
2076+
2077+;; Instructions using this reservation read their (D|Q)m operands at N1,
2078+;; their (D|Q)n operands at N2, and produce a result at N3.
2079+(define_insn_reservation "cortex_a9_neon_int_2" 3
2080+ (and (eq_attr "tune" "cortexa9")
2081+ (eq_attr "neon_type" "neon_int_2"))
2082+ "cortex_a9_neon_dp")
2083+
2084+;; Instructions using this reservation read their source operands at N1, and
2085+;; produce a result at N3.
2086+(define_insn_reservation "cortex_a9_neon_int_3" 3
2087+ (and (eq_attr "tune" "cortexa9")
2088+ (eq_attr "neon_type" "neon_int_3"))
2089+ "cortex_a9_neon_dp")
2090+
2091+;; Instructions using this reservation read their source operands at N2, and
2092+;; produce a result at N4.
2093+(define_insn_reservation "cortex_a9_neon_int_4" 4
2094+ (and (eq_attr "tune" "cortexa9")
2095+ (eq_attr "neon_type" "neon_int_4"))
2096+ "cortex_a9_neon_dp")
2097+
2098+;; Instructions using this reservation read their (D|Q)m operands at N1,
2099+;; their (D|Q)n operands at N2, and produce a result at N4.
2100+(define_insn_reservation "cortex_a9_neon_int_5" 4
2101+ (and (eq_attr "tune" "cortexa9")
2102+ (eq_attr "neon_type" "neon_int_5"))
2103+ "cortex_a9_neon_dp")
2104+
2105+;; Instructions using this reservation read their source operands at N1, and
2106+;; produce a result at N4.
2107+(define_insn_reservation "cortex_a9_neon_vqneg_vqabs" 4
2108+ (and (eq_attr "tune" "cortexa9")
2109+ (eq_attr "neon_type" "neon_vqneg_vqabs"))
2110+ "cortex_a9_neon_dp")
2111+
2112+;; Instructions using this reservation produce a result at N3.
2113+(define_insn_reservation "cortex_a9_neon_vmov" 3
2114+ (and (eq_attr "tune" "cortexa9")
2115+ (eq_attr "neon_type" "neon_vmov"))
2116+ "cortex_a9_neon_dp")
2117+
2118+;; Instructions using this reservation read their (D|Q)n operands at N2,
2119+;; their (D|Q)m operands at N1, their (D|Q)d operands at N3, and
2120+;; produce a result at N6.
2121+(define_insn_reservation "cortex_a9_neon_vaba" 6
2122+ (and (eq_attr "tune" "cortexa9")
2123+ (eq_attr "neon_type" "neon_vaba"))
2124+ "cortex_a9_neon_dp")
2125+
2126+;; Instructions using this reservation read their (D|Q)n operands at N2,
2127+;; their (D|Q)m operands at N1, their (D|Q)d operands at N3, and
2128+;; produce a result at N6 on cycle 2.
2129+(define_insn_reservation "cortex_a9_neon_vaba_qqq" 7
2130+ (and (eq_attr "tune" "cortexa9")
2131+ (eq_attr "neon_type" "neon_vaba_qqq"))
2132+ "cortex_a9_neon_dp_2")
2133+
2134+;; Instructions using this reservation read their (D|Q)m operands at N1,
2135+;; their (D|Q)d operands at N3, and produce a result at N6.
2136+(define_insn_reservation "cortex_a9_neon_vsma" 6
2137+ (and (eq_attr "tune" "cortexa9")
2138+ (eq_attr "neon_type" "neon_vsma"))
2139+ "cortex_a9_neon_dp")
2140+
2141+;; Instructions using this reservation read their source operands at N2, and
2142+;; produce a result at N6.
2143+(define_insn_reservation "cortex_a9_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long" 6
2144+ (and (eq_attr "tune" "cortexa9")
2145+ (eq_attr "neon_type" "neon_mul_ddd_8_16_qdd_16_8_long_32_16_long"))
2146+ "cortex_a9_neon_dp")
2147+
2148+;; Instructions using this reservation read their source operands at N2, and
2149+;; produce a result at N6 on cycle 2.
2150+(define_insn_reservation "cortex_a9_neon_mul_qqq_8_16_32_ddd_32" 7
2151+ (and (eq_attr "tune" "cortexa9")
2152+ (eq_attr "neon_type" "neon_mul_qqq_8_16_32_ddd_32"))
2153+ "cortex_a9_neon_dp_2")
2154+
2155+;; Instructions using this reservation read their (D|Q)n operands at N2,
2156+;; their (D|Q)m operands at N1, and produce a result at N6 on cycle 2.
2157+(define_insn_reservation "cortex_a9_neon_mul_qdd_64_32_long_qqd_16_ddd_32_scalar_64_32_long_scalar" 7
2158+ (and (eq_attr "tune" "cortexa9")
2159+ (eq_attr "neon_type" "neon_mul_qdd_64_32_long_qqd_16_ddd_32_scalar_64_32_long_scalar"))
2160+ "cortex_a9_neon_dp_2")
2161+
2162+;; Instructions using this reservation read their (D|Q)n operands at N2,
2163+;; their (D|Q)m operands at N2, their (D|Q)d operands at N3, and
2164+;; produce a result at N6.
2165+(define_insn_reservation "cortex_a9_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long" 6
2166+ (and (eq_attr "tune" "cortexa9")
2167+ (eq_attr "neon_type" "neon_mla_ddd_8_16_qdd_16_8_long_32_16_long"))
2168+ "cortex_a9_neon_dp")
2169+
2170+;; Instructions using this reservation read their (D|Q)n operands at N2,
2171+;; their (D|Q)m operands at N2, their (D|Q)d operands at N3, and
2172+;; produce a result at N6 on cycle 2.
2173+(define_insn_reservation "cortex_a9_neon_mla_qqq_8_16" 7
2174+ (and (eq_attr "tune" "cortexa9")
2175+ (eq_attr "neon_type" "neon_mla_qqq_8_16"))
2176+ "cortex_a9_neon_dp_2")
2177+
2178+;; Instructions using this reservation read their (D|Q)n operands at N2,
2179+;; their (D|Q)m operands at N1, their (D|Q)d operands at N3, and
2180+;; produce a result at N6 on cycle 2.
2181+(define_insn_reservation "cortex_a9_neon_mla_ddd_32_qqd_16_ddd_32_scalar_qdd_64_32_long_scalar_qdd_64_32_long" 7
2182+ (and (eq_attr "tune" "cortexa9")
2183+ (eq_attr "neon_type" "neon_mla_ddd_32_qqd_16_ddd_32_scalar_qdd_64_32_long_scalar_qdd_64_32_long"))
2184+ "cortex_a9_neon_dp_2")
2185+
2186+;; Instructions using this reservation read their (D|Q)n operands at N2,
2187+;; their (D|Q)m operands at N1, their (D|Q)d operands at N3, and
2188+;; produce a result at N6 on cycle 4.
2189+(define_insn_reservation "cortex_a9_neon_mla_qqq_32_qqd_32_scalar" 9
2190+ (and (eq_attr "tune" "cortexa9")
2191+ (eq_attr "neon_type" "neon_mla_qqq_32_qqd_32_scalar"))
2192+ "cortex_a9_neon_dp_4")
2193+
2194+;; Instructions using this reservation read their (D|Q)n operands at N2,
2195+;; their (D|Q)m operands at N1, and produce a result at N6.
2196+(define_insn_reservation "cortex_a9_neon_mul_ddd_16_scalar_32_16_long_scalar" 6
2197+ (and (eq_attr "tune" "cortexa9")
2198+ (eq_attr "neon_type" "neon_mul_ddd_16_scalar_32_16_long_scalar"))
2199+ "cortex_a9_neon_dp")
2200+
2201+;; Instructions using this reservation read their (D|Q)n operands at N2,
2202+;; their (D|Q)m operands at N1, and produce a result at N6 on cycle 4.
2203+(define_insn_reservation "cortex_a9_neon_mul_qqd_32_scalar" 9
2204+ (and (eq_attr "tune" "cortexa9")
2205+ (eq_attr "neon_type" "neon_mul_qqd_32_scalar"))
2206+ "cortex_a9_neon_dp_4")
2207+
2208+;; Instructions using this reservation read their (D|Q)n operands at N2,
2209+;; their (D|Q)m operands at N1, their (D|Q)d operands at N3, and
2210+;; produce a result at N6.
2211+(define_insn_reservation "cortex_a9_neon_mla_ddd_16_scalar_qdd_32_16_long_scalar" 6
2212+ (and (eq_attr "tune" "cortexa9")
2213+ (eq_attr "neon_type" "neon_mla_ddd_16_scalar_qdd_32_16_long_scalar"))
2214+ "cortex_a9_neon_dp")
2215+
2216+;; Instructions using this reservation read their source operands at N1, and
2217+;; produce a result at N3.
2218+(define_insn_reservation "cortex_a9_neon_shift_1" 3
2219+ (and (eq_attr "tune" "cortexa9")
2220+ (eq_attr "neon_type" "neon_shift_1"))
2221+ "cortex_a9_neon_dp")
2222+
2223+;; Instructions using this reservation read their source operands at N1, and
2224+;; produce a result at N4.
2225+(define_insn_reservation "cortex_a9_neon_shift_2" 4
2226+ (and (eq_attr "tune" "cortexa9")
2227+ (eq_attr "neon_type" "neon_shift_2"))
2228+ "cortex_a9_neon_dp")
2229+
2230+;; Instructions using this reservation read their source operands at N1, and
2231+;; produce a result at N3 on cycle 2.
2232+(define_insn_reservation "cortex_a9_neon_shift_3" 4
2233+ (and (eq_attr "tune" "cortexa9")
2234+ (eq_attr "neon_type" "neon_shift_3"))
2235+ "cortex_a9_neon_dp_2")
2236+
2237+;; Instructions using this reservation read their source operands at N1, and
2238+;; produce a result at N1.
2239+(define_insn_reservation "cortex_a9_neon_vshl_ddd" 1
2240+ (and (eq_attr "tune" "cortexa9")
2241+ (eq_attr "neon_type" "neon_vshl_ddd"))
2242+ "cortex_a9_neon_dp")
2243+
2244+;; Instructions using this reservation read their source operands at N1, and
2245+;; produce a result at N4 on cycle 2.
2246+(define_insn_reservation "cortex_a9_neon_vqshl_vrshl_vqrshl_qqq" 5
2247+ (and (eq_attr "tune" "cortexa9")
2248+ (eq_attr "neon_type" "neon_vqshl_vrshl_vqrshl_qqq"))
2249+ "cortex_a9_neon_dp_2")
2250+
2251+;; Instructions using this reservation read their (D|Q)m operands at N1,
2252+;; their (D|Q)d operands at N3, and produce a result at N6.
2253+(define_insn_reservation "cortex_a9_neon_vsra_vrsra" 6
2254+ (and (eq_attr "tune" "cortexa9")
2255+ (eq_attr "neon_type" "neon_vsra_vrsra"))
2256+ "cortex_a9_neon_dp")
2257+
2258+;; Instructions using this reservation read their source operands at N2, and
2259+;; produce a result at N5.
2260+(define_insn_reservation "cortex_a9_neon_fp_vadd_ddd_vabs_dd" 5
2261+ (and (eq_attr "tune" "cortexa9")
2262+ (eq_attr "neon_type" "neon_fp_vadd_ddd_vabs_dd"))
2263+ "cortex_a9_neon_fadd")
2264+
2265+;; Instructions using this reservation read their source operands at N2, and
2266+;; produce a result at N5 on cycle 2.
2267+(define_insn_reservation "cortex_a9_neon_fp_vadd_qqq_vabs_qq" 6
2268+ (and (eq_attr "tune" "cortexa9")
2269+ (eq_attr "neon_type" "neon_fp_vadd_qqq_vabs_qq"))
2270+ "cortex_a9_neon_fadd_2")
2271+
2272+;; Instructions using this reservation read their source operands at N1, and
2273+;; produce a result at N5.
2274+(define_insn_reservation "cortex_a9_neon_fp_vsum" 5
2275+ (and (eq_attr "tune" "cortexa9")
2276+ (eq_attr "neon_type" "neon_fp_vsum"))
2277+ "cortex_a9_neon_fadd")
2278+
2279+;; Instructions using this reservation read their (D|Q)n operands at N2,
2280+;; their (D|Q)m operands at N1, and produce a result at N5.
2281+(define_insn_reservation "cortex_a9_neon_fp_vmul_ddd" 5
2282+ (and (eq_attr "tune" "cortexa9")
2283+ (eq_attr "neon_type" "neon_fp_vmul_ddd"))
2284+ "cortex_a9_neon_dp")
2285+
2286+;; Instructions using this reservation read their (D|Q)n operands at N2,
2287+;; their (D|Q)m operands at N1, and produce a result at N5 on cycle 2.
2288+(define_insn_reservation "cortex_a9_neon_fp_vmul_qqd" 6
2289+ (and (eq_attr "tune" "cortexa9")
2290+ (eq_attr "neon_type" "neon_fp_vmul_qqd"))
2291+ "cortex_a9_neon_dp_2")
2292+
2293+;; Instructions using this reservation read their (D|Q)n operands at N2,
2294+;; their (D|Q)m operands at N2, their (D|Q)d operands at N3, and
2295+;; produce a result at N9.
2296+(define_insn_reservation "cortex_a9_neon_fp_vmla_ddd" 9
2297+ (and (eq_attr "tune" "cortexa9")
2298+ (eq_attr "neon_type" "neon_fp_vmla_ddd"))
2299+ "cortex_a9_neon_fmul_then_fadd")
2300+
2301+;; Instructions using this reservation read their (D|Q)n operands at N2,
2302+;; their (D|Q)m operands at N2, their (D|Q)d operands at N3, and
2303+;; produce a result at N9 on cycle 2.
2304+(define_insn_reservation "cortex_a9_neon_fp_vmla_qqq" 10
2305+ (and (eq_attr "tune" "cortexa9")
2306+ (eq_attr "neon_type" "neon_fp_vmla_qqq"))
2307+ "cortex_a9_neon_fmul_then_fadd_2")
2308+
2309+;; Instructions using this reservation read their (D|Q)n operands at N2,
2310+;; their (D|Q)m operands at N1, their (D|Q)d operands at N3, and
2311+;; produce a result at N9.
2312+(define_insn_reservation "cortex_a9_neon_fp_vmla_ddd_scalar" 9
2313+ (and (eq_attr "tune" "cortexa9")
2314+ (eq_attr "neon_type" "neon_fp_vmla_ddd_scalar"))
2315+ "cortex_a9_neon_fmul_then_fadd")
2316+
2317+;; Instructions using this reservation read their (D|Q)n operands at N2,
2318+;; their (D|Q)m operands at N1, their (D|Q)d operands at N3, and
2319+;; produce a result at N9 on cycle 2.
2320+(define_insn_reservation "cortex_a9_neon_fp_vmla_qqq_scalar" 10
2321+ (and (eq_attr "tune" "cortexa9")
2322+ (eq_attr "neon_type" "neon_fp_vmla_qqq_scalar"))
2323+ "cortex_a9_neon_fmul_then_fadd_2")
2324+
2325+;; Instructions using this reservation read their source operands at N2, and
2326+;; produce a result at N9.
2327+(define_insn_reservation "cortex_a9_neon_fp_vrecps_vrsqrts_ddd" 9
2328+ (and (eq_attr "tune" "cortexa9")
2329+ (eq_attr "neon_type" "neon_fp_vrecps_vrsqrts_ddd"))
2330+ "cortex_a9_neon_fmul_then_fadd")
2331+
2332+;; Instructions using this reservation read their source operands at N2, and
2333+;; produce a result at N9 on cycle 2.
2334+(define_insn_reservation "cortex_a9_neon_fp_vrecps_vrsqrts_qqq" 10
2335+ (and (eq_attr "tune" "cortexa9")
2336+ (eq_attr "neon_type" "neon_fp_vrecps_vrsqrts_qqq"))
2337+ "cortex_a9_neon_fmul_then_fadd_2")
2338+
2339+;; Instructions using this reservation read their source operands at N1, and
2340+;; produce a result at N2.
2341+(define_insn_reservation "cortex_a9_neon_bp_simple" 2
2342+ (and (eq_attr "tune" "cortexa9")
2343+ (eq_attr "neon_type" "neon_bp_simple"))
2344+ "cortex_a9_neon_perm")
2345+
2346+;; Instructions using this reservation read their source operands at N1, and
2347+;; produce a result at N2 on cycle 2.
2348+(define_insn_reservation "cortex_a9_neon_bp_2cycle" 3
2349+ (and (eq_attr "tune" "cortexa9")
2350+ (eq_attr "neon_type" "neon_bp_2cycle"))
2351+ "cortex_a9_neon_perm_2")
2352+
2353+;; Instructions using this reservation read their source operands at N1, and
2354+;; produce a result at N2 on cycle 3.
2355+(define_insn_reservation "cortex_a9_neon_bp_3cycle" 4
2356+ (and (eq_attr "tune" "cortexa9")
2357+ (eq_attr "neon_type" "neon_bp_3cycle"))
2358+ "cortex_a9_neon_perm_3")
2359+
2360+;; Instructions using this reservation produce a result at N1.
2361+(define_insn_reservation "cortex_a9_neon_ldr" 1
2362+ (and (eq_attr "tune" "cortexa9")
2363+ (eq_attr "neon_type" "neon_ldr"))
2364+ "cortex_a9_neon_ls")
2365+
2366+;; Instructions using this reservation read their source operands at N1.
2367+(define_insn_reservation "cortex_a9_neon_str" 0
2368+ (and (eq_attr "tune" "cortexa9")
2369+ (eq_attr "neon_type" "neon_str"))
2370+ "cortex_a9_neon_ls")
2371+
2372+;; Instructions using this reservation produce a result at N1 on cycle 2.
2373+(define_insn_reservation "cortex_a9_neon_vld1_1_2_regs" 2
2374+ (and (eq_attr "tune" "cortexa9")
2375+ (eq_attr "neon_type" "neon_vld1_1_2_regs"))
2376+ "cortex_a9_neon_ls_2")
2377+
2378+;; Instructions using this reservation produce a result at N1 on cycle 3.
2379+(define_insn_reservation "cortex_a9_neon_vld1_3_4_regs" 3
2380+ (and (eq_attr "tune" "cortexa9")
2381+ (eq_attr "neon_type" "neon_vld1_3_4_regs"))
2382+ "cortex_a9_neon_ls_3")
2383+
2384+;; Instructions using this reservation produce a result at N2 on cycle 2.
2385+(define_insn_reservation "cortex_a9_neon_vld2_2_regs_vld1_vld2_all_lanes" 3
2386+ (and (eq_attr "tune" "cortexa9")
2387+ (eq_attr "neon_type" "neon_vld2_2_regs_vld1_vld2_all_lanes"))
2388+ "cortex_a9_neon_ls_2")
2389+
2390+;; Instructions using this reservation produce a result at N2 on cycle 3.
2391+(define_insn_reservation "cortex_a9_neon_vld2_4_regs" 4
2392+ (and (eq_attr "tune" "cortexa9")
2393+ (eq_attr "neon_type" "neon_vld2_4_regs"))
2394+ "cortex_a9_neon_ls_3")
2395+
2396+;; Instructions using this reservation produce a result at N2 on cycle 4.
2397+(define_insn_reservation "cortex_a9_neon_vld3_vld4" 5
2398+ (and (eq_attr "tune" "cortexa9")
2399+ (eq_attr "neon_type" "neon_vld3_vld4"))
2400+ "cortex_a9_neon_ls_4")
2401+
2402+;; Instructions using this reservation read their source operands at N1.
2403+(define_insn_reservation "cortex_a9_neon_vst1_1_2_regs_vst2_2_regs" 0
2404+ (and (eq_attr "tune" "cortexa9")
2405+ (eq_attr "neon_type" "neon_vst1_1_2_regs_vst2_2_regs"))
2406+ "cortex_a9_neon_ls_2")
2407+
2408+;; Instructions using this reservation read their source operands at N1.
2409+(define_insn_reservation "cortex_a9_neon_vst1_3_4_regs" 0
2410+ (and (eq_attr "tune" "cortexa9")
2411+ (eq_attr "neon_type" "neon_vst1_3_4_regs"))
2412+ "cortex_a9_neon_ls_3")
2413+
2414+;; Instructions using this reservation read their source operands at N1.
2415+(define_insn_reservation "cortex_a9_neon_vst2_4_regs_vst3_vst4" 0
2416+ (and (eq_attr "tune" "cortexa9")
2417+ (eq_attr "neon_type" "neon_vst2_4_regs_vst3_vst4"))
2418+ "cortex_a9_neon_ls_4")
2419+
2420+;; Instructions using this reservation read their source operands at N1.
2421+(define_insn_reservation "cortex_a9_neon_vst3_vst4" 0
2422+ (and (eq_attr "tune" "cortexa9")
2423+ (eq_attr "neon_type" "neon_vst3_vst4"))
2424+ "cortex_a9_neon_ls_4")
2425+
2426+;; Instructions using this reservation read their source operands at N1, and
2427+;; produce a result at N2 on cycle 3.
2428+(define_insn_reservation "cortex_a9_neon_vld1_vld2_lane" 4
2429+ (and (eq_attr "tune" "cortexa9")
2430+ (eq_attr "neon_type" "neon_vld1_vld2_lane"))
2431+ "cortex_a9_neon_ls_3")
2432+
2433+;; Instructions using this reservation read their source operands at N1, and
2434+;; produce a result at N2 on cycle 5.
2435+(define_insn_reservation "cortex_a9_neon_vld3_vld4_lane" 6
2436+ (and (eq_attr "tune" "cortexa9")
2437+ (eq_attr "neon_type" "neon_vld3_vld4_lane"))
2438+ "cortex_a9_neon_ls_5")
2439+
2440+;; Instructions using this reservation read their source operands at N1.
2441+(define_insn_reservation "cortex_a9_neon_vst1_vst2_lane" 0
2442+ (and (eq_attr "tune" "cortexa9")
2443+ (eq_attr "neon_type" "neon_vst1_vst2_lane"))
2444+ "cortex_a9_neon_ls_2")
2445+
2446+;; Instructions using this reservation read their source operands at N1.
2447+(define_insn_reservation "cortex_a9_neon_vst3_vst4_lane" 0
2448+ (and (eq_attr "tune" "cortexa9")
2449+ (eq_attr "neon_type" "neon_vst3_vst4_lane"))
2450+ "cortex_a9_neon_ls_3")
2451+
2452+;; Instructions using this reservation produce a result at N2 on cycle 2.
2453+(define_insn_reservation "cortex_a9_neon_vld3_vld4_all_lanes" 3
2454+ (and (eq_attr "tune" "cortexa9")
2455+ (eq_attr "neon_type" "neon_vld3_vld4_all_lanes"))
2456+ "cortex_a9_neon_ls_3")
2457+
2458+;; Instructions using this reservation produce a result at N2.
2459+(define_insn_reservation "cortex_a9_neon_mcr" 2
2460+ (and (eq_attr "tune" "cortexa9")
2461+ (eq_attr "neon_type" "neon_mcr"))
2462+ "cortex_a9_neon_perm")
2463+
2464+;; Instructions using this reservation produce a result at N2.
2465+(define_insn_reservation "cortex_a9_neon_mcr_2_mcrr" 2
2466+ (and (eq_attr "tune" "cortexa9")
2467+ (eq_attr "neon_type" "neon_mcr_2_mcrr"))
2468+ "cortex_a9_neon_perm_2")
2469+
2470+;; Exceptions to the default latencies.
2471+
2472+(define_bypass 1 "cortex_a9_neon_mcr_2_mcrr"
2473+ "cortex_a9_neon_int_1,\
2474+ cortex_a9_neon_int_4,\
2475+ cortex_a9_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
2476+ cortex_a9_neon_mul_qqq_8_16_32_ddd_32,\
2477+ cortex_a9_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
2478+ cortex_a9_neon_mla_qqq_8_16,\
2479+ cortex_a9_neon_fp_vadd_ddd_vabs_dd,\
2480+ cortex_a9_neon_fp_vadd_qqq_vabs_qq,\
2481+ cortex_a9_neon_fp_vmla_ddd,\
2482+ cortex_a9_neon_fp_vmla_qqq,\
2483+ cortex_a9_neon_fp_vrecps_vrsqrts_ddd,\
2484+ cortex_a9_neon_fp_vrecps_vrsqrts_qqq")
2485+
2486+(define_bypass 1 "cortex_a9_neon_mcr"
2487+ "cortex_a9_neon_int_1,\
2488+ cortex_a9_neon_int_4,\
2489+ cortex_a9_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
2490+ cortex_a9_neon_mul_qqq_8_16_32_ddd_32,\
2491+ cortex_a9_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
2492+ cortex_a9_neon_mla_qqq_8_16,\
2493+ cortex_a9_neon_fp_vadd_ddd_vabs_dd,\
2494+ cortex_a9_neon_fp_vadd_qqq_vabs_qq,\
2495+ cortex_a9_neon_fp_vmla_ddd,\
2496+ cortex_a9_neon_fp_vmla_qqq,\
2497+ cortex_a9_neon_fp_vrecps_vrsqrts_ddd,\
2498+ cortex_a9_neon_fp_vrecps_vrsqrts_qqq")
2499+
2500+(define_bypass 2 "cortex_a9_neon_vld3_vld4_all_lanes"
2501+ "cortex_a9_neon_int_1,\
2502+ cortex_a9_neon_int_4,\
2503+ cortex_a9_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
2504+ cortex_a9_neon_mul_qqq_8_16_32_ddd_32,\
2505+ cortex_a9_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
2506+ cortex_a9_neon_mla_qqq_8_16,\
2507+ cortex_a9_neon_fp_vadd_ddd_vabs_dd,\
2508+ cortex_a9_neon_fp_vadd_qqq_vabs_qq,\
2509+ cortex_a9_neon_fp_vmla_ddd,\
2510+ cortex_a9_neon_fp_vmla_qqq,\
2511+ cortex_a9_neon_fp_vrecps_vrsqrts_ddd,\
2512+ cortex_a9_neon_fp_vrecps_vrsqrts_qqq")
2513+
2514+(define_bypass 5 "cortex_a9_neon_vld3_vld4_lane"
2515+ "cortex_a9_neon_int_1,\
2516+ cortex_a9_neon_int_4,\
2517+ cortex_a9_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
2518+ cortex_a9_neon_mul_qqq_8_16_32_ddd_32,\
2519+ cortex_a9_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
2520+ cortex_a9_neon_mla_qqq_8_16,\
2521+ cortex_a9_neon_fp_vadd_ddd_vabs_dd,\
2522+ cortex_a9_neon_fp_vadd_qqq_vabs_qq,\
2523+ cortex_a9_neon_fp_vmla_ddd,\
2524+ cortex_a9_neon_fp_vmla_qqq,\
2525+ cortex_a9_neon_fp_vrecps_vrsqrts_ddd,\
2526+ cortex_a9_neon_fp_vrecps_vrsqrts_qqq")
2527+
2528+(define_bypass 3 "cortex_a9_neon_vld1_vld2_lane"
2529+ "cortex_a9_neon_int_1,\
2530+ cortex_a9_neon_int_4,\
2531+ cortex_a9_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
2532+ cortex_a9_neon_mul_qqq_8_16_32_ddd_32,\
2533+ cortex_a9_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
2534+ cortex_a9_neon_mla_qqq_8_16,\
2535+ cortex_a9_neon_fp_vadd_ddd_vabs_dd,\
2536+ cortex_a9_neon_fp_vadd_qqq_vabs_qq,\
2537+ cortex_a9_neon_fp_vmla_ddd,\
2538+ cortex_a9_neon_fp_vmla_qqq,\
2539+ cortex_a9_neon_fp_vrecps_vrsqrts_ddd,\
2540+ cortex_a9_neon_fp_vrecps_vrsqrts_qqq")
2541+
2542+(define_bypass 4 "cortex_a9_neon_vld3_vld4"
2543+ "cortex_a9_neon_int_1,\
2544+ cortex_a9_neon_int_4,\
2545+ cortex_a9_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
2546+ cortex_a9_neon_mul_qqq_8_16_32_ddd_32,\
2547+ cortex_a9_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
2548+ cortex_a9_neon_mla_qqq_8_16,\
2549+ cortex_a9_neon_fp_vadd_ddd_vabs_dd,\
2550+ cortex_a9_neon_fp_vadd_qqq_vabs_qq,\
2551+ cortex_a9_neon_fp_vmla_ddd,\
2552+ cortex_a9_neon_fp_vmla_qqq,\
2553+ cortex_a9_neon_fp_vrecps_vrsqrts_ddd,\
2554+ cortex_a9_neon_fp_vrecps_vrsqrts_qqq")
2555+
2556+(define_bypass 3 "cortex_a9_neon_vld2_4_regs"
2557+ "cortex_a9_neon_int_1,\
2558+ cortex_a9_neon_int_4,\
2559+ cortex_a9_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
2560+ cortex_a9_neon_mul_qqq_8_16_32_ddd_32,\
2561+ cortex_a9_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
2562+ cortex_a9_neon_mla_qqq_8_16,\
2563+ cortex_a9_neon_fp_vadd_ddd_vabs_dd,\
2564+ cortex_a9_neon_fp_vadd_qqq_vabs_qq,\
2565+ cortex_a9_neon_fp_vmla_ddd,\
2566+ cortex_a9_neon_fp_vmla_qqq,\
2567+ cortex_a9_neon_fp_vrecps_vrsqrts_ddd,\
2568+ cortex_a9_neon_fp_vrecps_vrsqrts_qqq")
2569+
2570+(define_bypass 2 "cortex_a9_neon_vld2_2_regs_vld1_vld2_all_lanes"
2571+ "cortex_a9_neon_int_1,\
2572+ cortex_a9_neon_int_4,\
2573+ cortex_a9_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
2574+ cortex_a9_neon_mul_qqq_8_16_32_ddd_32,\
2575+ cortex_a9_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
2576+ cortex_a9_neon_mla_qqq_8_16,\
2577+ cortex_a9_neon_fp_vadd_ddd_vabs_dd,\
2578+ cortex_a9_neon_fp_vadd_qqq_vabs_qq,\
2579+ cortex_a9_neon_fp_vmla_ddd,\
2580+ cortex_a9_neon_fp_vmla_qqq,\
2581+ cortex_a9_neon_fp_vrecps_vrsqrts_ddd,\
2582+ cortex_a9_neon_fp_vrecps_vrsqrts_qqq")
2583+
2584+(define_bypass 2 "cortex_a9_neon_vld1_3_4_regs"
2585+ "cortex_a9_neon_int_1,\
2586+ cortex_a9_neon_int_4,\
2587+ cortex_a9_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
2588+ cortex_a9_neon_mul_qqq_8_16_32_ddd_32,\
2589+ cortex_a9_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
2590+ cortex_a9_neon_mla_qqq_8_16,\
2591+ cortex_a9_neon_fp_vadd_ddd_vabs_dd,\
2592+ cortex_a9_neon_fp_vadd_qqq_vabs_qq,\
2593+ cortex_a9_neon_fp_vmla_ddd,\
2594+ cortex_a9_neon_fp_vmla_qqq,\
2595+ cortex_a9_neon_fp_vrecps_vrsqrts_ddd,\
2596+ cortex_a9_neon_fp_vrecps_vrsqrts_qqq")
2597+
2598+(define_bypass 1 "cortex_a9_neon_vld1_1_2_regs"
2599+ "cortex_a9_neon_int_1,\
2600+ cortex_a9_neon_int_4,\
2601+ cortex_a9_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
2602+ cortex_a9_neon_mul_qqq_8_16_32_ddd_32,\
2603+ cortex_a9_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
2604+ cortex_a9_neon_mla_qqq_8_16,\
2605+ cortex_a9_neon_fp_vadd_ddd_vabs_dd,\
2606+ cortex_a9_neon_fp_vadd_qqq_vabs_qq,\
2607+ cortex_a9_neon_fp_vmla_ddd,\
2608+ cortex_a9_neon_fp_vmla_qqq,\
2609+ cortex_a9_neon_fp_vrecps_vrsqrts_ddd,\
2610+ cortex_a9_neon_fp_vrecps_vrsqrts_qqq")
2611+
2612+(define_bypass 0 "cortex_a9_neon_ldr"
2613+ "cortex_a9_neon_int_1,\
2614+ cortex_a9_neon_int_4,\
2615+ cortex_a9_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
2616+ cortex_a9_neon_mul_qqq_8_16_32_ddd_32,\
2617+ cortex_a9_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
2618+ cortex_a9_neon_mla_qqq_8_16,\
2619+ cortex_a9_neon_fp_vadd_ddd_vabs_dd,\
2620+ cortex_a9_neon_fp_vadd_qqq_vabs_qq,\
2621+ cortex_a9_neon_fp_vmla_ddd,\
2622+ cortex_a9_neon_fp_vmla_qqq,\
2623+ cortex_a9_neon_fp_vrecps_vrsqrts_ddd,\
2624+ cortex_a9_neon_fp_vrecps_vrsqrts_qqq")
2625+
2626+(define_bypass 3 "cortex_a9_neon_bp_3cycle"
2627+ "cortex_a9_neon_int_1,\
2628+ cortex_a9_neon_int_4,\
2629+ cortex_a9_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
2630+ cortex_a9_neon_mul_qqq_8_16_32_ddd_32,\
2631+ cortex_a9_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
2632+ cortex_a9_neon_mla_qqq_8_16,\
2633+ cortex_a9_neon_fp_vadd_ddd_vabs_dd,\
2634+ cortex_a9_neon_fp_vadd_qqq_vabs_qq,\
2635+ cortex_a9_neon_fp_vmla_ddd,\
2636+ cortex_a9_neon_fp_vmla_qqq,\
2637+ cortex_a9_neon_fp_vrecps_vrsqrts_ddd,\
2638+ cortex_a9_neon_fp_vrecps_vrsqrts_qqq")
2639+
2640+(define_bypass 2 "cortex_a9_neon_bp_2cycle"
2641+ "cortex_a9_neon_int_1,\
2642+ cortex_a9_neon_int_4,\
2643+ cortex_a9_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
2644+ cortex_a9_neon_mul_qqq_8_16_32_ddd_32,\
2645+ cortex_a9_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
2646+ cortex_a9_neon_mla_qqq_8_16,\
2647+ cortex_a9_neon_fp_vadd_ddd_vabs_dd,\
2648+ cortex_a9_neon_fp_vadd_qqq_vabs_qq,\
2649+ cortex_a9_neon_fp_vmla_ddd,\
2650+ cortex_a9_neon_fp_vmla_qqq,\
2651+ cortex_a9_neon_fp_vrecps_vrsqrts_ddd,\
2652+ cortex_a9_neon_fp_vrecps_vrsqrts_qqq")
2653+
2654+(define_bypass 1 "cortex_a9_neon_bp_simple"
2655+ "cortex_a9_neon_int_1,\
2656+ cortex_a9_neon_int_4,\
2657+ cortex_a9_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
2658+ cortex_a9_neon_mul_qqq_8_16_32_ddd_32,\
2659+ cortex_a9_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
2660+ cortex_a9_neon_mla_qqq_8_16,\
2661+ cortex_a9_neon_fp_vadd_ddd_vabs_dd,\
2662+ cortex_a9_neon_fp_vadd_qqq_vabs_qq,\
2663+ cortex_a9_neon_fp_vmla_ddd,\
2664+ cortex_a9_neon_fp_vmla_qqq,\
2665+ cortex_a9_neon_fp_vrecps_vrsqrts_ddd,\
2666+ cortex_a9_neon_fp_vrecps_vrsqrts_qqq")
2667+
2668+(define_bypass 9 "cortex_a9_neon_fp_vrecps_vrsqrts_qqq"
2669+ "cortex_a9_neon_int_1,\
2670+ cortex_a9_neon_int_4,\
2671+ cortex_a9_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
2672+ cortex_a9_neon_mul_qqq_8_16_32_ddd_32,\
2673+ cortex_a9_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
2674+ cortex_a9_neon_mla_qqq_8_16,\
2675+ cortex_a9_neon_fp_vadd_ddd_vabs_dd,\
2676+ cortex_a9_neon_fp_vadd_qqq_vabs_qq,\
2677+ cortex_a9_neon_fp_vmla_ddd,\
2678+ cortex_a9_neon_fp_vmla_qqq,\
2679+ cortex_a9_neon_fp_vrecps_vrsqrts_ddd,\
2680+ cortex_a9_neon_fp_vrecps_vrsqrts_qqq")
2681+
2682+(define_bypass 8 "cortex_a9_neon_fp_vrecps_vrsqrts_ddd"
2683+ "cortex_a9_neon_int_1,\
2684+ cortex_a9_neon_int_4,\
2685+ cortex_a9_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
2686+ cortex_a9_neon_mul_qqq_8_16_32_ddd_32,\
2687+ cortex_a9_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
2688+ cortex_a9_neon_mla_qqq_8_16,\
2689+ cortex_a9_neon_fp_vadd_ddd_vabs_dd,\
2690+ cortex_a9_neon_fp_vadd_qqq_vabs_qq,\
2691+ cortex_a9_neon_fp_vmla_ddd,\
2692+ cortex_a9_neon_fp_vmla_qqq,\
2693+ cortex_a9_neon_fp_vrecps_vrsqrts_ddd,\
2694+ cortex_a9_neon_fp_vrecps_vrsqrts_qqq")
2695+
2696+(define_bypass 9 "cortex_a9_neon_fp_vmla_qqq_scalar"
2697+ "cortex_a9_neon_int_1,\
2698+ cortex_a9_neon_int_4,\
2699+ cortex_a9_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
2700+ cortex_a9_neon_mul_qqq_8_16_32_ddd_32,\
2701+ cortex_a9_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
2702+ cortex_a9_neon_mla_qqq_8_16,\
2703+ cortex_a9_neon_fp_vadd_ddd_vabs_dd,\
2704+ cortex_a9_neon_fp_vadd_qqq_vabs_qq,\
2705+ cortex_a9_neon_fp_vmla_ddd,\
2706+ cortex_a9_neon_fp_vmla_qqq,\
2707+ cortex_a9_neon_fp_vrecps_vrsqrts_ddd,\
2708+ cortex_a9_neon_fp_vrecps_vrsqrts_qqq")
2709+
2710+(define_bypass 8 "cortex_a9_neon_fp_vmla_ddd_scalar"
2711+ "cortex_a9_neon_int_1,\
2712+ cortex_a9_neon_int_4,\
2713+ cortex_a9_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
2714+ cortex_a9_neon_mul_qqq_8_16_32_ddd_32,\
2715+ cortex_a9_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
2716+ cortex_a9_neon_mla_qqq_8_16,\
2717+ cortex_a9_neon_fp_vadd_ddd_vabs_dd,\
2718+ cortex_a9_neon_fp_vadd_qqq_vabs_qq,\
2719+ cortex_a9_neon_fp_vmla_ddd,\
2720+ cortex_a9_neon_fp_vmla_qqq,\
2721+ cortex_a9_neon_fp_vrecps_vrsqrts_ddd,\
2722+ cortex_a9_neon_fp_vrecps_vrsqrts_qqq")
2723+
2724+(define_bypass 9 "cortex_a9_neon_fp_vmla_qqq"
2725+ "cortex_a9_neon_int_1,\
2726+ cortex_a9_neon_int_4,\
2727+ cortex_a9_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
2728+ cortex_a9_neon_mul_qqq_8_16_32_ddd_32,\
2729+ cortex_a9_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
2730+ cortex_a9_neon_mla_qqq_8_16,\
2731+ cortex_a9_neon_fp_vadd_ddd_vabs_dd,\
2732+ cortex_a9_neon_fp_vadd_qqq_vabs_qq,\
2733+ cortex_a9_neon_fp_vmla_ddd,\
2734+ cortex_a9_neon_fp_vmla_qqq,\
2735+ cortex_a9_neon_fp_vrecps_vrsqrts_ddd,\
2736+ cortex_a9_neon_fp_vrecps_vrsqrts_qqq")
2737+
2738+(define_bypass 8 "cortex_a9_neon_fp_vmla_ddd"
2739+ "cortex_a9_neon_int_1,\
2740+ cortex_a9_neon_int_4,\
2741+ cortex_a9_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
2742+ cortex_a9_neon_mul_qqq_8_16_32_ddd_32,\
2743+ cortex_a9_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
2744+ cortex_a9_neon_mla_qqq_8_16,\
2745+ cortex_a9_neon_fp_vadd_ddd_vabs_dd,\
2746+ cortex_a9_neon_fp_vadd_qqq_vabs_qq,\
2747+ cortex_a9_neon_fp_vmla_ddd,\
2748+ cortex_a9_neon_fp_vmla_qqq,\
2749+ cortex_a9_neon_fp_vrecps_vrsqrts_ddd,\
2750+ cortex_a9_neon_fp_vrecps_vrsqrts_qqq")
2751+
2752+(define_bypass 5 "cortex_a9_neon_fp_vmul_qqd"
2753+ "cortex_a9_neon_int_1,\
2754+ cortex_a9_neon_int_4,\
2755+ cortex_a9_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
2756+ cortex_a9_neon_mul_qqq_8_16_32_ddd_32,\
2757+ cortex_a9_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
2758+ cortex_a9_neon_mla_qqq_8_16,\
2759+ cortex_a9_neon_fp_vadd_ddd_vabs_dd,\
2760+ cortex_a9_neon_fp_vadd_qqq_vabs_qq,\
2761+ cortex_a9_neon_fp_vmla_ddd,\
2762+ cortex_a9_neon_fp_vmla_qqq,\
2763+ cortex_a9_neon_fp_vrecps_vrsqrts_ddd,\
2764+ cortex_a9_neon_fp_vrecps_vrsqrts_qqq")
2765+
2766+(define_bypass 4 "cortex_a9_neon_fp_vmul_ddd"
2767+ "cortex_a9_neon_int_1,\
2768+ cortex_a9_neon_int_4,\
2769+ cortex_a9_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
2770+ cortex_a9_neon_mul_qqq_8_16_32_ddd_32,\
2771+ cortex_a9_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
2772+ cortex_a9_neon_mla_qqq_8_16,\
2773+ cortex_a9_neon_fp_vadd_ddd_vabs_dd,\
2774+ cortex_a9_neon_fp_vadd_qqq_vabs_qq,\
2775+ cortex_a9_neon_fp_vmla_ddd,\
2776+ cortex_a9_neon_fp_vmla_qqq,\
2777+ cortex_a9_neon_fp_vrecps_vrsqrts_ddd,\
2778+ cortex_a9_neon_fp_vrecps_vrsqrts_qqq")
2779+
2780+(define_bypass 4 "cortex_a9_neon_fp_vsum"
2781+ "cortex_a9_neon_int_1,\
2782+ cortex_a9_neon_int_4,\
2783+ cortex_a9_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
2784+ cortex_a9_neon_mul_qqq_8_16_32_ddd_32,\
2785+ cortex_a9_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
2786+ cortex_a9_neon_mla_qqq_8_16,\
2787+ cortex_a9_neon_fp_vadd_ddd_vabs_dd,\
2788+ cortex_a9_neon_fp_vadd_qqq_vabs_qq,\
2789+ cortex_a9_neon_fp_vmla_ddd,\
2790+ cortex_a9_neon_fp_vmla_qqq,\
2791+ cortex_a9_neon_fp_vrecps_vrsqrts_ddd,\
2792+ cortex_a9_neon_fp_vrecps_vrsqrts_qqq")
2793+
2794+(define_bypass 5 "cortex_a9_neon_fp_vadd_qqq_vabs_qq"
2795+ "cortex_a9_neon_int_1,\
2796+ cortex_a9_neon_int_4,\
2797+ cortex_a9_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
2798+ cortex_a9_neon_mul_qqq_8_16_32_ddd_32,\
2799+ cortex_a9_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
2800+ cortex_a9_neon_mla_qqq_8_16,\
2801+ cortex_a9_neon_fp_vadd_ddd_vabs_dd,\
2802+ cortex_a9_neon_fp_vadd_qqq_vabs_qq,\
2803+ cortex_a9_neon_fp_vmla_ddd,\
2804+ cortex_a9_neon_fp_vmla_qqq,\
2805+ cortex_a9_neon_fp_vrecps_vrsqrts_ddd,\
2806+ cortex_a9_neon_fp_vrecps_vrsqrts_qqq")
2807+
2808+(define_bypass 4 "cortex_a9_neon_fp_vadd_ddd_vabs_dd"
2809+ "cortex_a9_neon_int_1,\
2810+ cortex_a9_neon_int_4,\
2811+ cortex_a9_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
2812+ cortex_a9_neon_mul_qqq_8_16_32_ddd_32,\
2813+ cortex_a9_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
2814+ cortex_a9_neon_mla_qqq_8_16,\
2815+ cortex_a9_neon_fp_vadd_ddd_vabs_dd,\
2816+ cortex_a9_neon_fp_vadd_qqq_vabs_qq,\
2817+ cortex_a9_neon_fp_vmla_ddd,\
2818+ cortex_a9_neon_fp_vmla_qqq,\
2819+ cortex_a9_neon_fp_vrecps_vrsqrts_ddd,\
2820+ cortex_a9_neon_fp_vrecps_vrsqrts_qqq")
2821+
2822+(define_bypass 5 "cortex_a9_neon_vsra_vrsra"
2823+ "cortex_a9_neon_int_1,\
2824+ cortex_a9_neon_int_4,\
2825+ cortex_a9_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
2826+ cortex_a9_neon_mul_qqq_8_16_32_ddd_32,\
2827+ cortex_a9_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
2828+ cortex_a9_neon_mla_qqq_8_16,\
2829+ cortex_a9_neon_fp_vadd_ddd_vabs_dd,\
2830+ cortex_a9_neon_fp_vadd_qqq_vabs_qq,\
2831+ cortex_a9_neon_fp_vmla_ddd,\
2832+ cortex_a9_neon_fp_vmla_qqq,\
2833+ cortex_a9_neon_fp_vrecps_vrsqrts_ddd,\
2834+ cortex_a9_neon_fp_vrecps_vrsqrts_qqq")
2835+
2836+(define_bypass 4 "cortex_a9_neon_vqshl_vrshl_vqrshl_qqq"
2837+ "cortex_a9_neon_int_1,\
2838+ cortex_a9_neon_int_4,\
2839+ cortex_a9_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
2840+ cortex_a9_neon_mul_qqq_8_16_32_ddd_32,\
2841+ cortex_a9_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
2842+ cortex_a9_neon_mla_qqq_8_16,\
2843+ cortex_a9_neon_fp_vadd_ddd_vabs_dd,\
2844+ cortex_a9_neon_fp_vadd_qqq_vabs_qq,\
2845+ cortex_a9_neon_fp_vmla_ddd,\
2846+ cortex_a9_neon_fp_vmla_qqq,\
2847+ cortex_a9_neon_fp_vrecps_vrsqrts_ddd,\
2848+ cortex_a9_neon_fp_vrecps_vrsqrts_qqq")
2849+
2850+(define_bypass 0 "cortex_a9_neon_vshl_ddd"
2851+ "cortex_a9_neon_int_1,\
2852+ cortex_a9_neon_int_4,\
2853+ cortex_a9_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
2854+ cortex_a9_neon_mul_qqq_8_16_32_ddd_32,\
2855+ cortex_a9_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
2856+ cortex_a9_neon_mla_qqq_8_16,\
2857+ cortex_a9_neon_fp_vadd_ddd_vabs_dd,\
2858+ cortex_a9_neon_fp_vadd_qqq_vabs_qq,\
2859+ cortex_a9_neon_fp_vmla_ddd,\
2860+ cortex_a9_neon_fp_vmla_qqq,\
2861+ cortex_a9_neon_fp_vrecps_vrsqrts_ddd,\
2862+ cortex_a9_neon_fp_vrecps_vrsqrts_qqq")
2863+
2864+(define_bypass 3 "cortex_a9_neon_shift_3"
2865+ "cortex_a9_neon_int_1,\
2866+ cortex_a9_neon_int_4,\
2867+ cortex_a9_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
2868+ cortex_a9_neon_mul_qqq_8_16_32_ddd_32,\
2869+ cortex_a9_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
2870+ cortex_a9_neon_mla_qqq_8_16,\
2871+ cortex_a9_neon_fp_vadd_ddd_vabs_dd,\
2872+ cortex_a9_neon_fp_vadd_qqq_vabs_qq,\
2873+ cortex_a9_neon_fp_vmla_ddd,\
2874+ cortex_a9_neon_fp_vmla_qqq,\
2875+ cortex_a9_neon_fp_vrecps_vrsqrts_ddd,\
2876+ cortex_a9_neon_fp_vrecps_vrsqrts_qqq")
2877+
2878+(define_bypass 3 "cortex_a9_neon_shift_2"
2879+ "cortex_a9_neon_int_1,\
2880+ cortex_a9_neon_int_4,\
2881+ cortex_a9_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
2882+ cortex_a9_neon_mul_qqq_8_16_32_ddd_32,\
2883+ cortex_a9_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
2884+ cortex_a9_neon_mla_qqq_8_16,\
2885+ cortex_a9_neon_fp_vadd_ddd_vabs_dd,\
2886+ cortex_a9_neon_fp_vadd_qqq_vabs_qq,\
2887+ cortex_a9_neon_fp_vmla_ddd,\
2888+ cortex_a9_neon_fp_vmla_qqq,\
2889+ cortex_a9_neon_fp_vrecps_vrsqrts_ddd,\
2890+ cortex_a9_neon_fp_vrecps_vrsqrts_qqq")
2891+
2892+(define_bypass 2 "cortex_a9_neon_shift_1"
2893+ "cortex_a9_neon_int_1,\
2894+ cortex_a9_neon_int_4,\
2895+ cortex_a9_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
2896+ cortex_a9_neon_mul_qqq_8_16_32_ddd_32,\
2897+ cortex_a9_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
2898+ cortex_a9_neon_mla_qqq_8_16,\
2899+ cortex_a9_neon_fp_vadd_ddd_vabs_dd,\
2900+ cortex_a9_neon_fp_vadd_qqq_vabs_qq,\
2901+ cortex_a9_neon_fp_vmla_ddd,\
2902+ cortex_a9_neon_fp_vmla_qqq,\
2903+ cortex_a9_neon_fp_vrecps_vrsqrts_ddd,\
2904+ cortex_a9_neon_fp_vrecps_vrsqrts_qqq")
2905+
2906+(define_bypass 5 "cortex_a9_neon_mla_ddd_16_scalar_qdd_32_16_long_scalar"
2907+ "cortex_a9_neon_int_1,\
2908+ cortex_a9_neon_int_4,\
2909+ cortex_a9_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
2910+ cortex_a9_neon_mul_qqq_8_16_32_ddd_32,\
2911+ cortex_a9_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
2912+ cortex_a9_neon_mla_qqq_8_16,\
2913+ cortex_a9_neon_fp_vadd_ddd_vabs_dd,\
2914+ cortex_a9_neon_fp_vadd_qqq_vabs_qq,\
2915+ cortex_a9_neon_fp_vmla_ddd,\
2916+ cortex_a9_neon_fp_vmla_qqq,\
2917+ cortex_a9_neon_fp_vrecps_vrsqrts_ddd,\
2918+ cortex_a9_neon_fp_vrecps_vrsqrts_qqq")
2919+
2920+(define_bypass 8 "cortex_a9_neon_mul_qqd_32_scalar"
2921+ "cortex_a9_neon_int_1,\
2922+ cortex_a9_neon_int_4,\
2923+ cortex_a9_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
2924+ cortex_a9_neon_mul_qqq_8_16_32_ddd_32,\
2925+ cortex_a9_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
2926+ cortex_a9_neon_mla_qqq_8_16,\
2927+ cortex_a9_neon_fp_vadd_ddd_vabs_dd,\
2928+ cortex_a9_neon_fp_vadd_qqq_vabs_qq,\
2929+ cortex_a9_neon_fp_vmla_ddd,\
2930+ cortex_a9_neon_fp_vmla_qqq,\
2931+ cortex_a9_neon_fp_vrecps_vrsqrts_ddd,\
2932+ cortex_a9_neon_fp_vrecps_vrsqrts_qqq")
2933+
2934+(define_bypass 5 "cortex_a9_neon_mul_ddd_16_scalar_32_16_long_scalar"
2935+ "cortex_a9_neon_int_1,\
2936+ cortex_a9_neon_int_4,\
2937+ cortex_a9_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
2938+ cortex_a9_neon_mul_qqq_8_16_32_ddd_32,\
2939+ cortex_a9_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
2940+ cortex_a9_neon_mla_qqq_8_16,\
2941+ cortex_a9_neon_fp_vadd_ddd_vabs_dd,\
2942+ cortex_a9_neon_fp_vadd_qqq_vabs_qq,\
2943+ cortex_a9_neon_fp_vmla_ddd,\
2944+ cortex_a9_neon_fp_vmla_qqq,\
2945+ cortex_a9_neon_fp_vrecps_vrsqrts_ddd,\
2946+ cortex_a9_neon_fp_vrecps_vrsqrts_qqq")
2947+
2948+(define_bypass 8 "cortex_a9_neon_mla_qqq_32_qqd_32_scalar"
2949+ "cortex_a9_neon_int_1,\
2950+ cortex_a9_neon_int_4,\
2951+ cortex_a9_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
2952+ cortex_a9_neon_mul_qqq_8_16_32_ddd_32,\
2953+ cortex_a9_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
2954+ cortex_a9_neon_mla_qqq_8_16,\
2955+ cortex_a9_neon_fp_vadd_ddd_vabs_dd,\
2956+ cortex_a9_neon_fp_vadd_qqq_vabs_qq,\
2957+ cortex_a9_neon_fp_vmla_ddd,\
2958+ cortex_a9_neon_fp_vmla_qqq,\
2959+ cortex_a9_neon_fp_vrecps_vrsqrts_ddd,\
2960+ cortex_a9_neon_fp_vrecps_vrsqrts_qqq")
2961+
2962+(define_bypass 6 "cortex_a9_neon_mla_ddd_32_qqd_16_ddd_32_scalar_qdd_64_32_long_scalar_qdd_64_32_long"
2963+ "cortex_a9_neon_int_1,\
2964+ cortex_a9_neon_int_4,\
2965+ cortex_a9_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
2966+ cortex_a9_neon_mul_qqq_8_16_32_ddd_32,\
2967+ cortex_a9_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
2968+ cortex_a9_neon_mla_qqq_8_16,\
2969+ cortex_a9_neon_fp_vadd_ddd_vabs_dd,\
2970+ cortex_a9_neon_fp_vadd_qqq_vabs_qq,\
2971+ cortex_a9_neon_fp_vmla_ddd,\
2972+ cortex_a9_neon_fp_vmla_qqq,\
2973+ cortex_a9_neon_fp_vrecps_vrsqrts_ddd,\
2974+ cortex_a9_neon_fp_vrecps_vrsqrts_qqq")
2975+
2976+(define_bypass 6 "cortex_a9_neon_mla_qqq_8_16"
2977+ "cortex_a9_neon_int_1,\
2978+ cortex_a9_neon_int_4,\
2979+ cortex_a9_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
2980+ cortex_a9_neon_mul_qqq_8_16_32_ddd_32,\
2981+ cortex_a9_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
2982+ cortex_a9_neon_mla_qqq_8_16,\
2983+ cortex_a9_neon_fp_vadd_ddd_vabs_dd,\
2984+ cortex_a9_neon_fp_vadd_qqq_vabs_qq,\
2985+ cortex_a9_neon_fp_vmla_ddd,\
2986+ cortex_a9_neon_fp_vmla_qqq,\
2987+ cortex_a9_neon_fp_vrecps_vrsqrts_ddd,\
2988+ cortex_a9_neon_fp_vrecps_vrsqrts_qqq")
2989+
2990+(define_bypass 5 "cortex_a9_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long"
2991+ "cortex_a9_neon_int_1,\
2992+ cortex_a9_neon_int_4,\
2993+ cortex_a9_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
2994+ cortex_a9_neon_mul_qqq_8_16_32_ddd_32,\
2995+ cortex_a9_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
2996+ cortex_a9_neon_mla_qqq_8_16,\
2997+ cortex_a9_neon_fp_vadd_ddd_vabs_dd,\
2998+ cortex_a9_neon_fp_vadd_qqq_vabs_qq,\
2999+ cortex_a9_neon_fp_vmla_ddd,\
3000+ cortex_a9_neon_fp_vmla_qqq,\
3001+ cortex_a9_neon_fp_vrecps_vrsqrts_ddd,\
3002+ cortex_a9_neon_fp_vrecps_vrsqrts_qqq")
3003+
3004+(define_bypass 6 "cortex_a9_neon_mul_qdd_64_32_long_qqd_16_ddd_32_scalar_64_32_long_scalar"
3005+ "cortex_a9_neon_int_1,\
3006+ cortex_a9_neon_int_4,\
3007+ cortex_a9_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
3008+ cortex_a9_neon_mul_qqq_8_16_32_ddd_32,\
3009+ cortex_a9_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
3010+ cortex_a9_neon_mla_qqq_8_16,\
3011+ cortex_a9_neon_fp_vadd_ddd_vabs_dd,\
3012+ cortex_a9_neon_fp_vadd_qqq_vabs_qq,\
3013+ cortex_a9_neon_fp_vmla_ddd,\
3014+ cortex_a9_neon_fp_vmla_qqq,\
3015+ cortex_a9_neon_fp_vrecps_vrsqrts_ddd,\
3016+ cortex_a9_neon_fp_vrecps_vrsqrts_qqq")
3017+
3018+(define_bypass 6 "cortex_a9_neon_mul_qqq_8_16_32_ddd_32"
3019+ "cortex_a9_neon_int_1,\
3020+ cortex_a9_neon_int_4,\
3021+ cortex_a9_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
3022+ cortex_a9_neon_mul_qqq_8_16_32_ddd_32,\
3023+ cortex_a9_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
3024+ cortex_a9_neon_mla_qqq_8_16,\
3025+ cortex_a9_neon_fp_vadd_ddd_vabs_dd,\
3026+ cortex_a9_neon_fp_vadd_qqq_vabs_qq,\
3027+ cortex_a9_neon_fp_vmla_ddd,\
3028+ cortex_a9_neon_fp_vmla_qqq,\
3029+ cortex_a9_neon_fp_vrecps_vrsqrts_ddd,\
3030+ cortex_a9_neon_fp_vrecps_vrsqrts_qqq")
3031+
3032+(define_bypass 5 "cortex_a9_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long"
3033+ "cortex_a9_neon_int_1,\
3034+ cortex_a9_neon_int_4,\
3035+ cortex_a9_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
3036+ cortex_a9_neon_mul_qqq_8_16_32_ddd_32,\
3037+ cortex_a9_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
3038+ cortex_a9_neon_mla_qqq_8_16,\
3039+ cortex_a9_neon_fp_vadd_ddd_vabs_dd,\
3040+ cortex_a9_neon_fp_vadd_qqq_vabs_qq,\
3041+ cortex_a9_neon_fp_vmla_ddd,\
3042+ cortex_a9_neon_fp_vmla_qqq,\
3043+ cortex_a9_neon_fp_vrecps_vrsqrts_ddd,\
3044+ cortex_a9_neon_fp_vrecps_vrsqrts_qqq")
3045+
3046+(define_bypass 5 "cortex_a9_neon_vsma"
3047+ "cortex_a9_neon_int_1,\
3048+ cortex_a9_neon_int_4,\
3049+ cortex_a9_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
3050+ cortex_a9_neon_mul_qqq_8_16_32_ddd_32,\
3051+ cortex_a9_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
3052+ cortex_a9_neon_mla_qqq_8_16,\
3053+ cortex_a9_neon_fp_vadd_ddd_vabs_dd,\
3054+ cortex_a9_neon_fp_vadd_qqq_vabs_qq,\
3055+ cortex_a9_neon_fp_vmla_ddd,\
3056+ cortex_a9_neon_fp_vmla_qqq,\
3057+ cortex_a9_neon_fp_vrecps_vrsqrts_ddd,\
3058+ cortex_a9_neon_fp_vrecps_vrsqrts_qqq")
3059+
3060+(define_bypass 6 "cortex_a9_neon_vaba_qqq"
3061+ "cortex_a9_neon_int_1,\
3062+ cortex_a9_neon_int_4,\
3063+ cortex_a9_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
3064+ cortex_a9_neon_mul_qqq_8_16_32_ddd_32,\
3065+ cortex_a9_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
3066+ cortex_a9_neon_mla_qqq_8_16,\
3067+ cortex_a9_neon_fp_vadd_ddd_vabs_dd,\
3068+ cortex_a9_neon_fp_vadd_qqq_vabs_qq,\
3069+ cortex_a9_neon_fp_vmla_ddd,\
3070+ cortex_a9_neon_fp_vmla_qqq,\
3071+ cortex_a9_neon_fp_vrecps_vrsqrts_ddd,\
3072+ cortex_a9_neon_fp_vrecps_vrsqrts_qqq")
3073+
3074+(define_bypass 5 "cortex_a9_neon_vaba"
3075+ "cortex_a9_neon_int_1,\
3076+ cortex_a9_neon_int_4,\
3077+ cortex_a9_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
3078+ cortex_a9_neon_mul_qqq_8_16_32_ddd_32,\
3079+ cortex_a9_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
3080+ cortex_a9_neon_mla_qqq_8_16,\
3081+ cortex_a9_neon_fp_vadd_ddd_vabs_dd,\
3082+ cortex_a9_neon_fp_vadd_qqq_vabs_qq,\
3083+ cortex_a9_neon_fp_vmla_ddd,\
3084+ cortex_a9_neon_fp_vmla_qqq,\
3085+ cortex_a9_neon_fp_vrecps_vrsqrts_ddd,\
3086+ cortex_a9_neon_fp_vrecps_vrsqrts_qqq")
3087+
3088+(define_bypass 2 "cortex_a9_neon_vmov"
3089+ "cortex_a9_neon_int_1,\
3090+ cortex_a9_neon_int_4,\
3091+ cortex_a9_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
3092+ cortex_a9_neon_mul_qqq_8_16_32_ddd_32,\
3093+ cortex_a9_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
3094+ cortex_a9_neon_mla_qqq_8_16,\
3095+ cortex_a9_neon_fp_vadd_ddd_vabs_dd,\
3096+ cortex_a9_neon_fp_vadd_qqq_vabs_qq,\
3097+ cortex_a9_neon_fp_vmla_ddd,\
3098+ cortex_a9_neon_fp_vmla_qqq,\
3099+ cortex_a9_neon_fp_vrecps_vrsqrts_ddd,\
3100+ cortex_a9_neon_fp_vrecps_vrsqrts_qqq")
3101+
3102+(define_bypass 3 "cortex_a9_neon_vqneg_vqabs"
3103+ "cortex_a9_neon_int_1,\
3104+ cortex_a9_neon_int_4,\
3105+ cortex_a9_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
3106+ cortex_a9_neon_mul_qqq_8_16_32_ddd_32,\
3107+ cortex_a9_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
3108+ cortex_a9_neon_mla_qqq_8_16,\
3109+ cortex_a9_neon_fp_vadd_ddd_vabs_dd,\
3110+ cortex_a9_neon_fp_vadd_qqq_vabs_qq,\
3111+ cortex_a9_neon_fp_vmla_ddd,\
3112+ cortex_a9_neon_fp_vmla_qqq,\
3113+ cortex_a9_neon_fp_vrecps_vrsqrts_ddd,\
3114+ cortex_a9_neon_fp_vrecps_vrsqrts_qqq")
3115+
3116+(define_bypass 3 "cortex_a9_neon_int_5"
3117+ "cortex_a9_neon_int_1,\
3118+ cortex_a9_neon_int_4,\
3119+ cortex_a9_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
3120+ cortex_a9_neon_mul_qqq_8_16_32_ddd_32,\
3121+ cortex_a9_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
3122+ cortex_a9_neon_mla_qqq_8_16,\
3123+ cortex_a9_neon_fp_vadd_ddd_vabs_dd,\
3124+ cortex_a9_neon_fp_vadd_qqq_vabs_qq,\
3125+ cortex_a9_neon_fp_vmla_ddd,\
3126+ cortex_a9_neon_fp_vmla_qqq,\
3127+ cortex_a9_neon_fp_vrecps_vrsqrts_ddd,\
3128+ cortex_a9_neon_fp_vrecps_vrsqrts_qqq")
3129+
3130+(define_bypass 3 "cortex_a9_neon_int_4"
3131+ "cortex_a9_neon_int_1,\
3132+ cortex_a9_neon_int_4,\
3133+ cortex_a9_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
3134+ cortex_a9_neon_mul_qqq_8_16_32_ddd_32,\
3135+ cortex_a9_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
3136+ cortex_a9_neon_mla_qqq_8_16,\
3137+ cortex_a9_neon_fp_vadd_ddd_vabs_dd,\
3138+ cortex_a9_neon_fp_vadd_qqq_vabs_qq,\
3139+ cortex_a9_neon_fp_vmla_ddd,\
3140+ cortex_a9_neon_fp_vmla_qqq,\
3141+ cortex_a9_neon_fp_vrecps_vrsqrts_ddd,\
3142+ cortex_a9_neon_fp_vrecps_vrsqrts_qqq")
3143+
3144+(define_bypass 2 "cortex_a9_neon_int_3"
3145+ "cortex_a9_neon_int_1,\
3146+ cortex_a9_neon_int_4,\
3147+ cortex_a9_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
3148+ cortex_a9_neon_mul_qqq_8_16_32_ddd_32,\
3149+ cortex_a9_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
3150+ cortex_a9_neon_mla_qqq_8_16,\
3151+ cortex_a9_neon_fp_vadd_ddd_vabs_dd,\
3152+ cortex_a9_neon_fp_vadd_qqq_vabs_qq,\
3153+ cortex_a9_neon_fp_vmla_ddd,\
3154+ cortex_a9_neon_fp_vmla_qqq,\
3155+ cortex_a9_neon_fp_vrecps_vrsqrts_ddd,\
3156+ cortex_a9_neon_fp_vrecps_vrsqrts_qqq")
3157+
3158+(define_bypass 2 "cortex_a9_neon_int_2"
3159+ "cortex_a9_neon_int_1,\
3160+ cortex_a9_neon_int_4,\
3161+ cortex_a9_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
3162+ cortex_a9_neon_mul_qqq_8_16_32_ddd_32,\
3163+ cortex_a9_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
3164+ cortex_a9_neon_mla_qqq_8_16,\
3165+ cortex_a9_neon_fp_vadd_ddd_vabs_dd,\
3166+ cortex_a9_neon_fp_vadd_qqq_vabs_qq,\
3167+ cortex_a9_neon_fp_vmla_ddd,\
3168+ cortex_a9_neon_fp_vmla_qqq,\
3169+ cortex_a9_neon_fp_vrecps_vrsqrts_ddd,\
3170+ cortex_a9_neon_fp_vrecps_vrsqrts_qqq")
3171+
3172+(define_bypass 2 "cortex_a9_neon_int_1"
3173+ "cortex_a9_neon_int_1,\
3174+ cortex_a9_neon_int_4,\
3175+ cortex_a9_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\
3176+ cortex_a9_neon_mul_qqq_8_16_32_ddd_32,\
3177+ cortex_a9_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\
3178+ cortex_a9_neon_mla_qqq_8_16,\
3179+ cortex_a9_neon_fp_vadd_ddd_vabs_dd,\
3180+ cortex_a9_neon_fp_vadd_qqq_vabs_qq,\
3181+ cortex_a9_neon_fp_vmla_ddd,\
3182+ cortex_a9_neon_fp_vmla_qqq,\
3183+ cortex_a9_neon_fp_vrecps_vrsqrts_ddd,\
3184+ cortex_a9_neon_fp_vrecps_vrsqrts_qqq")
3185+
3186
3187=== modified file 'gcc/config/arm/cortex-a9.md'
3188--- old/gcc/config/arm/cortex-a9.md 2010-08-24 13:15:54 +0000
3189+++ new/gcc/config/arm/cortex-a9.md 2010-09-16 09:47:44 +0000
3190@@ -80,8 +80,9 @@
3191 (define_insn_reservation "cortex_a9_dp" 2
3192 (and (eq_attr "tune" "cortexa9")
3193 (ior (eq_attr "type" "alu")
3194- (and (eq_attr "type" "alu_shift_reg, alu_shift")
3195- (eq_attr "insn" "mov"))))
3196+ (ior (and (eq_attr "type" "alu_shift_reg, alu_shift")
3197+ (eq_attr "insn" "mov"))
3198+ (eq_attr "neon_type" "none"))))
3199 "cortex_a9_p0_default|cortex_a9_p1_default")
3200
3201 ;; An instruction using the shifter will go down E1.
3202
3203=== modified file 'gcc/config/arm/neon-schedgen.ml'
3204--- old/gcc/config/arm/neon-schedgen.ml 2010-04-02 18:54:46 +0000
3205+++ new/gcc/config/arm/neon-schedgen.ml 2010-09-16 09:47:44 +0000
3206@@ -1,7 +1,6 @@
3207 (* Emission of the core of the Cortex-A8 NEON scheduling description.
3208 Copyright (C) 2007, 2010 Free Software Foundation, Inc.
3209 Contributed by CodeSourcery.
3210-
3211 This file is part of GCC.
3212
3213 GCC is free software; you can redistribute it and/or modify it under
3214@@ -21,7 +20,14 @@
3215
3216 (* This scheduling description generator works as follows.
3217 - Each group of instructions has source and destination requirements
3218- specified. The source requirements may be specified using
3219+ specified and a list of cores supported. This is then filtered
3220+ and per core scheduler descriptions are generated out.
3221+ The reservations generated are prefixed by the name of the
3222+ core and the check is performed on the basis of what the tuning
3223+ string is. Running this will generate Neon scheduler descriptions
3224+ for all cores supported.
3225+
3226+ The source requirements may be specified using
3227 Source (the stage at which all source operands not otherwise
3228 described are read), Source_m (the stage at which Rm operands are
3229 read), Source_n (likewise for Rn) and Source_d (likewise for Rd).
3230@@ -83,6 +89,17 @@
3231 | Ls of int
3232 | Fmul_then_fadd | Fmul_then_fadd_2
3233
3234+type core = CortexA8 | CortexA9
3235+let allCores = [CortexA8; CortexA9]
3236+let coreStr = function
3237+ CortexA8 -> "cortex_a8"
3238+ | CortexA9 -> "cortex_a9"
3239+
3240+let tuneStr = function
3241+ CortexA8 -> "cortexa8"
3242+ | CortexA9 -> "cortexa9"
3243+
3244+
3245 (* This table must be kept as short as possible by conflating
3246 entries with the same availability behavior.
3247
3248@@ -90,129 +107,136 @@
3249 Second components: availability requirements, in the order in which
3250 they should appear in the comments in the .md file.
3251 Third components: reservation info
3252+ Fourth components: List of supported cores.
3253 *)
3254 let availability_table = [
3255 (* NEON integer ALU instructions. *)
3256 (* vbit vbif vbsl vorr vbic vnot vcls vclz vcnt vadd vand vorr
3257 veor vbic vorn ddd qqq *)
3258- "neon_int_1", [Source n2; Dest n3], ALU;
3259+ "neon_int_1", [Source n2; Dest n3], ALU, allCores;
3260 (* vadd vsub qqd vsub ddd qqq *)
3261- "neon_int_2", [Source_m n1; Source_n n2; Dest n3], ALU;
3262+ "neon_int_2", [Source_m n1; Source_n n2; Dest n3], ALU, allCores;
3263 (* vsum vneg dd qq vadd vsub qdd *)
3264- "neon_int_3", [Source n1; Dest n3], ALU;
3265+ "neon_int_3", [Source n1; Dest n3], ALU, allCores;
3266 (* vabs vceqz vcgez vcbtz vclez vcltz vadh vradh vsbh vrsbh dqq *)
3267 (* vhadd vrhadd vqadd vtst ddd qqq *)
3268- "neon_int_4", [Source n2; Dest n4], ALU;
3269+ "neon_int_4", [Source n2; Dest n4], ALU, allCores;
3270 (* vabd qdd vhsub vqsub vabd vceq vcge vcgt vmax vmin vfmx vfmn ddd ddd *)
3271- "neon_int_5", [Source_m n1; Source_n n2; Dest n4], ALU;
3272+ "neon_int_5", [Source_m n1; Source_n n2; Dest n4], ALU, allCores;
3273 (* vqneg vqabs dd qq *)
3274- "neon_vqneg_vqabs", [Source n1; Dest n4], ALU;
3275+ "neon_vqneg_vqabs", [Source n1; Dest n4], ALU, allCores;
3276 (* vmov vmvn *)
3277- "neon_vmov", [Dest n3], ALU;
3278+ "neon_vmov", [Dest n3], ALU, allCores;
3279 (* vaba *)
3280- "neon_vaba", [Source_n n2; Source_m n1; Source_d n3; Dest n6], ALU;
3281+ "neon_vaba", [Source_n n2; Source_m n1; Source_d n3; Dest n6], ALU, allCores;
3282 "neon_vaba_qqq",
3283- [Source_n n2; Source_m n1; Source_d n3; Dest_n_after (1, n6)], ALU_2cycle;
3284+ [Source_n n2; Source_m n1; Source_d n3; Dest_n_after (1, n6)],
3285+ ALU_2cycle, allCores;
3286 (* vsma *)
3287- "neon_vsma", [Source_m n1; Source_d n3; Dest n6], ALU;
3288+ "neon_vsma", [Source_m n1; Source_d n3; Dest n6], ALU, allCores;
3289
3290 (* NEON integer multiply instructions. *)
3291 (* vmul, vqdmlh, vqrdmlh *)
3292 (* vmul, vqdmul, qdd 16/8 long 32/16 long *)
3293- "neon_mul_ddd_8_16_qdd_16_8_long_32_16_long", [Source n2; Dest n6], Mul;
3294- "neon_mul_qqq_8_16_32_ddd_32", [Source n2; Dest_n_after (1, n6)], Mul_2cycle;
3295+ "neon_mul_ddd_8_16_qdd_16_8_long_32_16_long", [Source n2; Dest n6],
3296+ Mul, allCores;
3297+ "neon_mul_qqq_8_16_32_ddd_32", [Source n2; Dest_n_after (1, n6)],
3298+ Mul_2cycle, allCores;
3299 (* vmul, vqdmul again *)
3300 "neon_mul_qdd_64_32_long_qqd_16_ddd_32_scalar_64_32_long_scalar",
3301- [Source_n n2; Source_m n1; Dest_n_after (1, n6)], Mul_2cycle;
3302+ [Source_n n2; Source_m n1; Dest_n_after (1, n6)], Mul_2cycle, allCores;
3303 (* vmla, vmls *)
3304 "neon_mla_ddd_8_16_qdd_16_8_long_32_16_long",
3305- [Source_n n2; Source_m n2; Source_d n3; Dest n6], Mul;
3306+ [Source_n n2; Source_m n2; Source_d n3; Dest n6], Mul, allCores;
3307 "neon_mla_qqq_8_16",
3308- [Source_n n2; Source_m n2; Source_d n3; Dest_n_after (1, n6)], Mul_2cycle;
3309+ [Source_n n2; Source_m n2; Source_d n3; Dest_n_after (1, n6)],
3310+ Mul_2cycle, allCores;
3311 "neon_mla_ddd_32_qqd_16_ddd_32_scalar_qdd_64_32_long_scalar_qdd_64_32_long",
3312- [Source_n n2; Source_m n1; Source_d n3; Dest_n_after (1, n6)], Mul_2cycle;
3313+ [Source_n n2; Source_m n1; Source_d n3; Dest_n_after (1, n6)],
3314+ Mul_2cycle, allCores;
3315 "neon_mla_qqq_32_qqd_32_scalar",
3316- [Source_n n2; Source_m n1; Source_d n3; Dest_n_after (3, n6)], Mul_4cycle;
3317+ [Source_n n2; Source_m n1; Source_d n3; Dest_n_after (3, n6)],
3318+ Mul_4cycle, allCores;
3319 (* vmul, vqdmulh, vqrdmulh *)
3320 (* vmul, vqdmul *)
3321 "neon_mul_ddd_16_scalar_32_16_long_scalar",
3322- [Source_n n2; Source_m n1; Dest n6], Mul;
3323+ [Source_n n2; Source_m n1; Dest n6], Mul, allCores;
3324 "neon_mul_qqd_32_scalar",
3325- [Source_n n2; Source_m n1; Dest_n_after (3, n6)], Mul_4cycle;
3326+ [Source_n n2; Source_m n1; Dest_n_after (3, n6)], Mul_4cycle, allCores;
3327 (* vmla, vmls *)
3328 (* vmla, vmla, vqdmla, vqdmls *)
3329 "neon_mla_ddd_16_scalar_qdd_32_16_long_scalar",
3330- [Source_n n2; Source_m n1; Source_d n3; Dest n6], Mul;
3331+ [Source_n n2; Source_m n1; Source_d n3; Dest n6], Mul, allCores;
3332
3333 (* NEON integer shift instructions. *)
3334 (* vshr/vshl immediate, vshr_narrow, vshl_vmvh, vsli_vsri_ddd *)
3335- "neon_shift_1", [Source n1; Dest n3], Shift;
3336- (* vqshl, vrshr immediate; vqshr, vqmov, vrshr, vqrshr narrow;
3337+ "neon_shift_1", [Source n1; Dest n3], Shift, allCores;
3338+ (* vqshl, vrshr immediate; vqshr, vqmov, vrshr, vqrshr narrow, allCores;
3339 vqshl_vrshl_vqrshl_ddd *)
3340- "neon_shift_2", [Source n1; Dest n4], Shift;
3341+ "neon_shift_2", [Source n1; Dest n4], Shift, allCores;
3342 (* vsli, vsri and vshl for qqq *)
3343- "neon_shift_3", [Source n1; Dest_n_after (1, n3)], Shift_2cycle;
3344- "neon_vshl_ddd", [Source n1; Dest n1], Shift;
3345+ "neon_shift_3", [Source n1; Dest_n_after (1, n3)], Shift_2cycle, allCores;
3346+ "neon_vshl_ddd", [Source n1; Dest n1], Shift, allCores;
3347 "neon_vqshl_vrshl_vqrshl_qqq", [Source n1; Dest_n_after (1, n4)],
3348- Shift_2cycle;
3349- "neon_vsra_vrsra", [Source_m n1; Source_d n3; Dest n6], Shift;
3350+ Shift_2cycle, allCores;
3351+ "neon_vsra_vrsra", [Source_m n1; Source_d n3; Dest n6], Shift, allCores;
3352
3353 (* NEON floating-point instructions. *)
3354 (* vadd, vsub, vabd, vmul, vceq, vcge, vcgt, vcage, vcagt, vmax, vmin *)
3355 (* vabs, vneg, vceqz, vcgez, vcgtz, vclez, vcltz, vrecpe, vrsqrte, vcvt *)
3356- "neon_fp_vadd_ddd_vabs_dd", [Source n2; Dest n5], Fadd;
3357+ "neon_fp_vadd_ddd_vabs_dd", [Source n2; Dest n5], Fadd, allCores;
3358 "neon_fp_vadd_qqq_vabs_qq", [Source n2; Dest_n_after (1, n5)],
3359- Fadd_2cycle;
3360+ Fadd_2cycle, allCores;
3361 (* vsum, fvmx, vfmn *)
3362- "neon_fp_vsum", [Source n1; Dest n5], Fadd;
3363- "neon_fp_vmul_ddd", [Source_n n2; Source_m n1; Dest n5], Fmul;
3364+ "neon_fp_vsum", [Source n1; Dest n5], Fadd, allCores;
3365+ "neon_fp_vmul_ddd", [Source_n n2; Source_m n1; Dest n5], Fmul, allCores;
3366 "neon_fp_vmul_qqd", [Source_n n2; Source_m n1; Dest_n_after (1, n5)],
3367- Fmul_2cycle;
3368+ Fmul_2cycle, allCores;
3369 (* vmla, vmls *)
3370 "neon_fp_vmla_ddd",
3371- [Source_n n2; Source_m n2; Source_d n3; Dest n9], Fmul_then_fadd;
3372+ [Source_n n2; Source_m n2; Source_d n3; Dest n9], Fmul_then_fadd, allCores;
3373 "neon_fp_vmla_qqq",
3374 [Source_n n2; Source_m n2; Source_d n3; Dest_n_after (1, n9)],
3375- Fmul_then_fadd_2;
3376+ Fmul_then_fadd_2, allCores;
3377 "neon_fp_vmla_ddd_scalar",
3378- [Source_n n2; Source_m n1; Source_d n3; Dest n9], Fmul_then_fadd;
3379+ [Source_n n2; Source_m n1; Source_d n3; Dest n9], Fmul_then_fadd, allCores;
3380 "neon_fp_vmla_qqq_scalar",
3381 [Source_n n2; Source_m n1; Source_d n3; Dest_n_after (1, n9)],
3382- Fmul_then_fadd_2;
3383- "neon_fp_vrecps_vrsqrts_ddd", [Source n2; Dest n9], Fmul_then_fadd;
3384+ Fmul_then_fadd_2, allCores;
3385+ "neon_fp_vrecps_vrsqrts_ddd", [Source n2; Dest n9], Fmul_then_fadd, allCores;
3386 "neon_fp_vrecps_vrsqrts_qqq", [Source n2; Dest_n_after (1, n9)],
3387- Fmul_then_fadd_2;
3388+ Fmul_then_fadd_2, allCores;
3389
3390 (* NEON byte permute instructions. *)
3391 (* vmov; vtrn and vswp for dd; vzip for dd; vuzp for dd; vrev; vext for dd *)
3392- "neon_bp_simple", [Source n1; Dest n2], Permute 1;
3393- (* vswp for qq; vext for qqq; vtbl with {Dn} or {Dn, Dn1};
3394+ "neon_bp_simple", [Source n1; Dest n2], Permute 1, allCores;
3395+ (* vswp for qq; vext for qqq; vtbl with {Dn} or {Dn, Dn1}, allCores;
3396 similarly for vtbx *)
3397- "neon_bp_2cycle", [Source n1; Dest_n_after (1, n2)], Permute 2;
3398+ "neon_bp_2cycle", [Source n1; Dest_n_after (1, n2)], Permute 2, allCores;
3399 (* all the rest *)
3400- "neon_bp_3cycle", [Source n1; Dest_n_after (2, n2)], Permute 3;
3401+ "neon_bp_3cycle", [Source n1; Dest_n_after (2, n2)], Permute 3, allCores;
3402
3403 (* NEON load/store instructions. *)
3404- "neon_ldr", [Dest n1], Ls 1;
3405- "neon_str", [Source n1], Ls 1;
3406- "neon_vld1_1_2_regs", [Dest_n_after (1, n1)], Ls 2;
3407- "neon_vld1_3_4_regs", [Dest_n_after (2, n1)], Ls 3;
3408- "neon_vld2_2_regs_vld1_vld2_all_lanes", [Dest_n_after (1, n2)], Ls 2;
3409- "neon_vld2_4_regs", [Dest_n_after (2, n2)], Ls 3;
3410- "neon_vld3_vld4", [Dest_n_after (3, n2)], Ls 4;
3411- "neon_vst1_1_2_regs_vst2_2_regs", [Source n1], Ls 2;
3412- "neon_vst1_3_4_regs", [Source n1], Ls 3;
3413- "neon_vst2_4_regs_vst3_vst4", [Source n1], Ls 4;
3414- "neon_vst3_vst4", [Source n1], Ls 4;
3415- "neon_vld1_vld2_lane", [Source n1; Dest_n_after (2, n2)], Ls 3;
3416- "neon_vld3_vld4_lane", [Source n1; Dest_n_after (4, n2)], Ls 5;
3417- "neon_vst1_vst2_lane", [Source n1], Ls 2;
3418- "neon_vst3_vst4_lane", [Source n1], Ls 3;
3419- "neon_vld3_vld4_all_lanes", [Dest_n_after (1, n2)], Ls 3;
3420+ "neon_ldr", [Dest n1], Ls 1, allCores;
3421+ "neon_str", [Source n1], Ls 1, allCores;
3422+ "neon_vld1_1_2_regs", [Dest_n_after (1, n1)], Ls 2, allCores;
3423+ "neon_vld1_3_4_regs", [Dest_n_after (2, n1)], Ls 3, allCores;
3424+ "neon_vld2_2_regs_vld1_vld2_all_lanes", [Dest_n_after (1, n2)], Ls 2, allCores;
3425+ "neon_vld2_4_regs", [Dest_n_after (2, n2)], Ls 3, allCores;
3426+ "neon_vld3_vld4", [Dest_n_after (3, n2)], Ls 4, allCores;
3427+ "neon_vst1_1_2_regs_vst2_2_regs", [Source n1], Ls 2, allCores;
3428+ "neon_vst1_3_4_regs", [Source n1], Ls 3, allCores;
3429+ "neon_vst2_4_regs_vst3_vst4", [Source n1], Ls 4, allCores;
3430+ "neon_vst3_vst4", [Source n1], Ls 4, allCores;
3431+ "neon_vld1_vld2_lane", [Source n1; Dest_n_after (2, n2)], Ls 3, allCores;
3432+ "neon_vld3_vld4_lane", [Source n1; Dest_n_after (4, n2)], Ls 5, allCores;
3433+ "neon_vst1_vst2_lane", [Source n1], Ls 2, allCores;
3434+ "neon_vst3_vst4_lane", [Source n1], Ls 3, allCores;
3435+ "neon_vld3_vld4_all_lanes", [Dest_n_after (1, n2)], Ls 3, allCores;
3436
3437 (* NEON register transfer instructions. *)
3438- "neon_mcr", [Dest n2], Permute 1;
3439- "neon_mcr_2_mcrr", [Dest n2], Permute 2;
3440+ "neon_mcr", [Dest n2], Permute 1, allCores;
3441+ "neon_mcr_2_mcrr", [Dest n2], Permute 2, allCores;
3442 (* MRC instructions are in the .tpl file. *)
3443 ]
3444
3445@@ -221,7 +245,7 @@
3446 required. (It is also possible that an entry in the table has no
3447 source requirements.) *)
3448 let calculate_sources =
3449- List.map (fun (name, avail, res) ->
3450+ List.map (fun (name, avail, res, cores) ->
3451 let earliest_stage =
3452 List.fold_left
3453 (fun cur -> fun info ->
3454@@ -331,7 +355,7 @@
3455 of one bypass from this producer to any particular consumer listed
3456 in LATENCIES.) Use a hash table to collate bypasses with the
3457 same latency and guard. *)
3458-let collate_bypasses (producer_name, _, _, _) largest latencies =
3459+let collate_bypasses (producer_name, _, _, _) largest latencies core =
3460 let ht = Hashtbl.create 42 in
3461 let keys = ref [] in
3462 List.iter (
3463@@ -350,7 +374,7 @@
3464 (if (try ignore (Hashtbl.find ht (guard, latency)); false
3465 with Not_found -> true) then
3466 keys := (guard, latency) :: !keys);
3467- Hashtbl.add ht (guard, latency) consumer
3468+ Hashtbl.add ht (guard, latency) ((coreStr core) ^ "_" ^ consumer)
3469 end
3470 ) latencies;
3471 (* The hash table now has bypasses collated so that ones with the
3472@@ -372,7 +396,7 @@
3473 the output in such a way that all bypasses with the same producer
3474 and latency are together, and so that bypasses with the worst-case
3475 latency are ignored. *)
3476-let worst_case_latencies_and_bypasses =
3477+let worst_case_latencies_and_bypasses core =
3478 let rec f (worst_acc, bypasses_acc) prev xs =
3479 match xs with
3480 [] -> (worst_acc, bypasses_acc)
3481@@ -400,7 +424,7 @@
3482 (* Having got the largest latency, collect all bypasses for
3483 this producer and filter out those with that larger
3484 latency. Record the others for later emission. *)
3485- let bypasses = collate_bypasses producer largest latencies in
3486+ let bypasses = collate_bypasses producer largest latencies core in
3487 (* Go on to process remaining producers, having noted
3488 the result for this one. *)
3489 f ((producer_name, producer_avail, largest,
3490@@ -444,14 +468,18 @@
3491 in
3492 f avail 0
3493
3494+
3495 (* Emit a define_insn_reservation for each producer. The latency
3496 written in will be its worst-case latency. *)
3497-let emit_insn_reservations =
3498- List.iter (
3499+let emit_insn_reservations core =
3500+ let corestring = coreStr core in
3501+ let tunestring = tuneStr core
3502+ in List.iter (
3503 fun (producer, avail, latency, reservation) ->
3504 write_comment producer avail;
3505- Printf.printf "(define_insn_reservation \"%s\" %d\n" producer latency;
3506- Printf.printf " (and (eq_attr \"tune\" \"cortexa8\")\n";
3507+ Printf.printf "(define_insn_reservation \"%s_%s\" %d\n"
3508+ corestring producer latency;
3509+ Printf.printf " (and (eq_attr \"tune\" \"%s\")\n" tunestring;
3510 Printf.printf " (eq_attr \"neon_type\" \"%s\"))\n" producer;
3511 let str =
3512 match reservation with
3513@@ -467,7 +495,7 @@
3514 | Fmul_then_fadd -> "fmul_then_fadd"
3515 | Fmul_then_fadd_2 -> "fmul_then_fadd_2"
3516 in
3517- Printf.printf " \"cortex_a8_neon_%s\")\n\n" str
3518+ Printf.printf " \"%s_neon_%s\")\n\n" corestring str
3519 )
3520
3521 (* Given a guard description, return the name of the C function to
3522@@ -480,10 +508,12 @@
3523 | Guard_none -> assert false
3524
3525 (* Emit a define_bypass for each bypass. *)
3526-let emit_bypasses =
3527+let emit_bypasses core =
3528 List.iter (
3529 fun (producer, consumers, latency, guard) ->
3530- Printf.printf "(define_bypass %d \"%s\"\n" latency producer;
3531+ Printf.printf "(define_bypass %d \"%s_%s\"\n"
3532+ latency (coreStr core) producer;
3533+
3534 if guard = Guard_none then
3535 Printf.printf " \"%s\")\n\n" consumers
3536 else
3537@@ -493,11 +523,21 @@
3538 end
3539 )
3540
3541+
3542+let calculate_per_core_availability_table core availability_table =
3543+ let table = calculate_sources availability_table in
3544+ let worst_cases, bypasses = worst_case_latencies_and_bypasses core table in
3545+ emit_insn_reservations core (List.rev worst_cases);
3546+ Printf.printf ";; Exceptions to the default latencies.\n\n";
3547+ emit_bypasses core bypasses
3548+
3549+let calculate_core_availability_table core availability_table =
3550+let filter_core = List.filter (fun (_, _, _, cores)
3551+ -> List.exists ((=) core) cores)
3552+in calculate_per_core_availability_table core (filter_core availability_table)
3553+
3554+
3555 (* Program entry point. *)
3556 let main =
3557- let table = calculate_sources availability_table in
3558- let worst_cases, bypasses = worst_case_latencies_and_bypasses table in
3559- emit_insn_reservations (List.rev worst_cases);
3560- Printf.printf ";; Exceptions to the default latencies.\n\n";
3561- emit_bypasses bypasses
3562-
3563+ List.map (fun core -> calculate_core_availability_table
3564+ core availability_table) allCores
3565
diff --git a/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99398.patch b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99398.patch
new file mode 100644
index 0000000000..c332d50fa1
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99398.patch
@@ -0,0 +1,76 @@
12010-09-21 Yao Qi <yao@codesourcery.com>
2
3 Backport from FSF to fix ICE found in LP:635409:
4
5 2010-07-07 Bernd Schmidt <bernds@codesourcery.com>
6
7 gcc/
8 PR rtl-optimization/44787
9 * config/arm/arm.md (arith_shiftsi): Allow stack pointer in operand 2.
10 * config/arm/thumb2.md (thumb2_arith_shiftsi): Likewise.
11
12 gcc/testsuite/
13 PR rtl-optimization/44787
14 * gcc.c-torture/compile/pr44788.c: New test.
15 * gcc.target/arm/pr44788.c: New test.
16
17 2010-09-16 Andrew Stubbs <ams@codesourcery.com>
18
19 Backport from FSF:
20
21=== modified file 'gcc/config/arm/arm.md'
22--- old/gcc/config/arm/arm.md 2010-09-16 09:15:46 +0000
23+++ new/gcc/config/arm/arm.md 2010-09-22 05:54:42 +0000
24@@ -9268,7 +9268,7 @@
25 [(match_operator:SI 3 "shift_operator"
26 [(match_operand:SI 4 "s_register_operand" "r")
27 (match_operand:SI 5 "reg_or_int_operand" "rI")])
28- (match_operand:SI 2 "s_register_operand" "r")]))]
29+ (match_operand:SI 2 "s_register_operand" "rk")]))]
30 "TARGET_ARM"
31 "%i1%?\\t%0, %2, %4%S3"
32 [(set_attr "predicable" "yes")
33
34=== modified file 'gcc/config/arm/thumb2.md'
35--- old/gcc/config/arm/thumb2.md 2010-09-01 13:29:58 +0000
36+++ new/gcc/config/arm/thumb2.md 2010-09-22 05:54:42 +0000
37@@ -467,7 +467,7 @@
38 [(match_operator:SI 3 "shift_operator"
39 [(match_operand:SI 4 "s_register_operand" "r")
40 (match_operand:SI 5 "const_shift_count" "M")])
41- (match_operand:SI 2 "s_register_operand" "r")]))]
42+ (match_operand:SI 2 "s_register_operand" "rk")]))]
43 "TARGET_THUMB2"
44 "%i1%?\\t%0, %2, %4%S3"
45 [(set_attr "predicable" "yes")
46
47=== added file 'gcc/testsuite/gcc.c-torture/compile/pr44788.c'
48--- old/gcc/testsuite/gcc.c-torture/compile/pr44788.c 1970-01-01 00:00:00 +0000
49+++ new/gcc/testsuite/gcc.c-torture/compile/pr44788.c 2010-09-22 05:54:42 +0000
50@@ -0,0 +1,8 @@
51+void joint_decode(float* mlt_buffer1, int t) {
52+ int i;
53+ float decode_buffer[1060];
54+ foo(decode_buffer);
55+ for (i=0; i<10 ; i++) {
56+ mlt_buffer1[i] = i * decode_buffer[t];
57+ }
58+}
59
60=== added file 'gcc/testsuite/gcc.target/arm/pr44788.c'
61--- old/gcc/testsuite/gcc.target/arm/pr44788.c 1970-01-01 00:00:00 +0000
62+++ new/gcc/testsuite/gcc.target/arm/pr44788.c 2010-09-22 05:54:42 +0000
63@@ -0,0 +1,12 @@
64+/* { dg-do compile } */
65+/* { dg-require-effective-target arm_thumb2_ok } */
66+/* { dg-options "-Os -fno-strict-aliasing -fPIC -mthumb -march=armv7-a -mfpu=vfp3 -mfloat-abi=softfp" } */
67+
68+void joint_decode(float* mlt_buffer1, int t) {
69+ int i;
70+ float decode_buffer[1060];
71+ foo(decode_buffer);
72+ for (i=0; i<10 ; i++) {
73+ mlt_buffer1[i] = i * decode_buffer[t];
74+ }
75+}
76
diff --git a/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99402.patch b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99402.patch
new file mode 100644
index 0000000000..6627a11d4a
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99402.patch
@@ -0,0 +1,1268 @@
12010-09-17 Chung-Lin Tang <cltang@codesourcery.com>
2
3 Backport from mainline:
4
5 2010-07-15 Bernd Schmidt <bernds@codesourcery.com>
6
7 gcc/
8 * postreload.c (last_label_ruid, first_index_reg, last_index_reg):
9 New static variables.
10 (reload_combine_recognize_pattern): New static function, broken out
11 of reload_combine.
12 (reload_combine): Use it. Only initialize first_index_reg and
13 last_index_reg once.
14
15 2010-07-17 Bernd Schmidt <bernds@codesourcery.com>
16
17 PR target/42235
18 gcc/
19 * postreload.c (reload_cse_move2add): Return bool, true if anything.
20 changed. All callers changed.
21 (move2add_use_add2_insn): Likewise.
22 (move2add_use_add3_insn): Likewise.
23 (reload_cse_regs): If reload_cse_move2add changed anything, rerun
24 reload_combine.
25 (RELOAD_COMBINE_MAX_USES): Bump to 16.
26 (last_jump_ruid): New static variable.
27 (struct reg_use): New members CONTAINING_MEM and RUID.
28 (reg_state): New members ALL_OFFSETS_MATCH and REAL_STORE_RUID.
29 (reload_combine_split_one_ruid, reload_combine_split_ruids,
30 reload_combine_purge_insn_uses, reload_combine_closest_single_use
31 reload_combine_purge_reg_uses_after_ruid,
32 reload_combine_recognize_const_pattern): New static functions.
33 (reload_combine_recognize_pattern): Verify that ALL_OFFSETS_MATCH
34 is true for our reg and that we have available index regs.
35 (reload_combine_note_use): New args RUID and CONTAINING_MEM. All
36 callers changed. Use them to initialize fields in struct reg_use.
37 (reload_combine): Initialize last_jump_ruid. Be careful when to
38 take PREV_INSN of the scanned insn. Update REAL_STORE_RUID fields.
39 Call reload_combine_recognize_const_pattern.
40 (reload_combine_note_store): Update REAL_STORE_RUID field.
41
42 gcc/testsuite/
43 * gcc.target/arm/pr42235.c: New test.
44
45 2010-07-19 Bernd Schmidt <bernds@codesourcery.com>
46
47 gcc/
48 * postreload.c (reload_combine_closest_single_use): Ignore the
49 number of uses for DEBUG_INSNs.
50 (fixup_debug_insns): New static function.
51 (reload_combine_recognize_const_pattern): Use it. Don't let the
52 main loop be affected by DEBUG_INSNs.
53 Really disallow moving adds past a jump insn.
54 (reload_combine_recognize_pattern): Don't update use_ruid here.
55 (reload_combine_note_use): Do it here.
56 (reload_combine): Use control_flow_insn_p rather than JUMP_P.
57
58 2010-07-20 Bernd Schmidt <bernds@codesourcery.com>
59
60 gcc/
61 * postreload.c (fixup_debug_insns): Remove arg REGNO. New args
62 FROM and TO. All callers changed. Don't look for tracked uses,
63 just scan the RTL for DEBUG_INSNs and substitute.
64 (reload_combine_recognize_pattern): Call fixup_debug_insns.
65 (reload_combine): Ignore DEBUG_INSNs.
66
67 2010-07-22 Bernd Schmidt <bernds@codesourcery.com>
68
69 PR bootstrap/44970
70 PR middle-end/45009
71 gcc/
72 * postreload.c: Include "target.h".
73 (reload_combine_closest_single_use): Don't take DEBUG_INSNs
74 into account.
75 (fixup_debug_insns): Don't copy the rtx.
76 (reload_combine_recognize_const_pattern): DEBUG_INSNs can't have uses.
77 Don't copy when replacing. Call fixup_debug_insns in the case where
78 we merged one add with another.
79 (reload_combine_recognize_pattern): Fail if there aren't any uses.
80 Try harder to determine whether we're picking a valid index register.
81 Don't set store_ruid for an insn we're going to scan in the
82 next iteration.
83 (reload_combine): Remove unused code.
84 (reload_combine_note_use): When updating use information for
85 an old insn, ignore a use that occurs after store_ruid.
86 * Makefile.in (postreload.o): Update dependencies.
87
88 2010-07-27 Bernd Schmidt <bernds@codesourcery.com>
89
90 gcc/
91 * postreload.c (reload_combine_recognize_const_pattern): Move test
92 for limiting the insn movement to the right scope.
93
94 2010-07-27 Bernd Schmidt <bernds@codesourcery.com>
95
96 gcc/
97 * postreload.c (try_replace_in_use): New static function.
98 (reload_combine_recognize_const_pattern): Use it here. Allow
99 substituting into a final add insn, and substituting into a memory
100 reference in an insn that sets the reg.
101
102=== modified file 'gcc/Makefile.in'
103Index: gcc-4.5/gcc/Makefile.in
104===================================================================
105--- gcc-4.5.orig/gcc/Makefile.in
106+++ gcc-4.5/gcc/Makefile.in
107@@ -3159,7 +3159,7 @@ postreload.o : postreload.c $(CONFIG_H)
108 $(RTL_H) $(REAL_H) $(FLAGS_H) $(EXPR_H) $(OPTABS_H) reload.h $(REGS_H) \
109 hard-reg-set.h insn-config.h $(BASIC_BLOCK_H) $(RECOG_H) output.h \
110 $(FUNCTION_H) $(TOPLEV_H) cselib.h $(TM_P_H) $(EXCEPT_H) $(TREE_H) $(MACHMODE_H) \
111- $(OBSTACK_H) $(TIMEVAR_H) $(TREE_PASS_H) $(DF_H) $(DBGCNT_H)
112+ $(OBSTACK_H) $(TARGET_H) $(TIMEVAR_H) $(TREE_PASS_H) $(DF_H) $(DBGCNT_H)
113 postreload-gcse.o : postreload-gcse.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
114 $(TM_H) $(RTL_H) $(REGS_H) hard-reg-set.h $(FLAGS_H) insn-config.h \
115 $(RECOG_H) $(EXPR_H) $(BASIC_BLOCK_H) $(FUNCTION_H) output.h $(TOPLEV_H) \
116Index: gcc-4.5/gcc/postreload.c
117===================================================================
118--- gcc-4.5.orig/gcc/postreload.c
119+++ gcc-4.5/gcc/postreload.c
120@@ -44,6 +44,7 @@ along with GCC; see the file COPYING3.
121 #include "toplev.h"
122 #include "except.h"
123 #include "tree.h"
124+#include "target.h"
125 #include "timevar.h"
126 #include "tree-pass.h"
127 #include "df.h"
128@@ -56,10 +57,10 @@ static int reload_cse_simplify_set (rtx,
129 static int reload_cse_simplify_operands (rtx, rtx);
130
131 static void reload_combine (void);
132-static void reload_combine_note_use (rtx *, rtx);
133+static void reload_combine_note_use (rtx *, rtx, int, rtx);
134 static void reload_combine_note_store (rtx, const_rtx, void *);
135
136-static void reload_cse_move2add (rtx);
137+static bool reload_cse_move2add (rtx);
138 static void move2add_note_store (rtx, const_rtx, void *);
139
140 /* Call cse / combine like post-reload optimization phases.
141@@ -67,11 +68,16 @@ static void move2add_note_store (rtx, co
142 void
143 reload_cse_regs (rtx first ATTRIBUTE_UNUSED)
144 {
145+ bool moves_converted;
146 reload_cse_regs_1 (first);
147 reload_combine ();
148- reload_cse_move2add (first);
149+ moves_converted = reload_cse_move2add (first);
150 if (flag_expensive_optimizations)
151- reload_cse_regs_1 (first);
152+ {
153+ if (moves_converted)
154+ reload_combine ();
155+ reload_cse_regs_1 (first);
156+ }
157 }
158
159 /* See whether a single set SET is a noop. */
160@@ -660,30 +666,43 @@ reload_cse_simplify_operands (rtx insn,
161
162 /* The maximum number of uses of a register we can keep track of to
163 replace them with reg+reg addressing. */
164-#define RELOAD_COMBINE_MAX_USES 6
165+#define RELOAD_COMBINE_MAX_USES 16
166
167-/* INSN is the insn where a register has been used, and USEP points to the
168- location of the register within the rtl. */
169-struct reg_use { rtx insn, *usep; };
170+/* Describes a recorded use of a register. */
171+struct reg_use
172+{
173+ /* The insn where a register has been used. */
174+ rtx insn;
175+ /* Points to the memory reference enclosing the use, if any, NULL_RTX
176+ otherwise. */
177+ rtx containing_mem;
178+ /* Location of the register withing INSN. */
179+ rtx *usep;
180+ /* The reverse uid of the insn. */
181+ int ruid;
182+};
183
184 /* If the register is used in some unknown fashion, USE_INDEX is negative.
185 If it is dead, USE_INDEX is RELOAD_COMBINE_MAX_USES, and STORE_RUID
186- indicates where it becomes live again.
187+ indicates where it is first set or clobbered.
188 Otherwise, USE_INDEX is the index of the last encountered use of the
189- register (which is first among these we have seen since we scan backwards),
190- OFFSET contains the constant offset that is added to the register in
191- all encountered uses, and USE_RUID indicates the first encountered, i.e.
192- last, of these uses.
193+ register (which is first among these we have seen since we scan backwards).
194+ USE_RUID indicates the first encountered, i.e. last, of these uses.
195+ If ALL_OFFSETS_MATCH is true, all encountered uses were inside a PLUS
196+ with a constant offset; OFFSET contains this constant in that case.
197 STORE_RUID is always meaningful if we only want to use a value in a
198 register in a different place: it denotes the next insn in the insn
199- stream (i.e. the last encountered) that sets or clobbers the register. */
200+ stream (i.e. the last encountered) that sets or clobbers the register.
201+ REAL_STORE_RUID is similar, but clobbers are ignored when updating it. */
202 static struct
203 {
204 struct reg_use reg_use[RELOAD_COMBINE_MAX_USES];
205- int use_index;
206 rtx offset;
207+ int use_index;
208 int store_ruid;
209+ int real_store_ruid;
210 int use_ruid;
211+ bool all_offsets_match;
212 } reg_state[FIRST_PSEUDO_REGISTER];
213
214 /* Reverse linear uid. This is increased in reload_combine while scanning
215@@ -691,42 +710,548 @@ static struct
216 and the store_ruid / use_ruid fields in reg_state. */
217 static int reload_combine_ruid;
218
219+/* The RUID of the last label we encountered in reload_combine. */
220+static int last_label_ruid;
221+
222+/* The RUID of the last jump we encountered in reload_combine. */
223+static int last_jump_ruid;
224+
225+/* The register numbers of the first and last index register. A value of
226+ -1 in LAST_INDEX_REG indicates that we've previously computed these
227+ values and found no suitable index registers. */
228+static int first_index_reg = -1;
229+static int last_index_reg;
230+
231 #define LABEL_LIVE(LABEL) \
232 (label_live[CODE_LABEL_NUMBER (LABEL) - min_labelno])
233
234+/* Subroutine of reload_combine_split_ruids, called to fix up a single
235+ ruid pointed to by *PRUID if it is higher than SPLIT_RUID. */
236+
237+static inline void
238+reload_combine_split_one_ruid (int *pruid, int split_ruid)
239+{
240+ if (*pruid > split_ruid)
241+ (*pruid)++;
242+}
243+
244+/* Called when we insert a new insn in a position we've already passed in
245+ the scan. Examine all our state, increasing all ruids that are higher
246+ than SPLIT_RUID by one in order to make room for a new insn. */
247+
248+static void
249+reload_combine_split_ruids (int split_ruid)
250+{
251+ unsigned i;
252+
253+ reload_combine_split_one_ruid (&reload_combine_ruid, split_ruid);
254+ reload_combine_split_one_ruid (&last_label_ruid, split_ruid);
255+ reload_combine_split_one_ruid (&last_jump_ruid, split_ruid);
256+
257+ for (i = 0; i < FIRST_PSEUDO_REGISTER; i++)
258+ {
259+ int j, idx = reg_state[i].use_index;
260+ reload_combine_split_one_ruid (&reg_state[i].use_ruid, split_ruid);
261+ reload_combine_split_one_ruid (&reg_state[i].store_ruid, split_ruid);
262+ reload_combine_split_one_ruid (&reg_state[i].real_store_ruid,
263+ split_ruid);
264+ if (idx < 0)
265+ continue;
266+ for (j = idx; j < RELOAD_COMBINE_MAX_USES; j++)
267+ {
268+ reload_combine_split_one_ruid (&reg_state[i].reg_use[j].ruid,
269+ split_ruid);
270+ }
271+ }
272+}
273+
274+/* Called when we are about to rescan a previously encountered insn with
275+ reload_combine_note_use after modifying some part of it. This clears all
276+ information about uses in that particular insn. */
277+
278+static void
279+reload_combine_purge_insn_uses (rtx insn)
280+{
281+ unsigned i;
282+
283+ for (i = 0; i < FIRST_PSEUDO_REGISTER; i++)
284+ {
285+ int j, k, idx = reg_state[i].use_index;
286+ if (idx < 0)
287+ continue;
288+ j = k = RELOAD_COMBINE_MAX_USES;
289+ while (j-- > idx)
290+ {
291+ if (reg_state[i].reg_use[j].insn != insn)
292+ {
293+ k--;
294+ if (k != j)
295+ reg_state[i].reg_use[k] = reg_state[i].reg_use[j];
296+ }
297+ }
298+ reg_state[i].use_index = k;
299+ }
300+}
301+
302+/* Called when we need to forget about all uses of REGNO after an insn
303+ which is identified by RUID. */
304+
305+static void
306+reload_combine_purge_reg_uses_after_ruid (unsigned regno, int ruid)
307+{
308+ int j, k, idx = reg_state[regno].use_index;
309+ if (idx < 0)
310+ return;
311+ j = k = RELOAD_COMBINE_MAX_USES;
312+ while (j-- > idx)
313+ {
314+ if (reg_state[regno].reg_use[j].ruid >= ruid)
315+ {
316+ k--;
317+ if (k != j)
318+ reg_state[regno].reg_use[k] = reg_state[regno].reg_use[j];
319+ }
320+ }
321+ reg_state[regno].use_index = k;
322+}
323+
324+/* Find the use of REGNO with the ruid that is highest among those
325+ lower than RUID_LIMIT, and return it if it is the only use of this
326+ reg in the insn. Return NULL otherwise. */
327+
328+static struct reg_use *
329+reload_combine_closest_single_use (unsigned regno, int ruid_limit)
330+{
331+ int i, best_ruid = 0;
332+ int use_idx = reg_state[regno].use_index;
333+ struct reg_use *retval;
334+
335+ if (use_idx < 0)
336+ return NULL;
337+ retval = NULL;
338+ for (i = use_idx; i < RELOAD_COMBINE_MAX_USES; i++)
339+ {
340+ struct reg_use *use = reg_state[regno].reg_use + i;
341+ int this_ruid = use->ruid;
342+ if (this_ruid >= ruid_limit)
343+ continue;
344+ if (this_ruid > best_ruid)
345+ {
346+ best_ruid = this_ruid;
347+ retval = use;
348+ }
349+ else if (this_ruid == best_ruid)
350+ retval = NULL;
351+ }
352+ if (last_label_ruid >= best_ruid)
353+ return NULL;
354+ return retval;
355+}
356+
357+/* After we've moved an add insn, fix up any debug insns that occur
358+ between the old location of the add and the new location. REG is
359+ the destination register of the add insn; REPLACEMENT is the
360+ SET_SRC of the add. FROM and TO specify the range in which we
361+ should make this change on debug insns. */
362+
363+static void
364+fixup_debug_insns (rtx reg, rtx replacement, rtx from, rtx to)
365+{
366+ rtx insn;
367+ for (insn = from; insn != to; insn = NEXT_INSN (insn))
368+ {
369+ rtx t;
370+
371+ if (!DEBUG_INSN_P (insn))
372+ continue;
373+
374+ t = INSN_VAR_LOCATION_LOC (insn);
375+ t = simplify_replace_rtx (t, reg, replacement);
376+ validate_change (insn, &INSN_VAR_LOCATION_LOC (insn), t, 0);
377+ }
378+}
379+
380+/* Subroutine of reload_combine_recognize_const_pattern. Try to replace REG
381+ with SRC in the insn described by USE, taking costs into account. Return
382+ true if we made the replacement. */
383+
384+static bool
385+try_replace_in_use (struct reg_use *use, rtx reg, rtx src)
386+{
387+ rtx use_insn = use->insn;
388+ rtx mem = use->containing_mem;
389+ bool speed = optimize_bb_for_speed_p (BLOCK_FOR_INSN (use_insn));
390+
391+ if (mem != NULL_RTX)
392+ {
393+ addr_space_t as = MEM_ADDR_SPACE (mem);
394+ rtx oldaddr = XEXP (mem, 0);
395+ rtx newaddr = NULL_RTX;
396+ int old_cost = address_cost (oldaddr, GET_MODE (mem), as, speed);
397+ int new_cost;
398+
399+ newaddr = simplify_replace_rtx (oldaddr, reg, src);
400+ if (memory_address_addr_space_p (GET_MODE (mem), newaddr, as))
401+ {
402+ XEXP (mem, 0) = newaddr;
403+ new_cost = address_cost (newaddr, GET_MODE (mem), as, speed);
404+ XEXP (mem, 0) = oldaddr;
405+ if (new_cost <= old_cost
406+ && validate_change (use_insn,
407+ &XEXP (mem, 0), newaddr, 0))
408+ return true;
409+ }
410+ }
411+ else
412+ {
413+ rtx new_set = single_set (use_insn);
414+ if (new_set
415+ && REG_P (SET_DEST (new_set))
416+ && GET_CODE (SET_SRC (new_set)) == PLUS
417+ && REG_P (XEXP (SET_SRC (new_set), 0))
418+ && CONSTANT_P (XEXP (SET_SRC (new_set), 1)))
419+ {
420+ rtx new_src;
421+ int old_cost = rtx_cost (SET_SRC (new_set), SET, speed);
422+
423+ gcc_assert (rtx_equal_p (XEXP (SET_SRC (new_set), 0), reg));
424+ new_src = simplify_replace_rtx (SET_SRC (new_set), reg, src);
425+
426+ if (rtx_cost (new_src, SET, speed) <= old_cost
427+ && validate_change (use_insn, &SET_SRC (new_set),
428+ new_src, 0))
429+ return true;
430+ }
431+ }
432+ return false;
433+}
434+
435+/* Called by reload_combine when scanning INSN. This function tries to detect
436+ patterns where a constant is added to a register, and the result is used
437+ in an address.
438+ Return true if no further processing is needed on INSN; false if it wasn't
439+ recognized and should be handled normally. */
440+
441+static bool
442+reload_combine_recognize_const_pattern (rtx insn)
443+{
444+ int from_ruid = reload_combine_ruid;
445+ rtx set, pat, reg, src, addreg;
446+ unsigned int regno;
447+ struct reg_use *use;
448+ bool must_move_add;
449+ rtx add_moved_after_insn = NULL_RTX;
450+ int add_moved_after_ruid = 0;
451+ int clobbered_regno = -1;
452+
453+ set = single_set (insn);
454+ if (set == NULL_RTX)
455+ return false;
456+
457+ reg = SET_DEST (set);
458+ src = SET_SRC (set);
459+ if (!REG_P (reg)
460+ || hard_regno_nregs[REGNO (reg)][GET_MODE (reg)] != 1
461+ || GET_MODE (reg) != Pmode
462+ || reg == stack_pointer_rtx)
463+ return false;
464+
465+ regno = REGNO (reg);
466+
467+ /* We look for a REG1 = REG2 + CONSTANT insn, followed by either
468+ uses of REG1 inside an address, or inside another add insn. If
469+ possible and profitable, merge the addition into subsequent
470+ uses. */
471+ if (GET_CODE (src) != PLUS
472+ || !REG_P (XEXP (src, 0))
473+ || !CONSTANT_P (XEXP (src, 1)))
474+ return false;
475+
476+ addreg = XEXP (src, 0);
477+ must_move_add = rtx_equal_p (reg, addreg);
478+
479+ pat = PATTERN (insn);
480+ if (must_move_add && set != pat)
481+ {
482+ /* We have to be careful when moving the add; apart from the
483+ single_set there may also be clobbers. Recognize one special
484+ case, that of one clobber alongside the set (likely a clobber
485+ of the CC register). */
486+ gcc_assert (GET_CODE (PATTERN (insn)) == PARALLEL);
487+ if (XVECLEN (pat, 0) != 2 || XVECEXP (pat, 0, 0) != set
488+ || GET_CODE (XVECEXP (pat, 0, 1)) != CLOBBER
489+ || !REG_P (XEXP (XVECEXP (pat, 0, 1), 0)))
490+ return false;
491+ clobbered_regno = REGNO (XEXP (XVECEXP (pat, 0, 1), 0));
492+ }
493+
494+ do
495+ {
496+ use = reload_combine_closest_single_use (regno, from_ruid);
497+
498+ if (use)
499+ /* Start the search for the next use from here. */
500+ from_ruid = use->ruid;
501+
502+ if (use && GET_MODE (*use->usep) == Pmode)
503+ {
504+ bool delete_add = false;
505+ rtx use_insn = use->insn;
506+ int use_ruid = use->ruid;
507+
508+ /* Avoid moving the add insn past a jump. */
509+ if (must_move_add && use_ruid <= last_jump_ruid)
510+ break;
511+
512+ /* If the add clobbers another hard reg in parallel, don't move
513+ it past a real set of this hard reg. */
514+ if (must_move_add && clobbered_regno >= 0
515+ && reg_state[clobbered_regno].real_store_ruid >= use_ruid)
516+ break;
517+
518+ gcc_assert (reg_state[regno].store_ruid <= use_ruid);
519+ /* Avoid moving a use of ADDREG past a point where it is stored. */
520+ if (reg_state[REGNO (addreg)].store_ruid > use_ruid)
521+ break;
522+
523+ /* We also must not move the addition past an insn that sets
524+ the same register, unless we can combine two add insns. */
525+ if (must_move_add && reg_state[regno].store_ruid == use_ruid)
526+ {
527+ if (use->containing_mem == NULL_RTX)
528+ delete_add = true;
529+ else
530+ break;
531+ }
532+
533+ if (try_replace_in_use (use, reg, src))
534+ {
535+ reload_combine_purge_insn_uses (use_insn);
536+ reload_combine_note_use (&PATTERN (use_insn), use_insn,
537+ use_ruid, NULL_RTX);
538+
539+ if (delete_add)
540+ {
541+ fixup_debug_insns (reg, src, insn, use_insn);
542+ delete_insn (insn);
543+ return true;
544+ }
545+ if (must_move_add)
546+ {
547+ add_moved_after_insn = use_insn;
548+ add_moved_after_ruid = use_ruid;
549+ }
550+ continue;
551+ }
552+ }
553+ /* If we get here, we couldn't handle this use. */
554+ if (must_move_add)
555+ break;
556+ }
557+ while (use);
558+
559+ if (!must_move_add || add_moved_after_insn == NULL_RTX)
560+ /* Process the add normally. */
561+ return false;
562+
563+ fixup_debug_insns (reg, src, insn, add_moved_after_insn);
564+
565+ reorder_insns (insn, insn, add_moved_after_insn);
566+ reload_combine_purge_reg_uses_after_ruid (regno, add_moved_after_ruid);
567+ reload_combine_split_ruids (add_moved_after_ruid - 1);
568+ reload_combine_note_use (&PATTERN (insn), insn,
569+ add_moved_after_ruid, NULL_RTX);
570+ reg_state[regno].store_ruid = add_moved_after_ruid;
571+
572+ return true;
573+}
574+
575+/* Called by reload_combine when scanning INSN. Try to detect a pattern we
576+ can handle and improve. Return true if no further processing is needed on
577+ INSN; false if it wasn't recognized and should be handled normally. */
578+
579+static bool
580+reload_combine_recognize_pattern (rtx insn)
581+{
582+ rtx set, reg, src;
583+ unsigned int regno;
584+
585+ set = single_set (insn);
586+ if (set == NULL_RTX)
587+ return false;
588+
589+ reg = SET_DEST (set);
590+ src = SET_SRC (set);
591+ if (!REG_P (reg)
592+ || hard_regno_nregs[REGNO (reg)][GET_MODE (reg)] != 1)
593+ return false;
594+
595+ regno = REGNO (reg);
596+
597+ /* Look for (set (REGX) (CONST_INT))
598+ (set (REGX) (PLUS (REGX) (REGY)))
599+ ...
600+ ... (MEM (REGX)) ...
601+ and convert it to
602+ (set (REGZ) (CONST_INT))
603+ ...
604+ ... (MEM (PLUS (REGZ) (REGY)))... .
605+
606+ First, check that we have (set (REGX) (PLUS (REGX) (REGY)))
607+ and that we know all uses of REGX before it dies.
608+ Also, explicitly check that REGX != REGY; our life information
609+ does not yet show whether REGY changes in this insn. */
610+
611+ if (GET_CODE (src) == PLUS
612+ && reg_state[regno].all_offsets_match
613+ && last_index_reg != -1
614+ && REG_P (XEXP (src, 1))
615+ && rtx_equal_p (XEXP (src, 0), reg)
616+ && !rtx_equal_p (XEXP (src, 1), reg)
617+ && reg_state[regno].use_index >= 0
618+ && reg_state[regno].use_index < RELOAD_COMBINE_MAX_USES
619+ && last_label_ruid < reg_state[regno].use_ruid)
620+ {
621+ rtx base = XEXP (src, 1);
622+ rtx prev = prev_nonnote_insn (insn);
623+ rtx prev_set = prev ? single_set (prev) : NULL_RTX;
624+ rtx index_reg = NULL_RTX;
625+ rtx reg_sum = NULL_RTX;
626+ int i;
627+
628+ /* Now we need to set INDEX_REG to an index register (denoted as
629+ REGZ in the illustration above) and REG_SUM to the expression
630+ register+register that we want to use to substitute uses of REG
631+ (typically in MEMs) with. First check REG and BASE for being
632+ index registers; we can use them even if they are not dead. */
633+ if (TEST_HARD_REG_BIT (reg_class_contents[INDEX_REG_CLASS], regno)
634+ || TEST_HARD_REG_BIT (reg_class_contents[INDEX_REG_CLASS],
635+ REGNO (base)))
636+ {
637+ index_reg = reg;
638+ reg_sum = src;
639+ }
640+ else
641+ {
642+ /* Otherwise, look for a free index register. Since we have
643+ checked above that neither REG nor BASE are index registers,
644+ if we find anything at all, it will be different from these
645+ two registers. */
646+ for (i = first_index_reg; i <= last_index_reg; i++)
647+ {
648+ if (TEST_HARD_REG_BIT (reg_class_contents[INDEX_REG_CLASS], i)
649+ && reg_state[i].use_index == RELOAD_COMBINE_MAX_USES
650+ && reg_state[i].store_ruid <= reg_state[regno].use_ruid
651+ && (call_used_regs[i] || df_regs_ever_live_p (i))
652+ && (!frame_pointer_needed || i != HARD_FRAME_POINTER_REGNUM)
653+ && !fixed_regs[i] && !global_regs[i]
654+ && hard_regno_nregs[i][GET_MODE (reg)] == 1
655+ && targetm.hard_regno_scratch_ok (i))
656+ {
657+ index_reg = gen_rtx_REG (GET_MODE (reg), i);
658+ reg_sum = gen_rtx_PLUS (GET_MODE (reg), index_reg, base);
659+ break;
660+ }
661+ }
662+ }
663+
664+ /* Check that PREV_SET is indeed (set (REGX) (CONST_INT)) and that
665+ (REGY), i.e. BASE, is not clobbered before the last use we'll
666+ create. */
667+ if (reg_sum
668+ && prev_set
669+ && CONST_INT_P (SET_SRC (prev_set))
670+ && rtx_equal_p (SET_DEST (prev_set), reg)
671+ && (reg_state[REGNO (base)].store_ruid
672+ <= reg_state[regno].use_ruid))
673+ {
674+ /* Change destination register and, if necessary, the constant
675+ value in PREV, the constant loading instruction. */
676+ validate_change (prev, &SET_DEST (prev_set), index_reg, 1);
677+ if (reg_state[regno].offset != const0_rtx)
678+ validate_change (prev,
679+ &SET_SRC (prev_set),
680+ GEN_INT (INTVAL (SET_SRC (prev_set))
681+ + INTVAL (reg_state[regno].offset)),
682+ 1);
683+
684+ /* Now for every use of REG that we have recorded, replace REG
685+ with REG_SUM. */
686+ for (i = reg_state[regno].use_index;
687+ i < RELOAD_COMBINE_MAX_USES; i++)
688+ validate_unshare_change (reg_state[regno].reg_use[i].insn,
689+ reg_state[regno].reg_use[i].usep,
690+ /* Each change must have its own
691+ replacement. */
692+ reg_sum, 1);
693+
694+ if (apply_change_group ())
695+ {
696+ struct reg_use *lowest_ruid = NULL;
697+
698+ /* For every new use of REG_SUM, we have to record the use
699+ of BASE therein, i.e. operand 1. */
700+ for (i = reg_state[regno].use_index;
701+ i < RELOAD_COMBINE_MAX_USES; i++)
702+ {
703+ struct reg_use *use = reg_state[regno].reg_use + i;
704+ reload_combine_note_use (&XEXP (*use->usep, 1), use->insn,
705+ use->ruid, use->containing_mem);
706+ if (lowest_ruid == NULL || use->ruid < lowest_ruid->ruid)
707+ lowest_ruid = use;
708+ }
709+
710+ fixup_debug_insns (reg, reg_sum, insn, lowest_ruid->insn);
711+
712+ /* Delete the reg-reg addition. */
713+ delete_insn (insn);
714+
715+ if (reg_state[regno].offset != const0_rtx)
716+ /* Previous REG_EQUIV / REG_EQUAL notes for PREV
717+ are now invalid. */
718+ remove_reg_equal_equiv_notes (prev);
719+
720+ reg_state[regno].use_index = RELOAD_COMBINE_MAX_USES;
721+ return true;
722+ }
723+ }
724+ }
725+ return false;
726+}
727+
728 static void
729 reload_combine (void)
730 {
731- rtx insn, set;
732- int first_index_reg = -1;
733- int last_index_reg = 0;
734+ rtx insn, prev;
735 int i;
736 basic_block bb;
737 unsigned int r;
738- int last_label_ruid;
739 int min_labelno, n_labels;
740 HARD_REG_SET ever_live_at_start, *label_live;
741
742- /* If reg+reg can be used in offsetable memory addresses, the main chunk of
743- reload has already used it where appropriate, so there is no use in
744- trying to generate it now. */
745- if (double_reg_address_ok && INDEX_REG_CLASS != NO_REGS)
746- return;
747-
748 /* To avoid wasting too much time later searching for an index register,
749 determine the minimum and maximum index register numbers. */
750- for (r = 0; r < FIRST_PSEUDO_REGISTER; r++)
751- if (TEST_HARD_REG_BIT (reg_class_contents[INDEX_REG_CLASS], r))
752- {
753- if (first_index_reg == -1)
754- first_index_reg = r;
755+ if (INDEX_REG_CLASS == NO_REGS)
756+ last_index_reg = -1;
757+ else if (first_index_reg == -1 && last_index_reg == 0)
758+ {
759+ for (r = 0; r < FIRST_PSEUDO_REGISTER; r++)
760+ if (TEST_HARD_REG_BIT (reg_class_contents[INDEX_REG_CLASS], r))
761+ {
762+ if (first_index_reg == -1)
763+ first_index_reg = r;
764
765- last_index_reg = r;
766- }
767+ last_index_reg = r;
768+ }
769
770- /* If no index register is available, we can quit now. */
771- if (first_index_reg == -1)
772- return;
773+ /* If no index register is available, we can quit now. Set LAST_INDEX_REG
774+ to -1 so we'll know to quit early the next time we get here. */
775+ if (first_index_reg == -1)
776+ {
777+ last_index_reg = -1;
778+ return;
779+ }
780+ }
781
782 /* Set up LABEL_LIVE and EVER_LIVE_AT_START. The register lifetime
783 information is a bit fuzzy immediately after reload, but it's
784@@ -753,20 +1278,23 @@ reload_combine (void)
785 }
786
787 /* Initialize last_label_ruid, reload_combine_ruid and reg_state. */
788- last_label_ruid = reload_combine_ruid = 0;
789+ last_label_ruid = last_jump_ruid = reload_combine_ruid = 0;
790 for (r = 0; r < FIRST_PSEUDO_REGISTER; r++)
791 {
792- reg_state[r].store_ruid = reload_combine_ruid;
793+ reg_state[r].store_ruid = 0;
794+ reg_state[r].real_store_ruid = 0;
795 if (fixed_regs[r])
796 reg_state[r].use_index = -1;
797 else
798 reg_state[r].use_index = RELOAD_COMBINE_MAX_USES;
799 }
800
801- for (insn = get_last_insn (); insn; insn = PREV_INSN (insn))
802+ for (insn = get_last_insn (); insn; insn = prev)
803 {
804 rtx note;
805
806+ prev = PREV_INSN (insn);
807+
808 /* We cannot do our optimization across labels. Invalidating all the use
809 information we have would be costly, so we just note where the label
810 is and then later disable any optimization that would cross it. */
811@@ -777,141 +1305,17 @@ reload_combine (void)
812 if (! fixed_regs[r])
813 reg_state[r].use_index = RELOAD_COMBINE_MAX_USES;
814
815- if (! INSN_P (insn))
816+ if (! NONDEBUG_INSN_P (insn))
817 continue;
818
819 reload_combine_ruid++;
820
821- /* Look for (set (REGX) (CONST_INT))
822- (set (REGX) (PLUS (REGX) (REGY)))
823- ...
824- ... (MEM (REGX)) ...
825- and convert it to
826- (set (REGZ) (CONST_INT))
827- ...
828- ... (MEM (PLUS (REGZ) (REGY)))... .
829-
830- First, check that we have (set (REGX) (PLUS (REGX) (REGY)))
831- and that we know all uses of REGX before it dies.
832- Also, explicitly check that REGX != REGY; our life information
833- does not yet show whether REGY changes in this insn. */
834- set = single_set (insn);
835- if (set != NULL_RTX
836- && REG_P (SET_DEST (set))
837- && (hard_regno_nregs[REGNO (SET_DEST (set))]
838- [GET_MODE (SET_DEST (set))]
839- == 1)
840- && GET_CODE (SET_SRC (set)) == PLUS
841- && REG_P (XEXP (SET_SRC (set), 1))
842- && rtx_equal_p (XEXP (SET_SRC (set), 0), SET_DEST (set))
843- && !rtx_equal_p (XEXP (SET_SRC (set), 1), SET_DEST (set))
844- && last_label_ruid < reg_state[REGNO (SET_DEST (set))].use_ruid)
845- {
846- rtx reg = SET_DEST (set);
847- rtx plus = SET_SRC (set);
848- rtx base = XEXP (plus, 1);
849- rtx prev = prev_nonnote_nondebug_insn (insn);
850- rtx prev_set = prev ? single_set (prev) : NULL_RTX;
851- unsigned int regno = REGNO (reg);
852- rtx index_reg = NULL_RTX;
853- rtx reg_sum = NULL_RTX;
854-
855- /* Now we need to set INDEX_REG to an index register (denoted as
856- REGZ in the illustration above) and REG_SUM to the expression
857- register+register that we want to use to substitute uses of REG
858- (typically in MEMs) with. First check REG and BASE for being
859- index registers; we can use them even if they are not dead. */
860- if (TEST_HARD_REG_BIT (reg_class_contents[INDEX_REG_CLASS], regno)
861- || TEST_HARD_REG_BIT (reg_class_contents[INDEX_REG_CLASS],
862- REGNO (base)))
863- {
864- index_reg = reg;
865- reg_sum = plus;
866- }
867- else
868- {
869- /* Otherwise, look for a free index register. Since we have
870- checked above that neither REG nor BASE are index registers,
871- if we find anything at all, it will be different from these
872- two registers. */
873- for (i = first_index_reg; i <= last_index_reg; i++)
874- {
875- if (TEST_HARD_REG_BIT (reg_class_contents[INDEX_REG_CLASS],
876- i)
877- && reg_state[i].use_index == RELOAD_COMBINE_MAX_USES
878- && reg_state[i].store_ruid <= reg_state[regno].use_ruid
879- && hard_regno_nregs[i][GET_MODE (reg)] == 1)
880- {
881- index_reg = gen_rtx_REG (GET_MODE (reg), i);
882- reg_sum = gen_rtx_PLUS (GET_MODE (reg), index_reg, base);
883- break;
884- }
885- }
886- }
887-
888- /* Check that PREV_SET is indeed (set (REGX) (CONST_INT)) and that
889- (REGY), i.e. BASE, is not clobbered before the last use we'll
890- create. */
891- if (reg_sum
892- && prev_set
893- && CONST_INT_P (SET_SRC (prev_set))
894- && rtx_equal_p (SET_DEST (prev_set), reg)
895- && reg_state[regno].use_index >= 0
896- && (reg_state[REGNO (base)].store_ruid
897- <= reg_state[regno].use_ruid))
898- {
899- int i;
900-
901- /* Change destination register and, if necessary, the constant
902- value in PREV, the constant loading instruction. */
903- validate_change (prev, &SET_DEST (prev_set), index_reg, 1);
904- if (reg_state[regno].offset != const0_rtx)
905- validate_change (prev,
906- &SET_SRC (prev_set),
907- GEN_INT (INTVAL (SET_SRC (prev_set))
908- + INTVAL (reg_state[regno].offset)),
909- 1);
910+ if (control_flow_insn_p (insn))
911+ last_jump_ruid = reload_combine_ruid;
912
913- /* Now for every use of REG that we have recorded, replace REG
914- with REG_SUM. */
915- for (i = reg_state[regno].use_index;
916- i < RELOAD_COMBINE_MAX_USES; i++)
917- validate_unshare_change (reg_state[regno].reg_use[i].insn,
918- reg_state[regno].reg_use[i].usep,
919- /* Each change must have its own
920- replacement. */
921- reg_sum, 1);
922-
923- if (apply_change_group ())
924- {
925- /* For every new use of REG_SUM, we have to record the use
926- of BASE therein, i.e. operand 1. */
927- for (i = reg_state[regno].use_index;
928- i < RELOAD_COMBINE_MAX_USES; i++)
929- reload_combine_note_use
930- (&XEXP (*reg_state[regno].reg_use[i].usep, 1),
931- reg_state[regno].reg_use[i].insn);
932-
933- if (reg_state[REGNO (base)].use_ruid
934- > reg_state[regno].use_ruid)
935- reg_state[REGNO (base)].use_ruid
936- = reg_state[regno].use_ruid;
937-
938- /* Delete the reg-reg addition. */
939- delete_insn (insn);
940-
941- if (reg_state[regno].offset != const0_rtx)
942- /* Previous REG_EQUIV / REG_EQUAL notes for PREV
943- are now invalid. */
944- remove_reg_equal_equiv_notes (prev);
945-
946- reg_state[regno].use_index = RELOAD_COMBINE_MAX_USES;
947- reg_state[REGNO (index_reg)].store_ruid
948- = reload_combine_ruid;
949- continue;
950- }
951- }
952- }
953+ if (reload_combine_recognize_const_pattern (insn)
954+ || reload_combine_recognize_pattern (insn))
955+ continue;
956
957 note_stores (PATTERN (insn), reload_combine_note_store, NULL);
958
959@@ -967,7 +1371,8 @@ reload_combine (void)
960 reg_state[i].use_index = -1;
961 }
962
963- reload_combine_note_use (&PATTERN (insn), insn);
964+ reload_combine_note_use (&PATTERN (insn), insn,
965+ reload_combine_ruid, NULL_RTX);
966 for (note = REG_NOTES (insn); note; note = XEXP (note, 1))
967 {
968 if (REG_NOTE_KIND (note) == REG_INC
969@@ -976,6 +1381,7 @@ reload_combine (void)
970 int regno = REGNO (XEXP (note, 0));
971
972 reg_state[regno].store_ruid = reload_combine_ruid;
973+ reg_state[regno].real_store_ruid = reload_combine_ruid;
974 reg_state[regno].use_index = -1;
975 }
976 }
977@@ -985,8 +1391,8 @@ reload_combine (void)
978 }
979
980 /* Check if DST is a register or a subreg of a register; if it is,
981- update reg_state[regno].store_ruid and reg_state[regno].use_index
982- accordingly. Called via note_stores from reload_combine. */
983+ update store_ruid, real_store_ruid and use_index in the reg_state
984+ structure accordingly. Called via note_stores from reload_combine. */
985
986 static void
987 reload_combine_note_store (rtx dst, const_rtx set, void *data ATTRIBUTE_UNUSED)
988@@ -1010,14 +1416,14 @@ reload_combine_note_store (rtx dst, cons
989 /* note_stores might have stripped a STRICT_LOW_PART, so we have to be
990 careful with registers / register parts that are not full words.
991 Similarly for ZERO_EXTRACT. */
992- if (GET_CODE (set) != SET
993- || GET_CODE (SET_DEST (set)) == ZERO_EXTRACT
994+ if (GET_CODE (SET_DEST (set)) == ZERO_EXTRACT
995 || GET_CODE (SET_DEST (set)) == STRICT_LOW_PART)
996 {
997 for (i = hard_regno_nregs[regno][mode] - 1 + regno; i >= regno; i--)
998 {
999 reg_state[i].use_index = -1;
1000 reg_state[i].store_ruid = reload_combine_ruid;
1001+ reg_state[i].real_store_ruid = reload_combine_ruid;
1002 }
1003 }
1004 else
1005@@ -1025,6 +1431,8 @@ reload_combine_note_store (rtx dst, cons
1006 for (i = hard_regno_nregs[regno][mode] - 1 + regno; i >= regno; i--)
1007 {
1008 reg_state[i].store_ruid = reload_combine_ruid;
1009+ if (GET_CODE (set) == SET)
1010+ reg_state[i].real_store_ruid = reload_combine_ruid;
1011 reg_state[i].use_index = RELOAD_COMBINE_MAX_USES;
1012 }
1013 }
1014@@ -1035,7 +1443,7 @@ reload_combine_note_store (rtx dst, cons
1015 *XP is the pattern of INSN, or a part of it.
1016 Called from reload_combine, and recursively by itself. */
1017 static void
1018-reload_combine_note_use (rtx *xp, rtx insn)
1019+reload_combine_note_use (rtx *xp, rtx insn, int ruid, rtx containing_mem)
1020 {
1021 rtx x = *xp;
1022 enum rtx_code code = x->code;
1023@@ -1048,7 +1456,7 @@ reload_combine_note_use (rtx *xp, rtx in
1024 case SET:
1025 if (REG_P (SET_DEST (x)))
1026 {
1027- reload_combine_note_use (&SET_SRC (x), insn);
1028+ reload_combine_note_use (&SET_SRC (x), insn, ruid, NULL_RTX);
1029 return;
1030 }
1031 break;
1032@@ -1104,6 +1512,11 @@ reload_combine_note_use (rtx *xp, rtx in
1033 return;
1034 }
1035
1036+ /* We may be called to update uses in previously seen insns.
1037+ Don't add uses beyond the last store we saw. */
1038+ if (ruid < reg_state[regno].store_ruid)
1039+ return;
1040+
1041 /* If this register is already used in some unknown fashion, we
1042 can't do anything.
1043 If we decrement the index from zero to -1, we can't store more
1044@@ -1112,29 +1525,34 @@ reload_combine_note_use (rtx *xp, rtx in
1045 if (use_index < 0)
1046 return;
1047
1048- if (use_index != RELOAD_COMBINE_MAX_USES - 1)
1049- {
1050- /* We have found another use for a register that is already
1051- used later. Check if the offsets match; if not, mark the
1052- register as used in an unknown fashion. */
1053- if (! rtx_equal_p (offset, reg_state[regno].offset))
1054- {
1055- reg_state[regno].use_index = -1;
1056- return;
1057- }
1058- }
1059- else
1060+ if (use_index == RELOAD_COMBINE_MAX_USES - 1)
1061 {
1062 /* This is the first use of this register we have seen since we
1063 marked it as dead. */
1064 reg_state[regno].offset = offset;
1065- reg_state[regno].use_ruid = reload_combine_ruid;
1066+ reg_state[regno].all_offsets_match = true;
1067+ reg_state[regno].use_ruid = ruid;
1068+ }
1069+ else
1070+ {
1071+ if (reg_state[regno].use_ruid > ruid)
1072+ reg_state[regno].use_ruid = ruid;
1073+
1074+ if (! rtx_equal_p (offset, reg_state[regno].offset))
1075+ reg_state[regno].all_offsets_match = false;
1076 }
1077+
1078 reg_state[regno].reg_use[use_index].insn = insn;
1079+ reg_state[regno].reg_use[use_index].ruid = ruid;
1080+ reg_state[regno].reg_use[use_index].containing_mem = containing_mem;
1081 reg_state[regno].reg_use[use_index].usep = xp;
1082 return;
1083 }
1084
1085+ case MEM:
1086+ containing_mem = x;
1087+ break;
1088+
1089 default:
1090 break;
1091 }
1092@@ -1144,11 +1562,12 @@ reload_combine_note_use (rtx *xp, rtx in
1093 for (i = GET_RTX_LENGTH (code) - 1; i >= 0; i--)
1094 {
1095 if (fmt[i] == 'e')
1096- reload_combine_note_use (&XEXP (x, i), insn);
1097+ reload_combine_note_use (&XEXP (x, i), insn, ruid, containing_mem);
1098 else if (fmt[i] == 'E')
1099 {
1100 for (j = XVECLEN (x, i) - 1; j >= 0; j--)
1101- reload_combine_note_use (&XVECEXP (x, i, j), insn);
1102+ reload_combine_note_use (&XVECEXP (x, i, j), insn, ruid,
1103+ containing_mem);
1104 }
1105 }
1106 }
1107@@ -1196,9 +1615,10 @@ static int move2add_last_label_luid;
1108 while REG is known to already have value (SYM + offset).
1109 This function tries to change INSN into an add instruction
1110 (set (REG) (plus (REG) (OFF - offset))) using the known value.
1111- It also updates the information about REG's known value. */
1112+ It also updates the information about REG's known value.
1113+ Return true if we made a change. */
1114
1115-static void
1116+static bool
1117 move2add_use_add2_insn (rtx reg, rtx sym, rtx off, rtx insn)
1118 {
1119 rtx pat = PATTERN (insn);
1120@@ -1207,6 +1627,7 @@ move2add_use_add2_insn (rtx reg, rtx sym
1121 rtx new_src = gen_int_mode (INTVAL (off) - reg_offset[regno],
1122 GET_MODE (reg));
1123 bool speed = optimize_bb_for_speed_p (BLOCK_FOR_INSN (insn));
1124+ bool changed = false;
1125
1126 /* (set (reg) (plus (reg) (const_int 0))) is not canonical;
1127 use (set (reg) (reg)) instead.
1128@@ -1221,13 +1642,13 @@ move2add_use_add2_insn (rtx reg, rtx sym
1129 (reg)), would be discarded. Maybe we should
1130 try a truncMN pattern? */
1131 if (INTVAL (off) == reg_offset [regno])
1132- validate_change (insn, &SET_SRC (pat), reg, 0);
1133+ changed = validate_change (insn, &SET_SRC (pat), reg, 0);
1134 }
1135 else if (rtx_cost (new_src, PLUS, speed) < rtx_cost (src, SET, speed)
1136 && have_add2_insn (reg, new_src))
1137 {
1138 rtx tem = gen_rtx_PLUS (GET_MODE (reg), reg, new_src);
1139- validate_change (insn, &SET_SRC (pat), tem, 0);
1140+ changed = validate_change (insn, &SET_SRC (pat), tem, 0);
1141 }
1142 else if (sym == NULL_RTX && GET_MODE (reg) != BImode)
1143 {
1144@@ -1252,8 +1673,9 @@ move2add_use_add2_insn (rtx reg, rtx sym
1145 gen_rtx_STRICT_LOW_PART (VOIDmode,
1146 narrow_reg),
1147 narrow_src);
1148- if (validate_change (insn, &PATTERN (insn),
1149- new_set, 0))
1150+ changed = validate_change (insn, &PATTERN (insn),
1151+ new_set, 0);
1152+ if (changed)
1153 break;
1154 }
1155 }
1156@@ -1263,6 +1685,7 @@ move2add_use_add2_insn (rtx reg, rtx sym
1157 reg_mode[regno] = GET_MODE (reg);
1158 reg_symbol_ref[regno] = sym;
1159 reg_offset[regno] = INTVAL (off);
1160+ return changed;
1161 }
1162
1163
1164@@ -1272,9 +1695,10 @@ move2add_use_add2_insn (rtx reg, rtx sym
1165 value (SYM + offset) and change INSN into an add instruction
1166 (set (REG) (plus (the found register) (OFF - offset))) if such
1167 a register is found. It also updates the information about
1168- REG's known value. */
1169+ REG's known value.
1170+ Return true iff we made a change. */
1171
1172-static void
1173+static bool
1174 move2add_use_add3_insn (rtx reg, rtx sym, rtx off, rtx insn)
1175 {
1176 rtx pat = PATTERN (insn);
1177@@ -1284,6 +1708,7 @@ move2add_use_add3_insn (rtx reg, rtx sym
1178 int min_regno;
1179 bool speed = optimize_bb_for_speed_p (BLOCK_FOR_INSN (insn));
1180 int i;
1181+ bool changed = false;
1182
1183 for (i = 0; i < FIRST_PSEUDO_REGISTER; i++)
1184 if (reg_set_luid[i] > move2add_last_label_luid
1185@@ -1328,20 +1753,25 @@ move2add_use_add3_insn (rtx reg, rtx sym
1186 GET_MODE (reg));
1187 tem = gen_rtx_PLUS (GET_MODE (reg), tem, new_src);
1188 }
1189- validate_change (insn, &SET_SRC (pat), tem, 0);
1190+ if (validate_change (insn, &SET_SRC (pat), tem, 0))
1191+ changed = true;
1192 }
1193 reg_set_luid[regno] = move2add_luid;
1194 reg_base_reg[regno] = -1;
1195 reg_mode[regno] = GET_MODE (reg);
1196 reg_symbol_ref[regno] = sym;
1197 reg_offset[regno] = INTVAL (off);
1198+ return changed;
1199 }
1200
1201-static void
1202+/* Convert move insns with constant inputs to additions if they are cheaper.
1203+ Return true if any changes were made. */
1204+static bool
1205 reload_cse_move2add (rtx first)
1206 {
1207 int i;
1208 rtx insn;
1209+ bool changed = false;
1210
1211 for (i = FIRST_PSEUDO_REGISTER - 1; i >= 0; i--)
1212 {
1213@@ -1402,7 +1832,7 @@ reload_cse_move2add (rtx first)
1214 && reg_base_reg[regno] < 0
1215 && reg_symbol_ref[regno] == NULL_RTX)
1216 {
1217- move2add_use_add2_insn (reg, NULL_RTX, src, insn);
1218+ changed |= move2add_use_add2_insn (reg, NULL_RTX, src, insn);
1219 continue;
1220 }
1221
1222@@ -1463,6 +1893,7 @@ reload_cse_move2add (rtx first)
1223 }
1224 if (success)
1225 delete_insn (insn);
1226+ changed |= success;
1227 insn = next;
1228 reg_mode[regno] = GET_MODE (reg);
1229 reg_offset[regno] =
1230@@ -1508,12 +1939,12 @@ reload_cse_move2add (rtx first)
1231 && reg_base_reg[regno] < 0
1232 && reg_symbol_ref[regno] != NULL_RTX
1233 && rtx_equal_p (sym, reg_symbol_ref[regno]))
1234- move2add_use_add2_insn (reg, sym, off, insn);
1235+ changed |= move2add_use_add2_insn (reg, sym, off, insn);
1236
1237 /* Otherwise, we have to find a register whose value is sum
1238 of sym and some constant value. */
1239 else
1240- move2add_use_add3_insn (reg, sym, off, insn);
1241+ changed |= move2add_use_add3_insn (reg, sym, off, insn);
1242
1243 continue;
1244 }
1245@@ -1568,6 +1999,7 @@ reload_cse_move2add (rtx first)
1246 }
1247 }
1248 }
1249+ return changed;
1250 }
1251
1252 /* SET is a SET or CLOBBER that sets DST. DATA is the insn which
1253Index: gcc-4.5/testsuite/gcc.target/arm/pr42235.c
1254===================================================================
1255--- /dev/null
1256+++ gcc-4.5/testsuite/gcc.target/arm/pr42235.c
1257@@ -0,0 +1,11 @@
1258+/* { dg-options "-mthumb -O2 -march=armv5te" } */
1259+/* { dg-require-effective-target arm_thumb1_ok } */
1260+/* { dg-final { scan-assembler-not "add\[\\t \]*r.,\[\\t \]*r.,\[\\t \]*\#1" } } */
1261+/* { dg-final { scan-assembler-not "add\[\\t \]*r.,\[\\t \]*\#1" } } */
1262+
1263+#include <string.h>
1264+
1265+int foo (char *x)
1266+{
1267+ memset (x, 0, 6);
1268+}
diff --git a/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99403.patch b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99403.patch
new file mode 100644
index 0000000000..093dd1c570
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99403.patch
@@ -0,0 +1,176 @@
12010-09-20 Jie Zhang <jie@codesourcery.com>
2
3 Issue #5256
4
5 libstdc++-v3/
6
7 Backport from mainline:
8
9 2010-05-21 Joseph Myers <joseph@codesourcery.com>
10 * acinclude.m4 (GLIBCXX_ENABLE_CLOCALE): Use GNU locale model for
11 glibc 2.3 and later, but not uClibc, without an execution test.
12 * configure: Regenerate.
13 * doc/xml/manual/configure.xml, doc/xml/manual/prerequisites.xml,
14 doc/xml/faq.xml: Update.
15
16=== modified file 'libstdc++-v3/acinclude.m4'
17Index: gcc-4.5/libstdc++-v3/acinclude.m4
18===================================================================
19--- gcc-4.5.orig/libstdc++-v3/acinclude.m4
20+++ gcc-4.5/libstdc++-v3/acinclude.m4
21@@ -1740,41 +1740,11 @@ AC_DEFUN([GLIBCXX_ENABLE_CLOCALE], [
22 if test $enable_clocale_flag = gnu; then
23 AC_EGREP_CPP([_GLIBCXX_ok], [
24 #include <features.h>
25- #if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 2)
26+ #if (__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 3)) && !defined(__UCLIBC__)
27 _GLIBCXX_ok
28 #endif
29 ], enable_clocale_flag=gnu, enable_clocale_flag=generic)
30
31- if test $enable_clocale = auto; then
32- # Test for bugs early in glibc-2.2.x series
33- AC_TRY_RUN([
34- #define _GNU_SOURCE 1
35- #include <locale.h>
36- #include <string.h>
37- #if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2)
38- extern __typeof(newlocale) __newlocale;
39- extern __typeof(duplocale) __duplocale;
40- extern __typeof(strcoll_l) __strcoll_l;
41- #endif
42- int main()
43- {
44- const char __one[] = "Äuglein Augmen";
45- const char __two[] = "Äuglein";
46- int i;
47- int j;
48- __locale_t loc;
49- __locale_t loc_dup;
50- loc = __newlocale(1 << LC_ALL, "de_DE", 0);
51- loc_dup = __duplocale(loc);
52- i = __strcoll_l(__one, __two, loc);
53- j = __strcoll_l(__one, __two, loc_dup);
54- return 0;
55- }
56- ],
57- [enable_clocale_flag=gnu],[enable_clocale_flag=generic],
58- [enable_clocale_flag=generic])
59- fi
60-
61 # Set it to scream when it hurts.
62 ac_save_CFLAGS="$CFLAGS"
63 CFLAGS="-Wimplicit-function-declaration -Werror"
64Index: gcc-4.5/libstdc++-v3/configure
65===================================================================
66--- gcc-4.5.orig/libstdc++-v3/configure
67+++ gcc-4.5/libstdc++-v3/configure
68@@ -15627,7 +15627,7 @@ fi
69 /* end confdefs.h. */
70
71 #include <features.h>
72- #if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 2)
73+ #if (__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 3)) && !defined(__UCLIBC__)
74 _GLIBCXX_ok
75 #endif
76
77@@ -15641,49 +15641,6 @@ fi
78 rm -f conftest*
79
80
81- if test $enable_clocale = auto; then
82- # Test for bugs early in glibc-2.2.x series
83- if test "$cross_compiling" = yes; then :
84- enable_clocale_flag=generic
85-else
86- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
87-/* end confdefs.h. */
88-
89- #define _GNU_SOURCE 1
90- #include <locale.h>
91- #include <string.h>
92- #if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2)
93- extern __typeof(newlocale) __newlocale;
94- extern __typeof(duplocale) __duplocale;
95- extern __typeof(strcoll_l) __strcoll_l;
96- #endif
97- int main()
98- {
99- const char __one[] = "Äuglein Augmen";
100- const char __two[] = "Äuglein";
101- int i;
102- int j;
103- __locale_t loc;
104- __locale_t loc_dup;
105- loc = __newlocale(1 << LC_ALL, "de_DE", 0);
106- loc_dup = __duplocale(loc);
107- i = __strcoll_l(__one, __two, loc);
108- j = __strcoll_l(__one, __two, loc_dup);
109- return 0;
110- }
111-
112-_ACEOF
113-if ac_fn_c_try_run "$LINENO"; then :
114- enable_clocale_flag=gnu
115-else
116- enable_clocale_flag=generic
117-fi
118-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
119- conftest.$ac_objext conftest.beam conftest.$ac_ext
120-fi
121-
122- fi
123-
124 # Set it to scream when it hurts.
125 ac_save_CFLAGS="$CFLAGS"
126 CFLAGS="-Wimplicit-function-declaration -Werror"
127Index: gcc-4.5/libstdc++-v3/doc/xml/faq.xml
128===================================================================
129--- gcc-4.5.orig/libstdc++-v3/doc/xml/faq.xml
130+++ gcc-4.5/libstdc++-v3/doc/xml/faq.xml
131@@ -636,6 +636,8 @@
132 C library (glibc) version 2.2.5. That version of glibc is over a
133 year old and contains necessary bugfixes. Many GNU/Linux distros make
134 glibc version 2.3.x available now.
135+ libstdc++ 4.6.0 and later require glibc 2.3 or later for this
136+ localization and formatting code.
137 </para>
138 <para>The guideline is simple: the more recent the C++ library, the
139 more recent the C library. (This is also documented in the main
140Index: gcc-4.5/libstdc++-v3/doc/xml/manual/configure.xml
141===================================================================
142--- gcc-4.5.orig/libstdc++-v3/doc/xml/manual/configure.xml
143+++ gcc-4.5/libstdc++-v3/doc/xml/manual/configure.xml
144@@ -113,8 +113,7 @@
145 <para>If not explicitly specified, the configure proccess tries
146 to guess the most suitable package from the choices above. The
147 default is 'generic'. On glibc-based systems of sufficient
148- vintage (2.2.5 and newer) and capability (with installed DE and
149- FR locale data), 'gnu' is automatically selected. This option
150+ vintage (2.3 and newer), 'gnu' is automatically selected. This option
151 can change the library ABI.
152 </para>
153 </listitem></varlistentry>
154Index: gcc-4.5/libstdc++-v3/doc/xml/manual/prerequisites.xml
155===================================================================
156--- gcc-4.5.orig/libstdc++-v3/doc/xml/manual/prerequisites.xml
157+++ gcc-4.5/libstdc++-v3/doc/xml/manual/prerequisites.xml
158@@ -52,16 +52,8 @@
159 <para>
160 If gcc 3.1.0 or later on is being used on linux, an attempt
161 will be made to use "C" library functionality necessary for
162- C++ named locale support. For gcc 3.2.1 and later, this
163- means that glibc 2.2.5 or later is required and the "C"
164- library de_DE locale information must be installed.
165- </para>
166-
167- <para>
168- Note however that the sanity checks involving the de_DE
169- locale are skipped when an explicit --enable-clocale=gnu
170- configure option is used: only the basic checks are carried
171- out, defending against misconfigurations.
172+ C++ named locale support. For gcc 4.6.0 and later, this
173+ means that glibc 2.3 or later is required.
174 </para>
175
176 <para>
diff --git a/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99404.patch b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99404.patch
new file mode 100644
index 0000000000..2753300925
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99404.patch
@@ -0,0 +1,386 @@
12010-09-20 Jie Zhang <jie@codesourcery.com>
2
3 Issue #9019
4
5 Backport from mainline:
6
7 gcc/
8 2010-09-20 Jie Zhang <jie@codesourcery.com>
9 * config/arm/arm.c (arm_address_offset_is_imm): New.
10 (arm_early_store_addr_dep): New.
11 (arm_early_load_addr_dep): New.
12 * config/arm/arm-protos.h (arm_early_store_addr_dep): Declare.
13 (arm_early_load_addr_dep): Declare.
14 (arm_address_offset_is_imm): Declare.
15 * config/arm/cortex-m4.md: New file.
16 * config/arm/cortex-m4-fpu.md: New file.
17 * config/arm/arm.md: Include cortex-m4.md and cortex-m4-fpu.md.
18 (attr generic_sched): Exclude cortexm4.
19 (attr generic_vfp): Exclude cortexm4.
20
21=== modified file 'gcc/config/arm/arm-protos.h'
22Index: gcc-4.5/gcc/config/arm/arm-protos.h
23===================================================================
24--- gcc-4.5.orig/gcc/config/arm/arm-protos.h
25+++ gcc-4.5/gcc/config/arm/arm-protos.h
26@@ -87,6 +87,8 @@ extern int arm_coproc_mem_operand (rtx,
27 extern int neon_vector_mem_operand (rtx, int);
28 extern int neon_struct_mem_operand (rtx);
29 extern int arm_no_early_store_addr_dep (rtx, rtx);
30+extern int arm_early_store_addr_dep (rtx, rtx);
31+extern int arm_early_load_addr_dep (rtx, rtx);
32 extern int arm_no_early_alu_shift_dep (rtx, rtx);
33 extern int arm_no_early_alu_shift_value_dep (rtx, rtx);
34 extern int arm_no_early_mul_dep (rtx, rtx);
35@@ -131,6 +133,7 @@ extern const char *output_move_quad (rtx
36 extern const char *output_move_vfp (rtx *operands);
37 extern const char *output_move_neon (rtx *operands);
38 extern int arm_attr_length_move_neon (rtx);
39+extern int arm_address_offset_is_imm (rtx);
40 extern const char *output_add_immediate (rtx *);
41 extern const char *arithmetic_instr (rtx, int);
42 extern void output_ascii_pseudo_op (FILE *, const unsigned char *, int);
43Index: gcc-4.5/gcc/config/arm/arm.c
44===================================================================
45--- gcc-4.5.orig/gcc/config/arm/arm.c
46+++ gcc-4.5/gcc/config/arm/arm.c
47@@ -13542,6 +13542,34 @@ arm_attr_length_move_neon (rtx insn)
48 return 4;
49 }
50
51+/* Return nonzero if the offset in the address is an immediate. Otherwise,
52+ return zero. */
53+
54+int
55+arm_address_offset_is_imm (rtx insn)
56+{
57+ rtx mem, addr;
58+
59+ extract_insn_cached (insn);
60+
61+ if (REG_P (recog_data.operand[0]))
62+ return 0;
63+
64+ mem = recog_data.operand[0];
65+
66+ gcc_assert (MEM_P (mem));
67+
68+ addr = XEXP (mem, 0);
69+
70+ if (GET_CODE (addr) == REG
71+ || (GET_CODE (addr) == PLUS
72+ && GET_CODE (XEXP (addr, 0)) == REG
73+ && GET_CODE (XEXP (addr, 1)) == CONST_INT))
74+ return 1;
75+ else
76+ return 0;
77+}
78+
79 /* Output an ADD r, s, #n where n may be too big for one instruction.
80 If adding zero to one register, output nothing. */
81 const char *
82@@ -21620,6 +21648,38 @@ arm_no_early_store_addr_dep (rtx produce
83 return !reg_overlap_mentioned_p (value, addr);
84 }
85
86+/* Return nonzero if the CONSUMER instruction (a store) does need
87+ PRODUCER's value to calculate the address. */
88+
89+int
90+arm_early_store_addr_dep (rtx producer, rtx consumer)
91+{
92+ return !arm_no_early_store_addr_dep (producer, consumer);
93+}
94+
95+/* Return nonzero if the CONSUMER instruction (a load) does need
96+ PRODUCER's value to calculate the address. */
97+
98+int
99+arm_early_load_addr_dep (rtx producer, rtx consumer)
100+{
101+ rtx value = PATTERN (producer);
102+ rtx addr = PATTERN (consumer);
103+
104+ if (GET_CODE (value) == COND_EXEC)
105+ value = COND_EXEC_CODE (value);
106+ if (GET_CODE (value) == PARALLEL)
107+ value = XVECEXP (value, 0, 0);
108+ value = XEXP (value, 0);
109+ if (GET_CODE (addr) == COND_EXEC)
110+ addr = COND_EXEC_CODE (addr);
111+ if (GET_CODE (addr) == PARALLEL)
112+ addr = XVECEXP (addr, 0, 0);
113+ addr = XEXP (addr, 1);
114+
115+ return reg_overlap_mentioned_p (value, addr);
116+}
117+
118 /* Return nonzero if the CONSUMER instruction (an ALU op) does not
119 have an early register shift value or amount dependency on the
120 result of PRODUCER. */
121Index: gcc-4.5/gcc/config/arm/arm.md
122===================================================================
123--- gcc-4.5.orig/gcc/config/arm/arm.md
124+++ gcc-4.5/gcc/config/arm/arm.md
125@@ -434,16 +434,16 @@
126 ;; True if the generic scheduling description should be used.
127
128 (define_attr "generic_sched" "yes,no"
129- (const (if_then_else
130- (ior (eq_attr "tune" "arm926ejs,arm1020e,arm1026ejs,arm1136js,arm1136jfs,cortexa5,cortexa8,cortexa9")
131- (eq_attr "tune_cortexr4" "yes"))
132+ (const (if_then_else
133+ (ior (eq_attr "tune" "arm926ejs,arm1020e,arm1026ejs,arm1136js,arm1136jfs,cortexa5,cortexa8,cortexa9,cortexm4")
134+ (eq_attr "tune_cortexr4" "yes"))
135 (const_string "no")
136 (const_string "yes"))))
137
138 (define_attr "generic_vfp" "yes,no"
139 (const (if_then_else
140 (and (eq_attr "fpu" "vfp")
141- (eq_attr "tune" "!arm1020e,arm1022e,cortexa5,cortexa8,cortexa9")
142+ (eq_attr "tune" "!arm1020e,arm1022e,cortexa5,cortexa8,cortexa9,cortexm4")
143 (eq_attr "tune_cortexr4" "no"))
144 (const_string "yes")
145 (const_string "no"))))
146@@ -472,6 +472,8 @@
147 (include "cortex-a9.md")
148 (include "cortex-r4.md")
149 (include "cortex-r4f.md")
150+(include "cortex-m4.md")
151+(include "cortex-m4-fpu.md")
152 (include "vfp11.md")
153
154
155Index: gcc-4.5/gcc/config/arm/cortex-m4-fpu.md
156===================================================================
157--- /dev/null
158+++ gcc-4.5/gcc/config/arm/cortex-m4-fpu.md
159@@ -0,0 +1,111 @@
160+;; ARM Cortex-M4 FPU pipeline description
161+;; Copyright (C) 2010 Free Software Foundation, Inc.
162+;; Contributed by CodeSourcery.
163+;;
164+;; This file is part of GCC.
165+;;
166+;; GCC is free software; you can redistribute it and/or modify it
167+;; under the terms of the GNU General Public License as published by
168+;; the Free Software Foundation; either version 3, or (at your option)
169+;; any later version.
170+;;
171+;; GCC is distributed in the hope that it will be useful, but
172+;; WITHOUT ANY WARRANTY; without even the implied warranty of
173+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
174+;; General Public License for more details.
175+;;
176+;; You should have received a copy of the GNU General Public License
177+;; along with GCC; see the file COPYING3. If not see
178+;; <http://www.gnu.org/licenses/>.
179+
180+;; Use an artifial unit to model FPU.
181+(define_cpu_unit "cortex_m4_v" "cortex_m4")
182+
183+(define_reservation "cortex_m4_ex_v" "cortex_m4_ex+cortex_m4_v")
184+
185+;; Integer instructions following VDIV or VSQRT complete out-of-order.
186+(define_insn_reservation "cortex_m4_fdivs" 15
187+ (and (eq_attr "tune" "cortexm4")
188+ (eq_attr "type" "fdivs"))
189+ "cortex_m4_ex_v,cortex_m4_v*13")
190+
191+(define_insn_reservation "cortex_m4_vmov_1" 1
192+ (and (eq_attr "tune" "cortexm4")
193+ (eq_attr "type" "fcpys,fconsts"))
194+ "cortex_m4_ex_v")
195+
196+(define_insn_reservation "cortex_m4_vmov_2" 2
197+ (and (eq_attr "tune" "cortexm4")
198+ (eq_attr "type" "f_2_r,r_2_f"))
199+ "cortex_m4_ex_v*2")
200+
201+(define_insn_reservation "cortex_m4_fmuls" 2
202+ (and (eq_attr "tune" "cortexm4")
203+ (eq_attr "type" "fmuls"))
204+ "cortex_m4_ex_v")
205+
206+(define_insn_reservation "cortex_m4_fmacs" 4
207+ (and (eq_attr "tune" "cortexm4")
208+ (eq_attr "type" "fmacs"))
209+ "cortex_m4_ex_v*3")
210+
211+(define_insn_reservation "cortex_m4_ffariths" 1
212+ (and (eq_attr "tune" "cortexm4")
213+ (eq_attr "type" "ffariths"))
214+ "cortex_m4_ex_v")
215+
216+(define_insn_reservation "cortex_m4_fadds" 2
217+ (and (eq_attr "tune" "cortexm4")
218+ (eq_attr "type" "fadds"))
219+ "cortex_m4_ex_v")
220+
221+(define_insn_reservation "cortex_m4_fcmps" 1
222+ (and (eq_attr "tune" "cortexm4")
223+ (eq_attr "type" "fcmps"))
224+ "cortex_m4_ex_v")
225+
226+(define_insn_reservation "cortex_m4_f_flag" 1
227+ (and (eq_attr "tune" "cortexm4")
228+ (eq_attr "type" "f_flag"))
229+ "cortex_m4_ex_v")
230+
231+(define_insn_reservation "cortex_m4_f_cvt" 2
232+ (and (eq_attr "tune" "cortexm4")
233+ (eq_attr "type" "f_cvt"))
234+ "cortex_m4_ex_v")
235+
236+(define_insn_reservation "cortex_m4_f_load" 2
237+ (and (eq_attr "tune" "cortexm4")
238+ (eq_attr "type" "f_load"))
239+ "cortex_m4_ex_v*2")
240+
241+(define_insn_reservation "cortex_m4_f_store" 2
242+ (and (eq_attr "tune" "cortexm4")
243+ (eq_attr "type" "f_store"))
244+ "cortex_m4_ex_v*2")
245+
246+(define_insn_reservation "cortex_m4_f_loadd" 3
247+ (and (eq_attr "tune" "cortexm4")
248+ (eq_attr "type" "f_loadd"))
249+ "cortex_m4_ex_v*3")
250+
251+(define_insn_reservation "cortex_m4_f_stored" 3
252+ (and (eq_attr "tune" "cortexm4")
253+ (eq_attr "type" "f_stored"))
254+ "cortex_m4_ex_v*3")
255+
256+;; MAC instructions consume their addend one cycle later. If the result
257+;; of an arithmetic instruction is consumed as the addend of the following
258+;; MAC instruction, the latency can be decreased by one.
259+
260+(define_bypass 1 "cortex_m4_fadds,cortex_m4_fmuls,cortex_m4_f_cvt"
261+ "cortex_m4_fmacs"
262+ "arm_no_early_mul_dep")
263+
264+(define_bypass 3 "cortex_m4_fmacs"
265+ "cortex_m4_fmacs"
266+ "arm_no_early_mul_dep")
267+
268+(define_bypass 14 "cortex_m4_fdivs"
269+ "cortex_m4_fmacs"
270+ "arm_no_early_mul_dep")
271Index: gcc-4.5/gcc/config/arm/cortex-m4.md
272===================================================================
273--- /dev/null
274+++ gcc-4.5/gcc/config/arm/cortex-m4.md
275@@ -0,0 +1,111 @@
276+;; ARM Cortex-M4 pipeline description
277+;; Copyright (C) 2010 Free Software Foundation, Inc.
278+;; Contributed by CodeSourcery.
279+;;
280+;; This file is part of GCC.
281+;;
282+;; GCC is free software; you can redistribute it and/or modify it
283+;; under the terms of the GNU General Public License as published by
284+;; the Free Software Foundation; either version 3, or (at your option)
285+;; any later version.
286+;;
287+;; GCC is distributed in the hope that it will be useful, but
288+;; WITHOUT ANY WARRANTY; without even the implied warranty of
289+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
290+;; General Public License for more details.
291+;;
292+;; You should have received a copy of the GNU General Public License
293+;; along with GCC; see the file COPYING3. If not see
294+;; <http://www.gnu.org/licenses/>.
295+
296+(define_automaton "cortex_m4")
297+
298+;; We model the pipelining of LDR instructions by using two artificial units.
299+
300+(define_cpu_unit "cortex_m4_a" "cortex_m4")
301+
302+(define_cpu_unit "cortex_m4_b" "cortex_m4")
303+
304+(define_reservation "cortex_m4_ex" "cortex_m4_a+cortex_m4_b")
305+
306+;; ALU and multiply is one cycle.
307+(define_insn_reservation "cortex_m4_alu" 1
308+ (and (eq_attr "tune" "cortexm4")
309+ (eq_attr "type" "alu,alu_shift,alu_shift_reg,mult"))
310+ "cortex_m4_ex")
311+
312+;; Byte, half-word and word load is two cycles.
313+(define_insn_reservation "cortex_m4_load1" 2
314+ (and (eq_attr "tune" "cortexm4")
315+ (eq_attr "type" "load_byte,load1"))
316+ "cortex_m4_a, cortex_m4_b")
317+
318+;; str rx, [ry, #imm] is always one cycle.
319+(define_insn_reservation "cortex_m4_store1_1" 1
320+ (and (and (eq_attr "tune" "cortexm4")
321+ (eq_attr "type" "store1"))
322+ (ne (symbol_ref ("arm_address_offset_is_imm (insn)")) (const_int 0)))
323+ "cortex_m4_a")
324+
325+;; Other byte, half-word and word load is two cycles.
326+(define_insn_reservation "cortex_m4_store1_2" 2
327+ (and (and (eq_attr "tune" "cortexm4")
328+ (eq_attr "type" "store1"))
329+ (eq (symbol_ref ("arm_address_offset_is_imm (insn)")) (const_int 0)))
330+ "cortex_m4_a*2")
331+
332+(define_insn_reservation "cortex_m4_load2" 3
333+ (and (eq_attr "tune" "cortexm4")
334+ (eq_attr "type" "load2"))
335+ "cortex_m4_ex*3")
336+
337+(define_insn_reservation "cortex_m4_store2" 3
338+ (and (eq_attr "tune" "cortexm4")
339+ (eq_attr "type" "store2"))
340+ "cortex_m4_ex*3")
341+
342+(define_insn_reservation "cortex_m4_load3" 4
343+ (and (eq_attr "tune" "cortexm4")
344+ (eq_attr "type" "load3"))
345+ "cortex_m4_ex*4")
346+
347+(define_insn_reservation "cortex_m4_store3" 4
348+ (and (eq_attr "tune" "cortexm4")
349+ (eq_attr "type" "store3"))
350+ "cortex_m4_ex*4")
351+
352+(define_insn_reservation "cortex_m4_load4" 5
353+ (and (eq_attr "tune" "cortexm4")
354+ (eq_attr "type" "load4"))
355+ "cortex_m4_ex*5")
356+
357+(define_insn_reservation "cortex_m4_store4" 5
358+ (and (eq_attr "tune" "cortexm4")
359+ (eq_attr "type" "store4"))
360+ "cortex_m4_ex*5")
361+
362+;; If the address of load or store depends on the result of the preceding
363+;; instruction, the latency is increased by one.
364+
365+(define_bypass 2 "cortex_m4_alu"
366+ "cortex_m4_load1"
367+ "arm_early_load_addr_dep")
368+
369+(define_bypass 2 "cortex_m4_alu"
370+ "cortex_m4_store1_1,cortex_m4_store1_2"
371+ "arm_early_store_addr_dep")
372+
373+(define_insn_reservation "cortex_m4_branch" 3
374+ (and (eq_attr "tune" "cortexm4")
375+ (eq_attr "type" "branch"))
376+ "cortex_m4_ex*3")
377+
378+(define_insn_reservation "cortex_m4_call" 3
379+ (and (eq_attr "tune" "cortexm4")
380+ (eq_attr "type" "call"))
381+ "cortex_m4_ex*3")
382+
383+(define_insn_reservation "cortex_m4_block" 1
384+ (and (eq_attr "tune" "cortexm4")
385+ (eq_attr "type" "block"))
386+ "cortex_m4_ex")
diff --git a/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99405.patch b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99405.patch
new file mode 100644
index 0000000000..7fc943f4bc
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99405.patch
@@ -0,0 +1,36 @@
12010-09-22 Chung-Lin Tang <cltang@codesourcery.com>
2
3 Backport from mainline:
4
5 2010-09-22 Chung-Lin Tang <cltang@codesourcery.com>
6
7 gcc/
8 * postreload.c (move2add_note_store): Add reg_symbol_ref[] checks
9 to update conditions. Fix reg_mode[] check.
10
11=== modified file 'gcc/postreload.c'
12Index: gcc-4.5/gcc/postreload.c
13===================================================================
14--- gcc-4.5.orig/gcc/postreload.c
15+++ gcc-4.5/gcc/postreload.c
16@@ -2103,15 +2103,17 @@ move2add_note_store (rtx dst, const_rtx
17 && (MODES_OK_FOR_MOVE2ADD
18 (dst_mode, reg_mode[REGNO (XEXP (src, 1))])))
19 {
20- if (reg_base_reg[REGNO (XEXP (src, 1))] < 0)
21+ if (reg_base_reg[REGNO (XEXP (src, 1))] < 0
22+ && reg_symbol_ref[REGNO (XEXP (src, 1))] == NULL_RTX)
23 offset = reg_offset[REGNO (XEXP (src, 1))];
24 /* Maybe the first register is known to be a
25 constant. */
26 else if (reg_set_luid[REGNO (base_reg)]
27 > move2add_last_label_luid
28 && (MODES_OK_FOR_MOVE2ADD
29- (dst_mode, reg_mode[REGNO (XEXP (src, 1))]))
30- && reg_base_reg[REGNO (base_reg)] < 0)
31+ (dst_mode, reg_mode[REGNO (base_reg)]))
32+ && reg_base_reg[REGNO (base_reg)] < 0
33+ && reg_symbol_ref[REGNO (base_reg)] == NULL_RTX)
34 {
35 offset = reg_offset[REGNO (base_reg)];
36 base_reg = XEXP (src, 1);
diff --git a/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99406.patch b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99406.patch
new file mode 100644
index 0000000000..54473fa234
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99406.patch
@@ -0,0 +1,20 @@
12010-09-28 Jie Zhang <jie@codesourcery.com>
2
3 Backport from mainline:
4
5 gcc/testsuite/
6 2010-09-28 Jie Zhang <jie@codesourcery.com>
7 * gcc.dg/Wcxx-compat-12.c: Add -fno-short-enums.
8
9=== modified file 'gcc/testsuite/gcc.dg/Wcxx-compat-12.c'
10Index: gcc-4.5/gcc/testsuite/gcc.dg/Wcxx-compat-12.c
11===================================================================
12--- gcc-4.5.orig/gcc/testsuite/gcc.dg/Wcxx-compat-12.c
13+++ gcc-4.5/gcc/testsuite/gcc.dg/Wcxx-compat-12.c
14@@ -1,5 +1,5 @@
15 /* { dg-do compile } */
16-/* { dg-options "-Wc++-compat" } */
17+/* { dg-options "-fno-short-enums -Wc++-compat" } */
18
19 enum E { A };
20
diff --git a/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99407.patch b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99407.patch
new file mode 100644
index 0000000000..80f4246ed2
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99407.patch
@@ -0,0 +1,33 @@
12010-09-30 Jie Zhang <jie@codesourcery.com>
2
3 gcc/testsuite/
4
5 * c-c++-common/uninit-17.c: Adjust warning message.
6
7 Backport from mainline:
8
9 2010-07-30 Xinliang David Li <davidxl@google.com>
10 PR tree-optimization/45121
11 * c-c++-common/uninit-17.c: Add -fno-ivops option.
12
13=== modified file 'gcc/testsuite/c-c++-common/uninit-17.c'
14Index: gcc-4.5/gcc/testsuite/c-c++-common/uninit-17.c
15===================================================================
16--- gcc-4.5.orig/gcc/testsuite/c-c++-common/uninit-17.c
17+++ gcc-4.5/gcc/testsuite/c-c++-common/uninit-17.c
18@@ -1,5 +1,5 @@
19 /* { dg-do compile } */
20-/* { dg-options "-O2 -Wuninitialized" } */
21+/* { dg-options "-O2 -Wuninitialized -fno-ivopts" } */
22
23 inline int foo(int x)
24 {
25@@ -9,7 +9,7 @@ static void bar(int a, int *ptr)
26 {
27 do
28 {
29- int b; /* { dg-warning "is used uninitialized" } */
30+ int b; /* { dg-warning "may be used uninitialized" } */
31 if (b < 40) {
32 ptr[0] = b;
33 }
diff --git a/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99408.patch b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99408.patch
new file mode 100644
index 0000000000..1d873ba653
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99408.patch
@@ -0,0 +1,603 @@
12010-10-01 Julian Brown <julian@codesourcery.com>
2
3 Revert:
4
5 Backport from FSF:
6
7 2010-08-07 Marcus Shawcroft <marcus.shawcroft@arm.com>
8
9 gcc/
10 * config/arm/linux-atomic.c (SUBWORD_VAL_CAS): Instantiate with
11 'unsigned short' and 'unsigned char' instead of 'short' and
12 'char'. (SUBWORD_BOOL_CAS): Likewise.
13 (SUBWORD_SYNC_OP): Likewise.
14 (SUBWORD_TEST_AND_SET): Likewise.
15 (FETCH_AND_OP_WORD): Parenthesise INF_OP
16 (SUBWORD_SYNC_OP): Likewise.
17 (OP_AND_FETCH_WORD): Likewise.
18
19 gcc/testsuite/
20 * lib/target-supports.exp: (check_effective_target_sync_int_long):
21 Add arm*-*-linux-gnueabi.
22 (check_effective_target_sync_char_short): Likewise.
23
24=== modified file 'gcc/config/arm/arm-protos.h'
25Index: gcc-4.5/gcc/config/arm/arm-protos.h
26===================================================================
27--- gcc-4.5.orig/gcc/config/arm/arm-protos.h
28+++ gcc-4.5/gcc/config/arm/arm-protos.h
29@@ -151,11 +151,6 @@ extern const char *vfp_output_fstmd (rtx
30 extern void arm_set_return_address (rtx, rtx);
31 extern int arm_eliminable_register (rtx);
32 extern const char *arm_output_shift(rtx *, int);
33-extern void arm_expand_sync (enum machine_mode, struct arm_sync_generator *,
34- rtx, rtx, rtx, rtx);
35-extern const char *arm_output_memory_barrier (rtx *);
36-extern const char *arm_output_sync_insn (rtx, rtx *);
37-extern unsigned int arm_sync_loop_insns (rtx , rtx *);
38
39 extern bool arm_output_addr_const_extra (FILE *, rtx);
40
41Index: gcc-4.5/gcc/config/arm/arm.c
42===================================================================
43--- gcc-4.5.orig/gcc/config/arm/arm.c
44+++ gcc-4.5/gcc/config/arm/arm.c
45@@ -605,7 +605,6 @@ static int thumb_call_reg_needed;
46 #define FL_NEON (1 << 20) /* Neon instructions. */
47 #define FL_ARCH7EM (1 << 21) /* Instructions present in the ARMv7E-M
48 architecture. */
49-#define FL_ARCH7 (1 << 22) /* Architecture 7. */
50
51 #define FL_IWMMXT (1 << 29) /* XScale v2 or "Intel Wireless MMX technology". */
52
53@@ -626,7 +625,7 @@ static int thumb_call_reg_needed;
54 #define FL_FOR_ARCH6ZK FL_FOR_ARCH6K
55 #define FL_FOR_ARCH6T2 (FL_FOR_ARCH6 | FL_THUMB2)
56 #define FL_FOR_ARCH6M (FL_FOR_ARCH6 & ~FL_NOTM)
57-#define FL_FOR_ARCH7 ((FL_FOR_ARCH6T2 & ~FL_NOTM) | FL_ARCH7)
58+#define FL_FOR_ARCH7 (FL_FOR_ARCH6T2 &~ FL_NOTM)
59 #define FL_FOR_ARCH7A (FL_FOR_ARCH7 | FL_NOTM | FL_ARCH6K)
60 #define FL_FOR_ARCH7R (FL_FOR_ARCH7A | FL_DIV)
61 #define FL_FOR_ARCH7M (FL_FOR_ARCH7 | FL_DIV)
62@@ -664,9 +663,6 @@ int arm_arch6 = 0;
63 /* Nonzero if this chip supports the ARM 6K extensions. */
64 int arm_arch6k = 0;
65
66-/* Nonzero if this chip supports the ARM 7 extensions. */
67-int arm_arch7 = 0;
68-
69 /* Nonzero if instructions not present in the 'M' profile can be used. */
70 int arm_arch_notm = 0;
71
72@@ -1638,7 +1634,6 @@ arm_override_options (void)
73 arm_arch6 = (insn_flags & FL_ARCH6) != 0;
74 arm_arch6k = (insn_flags & FL_ARCH6K) != 0;
75 arm_arch_notm = (insn_flags & FL_NOTM) != 0;
76- arm_arch7 = (insn_flags & FL_ARCH7) != 0;
77 arm_arch7em = (insn_flags & FL_ARCH7EM) != 0;
78 arm_arch_thumb2 = (insn_flags & FL_THUMB2) != 0;
79 arm_arch_xscale = (insn_flags & FL_XSCALE) != 0;
80@@ -16595,17 +16590,6 @@ arm_print_operand (FILE *stream, rtx x,
81 }
82 return;
83
84- case 'C':
85- {
86- rtx addr;
87-
88- gcc_assert (GET_CODE (x) == MEM);
89- addr = XEXP (x, 0);
90- gcc_assert (GET_CODE (addr) == REG);
91- asm_fprintf (stream, "[%r]", REGNO (addr));
92- }
93- return;
94-
95 /* Translate an S register number into a D register number and element index. */
96 case 'y':
97 {
98@@ -22840,372 +22824,4 @@ arm_builtin_support_vector_misalignment
99 is_packed);
100 }
101
102-/* Legitimize a memory reference for sync primitive implemented using
103- ldrex / strex. We currently force the form of the reference to be
104- indirect without offset. We do not yet support the indirect offset
105- addressing supported by some ARM targets for these
106- instructions. */
107-static rtx
108-arm_legitimize_sync_memory (rtx memory)
109-{
110- rtx addr = force_reg (Pmode, XEXP (memory, 0));
111- rtx legitimate_memory = gen_rtx_MEM (GET_MODE (memory), addr);
112-
113- set_mem_alias_set (legitimate_memory, ALIAS_SET_MEMORY_BARRIER);
114- MEM_VOLATILE_P (legitimate_memory) = MEM_VOLATILE_P (memory);
115- return legitimate_memory;
116-}
117-
118-/* An instruction emitter. */
119-typedef void (* emit_f) (int label, const char *, rtx *);
120-
121-/* An instruction emitter that emits via the conventional
122- output_asm_insn. */
123-static void
124-arm_emit (int label ATTRIBUTE_UNUSED, const char *pattern, rtx *operands)
125-{
126- output_asm_insn (pattern, operands);
127-}
128-
129-/* Count the number of emitted synchronization instructions. */
130-static unsigned arm_insn_count;
131-
132-/* An emitter that counts emitted instructions but does not actually
133- emit instruction into the the instruction stream. */
134-static void
135-arm_count (int label,
136- const char *pattern ATTRIBUTE_UNUSED,
137- rtx *operands ATTRIBUTE_UNUSED)
138-{
139- if (! label)
140- ++ arm_insn_count;
141-}
142-
143-/* Construct a pattern using conventional output formatting and feed
144- it to output_asm_insn. Provides a mechanism to construct the
145- output pattern on the fly. Note the hard limit on the pattern
146- buffer size. */
147-static void
148-arm_output_asm_insn (emit_f emit, int label, rtx *operands,
149- const char *pattern, ...)
150-{
151- va_list ap;
152- char buffer[256];
153-
154- va_start (ap, pattern);
155- vsprintf (buffer, pattern, ap);
156- va_end (ap);
157- emit (label, buffer, operands);
158-}
159-
160-/* Emit the memory barrier instruction, if any, provided by this
161- target to a specified emitter. */
162-static void
163-arm_process_output_memory_barrier (emit_f emit, rtx *operands)
164-{
165- if (TARGET_HAVE_DMB)
166- {
167- /* Note we issue a system level barrier. We should consider
168- issuing a inner shareabilty zone barrier here instead, ie.
169- "DMB ISH". */
170- emit (0, "dmb\tsy", operands);
171- return;
172- }
173-
174- if (TARGET_HAVE_DMB_MCR)
175- {
176- emit (0, "mcr\tp15, 0, r0, c7, c10, 5", operands);
177- return;
178- }
179-
180- gcc_unreachable ();
181-}
182-
183-/* Emit the memory barrier instruction, if any, provided by this
184- target. */
185-const char *
186-arm_output_memory_barrier (rtx *operands)
187-{
188- arm_process_output_memory_barrier (arm_emit, operands);
189- return "";
190-}
191-
192-/* Helper to figure out the instruction suffix required on ldrex/strex
193- for operations on an object of the specified mode. */
194-static const char *
195-arm_ldrex_suffix (enum machine_mode mode)
196-{
197- switch (mode)
198- {
199- case QImode: return "b";
200- case HImode: return "h";
201- case SImode: return "";
202- case DImode: return "d";
203- default:
204- gcc_unreachable ();
205- }
206- return "";
207-}
208-
209-/* Emit an ldrex{b,h,d, } instruction appropriate for the specified
210- mode. */
211-static void
212-arm_output_ldrex (emit_f emit,
213- enum machine_mode mode,
214- rtx target,
215- rtx memory)
216-{
217- const char *suffix = arm_ldrex_suffix (mode);
218- rtx operands[2];
219-
220- operands[0] = target;
221- operands[1] = memory;
222- arm_output_asm_insn (emit, 0, operands, "ldrex%s\t%%0, %%C1", suffix);
223-}
224-
225-/* Emit a strex{b,h,d, } instruction appropriate for the specified
226- mode. */
227-static void
228-arm_output_strex (emit_f emit,
229- enum machine_mode mode,
230- const char *cc,
231- rtx result,
232- rtx value,
233- rtx memory)
234-{
235- const char *suffix = arm_ldrex_suffix (mode);
236- rtx operands[3];
237-
238- operands[0] = result;
239- operands[1] = value;
240- operands[2] = memory;
241- arm_output_asm_insn (emit, 0, operands, "strex%s%s\t%%0, %%1, %%C2", suffix,
242- cc);
243-}
244-
245-/* Helper to emit a two operand instruction. */
246-static void
247-arm_output_op2 (emit_f emit, const char *mnemonic, rtx d, rtx s)
248-{
249- rtx operands[2];
250-
251- operands[0] = d;
252- operands[1] = s;
253- arm_output_asm_insn (emit, 0, operands, "%s\t%%0, %%1", mnemonic);
254-}
255-
256-/* Helper to emit a three operand instruction. */
257-static void
258-arm_output_op3 (emit_f emit, const char *mnemonic, rtx d, rtx a, rtx b)
259-{
260- rtx operands[3];
261-
262- operands[0] = d;
263- operands[1] = a;
264- operands[2] = b;
265- arm_output_asm_insn (emit, 0, operands, "%s\t%%0, %%1, %%2", mnemonic);
266-}
267-
268-/* Emit a load store exclusive synchronization loop.
269-
270- do
271- old_value = [mem]
272- if old_value != required_value
273- break;
274- t1 = sync_op (old_value, new_value)
275- [mem] = t1, t2 = [0|1]
276- while ! t2
277-
278- Note:
279- t1 == t2 is not permitted
280- t1 == old_value is permitted
281-
282- required_value:
283-
284- RTX register or const_int representing the required old_value for
285- the modify to continue, if NULL no comparsion is performed. */
286-static void
287-arm_output_sync_loop (emit_f emit,
288- enum machine_mode mode,
289- rtx old_value,
290- rtx memory,
291- rtx required_value,
292- rtx new_value,
293- rtx t1,
294- rtx t2,
295- enum attr_sync_op sync_op,
296- int early_barrier_required)
297-{
298- rtx operands[1];
299-
300- gcc_assert (t1 != t2);
301-
302- if (early_barrier_required)
303- arm_process_output_memory_barrier (emit, NULL);
304-
305- arm_output_asm_insn (emit, 1, operands, "%sLSYT%%=:", LOCAL_LABEL_PREFIX);
306-
307- arm_output_ldrex (emit, mode, old_value, memory);
308-
309- if (required_value)
310- {
311- rtx operands[2];
312-
313- operands[0] = old_value;
314- operands[1] = required_value;
315- arm_output_asm_insn (emit, 0, operands, "cmp\t%%0, %%1");
316- arm_output_asm_insn (emit, 0, operands, "bne\t%sLSYB%%=", LOCAL_LABEL_PREFIX);
317- }
318-
319- switch (sync_op)
320- {
321- case SYNC_OP_ADD:
322- arm_output_op3 (emit, "add", t1, old_value, new_value);
323- break;
324-
325- case SYNC_OP_SUB:
326- arm_output_op3 (emit, "sub", t1, old_value, new_value);
327- break;
328-
329- case SYNC_OP_IOR:
330- arm_output_op3 (emit, "orr", t1, old_value, new_value);
331- break;
332-
333- case SYNC_OP_XOR:
334- arm_output_op3 (emit, "eor", t1, old_value, new_value);
335- break;
336-
337- case SYNC_OP_AND:
338- arm_output_op3 (emit,"and", t1, old_value, new_value);
339- break;
340-
341- case SYNC_OP_NAND:
342- arm_output_op3 (emit, "and", t1, old_value, new_value);
343- arm_output_op2 (emit, "mvn", t1, t1);
344- break;
345-
346- case SYNC_OP_NONE:
347- t1 = new_value;
348- break;
349- }
350-
351- arm_output_strex (emit, mode, "", t2, t1, memory);
352- operands[0] = t2;
353- arm_output_asm_insn (emit, 0, operands, "teq\t%%0, #0");
354- arm_output_asm_insn (emit, 0, operands, "bne\t%sLSYT%%=", LOCAL_LABEL_PREFIX);
355-
356- arm_process_output_memory_barrier (emit, NULL);
357- arm_output_asm_insn (emit, 1, operands, "%sLSYB%%=:", LOCAL_LABEL_PREFIX);
358-}
359-
360-static rtx
361-arm_get_sync_operand (rtx *operands, int index, rtx default_value)
362-{
363- if (index > 0)
364- default_value = operands[index - 1];
365-
366- return default_value;
367-}
368-
369-#define FETCH_SYNC_OPERAND(NAME, DEFAULT) \
370- arm_get_sync_operand (operands, (int) get_attr_sync_##NAME (insn), DEFAULT);
371-
372-/* Extract the operands for a synchroniztion instruction from the
373- instructions attributes and emit the instruction. */
374-static void
375-arm_process_output_sync_insn (emit_f emit, rtx insn, rtx *operands)
376-{
377- rtx result, memory, required_value, new_value, t1, t2;
378- int early_barrier;
379- enum machine_mode mode;
380- enum attr_sync_op sync_op;
381-
382- result = FETCH_SYNC_OPERAND(result, 0);
383- memory = FETCH_SYNC_OPERAND(memory, 0);
384- required_value = FETCH_SYNC_OPERAND(required_value, 0);
385- new_value = FETCH_SYNC_OPERAND(new_value, 0);
386- t1 = FETCH_SYNC_OPERAND(t1, 0);
387- t2 = FETCH_SYNC_OPERAND(t2, 0);
388- early_barrier =
389- get_attr_sync_release_barrier (insn) == SYNC_RELEASE_BARRIER_YES;
390- sync_op = get_attr_sync_op (insn);
391- mode = GET_MODE (memory);
392-
393- arm_output_sync_loop (emit, mode, result, memory, required_value,
394- new_value, t1, t2, sync_op, early_barrier);
395-}
396-
397-/* Emit a synchronization instruction loop. */
398-const char *
399-arm_output_sync_insn (rtx insn, rtx *operands)
400-{
401- arm_process_output_sync_insn (arm_emit, insn, operands);
402- return "";
403-}
404-
405-/* Count the number of machine instruction that will be emitted for a
406- synchronization instruction. Note that the emitter used does not
407- emit instructions, it just counts instructions being carefull not
408- to count labels. */
409-unsigned int
410-arm_sync_loop_insns (rtx insn, rtx *operands)
411-{
412- arm_insn_count = 0;
413- arm_process_output_sync_insn (arm_count, insn, operands);
414- return arm_insn_count;
415-}
416-
417-/* Helper to call a target sync instruction generator, dealing with
418- the variation in operands required by the different generators. */
419-static rtx
420-arm_call_generator (struct arm_sync_generator *generator, rtx old_value,
421- rtx memory, rtx required_value, rtx new_value)
422-{
423- switch (generator->op)
424- {
425- case arm_sync_generator_omn:
426- gcc_assert (! required_value);
427- return generator->u.omn (old_value, memory, new_value);
428-
429- case arm_sync_generator_omrn:
430- gcc_assert (required_value);
431- return generator->u.omrn (old_value, memory, required_value, new_value);
432- }
433-
434- return NULL;
435-}
436-
437-/* Expand a synchronization loop. The synchronization loop is expanded
438- as an opaque block of instructions in order to ensure that we do
439- not subsequently get extraneous memory accesses inserted within the
440- critical region. The exclusive access property of ldrex/strex is
441- only guaranteed in there are no intervening memory accesses. */
442-void
443-arm_expand_sync (enum machine_mode mode,
444- struct arm_sync_generator *generator,
445- rtx target, rtx memory, rtx required_value, rtx new_value)
446-{
447- if (target == NULL)
448- target = gen_reg_rtx (mode);
449-
450- memory = arm_legitimize_sync_memory (memory);
451- if (mode != SImode)
452- {
453- rtx load_temp = gen_reg_rtx (SImode);
454-
455- if (required_value)
456- required_value = convert_modes (SImode, mode, required_value, true);
457-
458- new_value = convert_modes (SImode, mode, new_value, true);
459- emit_insn (arm_call_generator (generator, load_temp, memory,
460- required_value, new_value));
461- emit_move_insn (target, gen_lowpart (mode, load_temp));
462- }
463- else
464- {
465- emit_insn (arm_call_generator (generator, target, memory, required_value,
466- new_value));
467- }
468-}
469-
470 #include "gt-arm.h"
471Index: gcc-4.5/gcc/config/arm/arm.h
472===================================================================
473--- gcc-4.5.orig/gcc/config/arm/arm.h
474+++ gcc-4.5/gcc/config/arm/arm.h
475@@ -128,24 +128,6 @@ enum target_cpus
476 /* The processor for which instructions should be scheduled. */
477 extern enum processor_type arm_tune;
478
479-enum arm_sync_generator_tag
480- {
481- arm_sync_generator_omn,
482- arm_sync_generator_omrn
483- };
484-
485-/* Wrapper to pass around a polymorphic pointer to a sync instruction
486- generator and. */
487-struct arm_sync_generator
488-{
489- enum arm_sync_generator_tag op;
490- union
491- {
492- rtx (* omn) (rtx, rtx, rtx);
493- rtx (* omrn) (rtx, rtx, rtx, rtx);
494- } u;
495-};
496-
497 typedef enum arm_cond_code
498 {
499 ARM_EQ = 0, ARM_NE, ARM_CS, ARM_CC, ARM_MI, ARM_PL, ARM_VS, ARM_VC,
500@@ -290,20 +272,6 @@ extern void (*arm_lang_output_object_att
501 for Thumb-2. */
502 #define TARGET_UNIFIED_ASM TARGET_THUMB2
503
504-/* Nonzero if this chip provides the DMB instruction. */
505-#define TARGET_HAVE_DMB (arm_arch7)
506-
507-/* Nonzero if this chip implements a memory barrier via CP15. */
508-#define TARGET_HAVE_DMB_MCR (arm_arch6k && ! TARGET_HAVE_DMB)
509-
510-/* Nonzero if this chip implements a memory barrier instruction. */
511-#define TARGET_HAVE_MEMORY_BARRIER (TARGET_HAVE_DMB || TARGET_HAVE_DMB_MCR)
512-
513-/* Nonzero if this chip supports ldrex and strex */
514-#define TARGET_HAVE_LDREX ((arm_arch6 && TARGET_ARM) || arm_arch7)
515-
516-/* Nonzero if this chip supports ldrex{bhd} and strex{bhd}. */
517-#define TARGET_HAVE_LDREXBHD ((arm_arch6k && TARGET_ARM) || arm_arch7)
518
519 /* True iff the full BPABI is being used. If TARGET_BPABI is true,
520 then TARGET_AAPCS_BASED must be true -- but the converse does not
521@@ -437,12 +405,6 @@ extern int arm_arch5e;
522 /* Nonzero if this chip supports the ARM Architecture 6 extensions. */
523 extern int arm_arch6;
524
525-/* Nonzero if this chip supports the ARM Architecture 6k extensions. */
526-extern int arm_arch6k;
527-
528-/* Nonzero if this chip supports the ARM Architecture 7 extensions. */
529-extern int arm_arch7;
530-
531 /* Nonzero if instructions not present in the 'M' profile can be used. */
532 extern int arm_arch_notm;
533
534Index: gcc-4.5/gcc/config/arm/arm.md
535===================================================================
536--- gcc-4.5.orig/gcc/config/arm/arm.md
537+++ gcc-4.5/gcc/config/arm/arm.md
538@@ -103,7 +103,6 @@
539 (UNSPEC_RBIT 26) ; rbit operation.
540 (UNSPEC_SYMBOL_OFFSET 27) ; The offset of the start of the symbol from
541 ; another symbolic address.
542- (UNSPEC_MEMORY_BARRIER 28) ; Represent a memory barrier.
543 ]
544 )
545
546@@ -140,11 +139,6 @@
547 (VUNSPEC_ALIGN32 16) ; Used to force 32-byte alignment.
548 (VUNSPEC_EH_RETURN 20); Use to override the return address for exception
549 ; handling.
550- (VUNSPEC_SYNC_COMPARE_AND_SWAP 21) ; Represent an atomic compare swap.
551- (VUNSPEC_SYNC_LOCK 22) ; Represent a sync_lock_test_and_set.
552- (VUNSPEC_SYNC_OP 23) ; Represent a sync_<op>
553- (VUNSPEC_SYNC_NEW_OP 24) ; Represent a sync_new_<op>
554- (VUNSPEC_SYNC_OLD_OP 25) ; Represent a sync_old_<op>
555 ]
556 )
557
558@@ -169,21 +163,8 @@
559 (define_attr "fpu" "none,fpa,fpe2,fpe3,maverick,vfp"
560 (const (symbol_ref "arm_fpu_attr")))
561
562-(define_attr "sync_result" "none,0,1,2,3,4,5" (const_string "none"))
563-(define_attr "sync_memory" "none,0,1,2,3,4,5" (const_string "none"))
564-(define_attr "sync_required_value" "none,0,1,2,3,4,5" (const_string "none"))
565-(define_attr "sync_new_value" "none,0,1,2,3,4,5" (const_string "none"))
566-(define_attr "sync_t1" "none,0,1,2,3,4,5" (const_string "none"))
567-(define_attr "sync_t2" "none,0,1,2,3,4,5" (const_string "none"))
568-(define_attr "sync_release_barrier" "yes,no" (const_string "yes"))
569-(define_attr "sync_op" "none,add,sub,ior,xor,and,nand"
570- (const_string "none"))
571-
572 ; LENGTH of an instruction (in bytes)
573-(define_attr "length" ""
574- (cond [(not (eq_attr "sync_memory" "none"))
575- (symbol_ref "arm_sync_loop_insns (insn, operands) * 4")
576- ] (const_int 4)))
577+(define_attr "length" "" (const_int 4))
578
579 ; POOL_RANGE is how far away from a constant pool entry that this insn
580 ; can be placed. If the distance is zero, then this insn will never
581@@ -11568,5 +11549,4 @@
582 (include "thumb2.md")
583 ;; Neon patterns
584 (include "neon.md")
585-;; Synchronization Primitives
586-(include "sync.md")
587+
588Index: gcc-4.5/gcc/config/arm/predicates.md
589===================================================================
590--- gcc-4.5.orig/gcc/config/arm/predicates.md
591+++ gcc-4.5/gcc/config/arm/predicates.md
592@@ -573,11 +573,6 @@
593 (and (match_test "TARGET_32BIT")
594 (match_operand 0 "arm_di_operand"))))
595
596-;; True if the operand is memory reference suitable for a ldrex/strex.
597-(define_predicate "arm_sync_memory_operand"
598- (and (match_operand 0 "memory_operand")
599- (match_code "reg" "0")))
600-
601 ;; Predicates for parallel expanders based on mode.
602 (define_special_predicate "vect_par_constant_high"
603 (match_code "parallel")
diff --git a/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99409.patch b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99409.patch
new file mode 100644
index 0000000000..39c3ab0810
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99409.patch
@@ -0,0 +1,18 @@
12010-09-30 Jie Zhang <jie@codesourcery.com>
2
3 gcc/testsuite/
4 * gcc.target/arm/neon-thumb2-move.c: Add
5 dg-require-effective-target arm_thumb2_ok.
6
7=== modified file 'gcc/testsuite/gcc.target/arm/neon-thumb2-move.c'
8Index: gcc-4.5/gcc/testsuite/gcc.target/arm/neon-thumb2-move.c
9===================================================================
10--- gcc-4.5.orig/gcc/testsuite/gcc.target/arm/neon-thumb2-move.c
11+++ gcc-4.5/gcc/testsuite/gcc.target/arm/neon-thumb2-move.c
12@@ -1,5 +1,6 @@
13 /* { dg-do compile } */
14 /* { dg-require-effective-target arm_neon_ok } */
15+/* { dg-require-effective-target arm_thumb2_ok } */
16 /* { dg-options "-O2 -mthumb -march=armv7-a" } */
17 /* { dg-add-options arm_neon } */
18
diff --git a/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99410.patch b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99410.patch
new file mode 100644
index 0000000000..f2a1c95621
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99410.patch
@@ -0,0 +1,32 @@
12010-10-06 Julian Brown <julian@codesourcery.com>
2
3 gcc/testsuite/
4 * gcc.dg/Warray-bounds-3.c: Add -fno-unroll-loops for ARM.
5 * gcc.dg/vect/vect.exp: Likewise, for all vect tests.
6
7
8=== modified file 'gcc/testsuite/gcc.dg/Warray-bounds-3.c'
9Index: gcc-4.5/gcc/testsuite/gcc.dg/Warray-bounds-3.c
10===================================================================
11--- gcc-4.5.orig/gcc/testsuite/gcc.dg/Warray-bounds-3.c
12+++ gcc-4.5/gcc/testsuite/gcc.dg/Warray-bounds-3.c
13@@ -1,5 +1,7 @@
14 /* { dg-do compile } */
15 /* { dg-options "-O2 -Warray-bounds" } */
16+/* { dg-options "-O2 -Warray-bounds -fno-unroll-loops" { target arm*-*-* } } */
17+
18 /* based on PR 31227 */
19
20 typedef __SIZE_TYPE__ size_t;
21Index: gcc-4.5/gcc/testsuite/gcc.dg/vect/vect.exp
22===================================================================
23--- gcc-4.5.orig/gcc/testsuite/gcc.dg/vect/vect.exp
24+++ gcc-4.5/gcc/testsuite/gcc.dg/vect/vect.exp
25@@ -109,6 +109,7 @@ if [istarget "powerpc-*paired*"] {
26 # default to avoid loss of precision. We must pass -ffast-math to test
27 # vectorization of float operations.
28 lappend DEFAULT_VECTCFLAGS "-ffast-math"
29+ lappend DEFAULT_VECTCFLAGS "-fno-unroll-loops"
30 if [is-effective-target arm_neon_hw] {
31 set dg-do-what-default run
32 } else {
diff --git a/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99411.patch b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99411.patch
new file mode 100644
index 0000000000..c9a9316861
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99411.patch
@@ -0,0 +1,21 @@
12010-10-08 Jie Zhang <jie@codesourcery.com>
2
3 * config/arm/arm.c (arm_override_options): Disable
4 -fsched-interblock for Cortex-M4.
5
6=== modified file 'gcc/config/arm/arm.c'
7Index: gcc-4.5/gcc/config/arm/arm.c
8===================================================================
9--- gcc-4.5.orig/gcc/config/arm/arm.c
10+++ gcc-4.5/gcc/config/arm/arm.c
11@@ -1913,6 +1913,10 @@ arm_override_options (void)
12 fix_cm3_ldrd = 0;
13 }
14
15+ /* Disable -fsched-interblock for Cortex-M4. */
16+ if (arm_selected_tune->core == cortexm4)
17+ flag_schedule_interblock = 0;
18+
19 if (TARGET_THUMB1 && flag_schedule_insns)
20 {
21 /* Don't warn since it's on by default in -O2. */
diff --git a/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99412.patch b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99412.patch
new file mode 100644
index 0000000000..c0aabbeb56
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99412.patch
@@ -0,0 +1,316 @@
12010-10-09 Jie Zhang <jie@codesourcery.com>
2
3 Backport from mainline:
4
5 gcc/
6 2010-06-03 Paul Brook <paul@codesourcery.com>
7 * config/arm/arm.c (FL_TUNE): Define.
8 (arm_default_cpu, arm_cpu_select): Remove.
9 (all_cores): Populate core field.
10 (arm_selected_arch, arm_selected_cpu, arm_selected_tune): New.
11 (arm_find_cpu): New function.
12 (arm_handle_option): Lookup cpu/architecture names.
13 (arm_override_options): Cleanup mcpu/march/mtune handling.
14 (arm_file_start): Ditto.
15
16=== modified file 'gcc/config/arm/arm.c'
17Index: gcc-4.5/gcc/config/arm/arm.c
18===================================================================
19--- gcc-4.5.orig/gcc/config/arm/arm.c
20+++ gcc-4.5/gcc/config/arm/arm.c
21@@ -550,9 +550,6 @@ enum processor_type arm_tune = arm_none;
22 /* The current tuning set. */
23 const struct tune_params *current_tune;
24
25-/* The default processor used if not overridden by commandline. */
26-static enum processor_type arm_default_cpu = arm_none;
27-
28 /* Which floating point hardware to schedule for. */
29 int arm_fpu_attr;
30
31@@ -608,6 +605,10 @@ static int thumb_call_reg_needed;
32
33 #define FL_IWMMXT (1 << 29) /* XScale v2 or "Intel Wireless MMX technology". */
34
35+/* Flags that only effect tuning, not available instructions. */
36+#define FL_TUNE (FL_WBUF | FL_VFPV2 | FL_STRONG | FL_LDSCHED \
37+ | FL_CO_PROC)
38+
39 #define FL_FOR_ARCH2 FL_NOTM
40 #define FL_FOR_ARCH3 (FL_FOR_ARCH2 | FL_MODE32)
41 #define FL_FOR_ARCH3M (FL_FOR_ARCH3 | FL_ARCH3M)
42@@ -808,7 +809,7 @@ static const struct processors all_cores
43 {
44 /* ARM Cores */
45 #define ARM_CORE(NAME, IDENT, ARCH, FLAGS, COSTS) \
46- {NAME, arm_none, #ARCH, FLAGS | FL_FOR_ARCH##ARCH, &arm_##COSTS##_tune},
47+ {NAME, IDENT, #ARCH, FLAGS | FL_FOR_ARCH##ARCH, &arm_##COSTS##_tune},
48 #include "arm-cores.def"
49 #undef ARM_CORE
50 {NULL, arm_none, NULL, 0, NULL}
51@@ -850,29 +851,12 @@ static const struct processors all_archi
52 {NULL, arm_none, NULL, 0 , NULL}
53 };
54
55-struct arm_cpu_select
56-{
57- const char * string;
58- const char * name;
59- const struct processors * processors;
60-};
61-
62-/* This is a magic structure. The 'string' field is magically filled in
63- with a pointer to the value specified by the user on the command line
64- assuming that the user has specified such a value. */
65-
66-static struct arm_cpu_select arm_select[] =
67-{
68- /* string name processors */
69- { NULL, "-mcpu=", all_cores },
70- { NULL, "-march=", all_architectures },
71- { NULL, "-mtune=", all_cores }
72-};
73
74-/* Defines representing the indexes into the above table. */
75-#define ARM_OPT_SET_CPU 0
76-#define ARM_OPT_SET_ARCH 1
77-#define ARM_OPT_SET_TUNE 2
78+/* These are populated as commandline arguments are processed, or NULL
79+ if not specified. */
80+static const struct processors *arm_selected_arch;
81+static const struct processors *arm_selected_cpu;
82+static const struct processors *arm_selected_tune;
83
84 /* The name of the preprocessor macro to define for this architecture. */
85
86@@ -1234,6 +1218,24 @@ arm_gimplify_va_arg_expr (tree valist, t
87 return std_gimplify_va_arg_expr (valist, type, pre_p, post_p);
88 }
89
90+/* Lookup NAME in SEL. */
91+
92+static const struct processors *
93+arm_find_cpu (const char *name, const struct processors *sel, const char *desc)
94+{
95+ if (!(name && *name))
96+ return NULL;
97+
98+ for (; sel->name != NULL; sel++)
99+ {
100+ if (streq (name, sel->name))
101+ return sel;
102+ }
103+
104+ error ("bad value (%s) for %s switch", name, desc);
105+ return NULL;
106+}
107+
108 /* Implement TARGET_HANDLE_OPTION. */
109
110 static bool
111@@ -1242,11 +1244,11 @@ arm_handle_option (size_t code, const ch
112 switch (code)
113 {
114 case OPT_march_:
115- arm_select[1].string = arg;
116+ arm_selected_arch = arm_find_cpu(arg, all_architectures, "-march");
117 return true;
118
119 case OPT_mcpu_:
120- arm_select[0].string = arg;
121+ arm_selected_cpu = arm_find_cpu(arg, all_cores, "-mcpu");
122 return true;
123
124 case OPT_mhard_float:
125@@ -1258,7 +1260,7 @@ arm_handle_option (size_t code, const ch
126 return true;
127
128 case OPT_mtune_:
129- arm_select[2].string = arg;
130+ arm_selected_tune = arm_find_cpu(arg, all_cores, "-mtune");
131 return true;
132
133 default:
134@@ -1358,88 +1360,52 @@ void
135 arm_override_options (void)
136 {
137 unsigned i;
138- enum processor_type target_arch_cpu = arm_none;
139- enum processor_type selected_cpu = arm_none;
140
141- /* Set up the flags based on the cpu/architecture selected by the user. */
142- for (i = ARRAY_SIZE (arm_select); i--;)
143+ if (arm_selected_arch)
144 {
145- struct arm_cpu_select * ptr = arm_select + i;
146-
147- if (ptr->string != NULL && ptr->string[0] != '\0')
148- {
149- const struct processors * sel;
150-
151- for (sel = ptr->processors; sel->name != NULL; sel++)
152- if (streq (ptr->string, sel->name))
153- {
154- /* Set the architecture define. */
155- if (i != ARM_OPT_SET_TUNE)
156- sprintf (arm_arch_name, "__ARM_ARCH_%s__", sel->arch);
157-
158- /* Determine the processor core for which we should
159- tune code-generation. */
160- if (/* -mcpu= is a sensible default. */
161- i == ARM_OPT_SET_CPU
162- /* -mtune= overrides -mcpu= and -march=. */
163- || i == ARM_OPT_SET_TUNE)
164- arm_tune = (enum processor_type) (sel - ptr->processors);
165-
166- /* Remember the CPU associated with this architecture.
167- If no other option is used to set the CPU type,
168- we'll use this to guess the most suitable tuning
169- options. */
170- if (i == ARM_OPT_SET_ARCH)
171- target_arch_cpu = sel->core;
172-
173- if (i == ARM_OPT_SET_CPU)
174- selected_cpu = (enum processor_type) (sel - ptr->processors);
175-
176- if (i != ARM_OPT_SET_TUNE)
177- {
178- /* If we have been given an architecture and a processor
179- make sure that they are compatible. We only generate
180- a warning though, and we prefer the CPU over the
181- architecture. */
182- if (insn_flags != 0 && (insn_flags ^ sel->flags))
183- warning (0, "switch -mcpu=%s conflicts with -march= switch",
184- ptr->string);
185-
186- insn_flags = sel->flags;
187- }
188-
189- break;
190- }
191+ if (arm_selected_cpu)
192+ {
193+ /* Check for conflict between mcpu and march */
194+ if ((arm_selected_cpu->flags ^ arm_selected_arch->flags) & ~FL_TUNE)
195+ {
196+ warning (0, "switch -mcpu=%s conflicts with -march=%s switch",
197+ arm_selected_cpu->name, arm_selected_arch->name);
198+ /* -march wins for code generation.
199+ -mcpu wins for default tuning. */
200+ if (!arm_selected_tune)
201+ arm_selected_tune = arm_selected_cpu;
202
203- if (sel->name == NULL)
204- error ("bad value (%s) for %s switch", ptr->string, ptr->name);
205- }
206+ arm_selected_cpu = arm_selected_arch;
207+ }
208+ else
209+ /* -mcpu wins. */
210+ arm_selected_arch = NULL;
211+ }
212+ else
213+ /* Pick a CPU based on the architecture. */
214+ arm_selected_cpu = arm_selected_arch;
215 }
216
217- /* Guess the tuning options from the architecture if necessary. */
218- if (arm_tune == arm_none)
219- arm_tune = target_arch_cpu;
220-
221 /* If the user did not specify a processor, choose one for them. */
222- if (insn_flags == 0)
223+ if (!arm_selected_cpu)
224 {
225 const struct processors * sel;
226 unsigned int sought;
227
228- selected_cpu = (enum processor_type) TARGET_CPU_DEFAULT;
229- if (selected_cpu == arm_none)
230+ arm_selected_cpu = &all_cores[TARGET_CPU_DEFAULT];
231+ if (!arm_selected_cpu->name)
232 {
233 #ifdef SUBTARGET_CPU_DEFAULT
234 /* Use the subtarget default CPU if none was specified by
235 configure. */
236- selected_cpu = (enum processor_type) SUBTARGET_CPU_DEFAULT;
237+ arm_selected_cpu = &all_cores[SUBTARGET_CPU_DEFAULT];
238 #endif
239 /* Default to ARM6. */
240- if (selected_cpu == arm_none)
241- selected_cpu = arm6;
242+ if (arm_selected_cpu->name)
243+ arm_selected_cpu = &all_cores[arm6];
244 }
245- sel = &all_cores[selected_cpu];
246
247+ sel = arm_selected_cpu;
248 insn_flags = sel->flags;
249
250 /* Now check to see if the user has specified some command line
251@@ -1500,17 +1466,21 @@ arm_override_options (void)
252 sel = best_fit;
253 }
254
255- insn_flags = sel->flags;
256+ arm_selected_cpu = sel;
257 }
258- sprintf (arm_arch_name, "__ARM_ARCH_%s__", sel->arch);
259- arm_default_cpu = (enum processor_type) (sel - all_cores);
260- if (arm_tune == arm_none)
261- arm_tune = arm_default_cpu;
262 }
263
264- /* The processor for which we should tune should now have been
265- chosen. */
266- gcc_assert (arm_tune != arm_none);
267+ gcc_assert (arm_selected_cpu);
268+ /* The selected cpu may be an architecture, so lookup tuning by core ID. */
269+ if (!arm_selected_tune)
270+ arm_selected_tune = &all_cores[arm_selected_cpu->core];
271+
272+ sprintf (arm_arch_name, "__ARM_ARCH_%s__", arm_selected_cpu->arch);
273+ insn_flags = arm_selected_cpu->flags;
274+
275+ arm_tune = arm_selected_tune->core;
276+ tune_flags = arm_selected_tune->flags;
277+ current_tune = arm_selected_tune->tune;
278
279 if (arm_tune == cortexa8 && optimize >= 3)
280 {
281@@ -1522,9 +1492,6 @@ arm_override_options (void)
282 align_jumps = 16;
283 }
284
285- tune_flags = all_cores[(int)arm_tune].flags;
286- current_tune = all_cores[(int)arm_tune].tune;
287-
288 if (target_fp16_format_name)
289 {
290 for (i = 0; i < ARRAY_SIZE (all_fp16_formats); i++)
291@@ -1907,7 +1874,7 @@ arm_override_options (void)
292 /* Enable -mfix-cortex-m3-ldrd by default for Cortex-M3 cores. */
293 if (fix_cm3_ldrd == 2)
294 {
295- if (selected_cpu == cortexm3)
296+ if (arm_selected_cpu->core == cortexm3)
297 fix_cm3_ldrd = 1;
298 else
299 fix_cm3_ldrd = 0;
300@@ -21235,13 +21202,10 @@ arm_file_start (void)
301 if (TARGET_BPABI)
302 {
303 const char *fpu_name;
304- if (arm_select[0].string)
305- asm_fprintf (asm_out_file, "\t.cpu %s\n", arm_select[0].string);
306- else if (arm_select[1].string)
307- asm_fprintf (asm_out_file, "\t.arch %s\n", arm_select[1].string);
308+ if (arm_selected_arch)
309+ asm_fprintf (asm_out_file, "\t.arch %s\n", arm_selected_arch->name);
310 else
311- asm_fprintf (asm_out_file, "\t.cpu %s\n",
312- all_cores[arm_default_cpu].name);
313+ asm_fprintf (asm_out_file, "\t.cpu %s\n", arm_selected_cpu->name);
314
315 if (TARGET_SOFT_FLOAT)
316 {
diff --git a/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99413.patch b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99413.patch
new file mode 100644
index 0000000000..3f873e7fe6
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99413.patch
@@ -0,0 +1,26 @@
12010-10-13 Chung-Lin Tang <cltang@codesourcery.com>
2
3 Backport from mainline:
4
5 2010-04-20 James E. Wilson <wilson@codesourcery.com>
6
7 gcc/
8 PR rtl-optimization/43520
9 * ira-lives.c (ira_implicitly_set_insn_hard_regs): Exclude classes with
10 zero available registers.
11
12=== modified file 'gcc/ira-lives.c'
13Index: gcc-4.5/gcc/ira-lives.c
14===================================================================
15--- gcc-4.5.orig/gcc/ira-lives.c
16+++ gcc-4.5/gcc/ira-lives.c
17@@ -805,6 +805,9 @@ ira_implicitly_set_insn_hard_regs (HARD_
18 ? GENERAL_REGS
19 : REG_CLASS_FROM_CONSTRAINT (c, p));
20 if (cl != NO_REGS
21+ /* There is no register pressure problem if all of the
22+ regs in this class are fixed. */
23+ && ira_available_class_regs[cl] != 0
24 && (ira_available_class_regs[cl]
25 <= ira_reg_class_nregs[cl][mode]))
26 IOR_HARD_REG_SET (*set, reg_class_contents[cl]);
diff --git a/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99414.patch b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99414.patch
new file mode 100644
index 0000000000..648ea5fa5e
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99414.patch
@@ -0,0 +1,36 @@
12010-10-15 Yao Qi <yao@codesourcery.com>
2
3 Backport from mainline:
4
5 2010-10-14 Yao Qi <yao@codesourcery.com>
6
7 gcc/
8 PR target/45447
9 * config/arm/arm.c (arm_build_builtin_va_list): Assign
10 va_list_name to TYPE_STUB_DECL (va_list_type).
11
12 gcc/testsuite/
13 PR target/45447
14 * gcc.target/arm/pr45447.c: New test.
15
16=== modified file 'gcc/config/arm/arm.c'
17Index: gcc-4.5/gcc/config/arm/arm.c
18===================================================================
19--- gcc-4.5.orig/gcc/config/arm/arm.c
20+++ gcc-4.5/gcc/config/arm/arm.c
21@@ -1166,6 +1166,7 @@ arm_build_builtin_va_list (void)
22 va_list_type);
23 DECL_ARTIFICIAL (va_list_name) = 1;
24 TYPE_NAME (va_list_type) = va_list_name;
25+ TYPE_STUB_DECL (va_list_type) = va_list_name;
26 /* Create the __ap field. */
27 ap_field = build_decl (BUILTINS_LOCATION,
28 FIELD_DECL,
29Index: gcc-4.5/gcc/testsuite/gcc.target/arm/pr45447.c
30===================================================================
31--- /dev/null
32+++ gcc-4.5/gcc/testsuite/gcc.target/arm/pr45447.c
33@@ -0,0 +1,3 @@
34+/* { dg-do compile } */
35+/* { dg-options "-g -femit-struct-debug-baseonly" } */
36+typedef __builtin_va_list x;
diff --git a/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99415.patch b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99415.patch
new file mode 100644
index 0000000000..3622ac4238
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99415.patch
@@ -0,0 +1,46 @@
12010-10-13 Chung-Lin Tang <cltang@codesourcery.com>
2
3 Issue #8615
4
5 Backport from mainline:
6
7 2010-10-12 Chung-Lin Tang <cltang@codesourcery.com>
8
9 gcc/
10 * config/arm/arm.h (ARM_EXPAND_ALIGNMENT): Rename from
11 DATA_ALIGNMENT and add COND parameter. Update comments above.
12 (DATA_ALIGNMENT): Use ARM_EXPAND_ALIGNMENT, with !optimize_size.
13 (LOCAL_ALIGNMENT): Use ARM_EXPAND_ALIGNMENT, with
14 !flag_conserve_stack.
15
16=== modified file 'gcc/config/arm/arm.h'
17Index: gcc-4.5/gcc/config/arm/arm.h
18===================================================================
19--- gcc-4.5.orig/gcc/config/arm/arm.h
20+++ gcc-4.5/gcc/config/arm/arm.h
21@@ -596,15 +596,21 @@ extern int low_irq_latency;
22 /* Align definitions of arrays, unions and structures so that
23 initializations and copies can be made more efficient. This is not
24 ABI-changing, so it only affects places where we can see the
25- definition. */
26-#define DATA_ALIGNMENT(EXP, ALIGN) \
27- ((((ALIGN) < BITS_PER_WORD) \
28+ definition. Increasing the alignment tends to introduce padding,
29+ so don't do this when optimizing for size/conserving stack space. */
30+#define ARM_EXPAND_ALIGNMENT(COND, EXP, ALIGN) \
31+ (((COND) && ((ALIGN) < BITS_PER_WORD) \
32 && (TREE_CODE (EXP) == ARRAY_TYPE \
33 || TREE_CODE (EXP) == UNION_TYPE \
34 || TREE_CODE (EXP) == RECORD_TYPE)) ? BITS_PER_WORD : (ALIGN))
35
36+/* Align global data. */
37+#define DATA_ALIGNMENT(EXP, ALIGN) \
38+ ARM_EXPAND_ALIGNMENT(!optimize_size, EXP, ALIGN)
39+
40 /* Similarly, make sure that objects on the stack are sensibly aligned. */
41-#define LOCAL_ALIGNMENT(EXP, ALIGN) DATA_ALIGNMENT(EXP, ALIGN)
42+#define LOCAL_ALIGNMENT(EXP, ALIGN) \
43+ ARM_EXPAND_ALIGNMENT(!flag_conserve_stack, EXP, ALIGN)
44
45 /* Setting STRUCTURE_SIZE_BOUNDARY to 32 produces more efficient code, but the
46 value set in previous versions of this toolchain was 8, which produces more
diff --git a/recipes-devtools/gcc/gcc-4.5/mips64-nomultilib.patch b/recipes-devtools/gcc/gcc-4.5/mips64-nomultilib.patch
new file mode 100644
index 0000000000..1ef69f899d
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/mips64-nomultilib.patch
@@ -0,0 +1,52 @@
1Index: gcc-4.5/gcc/config/mips/linux64.h
2===================================================================
3--- gcc-4.5.orig/gcc/config/mips/linux64.h 2010-09-25 02:05:05.484423095 -0700
4+++ gcc-4.5/gcc/config/mips/linux64.h 2010-09-25 02:31:18.524931014 -0700
5@@ -26,7 +26,7 @@
6 BASE_DRIVER_SELF_SPECS, \
7 LINUX_DRIVER_SELF_SPECS \
8 " %{!EB:%{!EL:%(endian_spec)}}" \
9- " %{!mabi=*: -mabi=n32}"
10+ " %{!mabi=*: -mabi=64}"
11
12 #undef LIB_SPEC
13 #define LIB_SPEC "\
14@@ -35,9 +35,9 @@
15 %{!shared: \
16 %{profile:-lc_p} %{!profile:-lc}}"
17
18-#define GLIBC_DYNAMIC_LINKER32 "/lib/ld.so.1"
19-#define GLIBC_DYNAMIC_LINKER64 "/lib64/ld.so.1"
20-#define GLIBC_DYNAMIC_LINKERN32 "/lib32/ld.so.1"
21+#define GLIBC_DYNAMIC_LINKER32 "/lib32/ld.so.1"
22+#define GLIBC_DYNAMIC_LINKER64 "/lib/ld.so.1"
23+#define GLIBC_DYNAMIC_LINKERN32 "/lib64/ld.so.1"
24 #define UCLIBC_DYNAMIC_LINKERN32 "/lib32/ld-uClibc.so.0"
25 #define LINUX_DYNAMIC_LINKERN32 \
26 CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKERN32, UCLIBC_DYNAMIC_LINKERN32)
27Index: gcc-4.5/gcc/config.gcc
28===================================================================
29--- gcc-4.5.orig/gcc/config.gcc 2010-07-22 16:37:17.000000000 -0700
30+++ gcc-4.5/gcc/config.gcc 2010-09-25 02:25:41.412414136 -0700
31@@ -1707,7 +1707,7 @@
32 *-*-irix6*)
33 tm_file="${tm_file} mips/iris6.h"
34 tmake_file="${tmake_file} mips/t-iris6"
35- tm_defines="${tm_defines} MIPS_ISA_DEFAULT=3 MIPS_ABI_DEFAULT=ABI_N32"
36+ tm_defines="${tm_defines} MIPS_ISA_DEFAULT=3 MIPS_ABI_DEFAULT=ABI_64"
37 case ${target} in
38 *-*-irix6.[0-4]*)
39 use_gcc_stdint=provide
40Index: gcc-4.5/gcc/config/mips/t-linux64
41===================================================================
42--- gcc-4.5.orig/gcc/config/mips/t-linux64 2010-07-11 16:14:42.000000000 -0700
43+++ gcc-4.5/gcc/config/mips/t-linux64 2010-09-25 02:29:52.758708250 -0700
44@@ -18,7 +18,7 @@
45
46 MULTILIB_OPTIONS = mabi=n32/mabi=32/mabi=64
47 MULTILIB_DIRNAMES = n32 32 64
48-MULTILIB_OSDIRNAMES = ../lib32 ../lib ../lib64
49+MULTILIB_OSDIRNAMES = ../lib64 ../lib32 ../lib
50
51 EXTRA_MULTILIB_PARTS=crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o
52
diff --git a/recipes-devtools/gcc/gcc-4.5/optional_libstdc.patch b/recipes-devtools/gcc/gcc-4.5/optional_libstdc.patch
new file mode 100644
index 0000000000..0f74353a1f
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/optional_libstdc.patch
@@ -0,0 +1,23 @@
1gcc-runtime builds libstdc++ separately from gcc-cross-*. Its configure tests using g++
2will not run correctly since my default the linker will try and link against libstdc++
3which shouldn't exist yet. We need an option to disable the automatically added -lstdc++
4option whilst leaving -lc, -lgcc and other automatic library dependencies. This patch
5adds such an option which only disables the -lstdc++ linkage.
6
7A "standard" gcc build uses xgcc and hence avoids this. We should ask upstream how to
8do this officially, the likely answer is don't build libstdc++ separately.
9
10RP 29/6/10
11
12Index: gcc-4.3.3/gcc/cp/g++spec.c
13===================================================================
14--- gcc-4.3.3.orig/gcc/cp/g++spec.c 2010-06-29 00:06:03.901695025 +0100
15+++ gcc-4.3.3/gcc/cp/g++spec.c 2010-06-29 00:06:58.800325439 +0100
16@@ -131,6 +131,7 @@
17 if (argv[i][0] == '-')
18 {
19 if (strcmp (argv[i], "-nostdlib") == 0
20+ || strcmp (argv[i], "-nostdlib++") == 0
21 || strcmp (argv[i], "-nodefaultlibs") == 0)
22 {
23 library = -1;
diff --git a/recipes-devtools/gcc/gcc-4.5/pr30961.dpatch b/recipes-devtools/gcc/gcc-4.5/pr30961.dpatch
new file mode 100644
index 0000000000..b20fdf5bf5
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/pr30961.dpatch
@@ -0,0 +1,179 @@
1#! /bin/sh -e
2
3# DP: <your description>
4
5dir=
6if [ $# -eq 3 -a "$2" = '-d' ]; then
7 pdir="-d $3"
8 dir="$3/"
9elif [ $# -ne 1 ]; then
10 echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
11 exit 1
12fi
13case "$1" in
14 -patch)
15 patch $pdir -f --no-backup-if-mismatch -p0 < $0
16 ;;
17 -unpatch)
18 patch $pdir -f --no-backup-if-mismatch -R -p0 < $0
19 ;;
20 *)
21 echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
22 exit 1
23esac
24exit 0
25
26From: "H.J. Lu" <hjl@lucon.org>
27Sender: gcc-patches-owner@gcc.gnu.org
28To: gcc-patches@gcc.gnu.org
29Subject: PATCH: PR target/30961: [4.1/4.2/4.3 regression] redundant reg/mem stores/moves
30Date: Mon, 27 Aug 2007 11:34:12 -0700
31
32We start with
33
34(note:HI 3 4 22 2 NOTE_INSN_FUNCTION_BEG)
35
36(insn:HI 6 3 10 2 c.c:3 (set (reg:DF 58 [ <result> ])
37 (subreg:DF (reg/v:DI 59 [ in ]) 0)) 102 {*movdf_integer_rex64} (expr_list:REG_DEAD (reg/v:DI 59 [ in ])
38 (nil)))
39
40(insn:HI 10 6 16 2 c.c:7 (set (reg/i:DF 21 xmm0 [ <result> ])
41 (reg:DF 58 [ <result> ])) 102 {*movdf_integer_rex64} (expr_list:REG_DEAD (reg:DF 58 [ <result> ])
42 (nil)))
43
44(insn:HI 16 10 0 2 c.c:7 (use (reg/i:DF 21 xmm0 [ <result> ])) -1 (nil))
45
46we are trying to allocate registers for insn 6 and we allocate
47xmm0 for the return value. Reload doesn't check if xmm0 can be used for
48DF 59, it allocates xmm1 for DF 59 and generates:
49
50Reloads for insn # 6
51Reload 0: reload_in (DF) = (reg:DF 5 di)
52 SSE_REGS, RELOAD_FOR_INPUT (opnum = 1), can't combine
53 reload_in_reg: (subreg:DF (reg/v:DI 5 di [orig:59 in ] [59]) 0)
54 reload_reg_rtx: (reg:DF 22 xmm1)
55...
56
57(note:HI 4 1 3 2 [bb 2] NOTE_INSN_BASIC_BLOCK)
58
59(note:HI 3 4 22 2 NOTE_INSN_FUNCTION_BEG)
60
61(insn 22 3 23 2 c.c:3 (set (mem/c:DF (plus:DI (reg/f:DI 7 sp)
62 (const_int -8 [0xfffffffffffffff8])) [0 S8 A8])
63 (reg:DF 5 di)) 102 {*movdf_integer_rex64} (nil))
64
65(insn 23 22 6 2 c.c:3 (set (reg:DF 22 xmm1)
66 (mem/c:DF (plus:DI (reg/f:DI 7 sp)
67 (const_int -8 [0xfffffffffffffff8])) [0 S8 A8])) 102 {*movdf_integer_rex64} (nil))
68
69(insn:HI 6 23 16 2 c.c:3 (set (reg:DF 21 xmm0 [orig:58 <result> ] [58])
70 (reg:DF 22 xmm1)) 102 {*movdf_integer_rex64} (nil))
71
72(insn 16 6 21 2 c.c:7 (use (reg/i:DF 21 xmm0 [ <result> ])) -1 (nil))
73
74This patch tries to use the destination register when reloading for input. It
75generates
76
77Reloads for insn # 6
78Reload 0: reload_in (DF) = (reg:DF 5 di)
79 SSE_REGS, RELOAD_FOR_INPUT (opnum = 1), can't combine
80 reload_in_reg: (subreg:DF (reg/v:DI 5 di [orig:59 in ] [59]) 0)
81 reload_reg_rtx: (reg:DF 21 xmm0)
82...
83(note:HI 4 1 3 2 [bb 2] NOTE_INSN_BASIC_BLOCK)
84
85(note:HI 3 4 22 2 NOTE_INSN_FUNCTION_BEG)
86
87(insn 22 3 23 2 c.c:3 (set (mem/c:DF (plus:DI (reg/f:DI 7 sp)
88 (const_int -8 [0xfffffffffffffff8])) [0 S8 A8])
89 (reg:DF 5 di)) 102 {*movdf_integer_rex64} (nil))
90
91(insn 23 22 6 2 c.c:3 (set (reg:DF 21 xmm0)
92 (mem/c:DF (plus:DI (reg/f:DI 7 sp)
93 (const_int -8 [0xfffffffffffffff8])) [0 S8 A8])) 102 {*movdf_integer_rex64} (nil))
94
95(insn:HI 6 23 10 2 c.c:3 (set (reg:DF 22 xmm1 [orig:58 <result> ] [58])
96 (reg:DF 21 xmm0)) 102 {*movdf_integer_rex64} (nil))
97
98(insn:HI 10 6 16 2 c.c:7 (set (reg/i:DF 21 xmm0 [ <result> ])
99 (reg:DF 22 xmm1 [orig:58 <result> ] [58])) 102 {*movdf_integer_rex64} (nil))
100
101(insn 16 10 21 2 c.c:7 (use (reg/i:DF 21 xmm0 [ <result> ])) -1 (nil))
102
103
104H.J.
105----
106gcc/
107
1082007-08-27 H.J. Lu <hongjiu.lu@intel.com>
109
110 PR target/30961
111 * reload1.c (find_reg): Favor the hard register in destination
112 if it is usable and a memory location is needed for reload
113 input.
114
115gcc/testsuite/
116
1172007-08-27 H.J. Lu <hongjiu.lu@intel.com>
118
119 PR target/30961
120 * gcc.target/i386/pr30961-1.c: New.
121
122--- gcc/reload1.c.second 2007-08-27 09:35:08.000000000 -0700
123+++ gcc/reload1.c 2007-08-27 09:36:33.000000000 -0700
124@@ -1781,6 +1781,20 @@ find_reg (struct insn_chain *chain, int
125 HARD_REG_SET not_usable;
126 HARD_REG_SET used_by_other_reload;
127 reg_set_iterator rsi;
128+#ifdef SECONDARY_MEMORY_NEEDED
129+ rtx body = PATTERN (chain->insn);
130+ unsigned int dest_reg = FIRST_PSEUDO_REGISTER;
131+
132+ if (GET_CODE (body) == SET)
133+ {
134+ rtx dest = SET_DEST (body);
135+
136+ if ((REG_P (dest)
137+ || (GET_CODE (dest) == SUBREG
138+ && REG_P (SUBREG_REG (dest)))))
139+ dest_reg = reg_or_subregno (dest);
140+ }
141+#endif
142
143 COPY_HARD_REG_SET (not_usable, bad_spill_regs);
144 IOR_HARD_REG_SET (not_usable, bad_spill_regs_global);
145@@ -1821,6 +1835,18 @@ find_reg (struct insn_chain *chain, int
146 this_cost--;
147 if (rl->out && REG_P (rl->out) && REGNO (rl->out) == regno)
148 this_cost--;
149+#ifdef SECONDARY_MEMORY_NEEDED
150+ /* If a memory location is needed for rl->in and dest_reg
151+ is usable, we will favor it. */
152+ else if (dest_reg == regno
153+ && rl->in
154+ && REG_P (rl->in)
155+ && REGNO (rl->in) < FIRST_PSEUDO_REGISTER
156+ && SECONDARY_MEMORY_NEEDED (REGNO_REG_CLASS (REGNO (rl->in)),
157+ rl->class,
158+ rl->mode))
159+ this_cost = 0;
160+#endif
161 if (this_cost < best_cost
162 /* Among registers with equal cost, prefer caller-saved ones, or
163 use REG_ALLOC_ORDER if it is defined. */
164--- gcc/testsuite/gcc.target/i386/pr30961-1.c.second 2007-08-27 11:01:59.000000000 -0700
165+++ gcc/testsuite/gcc.target/i386/pr30961-1.c 2007-08-27 11:02:51.000000000 -0700
166@@ -0,0 +1,13 @@
167+/* { dg-do compile } */
168+/* { dg-require-effective-target lp64 } */
169+/* { dg-options "-O2" } */
170+
171+double
172+convert (long long in)
173+{
174+ double f;
175+ __builtin_memcpy( &f, &in, sizeof( in ) );
176+ return f;
177+}
178+
179+/* { dg-final { scan-assembler-not "movapd" } } */
diff --git a/recipes-devtools/gcc/gcc-4.5/pr35942.patch b/recipes-devtools/gcc/gcc-4.5/pr35942.patch
new file mode 100644
index 0000000000..da610f5189
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/pr35942.patch
@@ -0,0 +1,38 @@
1Fix PR 35942: remove -lstdc++ from libtool postdeps for CXX.
2
3libstdc++-v3/ChangeLog:
42010-01-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
5
6 PR libstdc++/35942
7 * configure.ac: Remove -lstdc++ from libtool's postdeps_CXX.
8 * configure: Regenerate.
9
10
11Index: gcc-4.3.3/libstdc++-v3/configure
12===================================================================
13--- gcc-4.3.3.orig/libstdc++-v3/configure 2010-03-26 17:57:51.000000000 +0000
14+++ gcc-4.3.3/libstdc++-v3/configure 2010-03-26 17:57:58.000000000 +0000
15@@ -13759,6 +13759,9 @@
16
17
18
19+# Eliminate -lstdc++ addition to postdeps for cross compiles.
20+postdeps_CXX=`echo " $postdeps_CXX " | sed 's, -lstdc++ ,,g'`
21+
22 # Possibly disable most of the library.
23 ## TODO: Consider skipping unncessary tests altogether in this case, rather
24 ## than just ignoring the results. Faster /and/ more correct, win win.
25Index: gcc-4.3.3/libstdc++-v3/configure.ac
26===================================================================
27--- gcc-4.3.3.orig/libstdc++-v3/configure.ac 2010-03-26 17:57:54.000000000 +0000
28+++ gcc-4.3.3/libstdc++-v3/configure.ac 2010-03-26 17:57:58.000000000 +0000
29@@ -89,6 +89,9 @@
30 AC_SUBST(enable_shared)
31 AC_SUBST(enable_static)
32
33+# Eliminate -lstdc++ addition to postdeps for cross compiles.
34+postdeps_CXX=`echo " $postdeps_CXX " | sed 's, -lstdc++ ,,g'`
35+
36 # Possibly disable most of the library.
37 ## TODO: Consider skipping unncessary tests altogether in this case, rather
38 ## than just ignoring the results. Faster /and/ more correct, win win.
diff --git a/recipes-devtools/gcc/gcc-4.5/zecke-no-host-includes.patch b/recipes-devtools/gcc/gcc-4.5/zecke-no-host-includes.patch
new file mode 100644
index 0000000000..4ccf35f627
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/zecke-no-host-includes.patch
@@ -0,0 +1,31 @@
1Index: gcc-4.4+svnr145550/gcc/incpath.c
2===================================================================
3--- gcc-4.4+svnr145550.orig/gcc/incpath.c 2009-04-04 13:48:31.000000000 -0700
4+++ gcc-4.4+svnr145550/gcc/incpath.c 2009-04-04 14:49:29.000000000 -0700
5@@ -417,6 +417,26 @@
6 p->construct = 0;
7 p->user_supplied_p = user_supplied_p;
8
9+#ifdef CROSS_COMPILE
10+ /* A common error when cross compiling is including
11+ host headers. This code below will try to fail fast
12+ for cross compiling. Currently we consider /usr/include,
13+ /opt/include and /sw/include as harmful. */
14+ {
15+ /* printf("Adding Path: %s\n", p->name ); */
16+ if( strstr(p->name, "/usr/include" ) == p->name ) {
17+ fprintf(stderr, _("CROSS COMPILE Badness: /usr/include in INCLUDEPATH: %s\n"), p->name);
18+ abort();
19+ } else if( strstr(p->name, "/sw/include") == p->name ) {
20+ fprintf(stderr, _("CROSS COMPILE Badness: /sw/include in INCLUDEPATH: %s\n"), p->name);
21+ abort();
22+ } else if( strstr(p->name, "/opt/include") == p->name ) {
23+ fprintf(stderr, _("CROSS COMPILE Badness: /opt/include in INCLUDEPATH: %s\n"), p->name);
24+ abort();
25+ }
26+ }
27+#endif
28+
29 add_cpp_dir_path (p, chain);
30 }
31
diff --git a/recipes-devtools/gcc/gcc-4.5/zecke-xgcc-cpp.patch b/recipes-devtools/gcc/gcc-4.5/zecke-xgcc-cpp.patch
new file mode 100644
index 0000000000..a7722cbfc4
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/zecke-xgcc-cpp.patch
@@ -0,0 +1,28 @@
1upstream: n/a
2comment: Use the preprocessor we have just compiled instead the one of
3the system. There might be incompabilities between us and them.
4
5Index: gcc-4.3.1/Makefile.in
6===================================================================
7--- gcc-4.3.1.orig/Makefile.in 2008-08-19 01:09:56.000000000 -0700
8+++ gcc-4.3.1/Makefile.in 2008-08-19 01:13:27.000000000 -0700
9@@ -204,6 +204,7 @@
10 AR="$(AR_FOR_TARGET)"; export AR; \
11 AS="$(COMPILER_AS_FOR_TARGET)"; export AS; \
12 CC="$(CC_FOR_TARGET)"; export CC; \
13+ CPP="$(CC_FOR_TARGET) -E"; export CPP; \
14 CFLAGS="$(CFLAGS_FOR_TARGET) $(SYSROOT_CFLAGS_FOR_TARGET) $(DEBUG_PREFIX_CFLAGS_FOR_TARGET)"; export CFLAGS; \
15 CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
16 CPPFLAGS="$(CPPFLAGS_FOR_TARGET)"; export CPPFLAGS; \
17Index: gcc-4.3.1/Makefile.tpl
18===================================================================
19--- gcc-4.3.1.orig/Makefile.tpl 2008-08-21 00:07:58.000000000 -0700
20+++ gcc-4.3.1/Makefile.tpl 2008-08-21 00:09:52.000000000 -0700
21@@ -223,6 +223,7 @@
22 AR="$(AR_FOR_TARGET)"; export AR; \
23 AS="$(COMPILER_AS_FOR_TARGET)"; export AS; \
24 CC="$(CC_FOR_TARGET)"; export CC; \
25+ CPP="$(CC_FOR_TARGET) -E"; export CPP; \
26 CFLAGS="$(CFLAGS_FOR_TARGET) $(SYSROOT_CFLAGS_FOR_TARGET) $(DEBUG_PREFIX_CFLAGS_FOR_TARGET)"; export CFLAGS; \
27 CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
28 CPPFLAGS="$(CPPFLAGS_FOR_TARGET)"; export CPPFLAGS; \
diff --git a/recipes-devtools/gcc/gcc-common.inc b/recipes-devtools/gcc/gcc-common.inc
new file mode 100644
index 0000000000..1e9c65e662
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-common.inc
@@ -0,0 +1,46 @@
1DESCRIPTION = "The GNU cc and gcc C compilers."
2HOMEPAGE = "http://www.gnu.org/software/gcc/"
3SECTION = "devel"
4LICENSE = "GPL"
5
6NATIVEDEPS = ""
7
8inherit autotools gettext
9
10FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/gcc-${PV}"
11
12def get_gcc_fpu_setting(bb, d):
13 if bb.data.getVar('TARGET_FPU', d, 1) in [ 'soft' ]:
14 return "--with-float=soft"
15 return ""
16
17def get_gcc_mips_plt_setting(bb, d):
18 if bb.data.getVar('TARGET_ARCH', d, 1) in [ 'mips', 'mipsel' ] and 'mplt' in bb.data.getVar('DISTRO_FEATURES',d,1).split() :
19 return "--with-mips-plt"
20 return ""
21
22# We really need HOST_SYS here for some packages and TARGET_SYS for others.
23# For now, libgcc is most important so we fix for that - RP.
24SHLIBSDIR = "${STAGING_DIR_TARGET}/shlibs"
25
26DEBIANNAME_libgcc = "libgcc1"
27
28MIRRORS_prepend () {
29${GNU_MIRROR}/gcc/releases/ ftp://gcc.gnu.org/pub/gcc/releases/
30${GNU_MIRROR}/gcc/ http://mirrors.rcn.net/pub/sourceware/gcc/releases/
31${GNU_MIRROR}/gcc/releases/ http://gcc.get-software.com/releases/
32${GNU_MIRROR}/gcc/ http://gcc.get-software.com/releases/
33}
34
35#
36# Set some default values
37#
38gcclibdir = "${libdir}/gcc"
39BINV = "${PV}"
40S = "${WORKDIR}/gcc-${PV}"
41B = "${S}/build.${HOST_SYS}.${TARGET_SYS}"
42
43target_includedir ?= "${includedir}"
44target_libdir ?= "${libdir}"
45target_base_libdir ?= "${base_libdir}"
46target_prefix ?= "${prefix}"
diff --git a/recipes-devtools/gcc/gcc-configure-common.inc b/recipes-devtools/gcc/gcc-configure-common.inc
new file mode 100644
index 0000000000..43937778f1
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-configure-common.inc
@@ -0,0 +1,112 @@
1#
2# Build the list of lanaguages to build.
3#
4# These can be overridden by the version specific .inc file.
5
6# Java (gcj doesn't work on all architectures)
7JAVA ?= ",java"
8JAVA_arm ?= ""
9JAVA_armeb ?= ""
10JAVA_mipsel ?= ""
11JAVA_sh3 ?= ""
12# gcc 3.x expects 'f77', 4.0 expects 'f95', 4.1 and 4.2 expect 'fortran'
13FORTRAN ?= ",f77"
14LANGUAGES ?= "c,c++${FORTRAN}${JAVA}"
15# disable --enable-target-optspace for powerpc SPE
16# at -Os libgcc.so.1 creates references into
17# hidden symbols in libgcc.a which linker complains
18# when linking shared libraries further in the build like (gnutls)
19
20SPECIAL_ARCH_LIST = "powerpc"
21OPTSPACE = ${@base_contains("SPECIAL_ARCH_LIST", "${TARGET_ARCH}", "", "--enable-target-optspace",d)}
22
23EXTRA_OECONF_BASE ?= ""
24EXTRA_OECONF_PATHS ?= ""
25EXTRA_OECONF_INITIAL ?= ""
26EXTRA_OECONF_INTERMEDIATE ?= ""
27
28GCCMULTILIB = "--disable-multilib"
29
30EXTRA_OECONF = "${@['--enable-clocale=generic', ''][bb.data.getVar('USE_NLS', d, 1) != 'no']} \
31 --with-gnu-ld \
32 --enable-shared \
33 --enable-languages=${LANGUAGES} \
34 --enable-threads=posix \
35 ${GCCMULTILIB} \
36 --enable-c99 \
37 --enable-long-long \
38 --enable-symvers=gnu \
39 --enable-libstdcxx-pch \
40 --program-prefix=${TARGET_PREFIX} \
41 ${OPTSPACE} \
42 ${EXTRA_OECONF_BASE} \
43 ${EXTRA_OECONF_FPU} \
44 ${EXTRA_OECONF_PATHS} \
45 ${@get_gcc_mips_plt_setting(bb, d)}"
46
47# Build uclibc compilers without cxa_atexit support
48EXTRA_OECONF_append_linux = " --enable-__cxa_atexit"
49EXTRA_OECONF_append_linux-gnueabi = " --enable-__cxa_atexit"
50EXTRA_OECONF_append_linux-uclibc = " --disable-__cxa_atexit"
51EXTRA_OECONF_append_linux-uclibcgnueabi = " --disable-__cxa_atexit"
52EXTRA_OECONF_FPU = "${@get_gcc_fpu_setting(bb, d)}"
53CPPFLAGS = ""
54
55# Used by configure to define additional values for FLAGS_FOR_TARGET -
56# passed to all the compilers.
57ARCH_FLAGS_FOR_TARGET = "${TARGET_CC_ARCH}"
58EXTRA_OEMAKE += "ARCH_FLAGS_FOR_TARGET='${ARCH_FLAGS_FOR_TARGET}'"
59
60SYSTEMHEADERS = "${target_includedir}"
61SYSTEMLIBS = "${target_base_libdir}/"
62SYSTEMLIBS1 = "${target_libdir}/"
63
64do_configure () {
65 # Setup these vars for cross building only
66 # ... because foo_FOR_TARGET apparently gets misinterpreted inside the
67 # gcc build stuff when the build is producing a cross compiler - i.e.
68 # when the 'current' target is the 'host' system, and the host is not
69 # the target (because the build is actually making a cross compiler!)
70 if [ "${BUILD_SYS}" != "${HOST_SYS}" ]; then
71 export CC_FOR_TARGET="${CC}"
72 export GCC_FOR_TARGET="${CC}"
73 export CXX_FOR_TARGET="${CXX}"
74 export AS_FOR_TARGET="${HOST_PREFIX}as"
75 export LD_FOR_TARGET="${HOST_PREFIX}ld"
76 export NM_FOR_TARGET="${HOST_PREFIX}nm"
77 export AR_FOR_TARGET="${HOST_PREFIX}ar"
78 export GFORTRAN_FOR_TARGET="gfortran"
79 export RANLIB_FOR_TARGET="${HOST_PREFIX}ranlib"
80 fi
81 export CC_FOR_BUILD="${BUILD_CC}"
82 export CXX_FOR_BUILD="${BUILD_CXX}"
83 export CFLAGS_FOR_BUILD="${BUILD_CFLAGS}"
84 export CPPFLAGS_FOR_BUILD="${BUILD_CPPFLAGS}"
85 export CXXFLAGS_FOR_BUILD="${BUILD_CXXFLAGS}"
86 export LDFLAGS_FOR_BUILD="${BUILD_LDFLAGS}"
87 export ARCH_FLAGS_FOR_TARGET="${ARCH_FLAGS_FOR_TARGET}"
88 (cd ${S} && gnu-configize) || die "failure running gnu-configize"
89
90 # teach gcc to find correct target includedir when checking libc ssp support
91 sed -i 's:^\([ ]*\)glibc_header_dir=\"${with_build_sysroot}/usr/include\":\1glibc_header_dir=\"${with_build_sysroot}${SYSTEMHEADERS}\":g' ${S}/gcc/configure.ac
92 sed -i 's:^\([ ]*\)glibc_header_dir=\"${with_build_sysroot}/usr/include\":\1glibc_header_dir=\"${with_build_sysroot}${SYSTEMHEADERS}\":g' ${S}/gcc/configure
93
94 # splice our idea of where the headers live into gcc's world
95 echo "NATIVE_SYSTEM_HEADER_DIR = ${SYSTEMHEADERS}" > ${T}/t-oe
96 sed 's%^tmake_file=.*$%& ${T}/t-oe%' < ${S}/gcc/Makefile.in >${S}/gcc/Makefile.in.new
97 mv ${S}/gcc/Makefile.in.new ${S}/gcc/Makefile.in
98 cat ${S}/gcc/defaults.h | grep -v "\#endif.*GCC_DEFAULTS_H" > ${S}/gcc/defaults.h.new
99 echo "#ifndef STANDARD_INCLUDE_DIR" >> ${S}/gcc/defaults.h.new
100 echo "#define STANDARD_INCLUDE_DIR \"${SYSTEMHEADERS}\"" >> ${S}/gcc/defaults.h.new
101 echo "#endif" >> ${S}/gcc/defaults.h.new
102 echo "#ifndef STANDARD_STARTFILE_PREFIX_1" >> ${S}/gcc/defaults.h.new
103 echo "#define STANDARD_STARTFILE_PREFIX_1 \"${SYSTEMLIBS}\"" >> ${S}/gcc/defaults.h.new
104 echo "#endif" >> ${S}/gcc/defaults.h.new
105 echo "#ifndef STANDARD_STARTFILE_PREFIX_2" >> ${S}/gcc/defaults.h.new
106 echo "#define STANDARD_STARTFILE_PREFIX_2 \"${SYSTEMLIBS1}\"" >> ${S}/gcc/defaults.h.new
107 echo "#endif" >> ${S}/gcc/defaults.h.new
108 echo "#endif /* ! GCC_DEFAULTS_H */" >> ${S}/gcc/defaults.h.new
109 mv ${S}/gcc/defaults.h.new ${S}/gcc/defaults.h
110 oe_runconf
111}
112
diff --git a/recipes-devtools/gcc/gcc-configure-cross.inc b/recipes-devtools/gcc/gcc-configure-cross.inc
new file mode 100644
index 0000000000..3da92e24a1
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-configure-cross.inc
@@ -0,0 +1,24 @@
1require gcc-configure-common.inc
2
3USE_NLS = '${@base_conditional( "TARGET_OS", "linux-uclibc", "no", "", d )}'
4
5EXTRA_OECONF += " --enable-poison-system-directories "
6
7EXTRA_OECONF_PATHS = "--with-local-prefix=${STAGING_DIR_TARGET}${target_exec_prefix} \
8 --with-gxx-include-dir=${STAGING_DIR_TARGET}/${target_includedir}/c++ \
9 --with-sysroot=${STAGING_DIR_TARGET} \
10 --with-build-sysroot=${STAGING_DIR_TARGET}"
11
12do_compile_prepend () {
13 export CC="${BUILD_CC}"
14 export AR_FOR_TARGET="${TARGET_SYS}-ar"
15 export RANLIB_FOR_TARGET="${TARGET_SYS}-ranlib"
16 export LD_FOR_TARGET="${TARGET_SYS}-ld"
17 export NM_FOR_TARGET="${TARGET_SYS}-nm"
18 export CC_FOR_TARGET="${CCACHE} ${TARGET_SYS}-gcc ${TARGET_CC_ARCH}"
19}
20
21LIBGCCS_VAR = "-lgcc_s"
22LIBGCCS_VAR_avr32 = ""
23
24do_package_write_ipk[depends] += "virtual/libc:do_package"
diff --git a/recipes-devtools/gcc/gcc-configure-runtime.inc b/recipes-devtools/gcc/gcc-configure-runtime.inc
new file mode 100644
index 0000000000..f9ad61d129
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-configure-runtime.inc
@@ -0,0 +1,59 @@
1require gcc-configure-common.inc
2
3EXTRA_OECONF_PATHS = " \
4 --with-local-prefix=${STAGING_DIR_TARGET}${prefix} \
5 --with-gxx-include-dir=${includedir}/c++/ \
6 --with-sysroot=${STAGING_DIR_TARGET} \
7 --with-build-sysroot=${STAGING_DIR_TARGET}"
8
9RUNTIMETARGET = "libssp libstdc++-v3"
10# ?
11# libiberty
12# libmudflap
13# libgfortran
14
15do_configure () {
16 export CXX="${CXX} -nostdinc++ -nostdlib++"
17 for d in ${RUNTIMETARGET}; do
18 echo "Configuring $d"
19 mkdir -p ${B}/$d/
20 cd ${B}/$d/
21 chmod a+x ${S}/$d/configure
22 ${S}/$d/configure ${CONFIGUREOPTS} ${EXTRA_OECONF}
23 done
24}
25
26do_compile () {
27 for d in ${RUNTIMETARGET}; do
28 cd ${B}/$d/
29 oe_runmake
30 done
31}
32
33do_install () {
34 target=`echo ${MULTIMACH_TARGET_SYS} | sed -e s#-nativesdk##`
35
36 # Install libgcc from our gcc-cross saved data
37 install -d ${D}${base_libdir} ${D}${libdir}
38 cp -fpPR ${STAGING_INCDIR_NATIVE}/gcc-build-internal-$target/* ${D}
39
40 for d in ${RUNTIMETARGET}; do
41 cd ${B}/$d/
42 oe_runmake 'DESTDIR=${D}' install
43 done
44
45 # Move libgcc_s into /lib
46 mkdir -p ${D}${base_libdir}
47 if [ -f ${D}${libdir}/nof/libgcc_s.so ]; then
48 mv ${D}${libdir}/nof/libgcc* ${D}${base_libdir}
49 else
50 mv ${D}${libdir}/libgcc* ${D}${base_libdir} || true
51 fi
52}
53
54INHIBIT_DEFAULT_DEPS = "1"
55DEPENDS = "virtual/${TARGET_PREFIX}gcc virtual/${TARGET_PREFIX}g++"
56PROVIDES = "virtual/${TARGET_PREFIX}compilerlibs"
57
58BBCLASSEXTEND = "nativesdk"
59
diff --git a/recipes-devtools/gcc/gcc-configure-sdk.inc b/recipes-devtools/gcc/gcc-configure-sdk.inc
new file mode 100644
index 0000000000..0eb33adda8
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-configure-sdk.inc
@@ -0,0 +1,48 @@
1require gcc-configure-common.inc
2
3# The two lines below conflict, this needs fixing - RP
4USE_NLS = '${@base_conditional( "TARGET_OS", "linux-uclibc", "no", "", d )}'
5USE_NLS = '${@base_conditional( "TARGET_OS", "linux-uclibcgnueabi", "no", "", d )}'
6
7EXTRA_OECONF_PATHS = "--with-local-prefix=${SDKPATH}/sysroots/${TARGET_SYS}${target_exec_prefix} \
8 --with-gxx-include-dir=${SDKPATH}/sysroots/${TARGET_SYS}${target_includedir}/c++ \
9 --with-build-time-tools=${STAGING_DIR_NATIVE}${prefix_native}/${TARGET_SYS}/bin \
10 --with-sysroot=${SDKPATH}/sysroots/${TARGET_SYS} \
11 --with-build-sysroot=${STAGING_DIR_TARGET}"
12
13#
14# gcc-cross looks and finds these in ${exec_prefix} but we're not so lucky
15# for the sdk. Hardcoding the paths ensures the build doesn't go canadian or worse.
16#
17export AR_FOR_TARGET = "${TARGET_PREFIX}ar"
18export AS_FOR_TARGET = "${TARGET_PREFIX}as"
19export DLLTOOL_FOR_TARGET = "${TARGET_PREFIX}dlltool"
20export CC_FOR_TARGET = "${TARGET_PREFIX}gcc"
21export CXX_FOR_TARGET = "${TARGET_PREFIX}g++"
22export LD_FOR_TARGET = "${TARGET_PREFIX}ld"
23export LIPO_FOR_TARGET = "${TARGET_PREFIX}lipo"
24export NM_FOR_TARGET = "${TARGET_PREFIX}nm"
25export OBJDUMP_FOR_TARGET = "${TARGET_PREFIX}objdump"
26export RANLIB_FOR_TARGET = "${TARGET_PREFIX}ranlib"
27export STRIP_FOR_TARGET = "${TARGET_PREFIX}strip"
28export WINDRES_FOR_TARGET = "${TARGET_PREFIX}windres"
29
30#
31# We need to override this and make sure the compiler can find staging
32#
33export ARCH_FLAGS_FOR_TARGET = "--sysroot=${STAGING_DIR_TARGET}"
34
35do_configure () {
36 export CC_FOR_BUILD="${BUILD_CC}"
37 export CXX_FOR_BUILD="${BUILD_CXX}"
38 export CFLAGS_FOR_BUILD="${BUILD_CFLAGS}"
39 export CPPFLAGS_FOR_BUILD="${BUILD_CPPFLAGS}"
40 export CXXFLAGS_FOR_BUILD="${BUILD_CXXFLAGS}"
41 export LDFLAGS_FOR_BUILD="${BUILD_LDFLAGS}"
42 (cd ${S} && gnu-configize) || die "failure running gnu-configize"
43 oe_runconf
44}
45
46do_compile () {
47 oe_runmake all-host all-target-libgcc
48}
diff --git a/recipes-devtools/gcc/gcc-configure-target.inc b/recipes-devtools/gcc/gcc-configure-target.inc
new file mode 100644
index 0000000000..8b169a7c54
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-configure-target.inc
@@ -0,0 +1,5 @@
1require gcc-configure-common.inc
2
3EXTRA_OECONF_PATHS = " \
4 --with-local-prefix=${STAGING_DIR_TARGET}${prefix} \
5 --with-gxx-include-dir=${includedir}/c++/"
diff --git a/recipes-devtools/gcc/gcc-cross-canadian.inc b/recipes-devtools/gcc/gcc-cross-canadian.inc
new file mode 100644
index 0000000000..a3b15c3dc6
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-cross-canadian.inc
@@ -0,0 +1,4 @@
1inherit cross-canadian
2
3DEPENDS = "virtual/${HOST_PREFIX}binutils-crosssdk virtual/${TARGET_PREFIX}libc-for-gcc gettext-nativesdk"
4
diff --git a/recipes-devtools/gcc/gcc-cross-canadian_4.5.bb b/recipes-devtools/gcc/gcc-cross-canadian_4.5.bb
new file mode 100644
index 0000000000..4c48b8345d
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-cross-canadian_4.5.bb
@@ -0,0 +1,25 @@
1inherit cross-canadian
2
3require gcc-${PV}.inc
4require gcc-cross-canadian.inc
5require gcc-configure-sdk.inc
6require gcc-package-sdk.inc
7
8PR = "r10"
9
10DEPENDS += "gmp-nativesdk mpfr-nativesdk libmpc-nativesdk elfutils-nativesdk"
11RDEPENDS_${PN} += "mpfr-nativesdk libmpc-nativesdk elfutils-nativesdk"
12
13SYSTEMHEADERS = "/usr/include"
14SYSTEMLIBS = "/lib/"
15SYSTEMLIBS1 = "/usr/lib/"
16
17EXTRA_OECONF += "--disable-libunwind-exceptions --disable-libssp \
18 --disable-libgomp --disable-libmudflap \
19 --with-mpfr=${STAGING_DIR_HOST}${layout_exec_prefix} \
20 --with-mpc=${STAGING_DIR_HOST}${layout_exec_prefix}"
21
22# to find libmpfr
23# export LD_LIBRARY_PATH = "{STAGING_DIR_HOST}${layout_exec_prefix}"
24
25PARALLEL_MAKE = ""
diff --git a/recipes-devtools/gcc/gcc-cross-initial.inc b/recipes-devtools/gcc/gcc-cross-initial.inc
new file mode 100644
index 0000000000..f582de9843
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-cross-initial.inc
@@ -0,0 +1,24 @@
1DEPENDS = "virtual/${TARGET_PREFIX}binutils gettext-native ${NATIVEDEPS}"
2PROVIDES = "virtual/${TARGET_PREFIX}gcc-initial"
3PACKAGES = ""
4
5# This is intended to be a -very- basic config
6# sysroot is needed in case we use libc-initial
7EXTRA_OECONF = "--with-local-prefix=${STAGING_DIR_TARGET}${target_prefix} \
8 --with-newlib \
9 --without-headers \
10 --disable-shared \
11 --disable-threads \
12 --disable-multilib \
13 --disable-__cxa_atexit \
14 --enable-languages=c \
15 ${OPTSPACE} \
16 --program-prefix=${TARGET_PREFIX} \
17 --with-sysroot=${STAGING_DIR_TARGET} \
18 --with-build-sysroot=${STAGING_DIR_TARGET} \
19 ${EXTRA_OECONF_INITIAL} \
20 ${@get_gcc_fpu_setting(bb, d)}"
21
22do_compile () {
23 oe_runmake
24}
diff --git a/recipes-devtools/gcc/gcc-cross-initial_4.5.bb b/recipes-devtools/gcc/gcc-cross-initial_4.5.bb
new file mode 100644
index 0000000000..3ce5ca0a2c
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-cross-initial_4.5.bb
@@ -0,0 +1,5 @@
1require gcc-cross_${PV}.bb
2require gcc-cross-initial.inc
3
4PR = "r10"
5
diff --git a/recipes-devtools/gcc/gcc-cross-intermediate.inc b/recipes-devtools/gcc/gcc-cross-intermediate.inc
new file mode 100644
index 0000000000..72a42411b1
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-cross-intermediate.inc
@@ -0,0 +1,28 @@
1DEPENDS = "virtual/${TARGET_PREFIX}binutils ${NATIVEDEPS}"
2DEPENDS += "virtual/${TARGET_PREFIX}libc-initial gettext-native"
3PROVIDES = "virtual/${TARGET_PREFIX}gcc-intermediate"
4PACKAGES = ""
5
6# This is intended to be a -very- basic config
7# sysroot is needed in case we use libc-initial
8EXTRA_OECONF = "--with-local-prefix=${STAGING_DIR_TARGET}${target_prefix} \
9 --enable-shared \
10 --disable-multilib \
11 --disable-threads \
12 --enable-languages=c \
13 ${OPTSPACE} \
14 --program-prefix=${TARGET_PREFIX} \
15 --with-sysroot=${STAGING_DIR_TARGET} \
16 --with-build-sysroot=${STAGING_DIR_TARGET} \
17 ${EXTRA_OECONF_INTERMEDIATE} \
18 ${@get_gcc_fpu_setting(bb, d)}"
19
20do_compile () {
21 oe_runmake
22}
23
24do_install () {
25 oe_runmake 'DESTDIR=${D}' install
26 install -d ${D}${target_base_libdir}/
27 mv ${D}${exec_prefix}/${TARGET_SYS}/lib/* ${D}${target_base_libdir}/
28}
diff --git a/recipes-devtools/gcc/gcc-cross-intermediate_4.5.bb b/recipes-devtools/gcc/gcc-cross-intermediate_4.5.bb
new file mode 100644
index 0000000000..0fc54e2cca
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-cross-intermediate_4.5.bb
@@ -0,0 +1,4 @@
1require gcc-cross_${PV}.bb
2require gcc-cross-intermediate.inc
3PR = "r10"
4
diff --git a/recipes-devtools/gcc/gcc-cross-kernel.inc b/recipes-devtools/gcc/gcc-cross-kernel.inc
new file mode 100644
index 0000000000..5347762762
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-cross-kernel.inc
@@ -0,0 +1,10 @@
1# Cut-down gcc for kernel builds
2# Only installs ${TARGET_PREFIX}gcc-${PV}, not ${TARGET_PREFIX}gcc.
3
4PROVIDES = "virtual/${TARGET_PREFIX}gcc-${PV}"
5
6do_install () {
7 cd gcc
8 oe_runmake 'DESTDIR=${D}' install-common install-headers install-libgcc
9 install -m 0755 xgcc ${D}${STAGING_DIR_NATIVE}${prefix_native}/bin/${TARGET_PREFIX}gcc-${PV}
10}
diff --git a/recipes-devtools/gcc/gcc-cross.inc b/recipes-devtools/gcc/gcc-cross.inc
new file mode 100644
index 0000000000..5a796bcde6
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-cross.inc
@@ -0,0 +1,12 @@
1inherit cross
2
3DEPENDS = "virtual/${TARGET_PREFIX}binutils virtual/${TARGET_PREFIX}libc-for-gcc ${NATIVEDEPS}"
4PROVIDES = "virtual/${TARGET_PREFIX}gcc virtual/${TARGET_PREFIX}g++"
5
6require gcc-configure-cross.inc
7require gcc-package-cross.inc
8
9do_compile () {
10 oe_runmake all-host all-target-libgcc
11}
12
diff --git a/recipes-devtools/gcc/gcc-cross4.inc b/recipes-devtools/gcc/gcc-cross4.inc
new file mode 100644
index 0000000000..ea20a24a01
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-cross4.inc
@@ -0,0 +1 @@
require gcc-cross.inc
diff --git a/recipes-devtools/gcc/gcc-cross_4.5.bb b/recipes-devtools/gcc/gcc-cross_4.5.bb
new file mode 100644
index 0000000000..7f67acf28d
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-cross_4.5.bb
@@ -0,0 +1,10 @@
1PR = "r11"
2
3require gcc-${PV}.inc
4require gcc-cross4.inc
5
6EXTRA_OECONF += "--disable-libunwind-exceptions \
7 --with-mpfr=${STAGING_DIR_NATIVE}${prefix_native} \
8 --with-system-zlib "
9
10ARCH_FLAGS_FOR_TARGET += "-isystem${STAGING_DIR_TARGET}${target_includedir}"
diff --git a/recipes-devtools/gcc/gcc-crosssdk-initial.inc b/recipes-devtools/gcc/gcc-crosssdk-initial.inc
new file mode 100644
index 0000000000..c6f74a6445
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-crosssdk-initial.inc
@@ -0,0 +1,8 @@
1inherit crosssdk
2
3SYSTEMHEADERS = "${SDKPATHNATIVE}${prefix_nativesdk}/include"
4SYSTEMLIBS = "${SDKPATHNATIVE}${base_libdir_nativesdk}/"
5SYSTEMLIBS1 = "${SDKPATHNATIVE}${libdir_nativesdk}/"
6
7DEPENDS = "virtual/${TARGET_PREFIX}binutils-crosssdk gettext-native ${NATIVEDEPS}"
8PROVIDES = "virtual/${TARGET_PREFIX}gcc-initial-crosssdk"
diff --git a/recipes-devtools/gcc/gcc-crosssdk-initial_4.5.bb b/recipes-devtools/gcc/gcc-crosssdk-initial_4.5.bb
new file mode 100644
index 0000000000..69afbae2fc
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-crosssdk-initial_4.5.bb
@@ -0,0 +1,4 @@
1require gcc-cross-initial_${PV}.bb
2require gcc-crosssdk-initial.inc
3
4PR = "r10"
diff --git a/recipes-devtools/gcc/gcc-crosssdk-intermediate.inc b/recipes-devtools/gcc/gcc-crosssdk-intermediate.inc
new file mode 100644
index 0000000000..ed5d5e838d
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-crosssdk-intermediate.inc
@@ -0,0 +1,9 @@
1inherit crosssdk
2
3SYSTEMHEADERS = "${SDKPATHNATIVE}${prefix_nativesdk}/include"
4SYSTEMLIBS = "${SDKPATHNATIVE}${base_libdir_nativesdk}/"
5SYSTEMLIBS1 = "${SDKPATHNATIVE}${libdir_nativesdk}/"
6
7DEPENDS = "virtual/${TARGET_PREFIX}binutils-crosssdk gettext-native"
8DEPENDS += "virtual/${TARGET_PREFIX}libc-initial-nativesdk"
9PROVIDES = "virtual/${TARGET_PREFIX}gcc-intermediate-crosssdk"
diff --git a/recipes-devtools/gcc/gcc-crosssdk-intermediate_4.5.bb b/recipes-devtools/gcc/gcc-crosssdk-intermediate_4.5.bb
new file mode 100644
index 0000000000..934ae644a7
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-crosssdk-intermediate_4.5.bb
@@ -0,0 +1,4 @@
1require gcc-cross-intermediate_${PV}.bb
2require gcc-crosssdk-intermediate.inc
3
4PR = "r10"
diff --git a/recipes-devtools/gcc/gcc-crosssdk.inc b/recipes-devtools/gcc/gcc-crosssdk.inc
new file mode 100644
index 0000000000..6e7d5a73f9
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-crosssdk.inc
@@ -0,0 +1,16 @@
1inherit crosssdk
2
3SYSTEMHEADERS = "${SDKPATHNATIVE}${prefix_nativesdk}/include"
4SYSTEMLIBS = "${SDKPATHNATIVE}${base_libdir_nativesdk}/"
5SYSTEMLIBS1 = "${SDKPATHNATIVE}${libdir_nativesdk}/"
6
7GCCMULTILIB = "--disable-multilib"
8
9DEPENDS = "virtual/${TARGET_PREFIX}binutils-crosssdk virtual/${TARGET_PREFIX}libc-for-gcc-nativesdk gettext-native"
10PROVIDES = "virtual/${TARGET_PREFIX}gcc-crosssdk virtual/${TARGET_PREFIX}g++-crosssdk"
11
12do_configure_prepend () {
13 # Change the default dynamic linker path to the one in the SDK
14 sed -i ${S}/gcc/config/*/linux*.h -e 's#\(GLIBC_DYNAMIC_LINKER.*\)/lib/#\1${SYSTEMLIBS}#'
15 sed -i ${S}/gcc/config/*/linux*.h -e 's#\(GLIBC_DYNAMIC_LINKER.*\)/lib64/#\1${SYSTEMLIBS}#'
16}
diff --git a/recipes-devtools/gcc/gcc-crosssdk_4.5.bb b/recipes-devtools/gcc/gcc-crosssdk_4.5.bb
new file mode 100644
index 0000000000..48a68bed1a
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-crosssdk_4.5.bb
@@ -0,0 +1,4 @@
1require gcc-cross_${PV}.bb
2require gcc-crosssdk.inc
3
4PR = "r10"
diff --git a/recipes-devtools/gcc/gcc-package-cross.inc b/recipes-devtools/gcc/gcc-package-cross.inc
new file mode 100644
index 0000000000..4f902fa149
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-package-cross.inc
@@ -0,0 +1,47 @@
1INHIBIT_PACKAGE_STRIP = "1"
2
3# Compute how to get from libexecdir to bindir in python (easier than shell)
4BINRELPATH = "${@oe.path.relative(bb.data.expand("${libexecdir}/gcc/${TARGET_SYS}/${BINV}", d), bb.data.expand("${STAGING_DIR_NATIVE}${prefix_native}/bin/${MULTIMACH_TARGET_SYS}", d))}"
5
6do_install () {
7 oe_runmake 'DESTDIR=${D}' install-host
8
9 install -d ${D}${target_base_libdir}
10 install -d ${D}${target_libdir}
11
12 # Link gfortran to g77 to satisfy not-so-smart configure or hard coded g77
13 # gfortran is fully backwards compatible. This is a safe and practical solution.
14 ln -sf ${STAGING_DIR_NATIVE}${prefix_native}/bin/${TARGET_PREFIX}gfortran ${STAGING_DIR_NATIVE}${prefix_native}/bin/${TARGET_PREFIX}g77 || true
15
16
17 # Insert symlinks into libexec so when tools without a prefix are searched for, the correct ones are
18 # found. These need to be relative paths so they work in different locations.
19 dest=${D}${libexecdir}/gcc/${TARGET_SYS}/${BINV}/
20 install -d $dest
21 for t in ar as ld nm objcopy objdump ranlib strip g77 gcc cpp gfortran; do
22 ln -sf ${BINRELPATH}/${TARGET_PREFIX}$t $dest$t
23 done
24
25 # Remove things we don't need but keep share/java
26 for d in info man share/doc share/locale share/man share/info; do
27 rm -rf ${D}${STAGING_DIR_NATIVE}${prefix_native}/$d
28 done
29
30 # gcc-runtime installs libgcc into a special location in staging since it breaks doing a standalone build
31 if [ "${PN}" == "gcc-cross" -o "${PN}" == "gcc-crosssdk" ]; then
32 dest=${D}/${includedir}/gcc-build-internal-${MULTIMACH_TARGET_SYS}
33 oe_runmake "DESTDIR=$dest" libdir=${target_libdir} base_libdir=${target_base_libdir} prefix=${target_prefix} exec_prefix=${target_exec_prefix} install-target-libgcc
34
35 # Ideally here we'd override the libgcc Makefile's idea of slibdir but
36 # for now, we just move the files to the correct location
37
38 install -d $dest${target_base_libdir}
39 mv $dest${target_exec_prefix}/${TARGET_SYS}/lib*/* $dest${target_base_libdir}
40 rm -rf $dest${target_exec_prefix}/${TARGET_SYS}
41
42 # Also need to move gcc from /usr/lib/gcc/* to /usr/lib/ else the search paths won't find the crt*.o files
43
44 mv $dest${target_libdir}/gcc/* $dest${target_libdir}/
45 rmdir $dest${target_libdir}/gcc
46 fi
47}
diff --git a/recipes-devtools/gcc/gcc-package-runtime.inc b/recipes-devtools/gcc/gcc-package-runtime.inc
new file mode 100644
index 0000000000..40a9ed0d70
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-package-runtime.inc
@@ -0,0 +1,58 @@
1PACKAGES = "\
2 libgcc \
3 libgcc-dev \
4 libstdc++ \
5 libstdc++-precompile-dev \
6 libstdc++-dev \
7 libg2c \
8 libg2c-dev \
9 libssp \
10 libssp-dev \
11 libgfortran \
12 libgfortran-dev \
13 libmudflap \
14 libmudflap-dev \
15"
16
17FILES_libgcc = "${base_libdir}/libgcc*.so.*"
18FILES_libgcc-dev = " \
19 ${base_libdir}/libgcc*.so \
20 ${libdir}/${TARGET_SYS}/${BINV}/crt* \
21 ${libdir}/${TARGET_SYS}/${BINV}/libgcc*"
22
23FILES_libg2c = "${target_libdir}/libg2c.so.*"
24FILES_libg2c-dev = "\
25 ${libdir}/libg2c.so \
26 ${libdir}/libg2c.a \
27 ${libdir}/libfrtbegin.a"
28
29FILES_libstdc++ = "${libdir}/libstdc++.so.*"
30FILES_libstdc++-dev = "\
31 ${includedir}/c++/ \
32 ${libdir}/libstdc++.so \
33 ${libdir}/libstdc++.la \
34 ${libdir}/libstdc++.a \
35 ${libdir}/libsupc++.la \
36 ${libdir}/libsupc++.a"
37
38FILES_libstdc++-precompile-dev = "${includedir}/c++/${TARGET_SYS}/bits/*.gch"
39
40FILES_libssp = "${libdir}/libssp.so.*"
41FILES_libssp-dev = " \
42 ${libdir}/libssp*.so \
43 ${libdir}/libssp*.a \
44 ${libdir}/libssp*.la \
45 ${libdir}/gcc/${TARGET_SYS}/${BINV}/include/ssp"
46
47FILES_libgfortran = "${libdir}/libgfortran.so.*"
48FILES_libgfortran-dev = " \
49 ${libdir}/libgfortran.a \
50 ${libdir}/libgfortran.so \
51 ${libdir}/libgfortranbegin.a"
52
53FILES_libmudflap = "${libdir}/libmudflap*.so.*"
54FILES_libmudflap-dev = "\
55 ${libdir}/libmudflap*.so \
56 ${libdir}/libmudflap*.a \
57 ${libdir}/libmudflap*.la"
58
diff --git a/recipes-devtools/gcc/gcc-package-sdk.inc b/recipes-devtools/gcc/gcc-package-sdk.inc
new file mode 100644
index 0000000000..23b9a48eb3
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-package-sdk.inc
@@ -0,0 +1,52 @@
1INHIBIT_PACKAGE_STRIP = "1"
2
3# Having anything auto depending on gcc-cross-sdk is a really bad idea...
4EXCLUDE_FROM_SHLIBS = "1"
5
6PACKAGES = "${PN} ${PN}-doc"
7
8FILES_${PN} = "\
9 ${bindir}/* \
10 ${libexecdir}/gcc/${TARGET_SYS}/${BINV}/* \
11 ${gcclibdir}/${TARGET_SYS}/${BINV}/*.o \
12 ${gcclibdir}/${TARGET_SYS}/${BINV}/specs \
13 ${gcclibdir}/${TARGET_SYS}/${BINV}/lib* \
14 ${gcclibdir}/${TARGET_SYS}/${BINV}/include \
15 ${gcclibdir}/${TARGET_SYS}/${BINV}/include-fixed \
16 ${includedir}/c++/${BINV} \
17 ${prefix}/${TARGET_SYS}/bin/* \
18 ${prefix}/${TARGET_SYS}/lib/* \
19 ${prefix}/${TARGET_SYS}/usr/include/* \
20 "
21FILES_${PN}-doc = "\
22 ${infodir} \
23 ${mandir} \
24 ${gcclibdir}/${TARGET_SYS}/${BINV}/include/README \
25 "
26
27do_install () {
28 oe_runmake 'DESTDIR=${D}' install-host
29
30 # Cleanup some of the ${libdir}{,exec}/gcc stuff ...
31 rm -r ${D}${libdir}/gcc/${TARGET_SYS}/${BINV}/install-tools
32 rm -r ${D}${libexecdir}/gcc/${TARGET_SYS}/${BINV}/install-tools
33
34 # We care about g++ not c++
35 rm -f ${D}${bindir}/*c++
36
37 # We don't care about the gcc-<version> copies
38 rm -f ${D}${bindir}/*gcc-?.?*
39
40 # We use libiberty from binutils
41 rm -f ${D}${prefix}/${TARGET_SYS}/lib/libiberty.a
42 rm -f ${D}${libdir}/libiberty.a
43
44 # Insert symlinks into libexec so when tools without a prefix are searched for, the correct ones are
45 # found.
46 dest=${D}${libexecdir}/gcc/${TARGET_SYS}/${BINV}/
47 install -d $dest
48 for t in ar as ld nm objcopy objdump ranlib strip g77 gcc cpp gfortran; do
49 ln -sf ${bindir}/${TARGET_PREFIX}$t $dest$t
50 done
51}
52
diff --git a/recipes-devtools/gcc/gcc-package-target.inc b/recipes-devtools/gcc/gcc-package-target.inc
new file mode 100644
index 0000000000..3286da6a95
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-package-target.inc
@@ -0,0 +1,99 @@
1PACKAGES = "\
2 ${PN} ${PN}-symlinks \
3 g++ g++-symlinks \
4 cpp cpp-symlinks \
5 g77 g77-symlinks \
6 gfortran gfortran-symlinks \
7 gcov gcov-symlinks \
8 ${PN}-doc \
9"
10
11FILES_${PN} = "\
12 ${bindir}/${TARGET_PREFIX}gcc \
13 ${bindir}/${TARGET_PREFIX}gccbug \
14 ${libexecdir}/gcc/${TARGET_SYS}/${BINV}/collect2 \
15 ${gcclibdir}/${TARGET_SYS}/${BINV}/*.o \
16 ${gcclibdir}/${TARGET_SYS}/${BINV}/specs \
17 ${gcclibdir}/${TARGET_SYS}/${BINV}/lib* \
18 ${gcclibdir}/${TARGET_SYS}/${BINV}/include \
19 ${gcclibdir}/${TARGET_SYS}/${BINV}/include-fixed \
20"
21FILES_${PN}-symlinks = "\
22 ${bindir}/cc \
23 ${bindir}/gcc \
24 ${bindir}/gccbug \
25"
26
27FILES_g77 = "\
28 ${bindir}/${TARGET_PREFIX}g77 \
29 ${libexecdir}/gcc/${TARGET_SYS}/${BINV}/f771 \
30"
31FILES_g77-symlinks = "\
32 ${bindir}/g77 \
33 ${bindir}/f77 \
34"
35FILES_gfortran = "\
36 ${bindir}/${TARGET_PREFIX}gfortran \
37 ${libexecdir}/gcc/${TARGET_SYS}/${BINV}/f951 \
38"
39FILES_gfortran-symlinks = "\
40 ${bindir}/gfortran \
41 ${bindir}/f95"
42
43FILES_cpp = "\
44 ${bindir}/${TARGET_PREFIX}cpp \
45 ${base_libdir}/cpp \
46 ${libexecdir}/gcc/${TARGET_SYS}/${BINV}/cc1"
47FILES_cpp-symlinks = "${bindir}/cpp"
48
49FILES_gcov = "${bindir}/${TARGET_PREFIX}gcov"
50FILES_gcov-symlinks = "${bindir}/gcov"
51
52FILES_g++ = "\
53 ${bindir}/${TARGET_PREFIX}g++ \
54 ${libexecdir}/gcc/${TARGET_SYS}/${BINV}/cc1plus \
55"
56FILES_g++-symlinks = "\
57 ${bindir}/c++ \
58 ${bindir}/g++ \
59"
60
61
62FILES_${PN}-doc = "\
63 ${infodir} \
64 ${mandir} \
65 ${gcclibdir}/${TARGET_SYS}/${BINV}/include/README \
66"
67
68do_install () {
69 oe_runmake 'DESTDIR=${D}' install-host
70
71 # Cleanup some of the ${libdir}{,exec}/gcc stuff ...
72 rm -r ${D}${libdir}/gcc/${TARGET_SYS}/${BINV}/install-tools
73 rm -r ${D}${libexecdir}/gcc/${TARGET_SYS}/${BINV}/install-tools
74
75 # Hack around specs file assumptions
76 test -f ${D}${libdir}/gcc/${TARGET_SYS}/${BINV}/specs && sed -i -e '/^*cross_compile:$/ { n; s/1/0/; }' ${D}${libdir}/gcc/${TARGET_SYS}/${BINV}/specs
77
78 # Cleanup manpages..
79 rm -rf ${D}${mandir}/man7
80
81 cd ${D}${bindir}
82
83 # We care about g++ not c++
84 rm -f *c++
85
86 # We don't care about the gcc-<version> ones for this
87 rm -f *gcc-?.?*
88
89 # Symlinks so we can use these trivially on the target
90 ln -sf ${TARGET_SYS}-g77 g77 || true
91 ln -sf ${TARGET_SYS}-gfortran gfortran || true
92 ln -sf ${TARGET_SYS}-g++ g++
93 ln -sf ${TARGET_SYS}-gcc gcc
94 ln -sf g77 f77 || true
95 ln -sf gfortran f95 || true
96 ln -sf g++ c++
97 ln -sf gcc cc
98 ln -sf ${bindir}/${TARGET_SYS}-cpp ${D}${bindir}/cpp
99}
diff --git a/recipes-devtools/gcc/gcc-runtime_4.5.bb b/recipes-devtools/gcc/gcc-runtime_4.5.bb
new file mode 100644
index 0000000000..fc3ab0711e
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-runtime_4.5.bb
@@ -0,0 +1,11 @@
1PR = "r10"
2
3require gcc-${PV}.inc
4require gcc-configure-runtime.inc
5require gcc-package-runtime.inc
6
7SRC_URI_append = "file://fortran-cross-compile-hack.patch"
8
9ARCH_FLAGS_FOR_TARGET += "-isystem${STAGING_INCDIR}"
10
11EXTRA_OECONF += "--disable-libunwind-exceptions"
diff --git a/recipes-devtools/gcc/gcc_4.5.bb b/recipes-devtools/gcc/gcc_4.5.bb
new file mode 100644
index 0000000000..f54c3c6f50
--- /dev/null
+++ b/recipes-devtools/gcc/gcc_4.5.bb
@@ -0,0 +1,10 @@
1PR = "r11"
2
3require gcc-${PV}.inc
4require gcc-configure-target.inc
5require gcc-package-target.inc
6
7SRC_URI_append = "file://fortran-cross-compile-hack.patch"
8
9ARCH_FLAGS_FOR_TARGET += "-isystem${STAGING_INCDIR}"
10