https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97873
--- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> --- gcc-7 goes the x86 abs expander way: abs: .LFB0: .cfi_startproc movl %edi, %edx movl %edi, %eax sarl $31, %edx xorl %edx, %eax subl %edx, %eax ret