Commit Graph

14 Commits

Author SHA1 Message Date
Michael Tremer
1c1ff6f279 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
g. economou
f1e0977f07 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
Konstantinos Margaritis
1fd3679ee9 False positive knownConditionTrueFalse 2024-05-15 17:01:02 +03:00
gtsoul-tech
312b77202c knownConditionTrueFalse 2024-05-01 13:04:51 +03: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
5d8ea9b1ae SIMDE is a valid platform 2023-11-23 13:07:28 +00:00
Konstantinos Margaritis
394d09fe45 initial attempt for fat binary on Aarch64 2023-08-23 09:42:00 +00:00
Vectorcamp
28f8f30866 compile fixes for vsc port 2021-10-14 13:53:55 +03:00
Konstantinos Margaritis
59af972d72 fix IA32 build, as we need minimum SSSE3 support for compilation to succeed 2020-12-30 19:57:44 +02:00
Konstantinos Margaritis
64535610f5 add arm simple cpuid_flags 2020-10-15 16:26:04 +03:00
Konstantinos Margaritis
cc81d7f578 move cpuid stuff to util/arch/x86 2020-09-17 20:35:39 +03:00
Matthew Barr
50ea83cb26 Move cpuid checks inline.
During fat runtime function resolution there was a chance that the PLT
might not be initialised in time for us to call the cpuid check
functions. Moving them inline means there is no PLT to worry about.

Fixes #78
2018-01-19 06:32:18 -05:00
Matthew Barr
dba2470ec9 msvc: use the vectorcall calling convention
This requires declaring external interfaces with the cdecl
calling convention.
2017-06-09 10:12:02 +10:00
Matthew Barr
0d0e1a5106 api: hs_valid_platform 2016-12-14 15:35:13 +11:00