Index: configure
===================================================================
---- configure (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ configure (.../branches/gcc-4_5-branch) (wersja 159429)
+--- configure (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ configure (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -7610,7 +7610,7 @@
mv conftest.o conftest.o.g0 &&
${CC} -c -g conftest.c &&
BUILD_CONFIG=
Index: libgcc/config.host
===================================================================
---- libgcc/config.host (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ libgcc/config.host (.../branches/gcc-4_5-branch) (wersja 159429)
+--- libgcc/config.host (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ libgcc/config.host (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -600,6 +600,7 @@
i[34567]86-*-darwin* | x86_64-*-darwin* | \
i[34567]86-*-kfreebsd*-gnu | x86_64-*-kfreebsd*-gnu | \
i[34567]86-*-solaris2* | \
i[34567]86-*-cygwin* | i[34567]86-*-mingw* | x86_64-*-mingw*)
if test "${host_address}" = 32; then
+Index: libgcc/config/i386/32/sfp-machine.h
+===================================================================
+--- libgcc/config/i386/32/sfp-machine.h (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ libgcc/config/i386/32/sfp-machine.h (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -142,8 +142,8 @@
+ if (_fex & FP_EX_DIVZERO) \
+ { \
+ float f = 1.0, g = 0.0; \
+- __asm__ __volatile__ ("fdivp" : "=t" (f) \
+- : "0" (f), "u" (g) \
++ __asm__ __volatile__ ("fdivp {%0, %y1|%y1, %0}" \
++ : "+t" (f) : "u" (g) \
+ : "st(1)"); \
+ __asm__ __volatile__ ("fwait"); \
+ } \
Index: libgcc/ChangeLog
===================================================================
---- libgcc/ChangeLog (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ libgcc/ChangeLog (.../branches/gcc-4_5-branch) (wersja 159429)
-@@ -1,3 +1,10 @@
+--- libgcc/ChangeLog (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ libgcc/ChangeLog (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,3 +1,15 @@
++2010-05-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
++
++ * config/i386/32/sfp-machine.h (FP_HANDLE_EXCEPTIONS): Support Sun
++ assembler syntax.
++
+2010-04-15 Thomas Schwinge <tschwinge@gnu.org>
+
+ Backport from mainline:
* GCC 4.5.0 released.
Index: libgomp/sections.c
===================================================================
---- libgomp/sections.c (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ libgomp/sections.c (.../branches/gcc-4_5-branch) (wersja 159429)
+--- libgomp/sections.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ libgomp/sections.c (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -1,4 +1,4 @@
-/* Copyright (C) 2005, 2007, 2008, 2009 Free Software Foundation, Inc.
+/* Copyright (C) 2005, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
/* This routine is called when first encountering a sections construct
Index: libgomp/ChangeLog
===================================================================
---- libgomp/ChangeLog (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ libgomp/ChangeLog (.../branches/gcc-4_5-branch) (wersja 159429)
+--- libgomp/ChangeLog (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ libgomp/ChangeLog (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -1,3 +1,24 @@
+2010-04-26 Jakub Jelinek <jakub@redhat.com>
+
Index: libgomp/testsuite/libgomp.c++/pr43893.C
===================================================================
--- libgomp/testsuite/libgomp.c++/pr43893.C (.../tags/gcc_4_5_0_release) (wersja 0)
-+++ libgomp/testsuite/libgomp.c++/pr43893.C (.../branches/gcc-4_5-branch) (wersja 159429)
++++ libgomp/testsuite/libgomp.c++/pr43893.C (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -0,0 +1,125 @@
+// PR c/43893
+// { dg-do run }
Index: libgomp/testsuite/libgomp.fortran/vla8.f90
===================================================================
--- libgomp/testsuite/libgomp.fortran/vla8.f90 (.../tags/gcc_4_5_0_release) (wersja 0)
-+++ libgomp/testsuite/libgomp.fortran/vla8.f90 (.../branches/gcc-4_5-branch) (wersja 159429)
++++ libgomp/testsuite/libgomp.fortran/vla8.f90 (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -0,0 +1,254 @@
+! { dg-do run }
+
Index: libgomp/testsuite/libgomp.c/pr43893.c
===================================================================
--- libgomp/testsuite/libgomp.c/pr43893.c (.../tags/gcc_4_5_0_release) (wersja 0)
-+++ libgomp/testsuite/libgomp.c/pr43893.c (.../branches/gcc-4_5-branch) (wersja 159429)
++++ libgomp/testsuite/libgomp.c/pr43893.c (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -0,0 +1,61 @@
+/* PR c/43893 */
+/* { dg-do run } */
+}
Index: libgomp/config/linux/proc.c
===================================================================
---- libgomp/config/linux/proc.c (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ libgomp/config/linux/proc.c (.../branches/gcc-4_5-branch) (wersja 159429)
+--- libgomp/config/linux/proc.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ libgomp/config/linux/proc.c (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -1,4 +1,5 @@
-/* Copyright (C) 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
+/* Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010
#ifdef _SC_NPROCESSORS_ONLN
Index: libgomp/config/linux/affinity.c
===================================================================
---- libgomp/config/linux/affinity.c (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ libgomp/config/linux/affinity.c (.../branches/gcc-4_5-branch) (wersja 159429)
+--- libgomp/config/linux/affinity.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ libgomp/config/linux/affinity.c (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -1,4 +1,4 @@
-/* Copyright (C) 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
+/* Copyright (C) 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
pthread_setaffinity_np (pthread_self (), sizeof (cpuset), &cpuset);
Index: gcc/tree-vrp.c
===================================================================
---- gcc/tree-vrp.c (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ gcc/tree-vrp.c (.../branches/gcc-4_5-branch) (wersja 159429)
+--- gcc/tree-vrp.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/tree-vrp.c (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -764,7 +764,28 @@
&& integer_zerop (vr->max);
}
/* Nothing changed, don't add outgoing edges. */
return SSA_PROP_NOT_INTERESTING;
+Index: gcc/doc/sourcebuild.texi
+===================================================================
+--- gcc/doc/sourcebuild.texi (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/doc/sourcebuild.texi (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1094,9 +1094,12 @@
+ /* @{ dg-skip-if "" @{ *-*-* @} @{ "-O2 -g" "-O3 -g" @} @{ "-fpic" @} @} */
+ @end smallexample
+
+-@item @{ dg-require-effective-target @var{keyword} @}
++@item @{ dg-require-effective-target @var{keyword} [@{ @var{selector} @}] @}
+ Skip the test if the test target, including current multilib flags,
+ is not covered by the effective-target keyword.
++If the directive includes the optional @samp{@{ @var{selector} @}}
++then the effective-target test is only performed if the target system
++matches the @var{selector}.
+ This directive must appear after any @code{dg-do} directive in the test
+ and before any @code{dg-additional-sources} directive.
+ @xref{Effective-Target Keywords, , }.
+@@ -1595,6 +1598,9 @@
+ @item hard_float
+ Target supports FPU instructions.
+
++@item sse2
++Target supports compiling @code{sse2} instructions.
++
+ @item sync_char_short
+ Target supports atomic operations on @code{char} and @code{short}.
+
+@@ -1794,6 +1800,9 @@
+ @subsubsection Local to tests in @code{gcc.target/i386}
+
+ @table @code
++@item 3dnow
++Target supports compiling @code{3dnow} instructions.
++
+ @item aes
+ Target supports compiling @code{aes} instructions.
+
+@@ -1806,6 +1815,9 @@
+ @item pclmul
+ Target supports compiling @code{pclmul} instructions.
+
++@item sse3
++Target supports compiling @code{sse3} instructions.
++
+ @item sse4
+ Target supports compiling @code{sse4} instructions.
+
Index: gcc/doc/standards.texi
===================================================================
---- gcc/doc/standards.texi (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ gcc/doc/standards.texi (.../branches/gcc-4_5-branch) (wersja 159429)
+--- gcc/doc/standards.texi (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/doc/standards.texi (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -183,7 +183,7 @@
available on the ISO C++ committee's web site at
@uref{http://www.open-std.org/jtc1/sc22/wg21/}. For information
@option{-pedantic} (or @option{-pedantic-errors} if you want them to be
Index: gcc/doc/install.texi
===================================================================
---- gcc/doc/install.texi (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ gcc/doc/install.texi (.../branches/gcc-4_5-branch) (wersja 159429)
+--- gcc/doc/install.texi (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/doc/install.texi (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -1233,6 +1233,10 @@
Specify that the user visible @command{cpp} program should be installed
in @file{@var{prefix}/@var{dirname}/cpp}, in addition to @var{bindir}.
(instead of @code{.init} and @code{.fini}) for constructors and
Index: gcc/DATESTAMP
===================================================================
---- gcc/DATESTAMP (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ gcc/DATESTAMP (.../branches/gcc-4_5-branch) (wersja 159429)
+--- gcc/DATESTAMP (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/DATESTAMP (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -1 +1 @@
-20100414
-+20100515
++20100520
Index: gcc/tree-tailcall.c
===================================================================
---- gcc/tree-tailcall.c (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ gcc/tree-tailcall.c (.../branches/gcc-4_5-branch) (wersja 159429)
+--- gcc/tree-tailcall.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/tree-tailcall.c (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -375,6 +375,8 @@
tree m, a;
basic_block abb;
value. The return value should also be dependent on each of them,
Index: gcc/tree.c
===================================================================
---- gcc/tree.c (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ gcc/tree.c (.../branches/gcc-4_5-branch) (wersja 159429)
-@@ -7919,7 +7919,8 @@
+--- gcc/tree.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/tree.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -4265,7 +4265,12 @@
+ TYPE_LANG_SLOT_1 (type) = NULL_TREE;
+ }
+
+- TYPE_CONTEXT (type) = NULL_TREE;
++ if (debug_info_level < DINFO_LEVEL_TERSE
++ || (TYPE_CONTEXT (type)
++ && TREE_CODE (TYPE_CONTEXT (type)) != FUNCTION_DECL
++ && TREE_CODE (TYPE_CONTEXT (type)) != NAMESPACE_DECL))
++ TYPE_CONTEXT (type) = NULL_TREE;
++
+ if (debug_info_level < DINFO_LEVEL_TERSE)
+ TYPE_STUB_DECL (type) = NULL_TREE;
+ }
+@@ -4368,7 +4373,8 @@
+
+ /* Ignore any intervening types, because we are going to clear their
+ TYPE_CONTEXT fields. */
+- if (TREE_CODE (decl) != FIELD_DECL)
++ if (TREE_CODE (decl) != FIELD_DECL
++ && TREE_CODE (decl) != FUNCTION_DECL)
+ DECL_CONTEXT (decl) = decl_function_context (decl);
+
+ if (DECL_CONTEXT (decl)
+@@ -7919,7 +7925,8 @@
auto_var_in_fn_p (const_tree var, const_tree fn)
{
return (DECL_P (var) && DECL_CONTEXT (var) == fn
|| TREE_CODE (var) == RESULT_DECL));
Index: gcc/configure
===================================================================
---- gcc/configure (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ gcc/configure (.../branches/gcc-4_5-branch) (wersja 159429)
+--- gcc/configure (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/configure (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -893,6 +893,7 @@
enable_sjlj_exceptions
with_system_libunwind
#include "confdefs.h"
#if HAVE_DLFCN_H
-@@ -21195,6 +21211,27 @@
+@@ -21174,8 +21190,36 @@
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; }
+ then
+- gcc_cv_as_hidden=yes
++
++# Solaris 9/x86 as incorrectly emits an alias for a hidden symbol with
++# STV_HIDDEN, so disable .hidden support if so.
++case "${target}" in
++ i?86-*-solaris2*)
++ if test x$gcc_cv_as != x && test x$gcc_cv_objdump != x; then
++ cat > conftest.s <<EOF
++.globl hidden
++ .hidden hidden
++hidden:
++.globl default
++ .set default,hidden
++EOF
++ if $gcc_cv_as -o conftest.o conftest.s > /dev/null 2>&1 \
++ && $gcc_cv_objdump -t conftest.o 2>/dev/null | \
++ grep '\.hidden default' > /dev/null; then
++ gcc_cv_as_hidden=no
++ else
++ gcc_cv_as_hidden=yes
++ fi
+ else
++ # Assume bug is present if objdump is missing.
++ gcc_cv_as_hidden=no
++ fi
++ ;;
++ *)
++ gcc_cv_as_hidden=yes
++ ;;
++esac
++ else
+ echo "configure: failed program was" >&5
+ cat conftest.s >&5
+ fi
+@@ -21195,6 +21239,27 @@
ld_vers_major=`expr "$ld_vers" : '\([0-9]*\)'`
ld_vers_minor=`expr "$ld_vers" : '[0-9]*\.\([0-9]*\)'`
ld_vers_patch=`expr "$ld_vers" : '[0-9]*\.[0-9]*\.\([0-9]*\)'`
fi
fi
-@@ -21236,6 +21273,8 @@
+@@ -21236,6 +21301,8 @@
gcc_cv_ld_hidden=yes
;;
*-*-solaris2.9* | *-*-solaris2.1[0-9]*)
gcc_cv_ld_hidden=yes
;;
*)
-@@ -21791,7 +21830,7 @@
+@@ -21791,7 +21858,7 @@
&& test $in_tree_ld_is_elf = yes; then
comdat_group=yes
fi
comdat_group=yes
if test 0"$ld_date" -lt 20050308; then
if test -n "$ld_date"; then
-@@ -21804,9 +21843,32 @@
+@@ -21804,9 +21871,32 @@
fi
fi
else
if test $comdat_group = no; then
gcc_cv_as_comdat_group=no
gcc_cv_as_comdat_group_percent=no
-@@ -24447,7 +24509,8 @@
+@@ -22953,6 +23043,37 @@
+
+ fi
+
++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler for .quad directive" >&5
++$as_echo_n "checking assembler for .quad directive... " >&6; }
++if test "${gcc_cv_as_ix86_quad+set}" = set; then :
++ $as_echo_n "(cached) " >&6
++else
++ gcc_cv_as_ix86_quad=no
++ if test x$gcc_cv_as != x; then
++ echo '.quad 0' > conftest.s
++ if { ac_try='$gcc_cv_as $gcc_cv_as_flags -o conftest.o conftest.s >&5'
++ { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
++ test $ac_status = 0; }; }
++ then
++ gcc_cv_as_ix86_quad=yes
++ else
++ echo "configure: failed program was" >&5
++ cat conftest.s >&5
++ fi
++ rm -f conftest.o conftest.s
++ fi
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gcc_cv_as_ix86_quad" >&5
++$as_echo "$gcc_cv_as_ix86_quad" >&6; }
++if test $gcc_cv_as_ix86_quad = yes; then
++
++$as_echo "#define HAVE_AS_IX86_QUAD 1" >>confdefs.h
++
++fi
++
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler for sahf mnemonic" >&5
+ $as_echo_n "checking assembler for sahf mnemonic... " >&6; }
+ if test "${gcc_cv_as_ix86_sahf+set}" = set; then :
+@@ -23052,7 +23173,7 @@
+
+ fi
+
+- # This one is used unconditionally by i386.[ch]; it is to be defined
++ # These two are used unconditionally by i386.[ch]; it is to be defined
+ # to 1 if the feature is present, 0 otherwise.
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler for GOTOFF in data" >&5
+ $as_echo_n "checking assembler for GOTOFF in data... " >&6; }
+@@ -23093,6 +23214,40 @@
+ #define HAVE_AS_GOTOFF_IN_DATA `if test $gcc_cv_as_ix86_gotoff_in_data = yes; then echo 1; else echo 0; fi`
+ _ACEOF
+
++
++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler for rep and lock prefix" >&5
++$as_echo_n "checking assembler for rep and lock prefix... " >&6; }
++if test "${gcc_cv_as_ix86_rep_lock_prefix+set}" = set; then :
++ $as_echo_n "(cached) " >&6
++else
++ gcc_cv_as_ix86_rep_lock_prefix=no
++ if test x$gcc_cv_as != x; then
++ echo 'rep movsl
++ lock orl $0, (%esp)' > conftest.s
++ if { ac_try='$gcc_cv_as $gcc_cv_as_flags -o conftest.o conftest.s >&5'
++ { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
++ test $ac_status = 0; }; }
++ then
++ gcc_cv_as_ix86_rep_lock_prefix=yes
++ else
++ echo "configure: failed program was" >&5
++ cat conftest.s >&5
++ fi
++ rm -f conftest.o conftest.s
++ fi
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gcc_cv_as_ix86_rep_lock_prefix" >&5
++$as_echo "$gcc_cv_as_ix86_rep_lock_prefix" >&6; }
++
++
++cat >>confdefs.h <<_ACEOF
++#define HAVE_AS_IX86_REP_LOCK_PREFIX `if test $gcc_cv_as_ix86_rep_lock_prefix = yes; then echo 1; else echo 0; fi`
++_ACEOF
++
++
+ ;;
+
+ ia64*-*-*)
+@@ -24447,7 +24602,8 @@
if $gcc_cv_ld -o conftest conftest.o --entry=_start --gc-sections 2>&1 \
| grep "gc-sections option ignored" > /dev/null; then
gcc_cv_ld_eh_gc_sections=no
gcc_cv_ld_eh_gc_sections=yes
# If no COMDAT groups, the compiler will emit .gnu.linkonce.t. sections.
if test x$gcc_cv_as_comdat_group != xyes; then
-@@ -24474,7 +24537,8 @@
+@@ -24474,7 +24630,8 @@
if $gcc_cv_ld -o conftest conftest.o --entry=_start --gc-sections 2>&1 \
| grep "gc-sections option ignored" > /dev/null; then
gcc_cv_ld_eh_gc_sections=no
gcc_cv_ld_eh_gc_sections=yes
fi
fi
-@@ -25171,10 +25235,14 @@
+@@ -25171,10 +25328,14 @@
$as_echo_n "checking for -rdynamic... " >&6; }
${CC} ${CFLAGS} ${LDFLAGS} -rdynamic conftest.c -o conftest > /dev/null 2>&1
if $gcc_cv_objdump -T conftest | grep foobar > /dev/null; then
# Check -ldl
Index: gcc/gcc.c
===================================================================
---- gcc/gcc.c (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ gcc/gcc.c (.../branches/gcc-4_5-branch) (wersja 159429)
+--- gcc/gcc.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/gcc.c (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -7575,7 +7575,7 @@
fuse_linker_plugin + strlen (fuse_linker_plugin), 0))
{
fatal ("-fuse-linker-plugin, but liblto_plugin.so not found");
Index: gcc/omp-low.c
===================================================================
---- gcc/omp-low.c (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ gcc/omp-low.c (.../branches/gcc-4_5-branch) (wersja 159429)
+--- gcc/omp-low.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/omp-low.c (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -1433,10 +1433,6 @@
break;
}
Index: gcc/DEV-PHASE
===================================================================
---- gcc/DEV-PHASE (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ gcc/DEV-PHASE (.../branches/gcc-4_5-branch) (wersja 159429)
+--- gcc/DEV-PHASE (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/DEV-PHASE (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -0,0 +1 @@
+prerelease
Index: gcc/tree-ssa-sccvn.c
===================================================================
---- gcc/tree-ssa-sccvn.c (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ gcc/tree-ssa-sccvn.c (.../branches/gcc-4_5-branch) (wersja 159429)
+--- gcc/tree-ssa-sccvn.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/tree-ssa-sccvn.c (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -3332,7 +3332,7 @@
vn_nary_may_trap (vn_nary_op_t nary)
{
honor_nans, honor_snans, rhs2,
Index: gcc/cgraphunit.c
===================================================================
---- gcc/cgraphunit.c (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ gcc/cgraphunit.c (.../branches/gcc-4_5-branch) (wersja 159429)
+--- gcc/cgraphunit.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/cgraphunit.c (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -714,7 +714,33 @@
error ("double linked list of clones corrupted");
error_found = true;
&& (!DECL_EXTERNAL (node->decl) || node->global.inlined_to)
Index: gcc/ChangeLog
===================================================================
---- gcc/ChangeLog (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ gcc/ChangeLog (.../branches/gcc-4_5-branch) (wersja 159429)
-@@ -1,3 +1,440 @@
+--- gcc/ChangeLog (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/ChangeLog (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,3 +1,589 @@
++2010-05-20 Hans-Peter Nilsson <hp@axis.com>
++
++ PR target/44202
++ * config/cris/cris.md ("*addsi3_v32"): Correct "cc"
++ settings for 16-bit-constant "addo" alternative.
++
++2010-05-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
++
++ Backport from mainline:
++ 2010-05-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
++
++ PR target/44074
++ * configure.ac (HAVE_AS_IX86_REP_LOCK_PREFIX): New test.
++ * configure: Regenerate.
++ * config.in: Regenerate.
++ * config/i386/i386.c (print_operand) <case ;>: Also print ; if
++ !HAVE_AS_IX86_REP_LOCK_PREFIX.
++ Don't emit whitespace.
++ * config/i386/i386.md (*rep_movdi_rex64): Use {%;} after rep.
++ (*rep_movsi): Likewise.
++ (*rep_movsi_rex64): Likewise.
++ (*rep_movqi): Likewise.
++ (*rep_movqi_rex64): Likewise.
++ (*rep_stosdi_rex64): Likewise.
++ (*rep_stossi): Likewise.
++ (*rep_stossi_rex64): Likewise.
++ (*rep_stosqi): Likewise.
++ (*rep_stosqi_rex64): Likewise.
++ (*cmpstrnqi_nz_1): Use {%;} after repz.
++ (*cmpstrnqi_nz_rex_1): Likewise.
++ (*cmpstrnqi_1): Likewise.
++ (*cmpstrnqi_rex_1): Likewise.
++ (*strlenqi_1): Use {%;} after repnz.
++ (*strlenqi_rex_1): Likewise.
++ * config/i386/sync.md (memory_barrier_nosse): Replace {%;| } by {%;} .
++ (*sync_compare_and_swap<mode>): Likewise.
++ (sync_double_compare_and_swap<mode>): Likewise.
++ (*sync_double_compare_and_swapdi_pic): Likewise.
++ (sync_old_add<mode>): Likewise.
++ (sync_add<mode>): Likewise.
++ (sync_sub<mode>): Likewise.
++ (sync_<code><mode>): Likewise.
++
++2010-05-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
++
++ * doc/sourcebuild.texi (Effective-Target Keywords): Document
++ 3dnow, sse3, sse2.
++ (Directives): Document optional dg-require-effective-target
++ selector.
++
++2010-05-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
++
++ * config.gcc (i[34567]86-*-solaris2*): Default with_arch_32 to
++ pentiumpro on Solaris 8/x86 with Sun as.
++ * configure.ac (gcc_cv_as_hidden): Check for Solaris 9/x86 as
++ hidden alias bug.
++ (gcc_cv_as_ix86_quad): Check for .quad directive.
++ * configure: Regenerate.
++ * config.in: Regenerate.
++ * config/i386/sol2.h (ASM_QUAD): Change guard to !HAVE_AS_IX86_QUAD.
++
++2010-05-19 Richard Guenther <rguenther@suse.de>
++
++ PR tree-optimization/43987
++ * tree-ssa-structalias.c (could_have_pointers): For possibly
++ address-taken variables force pointers to be recorded.
++ (create_variable_info_for_1): Likewise.
++ (push_fields_onto_fieldstack): Pass in wheter all fields
++ must have pointers.
++ (find_func_aliases): Query types instead of vars whether
++ they contain pointers where appropriate.
++
++2010-05-19 Richard Guenther <rguenther@suse.de>
++
++ Backport from mainline:
++ 2010-04-26 Richard Guenther <rguenther@suse.de>
++
++ PR lto/43455
++ * tree-inline.c (tree_can_inline_p): Also check compatibility
++ of return types.
++
++ 2010-04-23 Richard Guenther <rguenther@suse.de>
++
++ PR lto/42653
++ * tree.c (free_lang_data_in_decl): Do not reset DECL_CONTEXT
++ of FUNCTION_DECLs.
++
++ 2010-04-26 Richard Guenther <rguenther@suse.de>
++
++ PR lto/42425
++ * tree.c (free_lang_data_in_type): Do not free TYPE_CONTEXT
++ if emitting debug information and it is either a function
++ or a namespace decl.
++
++ 2010-04-26 Richard Guenther <rguenther@suse.de>
++
++ PR lto/43080
++ * gimple.c (gimple_decl_printable_name): Deal gracefully
++ with a NULL DECL_NAME.
++
++ 2010-04-30 Richard Guenther <rguenther@suse.de>
++
++ PR lto/43946
++ * passes.c (init_optimization_passes): Move pass_ipa_free_lang_data
++ first after all lowering passes.
++
++2010-05-18 Steven Bosscher <steven@gcc.gnu.org>
++
++ PR lto/44184
++ * lto-streamer-out.c (output_gimple_stmt): Output number of labels
++ in a GIMPLE_ASM.
++ * lto-streamer-in.c (input_gimple_stmt): Read number of labels
++ in a GIMPLE_ASM.
++
++2010-05-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
++
++ * config/i386/sol2.h (TARGET_SUN_TLS): Remove duplicate definition.
++
++2010-05-17 Jakub Jelinek <jakub@redhat.com>
++
++ PR bootstrap/42347
++ * cfglayout.c (fixup_reorder_chain): Allow returnjump_p
++ to have no fallthru edge.
++
++ PR middle-end/44102
++ * cfgcleanup.c (try_optimize_cfg): When removing trivially empty
++ bb with no successors, move footer whenever in IR_RTL_CFGLAYOUT
++ mode, not just when CLEANUP_CFGLAYOUT, and when in IR_RTL_CFGRTL
++ add BARRIER after previous bb if needed.
++
++2010-05-17 Alan Modra <amodra@gmail.com>
++
++ * config/rs6000/rs6000.c (rs6000_emit_allocate_stack): Delete
++ unnecessary prototype. Replace copy_r12 and copy_r11 flag params
++ with copy_reg rtx param.
++ (rs6000_emit_prologue): Update rs6000_emit_allocate_stack calls.
++ Correct cases where code for ABI_V4 did not initialise the reg
++ used to access frame. Also leave frame_reg_rtx as sp for large
++ frames that save no regs.
++
++2010-05-17 Eric Botcazou <ebotcazou@adacore.com>
++
++ Backport from mainline
++ 2010-05-16 Eric Botcazou <ebotcazou@adacore.com>
++
++ * opts.c (handle_option): Call into LTO streamer only if ENABLE_LTO.
++ (decode_options): Likewise.
++ * Makefile.in (opts.o): Add dependency on LTO_STREAMER_H.
++
+2010-05-14 Jason Merrill <jason@redhat.com>
+
+ PR c++/44127
2010-04-14 Release Manager
* GCC 4.5.0 released.
-@@ -100,7 +537,7 @@
+@@ -100,7 +686,7 @@
2010-04-02 Steven Bosscher <steven@gcc.gnu.org>
basic-block.h, bb-reorder.c, calls.c, c-common.c, cgraph.h,
collect2.h, config/alpha/alpha.c, config/alpha/alpha.md,
config/alpha/predicates.md, config/arm/arm.md,
-@@ -171,7 +608,7 @@
+@@ -171,7 +757,7 @@
2010-04-02 Richard Earnshaw <rearnsha@arm.com>
PR target/43469
gen_tls_load_dot_plus_four.
(arm_note_pic_base): New function.
(arm_cannot_copy_insn_p): Use it.
-@@ -190,12 +627,12 @@
+@@ -190,12 +776,12 @@
2010-04-01 Ralf Corsépius <ralf.corsepius@rtems.org>
Index: gcc/testsuite/gcc.c-torture/execute/pr43783.c
===================================================================
--- gcc/testsuite/gcc.c-torture/execute/pr43783.c (.../tags/gcc_4_5_0_release) (wersja 0)
-+++ gcc/testsuite/gcc.c-torture/execute/pr43783.c (.../branches/gcc-4_5-branch) (wersja 159429)
++++ gcc/testsuite/gcc.c-torture/execute/pr43783.c (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -0,0 +1,21 @@
+typedef __attribute__((aligned(16)))
+struct {
Index: gcc/testsuite/gcc.c-torture/execute/20100430-1.c
===================================================================
--- gcc/testsuite/gcc.c-torture/execute/20100430-1.c (.../tags/gcc_4_5_0_release) (wersja 0)
-+++ gcc/testsuite/gcc.c-torture/execute/20100430-1.c (.../branches/gcc-4_5-branch) (wersja 159429)
++++ gcc/testsuite/gcc.c-torture/execute/20100430-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -0,0 +1,51 @@
+/* This used to generate unaligned accesses at -O2 because of IVOPTS. */
+
+ info.buf.pst2[0].cc22 = info.buf.pst2[1].cc22 = 8;
+ return foo (&info);
+}
+Index: gcc/testsuite/gcc.c-torture/execute/pr43987.c
+===================================================================
+--- gcc/testsuite/gcc.c-torture/execute/pr43987.c (.../tags/gcc_4_5_0_release) (wersja 0)
++++ gcc/testsuite/gcc.c-torture/execute/pr43987.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -0,0 +1,20 @@
++char B[256 * sizeof(void *)];
++typedef void *FILE;
++typedef struct globals {
++ int c;
++ FILE *l;
++} __attribute__((may_alias)) T;
++void add_input_file(FILE *file)
++{
++ (*(T*)&B).l[0] = file;
++}
++extern void abort (void);
++int main()
++{
++ FILE x;
++ (*(T*)&B).l = &x;
++ add_input_file ((void *)-1);
++ if ((*(T*)&B).l[0] != (void *)-1)
++ abort ();
++ return 0;
++}
Index: gcc/testsuite/gcc.c-torture/execute/pr43835.c
===================================================================
--- gcc/testsuite/gcc.c-torture/execute/pr43835.c (.../tags/gcc_4_5_0_release) (wersja 0)
-+++ gcc/testsuite/gcc.c-torture/execute/pr43835.c (.../branches/gcc-4_5-branch) (wersja 159429)
++++ gcc/testsuite/gcc.c-torture/execute/pr43835.c (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -0,0 +1,51 @@
+struct PMC {
+ unsigned flags;
+ foo (&i, &c);
+ return 0;
+}
+Index: gcc/testsuite/gcc.c-torture/execute/pr44202-1.c
+===================================================================
+--- gcc/testsuite/gcc.c-torture/execute/pr44202-1.c (.../tags/gcc_4_5_0_release) (wersja 0)
++++ gcc/testsuite/gcc.c-torture/execute/pr44202-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -0,0 +1,30 @@
++extern __attribute__ ((__noreturn__)) void exit(int);
++extern __attribute__ ((__noreturn__)) void abort(void);
++__attribute__ ((__noinline__))
++int
++add512(int a, int *b)
++{
++ int c = a + 512;
++ if (c != 0)
++ *b = a;
++ return c;
++}
++
++__attribute__ ((__noinline__))
++int
++add513(int a, int *b)
++{
++ int c = a + 513;
++ if (c == 0)
++ *b = a;
++ return c;
++}
++
++int main(void)
++{
++ int b0 = -1;
++ int b1 = -1;
++ if (add512(-512, &b0) != 0 || b0 != -1 || add513(-513, &b1) != 0 || b1 != -513)
++ abort ();
++ exit (0);
++}
+Index: gcc/testsuite/gcc.c-torture/compile/pr42347.c
+===================================================================
+--- gcc/testsuite/gcc.c-torture/compile/pr42347.c (.../tags/gcc_4_5_0_release) (wersja 0)
++++ gcc/testsuite/gcc.c-torture/compile/pr42347.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -0,0 +1,16 @@
++/* PR bootstrap/42347 */
++
++long
++foo (long x, long y)
++{
++ x = x & y;
++ switch (y)
++ {
++ case 63L: x >>= 0; break;
++ case 4032L: x >>= 6; break;
++ case 258048L: x >>= 12; break;
++ case 16515072L: x >>= 18; break;
++ default: __builtin_unreachable ();
++ }
++ return x;
++}
Index: gcc/testsuite/gcc.c-torture/compile/limits-declparen.c
===================================================================
---- gcc/testsuite/gcc.c-torture/compile/limits-declparen.c (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ gcc/testsuite/gcc.c-torture/compile/limits-declparen.c (.../branches/gcc-4_5-branch) (wersja 159429)
+--- gcc/testsuite/gcc.c-torture/compile/limits-declparen.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.c-torture/compile/limits-declparen.c (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -1,3 +1,4 @@
+/* { dg-xfail-if "" { alpha*-dec-osf5* } { "-g" } { "" } } */
#define PTR1 (* (* (* (* (* (* (* (* (* (*
Index: gcc/testsuite/gcc.c-torture/compile/pr43845.c
===================================================================
--- gcc/testsuite/gcc.c-torture/compile/pr43845.c (.../tags/gcc_4_5_0_release) (wersja 0)
-+++ gcc/testsuite/gcc.c-torture/compile/pr43845.c (.../branches/gcc-4_5-branch) (wersja 159429)
++++ gcc/testsuite/gcc.c-torture/compile/pr43845.c (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -0,0 +1,12 @@
+typedef int __attribute__ ((const)) (*x264_pixel_cmp_t)(void);
+
+}
Index: gcc/testsuite/gcc.c-torture/compile/limits-pointer.c
===================================================================
---- gcc/testsuite/gcc.c-torture/compile/limits-pointer.c (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ gcc/testsuite/gcc.c-torture/compile/limits-pointer.c (.../branches/gcc-4_5-branch) (wersja 159429)
+--- gcc/testsuite/gcc.c-torture/compile/limits-pointer.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.c-torture/compile/limits-pointer.c (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -1,3 +1,4 @@
+/* { dg-xfail-if "" { alpha*-dec-osf5* } { "-g" } { "" } } */
#define PTR1 * * * * * * * * * *
Index: gcc/testsuite/gcc.c-torture/compile/pr43635.c
===================================================================
--- gcc/testsuite/gcc.c-torture/compile/pr43635.c (.../tags/gcc_4_5_0_release) (wersja 0)
-+++ gcc/testsuite/gcc.c-torture/compile/pr43635.c (.../branches/gcc-4_5-branch) (wersja 159429)
++++ gcc/testsuite/gcc.c-torture/compile/pr43635.c (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -0,0 +1,7 @@
+extern void d (void);
+
+ void (*(*x) (void)) (float) = d;
+ return (*x) ();
+}
+Index: gcc/testsuite/gcc.target/i386/20060512-3.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/20060512-3.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/20060512-3.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-require-effective-target ilp32 } */
++/* { dg-require-effective-target sse2 } */
+ /* { dg-options "-std=gnu99 -msse2 -mstackrealign -mpreferred-stack-boundary=4" } */
+
+ #include "sse2-check.h"
Index: gcc/testsuite/gcc.target/i386/avx-cmpsd-1.c
===================================================================
--- gcc/testsuite/gcc.target/i386/avx-cmpsd-1.c (.../tags/gcc_4_5_0_release) (wersja 0)
-+++ gcc/testsuite/gcc.target/i386/avx-cmpsd-1.c (.../branches/gcc-4_5-branch) (wersja 159429)
++++ gcc/testsuite/gcc.target/i386/avx-cmpsd-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -0,0 +1,8 @@
+/* { dg-do run } */
+/* { dg-require-effective-target avx } */
-+/* { dg-options "-O2 -mavx" } */
++/* { dg-options "-O2 -mavx -std=c99" } */
+
+#define CHECK_H "avx-check.h"
+#define TEST avx_test
+
+#include "sse2-cmpsd-1.c"
+Index: gcc/testsuite/gcc.target/i386/all_one_m128i.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/all_one_m128i.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/all_one_m128i.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do compile } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ typedef long long __m128i __attribute__ ((__vector_size__ (16)));
+ typedef int __v4si __attribute__ ((__vector_size__ (16)));
Index: gcc/testsuite/gcc.target/i386/pr43668.c
===================================================================
--- gcc/testsuite/gcc.target/i386/pr43668.c (.../tags/gcc_4_5_0_release) (wersja 0)
-+++ gcc/testsuite/gcc.target/i386/pr43668.c (.../branches/gcc-4_5-branch) (wersja 159429)
++++ gcc/testsuite/gcc.target/i386/pr43668.c (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -0,0 +1,10 @@
+/* PR target/43668 */
+/* { dg-do run } */
+int main() {
+ return foo(0, 0.0);
+}
+Index: gcc/testsuite/gcc.target/i386/sse2-pminub-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-pminub-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-pminub-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/i386.exp
+===================================================================
+--- gcc/testsuite/gcc.target/i386/i386.exp (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/i386.exp (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -37,6 +37,29 @@
+ }
+ }
+
++# Return 1 if 3dnow instructions can be compiled.
++proc check_effective_target_3dnow { } {
++ return [check_no_compiler_messages 3dnow object {
++ void _m_pfadd (void)
++ {
++ __builtin_ia32_pfadd();
++ }
++ } "-O2 -m3dnow" ]
++}
++
++# Return 1 if sse3 instructions can be compiled.
++proc check_effective_target_sse3 { } {
++ return [check_no_compiler_messages sse3 object {
++ typedef double __m128d __attribute__ ((__vector_size__ (16)));
++ typedef double __v2df __attribute__ ((__vector_size__ (16)));
++
++ __m128d _mm_addsub_pd (__m128d __X, __m128d __Y)
++ {
++ return (__m128d) __builtin_ia32_addsubpd ((__v2df)__X, (__v2df)__Y);
++ }
++ } "-O2 -msse3" ]
++}
++
+ # Return 1 if ssse3 instructions can be compiled.
+ proc check_effective_target_ssse3 { } {
+ return [check_no_compiler_messages ssse3 object {
+Index: gcc/testsuite/gcc.target/i386/sse2-pslldq-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-pslldq-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-pslldq-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-cvtsi2sd-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-cvtsi2sd-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-cvtsi2sd-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-minsd-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-minsd-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-minsd-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/pr40906-3.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/pr40906-3.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/pr40906-3.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run { target *-*-linux* } } */
+ /* { dg-require-effective-target ilp32 } */
++/* { dg-require-effective-target sse2 } */
+ /* { dg-options "-O2 -fomit-frame-pointer -msse2 -mpush-args -mno-accumulate-outgoing-args" } */
+
+ #include "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse-15.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse-15.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse-15.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do compile } */
+ /* { dg-options "-O2 -msse -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ /* Test that the intrinsics compile with optimization. These were not
+ tested in i386-sse-[12].c because these builtins require immediate
+Index: gcc/testsuite/gcc.target/i386/sse2-cvttsd2si-2.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-cvttsd2si-2.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-cvttsd2si-2.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-require-effective-target lp64 } */
++/* { dg-require-effective-target sse2 } */
+ /* { dg-options "-O2 -msse2" } */
+
+ #ifndef CHECK_H
+Index: gcc/testsuite/gcc.target/i386/sse2-pcmpgtd-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-pcmpgtd-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-pcmpgtd-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-init-v2di-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-init-v2di-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-init-v2di-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #include "sse2-check.h"
+
+Index: gcc/testsuite/gcc.target/i386/sse2-punpcklbw-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-punpcklbw-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-punpcklbw-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-psrlw-2.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-psrlw-2.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-psrlw-2.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-shufps-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-shufps-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-shufps-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/pr23570.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/pr23570.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/pr23570.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do compile } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ typedef float __v4sf __attribute__ ((__vector_size__ (16)));
+ typedef float __m128 __attribute__ ((__vector_size__ (16)));
+Index: gcc/testsuite/gcc.target/i386/fpcvt-3.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/fpcvt-3.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/fpcvt-3.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do compile } */
+ /* { dg-options "-O2 -msse2 -march=k8" } */
++/* { dg-require-effective-target sse2 } */
+ /* { dg-final { scan-assembler-not "cvtss2sd" } } */
+ extern double fabs (double);
+ float a,b;
+Index: gcc/testsuite/gcc.target/i386/pr42542-3a.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/pr42542-3a.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/pr42542-3a.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do compile } */
+ /* { dg-options "-O1 -msse2 -ftree-vectorize" } */
++/* { dg-require-effective-target sse2 } */
+
+ #include "pr42542-3.c"
+
+Index: gcc/testsuite/gcc.target/i386/pr39445.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/pr39445.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/pr39445.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-Os -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #include "sse2-check.h"
+
+Index: gcc/testsuite/gcc.target/i386/opt-2.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/opt-2.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/opt-2.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -2,6 +2,7 @@
+ whether we vectorize a simple loop. */
+ /* { dg-do compile } */
+ /* { dg-options "-O1 -msse2 -mfpmath=sse -march=k8" } */
++/* { dg-require-effective-target sse2 } */
+ /* { dg-final { scan-assembler "prefetcht0" } } */
+ /* { dg-final { scan-assembler "addps" } } */
+ /* { dg-final { scan-assembler "subss" } } */
+Index: gcc/testsuite/gcc.target/i386/sse2-pmaxub-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-pmaxub-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-pmaxub-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-maxsd-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-maxsd-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-maxsd-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-pmaddwd-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-pmaddwd-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-pmaddwd-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-punpcklqdq-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-punpcklqdq-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-punpcklqdq-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-movntpd-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-movntpd-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-movntpd-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-set-v16qi-2.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-set-v16qi-2.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-set-v16qi-2.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #define CHECK_H "sse2-check.h"
+ #define TEST sse2_test
+Index: gcc/testsuite/gcc.target/i386/sse-17.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse-17.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse-17.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+ #include "sse2-check.h"
+ #include <xmmintrin.h>
+ extern void abort();
+Index: gcc/testsuite/gcc.target/i386/vararg-7.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/vararg-7.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/vararg-7.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #include <stdarg.h>
+ #include <assert.h>
+Index: gcc/testsuite/gcc.target/i386/sse2-shufpd-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-shufpd-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-shufpd-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-psllq-2.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-psllq-2.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-psllq-2.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-cvtss2sd-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-cvtss2sd-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-cvtss2sd-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-vec-2.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-vec-2.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-vec-2.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #include "sse2-check.h"
+
+Index: gcc/testsuite/gcc.target/i386/sse2-psubsw-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-psubsw-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-psubsw-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-punpckhwd-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-punpckhwd-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-punpckhwd-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/ssefp-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/ssefp-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/ssefp-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do compile } */
+ /* { dg-options "-O2 -msse2 -march=k8 -mfpmath=sse" } */
++/* { dg-require-effective-target sse2 } */
+ /* { dg-final { scan-assembler "maxsd" } } */
+ /* { dg-final { scan-assembler "minsd" } } */
+ double x;
+Index: gcc/testsuite/gcc.target/i386/sse3-addsubps.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse3-addsubps.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse3-addsubps.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,4 +1,5 @@
+ /* { dg-do run } */
++/* { dg-require-effective-target sse3 } */
+ /* { dg-options "-O2 -msse3 -mfpmath=sse" } */
+
+ #ifndef CHECK_H
+Index: gcc/testsuite/gcc.target/i386/sse3-lddqu.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse3-lddqu.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse3-lddqu.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,4 +1,5 @@
+ /* { dg-do run } */
++/* { dg-require-effective-target sse3 } */
+ /* { dg-options "-O2 -msse3 -mfpmath=sse" } */
+
+ #ifndef CHECK_H
+Index: gcc/testsuite/gcc.target/i386/float128-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/float128-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/float128-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run { target *-*-linux* } } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #include "sse2-check.h"
+
+Index: gcc/testsuite/gcc.target/i386/vecinit-2.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/vecinit-2.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/vecinit-2.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do compile } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+ #define vector __attribute__((vector_size(16)))
+
+ int a;
+Index: gcc/testsuite/gcc.target/i386/pr35767-2d.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/pr35767-2d.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/pr35767-2d.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #include "sse2-check.h"
+
+Index: gcc/testsuite/gcc.target/i386/sse2-psubq-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-psubq-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-psubq-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-psrlq-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-psrlq-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-psrlq-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/fpprec-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/fpprec-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/fpprec-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -fno-math-errno -fno-trapping-math -msse2 -mfpmath=sse" } */
++/* { dg-require-effective-target sse2 } */
+
+ #include "sse2-check.h"
+
+Index: gcc/testsuite/gcc.target/i386/pr40809.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/pr40809.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/pr40809.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -ftree-vectorize -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #include "sse2-check.h"
+
+Index: gcc/testsuite/gcc.target/i386/sse2-mulsd-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-mulsd-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-mulsd-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse3-addsubpd.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse3-addsubpd.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse3-addsubpd.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,4 +1,5 @@
+ /* { dg-do run } */
++/* { dg-require-effective-target sse3 } */
+ /* { dg-options "-O2 -msse3 -mfpmath=sse" } */
+
+ #ifndef CHECK_H
+Index: gcc/testsuite/gcc.target/i386/sse-19.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse-19.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse-19.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do compile } */
+ /* { dg-options "-O3 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+ /* { dg-final { scan-assembler "punpcklbw" } } */
+ extern void abort();
+ #include <emmintrin.h>
+Index: gcc/testsuite/gcc.target/i386/sse2-pminsw-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-pminsw-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-pminsw-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-vec-4.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-vec-4.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-vec-4.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #include "sse2-check.h"
+
+Index: gcc/testsuite/gcc.target/i386/sse2-psraw-2.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-psraw-2.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-psraw-2.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-movupd-2.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-movupd-2.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-movupd-2.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-psubb-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-psubb-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-psubb-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/vecinit-4.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/vecinit-4.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/vecinit-4.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do compile } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+ #define vector __attribute__((vector_size(16)))
+
+ short a;
+Index: gcc/testsuite/gcc.target/i386/sse2-xorpd-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-xorpd-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-xorpd-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-pavgb-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-pavgb-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-pavgb-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/incoming-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/incoming-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/incoming-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,6 +1,7 @@
+ /* PR middle-end/37009 */
+ /* { dg-do compile { target { { ! *-*-darwin* } && ilp32 } } } */
+ /* { dg-options "-w -msse2 -mpreferred-stack-boundary=2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #include <emmintrin.h>
+
+Index: gcc/testsuite/gcc.target/i386/sse2-paddq-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-paddq-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-paddq-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/pr37843-4.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/pr37843-4.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/pr37843-4.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,6 +1,7 @@
+ /* Test for stack alignment with sibcall optimization. */
+ /* { dg-do compile { target { ilp32 && nonpic } } } */
+ /* { dg-options "-O2 -msse2 -mpreferred-stack-boundary=4 -mstackrealign" } */
++/* { dg-require-effective-target sse2 } */
+ /* { dg-final { scan-assembler-not "andl\[\\t \]*\\$-16,\[\\t \]*%\[re\]?sp" } } */
+ /* { dg-final { scan-assembler-not "call\[\\t \]*foo" } } */
+ /* { dg-final { scan-assembler "jmp\[\\t \]*foo" } } */
+Index: gcc/testsuite/gcc.target/i386/pr35767-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/pr35767-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/pr35767-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #include "sse2-check.h"
+
+Index: gcc/testsuite/gcc.target/i386/vectorize2.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/vectorize2.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/vectorize2.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do compile } */
+ /* { dg-require-effective-target ilp32 } */
++/* { dg-require-effective-target sse2 } */
+ /* { dg-options "-O2 -ffast-math -ftree-vectorize -msse2 -mfpmath=sse" } */
+
+ double a[256];
+Index: gcc/testsuite/gcc.target/i386/pr28839.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/pr28839.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/pr28839.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do compile } */
+ /* { dg-options "-O2 -msse2 -ftree-vectorize -funswitch-loops" } */
++/* { dg-require-effective-target sse2 } */
+
+ static int ready[10];
+ void abort (void);
+Index: gcc/testsuite/gcc.target/i386/sse2-cvtpd2dq-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-cvtpd2dq-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-cvtpd2dq-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/pr36222-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/pr36222-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/pr36222-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do compile } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ typedef long long __m128i __attribute__ ((__vector_size__ (16), __may_alias__));
+ typedef int __v4si __attribute__ ((__vector_size__ (16)));
+Index: gcc/testsuite/gcc.target/i386/pr37434-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/pr37434-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/pr37434-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do compile } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ typedef short __v8hi __attribute__ ((__vector_size__ (16)));
+ typedef long long __m128i __attribute__ ((__vector_size__ (16)));
+Index: gcc/testsuite/gcc.target/i386/sse2-movdqu-2.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-movdqu-2.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-movdqu-2.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-pmaxsw-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-pmaxsw-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-pmaxsw-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-pcmpgtw-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-pcmpgtw-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-pcmpgtw-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/3dnowA-2.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/3dnowA-2.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/3dnowA-2.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,4 +1,5 @@
+ /* { dg-do assemble } */
++/* { dg-require-effective-target 3dnow } */
+ /* { dg-options "-O0 -Werror-implicit-function-declaration -march=k8 -m3dnow" } */
+
+ /* Test that the intrinsics compile without optimization. All of them are
+Index: gcc/testsuite/gcc.target/i386/sse2-vec-6.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-vec-6.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-vec-6.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #include "sse2-check.h"
+
+Index: gcc/testsuite/gcc.target/i386/ssetype-2.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/ssetype-2.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/ssetype-2.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do compile } */
+ /* { dg-options "-O2 -msse2 -march=k8" } */
++/* { dg-require-effective-target sse2 } */
+ /* { dg-final { scan-assembler "andpd" } } */
+ /* { dg-final { scan-assembler "andnpd" } } */
+ /* { dg-final { scan-assembler "xorpd" } } */
+Index: gcc/testsuite/gcc.target/i386/pr35767-1i.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/pr35767-1i.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/pr35767-1i.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #include "sse2-check.h"
+
+Index: gcc/testsuite/gcc.target/i386/sse2-pshufd-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-pshufd-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-pshufd-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/vecinit-6.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/vecinit-6.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/vecinit-6.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do compile } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+ #define vector __attribute__((vector_size(16)))
+
+ int a, b;
+Index: gcc/testsuite/gcc.target/i386/pr41019.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/pr41019.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/pr41019.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2 -ftree-vectorize" } */
++/* { dg-require-effective-target sse2 } */
+
+ #include "sse2-check.h"
+
+Index: gcc/testsuite/gcc.target/i386/sse2-paddb-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-paddb-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-paddb-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-movq-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-movq-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-movq-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/incoming-3.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/incoming-3.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/incoming-3.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,6 +1,7 @@
+ /* PR middle-end/37009 */
+ /* { dg-do compile { target { { ! *-*-darwin* } && ilp32 } } } */
+ /* { dg-options "-w -msse2 -mpreferred-stack-boundary=2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #include <emmintrin.h>
+
+Index: gcc/testsuite/gcc.target/i386/sse2-cvtsd2si-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-cvtsd2si-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-cvtsd2si-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/math-torture/math-torture.exp
+===================================================================
+--- gcc/testsuite/gcc.target/i386/math-torture/math-torture.exp (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/math-torture/math-torture.exp (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,4 +1,4 @@
+-# Copyright (C) 2006, 2008 Free Software Foundation, Inc.
++# Copyright (C) 2006, 2008, 2010 Free Software Foundation, Inc.
+ #
+ # This file is part of GCC.
+ #
+@@ -18,6 +18,8 @@
+
+ # This harness is for tests that should be run at all optimisation levels.
+
++load_lib target-supports.exp
++
+ # Exit immediately if this isn't a x86 target.
+ if { ![istarget i?86*-*-*] && ![istarget x86_64-*-*] } then {
+ return
+@@ -27,27 +29,31 @@
+ { -O0 } \
+ { -O0 -mfpmath=387 } \
+ { -O0 -msse -mno-sse2 -mfpmath=sse } \
+- { -O0 -msse -msse2 -mfpmath=sse } \
+ { -O0 -msse -mno-sse2 -mfpmath=sse,387 } \
+- { -O0 -msse -msse2 -mfpmath=sse,387 } \
+ { -O0 -mfpmath=387 -ffast-math } \
+ { -O0 -msse -mno-sse2 -mfpmath=sse -ffast-math } \
+- { -O0 -msse -msse2 -mfpmath=sse -ffast-math } \
+ { -O0 -msse -mno-sse2 -mfpmath=sse,387 -ffast-math } \
+- { -O0 -msse -msse2 -mfpmath=sse,387 -ffast-math } \
+ { -O2 } \
+ { -O2 -mfpmath=387 } \
+ { -O2 -msse -mno-sse2 -mfpmath=sse } \
+- { -O2 -msse -msse2 -mfpmath=sse } \
+ { -O2 -msse -mno-sse2 -mfpmath=sse,387 } \
+- { -O2 -msse -msse2 -mfpmath=sse,387 } \
+ { -O2 -mfpmath=387 -ffast-math } \
+ { -O2 -msse -mno-sse2 -mfpmath=sse -ffast-math } \
+- { -O2 -msse -msse2 -mfpmath=sse -ffast-math } \
+ { -O2 -msse -mno-sse2 -mfpmath=sse,387 -ffast-math } \
+- { -O2 -msse -msse2 -mfpmath=sse,387 -ffast-math } \
+ ]
+
++if { [check_effective_target_sse2] } {
++ lappend MATH_TORTURE_OPTIONS \
++ { -O0 -msse -msse2 -mfpmath=sse } \
++ { -O0 -msse -msse2 -mfpmath=sse,387 } \
++ { -O0 -msse -msse2 -mfpmath=sse -ffast-math } \
++ { -O0 -msse -msse2 -mfpmath=sse,387 -ffast-math } \
++ { -O2 -msse -msse2 -mfpmath=sse } \
++ { -O2 -msse -msse2 -mfpmath=sse,387 } \
++ { -O2 -msse -msse2 -mfpmath=sse -ffast-math } \
++ { -O2 -msse -msse2 -mfpmath=sse,387 -ffast-math } \
++}
++
+ load_lib gcc-dg.exp
+ load_lib torture-options.exp
+
+Index: gcc/testsuite/gcc.target/i386/sse2-addpd-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-addpd-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-addpd-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-pslld-2.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-pslld-2.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-pslld-2.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/pr35767-3.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/pr35767-3.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/pr35767-3.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-require-effective-target dfp } */
++/* { dg-require-effective-target sse2 } */
+ /* { dg-options "-O -msse2 -std=gnu99" } */
+
+ #include "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/vectorize4.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/vectorize4.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/vectorize4.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do compile } */
+ /* { dg-require-effective-target ilp32 } */
++/* { dg-require-effective-target sse2 } */
+ /* { dg-options "-O2 -ffast-math -ftree-vectorize -msse2 --param ggc-min-expand=0 --param ggc-min-heapsize=0" } */
+ /* This test, tests two thing, we vectorize square root and also we don't crash due to a GC issue. */
+
+Index: gcc/testsuite/gcc.target/i386/sseregparm-3.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sseregparm-3.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sseregparm-3.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,6 +1,7 @@
+ /* { dg-do compile } */
+ /* { dg-options "-msse2 -O2" } */
+ /* { dg-require-effective-target ilp32 } */
++/* { dg-require-effective-target sse2 } */
+
+ /* Make sure we know that mysinfp returns in %xmm0. */
+
+Index: gcc/testsuite/gcc.target/i386/sse2-cvtpd2ps-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-cvtpd2ps-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-cvtpd2ps-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-set-v8hi-2.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-set-v8hi-2.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-set-v8hi-2.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #define CHECK_H "sse2-check.h"
+ #define TEST sse2_test
+Index: gcc/testsuite/gcc.target/i386/pr39315-2.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/pr39315-2.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/pr39315-2.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,6 +1,7 @@
+ /* PR middle-end/39315 */
+ /* { dg-do run } */
+ /* { dg-options "-O -msse2 -mtune=generic" } */
++/* { dg-require-effective-target sse2 } */
+ /* { dg-additional-sources pr39315-check.c } */
+
+ typedef float __m128 __attribute__ ((__vector_size__ (16)));
+Index: gcc/testsuite/gcc.target/i386/sse2-packssdw-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-packssdw-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-packssdw-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/pr42549.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/pr42549.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/pr42549.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,4 +1,5 @@
+ /* { dg-do run } */
++/* { dg-require-effective-target 3dnow } */
+ /* { dg-options "-O2 -m3dnow" } */
+
+ #include "mmx-3dnow-check.h"
+Index: gcc/testsuite/gcc.target/i386/ssetype-4.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/ssetype-4.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/ssetype-4.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do compile } */
+ /* { dg-options "-O2 -msse2 -march=k8" } */
++/* { dg-require-effective-target sse2 } */
+ /* { dg-final { scan-assembler "andps" } } */
+ /* { dg-final { scan-assembler "andnps" } } */
+ /* { dg-final { scan-assembler "xorps" } } */
+Index: gcc/testsuite/gcc.target/i386/sse2-movapd-2.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-movapd-2.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-movapd-2.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-movlpd-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-movlpd-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-movlpd-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-psubd-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-psubd-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-psubd-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-psrld-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-psrld-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-psrld-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/pr36578-2.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/pr36578-2.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/pr36578-2.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,6 +1,7 @@
+ /* Test for unsafe floating-point conversions. */
+ /* { dg-do run } */
+ /* { dg-options "-msse2 -mfpmath=sse" } */
++/* { dg-require-effective-target sse2 } */
+
+ #include "sse2-check.h"
+
+Index: gcc/testsuite/gcc.target/i386/pr32000-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/pr32000-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/pr32000-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,6 +1,7 @@
+ /* { dg-do run } */
+ /* { dg-require-effective-target dfp } */
+ /* { dg-options "-O -msse2 -std=gnu99" } */
++/* { dg-require-effective-target sse2 } */
+
+ #include "sse2-check.h"
+
+Index: gcc/testsuite/gcc.target/i386/sse2-lrint-vec.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-lrint-vec.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-lrint-vec.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -ffast-math -ftree-vectorize -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #include "sse2-check.h"
+
+Index: gcc/testsuite/gcc.target/i386/sse2-pand-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-pand-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-pand-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-movq-3.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-movq-3.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-movq-3.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-require-effective-target lp64 } */
++/* { dg-require-effective-target sse2 } */
+ /* { dg-options "-O2 -msse2" } */
+
+ #ifndef CHECK_H
+Index: gcc/testsuite/gcc.target/i386/pr39496.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/pr39496.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/pr39496.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,6 +1,7 @@
+ /* PR target/39496 */
+ /* { dg-do compile { target { { i?86-*-linux* x86_64-*-linux* } && ilp32 } } } */
+ /* { dg-options "-O0 -fverbose-asm -fno-omit-frame-pointer -mtune=i686 -msse2 -mfpmath=sse" } */
++/* { dg-require-effective-target sse2 } */
+ /* Verify that {foo,bar}{,2}param are all passed on the stack, using
+ normal calling conventions, when not optimizing. */
+ /* { dg-final { scan-assembler "\[^0-9-\]8\\(%ebp\\),\[^\n\]*fooparam," } } */
+Index: gcc/testsuite/gcc.target/i386/pr35767-5.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/pr35767-5.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/pr35767-5.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,6 +1,7 @@
+ /* Test that we generate aligned load when memory is aligned. */
+ /* { dg-do compile } */
+ /* { dg-options "-O -msse2 -mtune=generic" } */
++/* { dg-require-effective-target sse2 } */
+ /* { dg-final { scan-assembler-not "movups" } } */
+ /* { dg-final { scan-assembler "movaps" } } */
+
+Index: gcc/testsuite/gcc.target/i386/vectorize6.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/vectorize6.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/vectorize6.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do compile } */
+ /* { dg-options "-O2 -msse2 -ftree-vectorize -mveclibabi=svml -ffast-math" } */
++/* { dg-require-effective-target sse2 } */
+
+ double x[256];
+
+Index: gcc/testsuite/gcc.target/i386/sse2-paddsb-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-paddsb-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-paddsb-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sseregparm-5.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sseregparm-5.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sseregparm-5.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,6 +1,7 @@
+ /* { dg-do compile } */
+ /* { dg-options "-msse2 -O2" } */
+ /* { dg-require-effective-target ilp32 } */
++/* { dg-require-effective-target sse2 } */
+
+ /* Make sure we know that mysinfp returns in %xmm0. */
+
+Index: gcc/testsuite/gcc.target/i386/sse2-unpckhpd-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-unpckhpd-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-unpckhpd-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/pr39315-4.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/pr39315-4.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/pr39315-4.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,6 +1,7 @@
+ /* PR middle-end/39315 */
+ /* { dg-do run } */
+ /* { dg-options "-O -msse2 -mtune=generic" } */
++/* { dg-require-effective-target sse2 } */
+ /* { dg-additional-sources pr39315-check.c } */
+
+ typedef float __m128 __attribute__ ((__vector_size__ (16)));
+Index: gcc/testsuite/gcc.target/i386/sse-10.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse-10.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse-10.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -2,6 +2,7 @@
+ /* { dg-do run } */
+ /* { dg-options "-O1 -msse2 -mfpmath=sse -mno-accumulate-outgoing-args -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer" } */
+ /* { dg-options "-O1 -msse2 -mfpmath=sse -fno-omit-frame-pointer" { target *-*-mingw* *-*-cygwin* } } */
++/* { dg-require-effective-target sse2 } */
+
+ #include "sse2-check.h"
+
+Index: gcc/testsuite/gcc.target/i386/sse2-cvtps2dq-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-cvtps2dq-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-cvtps2dq-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/pr39162.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/pr39162.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/pr39162.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do compile } */
+ /* { dg-options "-O2 -msse2 -mno-avx" } */
++/* { dg-require-effective-target sse2 } */
+
+ typedef long long __m256i __attribute__ ((__vector_size__ (32), __may_alias__));
+
+Index: gcc/testsuite/gcc.target/i386/sse2-pshufhw-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-pshufhw-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-pshufhw-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-andpd-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-andpd-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-andpd-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-ucomisd-2.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-ucomisd-2.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-ucomisd-2.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
Index: gcc/testsuite/gcc.target/i386/sse2-cmpsd-1.c
===================================================================
--- gcc/testsuite/gcc.target/i386/sse2-cmpsd-1.c (.../tags/gcc_4_5_0_release) (wersja 0)
-+++ gcc/testsuite/gcc.target/i386/sse2-cmpsd-1.c (.../branches/gcc-4_5-branch) (wersja 159429)
-@@ -0,0 +1,57 @@
++++ gcc/testsuite/gcc.target/i386/sse2-cmpsd-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -0,0 +1,58 @@
+/* { dg-do run } */
+/* { dg-options "-O2 -msse2 -std=c99" } */
++/* { dg-require-effective-target sse2 } */
+
+#ifndef CHECK_H
+#define CHECK_H "sse2-check.h"
+ CMP(nge, !isunordered(s1[0], s2[0]) && s1[0] < s2[0]);
+ CMP(ngt, !isunordered(s1[0], s2[0]) && s1[0] <= s2[0]);
+}
+Index: gcc/testsuite/gcc.target/i386/sse2-set-v8hi-2a.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-set-v8hi-2a.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-set-v8hi-2a.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -mtune=core2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #define CHECK_H "sse2-check.h"
+ #define TEST sse2_test
+Index: gcc/testsuite/gcc.target/i386/pr42542-2.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/pr42542-2.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/pr42542-2.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O1 -msse2 -ftree-vectorize" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-paddd-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-paddd-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-paddd-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-comisd-2.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-comisd-2.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-comisd-2.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/incoming-7.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/incoming-7.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/incoming-7.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,6 +1,7 @@
+ /* PR target/40838 */
+ /* { dg-do compile { target { { ! *-*-darwin* } && ilp32 } } } */
+ /* { dg-options "-w -mstackrealign -O2 -msse2 -mpreferred-stack-boundary=4" } */
++/* { dg-require-effective-target sse2 } */
+
+ typedef int v4si __attribute__ ((vector_size (16)));
+
+Index: gcc/testsuite/gcc.target/i386/sse2-movmskpd-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-movmskpd-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-movmskpd-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/pr37101.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/pr37101.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/pr37101.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do compile } */
+ /* { dg-options "-O2 -msse2 -ftree-vectorize -march=nocona" } */
++/* { dg-require-effective-target sse2 } */
+
+ typedef __SIZE_TYPE__ size_t;
+ extern void *malloc (size_t);
+Index: gcc/testsuite/gcc.target/i386/sse2-divpd-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-divpd-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-divpd-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-set-epi64x-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-set-epi64x-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-set-epi64x-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #include "sse2-check.h"
+
+Index: gcc/testsuite/gcc.target/i386/sse2-init-v4si-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-init-v4si-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-init-v4si-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #include "sse2-check.h"
+
+Index: gcc/testsuite/gcc.target/i386/vectorize8.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/vectorize8.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/vectorize8.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do compile } */
+ /* { dg-options "-O2 -ftree-vectorize -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ unsigned int a[256];
+ double b[256];
+Index: gcc/testsuite/gcc.target/i386/sseregparm-7.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sseregparm-7.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sseregparm-7.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,6 +1,7 @@
+ /* { dg-do compile } */
+ /* { dg-options "-msse2 -O2" } */
+ /* { dg-require-effective-target ilp32 } */
++/* { dg-require-effective-target sse2 } */
+
+ /* Make sure we know that mysinfp returns in %xmm0. */
+
+Index: gcc/testsuite/gcc.target/i386/sse3-movshdup.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse3-movshdup.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse3-movshdup.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,4 +1,5 @@
+ /* { dg-do run } */
++/* { dg-require-effective-target sse3 } */
+ /* { dg-options "-O2 -msse3 -mfpmath=sse" } */
+
+ #ifndef CHECK_H
+Index: gcc/testsuite/gcc.target/i386/quad-sse.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/quad-sse.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/quad-sse.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do compile } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ __float128 x, y;
+
+Index: gcc/testsuite/gcc.target/i386/pr42881.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/pr42881.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/pr42881.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,6 +1,8 @@
+ /* PR target/42881 */
+ /* { dg-do run } */
+ /* { dg-options "-O0 -msse2" } */
++/* { dg-require-effective-target sse2 } */
++
+ #include "sse2-check.h"
+ static void
+ sse2_test (void)
+Index: gcc/testsuite/gcc.target/i386/sse2-paddusb-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-paddusb-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-paddusb-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-movsd-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-movsd-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-movsd-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/vararg-2.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/vararg-2.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/vararg-2.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -2,6 +2,7 @@
+ /* { dg-do run } */
+ /* { dg-options "-w" { target { lp64 } } } */
+ /* { dg-options "-w -msse2 -mpreferred-stack-boundary=2" { target { ilp32 } } } */
++/* { dg-require-effective-target sse2 } */
+
+ #include "sse2-check.h"
+ #include <stdarg.h>
+Index: gcc/testsuite/gcc.target/i386/sse2-pmulhw-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-pmulhw-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-pmulhw-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/3dnow-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/3dnow-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/3dnow-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,4 +1,5 @@
+ /* { dg-do assemble } */
++/* { dg-require-effective-target 3dnow } */
+ /* { dg-options "-O2 -Werror-implicit-function-declaration -m3dnow" } */
+
+ /* Test that the intrinsics compile with optimization. All of them are
+Index: gcc/testsuite/gcc.target/i386/vperm-v2di.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/vperm-v2di.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/vperm-v2di.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #include "isa-check.h"
+
+Index: gcc/testsuite/gcc.target/i386/sse2-movdqa-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-movdqa-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-movdqa-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-punpckhdq-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-punpckhdq-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-punpckhdq-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/xorps.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/xorps.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/xorps.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do compile } */
+ /* { dg-options "-Os -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ typedef float __m128 __attribute__ ((vector_size (16)));
+
+Index: gcc/testsuite/gcc.target/i386/sse2-movd-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-movd-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-movd-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-ucomisd-4.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-ucomisd-4.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-ucomisd-4.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-psrad-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-psrad-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-psrad-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-cvttpd2dq-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-cvttpd2dq-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-cvttpd2dq-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-comisd-4.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-comisd-4.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-comisd-4.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-movhpd-2.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-movhpd-2.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-movhpd-2.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -mfpmath=sse -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
Index: gcc/testsuite/gcc.target/i386/avx-cmpss-2.c
===================================================================
--- gcc/testsuite/gcc.target/i386/avx-cmpss-2.c (.../tags/gcc_4_5_0_release) (wersja 0)
-+++ gcc/testsuite/gcc.target/i386/avx-cmpss-2.c (.../branches/gcc-4_5-branch) (wersja 159429)
++++ gcc/testsuite/gcc.target/i386/avx-cmpss-2.c (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -0,0 +1,13 @@
+/* { dg-do compile } */
+/* { dg-options "-O2 -mavx" } */
+
+
+/* { dg-final { scan-assembler "vcmpeqss" } } */
+Index: gcc/testsuite/gcc.target/i386/sse2-packsswb-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-packsswb-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-packsswb-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-psllw-2.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-psllw-2.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-psllw-2.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse3-hsubps.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse3-hsubps.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse3-hsubps.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,4 +1,5 @@
+ /* { dg-do run } */
++/* { dg-require-effective-target sse3 } */
+ /* { dg-options "-O2 -msse3 -mfpmath=sse" } */
+
+ #ifndef CHECK_H
+Index: gcc/testsuite/gcc.target/i386/sse2-pcmpeqb-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-pcmpeqb-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-pcmpeqb-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-cvtps2pd-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-cvtps2pd-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-cvtps2pd-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-punpcklwd-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-punpcklwd-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-punpcklwd-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/vararg-4.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/vararg-4.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/vararg-4.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #include <stdarg.h>
+ #include <assert.h>
+Index: gcc/testsuite/gcc.target/i386/sse2-cvttsd2si-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-cvttsd2si-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-cvttsd2si-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse3-hsubpd.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse3-hsubpd.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse3-hsubpd.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,4 +1,5 @@
+ /* { dg-do run } */
++/* { dg-require-effective-target sse3 } */
+ /* { dg-options "-O2 -msse3 -mfpmath=sse" } */
+
+ #ifndef CHECK_H
+Index: gcc/testsuite/gcc.target/i386/sse2-psubw-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-psubw-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-psubw-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-psrlw-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-psrlw-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-psrlw-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/pr26600.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/pr26600.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/pr26600.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do compile } */
+ /* { dg-options "-O -ftree-vectorize -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ void foo(int *p, int N)
+ {
+Index: gcc/testsuite/gcc.target/i386/sse2-ucomisd-6.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-ucomisd-6.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-ucomisd-6.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/fpcvt-2.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/fpcvt-2.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/fpcvt-2.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do compile } */
+ /* { dg-options "-O2 -msse2 -march=k8" } */
++/* { dg-require-effective-target sse2 } */
+ /* { dg-final { scan-assembler-not "cvtss2sd" } } */
+ float a,b;
+ main()
+Index: gcc/testsuite/gcc.target/i386/sse2-addsd-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-addsd-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-addsd-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-comisd-6.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-comisd-6.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-comisd-6.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-pavgw-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-pavgw-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-pavgw-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
Index: gcc/testsuite/gcc.target/i386/avx-cmpsd-2.c
===================================================================
--- gcc/testsuite/gcc.target/i386/avx-cmpsd-2.c (.../tags/gcc_4_5_0_release) (wersja 0)
-+++ gcc/testsuite/gcc.target/i386/avx-cmpsd-2.c (.../branches/gcc-4_5-branch) (wersja 159429)
++++ gcc/testsuite/gcc.target/i386/avx-cmpsd-2.c (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -0,0 +1,13 @@
+/* { dg-do compile } */
+/* { dg-options "-O2 -mavx" } */
+
+
+/* { dg-final { scan-assembler "vcmpeqsd" } } */
+Index: gcc/testsuite/gcc.target/i386/ssefn-2.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/ssefn-2.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/ssefn-2.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -3,6 +3,7 @@
+
+ /* { dg-do compile } */
+ /* { dg-require-effective-target ilp32 } */
++/* { dg-require-effective-target sse2 } */
+ /* { dg-final { scan-assembler "movss" } } */
+ /* { dg-final { scan-assembler "mulss" } } */
+ /* { dg-final { scan-assembler "movsd" } } */
Index: gcc/testsuite/gcc.target/i386/pr44071.c
===================================================================
--- gcc/testsuite/gcc.target/i386/pr44071.c (.../tags/gcc_4_5_0_release) (wersja 0)
-+++ gcc/testsuite/gcc.target/i386/pr44071.c (.../branches/gcc-4_5-branch) (wersja 159429)
++++ gcc/testsuite/gcc.target/i386/pr44071.c (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -0,0 +1,103 @@
+/* PR middle-end/44071 */
+/* { dg-do run } */
+ abort ();
+ return 0;
+}
+Index: gcc/testsuite/gcc.target/i386/xorps-sse2.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/xorps-sse2.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/xorps-sse2.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,6 +1,7 @@
+ /* Test that we generate xorps when the result is used in FP math. */
+ /* { dg-do compile } */
+ /* { dg-options "-O -msse2 -mno-sse3" } */
++/* { dg-require-effective-target sse2 } */
+ /* { dg-final { scan-assembler "xorps\[ \t\]" { xfail *-*-* } } } */
+ /* { dg-final { scan-assembler-not "pxor" { xfail *-*-* } } } */
+
+Index: gcc/testsuite/gcc.target/i386/sse2-unpack-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-unpack-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-unpack-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do compile } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #include <emmintrin.h>
+
+Index: gcc/testsuite/gcc.target/i386/opt-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/opt-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/opt-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -2,6 +2,7 @@
+ whether we vectorize a simple loop. */
+ /* { dg-do compile } */
+ /* { dg-options "-O1 -msse2 -mfpmath=sse -march=k8" } */
++/* { dg-require-effective-target sse2 } */
+ /* { dg-final { scan-assembler "prefetcht0" } } */
+ /* { dg-final { scan-assembler "addps" } } */
+ /* { dg-final { scan-assembler "subss" } } */
+Index: gcc/testsuite/gcc.target/i386/sse2-cvtsi2sd-2.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-cvtsi2sd-2.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-cvtsi2sd-2.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-require-effective-target lp64 } */
++/* { dg-require-effective-target sse2 } */
+ /* { dg-options "-O2 -msse2" } */
+
+ #ifndef CHECK_H
+Index: gcc/testsuite/gcc.target/i386/sse2-set-v16qi-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-set-v16qi-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-set-v16qi-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #define CHECK_H "sse2-check.h"
+ #define TEST sse2_test
+Index: gcc/testsuite/gcc.target/i386/pr33329.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/pr33329.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/pr33329.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do compile } */
+ /* { dg-options "-O2 -ftree-vectorize -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ extern void g (int *);
+
+Index: gcc/testsuite/gcc.target/i386/sse2-psllq-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-psllq-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-psllq-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse3-haddps.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse3-haddps.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse3-haddps.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,4 +1,5 @@
+ /* { dg-do run } */
++/* { dg-require-effective-target sse3 } */
+ /* { dg-options "-O2 -msse3 -mfpmath=sse" } */
+
+ #ifndef CHECK_H
+Index: gcc/testsuite/gcc.target/i386/incoming-12.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/incoming-12.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/incoming-12.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,6 +1,7 @@
+ /* PR target/40838 */
+ /* { dg-do compile { target { { ! *-*-darwin* } && ilp32 } } } */
+ /* { dg-options "-w -mstackrealign -O2 -msse2 -mpreferred-stack-boundary=4" } */
++/* { dg-require-effective-target sse2 } */
+
+ typedef int v4si __attribute__ ((vector_size (16)));
+
+Index: gcc/testsuite/gcc.target/i386/sse2-vec-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-vec-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-vec-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #include "sse2-check.h"
+
+Index: gcc/testsuite/gcc.target/i386/pr27790.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/pr27790.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/pr27790.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do compile } */
+ /* { dg-options "-O -ftree-vectorize -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ void binarize (int npixels, unsigned char *b)
+ {
+Index: gcc/testsuite/gcc.target/i386/pr35767-1d.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/pr35767-1d.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/pr35767-1d.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #include "sse2-check.h"
+
+Index: gcc/testsuite/gcc.target/i386/sse2-paddw-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-paddw-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-paddw-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/ssefn-4.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/ssefn-4.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/ssefn-4.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -3,6 +3,7 @@
+
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2 -mfpmath=sse" } */
++/* { dg-require-effective-target sse2 } */
+
+ #include "sse2-check.h"
+
+Index: gcc/testsuite/gcc.target/i386/sse-vect-types.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse-vect-types.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse-vect-types.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do compile } */
+ /* { dg-options "-O0 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #include <xmmintrin.h>
+
+Index: gcc/testsuite/gcc.target/i386/vecinit-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/vecinit-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/vecinit-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do compile } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+ #define vector __attribute__((vector_size(16)))
+
+ float a;
+Index: gcc/testsuite/gcc.target/i386/sse3-haddpd.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse3-haddpd.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse3-haddpd.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,4 +1,5 @@
+ /* { dg-do run } */
++/* { dg-require-effective-target sse3 } */
+ /* { dg-options "-O2 -msse3 -mfpmath=sse" } */
+
+ #ifndef CHECK_H
+Index: gcc/testsuite/gcc.target/i386/sse2-cvttps2dq-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-cvttps2dq-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-cvttps2dq-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/pr32661.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/pr32661.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/pr32661.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do compile } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ typedef int __v4si __attribute__ ((__vector_size__ (16)));
+ typedef float __v4sf __attribute__ ((__vector_size__ (16)));
+Index: gcc/testsuite/gcc.target/i386/sse2-pcmpeqd-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-pcmpeqd-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-pcmpeqd-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-set-v16qi-3.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-set-v16qi-3.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-set-v16qi-3.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #define CHECK_H "sse2-check.h"
+ #define TEST sse2_test
+Index: gcc/testsuite/gcc.target/i386/sse2-mmx.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-mmx.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-mmx.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #include "sse2-check.h"
+
+Index: gcc/testsuite/gcc.target/i386/sse-18.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse-18.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse-18.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O3 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #include "sse2-check.h"
+
+Index: gcc/testsuite/gcc.target/i386/pr18614-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/pr18614-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/pr18614-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,6 +1,7 @@
+ /* PR rtl-optimization/18614 */
+ /* { dg-do compile } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ typedef double v2df __attribute__ ((vector_size (16)));
+
+Index: gcc/testsuite/gcc.target/i386/vararg-8.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/vararg-8.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/vararg-8.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #include <stdarg.h>
+ #include <assert.h>
+Index: gcc/testsuite/gcc.target/i386/sse2-divsd-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-divsd-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-divsd-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-punpckhqdq-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-punpckhqdq-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-punpckhqdq-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-vec-3.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-vec-3.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-vec-3.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #include "sse2-check.h"
+
+Index: gcc/testsuite/gcc.target/i386/sse2-psraw-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-psraw-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-psraw-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/ssefp-2.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/ssefp-2.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/ssefp-2.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do compile } */
+ /* { dg-options "-O2 -msse2 -march=k8 -mfpmath=sse" } */
++/* { dg-require-effective-target sse2 } */
+ /* { dg-final { scan-assembler "maxsd" } } */
+ /* { dg-final { scan-assembler "minsd" } } */
+ double x;
+Index: gcc/testsuite/gcc.target/i386/sse2-movupd-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-movupd-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-movupd-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/pr30970.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/pr30970.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/pr30970.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do compile }
+ /* { dg-options "-msse2 -O2 -ftree-vectorize" } */
++/* { dg-require-effective-target sse2 } */
+
+ #define N 256
+ int b[N];
Index: gcc/testsuite/gcc.target/i386/pr43508.c
===================================================================
--- gcc/testsuite/gcc.target/i386/pr43508.c (.../tags/gcc_4_5_0_release) (wersja 0)
-+++ gcc/testsuite/gcc.target/i386/pr43508.c (.../branches/gcc-4_5-branch) (wersja 159429)
++++ gcc/testsuite/gcc.target/i386/pr43508.c (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -0,0 +1,13 @@
+/* { dg-do compile } */
+/* { dg-options "-g -O -msse3" } */
+ int x = __builtin_ia32_vec_ext_v4si (vi, 0);
+ return bar(x);
+}
+Index: gcc/testsuite/gcc.target/i386/float128-2.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/float128-2.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/float128-2.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -2,6 +2,7 @@
+
+ /* { dg-do run { target *-*-linux* *-*-darwin* } } */
+ /* { dg-options "-Os -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #include "sse2-check.h"
+
+Index: gcc/testsuite/gcc.target/i386/vecinit-3.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/vecinit-3.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/vecinit-3.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do compile } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+ #define vector __attribute__((vector_size(16)))
+
+ char a;
+Index: gcc/testsuite/gcc.target/i386/sse2-punpckhbw-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-punpckhbw-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-punpckhbw-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-psrlq-2.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-psrlq-2.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-psrlq-2.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-psrldq-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-psrldq-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-psrldq-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/pr37216.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/pr37216.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/pr37216.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,6 +1,7 @@
+ /* { dg-do run } */
+ /* { dg-options "-O3 -msse2" } */
+ /* { dg-options "-O3 -msse2 -mpe-aligned-commons" { target pe_aligned_commons } } */
++/* { dg-require-effective-target sse2 } */
+
+ #include "sse2-check.h"
+
+Index: gcc/testsuite/gcc.target/i386/sse2-paddsw-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-paddsw-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-paddsw-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/pr22152.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/pr22152.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/pr22152.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do compile } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #include <mmintrin.h>
+
+Index: gcc/testsuite/gcc.target/i386/sse2-packuswb-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-packuswb-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-packuswb-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/pr37843-3.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/pr37843-3.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/pr37843-3.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,6 +1,7 @@
+ /* Test for stack alignment with sibcall optimization. */
+ /* { dg-do compile { target { ilp32 && nonpic } } } */
+ /* { dg-options "-O2 -msse2 -mpreferred-stack-boundary=4 -mstackrealign" } */
++/* { dg-require-effective-target sse2 } */
+ /* { dg-final { scan-assembler-not "andl\[\\t \]*\\$-16,\[\\t \]*%\[re\]?sp" } } */
+ /* { dg-final { scan-assembler-not "call\[\\t \]*_?foo" } } */
+ /* { dg-final { scan-assembler "jmp\[\\t \]*_?foo" } } */
+Index: gcc/testsuite/gcc.target/i386/sse2-pshuflw-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-pshuflw-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-pshuflw-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-andnpd-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-andnpd-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-andnpd-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-movdqu-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-movdqu-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-movdqu-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/pr23575.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/pr23575.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/pr23575.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do compile } */
+ /* { dg-options "-msse2 -O2" } */
++/* { dg-require-effective-target sse2 } */
+
+ /* We used to ICE because of a bogous pattern. */
+
+Index: gcc/testsuite/gcc.target/i386/sse2-vec-5.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-vec-5.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-vec-5.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #include "sse2-check.h"
+
+Index: gcc/testsuite/gcc.target/i386/3dnowA-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/3dnowA-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/3dnowA-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,4 +1,5 @@
+ /* { dg-do assemble } */
++/* { dg-require-effective-target 3dnow } */
+ /* { dg-options "-O2 -Werror-implicit-function-declaration -march=k8 -m3dnow" } */
+
+ /* Test that the intrinsics compile with optimization. All of them are
+Index: gcc/testsuite/gcc.target/i386/ssetype-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/ssetype-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/ssetype-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,6 +1,7 @@
+ /* { dg-do compile } */
+ /* This test checks for absolute memory operands. */
+ /* { dg-require-effective-target nonpic } */
++/* { dg-require-effective-target sse2 } */
+ /* { dg-options "-O2 -msse2 -march=k8" } */
+ /* { dg-final { scan-assembler "andpd\[^\\n\]*magic" } } */
+ /* { dg-final { scan-assembler "andnpd\[^\\n\]*magic" } } */
+Index: gcc/testsuite/gcc.target/i386/sse2-cvtdq2ps-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-cvtdq2ps-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-cvtdq2ps-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-sqrtpd-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-sqrtpd-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-sqrtpd-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-subpd-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-subpd-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-subpd-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/vecinit-5.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/vecinit-5.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/vecinit-5.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do compile } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+ #define vector __attribute__((vector_size(16)))
+
+ float a, b;
+Index: gcc/testsuite/gcc.target/i386/sse2-lrintf-vec.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-lrintf-vec.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-lrintf-vec.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -ffast-math -ftree-vectorize -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #include "sse2-check.h"
+
+Index: gcc/testsuite/gcc.target/i386/sse3-movsldup.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse3-movsldup.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse3-movsldup.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,4 +1,5 @@
+ /* { dg-do run } */
++/* { dg-require-effective-target sse3 } */
+ /* { dg-options "-O2 -msse3 -mfpmath=sse" } */
+
+ #ifndef CHECK_H
+Index: gcc/testsuite/gcc.target/i386/sse2-unpcklpd-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-unpcklpd-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-unpcklpd-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/incoming-2.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/incoming-2.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/incoming-2.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,6 +1,7 @@
+ /* PR middle-end/37009 */
+ /* { dg-do compile { target { { ! *-*-darwin* } && ilp32 } } } */
+ /* { dg-options "-w -msse2 -mpreferred-stack-boundary=2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #include <emmintrin.h>
+
+Index: gcc/testsuite/gcc.target/i386/sse2-por-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-por-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-por-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-paddusw-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-paddusw-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-paddusw-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-pslld-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-pslld-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-pslld-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-pmullw-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-pmullw-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-pmullw-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/pr35767-2.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/pr35767-2.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/pr35767-2.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #include "sse2-check.h"
+
+Index: gcc/testsuite/gcc.target/i386/vectorize3.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/vectorize3.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/vectorize3.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do compile } */
+ /* { dg-require-effective-target ilp32 } */
++/* { dg-require-effective-target sse2 } */
+ /* { dg-options "-O2 -ffast-math -ftree-vectorize -msse2 -mfpmath=sse" } */
+
+ float a[256];
+Index: gcc/testsuite/gcc.target/i386/sse2-set-v8hi-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-set-v8hi-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-set-v8hi-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #define CHECK_H "sse2-check.h"
+ #define TEST sse2_test
+Index: gcc/testsuite/gcc.target/i386/pr39315-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/pr39315-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/pr39315-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,6 +1,7 @@
+ /* PR middle-end/39315 */
+ /* { dg-do compile } */
+ /* { dg-options "-O -msse2 -mtune=generic" } */
++/* { dg-require-effective-target sse2 } */
+ /* { dg-final { scan-assembler-not "movups" } } */
+ /* { dg-final { scan-assembler-not "movlps" } } */
+ /* { dg-final { scan-assembler-not "movhps" } } */
+Index: gcc/testsuite/gcc.target/i386/pr37434-2.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/pr37434-2.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/pr37434-2.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do compile } */
+ /* { dg-options "-O2 -mtune=core2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ typedef short __v8hi __attribute__ ((__vector_size__ (16)));
+ typedef long long __m128i __attribute__ ((__vector_size__ (16)));
+Index: gcc/testsuite/gcc.target/i386/pr35714.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/pr35714.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/pr35714.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do compile } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #include <emmintrin.h>
+
+Index: gcc/testsuite/gcc.target/i386/sse2-psadbw-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-psadbw-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-psadbw-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/ssetype-3.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/ssetype-3.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/ssetype-3.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,6 +1,7 @@
+ /* { dg-do compile } */
+ /* This test checks for absolute memory operands. */
+ /* { dg-require-effective-target nonpic } */
++/* { dg-require-effective-target sse2 } */
+ /* { dg-options "-O2 -msse2 -march=k8" } */
+ /* { dg-final { scan-assembler "andps\[^\\n\]*magic" } } */
+ /* { dg-final { scan-assembler "andnps\[^\\n\]*magic" } } */
+Index: gcc/testsuite/gcc.target/i386/sse2-movapd-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-movapd-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-movapd-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-cvtdq2pd-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-cvtdq2pd-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-cvtdq2pd-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-minpd-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-minpd-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-minpd-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/unordcmp-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/unordcmp-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/unordcmp-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do compile } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+ /* { dg-final { scan-assembler "cmpunordss" } } */
+ /* { dg-final { scan-assembler "cmpunordps" } } */
+ /* { dg-final { scan-assembler "cmpunordsd" } } */
+Index: gcc/testsuite/gcc.target/i386/pr36578-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/pr36578-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/pr36578-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,6 +1,7 @@
+ /* Test for unsafe floating-point conversions. PR 36578. */
+ /* { dg-do run } */
+ /* { dg-options "-msse2 -mfpmath=sse" } */
++/* { dg-require-effective-target sse2 } */
+
+ #include "sse2-check.h"
+
+Index: gcc/testsuite/gcc.target/i386/pr35767-2i.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/pr35767-2i.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/pr35767-2i.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #include "sse2-check.h"
+
+Index: gcc/testsuite/gcc.target/i386/sse2-psubsb-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-psubsb-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-psubsb-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/pr32961.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/pr32961.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/pr32961.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do compile } */
+ /* { dg-options "-O0 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #include <xmmintrin.h>
+
+Index: gcc/testsuite/gcc.target/i386/sse-4.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse-4.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse-4.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,6 +1,7 @@
+ /* This testcase caused a buffer overflow in simplify_immed_subreg. */
+ /* { dg-do compile } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #include <emmintrin.h>
+
+Index: gcc/testsuite/gcc.target/i386/sse2-movq-2.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-movq-2.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-movq-2.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-require-effective-target lp64 } */
++/* { dg-require-effective-target sse2 } */
+ /* { dg-options "-O2 -msse2" } */
+
+ #ifndef CHECK_H
+Index: gcc/testsuite/gcc.target/i386/incoming-4.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/incoming-4.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/incoming-4.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,6 +1,7 @@
+ /* PR middle-end/37009 */
+ /* { dg-do compile { target { { ! *-*-darwin* } && ilp32 } } } */
+ /* { dg-options "-w -msse2 -mpreferred-stack-boundary=2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #include <stdarg.h>
+ #include <emmintrin.h>
+Index: gcc/testsuite/gcc.target/i386/sse2-cvtsd2si-2.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-cvtsd2si-2.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-cvtsd2si-2.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-require-effective-target lp64 } */
++/* { dg-require-effective-target sse2 } */
+ /* { dg-options "-O2 -msse2" } */
+
+ #ifndef CHECK_H
+Index: gcc/testsuite/gcc.target/i386/sse2-set-epi32-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-set-epi32-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-set-epi32-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #include "sse2-check.h"
+
+Index: gcc/testsuite/gcc.target/i386/sse2-pcmpeqw-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-pcmpeqw-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-pcmpeqw-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
Index: gcc/testsuite/gcc.target/i386/pr43662.c
===================================================================
--- gcc/testsuite/gcc.target/i386/pr43662.c (.../tags/gcc_4_5_0_release) (wersja 0)
-+++ gcc/testsuite/gcc.target/i386/pr43662.c (.../branches/gcc-4_5-branch) (wersja 159429)
++++ gcc/testsuite/gcc.target/i386/pr43662.c (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -0,0 +1,24 @@
+/* { dg-do compile } */
+/* { dg-require-effective-target lp64 } */
+ sre (&This->sInfo);
+ return 0;
+}
+Index: gcc/testsuite/gcc.target/i386/sse3-movddup.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse3-movddup.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse3-movddup.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,4 +1,5 @@
+ /* { dg-do run } */
++/* { dg-require-effective-target sse3 } */
+ /* { dg-options "-O2 -msse3 -mfpmath=sse" } */
+
+ #ifndef CHECK_H
+Index: gcc/testsuite/gcc.target/i386/sse2-pmovmskb-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-pmovmskb-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-pmovmskb-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-punpckldq-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-punpckldq-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-punpckldq-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sseregparm-4.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sseregparm-4.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sseregparm-4.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,6 +1,7 @@
+ /* { dg-do compile } */
+ /* { dg-options "-msse2 -O2" } */
+ /* { dg-require-effective-target ilp32 } */
++/* { dg-require-effective-target sse2 } */
+
+ /* Make sure we know that mysinfp returns in %xmm0. */
+
Index: gcc/testsuite/gcc.target/i386/sse-cmpss-1.c
===================================================================
--- gcc/testsuite/gcc.target/i386/sse-cmpss-1.c (.../tags/gcc_4_5_0_release) (wersja 0)
-+++ gcc/testsuite/gcc.target/i386/sse-cmpss-1.c (.../branches/gcc-4_5-branch) (wersja 159429)
++++ gcc/testsuite/gcc.target/i386/sse-cmpss-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -0,0 +1,59 @@
+/* { dg-do run } */
+/* { dg-options "-O2 -msse -std=c99" } */
Index: gcc/testsuite/gcc.target/i386/pr43671.c
===================================================================
--- gcc/testsuite/gcc.target/i386/pr43671.c (.../tags/gcc_4_5_0_release) (wersja 0)
-+++ gcc/testsuite/gcc.target/i386/pr43671.c (.../branches/gcc-4_5-branch) (wersja 159429)
++++ gcc/testsuite/gcc.target/i386/pr43671.c (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -0,0 +1,27 @@
+/* { dg-do run } */
+/* { dg-require-effective-target ilp32 } */
+
+ return 0;
+}
+Index: gcc/testsuite/gcc.target/i386/pr39315-3.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/pr39315-3.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/pr39315-3.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,6 +1,7 @@
+ /* PR middle-end/39315 */
+ /* { dg-do compile } */
+ /* { dg-options "-O -msse2 -mtune=generic" } */
++/* { dg-require-effective-target sse2 } */
+ /* { dg-final { scan-assembler-not "movups" } } */
+ /* { dg-final { scan-assembler-not "movlps" } } */
+ /* { dg-final { scan-assembler-not "movhps" } } */
+Index: gcc/testsuite/gcc.target/i386/ssetype-5.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/ssetype-5.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/ssetype-5.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,6 +1,7 @@
+ /* { dg-do compile } */
+ /* This test checks for absolute memory operands. */
+ /* { dg-require-effective-target nonpic } */
++/* { dg-require-effective-target sse2 } */
+ /* { dg-options "-O2 -msse2 -march=k8" } */
+ /* { dg-final { scan-assembler "pand\[^\\n\]*magic" } } */
+ /* { dg-final { scan-assembler "pandn\[^\\n\]*magic" } } */
+Index: gcc/testsuite/gcc.target/i386/sse2-movlpd-2.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-movlpd-2.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-movlpd-2.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-init-v16qi-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-init-v16qi-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-init-v16qi-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #include "sse2-check.h"
+
+Index: gcc/testsuite/gcc.target/i386/sse2-set-v8hi-1a.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-set-v8hi-1a.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-set-v8hi-1a.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -mtune=core2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #define CHECK_H "sse2-check.h"
+ #define TEST sse2_test
+Index: gcc/testsuite/gcc.target/i386/sse2-maxpd-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-maxpd-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-maxpd-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/vperm-v2df.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/vperm-v2df.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/vperm-v2df.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #include "isa-check.h"
+
+Index: gcc/testsuite/gcc.target/i386/sse2-psrld-2.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-psrld-2.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-psrld-2.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/pr32000-2.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/pr32000-2.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/pr32000-2.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,6 +1,7 @@
+ /* { dg-do run } */
+ /* { dg-skip-if "" { ! { ilp32 && dfp } } { "*" } { "" } } */
+ /* { dg-options "-O -msse2 -std=gnu99 -mpreferred-stack-boundary=2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #include "sse2-check.h"
+
+Index: gcc/testsuite/gcc.target/i386/sse2-ucomisd-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-ucomisd-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-ucomisd-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/pr42542-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/pr42542-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/pr42542-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O1 -msse2 -ftree-vectorize" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-comisd-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-comisd-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-comisd-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse-6.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse-6.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse-6.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #include "sse2-check.h"
+
+Index: gcc/testsuite/gcc.target/i386/incoming-6.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/incoming-6.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/incoming-6.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,6 +1,7 @@
+ /* PR target/40838 */
+ /* { dg-do compile { target { { ! *-*-darwin* } && ilp32 } } } */
+ /* { dg-options "-w -mstackrealign -O2 -msse2 -mpreferred-stack-boundary=4" } */
++/* { dg-require-effective-target sse2 } */
+
+ typedef int v4si __attribute__ ((vector_size (16)));
+
+Index: gcc/testsuite/gcc.target/i386/vperm-v4si-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/vperm-v4si-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/vperm-v4si-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #include "isa-check.h"
+
+Index: gcc/testsuite/gcc.target/i386/ordcmp-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/ordcmp-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/ordcmp-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do compile } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+ /* { dg-final { scan-assembler "cmpordss" } } */
+ /* { dg-final { scan-assembler "cmpordps" } } */
+ /* { dg-final { scan-assembler "cmpordsd" } } */
+Index: gcc/testsuite/gcc.target/i386/vectorize7.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/vectorize7.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/vectorize7.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do compile } */
+ /* { dg-options "-O2 -ftree-vectorize -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ unsigned int a[256];
+ float b[256];
+Index: gcc/testsuite/gcc.target/i386/sse2-pmulhuw-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-pmulhuw-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-pmulhuw-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sseregparm-6.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sseregparm-6.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sseregparm-6.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,6 +1,7 @@
+ /* { dg-do compile } */
+ /* { dg-options "-msse2 -O2" } */
+ /* { dg-require-effective-target ilp32 } */
++/* { dg-require-effective-target sse2 } */
+
+ /* Make sure we know that mysinfp returns in %xmm0. */
+
+Index: gcc/testsuite/gcc.target/i386/push-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/push-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/push-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do compile { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */
+ /* { dg-options "-w -msse2 -Os" } */
++/* { dg-require-effective-target sse2 } */
+
+ typedef float __m128 __attribute__ ((__vector_size__ (16), __may_alias__));
+
+Index: gcc/testsuite/gcc.target/i386/pr26449-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/pr26449-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/pr26449-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do compile } */
+ /* { dg-options "-O2 -msse2 -mtune=k8" } */
++/* { dg-require-effective-target sse2 } */
+
+ typedef short __v8hi __attribute__ ((__vector_size__ (16)));
+ typedef long long __m128i __attribute__ ((__vector_size__ (16)));
+Index: gcc/testsuite/gcc.target/i386/sse2-pmuludq-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-pmuludq-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-pmuludq-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse-11.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse-11.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse-11.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,6 +1,7 @@
+ /* PR rtl-optimization/21239 */
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #include "sse2-check.h"
+
+Index: gcc/testsuite/gcc.target/i386/vararg-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/vararg-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/vararg-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -2,6 +2,7 @@
+ /* { dg-do run } */
+ /* { dg-options "-w" { target { lp64 } } } */
+ /* { dg-options "-w -msse2 -mpreferred-stack-boundary=2" { target { ilp32 } } } */
++/* { dg-require-effective-target sse2 } */
+
+ #include "sse2-check.h"
+ #include <stdarg.h>
+Index: gcc/testsuite/gcc.target/i386/sse2-cvtsd2ss-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-cvtsd2ss-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-cvtsd2ss-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-mulpd-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-mulpd-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-mulpd-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-pcmpgtb-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-pcmpgtb-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-pcmpgtb-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-ucomisd-3.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-ucomisd-3.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-ucomisd-3.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/pr32280.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/pr32280.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/pr32280.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do compile } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ typedef long long __m128i __attribute__ ((__vector_size__ (16)));
+
+Index: gcc/testsuite/gcc.target/i386/pr42542-3.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/pr42542-3.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/pr42542-3.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O1 -msse2 -ftree-vectorize" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-init-v8hi-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-init-v8hi-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-init-v8hi-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #include "sse2-check.h"
+
+Index: gcc/testsuite/gcc.target/i386/sse2-comisd-3.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-comisd-3.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-comisd-3.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/20060512-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/20060512-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/20060512-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,6 +1,7 @@
+ /* { dg-do run } */
+ /* { dg-require-effective-target ilp32 } */
+ /* { dg-options "-std=gnu99 -msse2 -mpreferred-stack-boundary=4" } */
++/* { dg-require-effective-target sse2 } */
+
+ #include "sse2-check.h"
+
+Index: gcc/testsuite/gcc.target/i386/sse2-movhpd-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-movhpd-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-movhpd-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -mfpmath=sse -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/incoming-8.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/incoming-8.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/incoming-8.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,6 +1,7 @@
+ /* PR target/40838 */
+ /* { dg-do compile { target { { ! *-*-darwin* } && ilp32 } } } */
+ /* { dg-options "-w -mstackrealign -O3 -msse2 -mpreferred-stack-boundary=4" } */
++/* { dg-require-effective-target sse2 } */
+
+ float
+ foo (float f)
Index: gcc/testsuite/gcc.target/i386/avx-cmpss-1.c
===================================================================
--- gcc/testsuite/gcc.target/i386/avx-cmpss-1.c (.../tags/gcc_4_5_0_release) (wersja 0)
-+++ gcc/testsuite/gcc.target/i386/avx-cmpss-1.c (.../branches/gcc-4_5-branch) (wersja 159429)
++++ gcc/testsuite/gcc.target/i386/avx-cmpss-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -0,0 +1,8 @@
+/* { dg-do run } */
+/* { dg-require-effective-target avx } */
-+/* { dg-options "-O2 -mavx" } */
++/* { dg-options "-O2 -mavx -std=c99" } */
+
+#define CHECK_H "avx-check.h"
+#define TEST avx_test
+
+#include "sse-cmpss-1.c"
+Index: gcc/testsuite/gcc.target/i386/pr36992-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/pr36992-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/pr36992-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do compile }
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #include <emmintrin.h>
+
+Index: gcc/testsuite/gcc.target/i386/sse2-psllw-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-psllw-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-psllw-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/funcspec-9.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/funcspec-9.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/funcspec-9.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,6 +1,7 @@
+ /* Test whether using target specific options, we can generate FMA4 code. */
+ /* { dg-do compile } */
+ /* { dg-options "-O2 -march=k8 -mfpmath=sse -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ extern void exit (int);
+
+Index: gcc/testsuite/gcc.target/i386/sse2-subsd-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-subsd-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-subsd-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-movntdq-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-movntdq-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-movntdq-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-pxor-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-pxor-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-pxor-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-movsd-2.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-movsd-2.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-movsd-2.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-pandn-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-pandn-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-pandn-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-copysign-vec.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-copysign-vec.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-copysign-vec.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -ftree-vectorize -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #include "sse2-check.h"
+
+Index: gcc/testsuite/gcc.target/i386/vararg-3.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/vararg-3.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/vararg-3.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #include <stdarg.h>
+ #include <assert.h>
+Index: gcc/testsuite/gcc.target/i386/3dnow-2.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/3dnow-2.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/3dnow-2.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,4 +1,5 @@
+ /* { dg-do assemble } */
++/* { dg-require-effective-target 3dnow } */
+ /* { dg-options "-O0 -Werror-implicit-function-declaration -m3dnow" } */
+
+ /* Test that the intrinsics compile without optimization. All of them are
+Index: gcc/testsuite/gcc.target/i386/sse2-movdqa-2.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-movdqa-2.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-movdqa-2.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/reload-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/reload-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/reload-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do compile } */
+ /* { dg-require-effective-target ilp32 } */
++/* { dg-require-effective-target sse2 } */
+ /* { dg-options "-O3 -msse2 -fdump-rtl-csa" } */
+ /* { dg-skip-if "no stdint" { vxworks_kernel } } */
+
+Index: gcc/testsuite/gcc.target/i386/sse2-orpd-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-orpd-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-orpd-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-movd-2.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-movd-2.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-movd-2.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-ucomisd-5.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-ucomisd-5.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-ucomisd-5.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/fpcvt-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/fpcvt-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/fpcvt-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do compile } */
+ /* { dg-options "-O2 -msse2 -march=k8" } */
++/* { dg-require-effective-target sse2 } */
+ /* { dg-final { scan-assembler-not "cvtss2sd" } } */
+ float a,b;
+ main()
+Index: gcc/testsuite/gcc.target/i386/sse2-psrad-2.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-psrad-2.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-psrad-2.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/pr32708-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/pr32708-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/pr32708-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do compile } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ typedef long long __v2di __attribute__ ((__vector_size__ (16)));
+ typedef long long __m128i __attribute__ ((__vector_size__ (16)));
+Index: gcc/testsuite/gcc.target/i386/pr17692.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/pr17692.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/pr17692.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do compile } */
+ /* { dg-options "-O -mfpmath=sse -msse2" } */
++/* { dg-require-effective-target sse2 } */
+ /* The fact that t1 and t2 are uninitialized is critical. With them
+ uninitialized, the register allocator is free to put them in the same
+ hard register, which results in
+Index: gcc/testsuite/gcc.target/i386/sse2-comisd-5.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-comisd-5.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.target/i386/sse2-comisd-5.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
Index: gcc/testsuite/gnat.dg/pack15.adb
===================================================================
--- gcc/testsuite/gnat.dg/pack15.adb (.../tags/gcc_4_5_0_release) (wersja 0)
-+++ gcc/testsuite/gnat.dg/pack15.adb (.../branches/gcc-4_5-branch) (wersja 159429)
++++ gcc/testsuite/gnat.dg/pack15.adb (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -0,0 +1,10 @@
+-- { dg-do compile }
+
Index: gcc/testsuite/gnat.dg/pack15.ads
===================================================================
--- gcc/testsuite/gnat.dg/pack15.ads (.../tags/gcc_4_5_0_release) (wersja 0)
-+++ gcc/testsuite/gnat.dg/pack15.ads (.../branches/gcc-4_5-branch) (wersja 159429)
++++ gcc/testsuite/gnat.dg/pack15.ads (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -0,0 +1,22 @@
+package Pack15 is
+
Index: gcc/testsuite/gnat.dg/rep_clause5_pkg.ads
===================================================================
--- gcc/testsuite/gnat.dg/rep_clause5_pkg.ads (.../tags/gcc_4_5_0_release) (wersja 0)
-+++ gcc/testsuite/gnat.dg/rep_clause5_pkg.ads (.../branches/gcc-4_5-branch) (wersja 159429)
++++ gcc/testsuite/gnat.dg/rep_clause5_pkg.ads (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -0,0 +1,383 @@
+package Rep_Clause5_Pkg is
+
Index: gcc/testsuite/gnat.dg/rep_clause5.adb
===================================================================
--- gcc/testsuite/gnat.dg/rep_clause5.adb (.../tags/gcc_4_5_0_release) (wersja 0)
-+++ gcc/testsuite/gnat.dg/rep_clause5.adb (.../branches/gcc-4_5-branch) (wersja 159429)
++++ gcc/testsuite/gnat.dg/rep_clause5.adb (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -0,0 +1,39 @@
+-- { dg-do compile }
+-- { dg-options "-O" }
Index: gcc/testsuite/gnat.dg/rep_clause5.ads
===================================================================
--- gcc/testsuite/gnat.dg/rep_clause5.ads (.../tags/gcc_4_5_0_release) (wersja 0)
-+++ gcc/testsuite/gnat.dg/rep_clause5.ads (.../branches/gcc-4_5-branch) (wersja 159429)
++++ gcc/testsuite/gnat.dg/rep_clause5.ads (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -0,0 +1,12 @@
+with Rep_Clause5_Pkg; use Rep_Clause5_Pkg;
+
+ procedure Merge_Numbered(LNodes : in out LNodes_Ptr);
+
+end Rep_Clause5;
+Index: gcc/testsuite/gcc.dg/pr34856.c
+===================================================================
+--- gcc/testsuite/gcc.dg/pr34856.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.dg/pr34856.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,6 +1,7 @@
+ /* { dg-do compile } */
+ /* { dg-options "-O2" } */
+ /* { dg-options "-O2 -msse2" { target { i?86-*-* x86_64-*-* } } } */
++/* { dg-require-effective-target sse2 { target { i?86-*-* x86_64-*-* } } } */
+ /* { dg-options "-O2 -maltivec" { target { powerpc*-*-linux* && powerpc_altivec_ok } } } */
+
+ typedef unsigned __attribute__ ((__mode__ (__pointer__))) uintptr_t;
Index: gcc/testsuite/gcc.dg/Warray-bounds-8.c
===================================================================
--- gcc/testsuite/gcc.dg/Warray-bounds-8.c (.../tags/gcc_4_5_0_release) (wersja 0)
-+++ gcc/testsuite/gcc.dg/Warray-bounds-8.c (.../branches/gcc-4_5-branch) (wersja 159429)
++++ gcc/testsuite/gcc.dg/Warray-bounds-8.c (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -0,0 +1,20 @@
+/* { dg-do compile } */
+/* { dg-options "-O3 -Wall" } */
Index: gcc/testsuite/gcc.dg/gomp/pr44085.c
===================================================================
--- gcc/testsuite/gcc.dg/gomp/pr44085.c (.../tags/gcc_4_5_0_release) (wersja 0)
-+++ gcc/testsuite/gcc.dg/gomp/pr44085.c (.../branches/gcc-4_5-branch) (wersja 159429)
++++ gcc/testsuite/gcc.dg/gomp/pr44085.c (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -0,0 +1,27 @@
+/* PR middle-end/44085 */
+/* { dg-do compile } */
+}
Index: gcc/testsuite/gcc.dg/c99-tgmath-1.c
===================================================================
---- gcc/testsuite/gcc.dg/c99-tgmath-1.c (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ gcc/testsuite/gcc.dg/c99-tgmath-1.c (.../branches/gcc-4_5-branch) (wersja 159429)
+--- gcc/testsuite/gcc.dg/c99-tgmath-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.dg/c99-tgmath-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -3,6 +3,7 @@
/* { dg-do preprocess { target c99_runtime } } */
/* { dg-options "-std=iso9899:1999" } */
/* Test that tgmath defines the macros it's supposed to. */
#include <tgmath.h>
+Index: gcc/testsuite/gcc.dg/pr36584.c
+===================================================================
+--- gcc/testsuite/gcc.dg/pr36584.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.dg/pr36584.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,8 +1,8 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -lm" } */
+ /* { dg-options "-O2 -msse2 -mfpmath=sse" { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */
++/* { dg-require-effective-target sse2 { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */
+
+-
+ #ifdef __i386__
+ #include "cpuid.h"
+ #endif
+Index: gcc/testsuite/gcc.dg/compat/union-m128-1_main.c
+===================================================================
+--- gcc/testsuite/gcc.dg/compat/union-m128-1_main.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.dg/compat/union-m128-1_main.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-skip-if "test SSE2 support" { ! { i?86-*-* x86_64-*-* } } } */
+ /* { dg-options "-O" } */
++/* { dg-require-effective-target sse2 } */
+
+ #include "cpuid.h"
+
+Index: gcc/testsuite/gcc.dg/compat/vector-1a_main.c
+===================================================================
+--- gcc/testsuite/gcc.dg/compat/vector-1a_main.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.dg/compat/vector-1a_main.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,4 +1,5 @@
+ /* { dg-skip-if "test SSE2 vector" { ! { i?86-*-* x86_64-*-* } } } */
++/* { dg-require-effective-target sse2 } */
+
+ /* Test compatibility of vector types: layout between separately-compiled
+ modules, parameter passing, and function return. This test uses
+Index: gcc/testsuite/gcc.dg/compat/vector-2a_main.c
+===================================================================
+--- gcc/testsuite/gcc.dg/compat/vector-2a_main.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.dg/compat/vector-2a_main.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,4 +1,5 @@
+ /* { dg-skip-if "test SSE2 support" { ! { i?86-*-* x86_64-*-* } } } */
++/* { dg-require-effective-target sse2 } */
+
+ /* Test compatibility of vector types: layout between separately-compiled
+ modules, parameter passing, and function return. This test uses
Index: gcc/testsuite/gcc.dg/debug/pr43972.c
===================================================================
--- gcc/testsuite/gcc.dg/debug/pr43972.c (.../tags/gcc_4_5_0_release) (wersja 0)
-+++ gcc/testsuite/gcc.dg/debug/pr43972.c (.../branches/gcc-4_5-branch) (wersja 159429)
++++ gcc/testsuite/gcc.dg/debug/pr43972.c (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -0,0 +1,29 @@
+/* PR debug/43972 */
+/* { dg-do compile } */
Index: gcc/testsuite/gcc.dg/pr44012.c
===================================================================
--- gcc/testsuite/gcc.dg/pr44012.c (.../tags/gcc_4_5_0_release) (wersja 0)
-+++ gcc/testsuite/gcc.dg/pr44012.c (.../branches/gcc-4_5-branch) (wersja 159429)
++++ gcc/testsuite/gcc.dg/pr44012.c (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -0,0 +1,58 @@
+/* { dg-do compile } */
+/* { dg-options "-O -fgcse" } */
+}
Index: gcc/testsuite/gcc.dg/c99-tgmath-2.c
===================================================================
---- gcc/testsuite/gcc.dg/c99-tgmath-2.c (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ gcc/testsuite/gcc.dg/c99-tgmath-2.c (.../branches/gcc-4_5-branch) (wersja 159429)
+--- gcc/testsuite/gcc.dg/c99-tgmath-2.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.dg/c99-tgmath-2.c (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -3,6 +3,7 @@
/* { dg-do compile { target c99_runtime } } */
/* { dg-options "-std=iso9899:1999" } */
Index: gcc/testsuite/gcc.dg/pr44136.c
===================================================================
--- gcc/testsuite/gcc.dg/pr44136.c (.../tags/gcc_4_5_0_release) (wersja 0)
-+++ gcc/testsuite/gcc.dg/pr44136.c (.../branches/gcc-4_5-branch) (wersja 159429)
++++ gcc/testsuite/gcc.dg/pr44136.c (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -0,0 +1,27 @@
+/* PR debug/44136 */
+/* { dg-do compile } */
+ float f = ((float *)&c)[0];
+ return d * f;
+}
+Index: gcc/testsuite/gcc.dg/lto/20090206-1_0.c
+===================================================================
+--- gcc/testsuite/gcc.dg/lto/20090206-1_0.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.dg/lto/20090206-1_0.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,6 +1,7 @@
+ /* { dg-lto-do link } */
+ /* { dg-skip-if "" { ! { i?86-*-linux* x86_64-*-linux* } } { "*" } { "" } } */
+ /* { dg-lto-options {{-fPIC -r -nostdlib -fwhopr -msse2}} } */
++/* { dg-require-effective-target sse2 } */
+ /* { dg-suppress-ld-options {-fPIC -msse2} } */
+
+ typedef short v8hi __attribute__((__vector_size__(16)));
+Index: gcc/testsuite/gcc.dg/lto/20100423-1_0.c
+===================================================================
+--- gcc/testsuite/gcc.dg/lto/20100423-1_0.c (.../tags/gcc_4_5_0_release) (wersja 0)
++++ gcc/testsuite/gcc.dg/lto/20100423-1_0.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -0,0 +1,11 @@
++/* { dg-lto-do run } */
++/* { dg-lto-options {{-O2 -flto}} } */
++
++struct bar {int x;};
++extern struct bar foo(void);
++int main()
++{
++ struct bar x=foo();
++ return 0;
++}
++
+Index: gcc/testsuite/gcc.dg/lto/20100430-1_0.c
+===================================================================
+--- gcc/testsuite/gcc.dg/lto/20100430-1_0.c (.../tags/gcc_4_5_0_release) (wersja 0)
++++ gcc/testsuite/gcc.dg/lto/20100430-1_0.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -0,0 +1,14 @@
++/* { dg-lto-do link } */
++/* { dg-lto-options {{-O2 -fprofile-arcs -flto -r -nostdlib}} } */
++
++void
++expand_stmt_with_iterators_1 (void)
++{
++ extern void expand_expr_stmt (void);
++ expand_expr_stmt ();
++}
++void
++iterator_expand (void)
++{
++ expand_stmt_with_iterators_1 ();
++}
+Index: gcc/testsuite/gcc.dg/lto/20100518_0.c
+===================================================================
+--- gcc/testsuite/gcc.dg/lto/20100518_0.c (.../tags/gcc_4_5_0_release) (wersja 0)
++++ gcc/testsuite/gcc.dg/lto/20100518_0.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -0,0 +1,13 @@
++/* { dg-lto-do link } */
++/* Forgot to steam in/out the number of labels for asm goto. PR44184. */
++
++extern int printf (__const char *__restrict __format, ...);
++
++int x = 1;
++int main ()
++{
++ asm goto ("decl %0; jnz %l[a]" :: "m"(x) : "memory" : a);
++ printf ("Hello world\n");
++a:
++ return 0;
++}
+Index: gcc/testsuite/gcc.dg/lto/20100423-1_1.c
+===================================================================
+--- gcc/testsuite/gcc.dg/lto/20100423-1_1.c (.../tags/gcc_4_5_0_release) (wersja 0)
++++ gcc/testsuite/gcc.dg/lto/20100423-1_1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -0,0 +1,7 @@
++typedef struct{int x;} bar;
++bar foo (void)
++{
++ bar x;
++ return x;
++}
++
Index: gcc/testsuite/gcc.dg/c99-tgmath-3.c
===================================================================
---- gcc/testsuite/gcc.dg/c99-tgmath-3.c (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ gcc/testsuite/gcc.dg/c99-tgmath-3.c (.../branches/gcc-4_5-branch) (wersja 159429)
+--- gcc/testsuite/gcc.dg/c99-tgmath-3.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.dg/c99-tgmath-3.c (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -3,6 +3,7 @@
/* { dg-do compile { target c99_runtime } } */
/* { dg-options "-std=iso9899:1999" } */
/* Test that invoking type-generic exp on a complex invokes cexp. */
#include <tgmath.h>
+Index: gcc/testsuite/gcc.dg/torture/ipa-pta-1.c
+===================================================================
+--- gcc/testsuite/gcc.dg/torture/ipa-pta-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.dg/torture/ipa-pta-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -42,5 +42,5 @@
+ bar (p);
+ }
+
+-/* { dg-final { scan-ipa-dump "bar.arg0 = { a4 a3 a2 a1 }" "pta" } } */
++/* { dg-final { scan-ipa-dump "bar.arg0 = { a4 a3\[^ \]* a2\[^ \]* a1 }" "pta" } } */
+ /* { dg-final { cleanup-ipa-dump "pta" } } */
+Index: gcc/testsuite/gcc.dg/torture/pr35771-1.c
+===================================================================
+--- gcc/testsuite/gcc.dg/torture/pr35771-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.dg/torture/pr35771-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run { target i?86-*-* x86_64-*-* } } */
+ /* { dg-options "-msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ typedef float __m128 __attribute__ ((__vector_size__ (16), __may_alias__));
+
+Index: gcc/testsuite/gcc.dg/torture/stackalign/vararg-3.c
+===================================================================
+--- gcc/testsuite/gcc.dg/torture/stackalign/vararg-3.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.dg/torture/stackalign/vararg-3.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,6 +1,7 @@
+ /* PR middle-end/37009 */
+ /* { dg-do run { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */
+ /* { dg-options "-msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #include <stdarg.h>
+ #include <emmintrin.h>
+Index: gcc/testsuite/gcc.dg/torture/stackalign/push-1.c
+===================================================================
+--- gcc/testsuite/gcc.dg/torture/stackalign/push-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.dg/torture/stackalign/push-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,6 +1,7 @@
+ /* PR middle-end/37010 */
+ /* { dg-do run { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */
+ /* { dg-options "-msse2 -mpreferred-stack-boundary=2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #include <emmintrin.h>
+ #include "cpuid.h"
+Index: gcc/testsuite/gcc.dg/torture/stackalign/alloca-2.c
+===================================================================
+--- gcc/testsuite/gcc.dg/torture/stackalign/alloca-2.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.dg/torture/stackalign/alloca-2.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,6 +1,7 @@
+ /* PR middle-end/37009 */
+ /* { dg-do run { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */
+ /* { dg-options "-msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #include <emmintrin.h>
+ #include "cpuid.h"
+Index: gcc/testsuite/gcc.dg/torture/stackalign/alloca-3.c
+===================================================================
+--- gcc/testsuite/gcc.dg/torture/stackalign/alloca-3.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.dg/torture/stackalign/alloca-3.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,6 +1,7 @@
+ /* PR middle-end/37009 */
+ /* { dg-do run { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */
+ /* { dg-options "-msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #include <emmintrin.h>
+ #include "cpuid.h"
+Index: gcc/testsuite/gcc.dg/torture/pr35771-2.c
+===================================================================
+--- gcc/testsuite/gcc.dg/torture/pr35771-2.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.dg/torture/pr35771-2.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run { target i?86-*-* x86_64-*-* } } */
+ /* { dg-options "-msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ typedef double __m128d __attribute__ ((__vector_size__ (16), __may_alias__));
+
+Index: gcc/testsuite/gcc.dg/torture/pta-escape-1.c
+===================================================================
+--- gcc/testsuite/gcc.dg/torture/pta-escape-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.dg/torture/pta-escape-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -30,5 +30,5 @@
+ return 0;
+ }
+
+-/* { dg-final { scan-tree-dump "ESCAPED = { i }" "alias" } } */
++/* { dg-final { scan-tree-dump "ESCAPED = { ESCAPED NONLOCAL i }" "alias" } } */
+ /* { dg-final { cleanup-tree-dump "alias" } } */
+Index: gcc/testsuite/gcc.dg/torture/pr16104-1.c
+===================================================================
+--- gcc/testsuite/gcc.dg/torture/pr16104-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.dg/torture/pr16104-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,6 +1,7 @@
+ /* PR rtl-optimization/16104 */
+ /* { dg-do run { target i?86-*-* x86_64-*-* } } */
+ /* { dg-options "-msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #include "cpuid.h"
+
+Index: gcc/testsuite/gcc.dg/torture/pr35771-3.c
+===================================================================
+--- gcc/testsuite/gcc.dg/torture/pr35771-3.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.dg/torture/pr35771-3.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run { target i?86-*-* x86_64-*-* } } */
+ /* { dg-options "-msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ typedef long long __m128i __attribute__ ((__vector_size__ (16), __may_alias__));
+
+Index: gcc/testsuite/gcc.dg/pr37544.c
+===================================================================
+--- gcc/testsuite/gcc.dg/pr37544.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.dg/pr37544.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,6 +1,7 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2" } */
+ /* { dg-options "-O2 -msse2 -mtune=core2 -mfpmath=387" { target { i?86-*-* x86_64-*-* } } } */
++/* { dg-require-effective-target sse2 { target { i?86-*-* x86_64-*-* } } } */
+
+ #ifdef __i386__
+ #include "cpuid.h"
Index: gcc/testsuite/gcc.dg/tree-ssa/tailcall-6.c
===================================================================
--- gcc/testsuite/gcc.dg/tree-ssa/tailcall-6.c (.../tags/gcc_4_5_0_release) (wersja 0)
-+++ gcc/testsuite/gcc.dg/tree-ssa/tailcall-6.c (.../branches/gcc-4_5-branch) (wersja 159429)
++++ gcc/testsuite/gcc.dg/tree-ssa/tailcall-6.c (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -0,0 +1,33 @@
+/* PR tree-optimization/43904. */
+/* { dg-do run } */
Index: gcc/testsuite/gcc.dg/tree-ssa/vrp49.c
===================================================================
--- gcc/testsuite/gcc.dg/tree-ssa/vrp49.c (.../tags/gcc_4_5_0_release) (wersja 0)
-+++ gcc/testsuite/gcc.dg/tree-ssa/vrp49.c (.../branches/gcc-4_5-branch) (wersja 159429)
++++ gcc/testsuite/gcc.dg/tree-ssa/vrp49.c (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -0,0 +1,28 @@
+/* { dg-do link } */
+/* { dg-options "-O2" } */
+ while (i < n);
+ }
+}
+Index: gcc/testsuite/gcc.dg/tree-ssa/prefetch-6.c
+===================================================================
+--- gcc/testsuite/gcc.dg/tree-ssa/prefetch-6.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.dg/tree-ssa/prefetch-6.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do compile { target i?86-*-* x86_64-*-* } } */
+ /* { dg-require-effective-target ilp32 } */
++/* { dg-require-effective-target sse2 } */
+ /* { dg-options "-O2 -fprefetch-loop-arrays -march=athlon -msse2 -mfpmath=sse --param simultaneous-prefetches=100 -fdump-tree-aprefetch-details" } */
+
+ #define N 1000
+Index: gcc/testsuite/gcc.dg/tree-ssa/pta-escape-1.c
+===================================================================
+--- gcc/testsuite/gcc.dg/tree-ssa/pta-escape-1.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.dg/tree-ssa/pta-escape-1.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -33,5 +33,5 @@
+ return 0;
+ }
+
+-/* { dg-final { scan-tree-dump "ESCAPED, points-to vars: { x }" "alias" } } */
++/* { dg-final { scan-tree-dump "ESCAPED, points-to non-local, points-to vars: { x }" "alias" } } */
+ /* { dg-final { cleanup-tree-dump "alias" } } */
+Index: gcc/testsuite/gcc.dg/tree-ssa/prefetch-7.c
+===================================================================
+--- gcc/testsuite/gcc.dg/tree-ssa/prefetch-7.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.dg/tree-ssa/prefetch-7.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do compile { target i?86-*-* x86_64-*-* } } */
+ /* { dg-require-effective-target ilp32 } */
++/* { dg-require-effective-target sse2 } */
+ /* { dg-skip-if "" { i?86-*-* x86_64-*-* } { "-march=*" } { "-march=athlon" } } */
+ /* { dg-options "-O2 -fprefetch-loop-arrays -march=athlon -msse2 -mfpmath=sse --param simultaneous-prefetches=100 --param max-unrolled-insns=1 -fdump-tree-aprefetch-details -fdump-tree-optimized" } */
+
+Index: gcc/testsuite/gcc.dg/tree-ssa/pta-escape-2.c
+===================================================================
+--- gcc/testsuite/gcc.dg/tree-ssa/pta-escape-2.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.dg/tree-ssa/pta-escape-2.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -34,5 +34,5 @@
+ return 0;
+ }
+
+-/* { dg-final { scan-tree-dump "ESCAPED, points-to vars: { x }" "alias" } } */
++/* { dg-final { scan-tree-dump "ESCAPED, points-to non-local, points-to vars: { x }" "alias" } } */
+ /* { dg-final { cleanup-tree-dump "alias" } } */
+Index: gcc/testsuite/gcc.dg/tree-ssa/pta-escape-3.c
+===================================================================
+--- gcc/testsuite/gcc.dg/tree-ssa/pta-escape-3.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.dg/tree-ssa/pta-escape-3.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -38,5 +38,5 @@
+ return 0;
+ }
+
+-/* { dg-final { scan-tree-dump "ESCAPED, points-to vars: { x }" "alias" } } */
++/* { dg-final { scan-tree-dump "ESCAPED, points-to non-local, points-to vars: { x }" "alias" } } */
+ /* { dg-final { cleanup-tree-dump "alias" } } */
Index: gcc/testsuite/gcc.dg/tree-ssa/sra-10.c
===================================================================
--- gcc/testsuite/gcc.dg/tree-ssa/sra-10.c (.../tags/gcc_4_5_0_release) (wersja 0)
-+++ gcc/testsuite/gcc.dg/tree-ssa/sra-10.c (.../branches/gcc-4_5-branch) (wersja 159429)
++++ gcc/testsuite/gcc.dg/tree-ssa/sra-10.c (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -0,0 +1,19 @@
+/* { dg-do compile } */
+/* { dg-options "-O1 -fdump-tree-optimized -fdump-tree-esra-details" } */
Index: gcc/testsuite/gcc.dg/tree-ssa/tailcall-5.c
===================================================================
--- gcc/testsuite/gcc.dg/tree-ssa/tailcall-5.c (.../tags/gcc_4_5_0_release) (wersja 0)
-+++ gcc/testsuite/gcc.dg/tree-ssa/tailcall-5.c (.../branches/gcc-4_5-branch) (wersja 159429)
++++ gcc/testsuite/gcc.dg/tree-ssa/tailcall-5.c (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -0,0 +1,12 @@
+/* { dg-do compile } */
+/* { dg-options "-O2 -fdump-tree-tailc" } */
Index: gcc/testsuite/gcc.dg/pr44028.c
===================================================================
--- gcc/testsuite/gcc.dg/pr44028.c (.../tags/gcc_4_5_0_release) (wersja 0)
-+++ gcc/testsuite/gcc.dg/pr44028.c (.../branches/gcc-4_5-branch) (wersja 159429)
++++ gcc/testsuite/gcc.dg/pr44028.c (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -0,0 +1,22 @@
+/* PR debug/44028 */
+/* { dg-do compile } */
+}
Index: gcc/testsuite/gcc.dg/c99-tgmath-4.c
===================================================================
---- gcc/testsuite/gcc.dg/c99-tgmath-4.c (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ gcc/testsuite/gcc.dg/c99-tgmath-4.c (.../branches/gcc-4_5-branch) (wersja 159429)
+--- gcc/testsuite/gcc.dg/c99-tgmath-4.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.dg/c99-tgmath-4.c (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -3,6 +3,7 @@
/* { dg-do compile { target c99_runtime } } */
/* { dg-options "-std=iso9899:1999" } */
/* Test that invoking type-generic pow on complex float invokes cpowf. */
#include <tgmath.h>
+Index: gcc/testsuite/gcc.dg/vect/costmodel/i386/i386-costmodel-vect.exp
+===================================================================
+--- gcc/testsuite/gcc.dg/vect/costmodel/i386/i386-costmodel-vect.exp (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.dg/vect/costmodel/i386/i386-costmodel-vect.exp (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,4 +1,4 @@
+-# Copyright (C) 1997, 2004, 2005, 2006, 2007, 2008
++# Copyright (C) 1997, 2004, 2005, 2006, 2007, 2008, 2010
+ # Free Software Foundation, Inc.
+
+ # This program is free software; you can redistribute it and/or modify
+@@ -39,6 +39,9 @@
+ global dg-do-what-default
+ set save-dg-do-what-default ${dg-do-what-default}
+
++if { ![check_effective_target_sse2] } then {
++ return
++}
+ lappend DEFAULT_VECTCFLAGS "-msse2"
+ if [check_sse2_hw_available] {
+ set dg-do-what-default run
+Index: gcc/testsuite/gcc.dg/vect/vect-debug-pr41926.c
+===================================================================
+--- gcc/testsuite/gcc.dg/vect/vect-debug-pr41926.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.dg/vect/vect-debug-pr41926.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,6 +1,7 @@
+ /* PR debug/41926 */
+ /* { dg-do compile } */
+ /* { dg-options "-O2 -g -ffast-math -funroll-loops -ftree-vectorize -msse2" { target { i?86-*-* x86_64-*-* } } } */
++/* { dg-require-effective-target sse2 { target { i?86-*-* x86_64-*-* } } } */
+
+ void
+ foo (double (*__restrict p)[4], double (*__restrict q)[4],
+Index: gcc/testsuite/gcc.dg/vect/vect.exp
+===================================================================
+--- gcc/testsuite/gcc.dg/vect/vect.exp (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.dg/vect/vect.exp (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,4 +1,4 @@
+-# Copyright (C) 1997, 2004, 2005, 2006, 2007, 2008
++# Copyright (C) 1997, 2004, 2005, 2006, 2007, 2008, 2010
+ # Free Software Foundation, Inc.
+
+ # This program is free software; you can redistribute it and/or modify
+@@ -67,6 +67,9 @@
+ } elseif { [istarget "spu-*-*"] } {
+ set dg-do-what-default run
+ } elseif { [istarget "i?86-*-*"] || [istarget "x86_64-*-*"] } {
++ if { ![check_effective_target_sse2] } then {
++ return
++ }
+ lappend DEFAULT_VECTCFLAGS "-msse2"
+ if [check_sse2_hw_available] {
+ set dg-do-what-default run
+Index: gcc/testsuite/gcc.dg/pr36997.c
+===================================================================
+--- gcc/testsuite/gcc.dg/pr36997.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gcc.dg/pr36997.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,9 +1,10 @@
+ /* { dg-do compile { target x86_64-*-* i?86-*-* } } */
+ /* { dg-options "-std=c99 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ typedef int __m64 __attribute__ ((__vector_size__ (8), __may_alias__));
+ __m64 _mm_add_si64 (__m64 __m1, __m64 __m2)
+ {
+ return (__m64) __builtin_ia32_paddq ((long long)__m1, (long long)__m2); /* { dg-error "incompatible type" } */
+- /* { dg-message "note: expected '__vector.1. long long int' but argument is of type 'long long int'" "" { target *-*-* } 7 } */
++ /* { dg-message "note: expected '__vector.1. long long int' but argument is of type 'long long int'" "" { target *-*-* } 8 } */
+ }
Index: gcc/testsuite/ada/acats/run_acats
===================================================================
---- gcc/testsuite/ada/acats/run_acats (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ gcc/testsuite/ada/acats/run_acats (.../branches/gcc-4_5-branch) (wersja 159429)
+--- gcc/testsuite/ada/acats/run_acats (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/ada/acats/run_acats (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -5,10 +5,25 @@
exit 1
fi
Index: gcc/testsuite/ChangeLog
===================================================================
---- gcc/testsuite/ChangeLog (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ gcc/testsuite/ChangeLog (.../branches/gcc-4_5-branch) (wersja 159429)
-@@ -1,3 +1,315 @@
+--- gcc/testsuite/ChangeLog (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/ChangeLog (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,3 +1,749 @@
++2010-05-20 Hans-Peter Nilsson <hp@axis.com>
++
++ PR target/44202
++ * gcc.c-torture/execute/pr44202-1.c: New test.
++
++2010-05-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
++
++ * lib/target-supports.exp (check_effective_target_sse2): New proc.
++ * lib/target-supports-dg.exp (dg-require-effective-target): Allow
++ for optional selector.
++ * gcc.target/i386/i386.exp (check_effective_target_3dnow): New proc.
++ (check_effective_target_sse3): New proc.
++ * gcc.target/i386/math-torture/math-torture.exp: Load
++ target-supports.exp.
++ Only add options with -msse2 to MATH_TORTURE_OPTIONS if
++ check_effective_target_sse2.
++ * gcc.dg/vect/vect.exp: Return unless check_effective_target_sse2.
++ * gcc.dg/vect/costmodel/i386/i386-costmodel-vect.exp: Likewise.
++ * g++.dg/vect/vect.exp: Likewise.
++ * gfortran.dg/vect/vect.exp: Likewise.
++ * lib/fortran-torture.exp (get-fortran-torture-options): Only use
++ -msse2 if check_effective_target_sse2.
++
++ * gcc.target/i386/3dnow-1.c: Use dg-require-effective-target 3dnow.
++ * gcc.target/i386/3dnow-2.c: Likewise.
++ * gcc.target/i386/3dnowA-1.c: Likewise.
++ * gcc.target/i386/3dnowA-2.c: Likewise.
++ * gcc.target/i386/pr42549.c: Likewise.
++
++ * gcc.target/i386/sse3-addsubpd.c: Use dg-require-effective-target sse3.
++ * gcc.target/i386/sse3-addsubps.c: Likewise.
++ * gcc.target/i386/sse3-haddpd.c: Likewise.
++ * gcc.target/i386/sse3-haddps.c: Likewise.
++ * gcc.target/i386/sse3-hsubpd.c: Likewise.
++ * gcc.target/i386/sse3-hsubps.c: Likewise.
++ * gcc.target/i386/sse3-lddqu.c: Likewise.
++ * gcc.target/i386/sse3-movddup.c: Likewise.
++ * gcc.target/i386/sse3-movshdup.c: Likewise.
++ * gcc.target/i386/sse3-movsldup.c: Likewise.
++
++ * g++.dg/abi/mangle42.C: Use dg-require-effective-target sse2.
++ * g++.dg/ext/attrib35.C: Likewise.
++ * g++.dg/opt/pr40496.C: Likewise.
++ * g++.dg/other/i386-1.C: Likewise.
++ * g++.dg/other/i386-4.C: Likewise.
++ * g++.dg/other/pr34435.C: Likewise.
++ * g++.dg/other/pr39496.C: Likewise.
++ * g++.dg/other/pr40446.C: Likewise.
++ * gcc.dg/compat/union-m128-1_main.c: Likewise.
++ * gcc.dg/compat/vector-1a_main.c: Likewise.
++ * gcc.dg/compat/vector-2a_main.c: Likewise.
++ * gcc.dg/lto/20090206-1_0.c: Likewise.
++ * gcc.dg/pr34856.c: Likewise.
++ * gcc.dg/pr36584.c: Likewise.
++ * gcc.dg/pr36997.c: Likewise. Adapt dg-message line number.
++ * gcc.dg/pr37544.c: Likewise.
++ * gcc.dg/torture/pr16104-1.c: Likewise.
++ * gcc.dg/torture/pr35771-1.c: Likewise.
++ * gcc.dg/torture/pr35771-2.c: Likewise.
++ * gcc.dg/torture/pr35771-3.c: Likewise.
++ * gcc.dg/torture/stackalign/alloca-2.c: Likewise.
++ * gcc.dg/torture/stackalign/alloca-3.c: Likewise.
++ * gcc.dg/torture/stackalign/push-1.c: Likewise.
++ * gcc.dg/torture/stackalign/vararg-3.c: Likewise.
++ * gcc.dg/tree-ssa/prefetch-6.c: Likewise.
++ * gcc.dg/tree-ssa/prefetch-7.c: Likewise.
++ * gcc.dg/vect/vect-debug-pr41926.c: Likewise.
++ * gcc.target/i386/20060512-1.c: Likewise.
++ * gcc.target/i386/20060512-3.c: Likewise.
++ * gcc.target/i386/all_one_m128i.c: Likewise.
++ * gcc.target/i386/float128-1.c: Likewise.
++ * gcc.target/i386/float128-2.c: Likewise.
++ * gcc.target/i386/fpcvt-1.c: Likewise.
++ * gcc.target/i386/fpcvt-2.c: Likewise.
++ * gcc.target/i386/fpcvt-3.c: Likewise.
++ * gcc.target/i386/fpprec-1.c: Likewise.
++ * gcc.target/i386/funcspec-9.c: Likewise.
++ * gcc.target/i386/incoming-1.c: Likewise.
++ * gcc.target/i386/incoming-12.c: Likewise.
++ * gcc.target/i386/incoming-2.c: Likewise.
++ * gcc.target/i386/incoming-3.c: Likewise.
++ * gcc.target/i386/incoming-4.c: Likewise.
++ * gcc.target/i386/incoming-6.c: Likewise.
++ * gcc.target/i386/incoming-7.c: Likewise.
++ * gcc.target/i386/incoming-8.c: Likewise.
++ * gcc.target/i386/opt-1.c: Likewise.
++ * gcc.target/i386/opt-2.c: Likewise.
++ * gcc.target/i386/ordcmp-1.c: Likewise.
++ * gcc.target/i386/pr17692.c: Likewise.
++ * gcc.target/i386/pr18614-1.c: Likewise.
++ * gcc.target/i386/pr22152.c: Likewise.
++ * gcc.target/i386/pr23570.c: Likewise.
++ * gcc.target/i386/pr23575.c: Likewise.
++ * gcc.target/i386/pr26449-1.c: Likewise.
++ * gcc.target/i386/pr26600.c: Likewise.
++ * gcc.target/i386/pr27790.c: Likewise.
++ * gcc.target/i386/pr28839.c: Likewise.
++ * gcc.target/i386/pr30970.c: Likewise.
++ * gcc.target/i386/pr32000-1.c: Likewise.
++ * gcc.target/i386/pr32000-2.c: Likewise.
++ * gcc.target/i386/pr32280.c: Likewise.
++ * gcc.target/i386/pr32661.c: Likewise.
++ * gcc.target/i386/pr32708-1.c: Likewise.
++ * gcc.target/i386/pr32961.c: Likewise.
++ * gcc.target/i386/pr33329.c: Likewise.
++ * gcc.target/i386/pr35714.c: Likewise.
++ * gcc.target/i386/pr35767-1.c: Likewise.
++ * gcc.target/i386/pr35767-1d.c: Likewise.
++ * gcc.target/i386/pr35767-1i.c: Likewise.
++ * gcc.target/i386/pr35767-2.c: Likewise.
++ * gcc.target/i386/pr35767-2d.c: Likewise.
++ * gcc.target/i386/pr35767-2i.c: Likewise.
++ * gcc.target/i386/pr35767-3.c: Likewise.
++ * gcc.target/i386/pr35767-5.c: Likewise.
++ * gcc.target/i386/pr36222-1.c: Likewise.
++ * gcc.target/i386/pr36578-1.c: Likewise.
++ * gcc.target/i386/pr36578-2.c: Likewise.
++ * gcc.target/i386/pr36992-1.c: Likewise.
++ * gcc.target/i386/pr37101.c: Likewise.
++ * gcc.target/i386/pr37216.c: Likewise.
++ * gcc.target/i386/pr37434-1.c: Likewise.
++ * gcc.target/i386/pr37434-2.c: Likewise.
++ * gcc.target/i386/pr37843-3.c: Likewise.
++ * gcc.target/i386/pr37843-4.c: Likewise.
++ * gcc.target/i386/pr39162.c: Likewise.
++ * gcc.target/i386/pr39315-1.c: Likewise.
++ * gcc.target/i386/pr39315-2.c: Likewise.
++ * gcc.target/i386/pr39315-3.c: Likewise.
++ * gcc.target/i386/pr39315-4.c: Likewise.
++ * gcc.target/i386/pr39445.c: Likewise.
++ * gcc.target/i386/pr39496.c: Likewise.
++ * gcc.target/i386/pr40809.c: Likewise.
++ * gcc.target/i386/pr40906-3.c: Likewise.
++ * gcc.target/i386/pr41019.c: Likewise.
++ * gcc.target/i386/pr42542-1.c: Likewise.
++ * gcc.target/i386/pr42542-2.c: Likewise.
++ * gcc.target/i386/pr42542-3.c: Likewise.
++ * gcc.target/i386/pr42542-3a.c: Likewise.
++ * gcc.target/i386/pr42881.c: Likewise.
++ * gcc.target/i386/push-1.c: Likewise.
++ * gcc.target/i386/quad-sse.c: Likewise.
++ * gcc.target/i386/reload-1.c: Likewise.
++ * gcc.target/i386/sse-10.c: Likewise.
++ * gcc.target/i386/sse-11.c: Likewise.
++ * gcc.target/i386/sse-15.c: Likewise.
++ * gcc.target/i386/sse-17.c: Likewise.
++ * gcc.target/i386/sse-18.c: Likewise.
++ * gcc.target/i386/sse-19.c: Likewise.
++ * gcc.target/i386/sse-4.c: Likewise.
++ * gcc.target/i386/sse-6.c: Likewise.
++ * gcc.target/i386/sse-vect-types.c: Likewise.
++ * gcc.target/i386/sse2-addpd-1.c: Likewise.
++ * gcc.target/i386/sse2-addsd-1.c: Likewise.
++ * gcc.target/i386/sse2-andnpd-1.c: Likewise.
++ * gcc.target/i386/sse2-andpd-1.c: Likewise.
++ * gcc.target/i386/sse2-cmpsd-1.c: Likewise.
++ * gcc.target/i386/sse2-comisd-1.c: Likewise.
++ * gcc.target/i386/sse2-comisd-2.c: Likewise.
++ * gcc.target/i386/sse2-comisd-3.c: Likewise.
++ * gcc.target/i386/sse2-comisd-4.c: Likewise.
++ * gcc.target/i386/sse2-comisd-5.c: Likewise.
++ * gcc.target/i386/sse2-comisd-6.c: Likewise.
++ * gcc.target/i386/sse2-copysign-vec.c: Likewise.
++ * gcc.target/i386/sse2-cvtdq2pd-1.c: Likewise.
++ * gcc.target/i386/sse2-cvtdq2ps-1.c: Likewise.
++ * gcc.target/i386/sse2-cvtpd2dq-1.c: Likewise.
++ * gcc.target/i386/sse2-cvtpd2ps-1.c: Likewise.
++ * gcc.target/i386/sse2-cvtps2dq-1.c: Likewise.
++ * gcc.target/i386/sse2-cvtps2pd-1.c: Likewise.
++ * gcc.target/i386/sse2-cvtsd2si-1.c: Likewise.
++ * gcc.target/i386/sse2-cvtsd2si-2.c: Likewise.
++ * gcc.target/i386/sse2-cvtsd2ss-1.c: Likewise.
++ * gcc.target/i386/sse2-cvtsi2sd-1.c: Likewise.
++ * gcc.target/i386/sse2-cvtsi2sd-2.c: Likewise.
++ * gcc.target/i386/sse2-cvtss2sd-1.c: Likewise.
++ * gcc.target/i386/sse2-cvttpd2dq-1.c: Likewise.
++ * gcc.target/i386/sse2-cvttps2dq-1.c: Likewise.
++ * gcc.target/i386/sse2-cvttsd2si-1.c: Likewise.
++ * gcc.target/i386/sse2-cvttsd2si-2.c: Likewise.
++ * gcc.target/i386/sse2-divpd-1.c: Likewise.
++ * gcc.target/i386/sse2-divsd-1.c: Likewise.
++ * gcc.target/i386/sse2-init-v16qi-1.c: Likewise.
++ * gcc.target/i386/sse2-init-v2di-1.c: Likewise.
++ * gcc.target/i386/sse2-init-v4si-1.c: Likewise.
++ * gcc.target/i386/sse2-init-v8hi-1.c: Likewise.
++ * gcc.target/i386/sse2-lrint-vec.c: Likewise.
++ * gcc.target/i386/sse2-lrintf-vec.c: Likewise.
++ * gcc.target/i386/sse2-maxpd-1.c: Likewise.
++ * gcc.target/i386/sse2-maxsd-1.c: Likewise.
++ * gcc.target/i386/sse2-minpd-1.c: Likewise.
++ * gcc.target/i386/sse2-minsd-1.c: Likewise.
++ * gcc.target/i386/sse2-mmx.c: Likewise.
++ * gcc.target/i386/sse2-movapd-1.c: Likewise.
++ * gcc.target/i386/sse2-movapd-2.c: Likewise.
++ * gcc.target/i386/sse2-movd-1.c: Likewise.
++ * gcc.target/i386/sse2-movd-2.c: Likewise.
++ * gcc.target/i386/sse2-movdqa-1.c: Likewise.
++ * gcc.target/i386/sse2-movdqa-2.c: Likewise.
++ * gcc.target/i386/sse2-movdqu-1.c: Likewise.
++ * gcc.target/i386/sse2-movdqu-2.c: Likewise.
++ * gcc.target/i386/sse2-movhpd-1.c: Likewise.
++ * gcc.target/i386/sse2-movhpd-2.c: Likewise.
++ * gcc.target/i386/sse2-movlpd-1.c: Likewise.
++ * gcc.target/i386/sse2-movlpd-2.c: Likewise.
++ * gcc.target/i386/sse2-movmskpd-1.c: Likewise.
++ * gcc.target/i386/sse2-movntdq-1.c: Likewise.
++ * gcc.target/i386/sse2-movntpd-1.c: Likewise.
++ * gcc.target/i386/sse2-movq-1.c: Likewise.
++ * gcc.target/i386/sse2-movq-2.c: Likewise.
++ * gcc.target/i386/sse2-movq-3.c: Likewise.
++ * gcc.target/i386/sse2-movsd-1.c: Likewise.
++ * gcc.target/i386/sse2-movsd-2.c: Likewise.
++ * gcc.target/i386/sse2-movupd-1.c: Likewise.
++ * gcc.target/i386/sse2-movupd-2.c: Likewise.
++ * gcc.target/i386/sse2-mulpd-1.c: Likewise.
++ * gcc.target/i386/sse2-mulsd-1.c: Likewise.
++ * gcc.target/i386/sse2-orpd-1.c: Likewise.
++ * gcc.target/i386/sse2-packssdw-1.c: Likewise.
++ * gcc.target/i386/sse2-packsswb-1.c: Likewise.
++ * gcc.target/i386/sse2-packuswb-1.c: Likewise.
++ * gcc.target/i386/sse2-paddb-1.c: Likewise.
++ * gcc.target/i386/sse2-paddd-1.c: Likewise.
++ * gcc.target/i386/sse2-paddq-1.c: Likewise.
++ * gcc.target/i386/sse2-paddsb-1.c: Likewise.
++ * gcc.target/i386/sse2-paddsw-1.c: Likewise.
++ * gcc.target/i386/sse2-paddusb-1.c: Likewise.
++ * gcc.target/i386/sse2-paddusw-1.c: Likewise.
++ * gcc.target/i386/sse2-paddw-1.c: Likewise.
++ * gcc.target/i386/sse2-pand-1.c: Likewise.
++ * gcc.target/i386/sse2-pandn-1.c: Likewise.
++ * gcc.target/i386/sse2-pavgb-1.c: Likewise.
++ * gcc.target/i386/sse2-pavgw-1.c: Likewise.
++ * gcc.target/i386/sse2-pcmpeqb-1.c: Likewise.
++ * gcc.target/i386/sse2-pcmpeqd-1.c: Likewise.
++ * gcc.target/i386/sse2-pcmpeqw-1.c: Likewise.
++ * gcc.target/i386/sse2-pcmpgtb-1.c: Likewise.
++ * gcc.target/i386/sse2-pcmpgtd-1.c: Likewise.
++ * gcc.target/i386/sse2-pcmpgtw-1.c: Likewise.
++ * gcc.target/i386/sse2-pmaddwd-1.c: Likewise.
++ * gcc.target/i386/sse2-pmaxsw-1.c: Likewise.
++ * gcc.target/i386/sse2-pmaxub-1.c: Likewise.
++ * gcc.target/i386/sse2-pminsw-1.c: Likewise.
++ * gcc.target/i386/sse2-pminub-1.c: Likewise.
++ * gcc.target/i386/sse2-pmovmskb-1.c: Likewise.
++ * gcc.target/i386/sse2-pmulhuw-1.c: Likewise.
++ * gcc.target/i386/sse2-pmulhw-1.c: Likewise.
++ * gcc.target/i386/sse2-pmullw-1.c: Likewise.
++ * gcc.target/i386/sse2-pmuludq-1.c: Likewise.
++ * gcc.target/i386/sse2-por-1.c: Likewise.
++ * gcc.target/i386/sse2-psadbw-1.c: Likewise.
++ * gcc.target/i386/sse2-pshufd-1.c: Likewise.
++ * gcc.target/i386/sse2-pshufhw-1.c: Likewise.
++ * gcc.target/i386/sse2-pshuflw-1.c: Likewise.
++ * gcc.target/i386/sse2-pslld-1.c: Likewise.
++ * gcc.target/i386/sse2-pslld-2.c: Likewise.
++ * gcc.target/i386/sse2-pslldq-1.c: Likewise.
++ * gcc.target/i386/sse2-psllq-1.c: Likewise.
++ * gcc.target/i386/sse2-psllq-2.c: Likewise.
++ * gcc.target/i386/sse2-psllw-1.c: Likewise.
++ * gcc.target/i386/sse2-psllw-2.c: Likewise.
++ * gcc.target/i386/sse2-psrad-1.c: Likewise.
++ * gcc.target/i386/sse2-psrad-2.c: Likewise.
++ * gcc.target/i386/sse2-psraw-1.c: Likewise.
++ * gcc.target/i386/sse2-psraw-2.c: Likewise.
++ * gcc.target/i386/sse2-psrld-1.c: Likewise.
++ * gcc.target/i386/sse2-psrld-2.c: Likewise.
++ * gcc.target/i386/sse2-psrldq-1.c: Likewise.
++ * gcc.target/i386/sse2-psrlq-1.c: Likewise.
++ * gcc.target/i386/sse2-psrlq-2.c: Likewise.
++ * gcc.target/i386/sse2-psrlw-1.c: Likewise.
++ * gcc.target/i386/sse2-psrlw-2.c: Likewise.
++ * gcc.target/i386/sse2-psubb-1.c: Likewise.
++ * gcc.target/i386/sse2-psubd-1.c: Likewise.
++ * gcc.target/i386/sse2-psubq-1.c: Likewise.
++ * gcc.target/i386/sse2-psubsb-1.c: Likewise.
++ * gcc.target/i386/sse2-psubsw-1.c: Likewise.
++ * gcc.target/i386/sse2-psubw-1.c: Likewise.
++ * gcc.target/i386/sse2-punpckhbw-1.c: Likewise.
++ * gcc.target/i386/sse2-punpckhdq-1.c: Likewise.
++ * gcc.target/i386/sse2-punpckhqdq-1.c: Likewise.
++ * gcc.target/i386/sse2-punpckhwd-1.c: Likewise.
++ * gcc.target/i386/sse2-punpcklbw-1.c: Likewise.
++ * gcc.target/i386/sse2-punpckldq-1.c: Likewise.
++ * gcc.target/i386/sse2-punpcklqdq-1.c: Likewise.
++ * gcc.target/i386/sse2-punpcklwd-1.c: Likewise.
++ * gcc.target/i386/sse2-pxor-1.c: Likewise.
++ * gcc.target/i386/sse2-set-epi32-1.c: Likewise.
++ * gcc.target/i386/sse2-set-epi64x-1.c: Likewise.
++ * gcc.target/i386/sse2-set-v16qi-1.c: Likewise.
++ * gcc.target/i386/sse2-set-v16qi-2.c: Likewise.
++ * gcc.target/i386/sse2-set-v16qi-3.c: Likewise.
++ * gcc.target/i386/sse2-set-v8hi-1.c: Likewise.
++ * gcc.target/i386/sse2-set-v8hi-1a.c: Likewise.
++ * gcc.target/i386/sse2-set-v8hi-2.c: Likewise.
++ * gcc.target/i386/sse2-set-v8hi-2a.c: Likewise.
++ * gcc.target/i386/sse2-shufpd-1.c: Likewise.
++ * gcc.target/i386/sse2-shufps-1.c: Likewise.
++ * gcc.target/i386/sse2-sqrtpd-1.c: Likewise.
++ * gcc.target/i386/sse2-subpd-1.c: Likewise.
++ * gcc.target/i386/sse2-subsd-1.c: Likewise.
++ * gcc.target/i386/sse2-ucomisd-1.c: Likewise.
++ * gcc.target/i386/sse2-ucomisd-2.c: Likewise.
++ * gcc.target/i386/sse2-ucomisd-3.c: Likewise.
++ * gcc.target/i386/sse2-ucomisd-4.c: Likewise.
++ * gcc.target/i386/sse2-ucomisd-5.c: Likewise.
++ * gcc.target/i386/sse2-ucomisd-6.c: Likewise.
++ * gcc.target/i386/sse2-unpack-1.c: Likewise.
++ * gcc.target/i386/sse2-unpckhpd-1.c: Likewise.
++ * gcc.target/i386/sse2-unpcklpd-1.c: Likewise.
++ * gcc.target/i386/sse2-vec-1.c: Likewise.
++ * gcc.target/i386/sse2-vec-2.c: Likewise.
++ * gcc.target/i386/sse2-vec-3.c: Likewise.
++ * gcc.target/i386/sse2-vec-4.c: Likewise.
++ * gcc.target/i386/sse2-vec-5.c: Likewise.
++ * gcc.target/i386/sse2-vec-6.c: Likewise.
++ * gcc.target/i386/sse2-xorpd-1.c: Likewise.
++ * gcc.target/i386/ssefn-2.c: Likewise.
++ * gcc.target/i386/ssefn-4.c: Likewise.
++ * gcc.target/i386/ssefp-1.c: Likewise.
++ * gcc.target/i386/ssefp-2.c: Likewise.
++ * gcc.target/i386/sseregparm-3.c: Likewise.
++ * gcc.target/i386/sseregparm-4.c: Likewise.
++ * gcc.target/i386/sseregparm-5.c: Likewise.
++ * gcc.target/i386/sseregparm-6.c: Likewise.
++ * gcc.target/i386/sseregparm-7.c: Likewise.
++ * gcc.target/i386/ssetype-1.c: Likewise.
++ * gcc.target/i386/ssetype-2.c: Likewise.
++ * gcc.target/i386/ssetype-3.c: Likewise.
++ * gcc.target/i386/ssetype-4.c: Likewise.
++ * gcc.target/i386/ssetype-5.c: Likewise.
++ * gcc.target/i386/unordcmp-1.c: Likewise.
++ * gcc.target/i386/vararg-1.c: Likewise.
++ * gcc.target/i386/vararg-2.c: Likewise.
++ * gcc.target/i386/vararg-3.c: Likewise.
++ * gcc.target/i386/vararg-4.c: Likewise.
++ * gcc.target/i386/vararg-7.c: Likewise.
++ * gcc.target/i386/vararg-8.c: Likewise.
++ * gcc.target/i386/vecinit-1.c: Likewise.
++ * gcc.target/i386/vecinit-2.c: Likewise.
++ * gcc.target/i386/vecinit-3.c: Likewise.
++ * gcc.target/i386/vecinit-4.c: Likewise.
++ * gcc.target/i386/vecinit-5.c: Likewise.
++ * gcc.target/i386/vecinit-6.c: Likewise.
++ * gcc.target/i386/vectorize2.c: Likewise.
++ * gcc.target/i386/vectorize3.c: Likewise.
++ * gcc.target/i386/vectorize4.c: Likewise.
++ * gcc.target/i386/vectorize6.c: Likewise.
++ * gcc.target/i386/vectorize7.c: Likewise.
++ * gcc.target/i386/vectorize8.c: Likewise.
++ * gcc.target/i386/vperm-v2df.c: Likewise.
++ * gcc.target/i386/vperm-v2di.c: Likewise.
++ * gcc.target/i386/vperm-v4si-1.c: Likewise.
++ * gcc.target/i386/xorps-sse2.c: Likewise.
++ * gcc.target/i386/xorps.c: Likewise.
++ * gfortran.dg/graphite/pr42326-1.f90: Likewise.
++ * gfortran.dg/graphite/pr42326.f90: Likewise.
++ * gfortran.dg/vect/fast-math-mgrid-resid.f: Likewise.
++
++2010-05-19 Jason Merrill <jason@redhat.com>
++
++ PR c++/44193
++ * g++.dg/template/fntype1.C: New.
++
++ PR c++/44157
++ * g++.dg/cpp0x/initlist34.C: New.
++
++ PR c++/44158
++ * g++.dg/cpp0x/rv-trivial-bug.C: Test copy-init too.
++
++2010-05-19 Richard Guenther <rguenther@suse.de>
++
++ PR tree-optimization/43987
++ * gcc.c-torture/execute/pr43987.c: New testcase.
++ * gcc.dg/torture/pta-escape-1.c: Adjust.
++ * gcc.dg/tree-ssa/pta-escape-1.c: Likewise.
++ * gcc.dg/tree-ssa/pta-escape-2.c: Likewise.
++ * gcc.dg/tree-ssa/pta-escape-3.c: Likewise.
++ * gcc.dg/torture/ipa-pta-1.c: Likewise.
++
++2010-05-19 Richard Guenther <rguenther@suse.de>
++
++ Backport from mainline
++ 2010-04-26 Richard Guenther <rguenther@suse.de>
++
++ PR lto/43455
++ * gcc.dg/lto/20100423-1_0.c: New testcase.
++ * gcc.dg/lto/20100423-1_1.c: Likewise.
++
++ 2010-04-23 Richard Guenther <rguenther@suse.de>
++
++ PR lto/42653
++ * g++.dg/lto/20100423-1_0.C: New testcase.
++
++ 2010-04-26 Richard Guenther <rguenther@suse.de>
++
++ PR lto/42425
++ * g++.dg/lto/20100423-2_0.C: New testcase.
++
++ 2010-04-26 Richard Guenther <rguenther@suse.de>
++
++ PR lto/43080
++ * g++.dg/lto/20100423-3_0.C: New testcase.
++
++ 2010-04-30 Richard Guenther <rguenther@suse.de>
++
++ PR lto/43946
++ * gcc.dg/lto/20100430-1_0.c: New testcase.
++
++2010-05-19 Tobias Burnus <burnus@net-b.de>
++
++ PR fortran/43591
++ * gfortran.dg/spec_expr_6.f90: New test.
++
++2010-05-18 Steven Bosscher <steven@gcc.gnu.org>
++
++ PR lto/44184
++ * gcc.dg/lto/20100518_0.c: New test.
++
++2010-05-17 Jakub Jelinek <jakub@redhat.com>
++
++ PR bootstrap/42347
++ * gcc.c-torture/compile/pr42347.c: New test.
++
++ PR middle-end/44102
++ * g++.dg/ext/asmgoto1.C: New test.
++
++2010-05-15 H.J. Lu <hongjiu.lu@intel.com>
++
++ Backport from mainline
++ 2010-05-15 H.J. Lu <hongjiu.lu@intel.com>
++
++ * gcc.target/i386/avx-cmpsd-1.c: Add -std=c99.
++ * gcc.target/i386/avx-cmpss-1.c: Likewise.
++
+2010-05-14 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/44135
2010-04-14 Release Manager
* GCC 4.5.0 released.
+Index: gcc/testsuite/g++.dg/other/i386-4.C
+===================================================================
+--- gcc/testsuite/g++.dg/other/i386-4.C (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/g++.dg/other/i386-4.C (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do compile { target i?86-*-* x86_64-*-* } } */
+ /* { dg-options "-O1 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #include <xmmintrin.h>
+
+Index: gcc/testsuite/g++.dg/other/pr39496.C
+===================================================================
+--- gcc/testsuite/g++.dg/other/pr39496.C (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/g++.dg/other/pr39496.C (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,6 +1,7 @@
+ // PR target/39496
+ // { dg-do compile { target { { i?86-*-linux* x86_64-*-linux* } && ilp32 } } }
+ // { dg-options "-O0 -fverbose-asm -fno-omit-frame-pointer -mtune=i686 -msse2 -mfpmath=sse" }
++// { dg-require-effective-target sse2 }
+ // Verify that {foo,bar}{,2}param are all passed on the stack, using
+ // normal calling conventions, when not optimizing.
+ // { dg-final { scan-assembler "\[^0-9-\]8\\(%ebp\\),\[^\n\]*fooparam," } }
Index: gcc/testsuite/g++.dg/other/crash-12.C
===================================================================
--- gcc/testsuite/g++.dg/other/crash-12.C (.../tags/gcc_4_5_0_release) (wersja 0)
-+++ gcc/testsuite/g++.dg/other/crash-12.C (.../branches/gcc-4_5-branch) (wersja 159429)
++++ gcc/testsuite/g++.dg/other/crash-12.C (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -0,0 +1,25 @@
+// Origin: PR c++/43953
+
+ bad<dummy, dummy, 0>::foo();
+}
+
+Index: gcc/testsuite/g++.dg/other/pr40446.C
+===================================================================
+--- gcc/testsuite/g++.dg/other/pr40446.C (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/g++.dg/other/pr40446.C (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,6 +1,7 @@
+ // PR middle-end/40446
+ // { dg-do run { target i?86-*-* x86_64-*-* } }
+ // { dg-options "-O1 -msse2" }
++// { dg-require-effective-target sse2 }
+
+ #include <emmintrin.h>
+ #include "cpuid.h"
+Index: gcc/testsuite/g++.dg/other/i386-1.C
+===================================================================
+--- gcc/testsuite/g++.dg/other/i386-1.C (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/g++.dg/other/i386-1.C (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do run { target i?86-*-* x86_64-*-* } } */
+ /* { dg-options "-msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #include <xmmintrin.h>
+
+Index: gcc/testsuite/g++.dg/other/pr34435.C
+===================================================================
+--- gcc/testsuite/g++.dg/other/pr34435.C (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/g++.dg/other/pr34435.C (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ /* { dg-do compile { target i?86-*-* x86_64-*-* } } */
+ /* { dg-options "-msse2 -Wno-abi" } */
++/* { dg-require-effective-target sse2 } */
+
+ #include <emmintrin.h>
+
+Index: gcc/testsuite/g++.dg/lto/20100423-1_0.C
+===================================================================
+--- gcc/testsuite/g++.dg/lto/20100423-1_0.C (.../tags/gcc_4_5_0_release) (wersja 0)
++++ gcc/testsuite/g++.dg/lto/20100423-1_0.C (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -0,0 +1,38 @@
++// { dg-lto-do assemble }
++// { dg-lto-options {{-g -flto}} }
++
++namespace llvm
++{
++ class Function;
++ class MachineCodeInfo;
++ class ExecutionEngine
++ {
++ };
++ class JIT : public ExecutionEngine
++ {
++ void runJITOnFunction (Function * F, MachineCodeInfo * MCI = 0);
++ };
++ class JITEventListener
++ {
++ public:
++ JITEventListener ()
++ {
++ }
++ virtual ~JITEventListener ();
++ };
++}
++
++using namespace llvm;
++void
++JIT::runJITOnFunction (Function * F, MachineCodeInfo * MCI)
++{
++ class MCIListener:public JITEventListener
++ {
++ MachineCodeInfo *const MCI;
++ public:
++ MCIListener (MachineCodeInfo * mci):MCI (mci)
++ {
++ }
++ };
++}
++
+Index: gcc/testsuite/g++.dg/lto/20100423-2_0.C
+===================================================================
+--- gcc/testsuite/g++.dg/lto/20100423-2_0.C (.../tags/gcc_4_5_0_release) (wersja 0)
++++ gcc/testsuite/g++.dg/lto/20100423-2_0.C (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -0,0 +1,14 @@
++// { dg-lto-do assemble }
++// { dg-lto-options {{-flto -g}} }
++
++struct A
++{
++ virtual ~A();
++};
++
++void foo()
++{
++ struct B : A {};
++ B b;
++}
++
+Index: gcc/testsuite/g++.dg/lto/20100423-3_0.C
+===================================================================
+--- gcc/testsuite/g++.dg/lto/20100423-3_0.C (.../tags/gcc_4_5_0_release) (wersja 0)
++++ gcc/testsuite/g++.dg/lto/20100423-3_0.C (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -0,0 +1,14 @@
++// { dg-lto-do assemble }
++// { dg-lto-options {{-flto -g}} }
++
++inline int foo()
++{
++ static union { int i; };
++ return i;
++}
++
++void bar()
++{
++ foo();
++}
++
+Index: gcc/testsuite/g++.dg/ext/attrib35.C
+===================================================================
+--- gcc/testsuite/g++.dg/ext/attrib35.C (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/g++.dg/ext/attrib35.C (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ // { dg-do compile { target i?86-*-* x86_64-*-* } }
+ // { dg-options "-O3 -msse2" }
++// { dg-require-effective-target sse2 }
+
+ // You can make NON-template typedefs with a large alignment.
+ typedef double AlignedDoubleType __attribute__((aligned(16)));
Index: gcc/testsuite/g++.dg/ext/label13.C
===================================================================
---- gcc/testsuite/g++.dg/ext/label13.C (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ gcc/testsuite/g++.dg/ext/label13.C (.../branches/gcc-4_5-branch) (wersja 159429)
+--- gcc/testsuite/g++.dg/ext/label13.C (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/g++.dg/ext/label13.C (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -8,7 +8,7 @@
C();
};
Index: gcc/testsuite/g++.dg/ext/attrib39.C
===================================================================
--- gcc/testsuite/g++.dg/ext/attrib39.C (.../tags/gcc_4_5_0_release) (wersja 0)
-+++ gcc/testsuite/g++.dg/ext/attrib39.C (.../branches/gcc-4_5-branch) (wersja 159429)
++++ gcc/testsuite/g++.dg/ext/attrib39.C (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -0,0 +1,9 @@
+// PR debug/43370
+// { dg-options "-g" }
+ } XmmUint16;
+ return 0;
+}
+Index: gcc/testsuite/g++.dg/ext/asmgoto1.C
+===================================================================
+--- gcc/testsuite/g++.dg/ext/asmgoto1.C (.../tags/gcc_4_5_0_release) (wersja 0)
++++ gcc/testsuite/g++.dg/ext/asmgoto1.C (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -0,0 +1,32 @@
++// PR middle-end/44102
++// { dg-do compile }
++// { dg-options "-O2" }
++
++void baz (void);
++struct A { A (); ~A (); };
++
++static inline int
++foo (void)
++{
++ asm goto ("" : : : : l1, l2);
++ __builtin_unreachable ();
++ l1:
++ return 1;
++ l2:
++ return 0;
++}
++
++int
++bar (int x)
++{
++ if (x == 5)
++ {
++ A a, b;
++ baz ();
++ }
++ if (foo () || x == 6)
++ x = 1;
++ else
++ x = 2;
++ return x;
++}
+Index: gcc/testsuite/g++.dg/vect/vect.exp
+===================================================================
+--- gcc/testsuite/g++.dg/vect/vect.exp (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/g++.dg/vect/vect.exp (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,4 +1,4 @@
+-# Copyright (C) 2004, 2007, 2008 Free Software Foundation, Inc.
++# Copyright (C) 2004, 2007, 2008, 2010 Free Software Foundation, Inc.
+
+ # This program is free software; you can redistribute it and/or modify
+ # it under the terms of the GNU General Public License as published by
+@@ -75,6 +75,9 @@
+ } elseif { [istarget "spu-*-*"] } {
+ set dg-do-what-default run
+ } elseif { [istarget "i?86-*-*"] || [istarget "x86_64-*-*"] } {
++ if { ![check_effective_target_sse2] } then {
++ return
++ }
+ lappend DEFAULT_VECTCFLAGS "-msse2"
+ if [check_sse2_hw_available] {
+ set dg-do-what-default run
Index: gcc/testsuite/g++.dg/vect/pr43771.cc
===================================================================
--- gcc/testsuite/g++.dg/vect/pr43771.cc (.../tags/gcc_4_5_0_release) (wersja 0)
-+++ gcc/testsuite/g++.dg/vect/pr43771.cc (.../branches/gcc-4_5-branch) (wersja 159429)
++++ gcc/testsuite/g++.dg/vect/pr43771.cc (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -0,0 +1,14 @@
+/* { dg-do compile } */
+
Index: gcc/testsuite/g++.dg/opt/empty1.C
===================================================================
--- gcc/testsuite/g++.dg/opt/empty1.C (.../tags/gcc_4_5_0_release) (wersja 0)
-+++ gcc/testsuite/g++.dg/opt/empty1.C (.../branches/gcc-4_5-branch) (wersja 159429)
++++ gcc/testsuite/g++.dg/opt/empty1.C (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -0,0 +1,11 @@
+// PR c++/43787
+// Test that we don't try to copy *x.
+ empty_t* x = 0;
+ empty_t y = *x;
+}
+Index: gcc/testsuite/g++.dg/opt/pr40496.C
+===================================================================
+--- gcc/testsuite/g++.dg/opt/pr40496.C (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/g++.dg/opt/pr40496.C (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ // { dg-do compile }
+ // { dg-options "-O2 -fprefetch-loop-arrays -msse2" { target i?86-*-* x86_64-*-* } }
++// { dg-require-effective-target sse2 { target i?86-*-* x86_64-*-* } }
+
+ struct DOMStringHandle
+ {
Index: gcc/testsuite/g++.dg/cdce3.C
===================================================================
---- gcc/testsuite/g++.dg/cdce3.C (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ gcc/testsuite/g++.dg/cdce3.C (.../branches/gcc-4_5-branch) (wersja 159429)
+--- gcc/testsuite/g++.dg/cdce3.C (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/g++.dg/cdce3.C (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -1,13 +1,13 @@
/* { dg-do run } */
/* { dg-require-effective-target c99_runtime } */
#include <math.h>
Index: gcc/testsuite/g++.dg/warn/miss-format-1.C
===================================================================
---- gcc/testsuite/g++.dg/warn/miss-format-1.C (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ gcc/testsuite/g++.dg/warn/miss-format-1.C (.../branches/gcc-4_5-branch) (wersja 159429)
+--- gcc/testsuite/g++.dg/warn/miss-format-1.C (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/g++.dg/warn/miss-format-1.C (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -23,7 +23,7 @@
{
va_list ap;
Index: gcc/testsuite/g++.dg/cpp0x/lambda/lambda-conv4.C
===================================================================
--- gcc/testsuite/g++.dg/cpp0x/lambda/lambda-conv4.C (.../tags/gcc_4_5_0_release) (wersja 0)
-+++ gcc/testsuite/g++.dg/cpp0x/lambda/lambda-conv4.C (.../branches/gcc-4_5-branch) (wersja 159429)
++++ gcc/testsuite/g++.dg/cpp0x/lambda/lambda-conv4.C (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -0,0 +1,13 @@
+// PR c++/43641
+// { dg-options "-std=c++0x" }
Index: gcc/testsuite/g++.dg/cpp0x/lambda/lambda-this2.C
===================================================================
--- gcc/testsuite/g++.dg/cpp0x/lambda/lambda-this2.C (.../tags/gcc_4_5_0_release) (wersja 0)
-+++ gcc/testsuite/g++.dg/cpp0x/lambda/lambda-this2.C (.../branches/gcc-4_5-branch) (wersja 159429)
++++ gcc/testsuite/g++.dg/cpp0x/lambda/lambda-this2.C (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -0,0 +1,16 @@
+// PR c++/43856
+// Test for implicit 'this' capture via rewriting.
Index: gcc/testsuite/g++.dg/cpp0x/lambda/lambda-uneval.C
===================================================================
--- gcc/testsuite/g++.dg/cpp0x/lambda/lambda-uneval.C (.../tags/gcc_4_5_0_release) (wersja 0)
-+++ gcc/testsuite/g++.dg/cpp0x/lambda/lambda-uneval.C (.../branches/gcc-4_5-branch) (wersja 159429)
++++ gcc/testsuite/g++.dg/cpp0x/lambda/lambda-uneval.C (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -0,0 +1,7 @@
+// 5.1.2/2: A lambda-expression shall not appear in an unevaluated operand.
+// { dg-options "-std=c++0x" }
Index: gcc/testsuite/g++.dg/cpp0x/lambda/lambda-deduce2.C
===================================================================
--- gcc/testsuite/g++.dg/cpp0x/lambda/lambda-deduce2.C (.../tags/gcc_4_5_0_release) (wersja 0)
-+++ gcc/testsuite/g++.dg/cpp0x/lambda/lambda-deduce2.C (.../branches/gcc-4_5-branch) (wersja 159429)
++++ gcc/testsuite/g++.dg/cpp0x/lambda/lambda-deduce2.C (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -0,0 +1,7 @@
+// PR c++/43875
+// { dg-options "-std=c++0x" }
+}
Index: gcc/testsuite/g++.dg/cpp0x/enum3.C
===================================================================
---- gcc/testsuite/g++.dg/cpp0x/enum3.C (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ gcc/testsuite/g++.dg/cpp0x/enum3.C (.../branches/gcc-4_5-branch) (wersja 159429)
+--- gcc/testsuite/g++.dg/cpp0x/enum3.C (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/g++.dg/cpp0x/enum3.C (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -14,4 +14,14 @@
E e = E::elem;
if (!f (e == E::elem))
+ if (f (e != E::elem))
+ return 1;
}
+Index: gcc/testsuite/g++.dg/cpp0x/initlist34.C
+===================================================================
+--- gcc/testsuite/g++.dg/cpp0x/initlist34.C (.../tags/gcc_4_5_0_release) (wersja 0)
++++ gcc/testsuite/g++.dg/cpp0x/initlist34.C (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -0,0 +1,14 @@
++// PR c++/44157
++// { dg-options "-std=c++0x" }
++
++#include <initializer_list>
++
++template<typename T>
++void f(T) { }
++
++int main() {
++ std::initializer_list<int> a = { 0 };
++ f(a);
++
++ f<std::initializer_list<int> >({ 0 });
++}
+Index: gcc/testsuite/g++.dg/cpp0x/rv-trivial-bug.C
+===================================================================
+--- gcc/testsuite/g++.dg/cpp0x/rv-trivial-bug.C (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/g++.dg/cpp0x/rv-trivial-bug.C (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -19,7 +19,8 @@
+ base2 b2(b);
+ assert(move_construct == 0);
+ base2 b3(static_cast<base2&&>(b));
+- assert(move_construct == 1);
++ base2 b4 = static_cast<base2&&>(b);
++ assert(move_construct == 2);
+ b = b2;
+ assert(move_assign == 0);
+ b = static_cast<base2&&>(b2);
+Index: gcc/testsuite/g++.dg/abi/mangle42.C
+===================================================================
+--- gcc/testsuite/g++.dg/abi/mangle42.C (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/g++.dg/abi/mangle42.C (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,6 +1,7 @@
+ // Origin: PR c++/43375
+ // { dg-do compile { target i?86-*-* x86_64-*-* } }
+ // { dg-options "-msse2 -std=gnu++0x" }
++// { dg-require-effective-target sse2 }
+
+ typedef float __v4sf __attribute__ ((__vector_size__ (16)));
+ typedef int __v4si __attribute__ ((__vector_size__ (16)));
Index: gcc/testsuite/g++.dg/eh/terminate1.C
===================================================================
--- gcc/testsuite/g++.dg/eh/terminate1.C (.../tags/gcc_4_5_0_release) (wersja 0)
-+++ gcc/testsuite/g++.dg/eh/terminate1.C (.../branches/gcc-4_5-branch) (wersja 159429)
++++ gcc/testsuite/g++.dg/eh/terminate1.C (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -0,0 +1,29 @@
+// PR c++/44127
+
Index: gcc/testsuite/g++.dg/torture/pr43880.C
===================================================================
--- gcc/testsuite/g++.dg/torture/pr43880.C (.../tags/gcc_4_5_0_release) (wersja 0)
-+++ gcc/testsuite/g++.dg/torture/pr43880.C (.../branches/gcc-4_5-branch) (wersja 159429)
++++ gcc/testsuite/g++.dg/torture/pr43880.C (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -0,0 +1,16 @@
+// { dg-do compile }
+
Index: gcc/testsuite/g++.dg/torture/pr43611.C
===================================================================
--- gcc/testsuite/g++.dg/torture/pr43611.C (.../tags/gcc_4_5_0_release) (wersja 0)
-+++ gcc/testsuite/g++.dg/torture/pr43611.C (.../branches/gcc-4_5-branch) (wersja 159429)
++++ gcc/testsuite/g++.dg/torture/pr43611.C (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -0,0 +1,22 @@
+// { dg-do compile }
+// { dg-options "-fkeep-inline-functions" }
Index: gcc/testsuite/g++.dg/ipa/pr43812.C
===================================================================
--- gcc/testsuite/g++.dg/ipa/pr43812.C (.../tags/gcc_4_5_0_release) (wersja 0)
-+++ gcc/testsuite/g++.dg/ipa/pr43812.C (.../branches/gcc-4_5-branch) (wersja 159429)
++++ gcc/testsuite/g++.dg/ipa/pr43812.C (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -0,0 +1,38 @@
+/* { dg-do compile } */
+/* { dg-options "-O -fwhole-program -fipa-cp" } */
Index: gcc/testsuite/g++.dg/template/typedef33.C
===================================================================
--- gcc/testsuite/g++.dg/template/typedef33.C (.../tags/gcc_4_5_0_release) (wersja 0)
-+++ gcc/testsuite/g++.dg/template/typedef33.C (.../branches/gcc-4_5-branch) (wersja 159429)
++++ gcc/testsuite/g++.dg/template/typedef33.C (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -0,0 +1,21 @@
+// Origin PR c++/43800
+// { dg-do compile }
Index: gcc/testsuite/g++.dg/template/ptrmem21.C
===================================================================
--- gcc/testsuite/g++.dg/template/ptrmem21.C (.../tags/gcc_4_5_0_release) (wersja 0)
-+++ gcc/testsuite/g++.dg/template/ptrmem21.C (.../branches/gcc-4_5-branch) (wersja 159429)
++++ gcc/testsuite/g++.dg/template/ptrmem21.C (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -0,0 +1,37 @@
+// PR c++/43868
+// { dg-options "-g" }
Index: gcc/testsuite/g++.dg/template/crash96.C
===================================================================
--- gcc/testsuite/g++.dg/template/crash96.C (.../tags/gcc_4_5_0_release) (wersja 0)
-+++ gcc/testsuite/g++.dg/template/crash96.C (.../branches/gcc-4_5-branch) (wersja 159429)
++++ gcc/testsuite/g++.dg/template/crash96.C (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -0,0 +1,6 @@
+// PR c++/40406
+
Index: gcc/testsuite/g++.dg/template/error-recovery2.C
===================================================================
--- gcc/testsuite/g++.dg/template/error-recovery2.C (.../tags/gcc_4_5_0_release) (wersja 0)
-+++ gcc/testsuite/g++.dg/template/error-recovery2.C (.../branches/gcc-4_5-branch) (wersja 159429)
++++ gcc/testsuite/g++.dg/template/error-recovery2.C (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -0,0 +1,7 @@
+// PR c++/43621
+
Index: gcc/testsuite/g++.dg/template/typedef32.C
===================================================================
--- gcc/testsuite/g++.dg/template/typedef32.C (.../tags/gcc_4_5_0_release) (wersja 0)
-+++ gcc/testsuite/g++.dg/template/typedef32.C (.../branches/gcc-4_5-branch) (wersja 159429)
++++ gcc/testsuite/g++.dg/template/typedef32.C (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -0,0 +1,46 @@
+// Origin: PR c++/43704
+// { dg-do compile }
+ banded_adaptor<matrix<double> >::iterator1 it1;
+};
+
+Index: gcc/testsuite/g++.dg/template/fntype1.C
+===================================================================
+--- gcc/testsuite/g++.dg/template/fntype1.C (.../tags/gcc_4_5_0_release) (wersja 0)
++++ gcc/testsuite/g++.dg/template/fntype1.C (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -0,0 +1,26 @@
++bool f(int i) { return i != 5; }
++
++template <class X, class P = bool(X)>
++struct Traits
++{
++ typedef P type;
++};
++
++template <class X, class P = typename Traits<X>::type>
++struct S
++{
++ const P& p_;
++ S( const P& p ) : p_(p) {} // const reference
++};
++
++template <class X>
++S<X> make_s(const typename Traits<X>::type & p) // const reference
++{
++ return S<X>(p); // << HERE
++}
++
++
++int main()
++{
++ make_s<int>(f);
++}
+Index: gcc/testsuite/lib/target-supports-dg.exp
+===================================================================
+--- gcc/testsuite/lib/target-supports-dg.exp (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/lib/target-supports-dg.exp (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,4 +1,4 @@
+-# Copyright (C) 1997, 1999, 2000, 2003, 2004, 2005, 2007, 2008, 2009
++# Copyright (C) 1997, 1999, 2000, 2003, 2004, 2005, 2007, 2008, 2009, 2010
+ # Free Software Foundation, Inc.
+
+ # This program is free software; you can redistribute it and/or modify
+@@ -145,12 +145,23 @@
+ }
+
+ # If the target does not match the required effective target, skip this test.
++# Only apply this if the optional selector matches.
+
+ proc dg-require-effective-target { args } {
+ set args [lreplace $args 0 0]
+- if { [llength $args] != 1 } {
+- error "syntax error, need a single effective-target keyword"
++ # Verify the number of arguments. The last is optional.
++ if { [llength $args] < 1 || [llength $args] > 2 } {
++ error "syntax error, need a single effective-target keyword with optional selector"
+ }
++
++ # Evaluate selector if present.
++ if { [llength $args] == 2 } {
++ switch [dg-process-target [lindex $args 1]] {
++ "S" { }
++ "N" { return }
++ }
++ }
++
+ if { ![is-effective-target [lindex $args 0]] } {
+ upvar dg-do-what dg-do-what
+ set dg-do-what [list [lindex ${dg-do-what} 0] "N" "P"]
+Index: gcc/testsuite/lib/fortran-torture.exp
+===================================================================
+--- gcc/testsuite/lib/fortran-torture.exp (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/lib/fortran-torture.exp (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,4 +1,4 @@
+-# Copyright (C) 2003, 2006, 2007, 2008 Free Software Foundation, Inc.
++# Copyright (C) 2003, 2006, 2007, 2008, 2010 Free Software Foundation, Inc.
+
+ # This program is free software; you can redistribute it and/or modify
+ # it under the terms of the GNU General Public License as published by
+@@ -45,6 +45,7 @@
+ } elseif { [istarget "spu-*-*"] } {
+ set test_tree_vectorize 1
+ } elseif { ( [istarget "i?86-*-*"] || [istarget "x86_64-*-*"] )
++ && [check_effective_target_sse2]
+ && [check_sse2_hw_available] } {
+ lappend vectorizer_options "-msse2"
+ set test_tree_vectorize 1
+Index: gcc/testsuite/lib/target-supports.exp
+===================================================================
+--- gcc/testsuite/lib/target-supports.exp (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/lib/target-supports.exp (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -3133,6 +3133,18 @@
+ } "-O2 -mavx" ]
+ }
+
++# Return 1 if sse2 instructions can be compiled.
++proc check_effective_target_sse2 { } {
++ return [check_no_compiler_messages sse2 object {
++ typedef long long __m128i __attribute__ ((__vector_size__ (16)));
++
++ __m128i _mm_srli_si128 (__m128i __A, int __N)
++ {
++ return (__m128i)__builtin_ia32_psrldqi128 (__A, 8);
++ }
++ } "-O2 -msse2" ]
++}
++
+ # Return 1 if C wchar_t type is compatible with char16_t.
+
+ proc check_effective_target_wchar_t_char16_t_compatible { } {
+Index: gcc/testsuite/gfortran.dg/spec_expr_6.f90
+===================================================================
+--- gcc/testsuite/gfortran.dg/spec_expr_6.f90 (.../tags/gcc_4_5_0_release) (wersja 0)
++++ gcc/testsuite/gfortran.dg/spec_expr_6.f90 (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -0,0 +1,52 @@
++! { dg-do compile }
++!
++! PR fortran/43591
++!
++! Pureness check for TPB/PPC in specification expressions
++!
++! Based on a test case of Thorsten Ohl
++!
++!
++
++module m
++ implicit none
++ type t
++ procedure(p1_type), nopass, pointer :: p1 => NULL()
++ contains
++ procedure, nopass :: tbp => p1_type
++ end type t
++contains
++ subroutine proc (t1, t2)
++ type(t), intent(in) :: t1, t2
++ integer, dimension(t1%p1(), t2%tbp()) :: table
++ end subroutine proc
++ pure function p1_type()
++ integer :: p1_type
++ p1_type = 42
++ end function p1_type
++ pure subroutine p(t1)
++ type(t), intent(inout) :: t1
++ integer :: a(t1%p1())
++ end subroutine p
++end module m
++
++module m2
++ implicit none
++ type t
++ procedure(p1_type), nopass, pointer :: p1 => NULL()
++ contains
++ procedure, nopass :: tbp => p1_type
++ end type t
++contains
++ subroutine proc (t1, t2)
++ type(t), intent(in) :: t1, t2
++ integer, dimension(t1%p1()) :: table1 ! { dg-error "must be PURE" }
++ integer, dimension(t2%tbp()) :: table2 ! { dg-error "must be PURE" }
++ end subroutine proc
++ function p1_type()
++ integer :: p1_type
++ p1_type = 42
++ end function p1_type
++end module m2
++
++! { dg-final { cleanup-modules "m m2" } }
Index: gcc/testsuite/gfortran.dg/actual_array_interface_2.f90
===================================================================
--- gcc/testsuite/gfortran.dg/actual_array_interface_2.f90 (.../tags/gcc_4_5_0_release) (wersja 0)
-+++ gcc/testsuite/gfortran.dg/actual_array_interface_2.f90 (.../branches/gcc-4_5-branch) (wersja 159429)
++++ gcc/testsuite/gfortran.dg/actual_array_interface_2.f90 (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -0,0 +1,13 @@
+! { dg-do compile }
+program gprogram
Index: gcc/testsuite/gfortran.dg/unexpected_interface.f90
===================================================================
--- gcc/testsuite/gfortran.dg/unexpected_interface.f90 (.../tags/gcc_4_5_0_release) (wersja 0)
-+++ gcc/testsuite/gfortran.dg/unexpected_interface.f90 (.../branches/gcc-4_5-branch) (wersja 159429)
++++ gcc/testsuite/gfortran.dg/unexpected_interface.f90 (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -0,0 +1,9 @@
+! { dg-do compile }
+! PR fortran/43592
Index: gcc/testsuite/gfortran.dg/pr43796.f90
===================================================================
--- gcc/testsuite/gfortran.dg/pr43796.f90 (.../tags/gcc_4_5_0_release) (wersja 0)
-+++ gcc/testsuite/gfortran.dg/pr43796.f90 (.../branches/gcc-4_5-branch) (wersja 159429)
++++ gcc/testsuite/gfortran.dg/pr43796.f90 (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -0,0 +1,51 @@
+! { dg-do compile }
+! { dg-options "-O2 -fcheck=bounds" }
Index: gcc/testsuite/gfortran.dg/gomp/pr43337.f90
===================================================================
--- gcc/testsuite/gfortran.dg/gomp/pr43337.f90 (.../tags/gcc_4_5_0_release) (wersja 0)
-+++ gcc/testsuite/gfortran.dg/gomp/pr43337.f90 (.../branches/gcc-4_5-branch) (wersja 159429)
++++ gcc/testsuite/gfortran.dg/gomp/pr43337.f90 (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -0,0 +1,30 @@
+! PR middle-end/43337
+! { dg-do compile }
Index: gcc/testsuite/gfortran.dg/gomp/pr44085.f90
===================================================================
--- gcc/testsuite/gfortran.dg/gomp/pr44085.f90 (.../tags/gcc_4_5_0_release) (wersja 0)
-+++ gcc/testsuite/gfortran.dg/gomp/pr44085.f90 (.../branches/gcc-4_5-branch) (wersja 159429)
++++ gcc/testsuite/gfortran.dg/gomp/pr44085.f90 (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -0,0 +1,25 @@
+! PR middle-end/44085
+! { dg-do compile }
Index: gcc/testsuite/gfortran.dg/gomp/pr43836.f90
===================================================================
--- gcc/testsuite/gfortran.dg/gomp/pr43836.f90 (.../tags/gcc_4_5_0_release) (wersja 0)
-+++ gcc/testsuite/gfortran.dg/gomp/pr43836.f90 (.../branches/gcc-4_5-branch) (wersja 159429)
++++ gcc/testsuite/gfortran.dg/gomp/pr43836.f90 (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -0,0 +1,10 @@
+! PR fortran/43836
+! { dg-do compile }
+end subroutine foo
Index: gcc/testsuite/gfortran.dg/gomp/sharing-2.f90
===================================================================
---- gcc/testsuite/gfortran.dg/gomp/sharing-2.f90 (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ gcc/testsuite/gfortran.dg/gomp/sharing-2.f90 (.../branches/gcc-4_5-branch) (wersja 159429)
+--- gcc/testsuite/gfortran.dg/gomp/sharing-2.f90 (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gfortran.dg/gomp/sharing-2.f90 (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -28,14 +28,14 @@
end do
!$omp end single
Index: gcc/testsuite/gfortran.dg/gomp/crayptr5.f90
===================================================================
--- gcc/testsuite/gfortran.dg/gomp/crayptr5.f90 (.../tags/gcc_4_5_0_release) (wersja 0)
-+++ gcc/testsuite/gfortran.dg/gomp/crayptr5.f90 (.../branches/gcc-4_5-branch) (wersja 159429)
++++ gcc/testsuite/gfortran.dg/gomp/crayptr5.f90 (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -0,0 +1,27 @@
+! { dg-do compile }
+! { dg-options "-fopenmp -fcray-pointer" }
Index: gcc/testsuite/gfortran.dg/gomp/pr44036-1.f90
===================================================================
--- gcc/testsuite/gfortran.dg/gomp/pr44036-1.f90 (.../tags/gcc_4_5_0_release) (wersja 0)
-+++ gcc/testsuite/gfortran.dg/gomp/pr44036-1.f90 (.../branches/gcc-4_5-branch) (wersja 159429)
++++ gcc/testsuite/gfortran.dg/gomp/pr44036-1.f90 (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -0,0 +1,24 @@
+! PR fortran/44036
+! { dg-do compile }
Index: gcc/testsuite/gfortran.dg/gomp/pr44036-2.f90
===================================================================
--- gcc/testsuite/gfortran.dg/gomp/pr44036-2.f90 (.../tags/gcc_4_5_0_release) (wersja 0)
-+++ gcc/testsuite/gfortran.dg/gomp/pr44036-2.f90 (.../branches/gcc-4_5-branch) (wersja 159429)
++++ gcc/testsuite/gfortran.dg/gomp/pr44036-2.f90 (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -0,0 +1,17 @@
+! PR fortran/44036
+! { dg-do compile }
Index: gcc/testsuite/gfortran.dg/gomp/pr44036-3.f90
===================================================================
--- gcc/testsuite/gfortran.dg/gomp/pr44036-3.f90 (.../tags/gcc_4_5_0_release) (wersja 0)
-+++ gcc/testsuite/gfortran.dg/gomp/pr44036-3.f90 (.../branches/gcc-4_5-branch) (wersja 159429)
++++ gcc/testsuite/gfortran.dg/gomp/pr44036-3.f90 (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -0,0 +1,13 @@
+! PR fortran/44036
+! { dg-do compile }
Index: gcc/testsuite/gfortran.dg/proc_decl_23.f90
===================================================================
--- gcc/testsuite/gfortran.dg/proc_decl_23.f90 (.../tags/gcc_4_5_0_release) (wersja 0)
-+++ gcc/testsuite/gfortran.dg/proc_decl_23.f90 (.../branches/gcc-4_5-branch) (wersja 159429)
++++ gcc/testsuite/gfortran.dg/proc_decl_23.f90 (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -0,0 +1,43 @@
+! { dg-do compile }
+! Test the fix for PR43227, in which the lines below would segfault.
+ print *, char1 (["j","k","l"])
+end
+! { dg-final { cleanup-tree-dump "m_string" } }
+Index: gcc/testsuite/gfortran.dg/graphite/pr42326.f90
+===================================================================
+--- gcc/testsuite/gfortran.dg/graphite/pr42326.f90 (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gfortran.dg/graphite/pr42326.f90 (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ ! { dg-do compile { target i?86-*-* x86_64-*-* } }
+ ! { dg-require-effective-target ilp32 }
++! { dg-require-effective-target sse2 }
+ ! { dg-options "-O2 -floop-strip-mine -fprefetch-loop-arrays -msse2" }
+
+ subroutine blts ( ldmx, ldmy, v, tmp1, i, j, k)
+Index: gcc/testsuite/gfortran.dg/graphite/pr42326-1.f90
+===================================================================
+--- gcc/testsuite/gfortran.dg/graphite/pr42326-1.f90 (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gfortran.dg/graphite/pr42326-1.f90 (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ ! { dg-do compile { target i?86-*-* x86_64-*-* } }
+ ! { dg-require-effective-target ilp32 }
++! { dg-require-effective-target sse2 }
+ ! { dg-options "-O2 -floop-parallelize-all -fprefetch-loop-arrays -msse2" }
+
+ subroutine phasad(t,i,ium)
Index: gcc/testsuite/gfortran.dg/pr43793.f90
===================================================================
--- gcc/testsuite/gfortran.dg/pr43793.f90 (.../tags/gcc_4_5_0_release) (wersja 0)
-+++ gcc/testsuite/gfortran.dg/pr43793.f90 (.../branches/gcc-4_5-branch) (wersja 159429)
++++ gcc/testsuite/gfortran.dg/pr43793.f90 (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -0,0 +1,23 @@
+! { dg-do compile }
+!
+! { dg-final { cleanup-modules "fft_tools" } }
Index: gcc/testsuite/gfortran.dg/bounds_check_fail_4.f90
===================================================================
---- gcc/testsuite/gfortran.dg/bounds_check_fail_4.f90 (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ gcc/testsuite/gfortran.dg/bounds_check_fail_4.f90 (.../branches/gcc-4_5-branch) (wersja 159429)
+--- gcc/testsuite/gfortran.dg/bounds_check_fail_4.f90 (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gfortran.dg/bounds_check_fail_4.f90 (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -9,4 +9,4 @@
if (any(x /= (/ 5, 2, 3, 6, 5, 6, 7, 8, 9, 10 /))) call abort()
x(8:1:m) = x(1:3) + x(5:2:n)
+! { dg-output "line 10 .* bound mismatch .* dimension 1 .* array \'x\' \\\(2/3\\\)" }
Index: gcc/testsuite/gfortran.dg/selected_char_kind_3.f90
===================================================================
---- gcc/testsuite/gfortran.dg/selected_char_kind_3.f90 (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ gcc/testsuite/gfortran.dg/selected_char_kind_3.f90 (.../branches/gcc-4_5-branch) (wersja 159429)
+--- gcc/testsuite/gfortran.dg/selected_char_kind_3.f90 (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gfortran.dg/selected_char_kind_3.f90 (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -4,7 +4,7 @@
! Check that SELECTED_CHAR_KIND is rejected with -std=f95
!
end
Index: gcc/testsuite/gfortran.dg/intrinsic_std_1.f90
===================================================================
---- gcc/testsuite/gfortran.dg/intrinsic_std_1.f90 (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ gcc/testsuite/gfortran.dg/intrinsic_std_1.f90 (.../branches/gcc-4_5-branch) (wersja 159429)
+--- gcc/testsuite/gfortran.dg/intrinsic_std_1.f90 (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gfortran.dg/intrinsic_std_1.f90 (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -20,7 +20,7 @@
! ASINH is an intrinsic of F2008
! The warning should be issued in the declaration above where it is declared
Index: gcc/testsuite/gfortran.dg/intrinsic_std_5.f03
===================================================================
--- gcc/testsuite/gfortran.dg/intrinsic_std_5.f03 (.../tags/gcc_4_5_0_release) (wersja 0)
-+++ gcc/testsuite/gfortran.dg/intrinsic_std_5.f03 (.../branches/gcc-4_5-branch) (wersja 159429)
++++ gcc/testsuite/gfortran.dg/intrinsic_std_5.f03 (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -0,0 +1,24 @@
+! { dg-do compile }
+! { dg-options "-std=f2003" }
Index: gcc/testsuite/gfortran.dg/abstract_type_6.f03
===================================================================
--- gcc/testsuite/gfortran.dg/abstract_type_6.f03 (.../tags/gcc_4_5_0_release) (wersja 0)
-+++ gcc/testsuite/gfortran.dg/abstract_type_6.f03 (.../branches/gcc-4_5-branch) (wersja 159429)
++++ gcc/testsuite/gfortran.dg/abstract_type_6.f03 (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -0,0 +1,53 @@
+! { dg-do "compile" }
+! Test the fix for PR43266, in which an ICE followed correct error messages.
+END SUBROUTINE bottom_c
+end module
+! { dg-final { cleanup-modules "m" } }
+Index: gcc/testsuite/gfortran.dg/vect/vect.exp
+===================================================================
+--- gcc/testsuite/gfortran.dg/vect/vect.exp (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gfortran.dg/vect/vect.exp (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,4 +1,4 @@
+-# Copyright (C) 1997, 2004, 2007, 2008 Free Software Foundation, Inc.
++# Copyright (C) 1997, 2004, 2007, 2008, 2010 Free Software Foundation, Inc.
+
+ # This program is free software; you can redistribute it and/or modify
+ # it under the terms of the GNU General Public License as published by
+@@ -68,6 +68,9 @@
+ } elseif { [istarget "spu-*-*"] } {
+ set dg-do-what-default run
+ } elseif { [istarget "i?86-*-*"] || [istarget "x86_64-*-*"] } {
++ if { ![check_effective_target_sse2] } then {
++ return
++ }
+ lappend DEFAULT_VECTCFLAGS "-msse2"
+ if [check_sse2_hw_available] {
+ set dg-do-what-default run
+Index: gcc/testsuite/gfortran.dg/vect/fast-math-mgrid-resid.f
+===================================================================
+--- gcc/testsuite/gfortran.dg/vect/fast-math-mgrid-resid.f (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gfortran.dg/vect/fast-math-mgrid-resid.f (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,6 @@
+ ! { dg-do compile { target i?86-*-* x86_64-*-* } }
+ ! { dg-require-effective-target vect_double }
++! { dg-require-effective-target sse2 }
+ ! { dg-options "-O3 -ffast-math -msse2 -fpredictive-commoning -ftree-vectorize -fdump-tree-optimized" }
+
+
Index: gcc/testsuite/gfortran.dg/bounds_check_fail_3.f90
===================================================================
---- gcc/testsuite/gfortran.dg/bounds_check_fail_3.f90 (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ gcc/testsuite/gfortran.dg/bounds_check_fail_3.f90 (.../branches/gcc-4_5-branch) (wersja 159429)
+--- gcc/testsuite/gfortran.dg/bounds_check_fail_3.f90 (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/testsuite/gfortran.dg/bounds_check_fail_3.f90 (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -9,4 +9,4 @@
if (any(x /= (/ 2, 2, 3, 4, 5, 6, 6, 8, 9, 10 /))) call abort()
x(8:1:m) = x(5:2:n)
Index: gcc/testsuite/c-c++-common/asmgoto-4.c
===================================================================
--- gcc/testsuite/c-c++-common/asmgoto-4.c (.../tags/gcc_4_5_0_release) (wersja 0)
-+++ gcc/testsuite/c-c++-common/asmgoto-4.c (.../branches/gcc-4_5-branch) (wersja 159429)
++++ gcc/testsuite/c-c++-common/asmgoto-4.c (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -0,0 +1,44 @@
+/* PR middle-end/44071 */
+/* { dg-do compile } */
Index: gcc/testsuite/c-c++-common/pr43942.c
===================================================================
--- gcc/testsuite/c-c++-common/pr43942.c (.../tags/gcc_4_5_0_release) (wersja 0)
-+++ gcc/testsuite/c-c++-common/pr43942.c (.../branches/gcc-4_5-branch) (wersja 159429)
++++ gcc/testsuite/c-c++-common/pr43942.c (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -0,0 +1,33 @@
+/* PR debug/43942 */
+/* { dg-do compile } */
+}
Index: gcc/cp/typeck.c
===================================================================
---- gcc/cp/typeck.c (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ gcc/cp/typeck.c (.../branches/gcc-4_5-branch) (wersja 159429)
+--- gcc/cp/typeck.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/cp/typeck.c (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -1142,6 +1142,7 @@
incompatible_dependent_types_p (tree t1, tree t2)
{
result_type = composite_pointer_type (type0, type1, op0, op1,
Index: gcc/cp/except.c
===================================================================
---- gcc/cp/except.c (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ gcc/cp/except.c (.../branches/gcc-4_5-branch) (wersja 159429)
+--- gcc/cp/except.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/cp/except.c (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -214,10 +214,10 @@
static int
dtor_nothrow (tree type)
if (CLASSTYPE_LAZY_DESTRUCTOR (type))
Index: gcc/cp/tree.c
===================================================================
---- gcc/cp/tree.c (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ gcc/cp/tree.c (.../branches/gcc-4_5-branch) (wersja 159429)
+--- gcc/cp/tree.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/cp/tree.c (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -2309,6 +2309,13 @@
&& same_type_p (TYPE_MAIN_VARIANT (TREE_TYPE (current_class_ref)),
current_class_type))
Index: gcc/cp/ChangeLog
===================================================================
---- gcc/cp/ChangeLog (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ gcc/cp/ChangeLog (.../branches/gcc-4_5-branch) (wersja 159429)
-@@ -1,3 +1,77 @@
+--- gcc/cp/ChangeLog (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/cp/ChangeLog (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,3 +1,94 @@
++2010-05-19 Jason Merrill <jason@redhat.com>
++
++ PR c++/44193
++ * pt.c (tsubst) [TYPENAME_TYPE]: Discard cv-quals on
++ function/reference type.
++
++ * call.c (struct z_candidate): Add explicit_targs field.
++ (add_template_candidate_real): Set it.
++ (build_over_call): Use it to control init-list warning.
++
++ PR c++/44157
++ * call.c (build_over_call): Limit init-list deduction warning to
++ cases where the argument is actually an init-list.
++
++ PR c++/44158
++ * call.c (build_over_call): Don't do bitwise copy for move ctor.
++
+2010-05-14 Jason Merrill <jason@redhat.com>
+
+ PR c++/44127
* GCC 4.5.0 released.
Index: gcc/cp/cp-gimplify.c
===================================================================
---- gcc/cp/cp-gimplify.c (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ gcc/cp/cp-gimplify.c (.../branches/gcc-4_5-branch) (wersja 159429)
+--- gcc/cp/cp-gimplify.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/cp/cp-gimplify.c (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -480,11 +480,16 @@
tree stmt = *expr_p;
tree temp = voidify_wrapper_expr (stmt, NULL);
break;
Index: gcc/cp/cxx-pretty-print.c
===================================================================
---- gcc/cp/cxx-pretty-print.c (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ gcc/cp/cxx-pretty-print.c (.../branches/gcc-4_5-branch) (wersja 159429)
+--- gcc/cp/cxx-pretty-print.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/cp/cxx-pretty-print.c (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -1275,6 +1275,17 @@
pp_cxx_right_paren (pp);
break;
pp_c_specifier_qualifier_list (pp_c_base (pp), t);
Index: gcc/cp/pt.c
===================================================================
---- gcc/cp/pt.c (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ gcc/cp/pt.c (.../branches/gcc-4_5-branch) (wersja 159429)
+--- gcc/cp/pt.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/cp/pt.c (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -1563,6 +1563,12 @@
val = iterative_hash_template_arg (TREE_TYPE (arg), val);
return iterative_hash_template_arg (TYPE_DOMAIN (arg), val);
}
if (type == error_mark_node)
-@@ -15923,12 +15931,13 @@
+@@ -10460,6 +10468,7 @@
+ in_decl, /*entering_scope=*/1);
+ tree f = tsubst_copy (TYPENAME_TYPE_FULLNAME (t), args,
+ complain, in_decl);
++ int quals;
+
+ if (ctx == error_mark_node || f == error_mark_node)
+ return error_mark_node;
+@@ -10510,8 +10519,15 @@
+ t, f);
+ }
+
+- return cp_build_qualified_type_real
+- (f, cp_type_quals (f) | cp_type_quals (t), complain);
++ /* cv-quals from the template are discarded when
++ substituting in a function or reference type. */
++ if (TREE_CODE (f) == FUNCTION_TYPE
++ || TREE_CODE (f) == METHOD_TYPE
++ || TREE_CODE (f) == REFERENCE_TYPE)
++ quals = cp_type_quals (f);
++ else
++ quals = cp_type_quals (f) | cp_type_quals (t);
++ return cp_build_qualified_type_real (f, quals, complain);
+ }
+
+ case UNBOUND_CLASS_TEMPLATE:
+@@ -15923,12 +15939,13 @@
tree parms = TREE_VALUE (t);
partial_spec_args = CLASSTYPE_TI_ARGS (TREE_TYPE (t));
/* Discard the outer levels of args, and then substitute in the
template args from the enclosing class. */
partial_spec_args = INNERMOST_TEMPLATE_ARGS (partial_spec_args);
-@@ -15945,7 +15954,6 @@
+@@ -15945,7 +15962,6 @@
TREE_VEC_ELT (parms, i) =
tsubst (TREE_VEC_ELT (parms, i), outer_args, tf_none, NULL_TREE);
}
partial_spec_args =
-@@ -15956,6 +15964,8 @@
+@@ -15956,6 +15972,8 @@
/*require_all_args=*/true,
/*use_default_args=*/true);
Index: gcc/cp/semantics.c
===================================================================
---- gcc/cp/semantics.c (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ gcc/cp/semantics.c (.../branches/gcc-4_5-branch) (wersja 159429)
+--- gcc/cp/semantics.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/cp/semantics.c (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -3449,7 +3449,9 @@
this function as needed so that finish_file will make sure to
output it later. Similarly, all dllexport'd functions must
finish_compound_stmt (compound_stmt);
Index: gcc/cp/parser.c
===================================================================
---- gcc/cp/parser.c (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ gcc/cp/parser.c (.../branches/gcc-4_5-branch) (wersja 159429)
+--- gcc/cp/parser.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/cp/parser.c (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -7081,6 +7081,10 @@
LAMBDA_EXPR_LOCATION (lambda_expr)
= cp_lexer_peek_token (parser->lexer)->location;
push_deferring_access_checks (dk_no_deferred);
Index: gcc/cp/call.c
===================================================================
---- gcc/cp/call.c (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ gcc/cp/call.c (.../branches/gcc-4_5-branch) (wersja 159429)
-@@ -5774,20 +5774,8 @@
+--- gcc/cp/call.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/cp/call.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -447,6 +447,7 @@
+ indicated by the CONVERSION_PATH. */
+ tree conversion_path;
+ tree template_decl;
++ tree explicit_targs;
+ candidate_warning *warnings;
+ z_candidate *next;
+ };
+@@ -2586,6 +2587,7 @@
+ cand->template_decl = build_template_info (tmpl, targs);
+ else
+ cand->template_decl = DECL_TEMPLATE_INFO (fn);
++ cand->explicit_targs = explicit_targs;
+
+ return cand;
+ }
+@@ -5638,6 +5640,7 @@
+ parm = TREE_CHAIN (parm), ++arg_index, ++i)
+ {
+ tree type = TREE_VALUE (parm);
++ tree arg = VEC_index (tree, args, arg_index);
+
+ conv = convs[i];
+
+@@ -5652,7 +5655,8 @@
+ if (cxx_dialect > cxx98
+ && flag_deduce_init_list
+ && cand->template_decl
+- && is_std_init_list (non_reference (type)))
++ && is_std_init_list (non_reference (type))
++ && BRACE_ENCLOSED_INITIALIZER_P (arg))
+ {
+ tree tmpl = TI_TEMPLATE (cand->template_decl);
+ tree realparm = chain_index (j, DECL_ARGUMENTS (cand->fn));
+@@ -5662,7 +5666,10 @@
+ pattype = PACK_EXPANSION_PATTERN (pattype);
+ pattype = non_reference (pattype);
+
+- if (!is_std_init_list (pattype))
++ if (TREE_CODE (pattype) == TEMPLATE_TYPE_PARM
++ && (cand->explicit_targs == NULL_TREE
++ || (TREE_VEC_LENGTH (cand->explicit_targs)
++ <= TEMPLATE_TYPE_IDX (pattype))))
+ {
+ pedwarn (input_location, 0, "deducing %qT as %qT",
+ non_reference (TREE_TYPE (patparm)),
+@@ -5673,9 +5680,7 @@
+ }
+ }
+
+- val = convert_like_with_context
+- (conv, VEC_index (tree, args, arg_index), fn, i - is_method,
+- complain);
++ val = convert_like_with_context (conv, arg, fn, i-is_method, complain);
+
+ val = convert_for_arg_passing (type, val);
+ if (val == error_mark_node)
+@@ -5747,7 +5752,8 @@
+ }
+ /* [class.copy]: the copy constructor is implicitly defined even if
+ the implementation elided its use. */
+- else if (TYPE_HAS_COMPLEX_INIT_REF (DECL_CONTEXT (fn)))
++ else if (TYPE_HAS_COMPLEX_INIT_REF (DECL_CONTEXT (fn))
++ || move_fn_p (fn))
+ {
+ mark_used (fn);
+ already_used = true;
+@@ -5765,7 +5771,8 @@
+ {
+ if (TREE_CODE (arg) == TARGET_EXPR)
+ return arg;
+- else if (TYPE_HAS_TRIVIAL_INIT_REF (DECL_CONTEXT (fn)))
++ else if (TYPE_HAS_TRIVIAL_INIT_REF (DECL_CONTEXT (fn))
++ && !move_fn_p (fn))
+ return build_target_expr_with_type (arg, DECL_CONTEXT (fn));
+ }
+ else if (TREE_CODE (arg) == TARGET_EXPR
+@@ -5774,20 +5781,8 @@
{
tree to = stabilize_reference (cp_build_indirect_ref (fa, RO_NULL,
complain));
}
Index: gcc/cp/cp-tree.h
===================================================================
---- gcc/cp/cp-tree.h (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ gcc/cp/cp-tree.h (.../branches/gcc-4_5-branch) (wersja 159429)
+--- gcc/cp/cp-tree.h (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/cp/cp-tree.h (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -5204,6 +5204,7 @@
extern tree add_default_capture (tree, tree, tree);
extern void register_capture_members (tree);
/* in tree.c */
Index: gcc/cp/name-lookup.c
===================================================================
---- gcc/cp/name-lookup.c (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ gcc/cp/name-lookup.c (.../branches/gcc-4_5-branch) (wersja 159429)
+--- gcc/cp/name-lookup.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/cp/name-lookup.c (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -3806,6 +3806,10 @@
if (cp_unevaluated_operand && TREE_CODE (val) == FIELD_DECL
&& DECL_NORMAL_CAPTURE_P (val))
Index: gcc/haifa-sched.c
===================================================================
---- gcc/haifa-sched.c (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ gcc/haifa-sched.c (.../branches/gcc-4_5-branch) (wersja 159429)
+--- gcc/haifa-sched.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/haifa-sched.c (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -1695,6 +1695,7 @@
sd_iterator_cond (&sd_it, &dep);)
{
expected to be released before backward deps. */
Index: gcc/tree-ssa-loop-ivopts.c
===================================================================
---- gcc/tree-ssa-loop-ivopts.c (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ gcc/tree-ssa-loop-ivopts.c (.../branches/gcc-4_5-branch) (wersja 159429)
+--- gcc/tree-ssa-loop-ivopts.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/tree-ssa-loop-ivopts.c (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -1537,17 +1537,19 @@
if (mode != BLKmode)
return false;
Index: gcc/lto-streamer-out.c
===================================================================
---- gcc/lto-streamer-out.c (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ gcc/lto-streamer-out.c (.../branches/gcc-4_5-branch) (wersja 159429)
+--- gcc/lto-streamer-out.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/lto-streamer-out.c (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -517,8 +517,8 @@
bp_pack_value (bp, TYPE_MODE (expr), 7);
bp_pack_value (bp, TYPE_STRING_FLAG (expr), 1);
lto_output_tree_or_ref (ob, TYPE_BINFO (expr), ref_p);
lto_output_tree_or_ref (ob, TYPE_CONTEXT (expr), ref_p);
lto_output_tree_or_ref (ob, TYPE_CANONICAL (expr), ref_p);
+@@ -1685,6 +1686,7 @@
+ lto_output_uleb128_stream (ob->main_stream, gimple_asm_ninputs (stmt));
+ lto_output_uleb128_stream (ob->main_stream, gimple_asm_noutputs (stmt));
+ lto_output_uleb128_stream (ob->main_stream, gimple_asm_nclobbers (stmt));
++ lto_output_uleb128_stream (ob->main_stream, gimple_asm_nlabels (stmt));
+ output_string (ob, ob->main_stream, gimple_asm_string (stmt));
+ /* Fallthru */
+
Index: gcc/config.in
===================================================================
---- gcc/config.in (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ gcc/config.in (.../branches/gcc-4_5-branch) (wersja 159429)
-@@ -1661,6 +1661,12 @@
+--- gcc/config.in (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/config.in (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -309,6 +309,18 @@
+ #endif
+
+
++/* Define if your assembler supports the .quad directive. */
++#ifndef USED_FOR_TARGET
++#undef HAVE_AS_IX86_QUAD
++#endif
++
++
++/* Define true if the assembler supports 'rep <insn>, lock <insn>'. */
++#ifndef USED_FOR_TARGET
++#undef HAVE_AS_IX86_REP_LOCK_PREFIX
++#endif
++
++
+ /* Define if your assembler supports the sahf mnemonic. */
+ #ifndef USED_FOR_TARGET
+ #undef HAVE_AS_IX86_SAHF
+@@ -1661,6 +1673,12 @@
#endif
# undef _ALL_SOURCE
Index: gcc/dwarf2out.c
===================================================================
---- gcc/dwarf2out.c (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ gcc/dwarf2out.c (.../branches/gcc-4_5-branch) (wersja 159429)
+--- gcc/dwarf2out.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/dwarf2out.c (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -1040,7 +1040,7 @@
cfi = new_cfi ();
{
/* Construct a "DW_CFA_def_cfa_register <register>" instruction,
indicating the CFA register has changed to <register> but the
+Index: gcc/opts.c
+===================================================================
+--- gcc/opts.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/opts.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -616,24 +616,30 @@
+ {
+ if (lang_hooks.handle_option (opt_index, arg, value) == 0)
+ result = 0;
++#ifdef ENABLE_LTO
+ else
+ lto_register_user_option (opt_index, arg, value, lang_mask);
++#endif
+ }
+
+ if (result && (option->flags & CL_COMMON))
+ {
+ if (common_handle_option (opt_index, arg, value, lang_mask) == 0)
+ result = 0;
++#ifdef ENABLE_LTO
+ else
+ lto_register_user_option (opt_index, arg, value, CL_COMMON);
++#endif
+ }
+
+ if (result && (option->flags & CL_TARGET))
+ {
+ if (!targetm.handle_option (opt_index, arg, value))
+ result = 0;
++#ifdef ENABLE_LTO
+ else
+ lto_register_user_option (opt_index, arg, value, CL_TARGET);
++#endif
+ }
+
+ done:
+@@ -961,8 +967,10 @@
+ flag_unwind_tables = targetm.unwind_tables_default;
+ }
+
++#ifdef ENABLE_LTO
+ /* Clear any options currently held for LTO. */
+ lto_clear_user_options ();
++#endif
+
+ #ifdef OPTIMIZATION_OPTIONS
+ /* Allow default optimizations to be specified on a per-machine basis. */
Index: gcc/unwind-dw2.c
===================================================================
---- gcc/unwind-dw2.c (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ gcc/unwind-dw2.c (.../branches/gcc-4_5-branch) (wersja 159429)
+--- gcc/unwind-dw2.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/unwind-dw2.c (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -1473,7 +1473,8 @@
context->ra = __builtin_extract_return_addr (outer_ra);
}
for a debugger to intercept exceptions. CFA is the CFA of the
Index: gcc/ada/ChangeLog
===================================================================
---- gcc/ada/ChangeLog (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ gcc/ada/ChangeLog (.../branches/gcc-4_5-branch) (wersja 159429)
+--- gcc/ada/ChangeLog (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/ada/ChangeLog (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -1,3 +1,8 @@
+2010-04-25 Eric Botcazou <ebotcazou@adacore.com>
+
* GCC 4.5.0 released.
Index: gcc/ada/gcc-interface/trans.c
===================================================================
---- gcc/ada/gcc-interface/trans.c (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ gcc/ada/gcc-interface/trans.c (.../branches/gcc-4_5-branch) (wersja 159429)
+--- gcc/ada/gcc-interface/trans.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/ada/gcc-interface/trans.c (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -4563,10 +4563,12 @@
gnu_result
= build_binary_op (MODIFY_EXPR, NULL_TREE, gnu_lhs, gnu_rhs);
tree to, from, size, to_ptr, from_ptr, t;
Index: gcc/lto-streamer-in.c
===================================================================
---- gcc/lto-streamer-in.c (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ gcc/lto-streamer-in.c (.../branches/gcc-4_5-branch) (wersja 159429)
-@@ -1768,8 +1768,8 @@
+--- gcc/lto-streamer-in.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/lto-streamer-in.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1047,6 +1047,7 @@
+ stmt->gimple_asm.ni = lto_input_uleb128 (ib);
+ stmt->gimple_asm.no = lto_input_uleb128 (ib);
+ stmt->gimple_asm.nc = lto_input_uleb128 (ib);
++ stmt->gimple_asm.nl = lto_input_uleb128 (ib);
+ str = input_string_cst (data_in, ib);
+ stmt->gimple_asm.string = TREE_STRING_POINTER (str);
+ }
+@@ -1768,8 +1769,8 @@
SET_TYPE_MODE (expr, mode);
TYPE_STRING_FLAG (expr) = (unsigned) bp_unpack_value (bp, 1);
TYPE_NO_FORCE_BLK (expr) = (unsigned) bp_unpack_value (bp, 1);
TYPE_TRANSPARENT_AGGR (expr) = (unsigned) bp_unpack_value (bp, 1);
TYPE_PACKED (expr) = (unsigned) bp_unpack_value (bp, 1);
TYPE_RESTRICT (expr) = (unsigned) bp_unpack_value (bp, 1);
-@@ -2161,9 +2161,10 @@
+@@ -2161,9 +2162,10 @@
TYPE_VALUES (expr) = lto_input_tree (ib, data_in);
else if (TREE_CODE (expr) == ARRAY_TYPE)
TYPE_DOMAIN (expr) = lto_input_tree (ib, data_in);
TYPE_DEBUG_REPRESENTATION_TYPE (expr) = lto_input_tree (ib, data_in);
Index: gcc/fortran/openmp.c
===================================================================
---- gcc/fortran/openmp.c (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ gcc/fortran/openmp.c (.../branches/gcc-4_5-branch) (wersja 159429)
+--- gcc/fortran/openmp.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/fortran/openmp.c (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -1,5 +1,5 @@
/* OpenMP directive matching and resolving.
- Copyright (C) 2005, 2006, 2007, 2008
Index: gcc/fortran/interface.c
===================================================================
---- gcc/fortran/interface.c (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ gcc/fortran/interface.c (.../branches/gcc-4_5-branch) (wersja 159429)
+--- gcc/fortran/interface.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/fortran/interface.c (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -1582,8 +1582,8 @@
|| sym->as->lower[i]->expr_type != EXPR_CONSTANT)
return 0;
return strlen*elements;
Index: gcc/fortran/intrinsic.c
===================================================================
---- gcc/fortran/intrinsic.c (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ gcc/fortran/intrinsic.c (.../branches/gcc-4_5-branch) (wersja 159429)
+--- gcc/fortran/intrinsic.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/fortran/intrinsic.c (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -956,17 +956,14 @@
/* See if this intrinsic is allowed in the current standard. */
if (gfc_check_intrinsic_standard (isym, &symstd, false, loc) == FAILURE)
}
Index: gcc/fortran/trans-array.c
===================================================================
---- gcc/fortran/trans-array.c (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ gcc/fortran/trans-array.c (.../branches/gcc-4_5-branch) (wersja 159429)
+--- gcc/fortran/trans-array.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/fortran/trans-array.c (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -2316,10 +2316,6 @@
&& se->loop->ss->loop_chain->expr->symtree)
name = se->loop->ss->loop_chain->expr->symtree->name;
}
Index: gcc/fortran/gfortran.texi
===================================================================
---- gcc/fortran/gfortran.texi (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ gcc/fortran/gfortran.texi (.../branches/gcc-4_5-branch) (wersja 159429)
+--- gcc/fortran/gfortran.texi (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/fortran/gfortran.texi (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -181,7 +181,7 @@
Part II: Language Reference
@c ---------------------------------------------------------------------
Index: gcc/fortran/trans-openmp.c
===================================================================
---- gcc/fortran/trans-openmp.c (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ gcc/fortran/trans-openmp.c (.../branches/gcc-4_5-branch) (wersja 159429)
+--- gcc/fortran/trans-openmp.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/fortran/trans-openmp.c (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -57,7 +57,8 @@
if (GFC_POINTER_TYPE_P (type))
return false;
contained in them. If those are privatized, they will not be
Index: gcc/fortran/ChangeLog
===================================================================
---- gcc/fortran/ChangeLog (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ gcc/fortran/ChangeLog (.../branches/gcc-4_5-branch) (wersja 159429)
-@@ -1,3 +1,95 @@
+--- gcc/fortran/ChangeLog (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/fortran/ChangeLog (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,3 +1,102 @@
++2010-05-19 Tobias Burnus <burnus@net-b.de>
++
++ PR fortran/43591
++ * expr.c (gfc_is_constant_expr, gfc_traverse_expr): Handle
++ proc-pointers and type-bound procedures.
++ (gfc_specification_expr): Check proc-pointers for pureness.
++
+2010-05-14 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/44135
+
+ PR fortran/40728
+ * intrinc.c (gfc_is_intrinsic): Do not prematurely mark symbol
-+ as external.
++ as external.
+
+2010-05-06 Tobias Burnus <burnus@net-b.de>
+
2010-04-14 Release Manager
* GCC 4.5.0 released.
+Index: gcc/fortran/expr.c
+===================================================================
+--- gcc/fortran/expr.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/fortran/expr.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -782,6 +782,8 @@
+ break;
+
+ case EXPR_FUNCTION:
++ case EXPR_PPC:
++ case EXPR_COMPCALL:
+ /* Specification functions are constant. */
+ if (check_specification_function (e) == MATCH_YES)
+ {
+@@ -2808,6 +2810,7 @@
+ gfc_try
+ gfc_specification_expr (gfc_expr *e)
+ {
++ gfc_component *comp;
+
+ if (e == NULL)
+ return SUCCESS;
+@@ -2822,7 +2825,9 @@
+ if (e->expr_type == EXPR_FUNCTION
+ && !e->value.function.isym
+ && !e->value.function.esym
+- && !gfc_pure (e->symtree->n.sym))
++ && !gfc_pure (e->symtree->n.sym)
++ && (!gfc_is_proc_ptr_comp (e, &comp)
++ || !comp-> attr.pure))
+ {
+ gfc_error ("Function '%s' at %L must be PURE",
+ e->symtree->n.sym->name, &e->where);
+@@ -3560,6 +3565,8 @@
+
+ switch (expr->expr_type)
+ {
++ case EXPR_PPC:
++ case EXPR_COMPCALL:
+ case EXPR_FUNCTION:
+ for (args = expr->value.function.actual; args; args = args->next)
+ {
Index: gcc/fortran/trans.c
===================================================================
---- gcc/fortran/trans.c (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ gcc/fortran/trans.c (.../branches/gcc-4_5-branch) (wersja 159429)
+--- gcc/fortran/trans.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/fortran/trans.c (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -47,7 +47,6 @@
static gfc_file *gfc_current_backend_file;
Index: gcc/fortran/trans-types.c
===================================================================
---- gcc/fortran/trans-types.c (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ gcc/fortran/trans-types.c (.../branches/gcc-4_5-branch) (wersja 159429)
+--- gcc/fortran/trans-types.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/fortran/trans-types.c (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -1793,6 +1793,9 @@
restricted);
byref = 0;
Index: gcc/fortran/trans.h
===================================================================
---- gcc/fortran/trans.h (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ gcc/fortran/trans.h (.../branches/gcc-4_5-branch) (wersja 159429)
+--- gcc/fortran/trans.h (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/fortran/trans.h (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -771,7 +771,6 @@
Index: gcc/fortran/resolve.c
===================================================================
---- gcc/fortran/resolve.c (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ gcc/fortran/resolve.c (.../branches/gcc-4_5-branch) (wersja 159429)
+--- gcc/fortran/resolve.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/fortran/resolve.c (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -10302,7 +10302,9 @@
{
gfc_symtree* overriding;
else if (sym->ts.interface->name[0] != '\0')
Index: gcc/fortran/f95-lang.c
===================================================================
---- gcc/fortran/f95-lang.c (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ gcc/fortran/f95-lang.c (.../branches/gcc-4_5-branch) (wersja 159429)
+--- gcc/fortran/f95-lang.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/fortran/f95-lang.c (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -1,5 +1,5 @@
/* gfortran backend interface
- Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
implicit_built_in_decls[code] = decl;
Index: gcc/fortran/trans-decl.c
===================================================================
---- gcc/fortran/trans-decl.c (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ gcc/fortran/trans-decl.c (.../branches/gcc-4_5-branch) (wersja 159429)
+--- gcc/fortran/trans-decl.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/fortran/trans-decl.c (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -3447,7 +3447,8 @@
tree length;
rest_of_decl_compilation (length, 1, 0);
Index: gcc/fortran/parse.c
===================================================================
---- gcc/fortran/parse.c (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ gcc/fortran/parse.c (.../branches/gcc-4_5-branch) (wersja 159429)
+--- gcc/fortran/parse.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/fortran/parse.c (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -2235,9 +2235,9 @@
{
if (current_state == COMP_NONE)
current_state = new_state;
Index: gcc/configure.ac
===================================================================
---- gcc/configure.ac (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ gcc/configure.ac (.../branches/gcc-4_5-branch) (wersja 159429)
+--- gcc/configure.ac (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/configure.ac (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -1552,6 +1552,14 @@
[ --enable-secureplt enable -msecure-plt by default for PowerPC],
[], [])
AC_ARG_ENABLE(cld,
[ --enable-cld enable -mcld by default for 32bit x86], [],
[enable_cld=no])
-@@ -2129,6 +2137,27 @@
+@@ -2117,7 +2125,35 @@
+ gcc_GAS_CHECK_FEATURE([.hidden], gcc_cv_as_hidden,
+ [elf,2,13,0],,
+ [ .hidden foobar
+-foobar:])
++foobar:],[
++# Solaris 9/x86 as incorrectly emits an alias for a hidden symbol with
++# STV_HIDDEN, so disable .hidden support if so.
++case "${target}" in
++ i?86-*-solaris2*)
++ if test x$gcc_cv_as != x && test x$gcc_cv_objdump != x; then
++ cat > conftest.s <<EOF
++.globl hidden
++ .hidden hidden
++hidden:
++.globl default
++ .set default,hidden
++EOF
++ if $gcc_cv_as -o conftest.o conftest.s > /dev/null 2>&1 \
++ && $gcc_cv_objdump -t conftest.o 2>/dev/null | \
++ grep '\.hidden default' > /dev/null; then
++ gcc_cv_as_hidden=no
++ else
++ gcc_cv_as_hidden=yes
++ fi
++ else
++ # Assume bug is present if objdump is missing.
++ gcc_cv_as_hidden=no
++ fi
++ ;;
++ *)
++ gcc_cv_as_hidden=yes
++ ;;
++esac])
+
+ changequote(,)dnl
+ if test $in_tree_ld != yes ; then
+@@ -2129,6 +2165,27 @@
ld_vers_major=`expr "$ld_vers" : '\([0-9]*\)'`
ld_vers_minor=`expr "$ld_vers" : '[0-9]*\.\([0-9]*\)'`
ld_vers_patch=`expr "$ld_vers" : '[0-9]*\.[0-9]*\.\([0-9]*\)'`
fi
fi
changequote([,])dnl
-@@ -2167,6 +2196,8 @@
+@@ -2167,6 +2224,8 @@
gcc_cv_ld_hidden=yes
;;
*-*-solaris2.9* | *-*-solaris2.1[0-9]*)
gcc_cv_ld_hidden=yes
;;
*)
-@@ -2447,7 +2478,7 @@
+@@ -2447,7 +2506,7 @@
&& test $in_tree_ld_is_elf = yes; then
comdat_group=yes
fi
comdat_group=yes
if test 0"$ld_date" -lt 20050308; then
if test -n "$ld_date"; then
-@@ -2460,9 +2491,32 @@
+@@ -2460,9 +2519,32 @@
fi
fi
else
if test $comdat_group = no; then
gcc_cv_as_comdat_group=no
gcc_cv_as_comdat_group_percent=no
-@@ -3741,7 +3795,8 @@
+@@ -3154,6 +3236,12 @@
+ [AC_DEFINE(HAVE_AS_IX86_FFREEP, 1,
+ [Define if your assembler supports the ffreep mnemonic.])])
+
++ gcc_GAS_CHECK_FEATURE([.quad directive],
++ gcc_cv_as_ix86_quad,,,
++ [.quad 0],,
++ [AC_DEFINE(HAVE_AS_IX86_QUAD, 1,
++ [Define if your assembler supports the .quad directive.])])
++
+ gcc_GAS_CHECK_FEATURE([sahf mnemonic],
+ gcc_cv_as_ix86_sahf,,,
+ [sahf],,
+@@ -3178,7 +3266,7 @@
+ [AC_DEFINE(HAVE_AS_IX86_DIFF_SECT_DELTA, 1,
+ [Define if your assembler supports the subtraction of symbols in different sections.])])
+
+- # This one is used unconditionally by i386.[ch]; it is to be defined
++ # These two are used unconditionally by i386.[ch]; it is to be defined
+ # to 1 if the feature is present, 0 otherwise.
+ gcc_GAS_CHECK_FEATURE([GOTOFF in data],
+ gcc_cv_as_ix86_gotoff_in_data, [2,11,0],,
+@@ -3190,6 +3278,15 @@
+ AC_DEFINE_UNQUOTED(HAVE_AS_GOTOFF_IN_DATA,
+ [`if test $gcc_cv_as_ix86_gotoff_in_data = yes; then echo 1; else echo 0; fi`],
+ [Define true if the assembler supports '.long foo@GOTOFF'.])
++
++ gcc_GAS_CHECK_FEATURE([rep and lock prefix],
++ gcc_cv_as_ix86_rep_lock_prefix,,,
++ [rep movsl
++ lock orl $0, (%esp)])
++ AC_DEFINE_UNQUOTED(HAVE_AS_IX86_REP_LOCK_PREFIX,
++ [`if test $gcc_cv_as_ix86_rep_lock_prefix = yes; then echo 1; else echo 0; fi`],
++ [Define true if the assembler supports 'rep <insn>, lock <insn>'.])
++
+ ;;
+
+ ia64*-*-*)
+@@ -3741,7 +3838,8 @@
if $gcc_cv_ld -o conftest conftest.o --entry=_start --gc-sections 2>&1 \
| grep "gc-sections option ignored" > /dev/null; then
gcc_cv_ld_eh_gc_sections=no
gcc_cv_ld_eh_gc_sections=yes
# If no COMDAT groups, the compiler will emit .gnu.linkonce.t. sections.
if test x$gcc_cv_as_comdat_group != xyes; then
-@@ -3768,7 +3823,8 @@
+@@ -3768,7 +3866,8 @@
if $gcc_cv_ld -o conftest conftest.o --entry=_start --gc-sections 2>&1 \
| grep "gc-sections option ignored" > /dev/null; then
gcc_cv_ld_eh_gc_sections=no
gcc_cv_ld_eh_gc_sections=yes
fi
fi
-@@ -4390,10 +4446,13 @@
+@@ -4390,10 +4489,13 @@
AC_MSG_CHECKING([for -rdynamic])
${CC} ${CFLAGS} ${LDFLAGS} -rdynamic conftest.c -o conftest > /dev/null 2>&1
if $gcc_cv_objdump -T conftest | grep foobar > /dev/null; then
# Check -ldl
Index: gcc/BASE-VER
===================================================================
---- gcc/BASE-VER (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ gcc/BASE-VER (.../branches/gcc-4_5-branch) (wersja 159429)
+--- gcc/BASE-VER (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/BASE-VER (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -1 +1 @@
-4.5.0
+4.5.1
Index: gcc/alias.c
===================================================================
---- gcc/alias.c (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ gcc/alias.c (.../branches/gcc-4_5-branch) (wersja 159429)
+--- gcc/alias.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/alias.c (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -2340,8 +2340,18 @@
if (mem_mode == VOIDmode)
mem_mode = GET_MODE (mem);
{
Index: gcc/ira-build.c
===================================================================
---- gcc/ira-build.c (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ gcc/ira-build.c (.../branches/gcc-4_5-branch) (wersja 159429)
+--- gcc/ira-build.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/ira-build.c (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -1978,6 +1978,10 @@
merged_p = true;
ALLOCNO_LIVE_RANGES (a) = NULL;
}
Index: gcc/ipa.c
===================================================================
---- gcc/ipa.c (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ gcc/ipa.c (.../branches/gcc-4_5-branch) (wersja 159429)
+--- gcc/ipa.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/ipa.c (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -347,6 +347,21 @@
return false;
}
&& node->analyzed
Index: gcc/gimplify.c
===================================================================
---- gcc/gimplify.c (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ gcc/gimplify.c (.../branches/gcc-4_5-branch) (wersja 159429)
+--- gcc/gimplify.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/gimplify.c (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -75,9 +75,10 @@
enum omp_region_type
{
case TRUTH_ANDIF_EXPR:
Index: gcc/cfgexpand.c
===================================================================
---- gcc/cfgexpand.c (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ gcc/cfgexpand.c (.../branches/gcc-4_5-branch) (wersja 159429)
+--- gcc/cfgexpand.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/cfgexpand.c (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -2563,13 +2563,14 @@
if (bitpos < 0)
return NULL;
Index: gcc/tree-ssa-pre.c
===================================================================
---- gcc/tree-ssa-pre.c (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ gcc/tree-ssa-pre.c (.../branches/gcc-4_5-branch) (wersja 159429)
+--- gcc/tree-ssa-pre.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/tree-ssa-pre.c (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -2669,31 +2669,46 @@
{
case CALL_EXPR:
genop2, genop3);
Index: gcc/cfgcleanup.c
===================================================================
---- gcc/cfgcleanup.c (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ gcc/cfgcleanup.c (.../branches/gcc-4_5-branch) (wersja 159429)
-@@ -1887,6 +1887,25 @@
+--- gcc/cfgcleanup.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/cfgcleanup.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1887,6 +1887,41 @@
&& single_succ_edge (ENTRY_BLOCK_PTR)->dest != b))
{
c = b->prev_bb;
-+ if ((mode & CLEANUP_CFGLAYOUT)
-+ && EDGE_COUNT (b->preds) > 0
-+ && b->il.rtl->footer
-+ && BARRIER_P (b->il.rtl->footer))
++ if (EDGE_COUNT (b->preds) > 0)
+ {
+ edge e;
+ edge_iterator ei;
+
-+ FOR_EACH_EDGE (e, ei, b->preds)
-+ if (e->flags & EDGE_FALLTHRU)
-+ {
-+ if (e->src->il.rtl->footer == NULL)
-+ {
-+ e->src->il.rtl->footer = b->il.rtl->footer;
-+ b->il.rtl->footer = NULL;
-+ }
-+ break;
-+ }
++ if (current_ir_type () == IR_RTL_CFGLAYOUT)
++ {
++ if (b->il.rtl->footer
++ && BARRIER_P (b->il.rtl->footer))
++ FOR_EACH_EDGE (e, ei, b->preds)
++ if ((e->flags & EDGE_FALLTHRU)
++ && e->src->il.rtl->footer == NULL)
++ {
++ if (b->il.rtl->footer)
++ {
++ e->src->il.rtl->footer = b->il.rtl->footer;
++ b->il.rtl->footer = NULL;
++ }
++ else
++ {
++ start_sequence ();
++ e->src->il.rtl->footer = emit_barrier ();
++ end_sequence ();
++ }
++ }
++ }
++ else
++ {
++ rtx last = get_last_bb_insn (b);
++ if (last && BARRIER_P (last))
++ FOR_EACH_EDGE (e, ei, b->preds)
++ if ((e->flags & EDGE_FALLTHRU))
++ emit_barrier_after (BB_END (e->src));
++ }
+ }
delete_basic_block (b);
if (!(mode & CLEANUP_CFGLAYOUT))
changed = true;
Index: gcc/tree-sra.c
===================================================================
---- gcc/tree-sra.c (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ gcc/tree-sra.c (.../branches/gcc-4_5-branch) (wersja 159429)
+--- gcc/tree-sra.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/tree-sra.c (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -182,6 +182,10 @@
access tree. */
unsigned grp_read : 1;
Index: gcc/cfglayout.c
===================================================================
---- gcc/cfglayout.c (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ gcc/cfglayout.c (.../branches/gcc-4_5-branch) (wersja 159429)
+--- gcc/cfglayout.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/cfglayout.c (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -1,5 +1,5 @@
/* Basic block reordering routines for the GNU compiler.
- Copyright (C) 2000, 2001, 2003, 2004, 2005, 2006, 2007, 2008, 2009
Free Software Foundation, Inc.
This file is part of GCC.
-@@ -861,8 +861,11 @@
+@@ -793,7 +793,8 @@
+ to prevent rtl_verify_flow_info from complaining. */
+ if (!e_fall)
+ {
+- gcc_assert (!onlyjump_p (bb_end_insn));
++ gcc_assert (!onlyjump_p (bb_end_insn)
++ || returnjump_p (bb_end_insn));
+ bb->il.rtl->footer = emit_barrier_after (bb_end_insn);
+ continue;
+ }
+@@ -861,8 +862,11 @@
}
else if (extract_asm_operands (PATTERN (bb_end_insn)) != NULL)
{
Index: gcc/po/es.po
===================================================================
---- gcc/po/es.po (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ gcc/po/es.po (.../branches/gcc-4_5-branch) (wersja 159429)
+--- gcc/po/es.po (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/po/es.po (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -1,4 +1,4 @@
-# Mensajes en español para gcc-4.5-b20100204
+# Mensajes en español para gcc-4.5.0
Index: gcc/po/fr.po
===================================================================
---- gcc/po/fr.po (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ gcc/po/fr.po (.../branches/gcc-4_5-branch) (wersja 159429)
+--- gcc/po/fr.po (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/po/fr.po (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -121,7 +121,7 @@
msgstr ""
"Project-Id-Version: GNU gcc 3.4.3\n"
Index: gcc/po/nl.po
===================================================================
---- gcc/po/nl.po (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ gcc/po/nl.po (.../branches/gcc-4_5-branch) (wersja 159429)
+--- gcc/po/nl.po (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/po/nl.po (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -7,7 +7,7 @@
msgstr ""
"Project-Id-Version: gcc 4.3.0\n"
Index: gcc/po/ChangeLog
===================================================================
---- gcc/po/ChangeLog (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ gcc/po/ChangeLog (.../branches/gcc-4_5-branch) (wersja 159429)
+--- gcc/po/ChangeLog (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/po/ChangeLog (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -1,3 +1,24 @@
+2010-05-01 Joseph Myers <joseph@codesourcery.com>
+
* GCC 4.5.0 released.
Index: gcc/po/da.po
===================================================================
---- gcc/po/da.po (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ gcc/po/da.po (.../branches/gcc-4_5-branch) (wersja 159429)
+--- gcc/po/da.po (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/po/da.po (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -128,7 +128,7 @@
msgstr ""
"Project-Id-Version: gcc 3.4-b20040206\n"
Index: gcc/po/sr.po
===================================================================
---- gcc/po/sr.po (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ gcc/po/sr.po (.../branches/gcc-4_5-branch) (wersja 159429)
+--- gcc/po/sr.po (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/po/sr.po (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -6,7 +6,7 @@
msgstr ""
"Project-Id-Version: gcc 4.2.1\n"
Index: gcc/po/tr.po
===================================================================
---- gcc/po/tr.po (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ gcc/po/tr.po (.../branches/gcc-4_5-branch) (wersja 159429)
+--- gcc/po/tr.po (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/po/tr.po (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -6,7 +6,7 @@
msgstr ""
"Project-Id-Version: gcc 4.1.1\n"
Index: gcc/po/be.po
===================================================================
---- gcc/po/be.po (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ gcc/po/be.po (.../branches/gcc-4_5-branch) (wersja 159429)
+--- gcc/po/be.po (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/po/be.po (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -6,7 +6,7 @@
msgstr ""
"Project-Id-Version: gcc 3.1\n"
msgstr "паўторнае абвяшчэнне меткі \"%s\""
Index: gcc/po/ru.po
===================================================================
---- gcc/po/ru.po (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ gcc/po/ru.po (.../branches/gcc-4_5-branch) (wersja 159429)
+--- gcc/po/ru.po (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/po/ru.po (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -9,7 +9,7 @@
msgstr ""
"Project-Id-Version: gcc 4.3.0\n"
#~ msgstr "присваивание элементу %qD, доступному только на чтение"
Index: gcc/po/sv.po
===================================================================
---- gcc/po/sv.po (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ gcc/po/sv.po (.../branches/gcc-4_5-branch) (wersja 159429)
+--- gcc/po/sv.po (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/po/sv.po (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -8,71 +8,72 @@
#
msgid ""
+msgstr "ogiltig elementtyp för attributet %qs"
Index: gcc/po/de.po
===================================================================
---- gcc/po/de.po (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ gcc/po/de.po (.../branches/gcc-4_5-branch) (wersja 159429)
+--- gcc/po/de.po (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/po/de.po (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -8,7 +8,7 @@
msgstr ""
"Project-Id-Version: gcc 4.3.0\n"
Index: gcc/po/ja.po
===================================================================
---- gcc/po/ja.po (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ gcc/po/ja.po (.../branches/gcc-4_5-branch) (wersja 159429)
+--- gcc/po/ja.po (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/po/ja.po (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -8,7 +8,7 @@
msgstr ""
"Project-Id-Version: gcc 3.0\n"
Index: gcc/po/zh_TW.po
===================================================================
---- gcc/po/zh_TW.po (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ gcc/po/zh_TW.po (.../branches/gcc-4_5-branch) (wersja 159429)
+--- gcc/po/zh_TW.po (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/po/zh_TW.po (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -8,7 +8,7 @@
msgstr ""
"Project-Id-Version: gcc 4.1.0\n"
Index: gcc/po/id.po
===================================================================
---- gcc/po/id.po (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ gcc/po/id.po (.../branches/gcc-4_5-branch) (wersja 159429)
+--- gcc/po/id.po (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/po/id.po (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -7,7 +7,7 @@
msgstr ""
"Project-Id-Version: gcc 4.4.1\n"
Index: gcc/po/fi.po
===================================================================
---- gcc/po/fi.po (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ gcc/po/fi.po (.../branches/gcc-4_5-branch) (wersja 159429)
+--- gcc/po/fi.po (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/po/fi.po (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -26,7 +26,7 @@
msgstr ""
"Project-Id-Version: gcc 4.5-b20091203\n"
#~ msgstr "puuttuva %<(%> ilmaisun %<#pragma pack%> jälkeen - jätetään huomiotta"
Index: gcc/po/el.po
===================================================================
---- gcc/po/el.po (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ gcc/po/el.po (.../branches/gcc-4_5-branch) (wersja 159429)
+--- gcc/po/el.po (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/po/el.po (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -6,7 +6,7 @@
msgstr ""
"Project-Id-Version: gcc 4.0-b20041128\n"
Index: gcc/po/zh_CN.po
===================================================================
---- gcc/po/zh_CN.po (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ gcc/po/zh_CN.po (.../branches/gcc-4_5-branch) (wersja 159429)
+--- gcc/po/zh_CN.po (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/po/zh_CN.po (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -5,10 +5,10 @@
#
msgid ""
Index: gcc/c-omp.c
===================================================================
---- gcc/c-omp.c (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ gcc/c-omp.c (.../branches/gcc-4_5-branch) (wersja 159429)
+--- gcc/c-omp.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/c-omp.c (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -1,7 +1,7 @@
/* This file contains routines to construct GNU OpenMP constructs,
called from parsing in the C and C++ front ends.
}
Index: gcc/tree-nested.c
===================================================================
---- gcc/tree-nested.c (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ gcc/tree-nested.c (.../branches/gcc-4_5-branch) (wersja 159429)
+--- gcc/tree-nested.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/tree-nested.c (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -1,5 +1,5 @@
/* Nested function decomposition for GIMPLE.
- Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009
Index: gcc/tree-inline.c
===================================================================
---- gcc/tree-inline.c (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ gcc/tree-inline.c (.../branches/gcc-4_5-branch) (wersja 159429)
+--- gcc/tree-inline.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/tree-inline.c (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -651,6 +651,7 @@
copy_bind_expr (tree *tp, int *walk_subtrees, copy_body_data *id)
{
}
+@@ -5066,7 +5079,7 @@
+ return false;
+ }
+ #endif
+- tree caller, callee;
++ tree caller, callee, lhs;
+
+ caller = e->caller->decl;
+ callee = e->callee->decl;
+@@ -5092,8 +5105,16 @@
+ return false;
+ }
+
++ /* Do not inline calls where we cannot triviall work around mismatches
++ in argument or return types. */
+ if (e->call_stmt
+- && !gimple_check_call_args (e->call_stmt))
++ && ((DECL_RESULT (callee)
++ && !DECL_BY_REFERENCE (DECL_RESULT (callee))
++ && (lhs = gimple_call_lhs (e->call_stmt)) != NULL_TREE
++ && !useless_type_conversion_p (TREE_TYPE (DECL_RESULT (callee)),
++ TREE_TYPE (lhs))
++ && !fold_convertible_p (TREE_TYPE (DECL_RESULT (callee)), lhs))
++ || !gimple_check_call_args (e->call_stmt)))
+ {
+ e->inline_failed = CIF_MISMATCHED_ARGUMENTS;
+ gimple_call_set_cannot_inline (e->call_stmt, true);
Index: gcc/c-common.c
===================================================================
---- gcc/c-common.c (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ gcc/c-common.c (.../branches/gcc-4_5-branch) (wersja 159429)
+--- gcc/c-common.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/c-common.c (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -6665,10 +6665,12 @@
}
else if (is_type)
TYPE_ALIGN (*type) = (1U << i) * BITS_PER_UNIT;
Index: gcc/config.gcc
===================================================================
---- gcc/config.gcc (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ gcc/config.gcc (.../branches/gcc-4_5-branch) (wersja 159429)
-@@ -1246,6 +1246,9 @@
+--- gcc/config.gcc (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/config.gcc (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1238,7 +1238,19 @@
+ tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h svr4.h i386/sysv4.h sol2.h"
+ # Set default arch_32 to pentium4, tune_32 to generic like the other
+ # i386 targets, although config.guess defaults to i386-pc-solaris2*.
+- with_arch_32=${with_arch_32:-pentium4}
++ case ${target} in
++ *-*-solaris2.8*)
++ if test x$gas = xyes; then
++ with_arch_32=${with_arch_32:-pentium4}
++ else
++ # Solaris 8/x86 as cannot handle sse2.
++ with_arch_32=${with_arch_32:-pentiumpro}
++ fi
++ ;;
++ *)
++ with_arch_32=${with_arch_32:-pentium4}
++ ;;
++ esac
+ with_tune_32=${with_tune_32:-generic}
+ case ${target} in
+ *-*-solaris2.1[0-9]*)
+@@ -1246,6 +1258,9 @@
;;
esac
tm_file="${tm_file} i386/sol2.h"
if test x$gas = xyes; then
tm_file="${tm_file} i386/sol2-gas.h"
fi
-@@ -1704,7 +1707,7 @@
+@@ -1704,7 +1719,7 @@
esac
if test "x$stabs" = xyes
then
fi
if test "x$gnu_ld" = xyes
then
-@@ -2412,7 +2415,7 @@
+@@ -2412,7 +2427,7 @@
tm_file="${tm_file} sparc/sol2-gas.h sparc/sol2-gas-bi.h"
fi
if test x$gnu_ld = xyes; then
fi
tm_file="${tm_file} tm-dwarf2.h"
tmake_file="t-sol2 sparc/t-sol2 sparc/t-sol2-64 sparc/t-crtfm"
-@@ -3408,7 +3411,9 @@
+@@ -3408,7 +3423,9 @@
i[34567]86-*-darwin* | x86_64-*-darwin*)
tmake_file="${tmake_file} i386/t-fprules-softfp soft-fp/t-softfp"
;;
i[34567]86-*-solaris2*)
Index: gcc/tlink.c
===================================================================
---- gcc/tlink.c (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ gcc/tlink.c (.../branches/gcc-4_5-branch) (wersja 159429)
+--- gcc/tlink.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/tlink.c (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -32,6 +32,10 @@
#include "collect2.h"
#include "libiberty.h"
/* Defined in the automatically-generated underscore.c. */
Index: gcc/reginfo.c
===================================================================
---- gcc/reginfo.c (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ gcc/reginfo.c (.../branches/gcc-4_5-branch) (wersja 159429)
+--- gcc/reginfo.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/reginfo.c (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -666,6 +666,8 @@
reinit_regs (void)
{
ira_init ();
}
+Index: gcc/Makefile.in
+===================================================================
+--- gcc/Makefile.in (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/Makefile.in (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -2696,7 +2696,7 @@
+ coretypes.h $(TREE_H) $(TM_H) langhooks.h $(GGC_H) $(EXPR_H) $(RTL_H) \
+ output.h $(DIAGNOSTIC_H) $(TM_P_H) $(INSN_ATTR_H) intl.h $(TARGET_H) \
+ $(FLAGS_H) $(PARAMS_H) $(TREE_PASS_H) $(DBGCNT_H) debug.h varray.h \
+- $(PLUGIN_H) $(EXCEPT_H)
++ $(PLUGIN_H) $(EXCEPT_H) $(LTO_STREAMER_H)
+ opts-common.o : opts-common.c opts.h $(CONFIG_H) $(SYSTEM_H) \
+ coretypes.h intl.h
+ targhooks.o : targhooks.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TREE_H) \
Index: gcc/gimple.c
===================================================================
---- gcc/gimple.c (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ gcc/gimple.c (.../branches/gcc-4_5-branch) (wersja 159429)
+--- gcc/gimple.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/gimple.c (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -281,6 +281,7 @@
gimple_call_set_return_slot_opt (call, CALL_EXPR_RETURN_SLOT_OPT (t));
gimple_call_set_from_thunk (call, CALL_FROM_THUNK_P (t));
return flags;
}
+@@ -4559,7 +4563,8 @@
+ const char *
+ gimple_decl_printable_name (tree decl, int verbosity)
+ {
+- gcc_assert (decl && DECL_NAME (decl));
++ if (!DECL_NAME (decl))
++ return NULL;
+
+ if (DECL_ASSEMBLER_NAME_SET_P (decl))
+ {
+Index: gcc/tree-ssa-structalias.c
+===================================================================
+--- gcc/tree-ssa-structalias.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/tree-ssa-structalias.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -2803,7 +2803,11 @@
+ static bool
+ could_have_pointers (tree t)
+ {
+- return type_could_have_pointers (TREE_TYPE (t));
++ return (((TREE_CODE (t) == VAR_DECL
++ || TREE_CODE (t) == PARM_DECL
++ || TREE_CODE (t) == RESULT_DECL)
++ && (TREE_PUBLIC (t) || DECL_EXTERNAL (t) || TREE_ADDRESSABLE (t)))
++ || type_could_have_pointers (TREE_TYPE (t)));
+ }
+
+ /* Return the position, in bits, of FIELD_DECL from the beginning of its
+@@ -3889,7 +3893,7 @@
+ operations with pointer result, others are dealt with as escape
+ points if they have pointer operands. */
+ else if (is_gimple_assign (t)
+- && could_have_pointers (gimple_assign_lhs (t)))
++ && type_could_have_pointers (TREE_TYPE (gimple_assign_lhs (t))))
+ {
+ /* Otherwise, just a regular assignment statement. */
+ tree lhsop = gimple_assign_lhs (t);
+@@ -4204,7 +4208,7 @@
+
+ static int
+ push_fields_onto_fieldstack (tree type, VEC(fieldoff_s,heap) **fieldstack,
+- HOST_WIDE_INT offset)
++ HOST_WIDE_INT offset, bool must_have_pointers_p)
+ {
+ tree field;
+ int count = 0;
+@@ -4230,7 +4234,8 @@
+ || TREE_CODE (TREE_TYPE (field)) == UNION_TYPE)
+ push = true;
+ else if (!(pushed = push_fields_onto_fieldstack
+- (TREE_TYPE (field), fieldstack, offset + foff))
++ (TREE_TYPE (field), fieldstack, offset + foff,
++ must_have_pointers_p))
+ && (DECL_SIZE (field)
+ && !integer_zerop (DECL_SIZE (field))))
+ /* Empty structures may have actual size, like in C++. So
+@@ -4253,10 +4258,11 @@
+ /* If adjacent fields do not contain pointers merge them. */
+ if (pair
+ && !pair->may_have_pointers
+- && !could_have_pointers (field)
+ && !pair->has_unknown_size
+ && !has_unknown_size
+- && pair->offset + (HOST_WIDE_INT)pair->size == offset + foff)
++ && pair->offset + (HOST_WIDE_INT)pair->size == offset + foff
++ && !must_have_pointers_p
++ && !could_have_pointers (field))
+ {
+ pair = VEC_last (fieldoff_s, *fieldstack);
+ pair->size += TREE_INT_CST_LOW (DECL_SIZE (field));
+@@ -4270,7 +4276,8 @@
+ pair->size = TREE_INT_CST_LOW (DECL_SIZE (field));
+ else
+ pair->size = -1;
+- pair->may_have_pointers = could_have_pointers (field);
++ pair->may_have_pointers
++ = must_have_pointers_p || could_have_pointers (field);
+ pair->only_restrict_pointers
+ = (!has_unknown_size
+ && POINTER_TYPE_P (TREE_TYPE (field))
+@@ -4436,7 +4443,10 @@
+ VEC (fieldoff_s,heap) *fieldstack = NULL;
+
+ if (var_can_have_subvars (decl) && use_field_sensitive)
+- push_fields_onto_fieldstack (decl_type, &fieldstack, 0);
++ push_fields_onto_fieldstack (decl_type, &fieldstack, 0,
++ TREE_PUBLIC (decl)
++ || DECL_EXTERNAL (decl)
++ || TREE_ADDRESSABLE (decl));
+
+ /* If the variable doesn't have subvars, we may end up needing to
+ sort the field list and create fake variables for all the
Index: gcc/gimple.h
===================================================================
---- gcc/gimple.h (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ gcc/gimple.h (.../branches/gcc-4_5-branch) (wersja 159429)
+--- gcc/gimple.h (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/gimple.h (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -105,6 +105,7 @@
GF_CALL_RETURN_SLOT_OPT = 1 << 2,
GF_CALL_TAILCALL = 1 << 3,
/* Return true if S is a nothrow call. */
static inline bool
+Index: gcc/passes.c
+===================================================================
+--- gcc/passes.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/passes.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -742,6 +742,7 @@
+
+ /* Interprocedural optimization passes. */
+ p = &all_small_ipa_passes;
++ NEXT_PASS (pass_ipa_free_lang_data);
+ NEXT_PASS (pass_ipa_function_and_variable_visibility);
+ NEXT_PASS (pass_ipa_early_inline);
+ {
+@@ -750,7 +751,6 @@
+ NEXT_PASS (pass_inline_parameters);
+ NEXT_PASS (pass_rebuild_cgraph_edges);
+ }
+- NEXT_PASS (pass_ipa_free_lang_data);
+ NEXT_PASS (pass_early_local_passes);
+ {
+ struct opt_pass **p = &pass_early_local_passes.pass.sub;
Index: gcc/config/alpha/elf.h
===================================================================
---- gcc/config/alpha/elf.h (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ gcc/config/alpha/elf.h (.../branches/gcc-4_5-branch) (wersja 159429)
+--- gcc/config/alpha/elf.h (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/config/alpha/elf.h (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -272,20 +272,36 @@
/* Write the extra assembler code needed to declare an object properly. */
/* Output the size directive for a decl in rest_of_decl_compilation
Index: gcc/config/alpha/osf.h
===================================================================
---- gcc/config/alpha/osf.h (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ gcc/config/alpha/osf.h (.../branches/gcc-4_5-branch) (wersja 159429)
+--- gcc/config/alpha/osf.h (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/config/alpha/osf.h (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -213,6 +213,14 @@
? (((GLOBAL) ? DW_EH_PE_indirect : 0) | DW_EH_PE_pcrel | DW_EH_PE_sdata4) \
: DW_EH_PE_aligned)
#define ASM_OUTPUT_WEAK_ALIAS(FILE, NAME, VALUE) \
Index: gcc/config/s390/s390.c
===================================================================
---- gcc/config/s390/s390.c (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ gcc/config/s390/s390.c (.../branches/gcc-4_5-branch) (wersja 159429)
+--- gcc/config/s390/s390.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/config/s390/s390.c (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -1636,12 +1636,19 @@
target_flags |= MASK_LONG_DOUBLE_128;
#endif
/* Unless we can use the bras(l) insn, force the
Index: gcc/config/sparc/sol2-gld.h
===================================================================
---- gcc/config/sparc/sol2-gld.h (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ gcc/config/sparc/sol2-gld.h (.../branches/gcc-4_5-branch) (wersja 159429)
+--- gcc/config/sparc/sol2-gld.h (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/config/sparc/sol2-gld.h (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -1,27 +0,0 @@
-/* Definitions of target machine for GCC, for SPARC running Solaris 2
- using the GNU linker.
-#define SUPPORTS_INIT_PRIORITY 1
Index: gcc/config/i386/i386.h
===================================================================
---- gcc/config/i386/i386.h (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ gcc/config/i386/i386.h (.../branches/gcc-4_5-branch) (wersja 159429)
+--- gcc/config/i386/i386.h (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/config/i386/i386.h (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -2147,9 +2147,12 @@
/* Switch to init or fini section via SECTION_OP, emit a call to FUNC,
and switch back. For x86 we do this only to save a few bytes that
/* Print operand X (an rtx) in assembler syntax to file FILE.
Index: gcc/config/i386/cygming.h
===================================================================
---- gcc/config/i386/cygming.h (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ gcc/config/i386/cygming.h (.../branches/gcc-4_5-branch) (wersja 159429)
+--- gcc/config/i386/cygming.h (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/config/i386/cygming.h (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -39,6 +39,11 @@
#undef DEFAULT_ABI
#define DEFAULT_ABI (TARGET_64BIT ? MS_ABI : SYSV_ABI)
(TARGET_64BIT ? dbx64_register_map[n] \
Index: gcc/config/i386/i386.md
===================================================================
---- gcc/config/i386/i386.md (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ gcc/config/i386/i386.md (.../branches/gcc-4_5-branch) (wersja 159429)
+--- gcc/config/i386/i386.md (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/config/i386/i386.md (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -8010,7 +8010,7 @@
(clobber (reg:CC FLAGS_REG))]
""
#endif
}
[(set_attr "prefix_rep" "1")
+@@ -17753,7 +17753,7 @@
+ (mem:BLK (match_dup 4)))
+ (use (match_dup 5))]
+ "TARGET_64BIT"
+- "rep movsq"
++ "rep{%;} movsq"
+ [(set_attr "type" "str")
+ (set_attr "prefix_rep" "1")
+ (set_attr "memory" "both")
+@@ -17772,7 +17772,7 @@
+ (mem:BLK (match_dup 4)))
+ (use (match_dup 5))]
+ "!TARGET_64BIT"
+- "rep movs{l|d}"
++ "rep{%;} movs{l|d}"
+ [(set_attr "type" "str")
+ (set_attr "prefix_rep" "1")
+ (set_attr "memory" "both")
+@@ -17791,7 +17791,7 @@
+ (mem:BLK (match_dup 4)))
+ (use (match_dup 5))]
+ "TARGET_64BIT"
+- "rep movs{l|d}"
++ "rep{%;} movs{l|d}"
+ [(set_attr "type" "str")
+ (set_attr "prefix_rep" "1")
+ (set_attr "memory" "both")
+@@ -17808,7 +17808,7 @@
+ (mem:BLK (match_dup 4)))
+ (use (match_dup 5))]
+ "!TARGET_64BIT"
+- "rep movsb"
++ "rep{%;} movsb"
+ [(set_attr "type" "str")
+ (set_attr "prefix_rep" "1")
+ (set_attr "memory" "both")
+@@ -17825,7 +17825,7 @@
+ (mem:BLK (match_dup 4)))
+ (use (match_dup 5))]
+ "TARGET_64BIT"
+- "rep movsb"
++ "rep{%;} movsb"
+ [(set_attr "type" "str")
+ (set_attr "prefix_rep" "1")
+ (set_attr "memory" "both")
+@@ -18006,7 +18006,7 @@
+ (use (match_operand:DI 2 "register_operand" "a"))
+ (use (match_dup 4))]
+ "TARGET_64BIT"
+- "rep stosq"
++ "rep{%;} stosq"
+ [(set_attr "type" "str")
+ (set_attr "prefix_rep" "1")
+ (set_attr "memory" "store")
+@@ -18023,7 +18023,7 @@
+ (use (match_operand:SI 2 "register_operand" "a"))
+ (use (match_dup 4))]
+ "!TARGET_64BIT"
+- "rep stos{l|d}"
++ "rep{%;} stos{l|d}"
+ [(set_attr "type" "str")
+ (set_attr "prefix_rep" "1")
+ (set_attr "memory" "store")
+@@ -18040,7 +18040,7 @@
+ (use (match_operand:SI 2 "register_operand" "a"))
+ (use (match_dup 4))]
+ "TARGET_64BIT"
+- "rep stos{l|d}"
++ "rep{%;} stos{l|d}"
+ [(set_attr "type" "str")
+ (set_attr "prefix_rep" "1")
+ (set_attr "memory" "store")
+@@ -18056,7 +18056,7 @@
+ (use (match_operand:QI 2 "register_operand" "a"))
+ (use (match_dup 4))]
+ "!TARGET_64BIT"
+- "rep stosb"
++ "rep{%;} stosb"
+ [(set_attr "type" "str")
+ (set_attr "prefix_rep" "1")
+ (set_attr "memory" "store")
+@@ -18072,7 +18072,7 @@
+ (use (match_operand:QI 2 "register_operand" "a"))
+ (use (match_dup 4))]
+ "TARGET_64BIT"
+- "rep stosb"
++ "rep{%;} stosb"
+ [(set_attr "type" "str")
+ (set_attr "prefix_rep" "1")
+ (set_attr "memory" "store")
+@@ -18188,7 +18188,7 @@
+ (clobber (match_operand:SI 1 "register_operand" "=D"))
+ (clobber (match_operand:SI 2 "register_operand" "=c"))]
+ "!TARGET_64BIT"
+- "repz cmpsb"
++ "repz{%;} cmpsb"
+ [(set_attr "type" "str")
+ (set_attr "mode" "QI")
+ (set_attr "prefix_rep" "1")])
+@@ -18203,7 +18203,7 @@
+ (clobber (match_operand:DI 1 "register_operand" "=D"))
+ (clobber (match_operand:DI 2 "register_operand" "=c"))]
+ "TARGET_64BIT"
+- "repz cmpsb"
++ "repz{%;} cmpsb"
+ [(set_attr "type" "str")
+ (set_attr "mode" "QI")
+ (set_attr "prefix_rex" "0")
+@@ -18239,7 +18239,7 @@
+ (clobber (match_operand:SI 1 "register_operand" "=D"))
+ (clobber (match_operand:SI 2 "register_operand" "=c"))]
+ "!TARGET_64BIT"
+- "repz cmpsb"
++ "repz{%;} cmpsb"
+ [(set_attr "type" "str")
+ (set_attr "mode" "QI")
+ (set_attr "prefix_rep" "1")])
+@@ -18257,7 +18257,7 @@
+ (clobber (match_operand:DI 1 "register_operand" "=D"))
+ (clobber (match_operand:DI 2 "register_operand" "=c"))]
+ "TARGET_64BIT"
+- "repz cmpsb"
++ "repz{%;} cmpsb"
+ [(set_attr "type" "str")
+ (set_attr "mode" "QI")
+ (set_attr "prefix_rex" "0")
+@@ -18305,7 +18305,7 @@
+ (clobber (match_operand:SI 1 "register_operand" "=D"))
+ (clobber (reg:CC FLAGS_REG))]
+ "!TARGET_64BIT"
+- "repnz scasb"
++ "repnz{%;} scasb"
+ [(set_attr "type" "str")
+ (set_attr "mode" "QI")
+ (set_attr "prefix_rep" "1")])
+@@ -18319,7 +18319,7 @@
+ (clobber (match_operand:DI 1 "register_operand" "=D"))
+ (clobber (reg:CC FLAGS_REG))]
+ "TARGET_64BIT"
+- "repnz scasb"
++ "repnz{%;} scasb"
+ [(set_attr "type" "str")
+ (set_attr "mode" "QI")
+ (set_attr "prefix_rex" "0")
Index: gcc/config/i386/mingw-w64.h
===================================================================
---- gcc/config/i386/mingw-w64.h (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ gcc/config/i386/mingw-w64.h (.../branches/gcc-4_5-branch) (wersja 159429)
+--- gcc/config/i386/mingw-w64.h (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/config/i386/mingw-w64.h (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -39,6 +39,8 @@
#define ASM_SPEC "%{v:-v} %{n} %{T} %{Ym,*} %{Yd,*} \
%{Wa,*:%*} %{m32:--32} %{m64:--64}"
- %{shared|mdll: -e _DllMainCRTStartup@12 --enable-auto-image-base} \
+ %{shared|mdll: " SUB_LINK_ENTRY " --enable-auto-image-base} \
%(shared_libgcc_undefs)"
+Index: gcc/config/i386/sol2.h
+===================================================================
+--- gcc/config/i386/sol2.h (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/config/i386/sol2.h (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -72,7 +72,7 @@
+ #define LOCAL_LABEL_PREFIX "."
+
+ /* The 32-bit Solaris assembler does not support .quad. Do not use it. */
+-#ifndef TARGET_BI_ARCH
++#ifndef HAVE_AS_IX86_QUAD
+ #undef ASM_QUAD
+ #endif
+
+@@ -96,11 +96,6 @@
+ #undef TARGET_SUN_TLS
+ #define TARGET_SUN_TLS 1
+
+-/* Follow Sun requirements for TLS code sequences and use Sun assembler TLS
+- syntax. */
+-#undef TARGET_SUN_TLS
+-#define TARGET_SUN_TLS 1
+-
+ /* The Sun assembler uses .tcomm for TLS common sections. */
+ #define TLS_COMMON_ASM_OP ".tcomm"
+
Index: gcc/config/i386/sse.md
===================================================================
---- gcc/config/i386/sse.md (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ gcc/config/i386/sse.md (.../branches/gcc-4_5-branch) (wersja 159429)
+--- gcc/config/i386/sse.md (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/config/i386/sse.md (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -1483,6 +1483,20 @@
(set_attr "length_immediate" "1")
(set_attr "mode" "<MODE>")])
(vec_merge:SSEMODEF2P
Index: gcc/config/i386/mingw32.h
===================================================================
---- gcc/config/i386/mingw32.h (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ gcc/config/i386/mingw32.h (.../branches/gcc-4_5-branch) (wersja 159429)
+--- gcc/config/i386/mingw32.h (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/config/i386/mingw32.h (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -47,6 +47,22 @@
} \
while (0)
%(shared_libgcc_undefs)"
/* Include in the mingw32 libraries with libgcc */
+Index: gcc/config/i386/sync.md
+===================================================================
+--- gcc/config/i386/sync.md (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/config/i386/sync.md (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,5 @@
+ ;; GCC machine description for i386 synchronization instructions.
+-;; Copyright (C) 2005, 2006, 2007, 2008, 2009
++;; Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010
+ ;; Free Software Foundation, Inc.
+ ;;
+ ;; This file is part of GCC.
+@@ -47,7 +47,7 @@
+ (unspec:BLK [(match_dup 0)] UNSPEC_MFENCE))
+ (clobber (reg:CC FLAGS_REG))]
+ "!(TARGET_64BIT || TARGET_SSE2)"
+- "lock{%;| }or{l}\t{$0, (%%esp)|DWORD PTR [esp], 0}"
++ "lock{%;} or{l}\t{$0, (%%esp)|DWORD PTR [esp], 0}"
+ [(set_attr "memory" "unknown")])
+
+ ;; ??? It would be possible to use cmpxchg8b on pentium for DImode
+@@ -115,7 +115,7 @@
+ [(match_dup 1) (match_dup 2) (match_dup 3)] UNSPECV_CMPXCHG)
+ (match_dup 2)))]
+ "TARGET_CMPXCHG"
+- "lock{%;| }cmpxchg{<imodesuffix>}\t{%3, %1|%1, %3}")
++ "lock{%;} cmpxchg{<imodesuffix>}\t{%3, %1|%1, %3}")
+
+ (define_insn "sync_double_compare_and_swap<mode>"
+ [(set (match_operand:DCASMODE 0 "register_operand" "=A")
+@@ -134,7 +134,7 @@
+ UNSPECV_CMPXCHG)
+ (match_dup 2)))]
+ ""
+- "lock{%;| }cmpxchg<doublemodesuffix>b\t%1")
++ "lock{%;} cmpxchg<doublemodesuffix>b\t%1")
+
+ ;; Theoretically we'd like to use constraint "r" (any reg) for operand
+ ;; 3, but that includes ecx. If operand 3 and 4 are the same (like when
+@@ -162,7 +162,7 @@
+ UNSPECV_CMPXCHG)
+ (match_dup 2)))]
+ "!TARGET_64BIT && TARGET_CMPXCHG8B && flag_pic"
+- "xchg{l}\t%%ebx, %3\;lock{%;| }cmpxchg8b\t%1\;xchg{l}\t%%ebx, %3")
++ "xchg{l}\t%%ebx, %3\;lock{%;} cmpxchg8b\t%1\;xchg{l}\t%%ebx, %3")
+
+ (define_insn "sync_old_add<mode>"
+ [(set (match_operand:SWI 0 "register_operand" "=<r>")
+@@ -173,7 +173,7 @@
+ (match_operand:SWI 2 "register_operand" "0")))
+ (clobber (reg:CC FLAGS_REG))]
+ "TARGET_XADD"
+- "lock{%;| }xadd{<imodesuffix>}\t{%0, %1|%1, %0}")
++ "lock{%;} xadd{<imodesuffix>}\t{%0, %1|%1, %0}")
+
+ ;; Recall that xchg implicitly sets LOCK#, so adding it again wastes space.
+ (define_insn "sync_lock_test_and_set<mode>"
+@@ -197,12 +197,12 @@
+ if (TARGET_USE_INCDEC)
+ {
+ if (operands[1] == const1_rtx)
+- return "lock{%;| }inc{<imodesuffix>}\t%0";
++ return "lock{%;} inc{<imodesuffix>}\t%0";
+ if (operands[1] == constm1_rtx)
+- return "lock{%;| }dec{<imodesuffix>}\t%0";
++ return "lock{%;} dec{<imodesuffix>}\t%0";
+ }
+
+- return "lock{%;| }add{<imodesuffix>}\t{%1, %0|%0, %1}";
++ return "lock{%;} add{<imodesuffix>}\t{%1, %0|%0, %1}";
+ })
+
+ (define_insn "sync_sub<mode>"
+@@ -217,12 +217,12 @@
+ if (TARGET_USE_INCDEC)
+ {
+ if (operands[1] == const1_rtx)
+- return "lock{%;| }dec{<imodesuffix>}\t%0";
++ return "lock{%;} dec{<imodesuffix>}\t%0";
+ if (operands[1] == constm1_rtx)
+- return "lock{%;| }inc{<imodesuffix>}\t%0";
++ return "lock{%;} inc{<imodesuffix>}\t%0";
+ }
+
+- return "lock{%;| }sub{<imodesuffix>}\t{%1, %0|%0, %1}";
++ return "lock{%;} sub{<imodesuffix>}\t{%1, %0|%0, %1}";
+ })
+
+ (define_insn "sync_<code><mode>"
+@@ -233,4 +233,4 @@
+ UNSPECV_LOCK))
+ (clobber (reg:CC FLAGS_REG))]
+ ""
+- "lock{%;| }<logicprefix>{<imodesuffix>}\t{%1, %0|%0, %1}")
++ "lock{%;} <logicprefix>{<imodesuffix>}\t{%1, %0|%0, %1}")
Index: gcc/config/i386/driver-i386.c
===================================================================
---- gcc/config/i386/driver-i386.c (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ gcc/config/i386/driver-i386.c (.../branches/gcc-4_5-branch) (wersja 159429)
+--- gcc/config/i386/driver-i386.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/config/i386/driver-i386.c (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -538,34 +538,61 @@
cpu = "pentium";
break;
if (has_sse3)
Index: gcc/config/i386/i386.c
===================================================================
---- gcc/config/i386/i386.c (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ gcc/config/i386/i386.c (.../branches/gcc-4_5-branch) (wersja 159429)
+--- gcc/config/i386/i386.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/config/i386/i386.c (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -2528,7 +2528,7 @@
if (flags && add_nl_p)
{
&& for_each_rtx (&PATTERN (insn), get_some_local_dynamic_name_1, 0))
return cfun->machine->some_ld_name;
-@@ -13629,7 +13634,7 @@
+@@ -11896,10 +11901,8 @@
+ return;
+
+ case ';':
+-#if TARGET_MACHO
+- fputs (" ; ", file);
+-#else
+- putc (' ', file);
++#if TARGET_MACHO || !HAVE_AS_IX86_REP_LOCK_PREFIX
++ fputs (";", file);
+ #endif
+ return;
+
+@@ -13629,7 +13632,7 @@
rtx prev = PREV_INSN (insn);
while (prev && distance < LEA_SEARCH_THRESHOLD)
{
{
distance++;
for (def_rec = DF_INSN_DEFS (prev); *def_rec; def_rec++)
-@@ -13669,7 +13674,7 @@
+@@ -13669,7 +13672,7 @@
&& prev != insn
&& distance < LEA_SEARCH_THRESHOLD)
{
{
distance++;
for (def_rec = DF_INSN_DEFS (prev); *def_rec; def_rec++)
-@@ -13715,7 +13720,7 @@
+@@ -13715,7 +13718,7 @@
rtx next = NEXT_INSN (insn);
while (next && distance < LEA_SEARCH_THRESHOLD)
{
{
distance++;
-@@ -13764,7 +13769,7 @@
+@@ -13764,7 +13767,7 @@
&& next != insn
&& distance < LEA_SEARCH_THRESHOLD)
{
Index: gcc/config/sol2.c
===================================================================
---- gcc/config/sol2.c (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ gcc/config/sol2.c (.../branches/gcc-4_5-branch) (wersja 159429)
+--- gcc/config/sol2.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/config/sol2.c (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -122,8 +122,10 @@
the visibility type VIS, which must not be VISIBILITY_DEFAULT. */
fprintf (asm_out_file, "\n");
Index: gcc/config/sol2.h
===================================================================
---- gcc/config/sol2.h (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ gcc/config/sol2.h (.../branches/gcc-4_5-branch) (wersja 159429)
+--- gcc/config/sol2.h (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/config/sol2.h (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -174,12 +174,16 @@
#define LINK_SPEC \
"%{h*} %{v:-V} \
configuration files for Solaris override this setting.) */
Index: gcc/config/sh/sh.c
===================================================================
---- gcc/config/sh/sh.c (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ gcc/config/sh/sh.c (.../branches/gcc-4_5-branch) (wersja 159429)
+--- gcc/config/sh/sh.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/config/sh/sh.c (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -4397,6 +4397,7 @@
int hi_limit;
rtx orig = from;
/* If we exceeded the range, then we must back up over the last
instruction we looked at. Otherwise, we just need to undo the
NEXT_INSN at the end of the loop. */
+Index: gcc/config/cris/cris.md
+===================================================================
+--- gcc/config/cris/cris.md (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/config/cris/cris.md (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1831,7 +1831,7 @@
+ add%u2 %2,%0
+ addo.%Z2 %2,%1,%0"
+ [(set_attr "slottable" "yes,yes,yes,yes,yes,yes,yes,no,no,no,no,no,no")
+- (set_attr "cc" "*,none,*,none,*,*,none,*,*,*,*,*,none")])
++ (set_attr "cc" "*,none,*,none,*,*,none,*,none,*,*,*,none")])
+ \f
+ (define_insn "*addhi3_non_v32"
+ [(set (match_operand:HI 0 "register_operand" "=r,r, r,r,r,r")
+Index: gcc/config/rs6000/rs6000.c
+===================================================================
+--- gcc/config/rs6000/rs6000.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/config/rs6000/rs6000.c (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -881,7 +881,6 @@
+ static void emit_frame_save (rtx, rtx, enum machine_mode, unsigned int,
+ int, HOST_WIDE_INT);
+ static rtx gen_frame_mem_offset (enum machine_mode, rtx, int);
+-static void rs6000_emit_allocate_stack (HOST_WIDE_INT, int, int);
+ static unsigned rs6000_hash_constant (rtx);
+ static unsigned toc_hash_function (const void *);
+ static int toc_hash_eq (const void *, const void *);
+@@ -18022,13 +18021,11 @@
+ }
+
+ /* Emit the correct code for allocating stack space, as insns.
+- If COPY_R12, make sure a copy of the old frame is left in r12.
+- If COPY_R11, make sure a copy of the old frame is left in r11,
+- in preference to r12 if COPY_R12.
++ If COPY_REG, make sure a copy of the old frame is left there.
+ The generated code may use hard register 0 as a temporary. */
+
+ static void
+-rs6000_emit_allocate_stack (HOST_WIDE_INT size, int copy_r12, int copy_r11)
++rs6000_emit_allocate_stack (HOST_WIDE_INT size, rtx copy_reg)
+ {
+ rtx insn;
+ rtx stack_reg = gen_rtx_REG (Pmode, STACK_POINTER_REGNUM);
+@@ -18071,11 +18068,8 @@
+ warning (0, "stack limit expression is not supported");
+ }
+
+- if (copy_r12 || copy_r11)
+- emit_move_insn (copy_r11
+- ? gen_rtx_REG (Pmode, 11)
+- : gen_rtx_REG (Pmode, 12),
+- stack_reg);
++ if (copy_reg)
++ emit_move_insn (copy_reg, stack_reg);
+
+ if (size > 32767)
+ {
+@@ -18761,20 +18755,33 @@
+ ? (!saving_GPRs_inline
+ && info->spe_64bit_regs_used == 0)
+ : (!saving_FPRs_inline || !saving_GPRs_inline));
++ rtx copy_reg = need_r11 ? gen_rtx_REG (Pmode, 11) : NULL;
++
+ if (info->total_size < 32767)
+ sp_offset = info->total_size;
++ else if (need_r11)
++ frame_reg_rtx = copy_reg;
++ else if (info->cr_save_p
++ || info->lr_save_p
++ || info->first_fp_reg_save < 64
++ || info->first_gp_reg_save < 32
++ || info->altivec_size != 0
++ || info->vrsave_mask != 0
++ || crtl->calls_eh_return)
++ {
++ copy_reg = frame_ptr_rtx;
++ frame_reg_rtx = copy_reg;
++ }
+ else
+- frame_reg_rtx = (need_r11
+- ? gen_rtx_REG (Pmode, 11)
+- : frame_ptr_rtx);
+- rs6000_emit_allocate_stack (info->total_size,
+- (frame_reg_rtx != sp_reg_rtx
+- && (info->cr_save_p
+- || info->lr_save_p
+- || info->first_fp_reg_save < 64
+- || info->first_gp_reg_save < 32
+- )),
+- need_r11);
++ {
++ /* The prologue won't be saving any regs so there is no need
++ to set up a frame register to access any frame save area.
++ We also won't be using sp_offset anywhere below, but set
++ the correct value anyway to protect against future
++ changes to this function. */
++ sp_offset = info->total_size;
++ }
++ rs6000_emit_allocate_stack (info->total_size, copy_reg);
+ if (frame_reg_rtx != sp_reg_rtx)
+ rs6000_emit_stack_tie ();
+ }
+@@ -19209,16 +19216,19 @@
+ if (!WORLD_SAVE_P (info) && info->push_p
+ && !(DEFAULT_ABI == ABI_V4 || crtl->calls_eh_return))
+ {
++ rtx copy_reg = NULL;
++
+ if (info->total_size < 32767)
+- sp_offset = info->total_size;
++ sp_offset = info->total_size;
++ else if (info->altivec_size != 0
++ || info->vrsave_mask != 0)
++ {
++ copy_reg = frame_ptr_rtx;
++ frame_reg_rtx = copy_reg;
++ }
+ else
+- frame_reg_rtx = frame_ptr_rtx;
+- rs6000_emit_allocate_stack (info->total_size,
+- (frame_reg_rtx != sp_reg_rtx
+- && ((info->altivec_size != 0)
+- || (info->vrsave_mask != 0)
+- )),
+- FALSE);
++ sp_offset = info->total_size;
++ rs6000_emit_allocate_stack (info->total_size, copy_reg);
+ if (frame_reg_rtx != sp_reg_rtx)
+ rs6000_emit_stack_tie ();
+ }
Index: gcc/config/sol2-gld.h
===================================================================
--- gcc/config/sol2-gld.h (.../tags/gcc_4_5_0_release) (wersja 0)
-+++ gcc/config/sol2-gld.h (.../branches/gcc-4_5-branch) (wersja 159429)
++++ gcc/config/sol2-gld.h (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -0,0 +1,31 @@
+/* Definitions of target machine for GCC, for any machine running Solaris 2
+ using the GNU linker.
+#define RDYNAMIC_SPEC "--export-dynamic"
Index: gcc/config/mips/dbxmdebug.h
===================================================================
---- gcc/config/mips/dbxmdebug.h (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ gcc/config/mips/dbxmdebug.h (.../branches/gcc-4_5-branch) (wersja 159429)
+--- gcc/config/mips/dbxmdebug.h (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/config/mips/dbxmdebug.h (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -1,6 +0,0 @@
-/* Definitions of target machine for GNU compiler, for MIPS running IRIX 5
- or IRIX 6 (O32 ABI) using the GNU assembler with stabs-in-mdebug. */
-#define MDEBUG_ASM_SPEC "%{!gdwarf*:-mdebug} %{gdwarf*:-no-mdebug}"
Index: gcc/config/mips/iris.h
===================================================================
---- gcc/config/mips/iris.h (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ gcc/config/mips/iris.h (.../branches/gcc-4_5-branch) (wersja 159429)
+--- gcc/config/mips/iris.h (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/config/mips/iris.h (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -199,7 +199,7 @@
%{call_shared} %{no_archive} %{exact_version} \
%{!shared: \
library search directories. */
Index: gcc/config/mmix/mmix.md
===================================================================
---- gcc/config/mmix/mmix.md (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ gcc/config/mmix/mmix.md (.../branches/gcc-4_5-branch) (wersja 159429)
+--- gcc/config/mmix/mmix.md (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/config/mmix/mmix.md (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -333,7 +333,7 @@
;; The %2-is-%1-case is there just to make sure things don't fail. Could
;; presumably happen with optimizations off; no evidence.
(clobber (match_scratch:DI 3 "=1,1"))
Index: gcc/tree-vect-slp.c
===================================================================
---- gcc/tree-vect-slp.c (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ gcc/tree-vect-slp.c (.../branches/gcc-4_5-branch) (wersja 159429)
+--- gcc/tree-vect-slp.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/tree-vect-slp.c (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -844,7 +844,11 @@
SET_BIT (load_index, prev);
if (supported && i == group_size * group_size
Index: gcc/cfgrtl.c
===================================================================
---- gcc/cfgrtl.c (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ gcc/cfgrtl.c (.../branches/gcc-4_5-branch) (wersja 159429)
+--- gcc/cfgrtl.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/cfgrtl.c (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -994,6 +994,9 @@
&& !find_reg_note (insn, REG_LABEL_TARGET, new_label))
add_reg_note (insn, REG_LABEL_TARGET, new_label);
}
Index: gcc/collect2.c
===================================================================
---- gcc/collect2.c (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ gcc/collect2.c (.../branches/gcc-4_5-branch) (wersja 159429)
+--- gcc/collect2.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/collect2.c (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -35,6 +35,10 @@
# define SIGCHLD SIGCLD
#endif
#endif
Index: gcc/lto-streamer.c
===================================================================
---- gcc/lto-streamer.c (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ gcc/lto-streamer.c (.../branches/gcc-4_5-branch) (wersja 159429)
+--- gcc/lto-streamer.c (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ gcc/lto-streamer.c (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -788,6 +788,31 @@
}
Index: libstdc++-v3/doc/doxygen/user.cfg.in
===================================================================
---- libstdc++-v3/doc/doxygen/user.cfg.in (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ libstdc++-v3/doc/doxygen/user.cfg.in (.../branches/gcc-4_5-branch) (wersja 159429)
+--- libstdc++-v3/doc/doxygen/user.cfg.in (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ libstdc++-v3/doc/doxygen/user.cfg.in (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -180,7 +180,7 @@
# You can put \n's in the value part of an alias to insert newlines.
# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C
# sources only. Doxygen will then generate output that is more tailored for C.
+Index: libstdc++-v3/include/debug/vector
+===================================================================
+--- libstdc++-v3/include/debug/vector (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ libstdc++-v3/include/debug/vector (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -235,6 +235,7 @@
+ _Base::resize(__sz, __c);
+ if (__realloc)
+ this->_M_invalidate_all();
++ _M_update_guaranteed_capacity();
+ }
+
+ #ifdef __GXX_EXPERIMENTAL_CXX0X__
Index: libstdc++-v3/include/profile/impl/profiler_trace.h
===================================================================
---- libstdc++-v3/include/profile/impl/profiler_trace.h (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ libstdc++-v3/include/profile/impl/profiler_trace.h (.../branches/gcc-4_5-branch) (wersja 159429)
+--- libstdc++-v3/include/profile/impl/profiler_trace.h (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ libstdc++-v3/include/profile/impl/profiler_trace.h (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -53,43 +53,30 @@
#define _GLIBCXX_IMPL_UNORDERED_MAP std::tr1::unordered_map
#endif
/** @brief This function must be called by each instrumentation point.
Index: libstdc++-v3/include/profile/impl/profiler.h
===================================================================
---- libstdc++-v3/include/profile/impl/profiler.h (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ libstdc++-v3/include/profile/impl/profiler.h (.../branches/gcc-4_5-branch) (wersja 159429)
+--- libstdc++-v3/include/profile/impl/profiler.h (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ libstdc++-v3/include/profile/impl/profiler.h (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -44,6 +44,13 @@
#endif
#define _GLIBCXX_PROFILE_TRACE_PATH_ROOT "libstdcxx-profile"
Index: libstdc++-v3/include/profile/unordered_map
===================================================================
---- libstdc++-v3/include/profile/unordered_map (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ libstdc++-v3/include/profile/unordered_map (.../branches/gcc-4_5-branch) (wersja 159429)
+--- libstdc++-v3/include/profile/unordered_map (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ libstdc++-v3/include/profile/unordered_map (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -196,7 +196,7 @@
insert(_InputIter __first, _InputIter __last)
{
Index: libstdc++-v3/include/bits/basic_string.h
===================================================================
---- libstdc++-v3/include/bits/basic_string.h (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ libstdc++-v3/include/bits/basic_string.h (.../branches/gcc-4_5-branch) (wersja 159429)
+--- libstdc++-v3/include/bits/basic_string.h (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ libstdc++-v3/include/bits/basic_string.h (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -48,13 +48,14 @@
* @class basic_string basic_string.h <string>
* @brief Managing sequences of characters and character-like objects.
*
Index: libstdc++-v3/include/bits/stringfwd.h
===================================================================
---- libstdc++-v3/include/bits/stringfwd.h (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ libstdc++-v3/include/bits/stringfwd.h (.../branches/gcc-4_5-branch) (wersja 159429)
+--- libstdc++-v3/include/bits/stringfwd.h (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ libstdc++-v3/include/bits/stringfwd.h (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -1,6 +1,7 @@
// String support -*- C++ -*-
Index: libstdc++-v3/include/c_global/cstdlib
===================================================================
---- libstdc++-v3/include/c_global/cstdlib (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ libstdc++-v3/include/c_global/cstdlib (.../branches/gcc-4_5-branch) (wersja 159429)
+--- libstdc++-v3/include/c_global/cstdlib (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ libstdc++-v3/include/c_global/cstdlib (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -57,9 +57,9 @@
_GLIBCXX_BEGIN_NAMESPACE(std)
Index: libstdc++-v3/ChangeLog
===================================================================
---- libstdc++-v3/ChangeLog (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ libstdc++-v3/ChangeLog (.../branches/gcc-4_5-branch) (wersja 159429)
-@@ -1,3 +1,57 @@
+--- libstdc++-v3/ChangeLog (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ libstdc++-v3/ChangeLog (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,3 +1,64 @@
++2010-05-19 Eelis van der Weegen <gcc-bugzilla@contacts.eelis.net>
++
++ PR libstdc++/44190
++ * include/debug/vector (vector<>::resize): Call
++ _M_update_guaranteed_capacity.
++ * testsuite/23_containers/vector/capacity/44190.cc: New.
++
+2010-05-14 Silvius Rus <silvius.rus@gmail.com>
+
+ PR libstdc++/43259
* GCC 4.5.0 released.
Index: libstdc++-v3/testsuite/23_containers/vector/bool/modifiers/insert/31370.cc
===================================================================
---- libstdc++-v3/testsuite/23_containers/vector/bool/modifiers/insert/31370.cc (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ libstdc++-v3/testsuite/23_containers/vector/bool/modifiers/insert/31370.cc (.../branches/gcc-4_5-branch) (wersja 159429)
+--- libstdc++-v3/testsuite/23_containers/vector/bool/modifiers/insert/31370.cc (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ libstdc++-v3/testsuite/23_containers/vector/bool/modifiers/insert/31370.cc (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -1,4 +1,4 @@
-// Copyright (C) 2007, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2007, 2009, 2010 Free Software Foundation, Inc.
inline void
Index: libstdc++-v3/testsuite/23_containers/vector/bool/capacity/29134.cc
===================================================================
---- libstdc++-v3/testsuite/23_containers/vector/bool/capacity/29134.cc (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ libstdc++-v3/testsuite/23_containers/vector/bool/capacity/29134.cc (.../branches/gcc-4_5-branch) (wersja 159429)
+--- libstdc++-v3/testsuite/23_containers/vector/bool/capacity/29134.cc (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ libstdc++-v3/testsuite/23_containers/vector/bool/capacity/29134.cc (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -1,4 +1,4 @@
-// Copyright (C) 2006, 2007, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2006, 2007, 2009, 2010 Free Software Foundation, Inc.
#endif
// Actually, vector<bool> is special, see libstdc++/31370.
+Index: libstdc++-v3/testsuite/23_containers/vector/capacity/44190.cc
+===================================================================
+--- libstdc++-v3/testsuite/23_containers/vector/capacity/44190.cc (.../tags/gcc_4_5_0_release) (wersja 0)
++++ libstdc++-v3/testsuite/23_containers/vector/capacity/44190.cc (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -0,0 +1,38 @@
++// Copyright (C) 2010 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library. This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 3, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++// GNU General Public License for more details.
++
++// You should have received a copy of the GNU General Public License along
++// with this library; see the file COPYING3. If not see
++// <http://www.gnu.org/licenses/>.
++
++// { dg-options "-D_GLIBCXX_DEBUG_PEDANTIC" }
++
++#include <vector>
++#include <testsuite_hooks.h>
++
++// libstdc++/44190
++void test01()
++{
++ bool test __attribute__((unused)) = true;
++
++ std::vector<int> v;
++ v.resize(10);
++ VERIFY( v.size() <= v.capacity() );
++}
++
++int main()
++{
++
++ test01();
++ return 0;
++}
Index: configure.ac
===================================================================
---- configure.ac (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ configure.ac (.../branches/gcc-4_5-branch) (wersja 159429)
+--- configure.ac (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ configure.ac (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -2699,7 +2699,7 @@
mv conftest.o conftest.o.g0 &&
${CC} -c -g conftest.c &&
BUILD_CONFIG=
Index: ChangeLog
===================================================================
---- ChangeLog (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ ChangeLog (.../branches/gcc-4_5-branch) (wersja 159429)
+--- ChangeLog (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ ChangeLog (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -1,3 +1,8 @@
+2010-04-20 Eric Botcazou <ebotcazou@adacore.com>
+
2010-04-14 Release Manager
* GCC 4.5.0 released.
+Index: libffi/configure
+===================================================================
+--- libffi/configure (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ libffi/configure (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -12397,7 +12397,7 @@
+
+ libffi_cv_as_x86_pcrel=yes
+ echo '.text; foo: nop; .data; .long foo-.; .text' > conftest.s
+- if $CC $CFLAGS -c conftest.s 2>&1 | grep -i warning > /dev/null; then
++ if $CC $CFLAGS -c conftest.s 2>&1 | $EGREP -i 'illegal|warning' > /dev/null; then
+ libffi_cv_as_x86_pcrel=no
+ fi
+
+@@ -12409,8 +12409,78 @@
+ $as_echo "#define HAVE_AS_X86_PCREL 1" >>confdefs.h
+
+ fi
++
++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler .ascii pseudo-op support" >&5
++$as_echo_n "checking assembler .ascii pseudo-op support... " >&6; }
++if test "${libffi_cv_as_ascii_pseudo_op+set}" = set; then :
++ $as_echo_n "(cached) " >&6
++else
++
++ libffi_cv_as_ascii_pseudo_op=unknown
++ # Check if we have .ascii
++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h. */
++asm (".ascii \"string\"");
++int
++main ()
++{
++
++ ;
++ return 0;
++}
++_ACEOF
++if ac_fn_c_try_compile "$LINENO"; then :
++ libffi_cv_as_ascii_pseudo_op=yes
++else
++ libffi_cv_as_ascii_pseudo_op=no
+ fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_as_ascii_pseudo_op" >&5
++$as_echo "$libffi_cv_as_ascii_pseudo_op" >&6; }
++ if test "x$libffi_cv_as_ascii_pseudo_op" = xyes; then
++
++$as_echo "#define HAVE_AS_ASCII_PSEUDO_OP 1" >>confdefs.h
++
++ fi
++
++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler .string pseudo-op support" >&5
++$as_echo_n "checking assembler .string pseudo-op support... " >&6; }
++if test "${libffi_cv_as_string_pseudo_op+set}" = set; then :
++ $as_echo_n "(cached) " >&6
++else
++
++ libffi_cv_as_string_pseudo_op=unknown
++ # Check if we have .string
++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h. */
++asm (".string \"string\"");
++int
++main ()
++{
++
++ ;
++ return 0;
++}
++_ACEOF
++if ac_fn_c_try_compile "$LINENO"; then :
++ libffi_cv_as_string_pseudo_op=yes
++else
++ libffi_cv_as_string_pseudo_op=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_as_string_pseudo_op" >&5
++$as_echo "$libffi_cv_as_string_pseudo_op" >&6; }
++ if test "x$libffi_cv_as_string_pseudo_op" = xyes; then
++
++$as_echo "#define HAVE_AS_STRING_PSEUDO_OP 1" >>confdefs.h
++
++ fi
++fi
++
+ case "$target" in
+ *-apple-darwin10* | *-*-freebsd* | *-*-openbsd* | *-pc-solaris*)
+
+Index: libffi/fficonfig.h.in
+===================================================================
+--- libffi/fficonfig.h.in (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ libffi/fficonfig.h.in (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -33,6 +33,9 @@
+ */
+ #undef HAVE_ALLOCA_H
+
++/* Define if your assembler supports .ascii. */
++#undef HAVE_AS_ASCII_PSEUDO_OP
++
+ /* Define if your assembler supports .cfi_* directives. */
+ #undef HAVE_AS_CFI_PSEUDO_OP
+
+@@ -43,6 +46,9 @@
+ */
+ #undef HAVE_AS_SPARC_UA_PCREL
+
++/* Define if your assembler supports .string. */
++#undef HAVE_AS_STRING_PSEUDO_OP
++
+ /* Define if your assembler supports unwind section type. */
+ #undef HAVE_AS_X86_64_UNWIND_SECTION_TYPE
+
+Index: libffi/src/x86/sysv.S
+===================================================================
+--- libffi/src/x86/sysv.S (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ libffi/src/x86/sysv.S (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,5 +1,5 @@
+ /* -----------------------------------------------------------------------
+- sysv.S - Copyright (c) 1996, 1998, 2001-2003, 2005, 2008 Red Hat, Inc.
++ sysv.S - Copyright (c) 1996, 1998, 2001-2003, 2005, 2008, 2010 Red Hat, Inc.
+
+ X86 Foreign Function Interface
+
+@@ -331,11 +331,21 @@
+ .LSCIE1:
+ .long 0x0 /* CIE Identifier Tag */
+ .byte 0x1 /* CIE Version */
++#ifdef HAVE_AS_ASCII_PSEUDO_OP
+ #ifdef __PIC__
+ .ascii "zR\0" /* CIE Augmentation */
+ #else
+ .ascii "\0" /* CIE Augmentation */
+ #endif
++#elif defined HAVE_AS_STRING_PSEUDO_OP
++#ifdef __PIC__
++ .string "zR" /* CIE Augmentation */
++#else
++ .string "" /* CIE Augmentation */
++#endif
++#else
++#error missing .ascii/.string
++#endif
+ .byte 0x1 /* .uleb128 0x1; CIE Code Alignment Factor */
+ .byte 0x7c /* .sleb128 -4; CIE Data Alignment Factor */
+ .byte 0x8 /* CIE RA Column */
+Index: libffi/ChangeLog
+===================================================================
+--- libffi/ChangeLog (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ libffi/ChangeLog (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -1,3 +1,13 @@
++2010-05-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
++
++ * configure.ac (libffi_cv_as_x86_pcrel): Check for illegal in as
++ output, too.
++ (libffi_cv_as_ascii_pseudo_op): Check for .ascii.
++ (libffi_cv_as_string_pseudo_op): Check for .string.
++ * configure: Regenerate.
++ * fficonfig.h.in: Regenerate.
++ * src/x86/sysv.S (.eh_frame): Use .ascii, .string or error.
++
+ 2010-04-14 Release Manager
+
+ * GCC 4.5.0 released.
+Index: libffi/configure.ac
+===================================================================
+--- libffi/configure.ac (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ libffi/configure.ac (.../branches/gcc-4_5-branch) (wersja 159624)
+@@ -266,7 +266,7 @@
+ libffi_cv_as_x86_pcrel, [
+ libffi_cv_as_x86_pcrel=yes
+ echo '.text; foo: nop; .data; .long foo-.; .text' > conftest.s
+- if $CC $CFLAGS -c conftest.s 2>&1 | grep -i warning > /dev/null; then
++ if $CC $CFLAGS -c conftest.s 2>&1 | $EGREP -i 'illegal|warning' > /dev/null; then
+ libffi_cv_as_x86_pcrel=no
+ fi
+ ])
+@@ -274,6 +274,32 @@
+ AC_DEFINE(HAVE_AS_X86_PCREL, 1,
+ [Define if your assembler supports PC relative relocs.])
+ fi
++
++ AC_CACHE_CHECK([assembler .ascii pseudo-op support],
++ libffi_cv_as_ascii_pseudo_op, [
++ libffi_cv_as_ascii_pseudo_op=unknown
++ # Check if we have .ascii
++ AC_TRY_COMPILE([asm (".ascii \"string\"");],,
++ [libffi_cv_as_ascii_pseudo_op=yes],
++ [libffi_cv_as_ascii_pseudo_op=no])
++ ])
++ if test "x$libffi_cv_as_ascii_pseudo_op" = xyes; then
++ AC_DEFINE(HAVE_AS_ASCII_PSEUDO_OP, 1,
++ [Define if your assembler supports .ascii.])
++ fi
++
++ AC_CACHE_CHECK([assembler .string pseudo-op support],
++ libffi_cv_as_string_pseudo_op, [
++ libffi_cv_as_string_pseudo_op=unknown
++ # Check if we have .string
++ AC_TRY_COMPILE([asm (".string \"string\"");],,
++ [libffi_cv_as_string_pseudo_op=yes],
++ [libffi_cv_as_string_pseudo_op=no])
++ ])
++ if test "x$libffi_cv_as_string_pseudo_op" = xyes; then
++ AC_DEFINE(HAVE_AS_STRING_PSEUDO_OP, 1,
++ [Define if your assembler supports .string.])
++ fi
+ fi
+
+ case "$target" in
Index: libjava/configure.ac
===================================================================
---- libjava/configure.ac (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ libjava/configure.ac (.../branches/gcc-4_5-branch) (wersja 159429)
+--- libjava/configure.ac (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ libjava/configure.ac (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -927,6 +927,21 @@
extra_ldflags_libjava=-liconv
;;
AC_SUBST(LIBSTDCXXSPEC)
Index: libjava/ChangeLog
===================================================================
---- libjava/ChangeLog (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ libjava/ChangeLog (.../branches/gcc-4_5-branch) (wersja 159429)
+--- libjava/ChangeLog (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ libjava/ChangeLog (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -1,3 +1,8 @@
+2010-04-19 Andrew Haley <aph@redhat.com>
+
* GCC 4.5.0 released.
Index: libjava/configure
===================================================================
---- libjava/configure (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ libjava/configure (.../branches/gcc-4_5-branch) (wersja 159429)
+--- libjava/configure (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ libjava/configure (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -20520,11 +20520,44 @@
;;
esac
$as_echo_n "checking for garbage collector to use... " >&6; }
Index: libcpp/po/es.po
===================================================================
---- libcpp/po/es.po (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ libcpp/po/es.po (.../branches/gcc-4_5-branch) (wersja 159429)
+--- libcpp/po/es.po (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ libcpp/po/es.po (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -1,14 +1,14 @@
-# Mensajes en español para cpplib-4.5-b20100204
+# Mensajes en español para cpplib-4.5.0
msgstr "elemento %s impronunciable"
Index: libcpp/po/fr.po
===================================================================
---- libcpp/po/fr.po (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ libcpp/po/fr.po (.../branches/gcc-4_5-branch) (wersja 159429)
+--- libcpp/po/fr.po (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ libcpp/po/fr.po (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -119,7 +119,7 @@
msgstr ""
"Project-Id-Version: GNU cpplib 4.3.0\n"
msgstr "l'élément lexical %s ne peut être épelé"
Index: libcpp/po/nl.po
===================================================================
---- libcpp/po/nl.po (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ libcpp/po/nl.po (.../branches/gcc-4_5-branch) (wersja 159429)
+--- libcpp/po/nl.po (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ libcpp/po/nl.po (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -7,7 +7,7 @@
msgstr ""
"Project-Id-Version: cpplib 4.5-b20100204\n"
msgstr "kan token %s niet spellen"
Index: libcpp/po/ChangeLog
===================================================================
---- libcpp/po/ChangeLog (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ libcpp/po/ChangeLog (.../branches/gcc-4_5-branch) (wersja 159429)
+--- libcpp/po/ChangeLog (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ libcpp/po/ChangeLog (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -1,3 +1,24 @@
+2010-05-15 Joseph Myers <joseph@codesourcery.com>
+
* GCC 4.5.0 released.
Index: libcpp/po/vi.po
===================================================================
---- libcpp/po/vi.po (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ libcpp/po/vi.po (.../branches/gcc-4_5-branch) (wersja 159429)
+--- libcpp/po/vi.po (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ libcpp/po/vi.po (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -4,10 +4,10 @@
# Clytie Siddall <clytie@riverland.net.au>, 2005-2010.
msgid ""
msgstr "gặp hiệu bài không thể chính tả %s"
Index: libcpp/po/uk.po
===================================================================
---- libcpp/po/uk.po (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ libcpp/po/uk.po (.../branches/gcc-4_5-branch) (wersja 159429)
+--- libcpp/po/uk.po (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ libcpp/po/uk.po (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -6,7 +6,7 @@
msgstr ""
"Project-Id-Version: cpplib 4.2.1\n"
msgstr "неможливо розібрати лексему %s"
Index: libcpp/po/ca.po
===================================================================
---- libcpp/po/ca.po (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ libcpp/po/ca.po (.../branches/gcc-4_5-branch) (wersja 159429)
+--- libcpp/po/ca.po (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ libcpp/po/ca.po (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -11,7 +11,7 @@
msgstr ""
"Project-Id-Version: cpplib-4.0.1\n"
msgstr "Element %s impronunciable"
Index: libcpp/po/da.po
===================================================================
---- libcpp/po/da.po (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ libcpp/po/da.po (.../branches/gcc-4_5-branch) (wersja 159429)
+--- libcpp/po/da.po (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ libcpp/po/da.po (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -128,7 +128,7 @@
msgstr ""
"Project-Id-Version: gcc 3.3\n"
msgstr "symbol %s kan ikke staves"
Index: libcpp/po/tr.po
===================================================================
---- libcpp/po/tr.po (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ libcpp/po/tr.po (.../branches/gcc-4_5-branch) (wersja 159429)
+--- libcpp/po/tr.po (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ libcpp/po/tr.po (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -6,7 +6,7 @@
msgstr ""
"Project-Id-Version: cpplib 4.2.0\n"
msgstr "dizgecik %s okunabilir değil"
Index: libcpp/po/be.po
===================================================================
---- libcpp/po/be.po (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ libcpp/po/be.po (.../branches/gcc-4_5-branch) (wersja 159429)
+--- libcpp/po/be.po (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ libcpp/po/be.po (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -6,7 +6,7 @@
msgstr ""
"Project-Id-Version: gcc 3.1\n"
msgstr "немагу адчыніць файл \"%s\""
Index: libcpp/po/de.po
===================================================================
---- libcpp/po/de.po (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ libcpp/po/de.po (.../branches/gcc-4_5-branch) (wersja 159429)
+--- libcpp/po/de.po (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ libcpp/po/de.po (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -8,7 +8,7 @@
msgstr ""
"Project-Id-Version: cpplib 4.3.0\n"
msgstr "nicht buchstabierbares Token %s"
Index: libcpp/po/sv.po
===================================================================
---- libcpp/po/sv.po (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ libcpp/po/sv.po (.../branches/gcc-4_5-branch) (wersja 159429)
+--- libcpp/po/sv.po (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ libcpp/po/sv.po (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -8,10 +8,10 @@
#
msgid ""
msgstr "ostavbar symbol %s"
Index: libcpp/po/ja.po
===================================================================
---- libcpp/po/ja.po (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ libcpp/po/ja.po (.../branches/gcc-4_5-branch) (wersja 159429)
+--- libcpp/po/ja.po (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ libcpp/po/ja.po (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -8,7 +8,7 @@
msgstr ""
"Project-Id-Version: gcc 3.0\n"
msgstr "ÄÖ¤ì¤Ê¤¤¥È¡¼¥¯¥ó %s ¤Ç¤¹"
Index: libcpp/po/zh_TW.po
===================================================================
---- libcpp/po/zh_TW.po (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ libcpp/po/zh_TW.po (.../branches/gcc-4_5-branch) (wersja 159429)
+--- libcpp/po/zh_TW.po (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ libcpp/po/zh_TW.po (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -8,7 +8,7 @@
msgstr ""
"Project-Id-Version: cpplib 4.1.0\n"
msgstr "無法拼出的識別字 %s"
Index: libcpp/po/id.po
===================================================================
---- libcpp/po/id.po (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ libcpp/po/id.po (.../branches/gcc-4_5-branch) (wersja 159429)
+--- libcpp/po/id.po (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ libcpp/po/id.po (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -7,7 +7,7 @@
msgstr ""
"Project-Id-Version: cpplib 4.5-b20100204\n"
Index: libcpp/po/fi.po
===================================================================
--- libcpp/po/fi.po (.../tags/gcc_4_5_0_release) (wersja 0)
-+++ libcpp/po/fi.po (.../branches/gcc-4_5-branch) (wersja 159429)
++++ libcpp/po/fi.po (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -0,0 +1,957 @@
+# Finnish messages for cpplib.
+# Copyright © 2010 Free Software Foundation, Inc.
+msgstr "syntaksivirhe makroparameteriluettelossa"
Index: libcpp/po/el.po
===================================================================
---- libcpp/po/el.po (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ libcpp/po/el.po (.../branches/gcc-4_5-branch) (wersja 159429)
+--- libcpp/po/el.po (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ libcpp/po/el.po (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -6,7 +6,7 @@
msgstr ""
"Project-Id-Version: gcc 3.2\n"
msgstr "%s: áäýíáôï ôï Üíïéãìá ôïõ %s: %m\n"
Index: libcpp/po/zh_CN.po
===================================================================
---- libcpp/po/zh_CN.po (.../tags/gcc_4_5_0_release) (wersja 159429)
-+++ libcpp/po/zh_CN.po (.../branches/gcc-4_5-branch) (wersja 159429)
+--- libcpp/po/zh_CN.po (.../tags/gcc_4_5_0_release) (wersja 159624)
++++ libcpp/po/zh_CN.po (.../branches/gcc-4_5-branch) (wersja 159624)
@@ -1,19 +1,21 @@
# Simplified Chinese translation for cpplib.
# Copyright (C) 2005 Free Software Foundation, Inc.