[Bug target/86209] Peephole does not happen because the type of zero/sign extended operands is not the same.

2021-08-29 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86209 --- Comment #15 from Andrew Pinski --- Hmm, I wonder why expand is generating subreg in place for the add in one case and not the other.

[Bug target/86209] Peephole does not happen because the type of zero/sign extended operands is not the same.

2021-05-04 Thread rearnsha at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86209 Richard Earnshaw changed: What|Removed |Added Status|ASSIGNED|NEW Assignee|sameerad at gc

[Bug target/86209] Peephole does not happen because the type of zero/sign extended operands is not the same.

2021-05-04 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86209 Richard Biener changed: What|Removed |Added Status|NEW |ASSIGNED

[Bug target/86209] Peephole does not happen because the type of zero/sign extended operands is not the same.

2018-07-11 Thread sameerad at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86209 sameerad at gcc dot gnu.org changed: What|Removed |Added Assignee|unassigned at gcc dot gnu.org |sameerad at gcc dot

[Bug target/86209] Peephole does not happen because the type of zero/sign extended operands is not the same.

2018-07-11 Thread ramana at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86209 --- Comment #13 from Ramana Radhakrishnan --- Sameera, If you are working on this , can you please assign this to yourself ? Ramana

[Bug target/86209] Peephole does not happen because the type of zero/sign extended operands is not the same.

2018-07-11 Thread ramana at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86209 Ramana Radhakrishnan changed: What|Removed |Added Keywords||missed-optimization S

[Bug target/86209] Peephole does not happen because the type of zero/sign extended operands is not the same.

2018-06-27 Thread rearnsha at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86209 --- Comment #11 from Richard Earnshaw --- (In reply to sameerad from comment #10) > > subus: > >ldr w0, [w0] > >add w0, w0, w0, lsr #16 > >uxth w0, w0 > >ret > > This is interesting way in which load store combining can be

[Bug target/86209] Peephole does not happen because the type of zero/sign extended operands is not the same.

2018-06-27 Thread sameerad at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86209 --- Comment #10 from sameerad at gcc dot gnu.org --- > subus: >ldr w0, [w0] >add w0, w0, w0, lsr #16 >uxth w0, w0 >ret This is interesting way in which load store combining can be enhanced further. I will try to figure out i

[Bug target/86209] Peephole does not happen because the type of zero/sign extended operands is not the same.

2018-06-25 Thread rearnsha at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86209 --- Comment #9 from Richard Earnshaw --- (In reply to ktkachov from comment #7) > The other thing to consider with merging loads is how the result is used. > In your example if you merge the 16-bit loads into a single 32-bit register > load you'l

[Bug target/86209] Peephole does not happen because the type of zero/sign extended operands is not the same.

2018-06-20 Thread sameerad at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86209 --- Comment #8 from sameerad at gcc dot gnu.org --- Currently, we are not planning to restrict load/store merging to specific cases. Restricted merging of loads and stores is already handled by GIMPLE store-merging pass. We are combining loads/st

[Bug target/86209] Peephole does not happen because the type of zero/sign extended operands is not the same.

2018-06-20 Thread ktkachov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86209 --- Comment #7 from ktkachov at gcc dot gnu.org --- The other thing to consider with merging loads is how the result is used. In your example if you merge the 16-bit loads into a single 32-bit register load you'll have to add instructions to extra

[Bug target/86209] Peephole does not happen because the type of zero/sign extended operands is not the same.

2018-06-19 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86209 --- Comment #6 from Richard Biener --- Since you are trying to combine loads you may run afoul of STLF issues on modern CPU architectures which generally cannot forward from separate stores to a larger load. Not sure if that applies to ARM but I

[Bug target/86209] Peephole does not happen because the type of zero/sign extended operands is not the same.

2018-06-19 Thread sameerad at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86209 --- Comment #5 from sameerad at gcc dot gnu.org --- The gimple store merging pass performs load/store merging only if the LHS is memory or constant. I am also working on the GIMPLE pass which will enhance this to merge other stores as well. Howeve

[Bug target/86209] Peephole does not happen because the type of zero/sign extended operands is not the same.

2018-06-19 Thread ktkachov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86209 ktkachov at gcc dot gnu.org changed: What|Removed |Added CC||ktkachov at gcc dot gnu.org

[Bug target/86209] Peephole does not happen because the type of zero/sign extended operands is not the same.

2018-06-19 Thread ramana at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86209 --- Comment #3 from Ramana Radhakrishnan --- (In reply to sameerad from comment #2) > Ramana, it is another peephole that I am trying to explore for falkor. It > combines loads/stores of shorter types (QI/HI/SI) into single load/store of > larger

[Bug target/86209] Peephole does not happen because the type of zero/sign extended operands is not the same.

2018-06-19 Thread sameerad at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86209 --- Comment #2 from sameerad at gcc dot gnu.org --- Ramana, it is another peephole that I am trying to explore for falkor. It combines loads/stores of shorter types (QI/HI/SI) into single load/store of larger type (SI/DI).

[Bug target/86209] Peephole does not happen because the type of zero/sign extended operands is not the same.

2018-06-19 Thread ramana at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86209 Ramana Radhakrishnan changed: What|Removed |Added CC||ramana at gcc dot gnu.org --- Com