https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88714
--- Comment #17 from Segher Boessenkool <segher at gcc dot gnu.org> --- It's not obvious to me what machine code is wrong here. Maybe it is obvious to someone who is better at Arm code than I am? Does it all work if you use -fno-if-conversion2 though? Or, what other later pass causes it? Or is the RTL code immediately after combine already bad?