summaryrefslogtreecommitdiff
path: root/gcc/postreload.c
diff options
context:
space:
mode:
authorjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>2010-12-21 14:51:42 +0000
committerjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>2010-12-21 14:51:42 +0000
commita5dda0b9d89185bd2237e65e39973d49ac618210 (patch)
tree99bab36dcd38c19b767f60a3869d696e3c2fef2b /gcc/postreload.c
parentc520624241927a32cb77d67d8cdc507c0a338b2e (diff)
downloadgcc-a5dda0b9d89185bd2237e65e39973d49ac618210.tar.gz
PR rtl-optimization/47008
* postreload.c (reload_combine_note_store): Also handle PRE_MODIFY and POST_MODIFY. * gfortran.dg/pr47008.f03: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@168117 138bc75d-0d04-0410-961f-82ee72b054a4
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 97e8b4a7ed0..15c22e28e07 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));