------- Comment #4 from jakub at gcc dot gnu dot org 2007-09-05 15:42 ------- Yeah, the asm is bogus for multiple reasons. But can be fixed easily, e.g. %3, %4 nor %5 aren't used anywhere, so just nuking the unneeded "r" (c), "r" (a), "r" (b), makes this to compile. Apparently e.g. gcc 4.1.x decided to give %0 the same register %3, %1 as %4 and so it happened to compile, still the constraints cause extreme register preassure. What is that "3" doing among clobbers? A fancy way to duplicate "%rbx" clobber?
-- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33138