aboutsummaryrefslogtreecommitdiff
path: root/gcc/postreload.c
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2010-12-21 15:51:42 +0100
committerJakub Jelinek <jakub@gcc.gnu.org>2010-12-21 15:51:42 +0100
commit96676a5df76b1fe038fde93107ef7107c17e7ee6 (patch)
tree99bab36dcd38c19b767f60a3869d696e3c2fef2b /gcc/postreload.c
parentc75534d1e6e8b62ea4dabf58c2deff1ac09796a7 (diff)
downloadgcc-96676a5df76b1fe038fde93107ef7107c17e7ee6.zip
gcc-96676a5df76b1fe038fde93107ef7107c17e7ee6.tar.gz
gcc-96676a5df76b1fe038fde93107ef7107c17e7ee6.tar.bz2
re PR rtl-optimization/47008 (gfortran.dg/extends_{23}.f03 FAIL with -Os -fschedule-insns)
PR rtl-optimization/47008 * postreload.c (reload_combine_note_store): Also handle PRE_MODIFY and POST_MODIFY. * gfortran.dg/pr47008.f03: New test. From-SVN: r168117
Diffstat (limited to 'gcc/postreload.c')
-rw-r--r--gcc/postreload.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/postreload.c b/gcc/postreload.c
index 97e8b4a..15c22e2 100644
--- a/gcc/postreload.c
+++ b/gcc/postreload.c
@@ -1415,7 +1415,8 @@ reload_combine_note_store (rtx dst, const_rtx set, void *data ATTRIBUTE_UNUSED)
{
dst = XEXP (dst, 0);
if (GET_CODE (dst) == PRE_INC || GET_CODE (dst) == POST_INC
- || GET_CODE (dst) == PRE_DEC || GET_CODE (dst) == POST_DEC)
+ || GET_CODE (dst) == PRE_DEC || GET_CODE (dst) == POST_DEC
+ || GET_CODE (dst) == PRE_MODIFY || GET_CODE (dst) == POST_MODIFY)
{
regno = REGNO (XEXP (dst, 0));
mode = GET_MODE (XEXP (dst, 0));