Faster uint16 loading in portable decoder
Faster uint16 loading in portable decoder

LittleEndian.Uint16 translates to a 16-byte unaligned load on platforms
that have one.

amd64 with -tags=noasm:

name                old speed      new speed      delta
UncompressPg1661-8   339MB/s ± 1%   339MB/s ± 1%    ~     (p=0.573 n=8+10)
UncompressDigits-8  1.23GB/s ± 1%  1.25GB/s ± 1%  +0.91%  (p=0.008 n=9+10)
UncompressTwain-8    361MB/s ± 1%   362MB/s ± 0%  +0.38%  (p=0.009 n=9+10)
UncompressRand-8    3.76GB/s ± 2%  3.75GB/s ± 2%    ~     (p=0.684 n=10+10)

arm64:

name                old speed      new speed      delta
UncompressPg1661-8  57.7MB/s ± 1%  63.3MB/s ± 1%  +9.80%  (p=0.000 n=10+10)
UncompressDigits-8   205MB/s ± 1%   210MB/s ± 3%  +2.56%  (p=0.002 n=10+10)
UncompressTwain-8   60.0MB/s ± 1%  65.9MB/s ± 1%  +9.80%  (p=0.000 n=9+10)
UncompressRand-8     754MB/s ± 3%   745MB/s ± 4%    ~     (p=0.123 n=10+10)

pierrec/lz4