Go to file
Joseph Myers 969028053f Handle Octeon 3 not supporting MIPS paired-single instructions.
The Octeon 3 processor does not support the MIPS paired-single
instructions.  This results in illegal instruction errors in the
testsuite when vectorization tests try to use those instructions.

This patch teaches the compiler about that lack of support, so that
warnings are given when -mpaired-single (or something implying it) is
used when compiling for such a processor.  I chose to test
TARGET_OCTEON as the simplest conditional; since the older Octeon
processors don't support hard float at all, I don't think the choice
matters for them.  Tests that then failed with the warning were
updated to disable them for Octeon.

Tested with no regressions for cross to mips64el-linux-gnu (Octeon
3).

gcc:
	* config/mips/mips.h (ISA_HAS_PAIRED_SINGLE): Require
	!TARGET_OCTEON.

gcc/testsuite:
	* gcc.target/mips/mips-3d-1.c: Use forbid_cpu=octeon.* in
	dg-options.
	* gcc.target/mips/mips-3d-2.c: Likewise.
	* gcc.target/mips/mips-3d-3.c: Likewise.
	* gcc.target/mips/mips-3d-4.c: Likewise.
	* gcc.target/mips/mips-3d-5.c: Likewise.
	* gcc.target/mips/mips-3d-6.c: Likewise.
	* gcc.target/mips/mips-3d-7.c: Likewise.
	* gcc.target/mips/mips-3d-8.c: Likewise.
	* gcc.target/mips/mips-3d-9.c: Likewise.
	* gcc.target/mips/mips-ps-1.c: Likewise.
	* gcc.target/mips/mips-ps-2.c: Likewise.
	* gcc.target/mips/mips-ps-3.c: Likewise.
	* gcc.target/mips/mips-ps-4.c: Likewise.
	* gcc.target/mips/mips-ps-5.c: Likewise.
	* gcc.target/mips/mips-ps-6.c: Likewise.
	* gcc.target/mips/mips-ps-7.c: Likewise.
	* gcc.target/mips/mips-ps-type.c: Likewise.
	* gcc.target/mips/mips-ps-type-2.c: Likewise.
	* gcc.target/mips/mips16-attributes-6.c: Likewise.

From-SVN: r232517
2016-01-18 13:30:43 +00:00
boehm-gc Testsuite: add dg-{begin|end}-multiline-output commands 2015-10-09 13:55:23 +00:00
config replace ISL with isl 2015-12-17 18:50:05 +00:00
contrib update-copyright.py (GCCCopyright): Add NVIDIA Corporation as external author. 2016-01-04 15:41:50 +01:00
fixincludes inclhack.def (aix_stdio_inline): New fix. 2015-08-14 07:17:29 -04:00
gcc Handle Octeon 3 not supporting MIPS paired-single instructions. 2016-01-18 13:30:43 +00:00
gnattools re PR ada/50048 ("cc1: note: obsolete option -I- used, please use -iquote instead" during bootstrap) 2015-12-06 18:44:56 +00:00
gotools re PR go/66147 (go fails to cross build) 2015-12-02 19:27:58 +00:00
include longlong: fix sh -Wundef builds 2016-01-07 22:18:09 +00:00
INSTALL README: Do not mention CVS. 2014-10-12 15:05:28 +00:00
intl Makefile.def (libiconv): Define bootstrap=true. 2015-08-07 01:13:52 -04:00
libada Update copyright years. 2016-01-04 15:30:50 +01:00
libatomic Fix libatomic multilib parallel build (PR other/67627) 2016-01-06 14:51:35 +00:00
libbacktrace Update copyright years. 2016-01-04 15:30:50 +01:00
libcc1 hash-traits.h (free_ptr_hash): New class. 2015-06-25 17:06:24 +00:00
libcilkrts re PR target/66326 (Floating point exception with -mfpmath=387 and -fcilkplus.) 2015-11-09 10:12:34 +00:00
libcpp PR preprocessor/69177 and PR c++/68819: libcpp fallbacks and -Wmisleading-indentation 2016-01-14 19:10:17 +00:00
libdecnumber Update copyright years. 2016-01-04 15:30:50 +01:00
libffi re PR libffi/65441 (FAIL: libffi.call/float2.c -W -Wall -Wno-psabi (test for excess errors)) 2015-10-27 00:39:32 +00:00
libgcc t-msp430 (lib2_mul_none.o): Only use the first dependency as the source file to be compiled. 2016-01-15 08:18:13 +00:00
libgfortran execute_command_line.c (set_cmdstat): Use "%s", msg instead of msg to avoid -Wformat-security warning. 2016-01-15 21:20:58 +01:00
libgo re PR go/68980 (ps -o cmd in gotest isn't portable) 2016-01-11 17:55:39 +00:00
libgomp Add oacc kernels test in libgomp 2016-01-18 12:53:03 +00:00
libiberty libiberty: {count,dup,write}argv: constify argv input slightly 2016-01-05 20:23:30 +00:00
libitm libitm: Ensure proxy privatization safety. 2016-01-16 22:08:41 +00:00
libjava gcc.c (process_command): Update copyright notice dates. 2016-01-04 14:03:35 +01:00
libmpx mpx_wrappers.c (__mpx_wrapper_memmove): Special handling of one pointer copy. 2015-12-29 12:52:42 +00:00
libobjc Update copyright years. 2016-01-04 15:30:50 +01:00
liboffloadmic libgomp.h (gomp_device_state): New enum. 2015-12-14 16:46:54 +00:00
libquadmath gcc.c (process_command): Update copyright notice dates. 2016-01-04 14:03:35 +01:00
libsanitizer configure.ac: Replace the hard-coded -ldl requirement for link_sanitizer_common with a... 2016-01-14 21:27:49 +01:00
libssp libssp: Bump to automake 1.11.6 2015-05-13 11:12:39 +00:00
libstdc++-v3 Fix PR number in changelog for commit r232504 2016-01-18 12:34:22 +00:00
libvtv configure.ac: Move AM_ENABLE_MULTILIB before GCC_LIBSTDCXX_RAW_CXX_FLAGS. 2015-12-02 18:18:51 +00:00
lto-plugin Fix usage of an uninitialized variable 2016-01-15 14:39:11 +00:00
maintainer-scripts update_version_svn: Add gcc-4_8-branch to IGNORE_BRANCHES. 2015-06-23 07:48:06 +00:00
zlib 2015-11-23 Matthias Klose <doko@ubuntu.com> 2015-11-23 20:27:57 +00:00
.dir-locals.el * .dir-locals.el: Add. 2013-10-16 18:25:31 +00:00
.gitignore Add clang-format config to contrib folder 2015-11-19 12:32:09 +00:00
ABOUT-NLS
ChangeLog Enable LTO for DJGPP 2016-01-12 20:36:00 +02:00
ChangeLog.jit Merger of dmalcolm/jit branch from git 2014-11-11 21:55:52 +00:00
ChangeLog.tree-ssa
compile Update from upstream Automake files. 2014-11-16 14:07:13 +00:00
config-ml.in re PR other/66259 (Combined gcc and binutils build from git-master fails, with gas/as-new not existing) 2015-07-24 12:20:44 -06:00
config.guess config.guess: Import version 2016-01-01. 2016-01-01 08:13:28 +11:00
config.rpath
config.sub config.guess: Import version 2016-01-01. 2016-01-01 08:13:28 +11:00
configure Enable LTO for DJGPP 2016-01-12 20:36:00 +02:00
configure.ac Enable LTO for DJGPP 2016-01-12 20:36:00 +02:00
COPYING
COPYING3
COPYING3.LIB
COPYING.LIB
COPYING.RUNTIME
depcomp Update from upstream Automake files. 2014-11-16 14:07:13 +00:00
install-sh Update from upstream Automake files. 2014-11-16 14:07:13 +00:00
libtool-ldflags re PR sanitizer/56781 (boostrap-asan failure: fixincl fails to link (missing -lasan)) 2014-04-17 14:23:28 +02:00
libtool.m4 * libtool.m4 (export_symbols_cmds) [AIX]: Add global TLS "L" symbols. 2015-11-26 08:20:59 -05:00
lt~obsolete.m4
ltgcc.m4
ltmain.sh Ensure libgcc_s unwinder is always used on 64-bit Solaris 10+/x86 (PR target/59788) 2014-02-04 09:31:38 +00:00
ltoptions.m4
ltsugar.m4
ltversion.m4
MAINTAINERS Add myself to MAINTAINERS (Write After Approval) 2015-12-18 05:14:15 +00:00
Makefile.def re PR bootstrap/69134 (building a mips-cross compiler with in-tree mpfr-2.4.2 fails) 2016-01-12 15:13:02 +00:00
Makefile.in re PR bootstrap/69134 (building a mips-cross compiler with in-tree mpfr-2.4.2 fails) 2016-01-12 15:13:02 +00:00
Makefile.tpl replace ISL with isl 2015-12-17 18:50:05 +00:00
missing Update from upstream Automake files. 2014-11-16 14:07:13 +00:00
mkdep
mkinstalldirs Update from upstream Automake files. 2014-11-16 14:07:13 +00:00
move-if-change Update move-if-change from gnulib 2014-11-16 16:12:44 +00:00
README
symlink-tree
ylwrap Update from upstream Automake files. 2014-11-16 14:07:13 +00:00

This directory contains the GNU Compiler Collection (GCC).

The GNU Compiler Collection is free software.  See the files whose
names start with COPYING for copying permission.  The manuals, and
some of the runtime libraries, are under different terms; see the
individual source files for details.

The directory INSTALL contains copies of the installation information
as HTML and plain text.  The source of this information is
gcc/doc/install.texi.  The installation information includes details
of what is included in the GCC sources and what files GCC installs.

See the file gcc/doc/gcc.texi (together with other files that it
includes) for usage and porting information.  An online readable
version of the manual is in the files gcc/doc/gcc.info*.

See http://gcc.gnu.org/bugs/ for how to report bugs usefully.

Copyright years on GCC source files may be listed using range
notation, e.g., 1987-2012, indicating that every year in the range,
inclusive, is a copyrightable year that could otherwise be listed
individually.