refactor search into an inline function

for easier swapping with a parameter
This commit is contained in:
Yann Collet
2024-10-08 11:10:48 -07:00
parent 1e7fa242f4
commit 2cc600bab2
2 changed files with 47 additions and 48 deletions
+2 -2
View File
@@ -561,14 +561,14 @@ MEM_STATIC int ZSTD_cParam_withinBounds(ZSTD_cParameter cParam, int value)
* @return a >= b ? trueAddr : falseAddr,
* tries to force branchless codegen. */
MEM_STATIC const BYTE*
ZSTD_selectAddr(U32 a, U32 b, const BYTE* trueAddr, const BYTE* falseAddr)
ZSTD_selectAddr(U32 index, U32 lowLimit, const BYTE* trueAddr, const BYTE* falseAddr)
{
#if defined(__GNUC__) && defined(__x86_64__)
__asm__ (
"cmp %1, %2\n"
"cmova %3, %0\n"
: "+r"(trueAddr)
: "r"(a), "r"(b), "r"(falseAddr)
: "r"(index), "r"(lowLimit), "r"(falseAddr)
);
return trueAddr;
#else