aboutsummaryrefslogtreecommitdiff
path: root/gcc/doc
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2016-01-26 12:12:03 +0100
committerJakub Jelinek <jakub@gcc.gnu.org>2016-01-26 12:12:03 +0100
commit6c06e0e822db96b71c80e268260d2b4b4c1bc1f5 (patch)
tree13dabb40608100e7283aa3ad638031f8b5807728 /gcc/doc
parentb96824c4848d33c8cc9b574ce29da98464feaabb (diff)
downloadgcc-6c06e0e822db96b71c80e268260d2b4b4c1bc1f5.zip
gcc-6c06e0e822db96b71c80e268260d2b4b4c1bc1f5.tar.gz
gcc-6c06e0e822db96b71c80e268260d2b4b4c1bc1f5.tar.bz2
re PR target/69442 (wrong code with -Og and 64bit modulo @ armv7a)
PR target/69442 * combine.c (combine_instructions): For REG_EQUAL note with SET_DEST being ZERO_EXTRACT, also temporarily set SET_DEST to the underlying register. * doc/rtl.texi (REG_EQUAL): Document the behavior of REG_EQUAL/REG_EQUIV notes if SET_DEST is ZERO_EXTRACT. * gcc.dg/pr69442.c: New test. From-SVN: r232819
Diffstat (limited to 'gcc/doc')
-rw-r--r--gcc/doc/rtl.texi6
1 files changed, 3 insertions, 3 deletions
diff --git a/gcc/doc/rtl.texi b/gcc/doc/rtl.texi
index e44ef53..1b3f47e 100644
--- a/gcc/doc/rtl.texi
+++ b/gcc/doc/rtl.texi
@@ -3915,9 +3915,9 @@ indicates that that register will be equal to @var{op} at run time; the
scope of this equivalence differs between the two types of notes. The
value which the insn explicitly copies into the register may look
different from @var{op}, but they will be equal at run time. If the
-output of the single @code{set} is a @code{strict_low_part} expression,
-the note refers to the register that is contained in @code{SUBREG_REG}
-of the @code{subreg} expression.
+output of the single @code{set} is a @code{strict_low_part} or
+@code{zero_extract} expression, the note refers to the register that
+is contained in its first operand.
For @code{REG_EQUIV}, the register is equivalent to @var{op} throughout
the entire function, and could validly be replaced in all its