memcpy: make small_memcpy go to larger numbers

In my test, I've found out that the technique we use for small_memcpy is faster
than the sse loop for numbers much larger than 16. In fact, it performs better
up until 128 bytes, but starts to degrade somewher between 128 and 256.

The gains are in the order of 20-30 %, and are seen both in the aligned and
unaligned cases. The gains in the 128 byte range are a bit lower, in the 5 %
order. However, the generated code for some of the "large" sizes (lik 125) are
quite fishy. For that reason, let's we'll conservatively go over to 64 bytes
only.

I have not ran my full redis script, but results for GET:

cmdline:
numactl --physcpubind=1 redis-benchmark --csv -h 192.168.122.89 -c 50 -n 100000000 -P 16 -t get

BEFORE:
"GET","1236858.38"
AFTER:
"GET","1301591.75"

That yields a 5 % improvement and puts us slightly ahead of where we were before
we've stumbled upon our current regression.

Looking that through perf kvm, this version has *more* cache misses, and *more* branch
misses. Yet, the performance is way better.

Signed-off-by: Glauber Costa <glommer@cloudius-systems.com>
Signed-off-by: Avi Kivity <avi@cloudius-systems.com>