Lines Matching refs:args

157  * Initializes args for the asm decoding loop.
162 static size_t HUF_DecompressAsmArgs_init(HUF_DecompressAsmArgs* args, void* dst, size_t dstSize, void const* src, size_t srcSize, const HUF_DTable* DTable)
193 args->iend[0] = istart + 6; /* jumpTable */
194 args->iend[1] = args->iend[0] + length1;
195 args->iend[2] = args->iend[1] + length2;
196 args->iend[3] = args->iend[2] + length3;
208 args->ip[0] = args->iend[1] - sizeof(U64);
209 args->ip[1] = args->iend[2] - sizeof(U64);
210 args->ip[2] = args->iend[3] - sizeof(U64);
211 args->ip[3] = (BYTE const*)src + srcSize - sizeof(U64);
214 args->op[0] = (BYTE*)dst;
215 args->op[1] = args->op[0] + (dstSize+3)/4;
216 args->op[2] = args->op[1] + (dstSize+3)/4;
217 args->op[3] = args->op[2] + (dstSize+3)/4;
220 if (args->op[3] >= oend)
230 args->bits[0] = HUF_initDStream(args->ip[0]);
231 args->bits[1] = HUF_initDStream(args->ip[1]);
232 args->bits[2] = HUF_initDStream(args->ip[2]);
233 args->bits[3] = HUF_initDStream(args->ip[3]);
239 args->ilimit = ilimit;
241 args->oend = oend;
242 args->dt = dt;
247 static size_t HUF_initRemainingDStream(BIT_DStream_t* bit, HUF_DecompressAsmArgs const* args, int stream, BYTE* segmentEnd)
250 if (args->op[stream] > segmentEnd)
257 if (args->ip[stream] < args->iend[stream] - 8)
261 bit->bitContainer = MEM_readLE64(args->ip[stream]);
262 bit->bitsConsumed = ZSTD_countTrailingZeros((size_t)args->bits[stream]);
263 bit->start = (const char*)args->iend[0];
265 bit->ptr = (const char*)args->ip[stream];
663 HUF_ASM_DECL void HUF_decompress4X1_usingDTable_internal_bmi2_asm_loop(HUF_DecompressAsmArgs* args) ZSTDLIB_HIDDEN;
675 HUF_DecompressAsmArgs args;
677 size_t const ret = HUF_DecompressAsmArgs_init(&args, dst, dstSize, cSrc, cSrcSize, DTable);
678 FORWARD_IF_ERROR(ret, "Failed to init asm args");
683 assert(args.ip[0] >= args.ilimit);
684 HUF_decompress4X1_usingDTable_internal_bmi2_asm_loop(&args);
689 assert(args.ip[0] >= iend);
690 assert(args.ip[1] >= iend);
691 assert(args.ip[2] >= iend);
692 assert(args.ip[3] >= iend);
693 assert(args.op[3] <= oend);
707 FORWARD_IF_ERROR(HUF_initRemainingDStream(&bit, &args, i, segmentEnd), "corruption");
709 args.op[i] += HUF_decodeStreamX1(args.op[i], &bit, segmentEnd, (HUF_DEltX1 const*)dt, HUF_DECODER_FAST_TABLELOG);
710 if (args.op[i] != segmentEnd) return ERROR(corruption_detected);
1379 HUF_ASM_DECL void HUF_decompress4X2_usingDTable_internal_bmi2_asm_loop(HUF_DecompressAsmArgs* args) ZSTDLIB_HIDDEN;
1389 HUF_DecompressAsmArgs args;
1391 size_t const ret = HUF_DecompressAsmArgs_init(&args, dst, dstSize, cSrc, cSrcSize, DTable);
1392 FORWARD_IF_ERROR(ret, "Failed to init asm args");
1397 assert(args.ip[0] >= args.ilimit);
1398 HUF_decompress4X2_usingDTable_internal_bmi2_asm_loop(&args);
1401 assert(args.ip[0] >= iend);
1402 assert(args.ip[1] >= iend);
1403 assert(args.ip[2] >= iend);
1404 assert(args.ip[3] >= iend);
1405 assert(args.op[3] <= oend);
1419 FORWARD_IF_ERROR(HUF_initRemainingDStream(&bit, &args, i, segmentEnd), "corruption");
1420 args.op[i] += HUF_decodeStreamX2(args.op[i], &bit, segmentEnd, (HUF_DEltX2 const*)dt, HUF_DECODER_FAST_TABLELOG);
1421 if (args.op[i] != segmentEnd)