1326 Commits

Author SHA1 Message Date
Konstantinos Margaritis
98eb459ac2
Merge pull request #225 from VectorCamp/feature/cleanup-compiler-warnings
According to https://buildbot-ci.vectorcamp.gr/#/changes/93

most builds succceded and with no compiler warnings. The build failures were only on x86 and Arm for SIMDe builds: x86 because of a bug in SIMDe emulation of own x86 intrinsics in non-native mode and Arm due to clang, unsure if this is actually a bug in SIMDe or clang itself. All the remaining compiler warnings that were suppressed was because they were not possible to fix for the scope of this project. 

This PR will close #170, code quality improvements however will continue with the integration of #222 or similar static code analyzer to CI and continuous refactoring.
2024-01-20 22:41:00 +02:00
Konstantinos Margaritis
1a4e878abe Revert "if we don't have a 256/512-bit SIMD engine, there is no need to have 32/64-byte alignment and gcc complains anyway"
This reverts commit 9134cd6250f47034e15ef42981a3257ae4e3d506.
2024-01-19 15:23:11 +02:00
Konstantinos Margaritis
3d0df318b8 use snprintf() instead 2024-01-18 23:40:38 +02:00
Konstantinos Margaritis
a1258680ac remove unused constants 2024-01-18 22:08:19 +02:00
Yoan Picchi
01d8a2d768 Make the match component of SVE truffle constant time
There are no significant speed up for 128b vectors but we expect some speedup
for wider vectors compared to the previous linear time implementation of the
match.hpp component

Signed-off-by: Yoan Picchi <yoan.picchi@arm.com>
2024-01-18 11:53:45 +00:00
Konstantinos Margaritis
9134cd6250 if we don't have a 256/512-bit SIMD engine, there is no need to have 32/64-byte alignment and gcc complains anyway 2024-01-18 00:42:36 +02:00
Konstantinos Margaritis
593299e7bb check the correct define 2024-01-18 00:41:56 +02:00
Konstantinos Margaritis
6b9068db0f initialize variable 2024-01-17 17:16:02 +02:00
Konstantinos Margaritis
5e1972efce remove redundant moves 2024-01-17 17:15:32 +02:00
Konstantinos Margaritis
9fac2bf78d remove unused constant 2024-01-17 17:13:51 +02:00
Yoan Picchi
8e5abfebf0 Add truffle SVE implementation
Signed-off-by: Yoan Picchi <yoan.picchi@arm.com>
2024-01-09 16:50:03 +00:00
Konstantinos Margaritis
1b915cfb93 add fallback pdep64 for x86 if no HAVE_BMI2 2023-12-20 08:25:30 +02:00
Konstantinos Margaritis
49e6fe15a2 add missing pdep64 for x86 bitutils 2023-12-20 00:12:15 +02:00
Konstantinos Margaritis
8cba258e7f add missing pdep64 for arm and ppc64le 2023-12-19 23:15:27 +02:00
Konstantinos Margaritis
c8ba7fa1d3 add missing pdep64 for common bitutils 2023-12-19 23:09:03 +02:00
Konstantinos Margaritis
519bd64c65 fix failing allbits test for ppc64le on clang15 2023-11-29 01:39:05 +02:00
Konstantinos Margaritis
be9ce68767 make diffrich384 available on all arches 2023-11-28 12:06:46 +00:00
Konstantnos Margaritis
f5e508b13f fix compilation for SIMDe 2023-11-27 20:52:52 +00:00
Konstantinos Margaritis
f57928ea08 fix SIMDe emulation builds on Arm, add native translation from x86 for comparison 2023-11-27 12:21:58 +00:00
Konstantnos Margaritis
dfacf75855 existing scalar implementations were incorrect -but never tested, ported from arm/ppc64le 2023-11-23 16:09:10 +00:00
Konstantnos Margaritis
20f4f542a5 add missing intrinsics for SIMDe backend 2023-11-23 16:08:26 +00:00
Konstantnos Margaritis
b32ca719d9 SIMDE is a valid platform 2023-11-23 13:07:28 +00:00
Konstantnos Margaritis
a8e9b9069e enable SIMDe backend 2023-11-21 17:13:33 +00:00
Konstantnos Margaritis
b068087240 add SIMDe ports of simd_utils and supervector 2023-11-21 17:12:04 +00:00
Konstantinos Margaritis
b5f1a82258 Move VERM16 enums to the end of the list
This was causing a hard-to-track segfault with Fat Runtime on SVE2 hw,
because of the macro-based hard-coded way to calculate offsets for each
implementation. This needs a rewrite.
2023-11-17 03:50:30 +08:00
Konstantinos Margaritis
de94286fed
Merge pull request #186 from VectorCamp/bugfix/fix-compilation-arm-ubuntu-20.04
Ubuntu 20.04 gcc does not define HWCAP2_SVE2 #180
2023-10-25 13:53:44 +03:00
Konstantinos Margaritis
02474c4f52
Merge pull request #185 from VectorCamp/bugfix/fix-inconsistent-version-header
Fix version getting out of sync #175
2023-10-11 19:52:22 +03:00
Konstantinos Margaritis
a659555781 Ubuntu 20.04 gcc does not define HWCAP2_SVE2 #180 2023-10-10 18:30:12 +08:00
Konstantinos Margaritis
4d539f2c87 fix cmake refactor for arm builds 2023-10-09 10:03:53 +00:00
Konstantinos Margaritis
1320d01035 add missing file 2023-10-07 12:10:42 +03:00
Konstantinos Margaritis
98d7434cfd __builtin_constant_p is true in the wrong case on gcc 13.2. Exclude for now 2023-10-06 11:44:41 +03:00
Konstantinos Margaritis
35c0711689 use the right type of cast 2023-10-04 23:35:10 +03:00
Konstantinos Margaritis
72afe16452 clang 16 as well 2023-10-04 22:07:34 +03:00
Konstantinos Margaritis
da88abfa39 missed one pragma 2023-10-04 20:54:57 +03:00
Konstantinos Margaritis
2e88df1a89 use the conditional in the right way 2023-10-04 20:35:58 +03:00
Konstantinos Margaritis
354fda48fb add conditional for __clang__ 2023-10-04 20:28:35 +03:00
Konstantinos Margaritis
b7d1bc0298 clang 15 (but not 16) fails on ppc64le with -Wdeprecate-lax-vec-conv-all 2023-10-04 20:09:45 +03:00
Konstantinos Margaritis
93d3e7eb30 fix -Wunused warnings on debug 2023-10-04 07:16:45 +00:00
Konstantinos Margaritis
0d2f9ccbaa Fix 'unqualified call to std::move' errors in clang 15+ 2023-10-03 20:24:39 +03:00
Konstantinos Margaritis
16604f9539 Fix version getting out of sync #175 2023-10-03 09:57:10 +03:00
Konstantinos Margaritis
d85d306ff9 HWCAP is only available on Linux 2023-09-08 10:08:44 +03:00
Hong, Yang A
5209c7978a remove invalid nfa dump info 2023-09-05 13:58:24 +03:00
Hong, Yang A
c6523453d7 scratch: remove quick validity check
Roll back fix for github issue #350

About Scratch Usage:
For compile time, scratch space is strongly recommended to be
allocated immediately after database generation.
For runtime, besides using scratch for corresponding database,
Hyperscan also allows user to use larger scratch space allocated
for another database.
When multiple concurrent threads need to use the same databases
and a new scratch space is required, cloning the largest one is
always safe. This is realized based on API hs_scratch_size() and
hs_clone_scratch().
Behaviors beyond above are discouraged and results are undefined.
2023-09-05 13:58:17 +03:00
Hong, Yang A
91f0cb6cea fix nfa dump error 2023-09-05 13:51:22 +03:00
Hong, Yang A
7f2f7d2a1e scratch: add quick validity check
fix github issue #350
2023-09-05 13:51:15 +03:00
Hong, Yang A
659525480c stream close: free stream to avoid memory leak
fix github issue #303
2023-09-05 13:50:56 +03:00
Hong, Yang A
b7ee9102ee update year 2022 2023-09-05 13:49:52 +03:00
Hong, Yang A
684f0ce2cb UTF-8 validation: fix one cotec check corner issue
fix github issue #362
2023-09-05 13:49:41 +03:00
Hong, Yang A
978105a4c0 klocwork: fix risk issues 2023-09-05 13:45:33 +03:00
Konstantinos Margaritis
75dbedeebe
Merge pull request #164 from jeffplaisance/develop
adding ifndef around HS_PUBLIC_API definition so that vectorscan can be statically linked into another shared library without exporting symbols
2023-09-04 23:11:34 +03:00