MMX optimizations by Nils Pipenbrinck.