[Bug c++/88562] Incorrect pointer incrementing on SH4

2019-10-01 Thread zavadovsky.yan at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88562

--- Comment #12 from Zavadovsky Yan  ---
I've checked this patch locally on our STiH237 hardware.
Using GCC 8.2 built by crosstool-ng.

It works!

[Bug c++/88562] Incorrect pointer incrementing on SH4

2019-10-01 Thread zavadovsky.yan at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88562

--- Comment #11 from Zavadovsky Yan  ---
Thanks for fixing!

[Bug c++/88562] Incorrect pointer incrementing on SH4

2019-10-01 Thread olegendo at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88562

Oleg Endo  changed:

   What|Removed |Added

 Target|sh4 |sh*-*-*
 Status|NEW |RESOLVED
 Resolution|--- |FIXED

--- Comment #10 from Oleg Endo  ---
Fixed on trunk (GCC 10), GCC 9, GCC 8 and GCC 7.
Thanks for reporting this bug!

[Bug c++/88562] Incorrect pointer incrementing on SH4

2019-10-01 Thread olegendo at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88562

--- Comment #9 from Oleg Endo  ---
Author: olegendo
Date: Tue Oct  1 15:02:25 2019
New Revision: 276414

URL: https://gcc.gnu.org/viewcvs?rev=276414=gcc=rev
Log:
gcc/
2019-10-01  Oleg Endo  

Backport from mainline

2019-10-01  Oleg Endo  

PR target/88562
* config/sh/sh.c (sh_extending_set_of_reg::use_as_extended_reg): Use
sh_check_add_incdec_notes to preserve REG_INC notes when replacing
a memory access insn.


Modified:
branches/gcc-7-branch/gcc/ChangeLog
branches/gcc-7-branch/gcc/config/sh/sh.c

[Bug c++/88562] Incorrect pointer incrementing on SH4

2019-10-01 Thread olegendo at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88562

--- Comment #8 from Oleg Endo  ---
Author: olegendo
Date: Tue Oct  1 15:00:40 2019
New Revision: 276413

URL: https://gcc.gnu.org/viewcvs?rev=276413=gcc=rev
Log:
gcc/
2019-10-01  Oleg Endo  

Backport from mainline

2019-10-01  Oleg Endo  

PR target/88562
* config/sh/sh.c (sh_extending_set_of_reg::use_as_extended_reg): Use
sh_check_add_incdec_notes to preserve REG_INC notes when replacing
a memory access insn.


Modified:
branches/gcc-8-branch/gcc/ChangeLog
branches/gcc-8-branch/gcc/config/sh/sh.c

[Bug c++/88562] Incorrect pointer incrementing on SH4

2019-10-01 Thread olegendo at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88562

--- Comment #7 from Oleg Endo  ---
Author: olegendo
Date: Tue Oct  1 14:58:10 2019
New Revision: 276412

URL: https://gcc.gnu.org/viewcvs?rev=276412=gcc=rev
Log:
gcc/
2019-10-01  Oleg Endo  

Backport from mainline

2019-10-01  Oleg Endo  

PR target/88562
* config/sh/sh.c (sh_extending_set_of_reg::use_as_extended_reg): Use
sh_check_add_incdec_notes to preserve REG_INC notes when replacing
a memory access insn.


Modified:
branches/gcc-9-branch/gcc/ChangeLog
branches/gcc-9-branch/gcc/config/sh/sh.c

[Bug c++/88562] Incorrect pointer incrementing on SH4

2019-10-01 Thread olegendo at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88562

--- Comment #6 from Oleg Endo  ---
Author: olegendo
Date: Tue Oct  1 14:55:34 2019
New Revision: 276411

URL: https://gcc.gnu.org/viewcvs?rev=276411=gcc=rev
Log:
gcc/
2019-10-01  Oleg Endo  

PR target/88562
* config/sh/sh.c (sh_extending_set_of_reg::use_as_extended_reg): Use
sh_check_add_incdec_notes to preserve REG_INC notes when replacing
a memory access insn.


Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/sh/sh.c

[Bug c++/88562] Incorrect pointer incrementing on SH4

2019-09-29 Thread olegendo at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88562

Oleg Endo  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2019-09-29
 CC||olegendo at gcc dot gnu.org
 Ever confirmed|0   |1

--- Comment #5 from Oleg Endo  ---
I have tried this on current trunk (GCC 10) and it shows the same issue. 
During SH specific sign/zero extension optimizations, the function
sh_extending_set_of_reg::use_as_extended_reg drops the REG_INC note from the
memory insn, when it converts the non-extending memory load (with post-inc
address) into sign-extending memory load.