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 |
|
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 |
|
Konstantinos Margaritis
|
e6cfd11948
|
prefix assume_aligned to avoid clash with std::assume_aligned in c++20
|
2022-11-01 10:29:22 +00:00 |
|
Konstantinos Margaritis
|
e3c237a7e0
|
use correct intrinsic for lshiftbyte_m128
|
2022-09-07 16:00:10 +03:00 |
|
Konstantinos Margaritis
|
756ef409b4
|
provide non-immediate versions of lshiftbyte/rshiftbyte on x86
|
2022-09-07 15:07:20 +03:00 |
|
Konstantinos Margaritis
|
1ae0d15181
|
readd simd_onebit_masks for x86, needs more work
|
2022-09-07 13:42:25 +03:00 |
|
Konstantinos Margaritis
|
02ae2a3cad
|
remove simd_onebit_masks from arm/x86 headers, as they moved to common
|
2022-09-07 12:41:32 +03:00 |
|
Danila Kutenin
|
49eb18ee4f
|
Optimize vectorscan for aarch64 by using shrn instruction
This optimization is based on the thread
https://twitter.com/Danlark1/status/1539344279268691970 and uses
shift right and narrow by 4 instruction https://developer.arm.com/documentation/ddi0596/2020-12/SIMD-FP-Instructions/SHRN--SHRN2--Shift-Right-Narrow--immediate--
To achieve that, I needed to redesign a little movemask into comparemask
and have an additional step towards mask iteration. Our benchmarks
showed 10-15% improvement on average for long matches.
|
2022-06-26 22:55:45 +00:00 |
|
Konstantinos Margaritis
|
7d600c4fcb
|
bump base requirements to SSE4.2
|
2021-12-01 23:20:02 +02:00 |
|
Konstantinos Margaritis
|
24fa54081b
|
add len parameter and mask, fixes corner cases on AVX512
|
2021-11-05 14:30:22 +02:00 |
|
Konstantinos Margaritis
|
5eabceddcf
|
renamed matcher functions, added new ones for Vermicelli
|
2021-11-01 16:28:50 +00:00 |
|
Konstantinos Margaritis
|
4e044d4142
|
Add missing copyright info from tampered files
|
2021-10-12 11:51:35 +03:00 |
|
Konstantinos Margaritis
|
9d0c15c448
|
add simd_onebit_masks as static in arm simd_utils.h as well
|
2021-10-12 11:51:35 +03:00 |
|
Konstantinos Margaritis
|
9c54412447
|
remove simd_utils.c
|
2021-10-12 11:51:35 +03:00 |
|
Konstantinos Margaritis
|
eebd6c97bc
|
use movemask
|
2021-10-12 11:51:35 +03:00 |
|
Konstantinos Margaritis
|
fa3d509fad
|
firstMatch/lastMatch are now arch-dependent, emulating movemask on non-Intel is very costly, the alternative is almost twice as fast on Arm
|
2021-10-12 11:51:34 +03:00 |
|
Konstantinos Margaritis
|
08357a096c
|
remove Windows/ICC support
|
2021-10-12 11:51:34 +03:00 |
|
Konstantinos Margaritis
|
273b9683ac
|
simplify function
|
2021-10-12 11:51:34 +03:00 |
|
Konstantinos Margaritis
|
52661f35e8
|
add global definitions for CHUNKSIZE/VECTORSIZE, define HAVE_AVX512* only when BUILD_AVX512 is also enabled
|
2021-10-12 11:51:33 +03:00 |
|
Konstantinos Margaritis
|
831091db9e
|
fix typo
|
2021-10-12 11:51:33 +03:00 |
|
Konstantinos Margaritis
|
741d8246c5
|
fix some AVX512 function names, to fix AVX512 build failure, also rename the expand* functions to broadcast*() ones for consistency
|
2021-02-15 13:54:19 +02:00 |
|
Konstantinos Margaritis
|
c3c68b1c3f
|
fix x86 implementations for compress128/expand128
|
2021-02-15 13:54:19 +02:00 |
|
Konstantinos Margaritis
|
814045201f
|
add BUILD_AVX2 definition, enable non-AVX2 building selectively
|
2021-02-15 13:54:19 +02:00 |
|
Wang Xiang W
|
5f930b267c
|
Limex: exception handling with AVX512
|
2021-01-25 14:13:13 +02:00 |
|
Chang, Harry
|
b19a41528a
|
Add cpu feature / target info "AVX512VBMI".
|
2021-01-25 14:13:13 +02:00 |
|
Zhu,Wenjun
|
d96f1ab505
|
MCSHENG64: extend to 64-state based on mcsheng
|
2021-01-25 14:13:13 +02:00 |
|
Hong, Yang A
|
dea7c4dc2e
|
lookaround:
add 64x8 and 64x16 shufti models
add mask64 model
expand entry quantity
|
2021-01-25 14:13:13 +02:00 |
|
Konstantinos Margaritis
|
1c581e45e9
|
add expand128() implementation for NEON
|
2021-01-25 12:13:35 +02:00 |
|
Konstantinos Margaritis
|
752a42419b
|
fix IA32 build, as we need minimum SSSE3 support for compilation to succeed
|
2020-12-30 19:57:44 +02:00 |
|
Konstantinos Margaritis
|
61b963a717
|
fix x86 compilation
|
2020-12-08 11:42:30 +02:00 |
|
Konstantinos Margaritis
|
c4f1372814
|
remove debug from functions
|
2020-11-05 20:33:17 +02:00 |
|
Konstantinos Margaritis
|
33904180d8
|
add compress128 function and implementation
|
2020-11-05 19:20:06 +02:00 |
|
Konstantinos Margaritis
|
4bce012570
|
Revert "move x86 popcount.h implementations to util/arch/x86/popcount.h"
This reverts commit 6581aae90e55520353c03edb716de80ecc03521a.
|
2020-10-16 12:32:44 +03:00 |
|
Konstantinos Margaritis
|
83977db7ab
|
split arch-agnostic simd_utils.h functions into the common file
|
2020-10-16 12:30:34 +03:00 |
|
Konstantinos Margaritis
|
e7e1308d7f
|
fix compilation paths for cpuid_flags for x86
|
2020-10-16 12:29:45 +03:00 |
|
Konstantinos Margaritis
|
d2cf1a7882
|
move cpuid_flags.h header to common
|
2020-10-08 20:49:33 +03:00 |
|
Konstantinos Margaritis
|
9a0494259e
|
minor fix
|
2020-10-07 14:26:41 +03:00 |
|
Konstantinos Margaritis
|
f0e70bc0ad
|
Revert "Revert "move x86 popcount.h implementations to util/arch/x86/popcount.h""
This reverts commit 04fbf2468140cc4d7ccabc62a2bdc4503a3d31c5.
|
2020-09-24 11:52:59 +03:00 |
|
Konstantinos Margaritis
|
04fbf24681
|
Revert "move x86 popcount.h implementations to util/arch/x86/popcount.h"
This reverts commit 6581aae90e55520353c03edb716de80ecc03521a.
|
2020-09-24 10:01:50 +03:00 |
|
Konstantinos Margaritis
|
f7a6b8934c
|
add some set*() functions, harmonize names, rename setAxB to set1_AxB when using mm_set1_* internally
|
2020-09-23 11:49:26 +03:00 |
|
Konstantinos Margaritis
|
e8e188acaf
|
move x86 implementations of simd_utils.h to util/arch/x86/
|
2020-09-22 13:12:07 +03:00 |
|
Konstantinos Margaritis
|
9f3ad89ed6
|
move andn helper function to bitutils.h
|
2020-09-22 12:17:27 +03:00 |
|
Konstantinos Margaritis
|
6581aae90e
|
move x86 popcount.h implementations to util/arch/x86/popcount.h
|
2020-09-22 11:45:24 +03:00 |
|
Konstantinos Margaritis
|
aac1f0f1dc
|
move x86 bitutils.h implementations to util/arch/x86/bitutils.h
|
2020-09-22 11:02:07 +03:00 |
|
Konstantinos Margaritis
|
8ed5f4ac75
|
fix include paths for masked_move
|
2020-09-18 12:55:57 +03:00 |
|
Konstantinos Margaritis
|
956b001613
|
move masked_move* AVX2 implementation to util/arch/x86
|
2020-09-18 12:51:39 +03:00 |
|
Konstantinos Margaritis
|
ea721c908f
|
move crc32 SSE42 implementation to util/arch/x86
|
2020-09-18 12:48:14 +03:00 |
|
Konstantinos Margaritis
|
6a40793719
|
move cpuid stuff to util/arch/x86
|
2020-09-17 20:35:39 +03:00 |
|