mirror of
https://github.com/VectorCamp/vectorscan.git
synced 2025-10-09 07:42:21 +03:00
Implement new Vermicelli16 acceleration functions using SVE2.
The scheme utilises the MATCH and NMATCH instructions to scan for 16 characters at the same rate as vermicelli scans for one. Change-Id: Ie2cef904c56651e6108593c668e9b65bc001a886
This commit is contained in:
committed by
Konstantinos Margaritis
parent
185c45263b
commit
db0d8f79e6
@@ -1,5 +1,6 @@
|
||||
/*
|
||||
* Copyright (c) 2015-2020, Intel Corporation
|
||||
* Copyright (c) 2021, Arm Limited
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
@@ -53,6 +54,14 @@
|
||||
|
||||
// general framework calls
|
||||
|
||||
#ifdef HAVE_SVE2
|
||||
#define VERM16_CASES(dbnt_func) \
|
||||
DISPATCH_CASE(LBR_NFA_VERM16, LbrVerm16, dbnt_func); \
|
||||
DISPATCH_CASE(LBR_NFA_NVERM16, LbrNVerm16, dbnt_func);
|
||||
#else
|
||||
#define VERM16_CASES(dbnt_func)
|
||||
#endif
|
||||
|
||||
#define DISPATCH_BY_NFA_TYPE(dbnt_func) \
|
||||
switch (nfa->type) { \
|
||||
DISPATCH_CASE(LIMEX_NFA_32, LimEx32, dbnt_func); \
|
||||
@@ -80,6 +89,7 @@
|
||||
DISPATCH_CASE(SHENG_NFA_64, Sheng64, dbnt_func); \
|
||||
DISPATCH_CASE(MCSHENG_64_NFA_8, McSheng64_8, dbnt_func); \
|
||||
DISPATCH_CASE(MCSHENG_64_NFA_16, McSheng64_16, dbnt_func); \
|
||||
VERM16_CASES(dbnt_func) \
|
||||
default: \
|
||||
assert(0); \
|
||||
}
|
||||
|
Reference in New Issue
Block a user