Lines Matching refs:val
395 U16 val; LZ4_memcpy(&val, memPtr, sizeof(val)); return val;
400 U32 val; LZ4_memcpy(&val, memPtr, sizeof(val)); return val;
405 reg_t val; LZ4_memcpy(&val, memPtr, sizeof(val)); return val;
558 static unsigned LZ4_NbCommonBytes (reg_t val)
560 assert(val != 0);
562 if (sizeof(val) == 8) {
572 return (unsigned)__builtin_ia32_tzcnt_u64(val) >> 3;
575 return (unsigned)_tzcnt_u64(val) >> 3;
579 _BitScanForward64(&r, (U64)val);
584 return (unsigned)__builtin_ctzll((U64)val) >> 3;
587 val ^= val - 1;
588 return (unsigned)(((U64)((val & (m - 1)) * m)) >> 56);
593 _BitScanForward(&r, (U32)val);
598 return (unsigned)__builtin_ctz((U32)val) >> 3;
601 return (unsigned)((((val - 1) ^ val) & (m - 1)) * m) >> 24;
605 if (sizeof(val)==8) {
609 return (unsigned)__builtin_clzll((U64)val) >> 3;
625 U64 const t = (((val >> 8) - mask) | val) & mask;
631 static const U32 by32 = sizeof(val)*4; /* 32 on 64 bits (goal), 16 on 32 bits.
635 if (!(val>>by32)) { r=4; } else { r=0; val>>=by32; }
636 if (!(val>>16)) { r+=2; val>>=8; } else { val>>=24; }
637 r += (!val);
645 return (unsigned)__builtin_clz((U32)val) >> 3;
647 val >>= 8;
648 val = ((((val + 0x00FFFF00) | 0x00FFFFFF) + val) |
649 (val + 0x00FF0000)) >> 24;
650 return (unsigned)val ^ 3;