Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
616 commits
Select commit Hold shift + click to select a range
6d6c291
fix: Mark operator bool explicit
BigRedEye Jan 8, 2022
2819dc3
Merge pull request #90 from BigRedEye/vectorscan-master
markos Feb 8, 2022
9af996b
Fix all ASAN issues in vectorscan
danilak-G Feb 18, 2022
b3e88e4
Add sanitize options
danilak-G Feb 18, 2022
5f8729a
Fix a couple of tests
danilak-G Feb 18, 2022
d626381
change FAT_RUNTIME to a normal option so it can be set to off
a16bitsysop Feb 20, 2022
b34aacd
move to original position
a16bitsysop Feb 22, 2022
5fa22e6
Merge pull request #93 from danlark1/master
markos Apr 18, 2022
edea9d1
Merge pull request #94 from a16bitsysop/fat_runtime
markos Apr 18, 2022
288491d
Optimized and correct version of movemask128 for ARM
danlark1 Apr 18, 2022
bd91134
Merge pull request #102 from danlark1/patch-2
markos Apr 18, 2022
76b2b4b
add Jenkinsfile back to master branch
markos Apr 19, 2022
f441213
add Jenkinsfile back to master branch
markos Apr 19, 2022
630f7b2
Merge pull request #104 from VectorCamp/bugfix/jenkinsfile
markos May 4, 2022
fce10b5
Delete JenkinsFile
markos May 4, 2022
b3d7174
fix large pipeline error
markos May 4, 2022
e71fb5c
Merge pull request #105 from VectorCamp/bugfix/jenkins
markos May 4, 2022
2c78b77
Update Jenkinsfile
markos May 4, 2022
59ffac5
Update Jenkinsfile
markos May 4, 2022
6c24e61
Update Jenkinsfile
markos May 4, 2022
8739a6c
Merge pull request #103 from VectorCamp/develop
markos May 5, 2022
fc5059a
Update CMakeLists.txt
markos May 5, 2022
0a35a46
Use non-deprecated method of finding python
jth May 19, 2022
85a77e3
Bump scripts to python3
jth May 19, 2022
73695e4
Merge pull request #108 from jth/cmake-python
markos May 20, 2022
49eb18e
Optimize vectorscan for aarch64 by using shrn instruction
danilak-G Jun 26, 2022
8a49e20
Fix formatting of a couple files
danilak-G Jun 26, 2022
8498467
Minor fix
danilak-G Jun 26, 2022
7e7f604
Fix ppc64el debug
danilak-G Jun 26, 2022
db52ce6
Fix avx512 movemask call
danlark1 Jul 20, 2022
b5e1384
Fixed the PCRE download location
Jul 20, 2022
19947f7
Merge pull request #113 from danlark1/develop
markos Jul 20, 2022
6259783
Merge pull request #116 from pareenaverma/develop
markos Jul 20, 2022
cafd524
literal API: add instruction support
hongyang7 Mar 4, 2021
a119693
mcclellan: improve wide-state checking in Sherman optimization
hongyang7 Mar 4, 2021
decabdf
update year for bugfix #302-#305
hongyang7 Mar 11, 2021
c1659b8
Logical Combination: bypass combination flag in hs_expression_info.
fatchanghao Mar 10, 2021
2731a33
Fix segfaults on allocation failure (#4)
hongyang7 Dec 16, 2021
4d4940d
bugfix: fix overflow risk of strlen function
hongyang7 Apr 28, 2022
a9ca0e4
Corpus generator: fix random char value of UTF-8.
fatchanghao May 12, 2022
31afacc
Corpus editor: fix random char value of UTF-8.
fatchanghao May 12, 2022
4f27a70
chimera: fix SKIP flag issue
hongyang7 Jul 28, 2022
70b2a28
literal API: add empty string check.
hongyang7 Mar 4, 2021
c597f69
fix build with glibc-2.34
hdu-sdlzx Jun 27, 2022
74ab418
Add missing <memory> header
markos Aug 30, 2022
c043730
Merge pull request #118 from VectorCamp/bugfix/hyperscan-backport-202208
markos Sep 3, 2022
43c053a
add popcount32x4, popcount64x4 helper functions
markos Sep 2, 2022
026f761
[VSX] optimized mask1bit128(), moved simd_onebit_masks to common
markos Sep 6, 2022
0e7874f
[VSX] optimize and correct lshift_m128/rshift_m128
markos Sep 6, 2022
17467ff
[VSX] huge optimization of movemask128
markos Sep 6, 2022
94fe406
[VSX] correct lshiftbyte_m128/rshiftbyte_m128, variable_byte_shift
markos Sep 6, 2022
7295b9c
[VSX] add algorithm for alignr w/o use of immediates
markos Sep 6, 2022
dc6b8ae
optimize comparemask implementation, clean up code, use union types i…
markos Sep 6, 2022
be20c2c
[VSX] optimize shifting methods, replace template Unroller
markos Sep 7, 2022
a837cf3
[VSX] optimize shift operators
markos Sep 7, 2022
305a041
[VSX] optimize alignr method
markos Sep 7, 2022
02ae2a3
remove simd_onebit_masks from arm/x86 headers, as they moved to common
markos Sep 7, 2022
0af2ba8
[NEON] optimize mask1bit128, get rid of simd_onebit_masks
markos Sep 7, 2022
1ae0d15
readd simd_onebit_masks for x86, needs more work
markos Sep 7, 2022
756ef40
provide non-immediate versions of lshiftbyte/rshiftbyte on x86
markos Sep 7, 2022
e3c237a
use correct intrinsic for lshiftbyte_m128
markos Sep 7, 2022
0c97e5f
Merge pull request #119 from VectorCamp/feature/vsx-optimizations
markos Sep 8, 2022
f4840ad
fix to enable successful build with mingw64
liquidaty Sep 8, 2022
db2a6d6
Merge pull request #121 from liquidaty/mingw64-develop
markos Sep 9, 2022
67b414f
[NEON] simplify/optimize shift/align primitives
markos Sep 12, 2022
d0ae940
Merge pull request #123 from VectorCamp/feature/neon-shift-optimizations
markos Sep 13, 2022
361feb6
Merge pull request #124 from VectorCamp/develop
markos Sep 13, 2022
f6250ae
bump version
markos Sep 13, 2022
ee0c8f7
fix to correctly place the autodetected flags and to activate SVE opt…
abondarev84 Sep 13, 2022
69e6176
updated README to reflect CMake changes
abondarev84 Sep 13, 2022
d0a017d
removed cpu reference flags and fixed tune flag
abondarev84 Sep 15, 2022
4ab0730
additional mcpu flag cleanup
abondarev84 Sep 15, 2022
bf6200e
Jenkins change envVars -> withEnv
markos Sep 16, 2022
4934852
Declarative Pipeline Jenkins environment attempt
markos Sep 16, 2022
88b1bec
Declarative Pipeline Jenkins environment
markos Sep 16, 2022
ef66877
[VSX] clang complains about the order of __vector
markos Sep 16, 2022
1a43178
env vars have to be in quotes
markos Sep 16, 2022
3fc6c8a
[VSX] movemask needs to be explicitly aligned on clang for vec_ste
markos Sep 16, 2022
6de45b4
clang 14 complains about this, needs investigation
markos Sep 16, 2022
0e0147e
clang 14 does not allow bitwise OR for bools
markos Sep 16, 2022
a4972aa
remove leftover debug print
markos Sep 16, 2022
911a98d
clang 13+ gives wrong -Wunused-but-set-variable error on nfa/mcclella…
markos Sep 16, 2022
48105cd
move variable
markos Sep 16, 2022
9d34941
Merge pull request #129 from VectorCamp/bugfix/fix-clang-on-power
markos Sep 16, 2022
90ac746
SVE enabled on user input. updated README
abondarev84 Sep 18, 2022
7133ac5
clang SVE build fix
abondarev84 Sep 18, 2022
00d1807
Merge pull request #125 from abondarev84/master
markos Sep 19, 2022
6d8599e
Merge pull request #131 from VectorCamp/develop
markos Sep 19, 2022
e6cfd11
prefix assume_aligned to avoid clash with std::assume_aligned in c++20
markos Nov 1, 2022
0f967b9
Merge pull request #136 from VectorCamp/feature/prefix-assume-aligned
markos Nov 1, 2022
dbdbfe9
Set Ragel.rl char type to unsigned, #135
markos Mar 21, 2023
1ce45a3
fix typo
markos Mar 21, 2023
9f8758d
Force -funsigned-char to RAGEL_C_FLAGS
markos Mar 22, 2023
101f608
add -funsigned-char to RAGEL_C_FLAGS, move util build after that
markos Mar 22, 2023
66289cd
fix ExpressionParser.cpp path
markos Mar 22, 2023
842e680
clang 14 makes some test failed because val is uninitialized
markos Mar 22, 2023
e6b97a9
Merge pull request #141 from VectorCamp/bugfix/hs-flag-utf8-signed-ch…
markos Mar 23, 2023
eef3f06
Bump version
markos Mar 23, 2023
8c7fdf1
Merge pull request #142 from VectorCamp/feature/bump-version
markos Mar 23, 2023
b4bba94
Merge pull request #143 from VectorCamp/develop
markos Mar 23, 2023
8f26c5e
Fix compilation with libcxx 16
rschu1ze Mar 28, 2023
d054911
Merge pull request #144 from rschu1ze/rs/fix-libcxx16
markos Mar 29, 2023
8a54576
Use std::vector instead of boost::container::small_vector under MSan
azat May 10, 2023
07305d1
Fix use-of-uninitialized-value due to getData128()
azat May 10, 2023
4fbabb6
Merge pull request #148 from azat-ch/getData128-msan
markos May 23, 2023
38431d1
Merge pull request #149 from azat-ch/small-vector-msan
markos May 23, 2023
68db36f
initial attempt for fat binary on Aarch64
Aug 23, 2023
0ec7b4e
fix SVE flags detection order #145
Aug 23, 2023
4bc70b3
adding ifndef around HS_PUBLIC_API definition so that vectorscan can …
jeffplaisance Jun 27, 2023
b6b69a4
Merge pull request #165 from VectorCamp/feature/enable-fat-runtime-arm
markos Sep 4, 2023
75dbede
Merge pull request #164 from jeffplaisance/develop
markos Sep 4, 2023
978105a
klocwork: fix risk issues
hongyang7 May 31, 2022
762f405
gcc-10(and above): fix compile issue caused by stringop-overflow
hongyang7 Jul 5, 2022
7c1835c
stringop-overflow compatible fix
hongyang7 Jul 12, 2022
684f0ce
UTF-8 validation: fix one cotec check corner issue
hongyang7 Jul 28, 2022
b7ee910
update year 2022
hongyang7 Aug 1, 2022
fc5a423
Fix cmake CMP0115 warning for CMake 3.20 and above
hongyang7 Aug 2, 2022
941cc71
Silence clang-14 warnings
hongyang7 Aug 15, 2022
6595254
stream close: free stream to avoid memory leak
hongyang7 Oct 19, 2022
7f2f7d2
scratch: add quick validity check
hongyang7 Oct 20, 2022
91f0cb6
fix nfa dump error
hongyang7 Oct 20, 2022
6765b35
bugfix: add vbmi platform parameter for tests in single.cpp
hongyang7 Jun 7, 2021
4fb3a48
bugfix: add vbmi case for test in database.cpp
hongyang7 Jun 7, 2021
dc78dc1
sanitiser bugfix
hongyang7 Dec 29, 2021
ab4f837
changelog: updates for 5.4.1 release
fatchanghao Feb 21, 2023
c652345
scratch: remove quick validity check
hongyang7 Mar 1, 2023
5209c79
remove invalid nfa dump info
hongyang7 Mar 23, 2023
4344d2f
changelog: updates for 5.4.2 release
hongyang7 Apr 19, 2023
e843ac8
Merge pull request #169 from VectorCamp/feature/backport-hyperscan-20…
markos Sep 5, 2023
6834663
bump version, add Vectorscan Changelog
markos Sep 7, 2023
a344cd3
minor fix
markos Sep 7, 2023
85a6973
Merge pull request #167 from VectorCamp/develop
markos Sep 7, 2023
ad42abe
forgot to update changelog for latest entry
markos Sep 7, 2023
1d25f9b
force disable FAT_RUNTIME on MacOS on Arm
markos Sep 8, 2023
d85d306
HWCAP is only available on Linux
markos Sep 8, 2023
adedf2a
Merge pull request #173 from VectorCamp/bugfix/disable-fat-macos-arm
markos Sep 8, 2023
4918f81
Merge pull request #174 from VectorCamp/develop
markos Sep 8, 2023
16604f9
Fix version getting out of sync #175
markos Oct 3, 2023
0d2f9cc
Fix 'unqualified call to std::move' errors in clang 15+
markos Oct 3, 2023
db7b23a
move definition of RAGEL_C_FLAGS earlier to catch tools/hscollider
markos Oct 3, 2023
9a17474
more std::move fixes
markos Oct 3, 2023
93d3e7e
fix -Wunused warnings on debug
Oct 4, 2023
9aa6144
Reduce unit test runtimes dramatically for debug builds
markos Oct 4, 2023
b7d1bc0
clang 15 (but not 16) fails on ppc64le with -Wdeprecate-lax-vec-conv-all
markos Oct 4, 2023
354fda4
add conditional for __clang__
markos Oct 4, 2023
2e88df1
use the conditional in the right way
markos Oct 4, 2023
da88abf
missed one pragma
markos Oct 4, 2023
72afe16
clang 16 as well
markos Oct 4, 2023
35c0711
use the right type of cast
markos Oct 4, 2023
e369681
Don't run regression UE_2595 on debug, it times out CI
markos Oct 5, 2023
22a24f1
Reduce debug unit tests runtime even more
markos Oct 5, 2023
98d7434
__builtin_constant_p is true in the wrong case on gcc 13.2. Exclude f…
markos Oct 6, 2023
a26661c
remove extra print
markos Oct 6, 2023
55cae8c
detect arm_sve.h when using clang on fat runtime builds
markos Oct 6, 2023
7a2ccd7
fix fat & normal build errors on arm
markos Oct 6, 2023
e8e2957
re-add missing file to x86 builds
markos Oct 7, 2023
6900806
add cpuid_flags to ppc64le as well
markos Oct 7, 2023
1320d01
add missing file
markos Oct 7, 2023
983a3a5
include extra sources for Arm on non-fat builds
markos Oct 7, 2023
9e1c43b
add src/nfa/vermicelli_simd.cpp to ppc64le
markos Oct 7, 2023
0e40310
SVE2 needs armv9-a, fix build
markos Oct 7, 2023
24ae167
WIP: Refactor CMake build system to more modular
markos Oct 8, 2023
3884f59
add missing file
markos Oct 8, 2023
6beeb37
increase cmake_minimum_version, basically the one in Debian 11
markos Oct 8, 2023
0d5ce27
fix defaults for -march for x86
markos Oct 8, 2023
ee8a3c2
fix cflags detection for x86
markos Oct 8, 2023
e85f7cc
fix sqlite3 version detection
markos Oct 8, 2023
5e4a1ed
fix x86 fat binary build
markos Oct 8, 2023
981576a
fix default arch/tune flags for ppc64le
markos Oct 8, 2023
4d539f2
fix cmake refactor for arm builds
Oct 9, 2023
9445f49
is not known at that stage
markos Oct 9, 2023
1619dba
remove unneeded option
markos Oct 9, 2023
7909b91
remove vermicelli_simd.cpp to fix redefinition build failure on SVE2 …
markos Oct 9, 2023
c4b7a44
SVE2 is armv9-a but gcc 11 does not recognize that
markos Oct 9, 2023
1fdeedf
set default value
markos Oct 9, 2023
5a4d900
fix default arch definition for non fat builds on arm
markos Oct 9, 2023
aa8af26
Merge pull request #181 from VectorCamp/bugfix/fix-clang15-compilatio…
markos Oct 10, 2023
a659555
Ubuntu 20.04 gcc does not define HWCAP2_SVE2 #180
markos Oct 10, 2023
02474c4
Merge pull request #185 from VectorCamp/bugfix/fix-inconsistent-versi…
markos Oct 11, 2023
de94286
Merge pull request #186 from VectorCamp/bugfix/fix-compilation-arm-ub…
markos Oct 25, 2023
71bbf97
make pkgconfig a requirement
Oct 31, 2023
9c139c3
Correct set_source_files_properties usage
mlmitch Oct 31, 2023
21c45f3
Merge pull request #188 from VectorCamp/bugfix/require-pkg-config
markos Oct 31, 2023
9d0599a
Merge pull request #189 from mlmitch/develop
markos Nov 1, 2023
b5f1a82
Move VERM16 enums to the end of the list
markos Nov 16, 2023
80f84a1
Merge pull request #191 from VectorCamp/bugfix/fix-segfault-arm-sve2
markos Nov 17, 2023
44b026a
remove Jenkinsfile
markos Nov 19, 2023
35acf49
Don't build fat runtime with native CPU detection
markos Nov 19, 2023
b152286
bump version
markos Nov 19, 2023
5e5d6d2
Update Readme file
markos Nov 19, 2023
8d1c7c4
add changelog entry
markos Nov 19, 2023
9c92c7b
add contributors file
markos Nov 19, 2023
d5cd29b
additions to readme
markos Nov 19, 2023
aecd920
if none are set build static
markos Nov 19, 2023
a97d576
cross-compiling is not tested, removed
markos Nov 19, 2023
08b904b
more changes to readme
markos Nov 19, 2023
393dee3
add sanitizer flags
markos Nov 19, 2023
41fb015
expand on build-deps installation
markos Nov 19, 2023
574e525
Merge pull request #196 from VectorCamp/feature/prepare-5.4.11
markos Nov 20, 2023
343e523
fix missing hs_version.h header (closes #198)
gliwka Nov 20, 2023
d611fcb
fix missing installation of static libs
markos Nov 20, 2023
c3a6bb3
Merge pull request #199 from gliwka/fix-missing-hs-version-header
markos Nov 21, 2023
44b893a
Merge pull request #200 from VectorCamp/bugfix/install-static-libs
markos Nov 21, 2023
d24d67c
Add SIMDe backend to CMake
markos Nov 21, 2023
129015a
add SIMDe git submodule
markos Nov 21, 2023
8455cba
add SIMDe cmake file
markos Nov 21, 2023
b5cde5e
mofidied .gitmodules
markos Nov 21, 2023
b068087
add SIMDe ports of simd_utils and supervector
markos Nov 21, 2023
a8e9b90
enable SIMDe backend
markos Nov 21, 2023
14c9222
add generic tune flags
markos Nov 21, 2023
7c53b4e
add include dirs
markos Nov 21, 2023
b32ca71
SIMDE is a valid platform
markos Nov 23, 2023
62cb8d6
fix test for SIMDe
markos Nov 23, 2023
20f4f54
add missing intrinsics for SIMDe backend
markos Nov 23, 2023
dfacf75
existing scalar implementations were incorrect -but never tested, por…
markos Nov 23, 2023
f57928e
fix SIMDe emulation builds on Arm, add native translation from x86 fo…
Nov 27, 2023
8c7b503
fix TUNE_FLAG for SIMDE_BACKEND
markos Nov 27, 2023
23aeaec
use pkg-config for SIMDe
markos Nov 27, 2023
f5e508b
fix compilation for SIMDe
markos Nov 27, 2023
be9ce68
make diffrich384 available on all arches
Nov 28, 2023
3beda7e
add missing else
markos Nov 28, 2023
6332cb9
separate ARCH_FLAG logic
markos Nov 28, 2023
9fd0ce5
search for SIMDE sse4.2.h header
markos Nov 28, 2023
d3f6d2a
updates to the Readme
markos Nov 28, 2023
519bd64
fix failing allbits test for ppc64le on clang15
markos Nov 28, 2023
a26bed9
Merge pull request #203 from VectorCamp/feature/enable-simde-backend
markos Nov 29, 2023
e15ad93
SIMDe on Clang needs SIMDE_NO_CHECK_IMMEDIATE_CONSTANT defined
markos Dec 19, 2023
c8ba7fa
add missing pdep64 for common bitutils
markos Dec 19, 2023
8cba258
add missing pdep64 for arm and ppc64le
markos Dec 19, 2023
49e6fe1
add missing pdep64 for x86 bitutils
markos Dec 19, 2023
1b915cf
add fallback pdep64 for x86 if no HAVE_BMI2
markos Dec 20, 2023
2aa5e1c
fix arch=native on arm+clang
Dec 20, 2023
44f19c1
fix submodule headers detection
markos Dec 20, 2023
a7a1284
reorganize OS detection
markos Dec 20, 2023
306e861
GREATER_EQUAL
Dec 20, 2023
ef37e60
native CPU on SIMDe will enable all sorts of features in an unpredict…
Dec 20, 2023
10d9574
fix typo in baseline x86 arch definition
markos Dec 20, 2023
3113d1c
Merge pull request #212 from VectorCamp/bugfix/fix-simde-build
markos Dec 21, 2023
ad70693
use ccache if available
markos Dec 12, 2023
17fb9f4
Merge pull request #215 from VectorCamp/feature/use-ccache
markos Dec 21, 2023
d4fde85
refactor Noodle to use the same loop as Shufti/Truffle, now it's at l…
markos Dec 14, 2023
9f66822
define HAVE_MASKED_LOADS for AVX512
markos Dec 18, 2023
476cefb
fix loadu_maskz, remove old defines
markos Dec 18, 2023
5f65b9f
fix types of z in debug prints
markos Dec 18, 2023
0e2f6c1
refactor Noodle Single/Double to use masked loads
markos Dec 18, 2023
5814d32
remove unneeded shifts
markos Dec 18, 2023
db3b0e9
comparemask_type is u64a on Arm, use single load_mask
Dec 18, 2023
f866b72
fix debug formats for z on arm
Dec 18, 2023
de66c74
fix debug prints for z on ppc64le
markos Dec 18, 2023
9a53b19
add missing findLSB for ppc64le
markos Dec 18, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[submodule "simde"]
path = simde
url = https://github.com/simd-everywhere/simde.git
66 changes: 66 additions & 0 deletions CHANGELOG-vectorscan.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
# Vectorscan Change Log

This is a list of notable changes to Vectorscan, in reverse chronological order. For Hyperscan Changelog, check CHANGELOG.md

## [5.4.11] 2023-11-19

- Refactor CMake build system to be much more modular.
- version in hs.h fell out of sync again #175
- Fix compile failures with recent compilers, namely clang-15 and gcc-13
- Fix clang 15,16 compilation errors on all platforms, refactor CMake build system #181
- Fix signed/unsigned char issue on Arm with Ragel generated code.
- Correct set_source_files_properties usage #189
- Fix build failure on Ubuntu 20.04
- Support building on Ubuntu 20.04 #180
- Require pkg-config during Cmake
- make pkgconfig a requirement #188
- Fix segfault on Fat runtimes with SVE2 code
- Move VERM16 enums to the end of the list #191
- Update README.md, add CHANGELOG-vectorscan.md and Contributors-vectorscan.md files

## [5.4.10] 2023-09-23
- Fix compilation with libcxx 16 by @rschu1ze in #144
- Fix use-of-uninitialized-value due to getData128() by @azat in #148
- Use std::vector instead of boost::container::small_vector under MSan by @azat in #149
- Feature/enable fat runtime arm by @markos in #165
- adding ifndef around HS_PUBLIC_API definition so that vectorscan can be statically linked into another shared library without exporting symbols by @jeffplaisance in #164
- Feature/backport hyperscan 2023 q3 by @markos in #169
- Prepare for 5.4.10 by @markos in #167

## [5.4.9] 2023-03-23
- Major change: Enable SVE & SVE2 builds and make it a supported architecture! (thanks to @abondarev84)
- Fix various clang-related bugs
- Fix Aarch64 bug in Parser.rl because of char signedness. Make unsigned char the default in the Parser for all architectures.
- Fix Power bug, multiple tests were failing.
- C++20 related change, use prefixed assume_aligned to avoid conflict with C++20 std::assume_aligned.

## [5.4.8] 2022-09-13
- CMake: Use non-deprecated method for finding python by @jth in #108
- Optimize vectorscan for aarch64 by using shrn instruction by @danlark1 in #113
- Fixed the PCRE download location by @pareenaverma in #116
- Bugfix/hyperscan backport 202208 by @markos in #118
- VSX optimizations by @markos in #119
- when compiling with mingw64, use __mingw_aligned_malloc() and __mingw_aligned_free() by @liquidaty in #121
- [NEON] simplify/optimize shift/align primitives by @markos in #123
- Merge develop to master by @markos in #124

## [5.4.7] 2022-05-05
- Fix word boundary assertions under C++20 by @BigRedEye in #90
- Fix all ASAN issues in vectorscan by @danlark1 in #93
- change FAT_RUNTIME to a normal option so it can be set to off by @a16bitsysop in #94
- Optimized and correct version of movemask128 for ARM by @danlark1 in #102

## [5.4.6] 2022-01-21
- Major refactoring of many engines to use internal SuperVector C++ templates library. Code size reduced to 1/3rd with no loss of performance in most cases.
- Microbenchmarking tool added for performance finetuning
- Arm Advanced SIMD/NEON fully ported. Initial work on SVE2 for a couple of engines.
- Power9 VSX ppc64le fully ported. Initial port needs some optimization.
- Clang compiler support added.
- Apple M1 support added.
- CI added, the following configurations are tested on every PR:
gcc-debug, gcc-release, clang-debug, clang-release:
Linux Intel: SSE4.2, AVX2, AVX512, FAT
Linux Arm
Linux Power9
clang-debug, clang-release:
MacOS Apple M1
49 changes: 49 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,55 @@

This is a list of notable changes to Hyperscan, in reverse chronological order.

## [5.4.2] 2023-04-19
- Roll back bugfix for github issue #350: Besides using scratch for
corresponding database, Hyperscan also allows user to use larger scratch
allocated for another database. Users can leverage this property to achieve
safe scratch usage in multi-database scenarios. Behaviors beyond these are
discouraged and results are undefined.
- Fix hsdump issue due to invalid nfa type.

## [5.4.1] 2023-02-20
- The Intel Hyperscan team is pleased to provide a bug fix release to our open source library.
Intel also maintains an upgraded version available through your Intel sales representative.
- Bugfix for issue #184: fix random char value of UTF-8.
- Bugfix for issue #291: bypass logical combination flag in hs_expression_info().
- Bugfix for issue #292: fix build error due to libc symbol parsing.
- Bugfix for issue #302/304: add empty string check for pure literal API.
- Bugfix for issue #303: fix unknown instruction error in pure literal API.
- Bugfix for issue #303: avoid memory leak in stream close stage.
- Bugfix for issue #305: fix assertion failure in DFA construction.
- Bugfix for issue #317: fix aligned allocator segment faults.
- Bugfix for issue #350: add quick validity check for scratch.
- Bugfix for issue #359: fix glibc-2.34 stack size issue.
- Bugfix for issue #360: fix SKIP flag issue in chimera.
- Bugfix for issue #362: fix one cotec check corner issue in UTF-8 validation.
- Fix other compile issues.

## [5.4.0] 2020-12-31
- Improvement on literal matcher "Fat Teddy" performance, including
support for Intel(R) AVX-512 Vector Byte Manipulation Instructions (Intel(R)
AVX-512 VBMI).
- Introduce a new 32-state shuffle-based DFA engine ("Sheng32"). This improves
scanning performance by leveraging AVX-512 VBMI.
- Introduce a new 64-state shuffle-based DFA engine ("Sheng64"). This improves
scanning performance by leveraging AVX-512 VBMI.
- Introduce a new shuffle-based hybrid DFA engine ("McSheng64"). This improves
scanning performance by leveraging AVX-512 VBMI.
- Improvement on exceptional state handling performance for LimEx NFA, including
support for AVX-512 VBMI.
- Improvement on lookaround performance with new models, including support for
AVX-512.
- Improvement on DFA state space efficiency.
- Optimization on decision of NFA/DFA generation.
- hsbench: add CSV dump support for hsbench.
- Bugfix for cmake error on Icelake under release mode.
- Bugfix in find_vertices_in_cycles() to avoid self-loop checking in SCC.
- Bugfix for issue #270: fix return value handling in chimera.
- Bugfix for issue #284: use correct free function in logical combination.
- Add BUILD_EXAMPLES cmake option to enable example code compilation. (#260)
- Some typo fixing. (#242, #259)

## [5.3.0] 2020-05-15
- Improvement on literal matcher "Teddy" performance, including support for
Intel(R) AVX-512 Vector Byte Manipulation Instructions (Intel(R) AVX-512
Expand Down
Loading