1468 Commits

Author SHA1 Message Date
Michael Tremer
de15179c57
hs_valid_platform: Fix check for SSE4.2 (#310)
Vectorscan requires SSE4.2 as a minimum on x86_64. For Hyperscan this
used to be SSSE3.

Applications that use the library call hs_valid_platform() to check if
the CPU fulfils this minimum requirement. However, when Vectorscan
upgraded to SSE4.2, the check was not updated. This leads to the library
trying to execute instructions that are not supported, resulting in the
application to crash.

This might not have been noticed as the CPUs that do not support SSE4.2
are rather old and unlikely to run any load where performance is an
issue. However, I believe that the library should not let the
application crash.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-08-22 10:34:05 +03:00
ypicchi-arm
e4c49f2aa2
Make vectorscan accept \0 starting pattern (#312)
Vectorscan used to reject such pattern because they were being compared
to "" and found to be an empty string. We now check the pattern length
instead.

Signed-off-by: Yoan Picchi <yoan.picchi@arm.com>
2024-08-22 10:32:53 +03:00
ypicchi-arm
aa4bc24439
Fix noodle SVE2 off by one bug (#309)
By using svmatch on 16 bit lanes with a 8 bit predicate, we end up
including an undefined character in the pattern checks. The inactive
lane after load contains an undefined value, usually \0. Patterns
using \0 as the last character would then match this spurious
character, returning a match beyond the buffer's end. The fix checks
for such matches and rejects them.

Signed-off-by: Yoan Picchi <yoan.picchi@arm.com>
2024-08-05 09:42:56 +03:00
gtsoul-tech
6c8e33e597
Bug fix/rebar tests (#307)
* fixed paths and utf8-lossy=true

* revert to maskz (its the bug)

* cppcheck fix

---------

Co-authored-by: gtsoul-tech <gtsoulkanakis@gmail.com>
2024-07-29 11:49:25 +03:00
g. economou
cc11a3d738
build/run on machines that only have SSE2 with SIMDE (#303)
This allows the use of SIMDE library to emulate SSSE3/SSE4.2 instructions on SSE2-only (x86-64-v2) hardware.

---------

Co-authored-by: G.E <gregory.economou@vectorcamp.gr>
Co-authored-by: Konstantinos Margaritis <konstantinos@vectorcamp.gr>
2024-07-10 21:20:17 +03:00
g. economou
aa832db892
Teddy macros unrolling - initial PR to test in CI (#294)
Major refactoring of teddy and teddy_avx2, unrolling macros to C++ templated functions

---------

Co-authored-by: G.E <gregory.economou@vectorcamp.gr>
2024-06-26 22:35:33 +03:00
gtsoul-tech
0f4369bf22
Bug fix/clang-tidy-performance (#300)
Various clang-tidy-performance fixes:
* noexcept
* performance-noexcept-swap
* performance
* performance-move-const-arg
* performance-unnecessary-value-param
* performance-inefficient-vector-operation
* performance-no-int-to-ptr
* add performance
* performance-inefficient-string-concatenation
* clang-analyzer-deadcode.DeadStores
* performance-inefficient-vector-operation
* clang-analyzer-core.NullDereference
* clang-analyzer-core.UndefinedBinaryOperatorResult
* clang-analyzer-core.CallAndMessage

---------

Co-authored-by: gtsoul-tech <gtsoulkanakis@gmail.com>
2024-06-20 14:57:19 +03:00
gtsoul-tech
a68845c82b
Bug fix/clang tidy warnings part3 (#298)
* clang-analyzer-deadcode.DeadStores

* clang-analyzer-optin.performance.Padding

---------

Co-authored-by: gtsoul-tech <gtsoulkanakis@gmail.com>
2024-06-10 10:08:54 +03:00
gtsoul-tech
8fc1a7efff
Bug fix/clang tidy warnings part2 (#296)
* core.StackAddressEscape

* cplusplus.VirtualCall

* clang-analyzer-deadcode.DeadStores

* clang-analyzer-core.NullDereference

* clang-analyzer-core.NonNullParamChecker

* change to nolint

---------

Co-authored-by: gtsoul-tech <gtsoulkanakis@gmail.com>
2024-06-04 16:18:17 +03:00
gtsoul-tech
00a5ff1c67 clang-analyzer-core.uninitialized.UndefReturn 2024-05-31 10:24:44 +03:00
gtsoul-tech
c5c4c5d5f5 clang-analyzer-cplusplus.NewDelete 2024-05-30 16:40:55 +03:00
gtsoul-tech
de1697b467 deadcode.DeadStores 2024-05-30 16:40:18 +03:00
gtsoul-tech
faa9e7549f uninitialized.UndefReturn 2024-05-29 11:51:06 +03:00
Konstantinos Margaritis
c837925087
Fix/Suppress remaining Cppcheck warnings (#291)
Fix/suppress the following cppcheck warnings:

* arithOperationsOnVoidPointer
* uninitMember
* const*
* shadowVariable
* assignmentIntegerToAddress
* containerOutOfBounds
* pointer-related warnings in Ragel source
* missingOverride
* memleak
* knownConditionTrueFalse
* noExplicitConstructor
* invalidPrintfArgType_sint
* useStlAlgorithm
* cstyleCast
* clarifyCondition
* VSX-related cstyleCast
* unsignedLessThanZero 

Furthermore, we added a suppression list to be used, which also includes the following:
* missingIncludeSystem
* missingInclude
* unmatchedSuppression
2024-05-27 12:23:02 +03:00
Konstantinos Margaritis
cebc6541c1
Part 5 of C-style cast cppcheck (#289)
Fixes some cstyleCasts part 5

closes some: #252
2024-05-24 23:24:58 +03:00
Yoan Picchi
938c026256 Speed up truffle with 256b TBL instructions
256b wide SVE vectors allow some simplification of truffle.
Up to 40% speedup on graviton3. Going from 12500 MB/s to 17000 MB/s
onhe microbenchmark.
SVE2 also offer this capability for 128b vector with a speedup around
25% compared to normal SVE

Add unit tests and benchmark for this wide variant

Signed-off-by: Yoan Picchi <yoan.picchi@arm.com>
2024-05-22 16:13:53 +00:00
gtsoul-tech
af39f77461 cstylecast parser 2024-05-22 11:11:13 +03:00
gtsoul-tech
94eff4aa60 cstylecasts and suppressions 2024-05-22 10:16:56 +03:00
Konstantinos Margaritis
b312112e87
Merge pull request #288 from isildur-g/bugfix-assert
revert a change to assert
2024-05-21 23:43:04 +03:00
Konstantinos Margaritis
fd46b72a18
Merge pull request #287 from gtsoul-tech/bugFix/cppcheck-cStylecasts-Part4
Part 4 of C-style cast cppcheck
2024-05-21 15:59:51 +03:00
Konstantinos Margaritis
2ec64b6f07
Merge pull request #283 from isildur-g/wip-cppcheck271-part2
Wip cppcheck271 useStlAlgorithm part2
2024-05-21 15:52:15 +03:00
G.E.
82067fd526 revert a change to assert , the original logic might have been
subtely clever (or else totally useless all these years), when we
see which of the two we might delete that assert entirely. for now
put it back as it was.
2024-05-20 18:03:56 +03:00
gtsoul-tech
dfa72ffd50 cstylecasts suppress,fixes 2024-05-20 17:09:30 +03:00
G.E
7a5f271abe undo that one, it breaks 2024-05-20 16:35:58 +03:00
gtsoul-tech
e111684bc2 fix cStyleCasts 2024-05-20 14:54:35 +03:00
Konstantinos Margaritis
dc18a14663 Fix typo 2024-05-18 22:52:17 +03:00
Konstantinos Margaritis
40da067b4f Add more C style casts fixes and suppressions 2024-05-18 21:49:54 +03:00
Konstantinos Margaritis
92d5db503e remove unneeded suppression 2024-05-18 21:47:47 +03:00
Konstantinos Margaritis
28adc07824 Fix more C-style casts 2024-05-18 15:10:34 +03:00
Konstantinos Margaritis
06339e65ad Fix casts 2024-05-18 14:58:11 +03:00
Konstantinos Margaritis
14deb313c1 Fix wrong comparison 2024-05-18 14:57:44 +03:00
Konstantinos Margaritis
cffe5095da
Merge pull request #284 from gtsoul-tech/bigFix/cppcheck-cStylecasts-Part2
Part 2 of C-style cast cppcheck
2024-05-18 09:41:50 +03:00
G.E
fa358535be stl'ed another. 2024-05-18 00:02:43 +03:00
G.E
84dd8de656 stl'ed one more instance 2024-05-17 23:18:55 +03:00
gtsoul-tech
2fa06dd9ed cStyleCasts 2024-05-17 13:57:12 +03:00
G.E
3b01effaf7 clean up comments 2024-05-17 11:27:43 +03:00
g. economou
22c3e3da6e
Merge branch 'develop' into wip-cppcheck271-part2 2024-05-17 11:08:09 +03:00
G.E
f2cecfd0e2 next batch 2024-05-17 10:44:28 +03:00
G.E
c482c05fa8 next batch 2024-05-17 00:08:37 +03:00
Konstantinos Margaritis
4abe31cbce
Merge pull request #281 from VectorCamp/bugfix/cppcheck-cstyleCasts-part1
Part 1 of C-style cast cppcheck fixes
2024-05-16 23:14:45 +03:00
G.E
da4f563a24 first batch of cppcheck disables and a few more stl-ifications,
involving use of accumulate() .
2024-05-16 23:01:17 +03:00
Konstantinos Margaritis
59b4e082a8 add alternative macro without C casts to avoid Cppcheck warnings 2024-05-16 15:58:02 +03:00
Konstantinos Margaritis
1290733c89 Fix C style casts in mcsheng_compile.cpp 2024-05-16 15:57:39 +03:00
Konstantinos Margaritis
8339534a44 Fix wrong cast in aligned_free() 2024-05-16 13:06:28 +03:00
Konstantinos Margaritis
e819cb1100 Fix C-style casts 2024-05-16 12:03:42 +03:00
g. economou
b03699fade
Merge branch 'develop' into bugfix-rose-segfault 2024-05-16 09:57:58 +03:00
G.E
d653822a82 the segfault we ran into, included_frag_id should be
included_delay_frag_id.
2024-05-16 09:53:03 +03:00
Konstantinos Margaritis
db92a42681
Merge pull request #279 from VectorCamp/bugfix/cppcheck-unreadVariable-others
Fix marked as done cppcheck warnings unreadVariable & others
2024-05-15 23:18:02 +03:00
Konstantinos Margaritis
8260d7c906 another duplicateExpression false positive 2024-05-15 17:11:07 +03:00
Konstantinos Margaritis
6d6d4e1013 Fix unreadVariable warning 2024-05-15 17:05:50 +03:00