diff options
Diffstat (limited to 'gcc')
71 files changed, 226 insertions, 81 deletions
diff --git a/gcc/Makefile.in b/gcc/Makefile.in index 166883c1794..dda0ffab6fb 100644 --- a/gcc/Makefile.in +++ b/gcc/Makefile.in @@ -718,6 +718,8 @@ version := $(BASEVER_c) BASEVER_s := "\"$(BASEVER_c)\"" DEVPHASE_s := "\"$(if $(DEVPHASE_c), ($(DEVPHASE_c)))\"" DATESTAMP_s := "\"$(if $(DEVPHASE_c), $(DATESTAMP_c))\"" +VERSUFFIX_s := "\"@VERSUFFIX@\"" +BUGURL_s := "\"@BUGURL@\"" # Shorthand variables for dependency lists. TARGET_H = $(TM_H) target.h insn-modes.h @@ -1684,7 +1686,8 @@ dumpvers: dumpvers.c version.o: version.c version.h $(DATESTAMP) $(BASEVER) $(DEVPHASE) $(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) \ -DBASEVER=$(BASEVER_s) -DDATESTAMP=$(DATESTAMP_s) \ - -DDEVPHASE=$(DEVPHASE_s) -c $(srcdir)/version.c $(OUTPUT_OPTION) + -DDEVPHASE=$(DEVPHASE_s) -DVERSUFFIX=$(VERSUFFIX_s) \ + -DBUGURL=$(BUGURL_s) -c $(srcdir)/version.c $(OUTPUT_OPTION) gtype-desc.o: gtype-desc.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \ $(VARRAY_H) $(HASHTAB_H) $(SPLAY_TREE_H) bitmap.h $(TREE_H) $(RTL_H) \ diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c index 283066917a3..c151c83b3df 100644 --- a/gcc/config/arm/arm.c +++ b/gcc/config/arm/arm.c @@ -9284,7 +9284,7 @@ output_move_vfp (rtx *operands) load ? "ld" : "st", dp ? 'd' : 's', dp ? "P" : "", - integer_p ? "\\t%@ int" : ""); + integer_p ? "\t%@ int" : ""); output_asm_insn (buff, ops); return ""; diff --git a/gcc/config/mips/mips.c b/gcc/config/mips/mips.c index 1a8bddb8e2c..c69d0099023 100644 --- a/gcc/config/mips/mips.c +++ b/gcc/config/mips/mips.c @@ -1446,18 +1446,16 @@ mips_symbolic_address_p (enum mips_symbol_type symbol_type, /* The address will have to be loaded from the GOT first. */ return false; - case SYMBOL_TLSGD: - case SYMBOL_TLSLDM: - case SYMBOL_DTPREL: - case SYMBOL_TPREL: - case SYMBOL_GOTTPREL: - case SYMBOL_TLS: - return false; - case SYMBOL_GOTOFF_PAGE: case SYMBOL_GOTOFF_GLOBAL: case SYMBOL_GOTOFF_CALL: case SYMBOL_GOTOFF_LOADGP: + case SYMBOL_TLS: + case SYMBOL_TLSGD: + case SYMBOL_TLSLDM: + case SYMBOL_DTPREL: + case SYMBOL_GOTTPREL: + case SYMBOL_TPREL: case SYMBOL_64_HIGH: case SYMBOL_64_MID: case SYMBOL_64_LOW: diff --git a/gcc/configure b/gcc/configure index 1f1133b5354..83ef8a61248 100755 --- a/gcc/configure +++ b/gcc/configure @@ -309,7 +309,7 @@ ac_includes_default="\ # include <unistd.h> #endif" -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 build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os target_noncanonical build_subdir host_subdir target_subdir GENINSRC CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT NO_MINUS_C_MINUS_O OUTPUT_OPTION CPP EGREP strict1_warn warn_cflags WERROR nocommon_flag TREEBROWSER valgrind_path valgrind_path_defines valgrind_command coverage_flags enable_multilib enable_shared TARGET_SYSTEM_ROOT TARGET_SYSTEM_ROOT_DEFINE CROSS_SYSTEM_HEADER_DIR onestep datarootdir docdir htmldir SET_MAKE AWK LN_S LN RANLIB ac_ct_RANLIB ranlib_flags INSTALL INSTALL_PROGRAM INSTALL_DATA make_compare_target have_mktemp_command MAKEINFO BUILD_INFO GENERATED_MANPAGES FLEX BISON NM AR stage1_cflags COLLECT2_LIBS GNAT_LIBEXC LDEXP_LIB TARGET_GETGROUPS_T LIBICONV LTLIBICONV LIBICONV_DEP manext objext gthread_flags extra_modes_file extra_opt_files USE_NLS LIBINTL LIBINTL_DEP INCINTL XGETTEXT GMSGFMT POSUB CATALOGS host_cc_for_libada CROSS ALL SYSTEM_HEADER_DIR inhibit_libc CC_FOR_BUILD BUILD_CFLAGS STMP_FIXINC STMP_FIXPROTO collect2 gcc_cv_as ORIGINAL_AS_FOR_TARGET gcc_cv_ld ORIGINAL_LD_FOR_TARGET gcc_cv_nm ORIGINAL_NM_FOR_TARGET gcc_cv_objdump ORIGINAL_OBJDUMP_FOR_TARGET libgcc_visibility GGC zlibdir zlibinc MAINT gcc_tooldir dollar slibdir objdir subdirs srcdir all_boot_languages all_compilers all_gtfiles all_gtfiles_files_langs all_gtfiles_files_files all_lang_makefrags all_lang_makefiles all_languages all_stagestuff build_exeext build_install_headers_dir build_xm_file_list build_xm_include_list build_xm_defines check_languages cc_set_by_configure quoted_cc_set_by_configure cpp_install_dir xmake_file tmake_file extra_gcc_objs extra_headers_list extra_objs extra_parts extra_passes extra_programs float_h_file gcc_config_arguments gcc_gxx_include_dir libstdcxx_incdir host_exeext host_xm_file_list host_xm_include_list host_xm_defines out_host_hook_obj install lang_opt_files lang_specs_files lang_tree_files local_prefix md_file objc_boehm_gc out_file out_object_file stage_prefix_set_by_configure quoted_stage_prefix_set_by_configure thread_file tm_file_list tm_include_list tm_defines tm_p_file_list tm_p_include_list xm_file_list xm_include_list xm_defines c_target_objs cxx_target_objs target_cpu_default GMPLIBS GMPINC 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 build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os target_noncanonical build_subdir host_subdir target_subdir GENINSRC CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT NO_MINUS_C_MINUS_O OUTPUT_OPTION CPP EGREP strict1_warn warn_cflags WERROR nocommon_flag TREEBROWSER valgrind_path valgrind_path_defines valgrind_command coverage_flags enable_multilib enable_shared TARGET_SYSTEM_ROOT TARGET_SYSTEM_ROOT_DEFINE CROSS_SYSTEM_HEADER_DIR onestep VERSUFFIX BUGURL datarootdir docdir htmldir SET_MAKE AWK LN_S LN RANLIB ac_ct_RANLIB ranlib_flags INSTALL INSTALL_PROGRAM INSTALL_DATA make_compare_target have_mktemp_command MAKEINFO BUILD_INFO GENERATED_MANPAGES FLEX BISON NM AR stage1_cflags COLLECT2_LIBS GNAT_LIBEXC LDEXP_LIB TARGET_GETGROUPS_T LIBICONV LTLIBICONV LIBICONV_DEP manext objext gthread_flags extra_modes_file extra_opt_files USE_NLS LIBINTL LIBINTL_DEP INCINTL XGETTEXT GMSGFMT POSUB CATALOGS host_cc_for_libada CROSS ALL SYSTEM_HEADER_DIR inhibit_libc CC_FOR_BUILD BUILD_CFLAGS STMP_FIXINC STMP_FIXPROTO collect2 gcc_cv_as ORIGINAL_AS_FOR_TARGET gcc_cv_ld ORIGINAL_LD_FOR_TARGET gcc_cv_nm ORIGINAL_NM_FOR_TARGET gcc_cv_objdump ORIGINAL_OBJDUMP_FOR_TARGET libgcc_visibility GGC zlibdir zlibinc MAINT gcc_tooldir dollar slibdir objdir subdirs srcdir all_boot_languages all_compilers all_gtfiles all_gtfiles_files_langs all_gtfiles_files_files all_lang_makefrags all_lang_makefiles all_languages all_stagestuff build_exeext build_install_headers_dir build_xm_file_list build_xm_include_list build_xm_defines check_languages cc_set_by_configure quoted_cc_set_by_configure cpp_install_dir xmake_file tmake_file extra_gcc_objs extra_headers_list extra_objs extra_parts extra_passes extra_programs float_h_file gcc_config_arguments gcc_gxx_include_dir libstdcxx_incdir host_exeext host_xm_file_list host_xm_include_list host_xm_defines out_host_hook_obj install lang_opt_files lang_specs_files lang_tree_files local_prefix md_file objc_boehm_gc out_file out_object_file stage_prefix_set_by_configure quoted_stage_prefix_set_by_configure thread_file tm_file_list tm_include_list tm_defines tm_p_file_list tm_p_include_list xm_file_list xm_include_list xm_defines c_target_objs cxx_target_objs target_cpu_default GMPLIBS GMPINC LIBOBJS LTLIBOBJS' ac_subst_files='language_hooks' # Initialize some variables set by options. @@ -927,6 +927,8 @@ Optional Packages: --with-build-sysroot=sysroot use sysroot as the system root during the build --with-sysroot=DIR Search for usr/lib, usr/include, et al, within DIR. + --with-versuffix=SFX Append SFX to the version string + --with-bugurl=URL Direct users to URL to report a bug --with-gnu-ld assume the C compiler uses GNU ld default=no --with-libiconv-prefix[=DIR] search for libiconv in DIR/include and DIR/lib --without-libiconv-prefix don't search for libiconv in includedir and libdir @@ -7015,6 +7017,44 @@ else fi; +# The trailing component of the string reported as the version number +# by all components of the compiler. For an official FSF release, it +# is empty. + +# Check whether --with-versuffix or --without-versuffix was given. +if test "${with_versuffix+set}" = set; then + withval="$with_versuffix" + case "$withval" in + yes) { { echo "$as_me:$LINENO: error: version suffix not specified" >&5 +echo "$as_me: error: version suffix not specified" >&2;} + { (exit 1); exit 1; }; } ;; + no) VERSUFFIX=" (CodeSourcery Unofficial)" ;; + *) VERSUFFIX=" ($withval)" ;; + esac +else + VERSUFFIX= + +fi; + + +# The location to which bugs should be reported. + +# Check whether --with-bugurl or --without-bugurl was given. +if test "${with_bugurl+set}" = set; then + withval="$with_bugurl" + case "$withval" in + yes) { { echo "$as_me:$LINENO: error: bug URL not specified" >&5 +echo "$as_me: error: bug URL not specified" >&2;} + { (exit 1); exit 1; }; } ;; + no) BUGURL="<unsupported>" ;; + *) BUGURL="<URL:$withval>" ;; + esac +else + BUGURL="<URL:http://gcc.gnu.org/bugs.html>" + +fi; + + # Sanity check enable_languages in case someone does not run the toplevel # configure # script. # Check whether --enable-languages or --disable-languages was given. @@ -7496,7 +7536,7 @@ if test "${gcc_cv_prog_makeinfo_modern+set}" = set; then else ac_prog_version=`$MAKEINFO --version 2>&1 | sed -n 's/^.*GNU texinfo.* \([0-9][0-9.]*\).*$/\1/p'` - echo "configure:7499: version of makeinfo is $ac_prog_version" >&5 + echo "configure:7539: version of makeinfo is $ac_prog_version" >&5 case $ac_prog_version in '') gcc_cv_prog_makeinfo_modern=no;; 4.[2-9]*) @@ -17244,6 +17284,8 @@ s,@TARGET_SYSTEM_ROOT@,$TARGET_SYSTEM_ROOT,;t t s,@TARGET_SYSTEM_ROOT_DEFINE@,$TARGET_SYSTEM_ROOT_DEFINE,;t t s,@CROSS_SYSTEM_HEADER_DIR@,$CROSS_SYSTEM_HEADER_DIR,;t t s,@onestep@,$onestep,;t t +s,@VERSUFFIX@,$VERSUFFIX,;t t +s,@BUGURL@,$BUGURL,;t t s,@datarootdir@,$datarootdir,;t t s,@docdir@,$docdir,;t t s,@htmldir@,$htmldir,;t t diff --git a/gcc/configure.ac b/gcc/configure.ac index 173b382595a..e73aeae025f 100644 --- a/gcc/configure.ac +++ b/gcc/configure.ac @@ -742,6 +742,34 @@ esac], [onestep=""]) AC_SUBST(onestep) +# The trailing component of the string reported as the version number +# by all components of the compiler. For an official FSF release, it +# is empty. +AC_ARG_WITH(versuffix, + AS_HELP_STRING([--with-versuffix=SFX], + [Append SFX to the version string]), + [case "$withval" in + yes) AC_MSG_ERROR([version suffix not specified]) ;; + no) VERSUFFIX=" (CodeSourcery Unofficial)" ;; + *) VERSUFFIX=" ($withval)" ;; + esac], + VERSUFFIX= +) +AC_SUBST(VERSUFFIX) + +# The location to which bugs should be reported. +AC_ARG_WITH(bugurl, + AS_HELP_STRING([--with-bugurl=URL], + [Direct users to URL to report a bug]), + [case "$withval" in + yes) AC_MSG_ERROR([bug URL not specified]) ;; + no) BUGURL="<unsupported>" ;; + *) BUGURL="<URL:$withval>" ;; + esac], + BUGURL="<URL:http://gcc.gnu.org/bugs.html>" +) +AC_SUBST(BUGURL) + # Sanity check enable_languages in case someone does not run the toplevel # configure # script. AC_ARG_ENABLE(languages, diff --git a/gcc/doc/install.texi b/gcc/doc/install.texi index 8e92223925e..3a0b8d17095 100644 --- a/gcc/doc/install.texi +++ b/gcc/doc/install.texi @@ -546,6 +546,30 @@ To configure GCC: % @var{srcdir}/configure [@var{options}] [@var{target}] @end smallexample +@heading Distributor options + +If you will be distributing binary versions of GCC, with modifications +to the source code, you should use the options described in this +section to make clear that your version contains modifications. + +@table @code +@item --with-versuffix=@var{suffix} +Specify a string that identifies your organization. You may also wish +to include a build number or build date. This version string will be +included in the output of @command{gcc --version}. This suffix does +not replace the default version string; instead, it is appended to the +existing version string. + +The default value is the empty string. + +@item --with-bugurl=@var{url} +Specify the URL that users should visit if they wish to report a bug. +You are of course welcome to forward bugs reported to you to the FSF, +if you determine that they are not bugs in your modifications. + +The default value refers to the FSF's GCC bug tracker. + +@end table @heading Target specification @itemize @bullet diff --git a/gcc/testsuite/g++.dg/eh/simd-2.C b/gcc/testsuite/g++.dg/eh/simd-2.C index 813930faeba..a6f2a3fabc1 100644 --- a/gcc/testsuite/g++.dg/eh/simd-2.C +++ b/gcc/testsuite/g++.dg/eh/simd-2.C @@ -2,7 +2,7 @@ // Contributed by Aldy Hernandez (aldy@quesejoda.com). // { dg-options "-O" } // { dg-options "-O -w" { target { { i?86-*-* x86_64-*-* } && ilp32 } } } -// { dg-options "-O -w -maltivec" { target powerpc*-*-linux* } } +// { dg-options "-O -w -maltivec" { target { powerpc*-*-linux* && powerpc_altivec_ok } } } // { dg-xfail-if "" { "powerpc-*-eabispe*" "powerpc-ibm-aix*" } { "*" } { "" } } // { dg-do run } diff --git a/gcc/testsuite/g++.dg/ext/altivec-1.C b/gcc/testsuite/g++.dg/ext/altivec-1.C index 7e382babf11..cd7c3aad261 100644 --- a/gcc/testsuite/g++.dg/ext/altivec-1.C +++ b/gcc/testsuite/g++.dg/ext/altivec-1.C @@ -1,5 +1,5 @@ /* { dg-do compile { target powerpc*-*-* } } */ -/* { dg-xfail-if "" { "powerpc-*-eabispe*" "powerpc-ibm-aix*" } { "*" } { "" } } */ +/* { dg-require-effective-target powerpc_altivec_ok } */ /* { dg-options "-maltivec" } */ #include <altivec.h> diff --git a/gcc/testsuite/g++.dg/ext/altivec-10.C b/gcc/testsuite/g++.dg/ext/altivec-10.C index 36cce7e01fa..7f7d2b013de 100644 --- a/gcc/testsuite/g++.dg/ext/altivec-10.C +++ b/gcc/testsuite/g++.dg/ext/altivec-10.C @@ -1,7 +1,7 @@ /* This is a compile-only test for interaction of "-maltivec" and "-save-temps". */ /* Author: Ziemowit Laski <zlaski@apple.com>. */ /* { dg-do compile { target powerpc*-*-* } } */ -/* { dg-xfail-if "" { "powerpc-*-eabispe*" "powerpc-ibm-aix*" } { "*" } { "" } } */ +/* { dg-require-effective-target powerpc_altivec_ok } */ /* { dg-options "-save-temps -maltivec" } */ #include <altivec.h> diff --git a/gcc/testsuite/g++.dg/ext/altivec-11.C b/gcc/testsuite/g++.dg/ext/altivec-11.C index 9e7fe952849..ff3016953d8 100644 --- a/gcc/testsuite/g++.dg/ext/altivec-11.C +++ b/gcc/testsuite/g++.dg/ext/altivec-11.C @@ -1,6 +1,6 @@ /* Test handling of literal constant for dss operation. */ /* { dg-do compile { target powerpc*-*-* } } */ -/* { dg-xfail-if "" { "powerpc-*-eabispe*" "powerpc-ibm-aix*" } { "*" } { "" } } */ +/* { dg-require-effective-target powerpc_altivec_ok } */ /* { dg-options "-maltivec" } */ #include <altivec.h> diff --git a/gcc/testsuite/g++.dg/ext/altivec-12.C b/gcc/testsuite/g++.dg/ext/altivec-12.C index 6e28204fcc5..6f21da961b2 100644 --- a/gcc/testsuite/g++.dg/ext/altivec-12.C +++ b/gcc/testsuite/g++.dg/ext/altivec-12.C @@ -1,6 +1,6 @@ /* Test vec_dst* functions with float pointer as first argument. */ /* { dg-do compile { target powerpc*-*-* } } */ -/* { dg-xfail-if "" { "powerpc-*-eabispe*" "powerpc-ibm-aix*" } { "*" } { "" } } */ +/* { dg-require-effective-target powerpc_altivec_ok } */ /* { dg-options "-maltivec" } */ #include <altivec.h> diff --git a/gcc/testsuite/g++.dg/ext/altivec-13.C b/gcc/testsuite/g++.dg/ext/altivec-13.C index f82fde950e5..abc05af62d5 100644 --- a/gcc/testsuite/g++.dg/ext/altivec-13.C +++ b/gcc/testsuite/g++.dg/ext/altivec-13.C @@ -3,9 +3,9 @@ AltiVec testsuite. */ /* { dg-do compile { target powerpc*-*-* } } */ -/* { dg-xfail-if "" { "powerpc-*-eabispe*" "powerpc-ibm-aix*" } { "*" } { "" } } */ +/* { dg-require-effective-target powerpc_altivec_ok } */ /* { dg-options "-maltivec" } */ - + #include <altivec.h> extern vector unsigned char vuc; diff --git a/gcc/testsuite/g++.dg/ext/altivec-2.C b/gcc/testsuite/g++.dg/ext/altivec-2.C index 24a0ef228a8..6a404b266d8 100644 --- a/gcc/testsuite/g++.dg/ext/altivec-2.C +++ b/gcc/testsuite/g++.dg/ext/altivec-2.C @@ -1,5 +1,5 @@ /* { dg-do compile { target powerpc*-*-* } } */ -/* { dg-xfail-if "" { "powerpc-*-eabispe*" "powerpc-ibm-aix*" } { "*" } { "" } } */ +/* { dg-require-effective-target powerpc_altivec_ok } */ /* { dg-options "-maltivec -Wall" } */ /* This test checks if AltiVec builtins accept const-qualified diff --git a/gcc/testsuite/g++.dg/ext/altivec-3.C b/gcc/testsuite/g++.dg/ext/altivec-3.C index e480299e1ae..8ac401ce7ce 100644 --- a/gcc/testsuite/g++.dg/ext/altivec-3.C +++ b/gcc/testsuite/g++.dg/ext/altivec-3.C @@ -1,5 +1,5 @@ /* { dg-do run { target powerpc*-*-* } } */ -/* { dg-xfail-if "" { "powerpc-*-eabispe*" "powerpc-ibm-aix*" } { "*" } { "" } } */ +/* { dg-require-effective-target powerpc_altivec_ok } */ /* { dg-options "-maltivec" } */ /* Test for correct handling of AltiVec constants passed diff --git a/gcc/testsuite/g++.dg/ext/altivec-4.C b/gcc/testsuite/g++.dg/ext/altivec-4.C index 62cc1f0535f..86a2615dc49 100644 --- a/gcc/testsuite/g++.dg/ext/altivec-4.C +++ b/gcc/testsuite/g++.dg/ext/altivec-4.C @@ -1,5 +1,5 @@ /* { dg-do compile { target powerpc*-*-* } } */ -/* { dg-xfail-if "" { "powerpc-*-eabispe*" "powerpc-ibm-aix*" } { "*" } { "" } } */ +/* { dg-require-effective-target powerpc_altivec_ok } */ /* { dg-options "-maltivec" } */ /* PR c++/14425 */ diff --git a/gcc/testsuite/g++.dg/ext/altivec-5.C b/gcc/testsuite/g++.dg/ext/altivec-5.C index 198f38cb0b5..04c26e80ff4 100644 --- a/gcc/testsuite/g++.dg/ext/altivec-5.C +++ b/gcc/testsuite/g++.dg/ext/altivec-5.C @@ -1,5 +1,5 @@ /* { dg-do compile { target powerpc*-*-* } } */ -/* { dg-xfail-if "" { "powerpc-*-eabispe*" "powerpc-ibm-aix*" } { "*" } { "" } } */ +/* { dg-require-effective-target powerpc_altivec_ok } */ /* { dg-options "-maltivec" } */ /* PR c++/14426 */ diff --git a/gcc/testsuite/g++.dg/ext/altivec-6.C b/gcc/testsuite/g++.dg/ext/altivec-6.C index 5ca23028bae..63ae0b0b91b 100644 --- a/gcc/testsuite/g++.dg/ext/altivec-6.C +++ b/gcc/testsuite/g++.dg/ext/altivec-6.C @@ -1,7 +1,7 @@ /* Test for correct handling of literal arguments. */ /* Author: Ziemowit Laski <zlaski@apple.com> */ /* { dg-do compile { target powerpc*-*-* } } */ -/* { dg-xfail-if "" { "powerpc-*-eabispe*" "powerpc-ibm-aix*" } { "*" } { "" } } */ +/* { dg-require-effective-target powerpc_altivec_ok } */ /* { dg-options "-maltivec" } */ #include <altivec.h> diff --git a/gcc/testsuite/g++.dg/ext/altivec-7.C b/gcc/testsuite/g++.dg/ext/altivec-7.C index d1a0b2959c6..7c458fb003f 100644 --- a/gcc/testsuite/g++.dg/ext/altivec-7.C +++ b/gcc/testsuite/g++.dg/ext/altivec-7.C @@ -1,6 +1,6 @@ /* Test for AltiVec type overloading and name mangling. */ /* { dg-do compile { target powerpc*-*-* } } */ -/* { dg-xfail-if "" { "powerpc-*-eabispe*" "powerpc-ibm-aix*" } { "*" } { "" } } */ +/* { dg-require-effective-target powerpc_altivec_ok } */ /* { dg-options "-maltivec" } */ #include <altivec.h> diff --git a/gcc/testsuite/g++.dg/ext/altivec-8.C b/gcc/testsuite/g++.dg/ext/altivec-8.C index 045220252b9..3c5a76e060e 100644 --- a/gcc/testsuite/g++.dg/ext/altivec-8.C +++ b/gcc/testsuite/g++.dg/ext/altivec-8.C @@ -1,5 +1,5 @@ /* { dg-do compile { target powerpc*-*-* } } */ -/* { dg-xfail-if "" { "powerpc-*-eabispe*" "powerpc-ibm-aix*" } { "*" } { "" } } */ +/* { dg-require-effective-target powerpc_altivec_ok } */ /* { dg-options "-maltivec" } */ /* Author: Ziemowit Laski <zlaski@apple.com> */ diff --git a/gcc/testsuite/g++.dg/ext/altivec-9.C b/gcc/testsuite/g++.dg/ext/altivec-9.C index ab78b99ebdf..174ae63edcb 100644 --- a/gcc/testsuite/g++.dg/ext/altivec-9.C +++ b/gcc/testsuite/g++.dg/ext/altivec-9.C @@ -1,6 +1,6 @@ /* Test for AltiVec function vec_ld, passing a pointer to const vector */ /* { dg-do compile { target powerpc*-*-* } } */ -/* { dg-xfail-if "" { "powerpc-*-eabispe*" "powerpc-ibm-aix*" } { "*" } { "" } } */ +/* { dg-require-effective-target powerpc_altivec_ok } */ /* { dg-options "-maltivec" } */ #include <altivec.h> diff --git a/gcc/testsuite/g++.dg/ext/altivec-types-1.C b/gcc/testsuite/g++.dg/ext/altivec-types-1.C index 9ebab95e408..9e9ca96e8c6 100644 --- a/gcc/testsuite/g++.dg/ext/altivec-types-1.C +++ b/gcc/testsuite/g++.dg/ext/altivec-types-1.C @@ -1,4 +1,5 @@ /* { dg-do compile { target powerpc*-*-linux* } } */ +/* { dg-require-effective-target powerpc_altivec_ok } */ /* { dg-options "-maltivec" } */ /* Valid AltiVec vector types should be accepted with no warnings. */ diff --git a/gcc/testsuite/g++.dg/ext/altivec-types-2.C b/gcc/testsuite/g++.dg/ext/altivec-types-2.C index 4f4d3f3a123..f64c0c5aa21 100644 --- a/gcc/testsuite/g++.dg/ext/altivec-types-2.C +++ b/gcc/testsuite/g++.dg/ext/altivec-types-2.C @@ -1,5 +1,6 @@ /* { dg-do compile { target powerpc*-*-linux* } } */ /* { dg-require-effective-target ilp32 } */ +/* { dg-require-effective-target powerpc_altivec_ok } */ /* { dg-options "-maltivec" } */ /* These should get warnings for 32-bit code. */ diff --git a/gcc/testsuite/g++.dg/ext/altivec-types-3.C b/gcc/testsuite/g++.dg/ext/altivec-types-3.C index 42fd3ca359c..2fe965986b3 100644 --- a/gcc/testsuite/g++.dg/ext/altivec-types-3.C +++ b/gcc/testsuite/g++.dg/ext/altivec-types-3.C @@ -1,4 +1,5 @@ /* { dg-do compile { target powerpc*-*-linux* } } */ +/* { dg-require-effective-target powerpc_altivec_ok } */ /* { dg-require-effective-target lp64 } */ /* { dg-options "-maltivec" } */ diff --git a/gcc/testsuite/g++.dg/ext/altivec-types-4.C b/gcc/testsuite/g++.dg/ext/altivec-types-4.C index bc2296cc15e..212f6733939 100644 --- a/gcc/testsuite/g++.dg/ext/altivec-types-4.C +++ b/gcc/testsuite/g++.dg/ext/altivec-types-4.C @@ -1,5 +1,6 @@ /* { dg-do compile { target powerpc*-*-linux* } } */ /* { dg-require-effective-target ilp32 } */ +/* { dg-require-effective-target powerpc_altivec_ok } */ /* { dg-options "-maltivec -mno-warn-altivec-long" } */ /* These should not get warnings for 32-bit code when the warning is diff --git a/gcc/testsuite/gcc.c-torture/execute/loop-2f.x b/gcc/testsuite/gcc.c-torture/execute/loop-2f.x new file mode 100644 index 00000000000..aa7645fad99 --- /dev/null +++ b/gcc/testsuite/gcc.c-torture/execute/loop-2f.x @@ -0,0 +1,2 @@ +set torture_execute_xfail "mips*-*-linux*" +return 0 diff --git a/gcc/testsuite/gcc.c-torture/execute/loop-2g.x b/gcc/testsuite/gcc.c-torture/execute/loop-2g.x new file mode 100644 index 00000000000..aa7645fad99 --- /dev/null +++ b/gcc/testsuite/gcc.c-torture/execute/loop-2g.x @@ -0,0 +1,2 @@ +set torture_execute_xfail "mips*-*-linux*" +return 0 diff --git a/gcc/testsuite/gcc.dg/20020103-1.c b/gcc/testsuite/gcc.dg/20020103-1.c index 54ad83c21e5..56900af1f00 100644 --- a/gcc/testsuite/gcc.dg/20020103-1.c +++ b/gcc/testsuite/gcc.dg/20020103-1.c @@ -2,7 +2,7 @@ spilled to the stack, or regenerated, but not dropped to memory. */ /* { dg-do compile { target i?86-*-* powerpc-*-* rs6000-*-* alpha*-*-* x86_64-*-*} } */ /* { dg-options "-O2 -fpic -fno-omit-frame-pointer -fno-asynchronous-unwind-tables" } */ -/* { dg-final { scan-assembler-not "LC\[0-9\]" } } */ +/* { dg-final { scan-assembler-not "LC\[0-9\]" { xfail powerpc*-*-* } } } */ /* Clobber all call-saved registers that can hold a pointer value. */ #if defined(__i386__) diff --git a/gcc/testsuite/gcc.dg/simd-3.c b/gcc/testsuite/gcc.dg/simd-3.c index 34ad75d9602..790b1e51e6e 100644 --- a/gcc/testsuite/gcc.dg/simd-3.c +++ b/gcc/testsuite/gcc.dg/simd-3.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-maltivec" { target powerpc-*-* } } */ +/* { dg-options "-maltivec" { target { powerpc*-*-* && powerpc_altivec_ok } } } */ __attribute__ ((vector_size (2))) signed char v1, v2, v3; void diff --git a/gcc/testsuite/gcc.dg/vect/vect-82_64.c b/gcc/testsuite/gcc.dg/vect/vect-82_64.c index a21ed1281fe..15921a4c9eb 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-82_64.c +++ b/gcc/testsuite/gcc.dg/vect/vect-82_64.c @@ -1,5 +1,5 @@ -/* { dg-do run { target { powerpc*-*-* && lp64 } } } */ -/* { dg-do compile { target { powerpc*-*-* && ilp32 } } } */ +/* { dg-do run { target { { powerpc*-*-* && lp64 } && powerpc_altivec_ok } } } */ +/* { dg-do compile { target { { powerpc*-*-* && ilp32 } && powerpc_altivec_ok } } } */ /* { dg-options "-O2 -ftree-vectorize -mpowerpc64 -fdump-tree-vect-stats -maltivec" } */ #include <stdarg.h> diff --git a/gcc/testsuite/gcc.dg/vect/vect-83_64.c b/gcc/testsuite/gcc.dg/vect/vect-83_64.c index b5f6f6f08a5..6cfebb2420f 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-83_64.c +++ b/gcc/testsuite/gcc.dg/vect/vect-83_64.c @@ -1,5 +1,5 @@ -/* { dg-do run { target { powerpc*-*-* && lp64 } } } */ -/* { dg-do compile { target { powerpc*-*-* && ilp32 } } } */ +/* { dg-do run { target { { powerpc*-*-* && lp64 } && powerpc_altivec_ok } } } */ +/* { dg-do compile { target { { powerpc*-*-* && ilp32 } && powerpc_altivec_ok } } } */ /* { dg-options "-O2 -ftree-vectorize -mpowerpc64 -fdump-tree-vect-stats -maltivec" } */ #include <stdarg.h> diff --git a/gcc/testsuite/gcc.dg/vmx/vmx.exp b/gcc/testsuite/gcc.dg/vmx/vmx.exp index 54feb41020a..2b2bec3e136 100644 --- a/gcc/testsuite/gcc.dg/vmx/vmx.exp +++ b/gcc/testsuite/gcc.dg/vmx/vmx.exp @@ -1,4 +1,4 @@ -# Copyright (C) 2004 Free Software Foundation, Inc. +# Copyright (C) 2004, 2006 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 @@ -19,11 +19,10 @@ # Load support procs. load_lib gcc-dg.exp -# Skip these tests for non-PowerPC targets and for Aix, where AltiVec -# is not yet supported. Also, skip these tests on the SPE because -# AltiVec and E500 opcodes conflict. -if {![istarget powerpc*-*-*] || [istarget powerpc*-*-aix*] - || [istarget powerpc*-*eabispe*] } { +# Skip these tests for non-PowerPC targets and for targets where AltiVec +# is not supported. +if {![istarget powerpc*-*-*] + || ![check_effective_target_powerpc_altivec_ok] } { return } diff --git a/gcc/testsuite/gcc.target/arm/arm.exp b/gcc/testsuite/gcc.target/arm/arm.exp index 39239490590..7f4958e92ac 100644 --- a/gcc/testsuite/gcc.target/arm/arm.exp +++ b/gcc/testsuite/gcc.target/arm/arm.exp @@ -34,7 +34,7 @@ if ![info exists DEFAULT_CFLAGS] then { dg-init # Main loop. -dg-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.\[cS\]]] \ +dg-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.\[cCS\]]] \ "" $DEFAULT_CFLAGS # All done. diff --git a/gcc/testsuite/gcc.target/mips/pr26765.c b/gcc/testsuite/gcc.target/mips/pr26765.c new file mode 100644 index 00000000000..0b70b56ab44 --- /dev/null +++ b/gcc/testsuite/gcc.target/mips/pr26765.c @@ -0,0 +1,13 @@ +/* PR target/pr26765 + This testcase used to trigger an unrecognizable insn. */ + +/* { dg-do compile } */ +/* { dg-options "-O2" } */ + +__thread int *a = 0; + +void foo (void) +{ + extern int *b; + b = (int *) ((*a)); +} diff --git a/gcc/testsuite/gcc.target/powerpc/980827-1.c b/gcc/testsuite/gcc.target/powerpc/980827-1.c index 84ba5ee4d5f..c2c92337a86 100644 --- a/gcc/testsuite/gcc.target/powerpc/980827-1.c +++ b/gcc/testsuite/gcc.target/powerpc/980827-1.c @@ -1,4 +1,4 @@ -/* { dg-do run { target rs6000-*-linux* powerpc-*-linux*} } */ +/* { dg-do run { target { { *-*-linux* && ilp32 } && powerpc_fprs } } } */ /* { dg-options -O2 } */ extern void exit (int); diff --git a/gcc/testsuite/gcc.target/powerpc/altivec-1.c b/gcc/testsuite/gcc.target/powerpc/altivec-1.c index 6fae31fe0c1..f235e7b57ac 100644 --- a/gcc/testsuite/gcc.target/powerpc/altivec-1.c +++ b/gcc/testsuite/gcc.target/powerpc/altivec-1.c @@ -1,5 +1,5 @@ /* { dg-do run { target powerpc*-*-* } } */ -/* { dg-xfail-if "" { "powerpc-*-eabispe*" "powerpc-ibm-aix*" } { "*" } { "" } } */ +/* { dg-require-effective-target powerpc_altivec_ok } */ /* { dg-options "-maltivec" } */ /* Program to test PowerPC AltiVec instructions. */ diff --git a/gcc/testsuite/gcc.target/powerpc/altivec-10.c b/gcc/testsuite/gcc.target/powerpc/altivec-10.c index f65ea71ed49..82b3f45a391 100644 --- a/gcc/testsuite/gcc.target/powerpc/altivec-10.c +++ b/gcc/testsuite/gcc.target/powerpc/altivec-10.c @@ -1,5 +1,5 @@ /* { dg-do compile { target powerpc*-*-* } } */ -/* { dg-xfail-if "" { "powerpc-ibm-aix*" } { "-maltivec" } { "" } } */ +/* { dg-require-effective-target powerpc_altivec_ok } */ /* { dg-options "-maltivec -mabi=altivec -fno-inline" } */ #include <altivec.h> diff --git a/gcc/testsuite/gcc.target/powerpc/altivec-11.c b/gcc/testsuite/gcc.target/powerpc/altivec-11.c index a96a84c6d50..648993ab86c 100644 --- a/gcc/testsuite/gcc.target/powerpc/altivec-11.c +++ b/gcc/testsuite/gcc.target/powerpc/altivec-11.c @@ -1,5 +1,5 @@ /* { dg-do compile { target powerpc*-*-* } } */ -/* { dg-xfail-if "" { "powerpc-*-eabispe*" "powerpc-ibm-aix*" } { "*" } { "" } } */ +/* { dg-require-effective-target powerpc_altivec_ok } */ /* { dg-options "-O2 -maltivec -mabi=altivec" } */ /* { dg-final { scan-assembler-not "lvx" } } */ #include <altivec.h> diff --git a/gcc/testsuite/gcc.target/powerpc/altivec-12.c b/gcc/testsuite/gcc.target/powerpc/altivec-12.c index 4dc0ea34571..296a3f7510a 100644 --- a/gcc/testsuite/gcc.target/powerpc/altivec-12.c +++ b/gcc/testsuite/gcc.target/powerpc/altivec-12.c @@ -1,5 +1,5 @@ /* { dg-do run { target powerpc*-*-* } } */ -/* { dg-xfail-if "" { "powerpc-*-eabispe*" "powerpc-ibm-aix*" } { "*" } { "" } } */ +/* { dg-require-effective-target powerpc_altivec_ok } */ /* { dg-options "-maltivec" } */ /* Program to test PowerPC AltiVec instructions. */ diff --git a/gcc/testsuite/gcc.target/powerpc/altivec-13.c b/gcc/testsuite/gcc.target/powerpc/altivec-13.c index 8675e2c7cc7..22ff951b830 100644 --- a/gcc/testsuite/gcc.target/powerpc/altivec-13.c +++ b/gcc/testsuite/gcc.target/powerpc/altivec-13.c @@ -1,5 +1,5 @@ /* { dg-do compile { target powerpc*-*-* } } */ -/* { dg-xfail-if "" { "powerpc-ibm-aix*" } { "-maltivec" } { "" } } */ +/* { dg-require-effective-target powerpc_altivec_ok } */ /* { dg-options "-maltivec" } */ /* Author: Ziemowit Laski <zlaski@apple.com> */ diff --git a/gcc/testsuite/gcc.target/powerpc/altivec-14.c b/gcc/testsuite/gcc.target/powerpc/altivec-14.c index b5712225771..30e5d11d7b1 100644 --- a/gcc/testsuite/gcc.target/powerpc/altivec-14.c +++ b/gcc/testsuite/gcc.target/powerpc/altivec-14.c @@ -1,5 +1,5 @@ /* { dg-do compile { target powerpc-*-* } } */ -/* { dg-xfail-if "" { "powerpc-*-eabispe*" "powerpc-ibm-aix*" } { "*" } { "" } } */ +/* { dg-require-effective-target powerpc_altivec_ok } */ /* { dg-options "-maltivec" } */ #include <altivec.h> diff --git a/gcc/testsuite/gcc.target/powerpc/altivec-15.c b/gcc/testsuite/gcc.target/powerpc/altivec-15.c index 5d9f9ff37da..4e48cb7652f 100644 --- a/gcc/testsuite/gcc.target/powerpc/altivec-15.c +++ b/gcc/testsuite/gcc.target/powerpc/altivec-15.c @@ -1,5 +1,5 @@ /* { dg-do compile { target powerpc*-*-* } } */ -/* { dg-xfail-if "" { "powerpc-ibm-aix*" } { "-maltivec" } { "" } } */ +/* { dg-require-effective-target powerpc_altivec_ok } */ /* { dg-options "-maltivec" } */ #include <altivec.h> diff --git a/gcc/testsuite/gcc.target/powerpc/altivec-16.c b/gcc/testsuite/gcc.target/powerpc/altivec-16.c index 0be609431ce..7f7d2b013de 100644 --- a/gcc/testsuite/gcc.target/powerpc/altivec-16.c +++ b/gcc/testsuite/gcc.target/powerpc/altivec-16.c @@ -1,7 +1,7 @@ /* This is a compile-only test for interaction of "-maltivec" and "-save-temps". */ /* Author: Ziemowit Laski <zlaski@apple.com>. */ /* { dg-do compile { target powerpc*-*-* } } */ -/* { dg-xfail-if "" { "powerpc-ibm-aix*" } { "-maltivec" } { "" } } */ +/* { dg-require-effective-target powerpc_altivec_ok } */ /* { dg-options "-save-temps -maltivec" } */ #include <altivec.h> diff --git a/gcc/testsuite/gcc.target/powerpc/altivec-17.c b/gcc/testsuite/gcc.target/powerpc/altivec-17.c index 463062ef086..8b108326862 100644 --- a/gcc/testsuite/gcc.target/powerpc/altivec-17.c +++ b/gcc/testsuite/gcc.target/powerpc/altivec-17.c @@ -2,7 +2,7 @@ typedef name as a vector type specifier. */ /* { dg-do compile { target powerpc*-*-* } } */ -/* { dg-xfail-if "" { "powerpc-ibm-aix*" } { "-maltivec" } { "" } } */ +/* { dg-require-effective-target powerpc_altivec_ok } */ /* { dg-options "-maltivec -mabi=altivec" } */ typedef unsigned int ui; diff --git a/gcc/testsuite/gcc.target/powerpc/altivec-18.c b/gcc/testsuite/gcc.target/powerpc/altivec-18.c index 9a3ee33f63d..5d988582049 100644 --- a/gcc/testsuite/gcc.target/powerpc/altivec-18.c +++ b/gcc/testsuite/gcc.target/powerpc/altivec-18.c @@ -1,5 +1,5 @@ /* { dg-do compile { target powerpc*-*-* } } */ -/* { dg-xfail-if "" { "powerpc-ibm-aix*" } { "-maltivec" } { "" } } */ +/* { dg-require-effective-target powerpc_altivec_ok } */ /* { dg-options "-maltivec -mabi=altivec" } */ /* { dg-final { scan-assembler "vcmpgtub" { target *-*-linux* } } } */ /* { dg-final { scan-assembler "vcmpgtsb" { target *-*-darwin* } } } */ diff --git a/gcc/testsuite/gcc.target/powerpc/altivec-19.c b/gcc/testsuite/gcc.target/powerpc/altivec-19.c index 1693a5488ee..80f305a5447 100644 --- a/gcc/testsuite/gcc.target/powerpc/altivec-19.c +++ b/gcc/testsuite/gcc.target/powerpc/altivec-19.c @@ -1,4 +1,5 @@ /* { dg-do compile { target powerpc*-*-* } } */ +/* { dg-require-effective-target powerpc_altivec_ok } */ /* { dg-options "-maltivec" } */ /* { dg-final { scan-assembler "dst" } } */ diff --git a/gcc/testsuite/gcc.target/powerpc/altivec-2.c b/gcc/testsuite/gcc.target/powerpc/altivec-2.c index 9ba6a892ff9..4f341dd4207 100644 --- a/gcc/testsuite/gcc.target/powerpc/altivec-2.c +++ b/gcc/testsuite/gcc.target/powerpc/altivec-2.c @@ -1,5 +1,5 @@ /* { dg-do compile { target powerpc*-*-* } } */ -/* { dg-xfail-if "" { "powerpc-*-eabispe*" "powerpc-ibm-aix*" } { "*" } { "" } } */ +/* { dg-require-effective-target powerpc_altivec_ok } */ /* { dg-options "-maltivec" } */ /* Program to test the vector_size attribute. This needs to run on a diff --git a/gcc/testsuite/gcc.target/powerpc/altivec-21.c b/gcc/testsuite/gcc.target/powerpc/altivec-21.c index 736cd74feb6..906aa197abf 100644 --- a/gcc/testsuite/gcc.target/powerpc/altivec-21.c +++ b/gcc/testsuite/gcc.target/powerpc/altivec-21.c @@ -1,4 +1,5 @@ /* { dg-do compile { target powerpc*-*-* } } */ +/* { dg-require-effective-target powerpc_altivec_ok } */ /* { dg-options "-maltivec" } */ #include <altivec.h> diff --git a/gcc/testsuite/gcc.target/powerpc/altivec-22.c b/gcc/testsuite/gcc.target/powerpc/altivec-22.c index 1af117c18fd..e09a1b44713 100644 --- a/gcc/testsuite/gcc.target/powerpc/altivec-22.c +++ b/gcc/testsuite/gcc.target/powerpc/altivec-22.c @@ -1,5 +1,5 @@ /* { dg-do compile { target powerpc-*-* } } */ -/* { dg-xfail-if "" { "powerpc-*-eabispe*" "powerpc-ibm-aix*" } { "*" } { "" } } */ +/* { dg-require-effective-target powerpc_altivec_ok } */ /* { dg-options "-O3 -maltivec" } */ /* { dg-final { scan-assembler-not "mfcr" } } */ diff --git a/gcc/testsuite/gcc.target/powerpc/altivec-3.c b/gcc/testsuite/gcc.target/powerpc/altivec-3.c index 23c06e512af..17f62fd8f03 100644 --- a/gcc/testsuite/gcc.target/powerpc/altivec-3.c +++ b/gcc/testsuite/gcc.target/powerpc/altivec-3.c @@ -1,5 +1,5 @@ /* { dg-do run { target powerpc*-*-* } } */ -/* { dg-xfail-if "" { "powerpc-*-eabispe*" "powerpc-ibm-aix*" } { "*" } { "" } } */ +/* { dg-require-effective-target powerpc_altivec_ok } */ /* { dg-options "-maltivec" } */ #include "altivec_check.h" diff --git a/gcc/testsuite/gcc.target/powerpc/altivec-4.c b/gcc/testsuite/gcc.target/powerpc/altivec-4.c index c2d4356a9a5..a5617e25b8a 100644 --- a/gcc/testsuite/gcc.target/powerpc/altivec-4.c +++ b/gcc/testsuite/gcc.target/powerpc/altivec-4.c @@ -1,5 +1,5 @@ /* { dg-do compile { target powerpc*-*-* } } */ -/* { dg-xfail-if "" { "powerpc-ibm-aix*" } { "-maltivec" } { "" } } */ +/* { dg-require-effective-target powerpc_altivec_ok } */ /* { dg-options "-maltivec -O0 -Wall" } */ #define vector __attribute__((vector_size(16))) diff --git a/gcc/testsuite/gcc.target/powerpc/altivec-5.c b/gcc/testsuite/gcc.target/powerpc/altivec-5.c index 87ce1a7ab1f..ae85cdbdc74 100644 --- a/gcc/testsuite/gcc.target/powerpc/altivec-5.c +++ b/gcc/testsuite/gcc.target/powerpc/altivec-5.c @@ -1,5 +1,5 @@ /* { dg-do compile { target powerpc*-*-* } } */ -/* { dg-xfail-if "" { "powerpc-*-eabispe*" "powerpc-ibm-aix*" } { "*" } { "" } } */ +/* { dg-require-effective-target powerpc_altivec_ok } */ /* { dg-options "-maltivec -O2" } */ #define vector __attribute__((vector_size(16))) diff --git a/gcc/testsuite/gcc.target/powerpc/altivec-6.c b/gcc/testsuite/gcc.target/powerpc/altivec-6.c index e0193546679..6248ca5458d 100644 --- a/gcc/testsuite/gcc.target/powerpc/altivec-6.c +++ b/gcc/testsuite/gcc.target/powerpc/altivec-6.c @@ -1,5 +1,5 @@ /* { dg-do compile { target powerpc-*-* } } */ -/* { dg-xfail-if "" { "powerpc-ibm-aix*" } { "-maltivec" } { "" } } */ +/* { dg-require-effective-target powerpc_altivec_ok } */ /* { dg-options "-maltivec -O0 -Wall" } */ #include <altivec.h> diff --git a/gcc/testsuite/gcc.target/powerpc/altivec-7.c b/gcc/testsuite/gcc.target/powerpc/altivec-7.c index 9a23940d271..30a1ee52062 100644 --- a/gcc/testsuite/gcc.target/powerpc/altivec-7.c +++ b/gcc/testsuite/gcc.target/powerpc/altivec-7.c @@ -1,7 +1,7 @@ /* Origin: Aldy Hernandez <aldyh@redhat.com> */ /* { dg-do compile { target powerpc*-*-* } } */ -/* { dg-xfail-if "" { "powerpc-ibm-aix*" } { "-maltivec" } { "" } } */ +/* { dg-require-effective-target powerpc_altivec_ok } */ /* { dg-options "-maltivec" } */ #include <altivec.h> diff --git a/gcc/testsuite/gcc.target/powerpc/altivec-8.c b/gcc/testsuite/gcc.target/powerpc/altivec-8.c index 661cce76221..6668cf2db80 100644 --- a/gcc/testsuite/gcc.target/powerpc/altivec-8.c +++ b/gcc/testsuite/gcc.target/powerpc/altivec-8.c @@ -2,7 +2,7 @@ /* Test rs6000_legitimate_address. PRE_INC should be invalid. */ /* { dg-do compile { target powerpc*-*-* } } */ -/* { dg-xfail-if "" { "powerpc-ibm-aix*" } { "-maltivec" } { "" } } */ +/* { dg-require-effective-target powerpc_altivec_ok } */ /* { dg-options "-maltivec" } */ #include <altivec.h> diff --git a/gcc/testsuite/gcc.target/powerpc/altivec-9.c b/gcc/testsuite/gcc.target/powerpc/altivec-9.c index 36c79d3453b..b34dc1b51be 100644 --- a/gcc/testsuite/gcc.target/powerpc/altivec-9.c +++ b/gcc/testsuite/gcc.target/powerpc/altivec-9.c @@ -1,4 +1,5 @@ /* { dg-do compile { target powerpc*-*-* } } */ +/* { dg-require-effective-target powerpc_altivec_ok } */ /* { dg-options "-maltivec -mabi=altivec -g" } */ /* PR9564 */ diff --git a/gcc/testsuite/gcc.target/powerpc/altivec-consts.c b/gcc/testsuite/gcc.target/powerpc/altivec-consts.c index 318c723bcf5..e06a5286b17 100644 --- a/gcc/testsuite/gcc.target/powerpc/altivec-consts.c +++ b/gcc/testsuite/gcc.target/powerpc/altivec-consts.c @@ -1,5 +1,5 @@ /* { dg-do run { target powerpc*-*-* } } */ -/* { dg-xfail-if "" { "powerpc-*-eabispe*" "powerpc-ibm-aix*" } { "*" } { "" } } */ +/* { dg-require-effective-target powerpc_altivec_ok } */ /* { dg-options "-maltivec -mabi=altivec -O2" } */ /* Check that "easy" AltiVec constants are correctly synthesized. */ diff --git a/gcc/testsuite/gcc.target/powerpc/altivec-pr22085.c b/gcc/testsuite/gcc.target/powerpc/altivec-pr22085.c index ef57fbea57d..a7b81bbad56 100644 --- a/gcc/testsuite/gcc.target/powerpc/altivec-pr22085.c +++ b/gcc/testsuite/gcc.target/powerpc/altivec-pr22085.c @@ -1,5 +1,5 @@ /* { dg-do compile { target powerpc*-*-* } } */ -/* { dg-xfail-if "" { "powerpc-*-eabispe*" "powerpc-ibm-aix*" } { "*" } { "" } } */ +/* { dg-require-effective-target powerpc_altivec_ok } */ /* { dg-options "-maltivec -fpreprocessed" } */ /* Program to test AltiVec with -fpreprocessed. */ diff --git a/gcc/testsuite/gcc.target/powerpc/altivec-splat.c b/gcc/testsuite/gcc.target/powerpc/altivec-splat.c index 29e57bfd228..91ab72d783d 100644 --- a/gcc/testsuite/gcc.target/powerpc/altivec-splat.c +++ b/gcc/testsuite/gcc.target/powerpc/altivec-splat.c @@ -1,5 +1,5 @@ /* { dg-do compile { target powerpc*-*-* } } */ -/* { dg-xfail-if "" { "powerpc-*-eabispe*" "powerpc-ibm-aix*" } { "*" } { "" } } */ +/* { dg-require-effective-target powerpc_altivec_ok } */ /* { dg-options "-maltivec -mabi=altivec -O2" } */ /* Testcase by Richard Guenther and Steven Bosscher. diff --git a/gcc/testsuite/gcc.target/powerpc/altivec-types-1.c b/gcc/testsuite/gcc.target/powerpc/altivec-types-1.c index 0772abcf7d1..59e5520704a 100644 --- a/gcc/testsuite/gcc.target/powerpc/altivec-types-1.c +++ b/gcc/testsuite/gcc.target/powerpc/altivec-types-1.c @@ -1,4 +1,5 @@ /* { dg-do compile { target powerpc*-*-linux* } } */ +/* { dg-require-effective-target powerpc_altivec_ok } */ /* { dg-options "-maltivec" } */ /* Valid AltiVec vector types should be accepted with no warnings. */ diff --git a/gcc/testsuite/gcc.target/powerpc/altivec-types-2.c b/gcc/testsuite/gcc.target/powerpc/altivec-types-2.c index 4f4d3f3a123..f64c0c5aa21 100644 --- a/gcc/testsuite/gcc.target/powerpc/altivec-types-2.c +++ b/gcc/testsuite/gcc.target/powerpc/altivec-types-2.c @@ -1,5 +1,6 @@ /* { dg-do compile { target powerpc*-*-linux* } } */ /* { dg-require-effective-target ilp32 } */ +/* { dg-require-effective-target powerpc_altivec_ok } */ /* { dg-options "-maltivec" } */ /* These should get warnings for 32-bit code. */ diff --git a/gcc/testsuite/gcc.target/powerpc/altivec-types-3.c b/gcc/testsuite/gcc.target/powerpc/altivec-types-3.c index 42fd3ca359c..38c4d6c1642 100644 --- a/gcc/testsuite/gcc.target/powerpc/altivec-types-3.c +++ b/gcc/testsuite/gcc.target/powerpc/altivec-types-3.c @@ -1,5 +1,6 @@ /* { dg-do compile { target powerpc*-*-linux* } } */ /* { dg-require-effective-target lp64 } */ +/* { dg-require-effective-target powerpc_altivec_ok } */ /* { dg-options "-maltivec" } */ /* These should be rejected for 64-bit code. */ diff --git a/gcc/testsuite/gcc.target/powerpc/altivec-types-4.c b/gcc/testsuite/gcc.target/powerpc/altivec-types-4.c index bc2296cc15e..212f6733939 100644 --- a/gcc/testsuite/gcc.target/powerpc/altivec-types-4.c +++ b/gcc/testsuite/gcc.target/powerpc/altivec-types-4.c @@ -1,5 +1,6 @@ /* { dg-do compile { target powerpc*-*-linux* } } */ /* { dg-require-effective-target ilp32 } */ +/* { dg-require-effective-target powerpc_altivec_ok } */ /* { dg-options "-maltivec -mno-warn-altivec-long" } */ /* These should not get warnings for 32-bit code when the warning is diff --git a/gcc/testsuite/gcc.target/powerpc/altivec-varargs-1.c b/gcc/testsuite/gcc.target/powerpc/altivec-varargs-1.c index 8fba66956e3..2aa54a912a5 100644 --- a/gcc/testsuite/gcc.target/powerpc/altivec-varargs-1.c +++ b/gcc/testsuite/gcc.target/powerpc/altivec-varargs-1.c @@ -1,5 +1,5 @@ /* { dg-do run { target powerpc*-*-* } } */ -/* { dg-xfail-if "" { "powerpc-*-eabispe*" "powerpc-ibm-aix*" } { "*" } { "" } } */ +/* { dg-require-effective-target powerpc_altivec_ok } */ /* { dg-options "-maltivec -mabi=altivec -fno-inline" } */ #include <stdarg.h> diff --git a/gcc/testsuite/gcc.target/powerpc/altivec-vec-merge.c b/gcc/testsuite/gcc.target/powerpc/altivec-vec-merge.c index 021e4af8ec3..0e92a07bb57 100644 --- a/gcc/testsuite/gcc.target/powerpc/altivec-vec-merge.c +++ b/gcc/testsuite/gcc.target/powerpc/altivec-vec-merge.c @@ -1,5 +1,5 @@ /* { dg-do run { target powerpc*-*-* } } */ -/* { dg-xfail-if "" { "powerpc-*-eabispe*" "powerpc-ibm-aix*" } { "*" } { "" } } */ +/* { dg-require-effective-target powerpc_altivec_ok } */ /* { dg-options "-maltivec -O2" } */ #include <altivec.h> diff --git a/gcc/testsuite/gcc.target/powerpc/ppc-vector-memcpy.c b/gcc/testsuite/gcc.target/powerpc/ppc-vector-memcpy.c index 99ca85e972c..a9a16ab2f5c 100644 --- a/gcc/testsuite/gcc.target/powerpc/ppc-vector-memcpy.c +++ b/gcc/testsuite/gcc.target/powerpc/ppc-vector-memcpy.c @@ -1,5 +1,5 @@ /* { dg-do compile { target powerpc*-*-* } } */ -/* { dg-xfail-if "" { "powerpc-*-eabispe*" "powerpc-ibm-aix*" } { "*" } { "" } } */ +/* { dg-require-effective-target powerpc_altivec_ok } */ /* { dg-options "-O -maltivec" } */ /* { dg-final { scan-assembler "lvx" } } */ diff --git a/gcc/testsuite/gcc.target/powerpc/ppc-vector-memset.c b/gcc/testsuite/gcc.target/powerpc/ppc-vector-memset.c index 0297e893180..1a290719c32 100644 --- a/gcc/testsuite/gcc.target/powerpc/ppc-vector-memset.c +++ b/gcc/testsuite/gcc.target/powerpc/ppc-vector-memset.c @@ -1,5 +1,5 @@ /* { dg-do compile { target powerpc*-*-* } } */ -/* { dg-xfail-if "" { "powerpc-*-eabispe*" "powerpc-ibm-aix*" } { "*" } { "" } } */ +/* { dg-require-effective-target powerpc_altivec_ok } */ /* { dg-options "-O -maltivec" } */ /* { dg-final { scan-assembler "stvx" } } */ diff --git a/gcc/testsuite/gcc.target/powerpc/ppc64-abi-2.c b/gcc/testsuite/gcc.target/powerpc/ppc64-abi-2.c index 93ce7195d0c..a9883d9e335 100644 --- a/gcc/testsuite/gcc.target/powerpc/ppc64-abi-2.c +++ b/gcc/testsuite/gcc.target/powerpc/ppc64-abi-2.c @@ -1,5 +1,4 @@ -/* { dg-do run { target powerpc64-*-linux* } } */ -/* { dg-require-effective-target lp64 } */ +/* { dg-do run { target { { powerpc*-*-linux* && lp64 } && powerpc_altivec_ok } } } */ /* { dg-options "-O2 -fprofile -mprofile-kernel -maltivec -mabi=altivec" } */ #include <stdarg.h> #include <signal.h> diff --git a/gcc/testsuite/gcc.target/powerpc/pr16155.c b/gcc/testsuite/gcc.target/powerpc/pr16155.c index df06e702d05..fffe957dcc4 100644 --- a/gcc/testsuite/gcc.target/powerpc/pr16155.c +++ b/gcc/testsuite/gcc.target/powerpc/pr16155.c @@ -1,5 +1,5 @@ /* { dg-do compile { target powerpc*-*-* } } */ -/* { dg-xfail-if "" { "powerpc-*-eabispe*" "powerpc-ibm-aix*" } { "*" } { "" } } */ +/* { dg-require-effective-target powerpc_altivec_ok } */ /* { dg-options "-maltivec -ansi" } */ /* PR 16155 diff --git a/gcc/testsuite/gcc.target/powerpc/pr16286.c b/gcc/testsuite/gcc.target/powerpc/pr16286.c index afca7a91ef2..790b6409fbc 100644 --- a/gcc/testsuite/gcc.target/powerpc/pr16286.c +++ b/gcc/testsuite/gcc.target/powerpc/pr16286.c @@ -1,5 +1,5 @@ /* { dg-do compile { target powerpc*-*-* } } */ -/* { dg-xfail-if "" { "powerpc-*-eabispe*" "powerpc-ibm-aix*" } { "*" } { "" } } */ +/* { dg-require-effective-target powerpc_altivec_ok } */ /* { dg-options "-maltivec" } */ /* PR 16286 diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp index a5b2461155d..9172bd626c2 100644 --- a/gcc/testsuite/lib/target-supports.exp +++ b/gcc/testsuite/lib/target-supports.exp @@ -1175,6 +1175,40 @@ proc check_effective_target_arm32 { } { return $et_arm32_saved } +# Return 1 if this is a PowerPC target with floating-point registers. + +proc check_effective_target_powerpc_fprs { } { + if { [istarget powerpc*-*-*] + || [istarget rs6000-*-*] } { + return [check_no_compiler_messages powerpc_fprs object { + #ifdef __NO_FPRS__ + #error no FPRs + #else + int dummy; + #endif + }] + } else { + return 0 + } +} + +# Return 1 if this is a PowerPC target supporting -maltivec. + +proc check_effective_target_powerpc_altivec_ok { } { + if { [istarget powerpc*-*-*] + || [istarget rs6000-*-*] } { + # AltiVec is not supported on Aix. + if { [istarget powerpc*-*-aix*] } { + return 0 + } + return [check_no_compiler_messages powerpc_altivec_ok object { + int dummy; + } "-maltivec"] + } else { + return 0 + } +} + # Return 1 if the target supports hardware vector shift operation. proc check_effective_target_vect_shift { } { diff --git a/gcc/version.c b/gcc/version.c index 1ec57ec966c..a7979302b21 100644 --- a/gcc/version.c +++ b/gcc/version.c @@ -1,15 +1,5 @@ #include "version.h" -/* This is the trailing component of the string reported as the - version number by all components of the compiler. For an official - FSF release, it is empty. If you distribute a modified version of - GCC, please change this string to indicate that. The suggested - format is a leading space, followed by your organization's name - in parentheses. You may also wish to include a number indicating - the revision of your modified compiler. */ - -#define VERSUFFIX " (CodeSourcery ARM)" - /* This is the location of the online document giving instructions for reporting bugs. If you distribute a modified version of GCC, please change this to refer to a document giving instructions for @@ -17,7 +7,7 @@ forward us bugs reported to you, if you determine that they are not bugs in your modifications.) */ -const char bug_report_url[] = "arm-gnu@codesourcery.com"; +const char bug_report_url[] = BUGURL; /* The complete version string, assembled from several pieces. BASEVER, DATESTAMP, and DEVPHASE are defined by the Makefile. */ |