SOURCES: gcc-branch.diff - new fixes
arekm
arekm at pld-linux.org
Mon Apr 27 09:43:41 CEST 2009
Author: arekm Date: Mon Apr 27 07:43:41 2009 GMT
Module: SOURCES Tag: HEAD
---- Log message:
- new fixes
---- Files affected:
SOURCES:
gcc-branch.diff (1.11 -> 1.12)
---- Diffs:
================================================================
Index: SOURCES/gcc-branch.diff
diff -u SOURCES/gcc-branch.diff:1.11 SOURCES/gcc-branch.diff:1.12
--- SOURCES/gcc-branch.diff:1.11 Fri Apr 24 15:17:55 2009
+++ SOURCES/gcc-branch.diff Mon Apr 27 09:43:34 2009
@@ -1,7 +1,259 @@
+Index: configure
+===================================================================
+--- configure (.../tags/gcc_4_4_0_release) (wersja 146826)
++++ configure (.../branches/gcc-4_4-branch) (wersja 146826)
+@@ -272,7 +272,7 @@
+ PACKAGE_BUGREPORT=
+
+ ac_unique_file="move-if-change"
+-ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS TOPLEVEL_CONFIGURE_ARGUMENTS build build_cpu build_vendor build_os build_noncanonical host_noncanonical target_noncanonical host host_cpu host_vendor host_os target target_cpu target_vendor target_os INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA LN LN_S build_libsubdir build_subdir host_subdir target_subdir CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT CXX CXXFLAGS ac_ct_CXX GNATBIND ac_ct_GNATBIND GNATMAKE ac_ct_GNATMAKE do_compare gmplibs gmpinc ppllibs pplinc clooglibs clooginc stage1_languages SYSROOT_CFLAGS_FOR_TARGET DEBUG_PREFIX_CFLAGS_FOR_TARGET CFLAGS_FOR_TARGET CXXFLAGS_FOR_TARGET RPATH_ENVVAR GCC_SHLIB_SUBDIR tooldir build_
tooldir CONFIGURE_GDB_TK GDB_TK INSTALL_GDB_TK build_configargs build_configdirs host_configargs configdirs target_configargs AR_FOR_BUILD AS_FOR_BUILD CC_FOR_BUILD CFLAGS_FOR_BUILD CXXFLAGS_FOR_BUILD CXX_FOR_BUILD DLLTOOL_FOR_BUILD GCJ_FOR_BUILD GFORTRAN_FOR_BUILD LDFLAGS_FOR_BUILD LD_FOR_BUILD NM_FOR_BUILD RANLIB_FOR_BUILD WINDMC_FOR_BUILD WINDRES_FOR_BUILD config_shell YACC BISON M4 LEX FLEX MAKEINFO EXPECT RUNTEST AR AS DLLTOOL LD LIPO NM RANLIB STRIP WINDRES WINDMC OBJCOPY OBJDUMP CC_FOR_TARGET CXX_FOR_TARGET GCC_FOR_TARGET GCJ_FOR_TARGET GFORTRAN_FOR_TARGET AR_FOR_TARGET AS_FOR_TARGET DLLTOOL_FOR_TARGET LD_FOR_TARGET LIPO_FOR_TARGET NM_FOR_TARGET OBJDUMP_FOR_TARGET RANLIB_FOR_TARGET STRIP_FOR_TARGET WINDRES_FOR_TARGET WINDMC_FOR_TARGET RAW_CXX_FOR_TARGET FLAGS_FOR_TARGET COMPILER_AS_FOR_TARGET COMPILER_LD_FOR_TARGET COMPILER_NM_FOR_TARGET MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT stage1_cflags stage1_checking stage2_werror_flag datarootdir docdir pdfdir htmldir
LIBOBJS LTLIBOBJS'
++ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS TOPLEVEL_CONFIGURE_ARGUMENTS build build_cpu build_vendor build_os build_noncanonical host_noncanonical target_noncanonical host host_cpu host_vendor host_os target target_cpu target_vendor target_os INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA LN LN_S build_libsubdir build_subdir host_subdir target_subdir CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT CXX CXXFLAGS ac_ct_CXX GNATBIND ac_ct_GNATBIND GNATMAKE ac_ct_GNATMAKE do_compare gmplibs gmpinc extra_mpfr_configure_flags ppllibs pplinc clooglibs clooginc stage1_languages SYSROOT_CFLAGS_FOR_TARGET DEBUG_PREFIX_CFLAGS_FOR_TARGET CFLAGS_FOR_TARGET CXXFLAGS_FOR_TARGET RPATH_ENVVAR GCC_
SHLIB_SUBDIR tooldir build_tooldir CONFIGURE_GDB_TK GDB_TK INSTALL_GDB_TK build_configargs build_configdirs host_configargs configdirs target_configargs AR_FOR_BUILD AS_FOR_BUILD CC_FOR_BUILD CFLAGS_FOR_BUILD CXXFLAGS_FOR_BUILD CXX_FOR_BUILD DLLTOOL_FOR_BUILD GCJ_FOR_BUILD GFORTRAN_FOR_BUILD LDFLAGS_FOR_BUILD LD_FOR_BUILD NM_FOR_BUILD RANLIB_FOR_BUILD WINDMC_FOR_BUILD WINDRES_FOR_BUILD config_shell YACC BISON M4 LEX FLEX MAKEINFO EXPECT RUNTEST AR AS DLLTOOL LD LIPO NM RANLIB STRIP WINDRES WINDMC OBJCOPY OBJDUMP CC_FOR_TARGET CXX_FOR_TARGET GCC_FOR_TARGET GCJ_FOR_TARGET GFORTRAN_FOR_TARGET AR_FOR_TARGET AS_FOR_TARGET DLLTOOL_FOR_TARGET LD_FOR_TARGET LIPO_FOR_TARGET NM_FOR_TARGET OBJDUMP_FOR_TARGET RANLIB_FOR_TARGET STRIP_FOR_TARGET WINDRES_FOR_TARGET WINDMC_FOR_TARGET RAW_CXX_FOR_TARGET FLAGS_FOR_TARGET COMPILER_AS_FOR_TARGET COMPILER_LD_FOR_TARGET COMPILER_NM_FOR_TARGET MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT stage1_cflags stage1_checking stage2_werror_flag dataroo
tdir docdir pdfdir htmldir LIBOBJS LTLIBOBJS'
+ ac_subst_files='serialization_dependencies host_makefile_frag target_makefile_frag alphaieee_frag ospace_frag'
+ ac_pwd=`pwd`
+
+@@ -4596,6 +4596,7 @@
+ if test "x$with_gmp$with_gmp_include$with_gmp_lib" = x && test -d ${srcdir}/gmp; then
+ gmplibs='-L$$r/$(HOST_SUBDIR)/gmp/.libs -L$$r/$(HOST_SUBDIR)/gmp/_libs '"$gmplibs"
+ gmpinc='-I$$r/$(HOST_SUBDIR)/gmp -I$$s/gmp '"$gmpinc"
++ extra_mpfr_configure_flags='--with-gmp-build=$$r/$(HOST_SUBDIR)/gmp'
+ # Do not test the gmp version. Assume that it is sufficient, since
+ # it is in the source tree, and the library has not been built yet
+ # but it would be included on the link line in the version check below
+@@ -4810,6 +4811,7 @@
+
+
+
++
+ # Allow host libstdc++ to be specified for static linking with PPL.
+
+ # Check whether --with-host-libstdcxx or --without-host-libstdcxx was given.
+@@ -13251,6 +13253,7 @@
+ s, at do_compare@,$do_compare,;t t
+ s, at gmplibs@,$gmplibs,;t t
+ s, at gmpinc@,$gmpinc,;t t
++s, at extra_mpfr_configure_flags@,$extra_mpfr_configure_flags,;t t
+ s, at ppllibs@,$ppllibs,;t t
+ s, at pplinc@,$pplinc,;t t
+ s, at clooglibs@,$clooglibs,;t t
+Index: Makefile.in
+===================================================================
+--- Makefile.in (.../tags/gcc_4_4_0_release) (wersja 146826)
++++ Makefile.in (.../branches/gcc-4_4-branch) (wersja 146826)
+@@ -17068,7 +17068,7 @@
+ libsrcdir="$$s/mpfr"; \
+ $(SHELL) $${libsrcdir}/configure \
+ $(HOST_CONFIGARGS) --build=${build_alias} --host=none-${host_vendor}-${host_os} \
+- --target=none-${host_vendor}-${host_os} $${srcdiroption} --disable-shared --with-gmp-build=$$r/$(HOST_SUBDIR)/gmp \
++ --target=none-${host_vendor}-${host_os} $${srcdiroption} --disable-shared @extra_mpfr_configure_flags@ \
+ || exit 1
+ @endif mpfr
+
+@@ -17101,7 +17101,7 @@
+ $(HOST_CONFIGARGS) --build=${build_alias} --host=none-${host_vendor}-${host_os} \
+ --target=none-${host_vendor}-${host_os} $${srcdiroption} \
+ \
+- --disable-intermodule $(STAGE1_CHECKING) --disable-coverage --enable-languages="$(STAGE1_LANGUAGES)" --disable-shared --with-gmp-build=$$r/$(HOST_SUBDIR)/gmp
++ --disable-intermodule $(STAGE1_CHECKING) --disable-coverage --enable-languages="$(STAGE1_LANGUAGES)" --disable-shared @extra_mpfr_configure_flags@
+ @endif mpfr-bootstrap
+
+ .PHONY: configure-stage2-mpfr maybe-configure-stage2-mpfr
+@@ -17132,7 +17132,7 @@
+ $(HOST_CONFIGARGS) --build=${build_alias} --host=none-${host_vendor}-${host_os} \
+ --target=none-${host_vendor}-${host_os} $${srcdiroption} \
+ --with-build-libsubdir=$(HOST_SUBDIR) \
+- @stage2_werror_flag@ --disable-shared --with-gmp-build=$$r/$(HOST_SUBDIR)/gmp
++ @stage2_werror_flag@ --disable-shared @extra_mpfr_configure_flags@
+ @endif mpfr-bootstrap
+
+ .PHONY: configure-stageb2g0-mpfr maybe-configure-stageb2g0-mpfr
+@@ -17163,7 +17163,7 @@
+ $(HOST_CONFIGARGS) --build=${build_alias} --host=none-${host_vendor}-${host_os} \
+ --target=none-${host_vendor}-${host_os} $${srcdiroption} \
+ --with-build-libsubdir=$(HOST_SUBDIR) \
+- @stage2_werror_flag@ --disable-shared --with-gmp-build=$$r/$(HOST_SUBDIR)/gmp
++ @stage2_werror_flag@ --disable-shared @extra_mpfr_configure_flags@
+ @endif mpfr-bootstrap
+
+ .PHONY: configure-stage3-mpfr maybe-configure-stage3-mpfr
+@@ -17194,7 +17194,7 @@
+ $(HOST_CONFIGARGS) --build=${build_alias} --host=none-${host_vendor}-${host_os} \
+ --target=none-${host_vendor}-${host_os} $${srcdiroption} \
+ --with-build-libsubdir=$(HOST_SUBDIR) \
+- @stage2_werror_flag@ --disable-shared --with-gmp-build=$$r/$(HOST_SUBDIR)/gmp
++ @stage2_werror_flag@ --disable-shared @extra_mpfr_configure_flags@
+ @endif mpfr-bootstrap
+
+ .PHONY: configure-stageb3g2-mpfr maybe-configure-stageb3g2-mpfr
+@@ -17225,7 +17225,7 @@
+ $(HOST_CONFIGARGS) --build=${build_alias} --host=none-${host_vendor}-${host_os} \
+ --target=none-${host_vendor}-${host_os} $${srcdiroption} \
+ --with-build-libsubdir=$(HOST_SUBDIR) \
+- @stage2_werror_flag@ --disable-shared --with-gmp-build=$$r/$(HOST_SUBDIR)/gmp
++ @stage2_werror_flag@ --disable-shared @extra_mpfr_configure_flags@
+ @endif mpfr-bootstrap
+
+ .PHONY: configure-stage4-mpfr maybe-configure-stage4-mpfr
+@@ -17256,7 +17256,7 @@
+ $(HOST_CONFIGARGS) --build=${build_alias} --host=none-${host_vendor}-${host_os} \
+ --target=none-${host_vendor}-${host_os} $${srcdiroption} \
+ --with-build-libsubdir=$(HOST_SUBDIR) \
+- @stage2_werror_flag@ --disable-shared --with-gmp-build=$$r/$(HOST_SUBDIR)/gmp
++ @stage2_werror_flag@ --disable-shared @extra_mpfr_configure_flags@
+ @endif mpfr-bootstrap
+
+ .PHONY: configure-stageprofile-mpfr maybe-configure-stageprofile-mpfr
+@@ -17287,7 +17287,7 @@
+ $(HOST_CONFIGARGS) --build=${build_alias} --host=none-${host_vendor}-${host_os} \
+ --target=none-${host_vendor}-${host_os} $${srcdiroption} \
+ --with-build-libsubdir=$(HOST_SUBDIR) \
+- @stage2_werror_flag@ --disable-shared --with-gmp-build=$$r/$(HOST_SUBDIR)/gmp
++ @stage2_werror_flag@ --disable-shared @extra_mpfr_configure_flags@
+ @endif mpfr-bootstrap
+
+ .PHONY: configure-stagefeedback-mpfr maybe-configure-stagefeedback-mpfr
+@@ -17318,7 +17318,7 @@
+ $(HOST_CONFIGARGS) --build=${build_alias} --host=none-${host_vendor}-${host_os} \
+ --target=none-${host_vendor}-${host_os} $${srcdiroption} \
+ --with-build-libsubdir=$(HOST_SUBDIR) \
+- @stage2_werror_flag@ --disable-shared --with-gmp-build=$$r/$(HOST_SUBDIR)/gmp
++ @stage2_werror_flag@ --disable-shared @extra_mpfr_configure_flags@
+ @endif mpfr-bootstrap
+
+
+Index: gcc/fwprop.c
+===================================================================
+--- gcc/fwprop.c (.../tags/gcc_4_4_0_release) (wersja 146826)
++++ gcc/fwprop.c (.../branches/gcc-4_4-branch) (wersja 146826)
+@@ -1,5 +1,5 @@
+ /* RTL-based forward propagation pass for GNU compiler.
+- Copyright (C) 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
++ Copyright (C) 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
+ Contributed by Paolo Bonzini and Steven Bosscher.
+
+ This file is part of GCC.
+@@ -852,6 +852,80 @@
+ return false;
+ }
+
++/* Try to replace USE with SRC (defined in DEF_INSN) in __asm. */
++
++static bool
++forward_propagate_asm (df_ref use, rtx def_insn, rtx def_set, rtx reg)
++{
++ rtx use_insn = DF_REF_INSN (use), src, use_pat, asm_operands, new_rtx, *loc;
++ int speed_p, i;
++ df_ref *use_vec;
++
++ gcc_assert ((DF_REF_FLAGS (use) & DF_REF_IN_NOTE) == 0);
++
++ src = SET_SRC (def_set);
++ use_pat = PATTERN (use_insn);
++
++ /* In __asm don't replace if src might need more registers than
++ reg, as that could increase register pressure on the __asm. */
++ use_vec = DF_INSN_USES (def_insn);
++ if (use_vec[0] && use_vec[1])
++ return false;
++
++ speed_p = optimize_bb_for_speed_p (BLOCK_FOR_INSN (use_insn));
++ asm_operands = NULL_RTX;
++ switch (GET_CODE (use_pat))
++ {
++ case ASM_OPERANDS:
++ asm_operands = use_pat;
++ break;
++ case SET:
++ if (MEM_P (SET_DEST (use_pat)))
++ {
++ loc = &SET_DEST (use_pat);
++ new_rtx = propagate_rtx (*loc, GET_MODE (*loc), reg, src, speed_p);
++ if (new_rtx)
++ validate_unshare_change (use_insn, loc, new_rtx, true);
++ }
++ asm_operands = SET_SRC (use_pat);
++ break;
++ case PARALLEL:
++ for (i = 0; i < XVECLEN (use_pat, 0); i++)
++ if (GET_CODE (XVECEXP (use_pat, 0, i)) == SET)
++ {
++ if (MEM_P (SET_DEST (XVECEXP (use_pat, 0, i))))
++ {
++ loc = &SET_DEST (XVECEXP (use_pat, 0, i));
++ new_rtx = propagate_rtx (*loc, GET_MODE (*loc), reg,
++ src, speed_p);
++ if (new_rtx)
++ validate_unshare_change (use_insn, loc, new_rtx, true);
++ }
++ asm_operands = SET_SRC (XVECEXP (use_pat, 0, i));
++ }
++ else if (GET_CODE (XVECEXP (use_pat, 0, i)) == ASM_OPERANDS)
++ asm_operands = XVECEXP (use_pat, 0, i);
++ break;
++ default:
++ gcc_unreachable ();
++ }
++
++ gcc_assert (asm_operands && GET_CODE (asm_operands) == ASM_OPERANDS);
++ for (i = 0; i < ASM_OPERANDS_INPUT_LENGTH (asm_operands); i++)
++ {
++ loc = &ASM_OPERANDS_INPUT (asm_operands, i);
++ new_rtx = propagate_rtx (*loc, GET_MODE (*loc), reg, src, speed_p);
++ if (new_rtx)
++ validate_unshare_change (use_insn, loc, new_rtx, true);
++ }
++
++ if (num_changes_pending () == 0 || !apply_change_group ())
++ return false;
++
++ num_changes++;
++ return true;
++}
++
+ /* Try to replace USE with SRC (defined in DEF_INSN) and simplify the
+ result. */
+
+@@ -863,12 +937,16 @@
+ rtx src, reg, new_rtx, *loc;
+ bool set_reg_equal;
+ enum machine_mode mode;
++ int asm_use = -1;
+
+- if (!use_set)
++ if (INSN_CODE (use_insn) < 0)
++ asm_use = asm_noperands (PATTERN (use_insn));
++
++ if (!use_set && asm_use < 0)
+ return false;
+
+ /* Do not propagate into PC, CC0, etc. */
+- if (GET_MODE (SET_DEST (use_set)) == VOIDmode)
++ if (use_set && GET_MODE (SET_DEST (use_set)) == VOIDmode)
+ return false;
+
+ /* If def and use are subreg, check if they match. */
+@@ -900,7 +978,7 @@
+ if (MEM_P (src) && MEM_READONLY_P (src))
+ {
+ rtx x = avoid_constant_pool_reference (src);
+- if (x != src)
++ if (x != src && use_set)
+ {
+ rtx note = find_reg_note (use_insn, REG_EQUAL, NULL_RTX);
+ rtx old_rtx = note ? XEXP (note, 0) : SET_SRC (use_set);
+@@ -911,6 +989,9 @@
+ return false;
+ }
+
++ if (asm_use >= 0)
++ return forward_propagate_asm (use, def_insn, def_set, reg);
++
+ /* Else try simplifying. */
+
+ if (DF_REF_TYPE (use) == DF_REF_REG_MEM_STORE)
Index: gcc/ira-conflicts.c
===================================================================
---- gcc/ira-conflicts.c (.../tags/gcc_4_4_0_release) (wersja 146715)
-+++ gcc/ira-conflicts.c (.../branches/gcc-4_4-branch) (wersja 146715)
+--- gcc/ira-conflicts.c (.../tags/gcc_4_4_0_release) (wersja 146826)
++++ gcc/ira-conflicts.c (.../branches/gcc-4_4-branch) (wersja 146826)
@@ -411,9 +411,9 @@
/* Can not be tied. It is not in the cover class. */
return false;
@@ -16,15 +268,15 @@
ira_allocate_and_set_costs
Index: gcc/DATESTAMP
===================================================================
---- gcc/DATESTAMP (.../tags/gcc_4_4_0_release) (wersja 146715)
-+++ gcc/DATESTAMP (.../branches/gcc-4_4-branch) (wersja 146715)
+--- gcc/DATESTAMP (.../tags/gcc_4_4_0_release) (wersja 146826)
++++ gcc/DATESTAMP (.../branches/gcc-4_4-branch) (wersja 146826)
@@ -1 +1 @@
-20090421
-+20090424
++20090427
Index: gcc/fold-const.c
===================================================================
---- gcc/fold-const.c (.../tags/gcc_4_4_0_release) (wersja 146715)
-+++ gcc/fold-const.c (.../branches/gcc-4_4-branch) (wersja 146715)
+--- gcc/fold-const.c (.../tags/gcc_4_4_0_release) (wersja 146826)
++++ gcc/fold-const.c (.../branches/gcc-4_4-branch) (wersja 146826)
@@ -5293,31 +5293,34 @@
break;
@@ -82,15 +334,29 @@
}
Index: gcc/DEV-PHASE
===================================================================
---- gcc/DEV-PHASE (.../tags/gcc_4_4_0_release) (wersja 146715)
-+++ gcc/DEV-PHASE (.../branches/gcc-4_4-branch) (wersja 146715)
+--- gcc/DEV-PHASE (.../tags/gcc_4_4_0_release) (wersja 146826)
++++ gcc/DEV-PHASE (.../branches/gcc-4_4-branch) (wersja 146826)
@@ -0,0 +1 @@
+prerelease
Index: gcc/ChangeLog
===================================================================
---- gcc/ChangeLog (.../tags/gcc_4_4_0_release) (wersja 146715)
-+++ gcc/ChangeLog (.../branches/gcc-4_4-branch) (wersja 146715)
-@@ -1,3 +1,98 @@
+--- gcc/ChangeLog (.../tags/gcc_4_4_0_release) (wersja 146826)
++++ gcc/ChangeLog (.../branches/gcc-4_4-branch) (wersja 146826)
+@@ -1,3 +1,112 @@
++2009-04-26 Jakub Jelinek <jakub at redhat.com>
++
++ PR inline-asm/39543
++ * fwprop.c (forward_propagate_asm): New function.
++ (forward_propagate_and_simplify): Propagate also into __asm, if it
++ doesn't increase the number of referenced registers.
++
++ PR c/39889
++ * stmt.c (warn_if_unused_value): Look through NON_LVALUE_EXPR.
++
++2009-04-24 Andreas Krebbel <krebbel1 at de.ibm.com>
++
++ * config/s390/constraints.md ('I', 'J'): Fix condition.
++
+2009-04-24 Paolo Bonzini <bonzini at gnu.org>
+
+ PR middle-end/39867
@@ -192,7 +458,7 @@
Index: gcc/testsuite/gcc.c-torture/compile/pr39824.c
===================================================================
--- gcc/testsuite/gcc.c-torture/compile/pr39824.c (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/gcc.c-torture/compile/pr39824.c (.../branches/gcc-4_4-branch) (wersja 146715)
++++ gcc/testsuite/gcc.c-torture/compile/pr39824.c (.../branches/gcc-4_4-branch) (wersja 146826)
@@ -0,0 +1,26 @@
+static const double internalEndianMagic = 7.949928895127363e-275;
+static const unsigned char ieee_754_mantissa_mask[] = { 0x00, 0x0F, 0xFF, 0xFF,
@@ -223,7 +489,7 @@
Index: gcc/testsuite/gcc.c-torture/compile/pr39845.c
===================================================================
--- gcc/testsuite/gcc.c-torture/compile/pr39845.c (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/gcc.c-torture/compile/pr39845.c (.../branches/gcc-4_4-branch) (wersja 146715)
++++ gcc/testsuite/gcc.c-torture/compile/pr39845.c (.../branches/gcc-4_4-branch) (wersja 146826)
@@ -0,0 +1,43 @@
+typedef union tree_node *tree;
+enum tree_code { EXCESS_PRECISION_EXPR };
@@ -268,10 +534,170 @@
+ return convert_arguments (function);
+}
+
+Index: gcc/testsuite/gcc.target/i386/pr39543-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/pr39543-1.c (.../tags/gcc_4_4_0_release) (wersja 0)
++++ gcc/testsuite/gcc.target/i386/pr39543-1.c (.../branches/gcc-4_4-branch) (wersja 146826)
+@@ -0,0 +1,52 @@
++/* PR inline-asm/39543 */
++/* { dg-do compile } */
++/* { dg-options "-O3 -fomit-frame-pointer" } */
++
++float __attribute__ ((aligned (16))) s0[128];
++const float s1 = 0.707;
++float s2[8] __attribute__ ((aligned (16)));
++float s3[8] __attribute__ ((aligned (16)));
++float s4[16] __attribute__ ((aligned (16)));
++float s5[16] __attribute__ ((aligned (16)));
++
++void
++foo (int k, float *x, float *y, const float *d, const float *z)
++{
++ float *a, *b, *c, *e;
++
++ a = x + 2 * k;
++ b = a + 2 * k;
++ c = b + 2 * k;
++ e = y + 2 * k;
++ __asm__ volatile (""
++ : "=m" (x[0]), "=m" (b[0]), "=m" (a[0]), "=m" (c[0])
++ : "m" (y[0]), "m" (y[k * 2]), "m" (x[0]), "m" (a[0])
++ : "memory");
++ for (;;)
++ {
++ __asm__ volatile (""
++ :
++ : "m" (y[2]), "m" (d[2]), "m" (e[2]), "m" (z[2])
++ : "memory");
++ if (!--k)
++ break;
++ }
++ __asm__ volatile (""
++ : "=m" (x[2]), "=m" (x[10]), "=m" (x[6]), "=m" (x[14])
++ : "m" (y[2]), "m" (y[6]), "m" (x[2]), "m" (x[6]),
++ "m" (y[18]), "m" (s1)
++ : "memory");
++}
++
++void
++bar (float *a)
++{
++ foo (4, a, a + 16, s2, s3);
++ foo (8, a, a + 32, s4, s5);
++}
++
++void
++baz (void)
++{
++ bar (s0);
++}
+Index: gcc/testsuite/gcc.target/i386/pr39543-3.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/pr39543-3.c (.../tags/gcc_4_4_0_release) (wersja 0)
++++ gcc/testsuite/gcc.target/i386/pr39543-3.c (.../branches/gcc-4_4-branch) (wersja 146826)
+@@ -0,0 +1,42 @@
++/* PR inline-asm/39543 */
++/* { dg-do compile } */
++/* { dg-options "-O2" } */
++
++int s[128];
++
++void
++f1 (void)
++{
++ int i;
++ asm volatile ("# %0 %1 %2 %3 %4 %5 %6 %7 %8 %9 %10 %11 %12 %13 %14 %15 %16 %17"
++ : "=r" (i)
++ : "m" (s[0]), "m" (s[2]), "m" (s[4]), "m" (s[6]), "m" (s[8]),
++ "m" (s[10]), "m" (s[12]), "m" (s[14]), "m" (s[16]), "m" (s[18]),
++ "m" (s[20]), "m" (s[22]), "m" (s[24]), "m" (s[26]), "m" (s[28]),
++ "m" (s[30]), "m" (s[32]));
++ asm volatile ("# %0 %1 %2 %3 %4 %5 %6 %7 %8 %9 %10 %11 %12 %13 %14 %15 %16 %17"
++ : "=r" (i)
++ : "m" (s[0]), "m" (s[2]), "m" (s[4]), "m" (s[6]), "m" (s[8]),
++ "m" (s[10]), "m" (s[12]), "m" (s[14]), "m" (s[16]), "m" (s[18]),
++ "m" (s[20]), "m" (s[22]), "m" (s[24]), "m" (s[26]), "m" (s[28]),
++ "m" (s[30]), "m" (s[32]));
++}
++
++void
++f2 (int *q)
++{
++ int i;
++ int *p = q + 32;
++ asm volatile ("# %0 %1 %2 %3 %4 %5 %6 %7 %8 %9 %10 %11 %12 %13 %14 %15 %16 %17"
++ : "=r" (i)
++ : "m" (p[0]), "m" (p[2]), "m" (p[4]), "m" (p[6]), "m" (p[8]),
++ "m" (p[10]), "m" (p[12]), "m" (p[14]), "m" (p[16]), "m" (p[18]),
++ "m" (p[20]), "m" (p[22]), "m" (p[24]), "m" (p[26]), "m" (p[28]),
++ "m" (p[30]), "m" (p[32]));
++ asm volatile ("# %0 %1 %2 %3 %4 %5 %6 %7 %8 %9 %10 %11 %12 %13 %14 %15 %16 %17"
++ : "=r" (i)
++ : "m" (p[0]), "m" (p[2]), "m" (p[4]), "m" (p[6]), "m" (p[8]),
++ "m" (p[10]), "m" (p[12]), "m" (p[14]), "m" (p[16]), "m" (p[18]),
++ "m" (p[20]), "m" (p[22]), "m" (p[24]), "m" (p[26]), "m" (p[28]),
++ "m" (p[30]), "m" (p[32]));
++}
+Index: gcc/testsuite/gcc.target/i386/pr39543-2.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/pr39543-2.c (.../tags/gcc_4_4_0_release) (wersja 0)
++++ gcc/testsuite/gcc.target/i386/pr39543-2.c (.../branches/gcc-4_4-branch) (wersja 146826)
+@@ -0,0 +1,51 @@
++/* PR inline-asm/39543 */
++/* { dg-do compile } */
++/* { dg-options "-O3" } */
++
++float __attribute__ ((aligned (16))) s0[128];
++const float s1 = 0.707;
++float s2[8] __attribute__ ((aligned (16)));
++float s3[8] __attribute__ ((aligned (16)));
++float s4[16] __attribute__ ((aligned (16)));
++float s5[16] __attribute__ ((aligned (16)));
++
++void
++foo (int k, float *x, float *y, const float *d, const float *z)
++{
++ float *a, *b, *c, *e;
++
++ a = x + 2 * k;
++ b = a + 2 * k;
++ c = b + 2 * k;
++ e = y + 2 * k;
++ __asm__ volatile (""
++ : "=m" (x[0]), "=m" (b[0]), "=m" (a[0]), "=m" (c[0])
++ : "m" (y[0]), "m" (y[k * 2]), "m" (x[0]), "m" (a[0])
++ : "memory");
++ for (;;)
++ {
++ __asm__ volatile (""
++ :
++ : "m" (y[2]), "m" (d[2]), "m" (e[2]), "m" (z[2])
++ : "memory");
++ if (!--k)
++ break;
++ }
++ __asm__ volatile (""
++ : "=m" (x[2]), "=m" (x[10]), "=m" (x[6]), "=m" (x[14])
++ : "m" (y[2]), "m" (y[6]), "m" (x[2]), "m" (x[6]), "m" (s1)
++ : "memory");
++}
++
++void
++bar (float *a)
++{
++ foo (4, a, a + 16, s2, s3);
++ foo (8, a, a + 32, s4, s5);
++}
++
++void
++baz (void)
++{
++ bar (s0);
++}
Index: gcc/testsuite/gnat.dg/enum2_pkg.ads
===================================================================
--- gcc/testsuite/gnat.dg/enum2_pkg.ads (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/gnat.dg/enum2_pkg.ads (.../branches/gcc-4_4-branch) (wersja 146715)
++++ gcc/testsuite/gnat.dg/enum2_pkg.ads (.../branches/gcc-4_4-branch) (wersja 146826)
@@ -0,0 +1,8 @@
+with Ada.Finalization; use Ada.Finalization;
+
@@ -284,7 +710,7 @@
Index: gcc/testsuite/gnat.dg/enum2.adb
===================================================================
--- gcc/testsuite/gnat.dg/enum2.adb (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/gnat.dg/enum2.adb (.../branches/gcc-4_4-branch) (wersja 146715)
++++ gcc/testsuite/gnat.dg/enum2.adb (.../branches/gcc-4_4-branch) (wersja 146826)
@@ -0,0 +1,11 @@
+-- { dg-do run }
+-- { dg-options "-gnat05 -O2" }
@@ -300,7 +726,7 @@
Index: gcc/testsuite/gcc.dg/torture/pr39855.c
===================================================================
--- gcc/testsuite/gcc.dg/torture/pr39855.c (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/gcc.dg/torture/pr39855.c (.../branches/gcc-4_4-branch) (wersja 146715)
++++ gcc/testsuite/gcc.dg/torture/pr39855.c (.../branches/gcc-4_4-branch) (wersja 146826)
@@ -0,0 +1,24 @@
+/* PR c/39855 */
+/* { dg-do run { target { int32plus } } } */
@@ -329,7 +755,7 @@
Index: gcc/testsuite/gcc.dg/torture/pr39829.c
===================================================================
--- gcc/testsuite/gcc.dg/torture/pr39829.c (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/gcc.dg/torture/pr39829.c (.../branches/gcc-4_4-branch) (wersja 146715)
++++ gcc/testsuite/gcc.dg/torture/pr39829.c (.../branches/gcc-4_4-branch) (wersja 146826)
@@ -0,0 +1,27 @@
+/* { dg-do compile } */
+/* { dg-options "-w" } */
@@ -361,7 +787,7 @@
Index: gcc/testsuite/gcc.dg/pr39867.c
===================================================================
--- gcc/testsuite/gcc.dg/pr39867.c (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/gcc.dg/pr39867.c (.../branches/gcc-4_4-branch) (wersja 146715)
++++ gcc/testsuite/gcc.dg/pr39867.c (.../branches/gcc-4_4-branch) (wersja 146826)
@@ -0,0 +1,12 @@
+/* { dg-do link } */
+/* { dg-options "-O2" } */
@@ -375,11 +801,35 @@
+ return 0;
+}
+
+Index: gcc/testsuite/gcc.dg/Wunused-value-3.c
+===================================================================
+--- gcc/testsuite/gcc.dg/Wunused-value-3.c (.../tags/gcc_4_4_0_release) (wersja 0)
++++ gcc/testsuite/gcc.dg/Wunused-value-3.c (.../branches/gcc-4_4-branch) (wersja 146826)
+@@ -0,0 +1,9 @@
++/* PR c/39889 */
++/* { dg-do compile } */
++/* { dg-options "-Wunused-value" } */
++
++int x;
++int foo (void)
++{
++ return (1 ? x = 0 : (void) 0), 0; /* { dg-bogus "value computed is not used" } */
++}
Index: gcc/testsuite/ChangeLog
===================================================================
---- gcc/testsuite/ChangeLog (.../tags/gcc_4_4_0_release) (wersja 146715)
-+++ gcc/testsuite/ChangeLog (.../branches/gcc-4_4-branch) (wersja 146715)
-@@ -1,3 +1,110 @@
+--- gcc/testsuite/ChangeLog (.../tags/gcc_4_4_0_release) (wersja 146826)
++++ gcc/testsuite/ChangeLog (.../branches/gcc-4_4-branch) (wersja 146826)
+@@ -1,3 +1,120 @@
++2009-04-26 Jakub Jelinek <jakub at redhat.com>
++
++ PR inline-asm/39543
++ * gcc.target/i386/pr39543-1.c: New test.
++ * gcc.target/i386/pr39543-2.c: New test.
++ * gcc.target/i386/pr39543-3.c: New test.
++
++ PR c/39889
++ * gcc.dg/Wunused-value-3.c: New test.
++
+2009-04-24 Paolo Bonzini <bonzini at gnu.org>
+
+ PR middle-end/39867
@@ -493,7 +943,7 @@
Index: gcc/testsuite/gfortran.fortran-torture/execute/getarg_1.x
===================================================================
--- gcc/testsuite/gfortran.fortran-torture/execute/getarg_1.x (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/gfortran.fortran-torture/execute/getarg_1.x (.../branches/gcc-4_4-branch) (wersja 146715)
++++ gcc/testsuite/gfortran.fortran-torture/execute/getarg_1.x (.../branches/gcc-4_4-branch) (wersja 146826)
@@ -0,0 +1,5 @@
+if [istarget "spu-*-*"] {
+ # We need -mstdmain to enable argument processing on SPU.
<<Diff was trimmed, longer than 597 lines>>
---- CVS-web:
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/SOURCES/gcc-branch.diff?r1=1.11&r2=1.12&f=u
More information about the pld-cvs-commit
mailing list