firstbithigh

Description

Find first set bit starting at high bit and working down.

Signature

uint firstbithigh<T>(T value)
    where T : __BuiltinIntegerType;

vector<uint, N> firstbithigh<T, int N>(vector<T, N> value)
    where T : __BuiltinIntegerType;

Generic Parameters

T: __BuiltinIntegerType

N : int

Parameters

value : T

The value to find set bits in.

value : vector<T, N>

The value to find set bits in.

Return value

The bit index number of the most significant bit, or returns -1 if value is either 0 if value is a signed type and equal to -1.

Remarks

If value is unsigned, or signed with positive value, the bit index returned is the highest 1-bit. If value is signed with negative value, the bit index returned is the highest 0-bit. For SPIR-V, this function maps to GLSL extended instruction FindSMsb if value is signed, or FindUMsb if value is unsigned.

Availability and Requirements

Defined for the following targets:

hlsl

Available in all stages.

glsl

Available in all stages.

cpp

Available in all stages.

cuda

Available in all stages.

metal

Available in all stages.

wgsl

Available in all stages.

spirv

Available in all stages.

llvm

Available in all stages.