raise the limit of strings in double shufti

This commit is contained in:
Alex Coyte
2016-04-04 15:54:09 +10:00
committed by Matthew Barr
parent c0a5b037a1
commit ed3ef5b997
5 changed files with 22 additions and 26 deletions

View File

@@ -207,17 +207,14 @@ void buildAccelDouble(const AccelInfo &info, AccelAux *aux) {
}
}
if (outs1 + outs2 <= 8) {
if (outs1 < outs2 && outs1 <= 2) { // Heuristic from UE-438.
DEBUG_PRINTF("building double-shufti for %zu one-byte and %zu"
" two-byte literals\n", outs1, outs2);
aux->accel_type = ACCEL_DSHUFTI;
aux->dshufti.offset = offset;
shuftiBuildDoubleMasks(info.double_stop1, info.double_stop2,
&aux->dshufti.lo1,
&aux->dshufti.hi1,
&aux->dshufti.lo2,
&aux->dshufti.hi2);
if (outs1 < outs2 && outs1 <= 2) { // Heuristic from UE-438.
DEBUG_PRINTF("building double-shufti for %zu one-byte and %zu"
" two-byte literals\n", outs1, outs2);
aux->accel_type = ACCEL_DSHUFTI;
aux->dshufti.offset = offset;
if (shuftiBuildDoubleMasks(info.double_stop1, info.double_stop2,
&aux->dshufti.lo1, &aux->dshufti.hi1,
&aux->dshufti.lo2, &aux->dshufti.hi2)) {
return;
}
}