Convert compile-time code to not require SIMD

This commit is contained in:
Matthew Barr
2016-10-06 15:33:24 +11:00
parent e993fe1eb0
commit 2214296b7f
25 changed files with 254 additions and 212 deletions

View File

@@ -48,7 +48,7 @@ namespace ue2 {
*
* Note: always able to construct masks for 8 or fewer characters.
*/
int shuftiBuildMasks(const CharReach &chars, m128 *lo, m128 *hi);
int shuftiBuildMasks(const CharReach &chars, u8 *lo, u8 *hi);
/** \brief Double-byte variant
*
@@ -56,7 +56,7 @@ int shuftiBuildMasks(const CharReach &chars, m128 *lo, m128 *hi);
*/
bool shuftiBuildDoubleMasks(const CharReach &onechar,
const flat_set<std::pair<u8, u8>> &twochar,
m128 *lo1, m128 *hi1, m128 *lo2, m128 *hi2);
u8 *lo1, u8 *hi1, u8 *lo2, u8 *hi2);
#ifdef DUMP_SUPPORT
@@ -64,7 +64,7 @@ bool shuftiBuildDoubleMasks(const CharReach &onechar,
* \brief Dump code: returns a CharReach with the reach that would match this
* shufti.
*/
CharReach shufti2cr(const m128 lo, const m128 hi);
CharReach shufti2cr(const u8 *lo, const u8 *hi);
#endif // DUMP_SUPPORT