[Bug rtl-optimization/126270] [16/17 Regression] wrong code at -O{2,3} on x86_64-linux-gnu (nondeterministic hang)

"jakub at gcc dot gnu.org via Gcc-bugs" <[email protected]>
Newsgroups gmane.comp.gcc.bugs
Message-ID <[email protected]/bugzilla/>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=126270

--- Comment #6 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Ah, before the ext_dce pass, (reg:SI 108) and (reg:SI 131) even are guaranteed
to have [0, 1] range value.
But ext_dce changes
 (insn 113 118 56 12 (set (reg:SI 131 [ iftmp.6_16 ])
-        (zero_extend:SI (reg:QI 118 [ _74 ]))) 184 {*zero_extendqisi2}
+        (subreg:SI (reg:QI 118 [ _74 ]) 0)) 100 {*movsi_internal}
      (nil))
Now, unsure if nonzero_bits doesn't take that paradoxical subreg into account
or what, but with the paradoxical subreg in assuming that it is properly
extended all the time is no longer valid assumption.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.