unroll loop for better code size

gcc remove 29 bytes here