Commit Graph

1331 Commits

Author SHA1 Message Date
G.E.
f872c289bd one more place to fix where clang in bsd is more picky than gcc in linux 2024-04-15 11:44:22 +03:00
G.E.
b054e6c488 added copyright info for modified src files 2024-04-11 09:49:43 +03:00
G.E.
feeb6a57ac moved HAVE_BUILTIN_POPCOUNT def to cmake 2024-03-12 14:22:39 +02:00
G.E.
33444e7ce0 incremental improvement in cleanliness 2024-03-12 12:37:08 +02:00
G.E.
205bcbb060 support building on NetBSD 2024-03-06 10:48:56 +01:00
Konstantinos Margaritis
a4d1779945 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
7a2179c793 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 9134cd6250.
2024-01-19 15:23:11 +02:00
Konstantinos Margaritis
7b928cf35e use snprintf() instead 2024-01-18 23:40:38 +02:00
Konstantinos Margaritis
60dde08d81 remove unused constants 2024-01-18 22:08:19 +02:00
Yoan Picchi
6652d4a837 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
9bb2243858 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
fdc067861e check the correct define 2024-01-18 00:41:56 +02:00
Konstantinos Margaritis
8aebaa742f initialize variable 2024-01-17 17:16:02 +02:00
Konstantinos Margaritis
f3b9af09c9 remove redundant moves 2024-01-17 17:15:32 +02:00
Konstantinos Margaritis
f399dfa586 remove unused constant 2024-01-17 17:13:51 +02:00
Yoan Picchi
c67076ce22 Add truffle SVE implementation
Signed-off-by: Yoan Picchi <yoan.picchi@arm.com>
2024-01-09 16:50:03 +00:00
Konstantinos Margaritis
50675d0af6 add fallback pdep64 for x86 if no HAVE_BMI2 2023-12-20 08:25:30 +02:00
Konstantinos Margaritis
192bf38d56 add missing pdep64 for x86 bitutils 2023-12-20 00:12:15 +02:00
Konstantinos Margaritis
38231b2a5e add missing pdep64 for arm and ppc64le 2023-12-19 23:15:27 +02:00
Konstantinos Margaritis
c5849a435f add missing pdep64 for common bitutils 2023-12-19 23:09:03 +02:00
Konstantinos Margaritis
4f75310595 fix failing allbits test for ppc64le on clang15 2023-11-29 01:39:05 +02:00
Konstantinos Margaritis
5cb3a69edc make diffrich384 available on all arches 2023-11-28 12:06:46 +00:00
Konstantinos Margaritis
64d106e582 fix compilation for SIMDe 2023-11-27 20:52:52 +00:00
Konstantinos Margaritis
1fb601f3a9 fix SIMDe emulation builds on Arm, add native translation from x86 for comparison 2023-11-27 12:21:58 +00:00
Konstantinos Margaritis
b0d9c7f879 existing scalar implementations were incorrect -but never tested, ported from arm/ppc64le 2023-11-23 16:09:10 +00:00
Konstantinos Margaritis
9cf061b89b add missing intrinsics for SIMDe backend 2023-11-23 16:08:26 +00:00
Konstantinos Margaritis
5d8ea9b1ae SIMDE is a valid platform 2023-11-23 13:07:28 +00:00
Konstantinos Margaritis
99807c17a6 enable SIMDe backend 2023-11-21 17:13:33 +00:00
Konstantinos Margaritis
50a664b5c3 add SIMDe ports of simd_utils and supervector 2023-11-21 17:12:04 +00:00
Konstantinos Margaritis
4e231c6009 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
a2de63088c 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
bc88821057 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
1ca4dc8b39 Ubuntu 20.04 gcc does not define HWCAP2_SVE2 #180 2023-10-10 18:30:12 +08:00
Konstantinos Margaritis
3f9c05d57f fix cmake refactor for arm builds 2023-10-09 10:03:53 +00:00
Konstantinos Margaritis
abcc974d1d add missing file 2023-10-07 12:10:42 +03:00
Konstantinos Margaritis
df944ac347 __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
bbeec16894 use the right type of cast 2023-10-04 23:35:10 +03:00
Konstantinos Margaritis
ba81576d28 clang 16 as well 2023-10-04 22:07:34 +03:00
Konstantinos Margaritis
948ef96759 missed one pragma 2023-10-04 20:54:57 +03:00
Konstantinos Margaritis
4ae1aebc1b use the conditional in the right way 2023-10-04 20:35:58 +03:00
Konstantinos Margaritis
bfe1aa52f1 add conditional for __clang__ 2023-10-04 20:28:35 +03:00
Konstantinos Margaritis
b5d87d3877 clang 15 (but not 16) fails on ppc64le with -Wdeprecate-lax-vec-conv-all 2023-10-04 20:09:45 +03:00
Konstantinos Margaritis
0c51d60392 fix -Wunused warnings on debug 2023-10-04 07:16:45 +00:00
Konstantinos Margaritis
3ed0c593f4 Fix 'unqualified call to std::move' errors in clang 15+ 2023-10-03 20:24:39 +03:00
Konstantinos Margaritis
790bc9d4dc Fix version getting out of sync #175 2023-10-03 09:57:10 +03:00
Konstantinos Margaritis
89a85a8e90 HWCAP is only available on Linux 2023-09-08 10:08:44 +03:00
Hong, Yang A
3db9710564 remove invalid nfa dump info 2023-09-05 13:58:24 +03:00
Hong, Yang A
e4ffd75282 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
b8eb6af76b fix nfa dump error 2023-09-05 13:51:22 +03:00
Hong, Yang A
3a56b1b787 scratch: add quick validity check
fix github issue #350
2023-09-05 13:51:15 +03:00