https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102889
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |inline-asm Resolution|--- |INVALID Status|UNCONFIRMED |RESOLVED --- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> --- This inline asm is totally wrong: asm volatile("rbit %0,%0\n" "clz %0,%0\n" : "=r" (val) : "r" (val) ); Try this: asm volatile("rbit %0,%1\n" "clz %0,%0\n" : "=&r" (val) : "r" (val) );