allow double shufti to share buckets

This commit is contained in:
Alex Coyte
2016-04-04 11:02:59 +10:00
committed by Matthew Barr
parent 6c7ee12bb9
commit c0a5b037a1
3 changed files with 194 additions and 50 deletions

View File

@@ -50,7 +50,11 @@ namespace ue2 {
*/
int shuftiBuildMasks(const CharReach &chars, m128 *lo, m128 *hi);
void shuftiBuildDoubleMasks(const CharReach &onechar,
/** \brief Double-byte variant
*
* Returns false if we are unable to build the masks (too many buckets required)
*/
bool shuftiBuildDoubleMasks(const CharReach &onechar,
const flat_set<std::pair<u8, u8>> &twochar,
m128 *lo1, m128 *hi1, m128 *lo2, m128 *hi2);