361 Commits

Author SHA1 Message Date
ypicchi-arm
9e9a10ad01
Fix double shufti's vector end false positive (#325)
* Add regression test for double shufti

It tests for false positive at vector edges.

Signed-off-by: Yoan Picchi <yoan.picchi@arm.com>

* Fix double shufti reporting false positives

Double shufti used to offset one vector, resulting in losing one character
at the end of every vector. This was replaced by a magic value indicating a
match. This meant that if the first char of a pattern fell on the last char of
a vector, double shufti would assume the second character is present and
report a match.
This patch fixes it by keeping the previous vector and feeding its data to the
new one when we shift it, preventing any loss of data.

Signed-off-by: Yoan Picchi <yoan.picchi@arm.com>

* vshl() will call the correct implementation

* implement missing vshr_512_imm(), simplifies caller x86 code

* Fix x86 case, use alignr instead

* it's the reverse, the avx512 alignr is incorrect, need to fix

* Make shufti's OR reduce size agnostic

Signed-off-by: Yoan Picchi <yoan.picchi@arm.com>

* Fix test's array size

Signed-off-by: Yoan Picchi <yoan.picchi@arm.com>

* Fix AVX2/AVX512 alignr implementations and unit tests

* Fix Power VSX alignr

---------

Signed-off-by: Yoan Picchi <yoan.picchi@arm.com>
Co-authored-by: Konstantinos Margaritis <konstantinos@vectorcamp.gr>
2025-06-11 18:55:10 +03:00
Konstantinos Margaritis
f7d5546fe5
Bugfix/fix avx512vbmi regressions (#335)
Multiple AVX512VBMI-related fixes:

src/nfa/mcsheng_compile.cpp: No need for an assert here, impl_id can be set to 0
src/nfa/nfa_api_queue.h: Make sure this compiles on both C++ and C
src/nfagraph/ng_fuzzy.cpp: Fix compilation error when DEBUG_OUTPUT=on
src/runtime.c: Fix crash when data == NULL
unit/internal/sheng.cpp: Unit test has to enable AVX512VBMI manually as autodetection does not get trigger, this causes test to fail
src/fdr/teddy_fat.cpp: AVX512 loads need to be 64-bit aligned, caused a crash on clang-18
2025-05-30 21:08:55 +03:00
Konstantinos Margaritis
689556d5f9
Various cppcheck fixes (#337) 2025-05-30 12:27:28 +03:00
gtsoul-tech
4f09e785c0
Fix regression error #317 and add unit test (#318)
Revert the code that produced the regression error in #317 
Add the regression error to a unit test regressions.cpp along with the rebar tests

---------

Co-authored-by: gtsoul-tech <gtsoulkanakis@gmail.com>
2024-11-13 10:43:23 +02:00
gtsoul-tech
9a3268b047
Cppcheck errors fixed and suppressed (#319)
* supress knownConditionTrueFalse

* cppcheck suppress redundantInitialization

* cppcheck solve stlcstrStream

* cppcheck suppress useStlAlgorithm

* cppcheck-suppress derefInvalidIteratorRedundantCheck

* cppcheck solvwe constParameterReference

* const parameter reference cppcheck

* removed wrong fix

* cppcheck-suppress memsetClassFloat

* cppcheck fix memsetClassFloat

* cppcheck fix unsignedLessThanZero

* supressing all errors on simde gitmodule

* fix typo (unsignedLessThanZero)

* fix cppcheck suppress simde gitmodule

* cppcheck-suppress unsignedLessThanZero

---------

Co-authored-by: gtsoul-tech <gtsoulkanakis@gmail.com>
2024-11-12 10:01:11 +02: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
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
de1697b467 deadcode.DeadStores 2024-05-30 16:40:18 +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
94eff4aa60 cstylecasts and suppressions 2024-05-22 10:16:56 +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
gtsoul-tech
dfa72ffd50 cstylecasts suppress,fixes 2024-05-20 17:09:30 +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
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
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
e819cb1100 Fix C-style casts 2024-05-16 12:03:42 +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
6d6d4e1013 Fix unreadVariable warning 2024-05-15 17:05:50 +03:00
Konstantinos Margaritis
1d4a2b2b60 Fix variableScope 2024-05-15 17:04:11 +03:00
Konstantinos Margaritis
9577fdc474 False positives duplicateExpression 2024-05-15 17:00:28 +03:00
Konstantinos Margaritis
22166ed948 Fix remaining marked as done const* cppcheck warnings 2024-05-15 10:52:31 +03:00
Konstantinos Margaritis
a255600773
Merge pull request #277 from isildur-g/wip-cppcheck271
phase 1 of addressing cppcheck useStlAlgorithm warnings for fill and copy operations
2024-05-15 10:44:15 +03:00
G.E
4cefba5ced phase 1 of addressing cppcheck useStlAlgorithm warnings,
this set only includes fill and copy operations.
2024-05-14 17:37:38 +03:00
Konstantinos Margaritis
96aca187bd
Merge pull request #274 from gtsoul-tech/bugFix/cppcheckError-noexplicitConstructor
Bug fix/cppcheck error noexplicitconstructor
2024-05-13 21:52:55 +03:00
gtsoul-tech
5affdf3a11 Merge branch 'develop' into bugFix/cppcheckError-noexplicitConstructor 2024-05-13 09:13:28 +03:00
Konstantinos Margaritis
a1fbe84660 Fix marked as false positive knownConditionTrueFalse cppcheck warnings
std::make_shared<> does not return null, it throws std::bad_alloc.
2024-05-12 20:24:00 +03:00
gtsoul-tech
753c7de002 Merge branch 'develop' into test-noExplicitConstructor 2024-05-10 12:46:44 +03:00
gtsoul-tech
94b17ecaf2 noExplicitConstructor 2024-05-10 10:07:47 +03:00
g. economou
cc63087d06
Merge branch 'develop' into wip-isildur-g-cppcheck66 2024-05-09 10:28:25 +03:00
Konstantinos Margaritis
7dd2135b80
Merge pull request #264 from gtsoul-tech/bugFix/cppcheck-constVariablePointer
Cppcheck constVariablePointer error
2024-05-08 10:28:24 +03:00
g. economou
13e5183be2
Merge branch 'develop' into wip-isildur-g-cppcheck66 2024-05-02 18:37:46 +03:00
G.E
c7f7d17ebc addressing cppcheck shadowFunction warnings 2024-05-02 18:00:03 +03:00
Konstantinos Margaritis
692a63c8ca
Merge pull request #263 from gtsoul-tech/bug/cppcheck-61
Cppcheck knownConditionTrueFalse error
2024-05-02 16:50:16 +03:00
gtsoul-tech
5ad1f2127f constVariablePointer 2024-05-02 14:30:18 +03:00
gtsoul-tech
a634d57b2d knownConditionTrueFalse fixes previously fp 2024-05-02 10:13:55 +03:00
gtsoul-tech
ea420114a7 knownConditionTrueFalse 2024-05-01 13:04:51 +03:00
g. economou
727cff3621
Merge branch 'develop' into wip-isildur-g-cppcheck-47-48-58 2024-05-01 10:59:59 +03:00
G.E
9902ca0e34 addressing 47 [constParameterReference],48 [constVariableReference],58
[constVariable]
2024-05-01 10:54:15 +03:00