refactor search into an inline function
for easier swapping with a parameter
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user