Just out of curiosity, what is wrong with the inline assembly here (and the other patches)? To me it looks easier to maintain and generates better code. I know there's a reason, that's why I'm asking :-)