[Bug target/91720] [10 Regression] wrong code with -Og -fno-forward-propagate -frerun-cse-after-loop -fno-tree-fre

2019-09-11 Thread ebotcazou at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91720 --- Comment #11 from Eric Botcazou --- > Does that also fix PR89795? Yes, I'm going to fix PR89795 and let you check what happens for this one.

[Bug target/91720] [10 Regression] wrong code with -Og -fno-forward-propagate -frerun-cse-after-loop -fno-tree-fre

2019-09-11 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91720 --- Comment #10 from Jakub Jelinek --- (In reply to Eric Botcazou from comment #9) > > That change added the && !REG_P in there, but unless the reg is loaded from > > memory, it is unclear how it can guarantee that the upper bits are zero > >

[Bug target/91720] [10 Regression] wrong code with -Og -fno-forward-propagate -frerun-cse-after-loop -fno-tree-fre

2019-09-11 Thread ebotcazou at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91720 Eric Botcazou changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed|

[Bug target/91720] [10 Regression] wrong code with -Og -fno-forward-propagate -frerun-cse-after-loop -fno-tree-fre

2019-09-10 Thread wilson at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91720 Jim Wilson changed: What|Removed |Added CC||wilson at gcc dot gnu.org --- Comment #8

[Bug target/91720] [10 Regression] wrong code with -Og -fno-forward-propagate -frerun-cse-after-loop -fno-tree-fre

2019-09-10 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91720 --- Comment #7 from Jakub Jelinek --- Looks very similar to PR89795 on arm.

[Bug target/91720] [10 Regression] wrong code with -Og -fno-forward-propagate -frerun-cse-after-loop -fno-tree-fre

2019-09-10 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91720 --- Comment #6 from Jakub Jelinek --- I think this has been introduced in PR59461 change and is contrary to what is documented: "The high-order bits of rvalues are defined in the following circumstances: @itemize @item @code{subreg}s of

[Bug target/91720] [10 Regression] wrong code with -Og -fno-forward-propagate -frerun-cse-after-loop -fno-tree-fre

2019-09-10 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91720 --- Comment #5 from Jakub Jelinek --- (In reply to Eric Botcazou from comment #3) > > So, the bug is either in nonzero_bits that it for the > > WORD_REGISTER_OPERATIONS and load_extend_op (QImode) == ZERO_EXTEND returns > > 0s in the upper bits,

[Bug target/91720] [10 Regression] wrong code with -Og -fno-forward-propagate -frerun-cse-after-loop -fno-tree-fre

2019-09-10 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91720 --- Comment #4 from Jakub Jelinek --- If W_O_R with load_extend_op (QImode) == ZERO_EXTEND says that the upper bits are all clear, then (insn 34 33 35 (set (reg:QI 15 a5 [orig:94 iftmp.0_7 ] [94]) (const_int -128 [0xff80]))

[Bug target/91720] [10 Regression] wrong code with -Og -fno-forward-propagate -frerun-cse-after-loop -fno-tree-fre

2019-09-10 Thread ebotcazou at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91720 --- Comment #3 from Eric Botcazou --- > So, the bug is either in nonzero_bits that it for the > WORD_REGISTER_OPERATIONS and load_extend_op (QImode) == ZERO_EXTEND returns > 0s in the upper bits, or in > simplify_and_const_int trusting

[Bug target/91720] [10 Regression] wrong code with -Og -fno-forward-propagate -frerun-cse-after-loop -fno-tree-fre

2019-09-10 Thread segher at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91720 --- Comment #2 from Segher Boessenkool --- Isn't this *exactly* what WORD_REGISTER_OPERATIONS says is okay to do?

[Bug target/91720] [10 Regression] wrong code with -Og -fno-forward-propagate -frerun-cse-after-loop -fno-tree-fre

2019-09-10 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91720 Jakub Jelinek changed: What|Removed |Added CC||ebotcazou at gcc dot gnu.org,