unroll loop for better code size

gcc remove 29 byte here