Find a file
Segher Boessenkool 5ddaee94e2 rs6000: Make the ctr* patterns allow ints in vector regs (PR71763)
Similar to PR70098, which is about integers in floating point registers,
we can have the completely analogous problem with vector registers as well
now that we allow integers in vector registers.  So, this patch solves it
in the same way.  This only works for targets with direct move.

To recap: register allocation can decide to put an integer mode value in
a floating point or vector register.  If that register is used in a bd*z
instruction, which is a jump instruction, reload can not do an output
reload on it (it does not do output reloads on any jump insns), so the
float or vector register will remain, and we have to allow it here or
recog will ICE.  Later on we will split this to valid instructions,
including a move from that fp/vec register to an int register; it is this
move that will still fail (PR70098) if we do not have direct move enabled.


	PR target/70098
	PR target/71763
	* config/rs6000/rs6000.md (*ctr<mode>_internal1, *ctr<mode>_internal2,
	*ctr<mode>_internal5, *ctr<mode>_internal6): Add *wi to the output
	constraint.

gcc/testsuite/
	PR target/70098
	PR target/71763
	* gcc.target/powerpc/pr71763.c: New file.

From-SVN: r238076
2016-07-07 05:09:03 +02:00
boehm-gc [Hurd, kFreeBSD] boehm-gc: Use mmap instead of brk 2016-03-29 23:05:07 +02:00
config remove support for the interix target 2016-06-21 21:57:20 +00:00
contrib Dump profile-based number of iterations 2016-06-24 16:22:44 +00:00
fixincludes remove support for the interix target 2016-06-21 21:57:20 +00:00
gcc rs6000: Make the ctr* patterns allow ints in vector regs (PR71763) 2016-07-07 05:09:03 +02:00
gnattools configure.ac: Add ACX_NONCANONICAL_HOST. 2016-05-16 08:55:12 +00:00
gotools Update copyright dates 2016-06-07 08:54:22 +00:00
include gomp-constants.h (GOMP_VERSION): Increment to 1... 2016-05-26 09:12:59 +00:00
INSTALL
intl Makefile.def (libiconv): Define bootstrap=true. 2015-08-07 01:13:52 -04:00
libada config.guess: Remove SH5 support. 2016-04-30 09:11:03 +00:00
libatomic [libatomic] Add missing files for RTEMS support 2016-05-10 06:52:48 +00:00
libbacktrace re PR target/71161 (Lots of ASAN and libgo runtime FAILs after r236090) 2016-05-18 16:40:54 +02:00
libcc1 Update copyright dates 2016-06-07 08:54:22 +00:00
libcilkrts configure.ac: Move AC_USE_SYSTEM_EXTENSIONS behind AM_ENABLE_MULTILIB. 2016-05-10 16:44:19 +00:00
libcpp libcpp: Tweak to missing #include source location 2016-06-22 15:29:21 +00:00
libdecnumber Update copyright years. 2016-01-04 15:30:50 +01:00
libffi [PR libffi/65567] libffi: Fix, and simply libffi_feature_test 2016-05-23 16:54:04 +02:00
libgcc remove unused CTOR_LISTS_DEFINED_EXTERNALLY macro 2016-07-06 23:55:52 +00:00
libgfortran re PR libfortran/48852 (Invalid spaces in list-directed output of complex constants) 2016-06-23 15:58:05 +00:00
libgo cmd/go: bring in final version of gccgo pkg-config support 2016-04-23 00:41:03 +00:00
libgomp Add 2 tests for PR middle-end/71734 2016-07-03 09:40:22 -07:00
libiberty Don't needlessly clear xmemdup allocated memory. 2016-05-31 20:38:54 +09:30
libitm Allocate memory on cache line if requested 2016-04-19 10:01:11 -07:00
libjava libtool-version: Bump soversion. 2016-06-01 20:10:48 +00:00
libmpx mpx_wrappers.c (move_bounds): Fix overflow bug. 2016-06-10 09:23:53 +00:00
libobjc Update copyright years. 2016-01-04 15:30:50 +01:00
liboffloadmic target.c (gomp_device_copy): New function. 2016-05-26 09:58:56 +00:00
libquadmath gcc.c (process_command): Update copyright notice dates. 2016-01-04 14:03:35 +01:00
libsanitizer re PR sanitizer/71160 (libasan: Backport support for malloc within dlsym) 2016-05-17 11:17:54 +02:00
libssp re PR target/65867 (bootstrap fails for mingw32 due to missing header in ssp.c) 2016-02-09 12:16:30 -07:00
libstdc++-v3 Implement std::any. 2016-07-07 01:33:20 +03:00
libvtv Don't install libvtv without --enable-vtable-verify 2016-05-02 18:10:17 +00:00
lto-plugin re PR driver/68463 (Offloading fails when some objects are compiled with LTO and some without) 2016-02-25 12:23:52 +00:00
maintainer-scripts generate_libstdcxx_web_docs: Use realpath to get absolute path. 2016-06-13 08:47:13 +01:00
zlib 2015-11-23 Matthias Klose <doko@ubuntu.com> 2015-11-23 20:27:57 +00:00
.dir-locals.el
.gitattributes add basic .gitattributes files to notice whitespace issues 2016-04-23 02:37:43 +00:00
.gitignore Add clang-format config to contrib folder 2015-11-19 12:32:09 +00:00
ABOUT-NLS
ChangeLog Add make autoprofiledbootstrap 2016-06-23 14:34:16 +00:00
ChangeLog.jit
ChangeLog.tree-ssa
compile
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-04-02 (newest). 2016-05-16 16:13:37 -06:00
config.rpath
config.sub config.guess: Import version 2016-04-02 (newest). 2016-05-16 16:13:37 -06:00
configure configure.ac: Disable libgcj and libgloss for Phoenix-RTOS targets. 2016-06-23 07:12:16 +00:00
configure.ac configure.ac: Disable libgcj and libgloss for Phoenix-RTOS targets. 2016-06-23 07:12:16 +00:00
COPYING
COPYING.LIB
COPYING.RUNTIME
COPYING3
COPYING3.LIB
depcomp
install-sh
libtool-ldflags
libtool.m4 * libtool.m4 (export_symbols_cmds) [AIX]: Add global TLS "L" symbols. 2015-11-26 08:20:59 -05:00
ltgcc.m4
ltmain.sh
ltoptions.m4
ltsugar.m4
ltversion.m4
lt~obsolete.m4
MAINTAINERS MAINTAINERS (Write After Approval): Add myself. 2016-06-18 13:26:36 +00:00
Makefile.def Add make autoprofiledbootstrap 2016-06-23 14:34:16 +00:00
Makefile.in Add make autoprofiledbootstrap 2016-06-23 14:34:16 +00:00
Makefile.tpl Add make autoprofiledbootstrap 2016-06-23 14:34:16 +00:00
missing
mkdep
mkinstalldirs
move-if-change Update move-if-change from gnulib 2014-11-16 16:12:44 +00:00
README
symlink-tree
ylwrap

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.