Skip to content
  • Steve Lhomme's avatar
    define builtin clz/ctz calls MSVC equivalents · e2d329fb
    Steve Lhomme authored
    __builtin_ctz:
    Returns the number of trailing 0-bits in x, starting at the least significant
    bit position. If x is 0, the result is undefined.
    
    _BitScanForward:
    Search the mask data from least significant bit (LSB) to the most significant
    bit (MSB) for a set bit (1). If a set bit is found, the bit position of the
    first set bit found is returned in the first parameter. If no set bit is found,
    0 is returned; otherwise, 1 is returned.
    
    __builtin_clz:
    Returns the number of leading 0-bits in x, starting at the most significant
    bit position. If x is 0, the result is undefined.
    
    _BitScanReverse:
    Search the mask data from most significant bit (MSB) to least significant bit
    (LSB) for a set bit (1). Returns Nonzero if Index was set, or 0 if no set bits
    were found. Index is loaded with the bit position of the first set bit (1) found.
    e2d329fb