That's why I said "were" poorly documented - it's much better than
it used to be.
It's still kind of mysterious to developers though; for instance in
the PowerPC case, sometimes you have to use "b" and other times "r"
for a register, because r0 is not a "base register" and can't be used
in all the same contexts. Worse, the mistaken choice of "r" may not
bite immediately, depending on how the phase of the moon is affecting
register allocation, then manifests itself as a assembler complaint
about a register not mentioned in the source code. After a couple
experiences like that, developers spew all over us about GCC's
lameness and go back to CodeWarrior. :-)