https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106609
Bug ID: 106609
Summary: [SH] miscompilation of loop involving noreturn call
Product: gcc
Version: 12.1.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Compo
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106609
--- Comment #2 from Sébastien Michelland ---
Yes there are delay slots for all branches except bt and bf, so here bt.s, jsr
and rts all have one. (-fno-delayed-branches avoids them but that doesn't
affect the bad optimization in this case.)
Add
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106609
Sébastien Michelland changed:
What|Removed |Added
Summary|[SH] miscompilation of loop |[SH] miscompilation due to
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106609
--- Comment #5 from Sébastien Michelland ---
> Then this is a target specific issue until provided otherwise. mach stands
> for machine (target) specific pass.
That makes a lot of sense, thanks.
I found a much simpler example exhibiting the b
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106609
--- Comment #6 from Sébastien Michelland ---
First bad commit is r12-1955-ga86b3453fc6e29cf0e19916b01c393652d838d56, though
I don't know what path is taken from there to the incorrect rewrite.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106609
--- Comment #15 from Sébastien Michelland ---
Thanks, turns out my bisected commit was related after all...
I can confirm that test cases from OP and #4 (with protocol from OP) are no
longer broken for me on yesterday's master.