http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60206
--- Comment #4 from wmi at google dot com --- > On Fri, 14 Feb 2014, pinskia at gcc dot gnu.org wrote: > > > I think the real issue __FP_FRAC_SUB_4 needs to be fixed not to use > > inline-asm > > but normal C code. The normal C code should be able to produce as good as > > the > > inline-asm code now too. > > Does GCC do a good job of detecting add-with-carry and > subtract-with-borrow patterns (i.e. detecting the comparison that > corresponds to the carry flag and its use in a subsequent operation)? I remember at least the expansion of builtin_strlen could generate sub-with-borrow and it works well, so I think rtl passes could handle add-with-carry/subtract-with-borrow.