Yann Collet
ef24aa8ecf
minor difference on streaming initialization
...
to help static analyzer
2019-06-14 13:08:17 -07:00
Yann Collet
2745060950
SCANBUILD can be defined before calling make staticAnalyze
2019-06-14 12:44:15 -07:00
Yann Collet
e9b91102eb
completed tests for streaming with custom secret
...
fixed streaming with custom secret on small input
2019-06-14 12:26:33 -07:00
Yann Collet
47ce68677a
updated selft-test sample generator
...
to generate more random bytes (and less zero).
updated tests accordingly.
confirmed XXH3 streaming more works fine (default & seed).
2019-06-14 11:51:44 -07:00
Yann Collet
6f0320e2d8
first test of XXH3 streaming variant
...
note : self-test output traces
2019-06-14 11:34:24 -07:00
Yann Collet
1eae7efdb0
Merge branch 'dev' into xxh3streamv2
2019-06-14 09:48:34 -07:00
Yann Collet
d5e42a6947
improved performance for most compilers
...
special case clang's auto-vectorizer for SSE2,
everybody else prefers force_inline.
2019-06-14 09:47:18 -07:00
Yann Collet
0556bd2318
completed variant of xxh3 streaming supporting custom secret
...
still to be tested
2019-06-13 18:24:10 -07:00
Yann Collet
303572d632
changed streaming API names, adding _64bits
...
to better clarify, since there will be a _128bits variant in the future.
Also : fixed streaming variant, all magic numbers have names
Note : does not work yet with custom secret sizes
2019-06-13 16:19:51 -07:00
Yann Collet
5902eb1cc1
Merge branch 'dev' into xxh3streamv2
2019-06-13 15:56:41 -07:00
Yann Collet
21e64a92bf
comment on force_inline and Visual
2019-06-13 15:33:00 -07:00
Yann Collet
f9a73ff4bd
make secret unaligned for mergeAccs and last accumulate
...
so that it's different from scrambler and normal accumulate
2019-06-13 14:33:21 -07:00
Yann Collet
1e4aca9718
favor SSE2 auto-vectorization
...
changed XXH3_hashLong_internal_loop() directive to `static`
2019-06-13 14:27:19 -07:00
Yann Collet
ac897bec29
alignment hint for auto-vectorizer
...
works great for AVX2, but not for SSE2 (?)
also : use char* to explicitly tell that no alignment guarantee is being made
also : slightly changed start address of last stripe's secret (-1)
so that it doesn't correspond to scrambler's secret.
2019-06-13 13:45:07 -07:00
Yann Collet
ac8c5b2422
Merge branch 'wsecret' into dev
2019-06-13 01:05:10 -07:00
Yann Collet
557bd1c82e
fixed init error in seed mode
2019-06-13 01:04:52 -07:00
Yann Collet
0261ab6d08
minor type adaption
...
prefer char over BYTE
2019-06-12 20:57:50 -07:00
Yann Collet
726a8577d8
Merge pull request #215 from Cyan4973/wsecret
...
XXH3_64bits_withSecret()
2019-06-12 18:34:23 -07:00
Yann Collet
2edd05613e
fixed missing readKey replacements
2019-06-12 18:12:39 -07:00
Yann Collet
0ab31bc636
fixed performance regression for XXH3_64bits()
...
better make sure, with inlining,
that secret is clearly understood as being kSecret,
saving some operations.
2019-06-12 18:09:04 -07:00
Yann Collet
e90298ab7c
replaced readKey64 by readLE64
...
to make it more explicit what's happening.
2019-06-12 17:29:41 -07:00
Yann Collet
915d269297
disable VSX tests on TravisCI
...
need a better compiler
and a better detection macro
2019-06-12 17:22:14 -07:00
Yann Collet
31e15a77e7
removed the power9 test from TravisCI
...
check if the VSX code path get triggered nonetheless
2019-06-12 17:13:23 -07:00
Yann Collet
705e6a1c12
try power8 instead
...
because power9 is not available on `trusty` environment,
which is the current environment for PowerPC tests.
2019-06-12 16:30:18 -07:00
Yann Collet
cb236ba0c7
added flag -mpu=power9 for VSX code path
...
seems required to enable vec_revb()
2019-06-12 16:19:41 -07:00
Yann Collet
8e0d3e09dc
added -mvsx flag for VSX code path
2019-06-12 13:39:57 -07:00
Yann Collet
7a890464f9
added -maltivec flag for VSX code path
2019-06-12 13:36:25 -07:00
Yann Collet
4e1baec2a3
changed kKey into kSecret
...
for naming consistency
2019-06-12 13:33:31 -07:00
Yann Collet
3cf51cbf3d
added VSX code path check on Travis CI
2019-06-12 13:30:56 -07:00
Yann Collet
5fc33510ff
secret is now a blob of bytes with no alignment restriction
...
secret must only respect a size condition now.
also : switch powerpc tests to trusty,
as they seem to fail on xenial environment.
2019-06-12 13:17:32 -07:00
Yann Collet
e0b888581a
switched kKey to a blob of bytes
...
try to remove size and alignment restrictions for custom secret.
2019-06-12 11:33:40 -07:00
Yann Collet
e8a4ce2936
updated code comments
...
for clarity, and corrections following API changes
2019-06-12 10:35:20 -07:00
Yann Collet
6d65c2a17c
ensure all secret consumers read in 64-bit
...
so that secret can be transformed into a "blob of bytes"
thus being compatible with any endianess
2019-06-11 17:55:23 -07:00
Yann Collet
384844c3ad
update formula for len1-3
...
removes a 32-bit secret consumer
2019-06-11 17:39:20 -07:00
Yann Collet
3eeba74bab
improved code comments
2019-06-11 17:26:30 -07:00
Yann Collet
e6b8322a01
added XXH3 documentation
2019-06-11 16:40:56 -07:00
Yann Collet
c0cebc7075
XXH3: return 0 on len==0
...
avoid to leak the seed.
2019-06-11 16:32:17 -07:00
Yann Collet
7beaa48dba
removed XXH3_hashlong
...
it was incorrect : it would always use kKey,
instead of the modified key.
2019-06-11 16:29:57 -07:00
Yann Collet
7d5eae1df4
prepare convergence torwards hashlong_internal
...
bench first
2019-06-11 16:05:23 -07:00
Yann Collet
c85a8408d8
prepare _withSecret_internal
2019-06-11 15:51:48 -07:00
Yann Collet
5a41cfccd4
factored mid-size
...
single implementation for both _withSeed and _withSecret
2019-06-11 15:38:34 -07:00
Yann Collet
b854395114
moved long size test near the beginning
2019-06-11 15:29:31 -07:00
Yann Collet
a6e1d9f499
removed trailing white space
2019-06-11 14:43:17 -07:00
Yann Collet
d38d336c51
fixed x++ compilation
2019-06-11 13:11:20 -07:00
Yann Collet
d2d1c967cc
actually use the secrets
2019-06-11 12:13:34 -07:00
Yann Collet
0aef33ed12
fix minor warning (compilation of xxh3 test)
2019-06-11 11:25:45 -07:00
Yann Collet
cd33dce88f
simplified short inputs (<16)
...
common functions for seed and secret
2019-06-11 11:22:57 -07:00
Yann Collet
04557272e5
test generic short input functions
...
suitable for both custom seed and secret
2019-06-11 11:13:44 -07:00
Yann Collet
891e3308b2
implemented a variant "with custom secret"
...
for benchmark of the "regular" variant.
2019-06-11 10:51:09 -07:00
Yann Collet
69ecf5fab2
Merge pull request #214 from orivej/align
...
Rename ALIGN to XXH_ALIGN
2019-06-10 11:56:05 -07:00