https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117186
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Known to work|9.5.0 | --- Comment #3 from Andrew Pinski <pinskia at gcc dot gnu.org> --- For arm, it worked in GCC 6.3.0: ``` lx: cmp r0, r1 movle r0, #0 movgt r0, #1 bx lr ``` But started to fail in GCC 7.x: ``` lx: cmp r0, r1 movls r0, #0 movhi r0, #1 bx lr ``` For GCC 6: ``` Trying 10, 8 -> 11: Successfully matched this instruction: (set (reg:CC 100 cc) (reg:CC 100 cc)) Successfully matched this instruction: (set (reg:SI 124) (gt:SI (reg:CC 100 cc) (const_int 0 [0]))) (gt:SI (reg:CC 100 cc) (const_int 0 [0])) ``` While in 7: ``` Trying 14, 13 -> 15: Successfully matched this instruction: (set (reg:CC 100 cc) (reg:CC 100 cc)) Successfully matched this instruction: (set (reg:SI 124) (gtu:SI (reg:CC 100 cc) (const_int 0 [0]))) (gtu:SI (reg:CC 100 cc) (const_int 0 [0])) ```