"because it doesn't want to clobber rbx since you have fixed it"
But that doesn't make sense. The "=r" constraint signifies that it's allowed, yes, *expected* to clobber the register! That's important for instruction reordering, so that the compiler knows which blocks have what dependency.
But that doesn't make sense. The "=r" constraint signifies that it's allowed, yes, *expected* to clobber the register! That's important for instruction reordering, so that the compiler knows which blocks have what dependency.
Comments
If I use the "=b" constraint instead the compiler it generates this nonsense code. It's so *dumb*.