An assembly-language subroutine would certainly allow for a faster SHIFTOUT.