Add "earlyclobber" constraint to oselect_uint32_t
Specifying "=&r" instead of "=r" tells the compiler not to use the same
registers for the input and the output registers. Otherwise, writing to
the output can clobber the input before it's used.
Guess how I came across this?