GCC for Epiphany
Clone or download
olajep epiphany: Fix match conditions for integer division & modulo
Part of the instruction emits
  (set (reg:SI 0) (match_dup 1))
  (set (reg:SI 1) (match_dup 2))

But if operands[2] was assigned to r0 then it will be overwritten by the
first set expression above.

I can't seem to trigger this with -mlra. Could this perhaps be a reload
bug?

gcc/
	* config/epiphany/epiphany.md (divsi3_1, modsi3_1, udivsi3_1,
	umodsi3_1): Don't match if operands[2] is in r0.
	* testsuite/gcc.target/epiphany/divmodsi-1.c: New test.

Signed-off-by: Ola Jeppsson <ola@adapteva.com>
Latest commit 4fa6936 May 3, 2017
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
INSTALL 2014-10-12 Manuel López-Ibáñez <manu@gcc.gnu.org> Oct 12, 2014
boehm-gc Update ChangeLog and version files for release Jun 3, 2016
config Update ChangeLog and version files for release Jun 3, 2016
contrib Update ChangeLog and version files for release Jun 3, 2016
fixincludes Update ChangeLog and version files for release Jun 3, 2016
gcc epiphany: Fix match conditions for integer division & modulo May 3, 2017
gnattools Update ChangeLog and version files for release Jun 3, 2016
gotools Update ChangeLog and version files for release Jun 3, 2016
include Add DW_LANG_Rust Oct 25, 2016
intl Update ChangeLog and version files for release Jun 3, 2016
libada Update ChangeLog and version files for release Jun 3, 2016
libatomic Update ChangeLog and version files for release Jun 3, 2016
libbacktrace Update ChangeLog and version files for release Jun 3, 2016
libcc1 Update ChangeLog and version files for release Jun 3, 2016
libcilkrts Update ChangeLog and version files for release Jun 3, 2016
libcpp Update ChangeLog and version files for release Jun 3, 2016
libdecnumber Update ChangeLog and version files for release Jun 3, 2016
libffi Update ChangeLog and version files for release Jun 3, 2016
libgcc libgcc:epiphany: Use registers marked in epiphany.md for builtins Nov 8, 2016
libgfortran Update ChangeLog and version files for release Jun 3, 2016
libgo mksysinfo: backport patches from trunk Jan 26, 2016
libgomp Update ChangeLog and version files for release Jun 3, 2016
libiberty Update ChangeLog and version files for release Jun 3, 2016
libitm Update ChangeLog and version files for release Jun 3, 2016
libjava Update ChangeLog and version files for release Jun 3, 2016
libmpx Update ChangeLog and version files for release Jun 3, 2016
libobjc Update ChangeLog and version files for release Jun 3, 2016
liboffloadmic Update ChangeLog and version files for release Jun 3, 2016
libquadmath Update ChangeLog and version files for release Jun 3, 2016
libsanitizer Update ChangeLog and version files for release Jun 3, 2016
libssp Update ChangeLog and version files for release Jun 3, 2016
libstdc++-v3 Update ChangeLog and version files for release Jun 3, 2016
libvtv Update ChangeLog and version files for release Jun 3, 2016
lto-plugin Update ChangeLog and version files for release Jun 3, 2016
maintainer-scripts Update ChangeLog and version files for release Jun 3, 2016
zlib Update ChangeLog and version files for release Jun 3, 2016
.dir-locals.el * .dir-locals.el: Add. Oct 16, 2013
.gitignore Local Vim config with GNU formatting. Dec 9, 2014
ABOUT-NLS top: Jul 4, 2003
COPYING 2005-07-14 Kelley Cook <kcook@gcc.gnu.org> Jul 14, 2005
COPYING.LIB Update COPYING.LIB from upstream. Correct last Changelog. Jul 14, 2005
COPYING.RUNTIME Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. Apr 9, 2009
COPYING3 * COPYING_v3: New file. Contains version 3 of the GNU General Public … Jul 17, 2007
COPYING3.LIB * COPYING_v3: New file. Contains version 3 of the GNU General Public … Jul 17, 2007
ChangeLog Update ChangeLog and version files for release Jun 3, 2016
ChangeLog.epiphany Fix build failure when cross-compiling with in-tree GMP and ISL Oct 27, 2016
ChangeLog.jit Merger of dmalcolm/jit branch from git Nov 11, 2014
ChangeLog.tree-ssa Merge tree-ssa-20020619-branch into mainline. May 13, 2004
MAINTAINERS 2012-10-01 Cary Coutant <ccoutant@gmail.com> Apr 8, 2015
Makefile.def Fix build failure when cross-compiling with in-tree GMP and ISL Oct 27, 2016
Makefile.in Fix build failure when cross-compiling with in-tree GMP and ISL Oct 27, 2016
Makefile.tpl Fix build failure when cross-compiling with in-tree GMP and ISL Oct 27, 2016
README * README: Document use of ranges of years in copyright notices. Jul 16, 2012
compile Update from upstream Automake files. Nov 16, 2014
config-ml.in * config-ml.in: Robustify ac_configure_args parsing. Jun 13, 2014
config.guess * config.sub: Update from upstream, to 2015-01-01 version. Jan 2, 2015
config.rpath Remove freebsd1 from libtool.m4 macros and config.rpath. Feb 13, 2011
config.sub * config.sub: Update from upstream, to 2015-01-01 version. Jan 2, 2015
configure 2015-05-03 Matthias Klose <doko@ubuntu.com> May 3, 2015
configure.ac 2015-05-03 Matthias Klose <doko@ubuntu.com> May 3, 2015
depcomp Update from upstream Automake files. Nov 16, 2014
install-sh Update from upstream Automake files. Nov 16, 2014
libtool-ldflags PR sanitizer/56781 Apr 17, 2014
libtool.m4 Backport from mainline Nov 26, 2015
ltgcc.m4 * libtool.m4: Update to libtool 2.2.6. Sep 26, 2008
ltmain.sh Ensure libgcc_s unwinder is always used on 64-bit Solaris 10+/x86 (PR… Feb 4, 2014
ltoptions.m4 Sync from git Libtool and regenerate. Dec 5, 2009
ltsugar.m4 * libtool.m4: Update to libtool 2.2.6. Sep 26, 2008
ltversion.m4 Sync from git Libtool and regenerate. Dec 5, 2009
lt~obsolete.m4 Sync from git Libtool and regenerate. Dec 5, 2009
missing Update from upstream Automake files. Nov 16, 2014
mkdep merge with /cvs/src Jul 22, 2000
mkinstalldirs Update from upstream Automake files. Nov 16, 2014
move-if-change Update move-if-change from gnulib Nov 16, 2014
symlink-tree 2005-07-14 Kelley Cook <kcook@gcc.gnu.org> Jul 14, 2005
ylwrap Update from upstream Automake files. Nov 16, 2014

README

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.