Write the encoder's extendMatch in asm.

name              old speed      new speed      delta
WordsEncode1e1-8   678MB/s ± 0%   690MB/s ± 0%   +1.79%  (p=0.008 n=5+5)
WordsEncode1e2-8  87.5MB/s ± 0%  83.7MB/s ± 1%   -4.26%  (p=0.008 n=5+5)
WordsEncode1e3-8   257MB/s ± 1%   230MB/s ± 1%  -10.41%  (p=0.008 n=5+5)
WordsEncode1e4-8   247MB/s ± 1%   233MB/s ± 1%   -5.56%  (p=0.008 n=5+5)
WordsEncode1e5-8   186MB/s ± 0%   212MB/s ± 0%  +14.36%  (p=0.008 n=5+5)
WordsEncode1e6-8   211MB/s ± 0%   255MB/s ± 0%  +20.82%  (p=0.008 n=5+5)
RandomEncode-8    13.1GB/s ± 2%  13.2GB/s ± 1%     ~     (p=0.222 n=5+5)
_ZFlat0-8          433MB/s ± 0%   623MB/s ± 0%  +43.92%  (p=0.008 n=5+5)
_ZFlat1-8          276MB/s ± 0%   319MB/s ± 1%  +15.42%  (p=0.008 n=5+5)
_ZFlat2-8         13.8GB/s ± 1%  13.9GB/s ± 1%     ~     (p=0.222 n=5+5)
_ZFlat3-8          170MB/s ± 0%   176MB/s ± 0%   +3.55%  (p=0.008 n=5+5)
_ZFlat4-8         3.09GB/s ± 1%  6.05GB/s ± 0%  +96.00%  (p=0.008 n=5+5)
_ZFlat5-8          427MB/s ± 1%   603MB/s ± 0%  +41.35%  (p=0.008 n=5+5)
_ZFlat6-8          190MB/s ± 0%   228MB/s ± 0%  +20.24%  (p=0.008 n=5+5)
_ZFlat7-8          182MB/s ± 0%   212MB/s ± 0%  +16.87%  (p=0.008 n=5+5)
_ZFlat8-8          200MB/s ± 0%   242MB/s ± 0%  +20.97%  (p=0.008 n=5+5)
_ZFlat9-8          175MB/s ± 0%   199MB/s ± 1%  +13.74%  (p=0.008 n=5+5)
_ZFlat10-8         507MB/s ± 0%   796MB/s ± 1%  +56.83%  (p=0.008 n=5+5)
_ZFlat11-8         278MB/s ± 0%   348MB/s ± 0%  +25.09%  (p=0.008 n=5+5)

name           old time/op  new time/op  delta
ExtendMatch-8  16.5µs ± 1%   7.8µs ± 1%  -52.93%  (p=0.008 n=5+5)
7 files changed