Commit Graph

346 Commits

Author SHA1 Message Date
Yann Collet
850a212760 Merge branch 'xxh3' of github.com:Cyan4973/xxHash into xxh3 2019-03-06 11:56:03 -05:00
Yann Collet
48e3d724d1 updated xxh3 2019-03-06 11:55:48 -05:00
Yann Collet
9bde60ca08
Merge pull request #169 from Cyan4973/revert-168-xxh3
Revert "Improve aarch64 performance"
2019-03-02 18:26:41 -08:00
Yann Collet
982a3ab59d
Revert "Improve aarch64 performance" 2019-03-02 18:26:20 -08:00
Yann Collet
d0e1017967
Merge pull request #168 from easyaspi314/xxh3
Improve aarch64 performance
2019-03-02 18:11:47 -08:00
easyaspi314 (Devin)
8a08cbc10c Improve aarch64 code. There is no longer need to disable NEON on GCC 6
This new code is faster and vectorizes properly on GCC 6.

Apparently, aarch64 really hates shuffling.
2019-03-02 19:25:31 -05:00
easyaspi314 (Devin)
d034ce8269 Automatically warn + disable NEON implementation for aarch64 GCC < 7.
It generates code that runs at about 1.8 GB/s when Clang 3.8 generates
code that runs at 5 GB/s on the same machine with the same C
source code.
2019-03-02 01:00:28 -05:00
Yann Collet
1d32e2664a
Merge pull request #167 from easyaspi314/xxh3
xxh3: add NEON support
2019-02-28 17:40:33 -08:00
easyaspi314 (Devin)
8d345470e6 xxh3: add NEON support
Signed-off-by: easyaspi314 (Devin) <easyaspi314@users.noreply.github.com>
2019-02-28 20:28:29 -05:00
Yann Collet
b348fa896a restored 8-way mixer 2019-02-28 16:43:44 -08:00
Yann Collet
cd626c344b Makefile : switch default optimization to -O3
because gcc is pretty bad at vectorization with -O2.

Also : documented the clang problem with XXH32 auto-vectorization
which must be prevented for better performance.
2019-02-27 16:05:20 -08:00
Yann Collet
fa31d0b02f xxh3: fixed last minor quality metric
in extended tests
2019-02-27 15:03:23 -08:00
Yann Collet
5b827f538c improved 8-ways mixer 2019-02-26 18:38:20 -08:00
Yann Collet
c6c39030fb ensure warnings are blocking during tests
added -Werror flag to target test-all
2019-02-26 16:49:23 -08:00
Yann Collet
2be95459cd fixed minor c90 warning 2019-02-26 16:42:50 -08:00
Yann Collet
7784d41ce3 fixed ARM compilation error 2019-02-26 16:36:03 -08:00
Yann Collet
94bebd5b86 xxh3: more c90 compatibility 2019-02-26 15:55:25 -08:00
Yann Collet
e0c6a9e880 fixed xxh3 namespace issue 2019-02-26 15:14:05 -08:00
Yann Collet
43c10239c9 minor C90 adaptation fixes
added -Wconversion flag
2019-02-26 13:45:56 -08:00
Yann Collet
45f39e6d34 first implementation of XXH3_64b
currently can only be used for benchmarking (`-b`)
2019-02-26 12:36:23 -08:00
Yann Collet
589e517c5a
Merge pull request #166 from LambdAurora/dev
Added export of public symbols on Windows.
2019-02-12 18:16:35 -08:00
LambdAurora
c56b856e58
Fixed undefined reference when building with MinGW. 2019-02-12 22:59:45 +01:00
LambdAurora
3c28448546
Added missing condition to export symbols on Windows with CMake. 2019-02-12 22:29:57 +01:00
LambdAurora
1b0f7b371d
Added export of public symbols on Windows. 2019-02-12 22:15:58 +01:00
Yann Collet
d6f83c47f9 renamed FORCE_INLINE into XXH_FORCE_INLINE
to reduce risks of symbol duplication when XXH_INLINE_ALL is used
2019-02-04 14:05:34 -08:00
Yann Collet
c99e0c1c70 ensure rotl macro arguments are in parenthesis
to support non-singleton arguments
2019-02-04 13:57:55 -08:00
Yann Collet
0f2dd4a1cb fixed minor cast warning
fix #139
2018-10-16 21:47:53 -07:00
Yann Collet
eec5700f4d added some notes of constant selection
as suggested in #151.
2018-10-11 17:09:14 -07:00
Yann Collet
74c2c63348
Merge pull request #150 from Cyan4973/msys2
Fix compilation under msys2
2018-10-11 12:19:30 -07:00
Yann Collet
2ec7fddf1c minor optimization : shared xxhash.o compilation 2018-09-29 23:58:07 -07:00
Yann Collet
7a407f64f9 show script lines during lib compilation 2018-09-29 23:13:01 -07:00
Yann Collet
542430e0ec fixed compilation issues under msys2/mingw64 2018-09-29 23:09:23 -07:00
Yann Collet
ae5a8c8bb6
Merge pull request #149 from Cyan4973/cppcheck
Added Cppcheck static analyzer tests
2018-09-17 16:31:50 -07:00
Yann Collet
79b52d94ba added cppcheck test
to Makefile and transitively to .travis.yml
2018-09-17 13:48:10 -07:00
Yann Collet
b39d9be348 minor unused last pointer change style warning 2018-09-17 12:51:12 -07:00
Yann Collet
00cc5e5b94
Merge pull request #148 from Cyan4973/Makefile
minor Makefile improvements
2018-09-17 12:42:17 -07:00
Yann Collet
3eb9d18ddb explicitly states when not checking a return value
although, cppcheck seems to overdo this warning,
as it also warns for function with `void` return type (??)
2018-09-17 12:39:18 -07:00
Yann Collet
68652df700 fixed ptr arithmetic on NULL 2018-09-17 12:28:59 -07:00
Yann Collet
df35d637c4 fixed minor printf formatting 2018-09-17 12:12:44 -07:00
Yann Collet
bce5f457b0 fixed pointer arithmetic on NULL 2018-09-17 12:10:03 -07:00
Yann Collet
fbd68c5f09 updated C++ test 2018-09-17 11:45:49 -07:00
Yann Collet
52a97a1a08 minor Makefile improvements
- more warnings enabled (inspired by zstd list)
- -fPIC is a CFLAGS rather than an LDFLAGS flag
(though it doesn't change the outcome, since everything is compiler in a single command line)
2018-09-17 11:26:39 -07:00
Yann Collet
5a46d72c85
Merge pull request #146 from ArnaudBienner/dev
Add syntax coloring to README.md examples
2018-08-21 14:42:42 -07:00
ArnaudBienner
aa76d203ca
Add syntax coloring to README.md examples 2018-08-20 17:19:16 +02:00
Yann Collet
3064d42e7d minor code comment editing 2018-04-18 14:27:00 -07:00
Yann Collet
d4eea23960 removed valgrind
and removed code coverage,
which can only work correctly when compiling only once
(here, we have multiple binaries created)
2018-04-01 19:43:36 -07:00
Yann Collet
63c8575d09 hash lib* instead of xxhsum*
to avoid hashing xxhsum.gcda,
which content change while running xxhsum
2018-04-01 15:57:02 -07:00
Yann Collet
1a4376afa8 attempt to add code coverage 2018-04-01 15:15:19 -07:00
Yann Collet
f50f0e7e8d
Merge pull request #132 from Cyan4973/stdint
fix #130
2018-03-26 18:47:34 -07:00
Yann Collet
76f7ea3782 use stdint.h inside xxhash.h
to avoid type mismatch in some specific circumstances
2018-03-21 18:24:19 -07:00