Compartilhar via


firstbit (sm5 – asm)

Localiza o primeiro bit definido em um número, seja de LSB ou MSB.

firstbit{_hi|_lo|_shi} dest[.mask], src0[.swizzle]
Item Descrição
Dest
[in] A posição inteira do primeiro bit definido em src0 a partir do LSB para firstbit_lo ou MSB para firstbit_hi.
src0
[in] O inteiro de entrada.

Comentários

Essa operação retorna a posição inteira do primeiro conjunto de bits na entrada de 32 bits começando do LSB para firstbit_lo ou MSB para firstbit_hi. Por exemplo, firstbit_lo em 0x00000001 retorna 0. firstbit_hi em 0x10000000 retorna 3.

firstbit_shi (s para assinado) retornará os primeiros 0 do MSB se o número for negativo; caso contrário, retornará o primeiro 1 do MSB.

Todas as variantes da instrução retornarão ~0 (0xffffffff no registro de 32 bits) se nenhuma correspondência for encontrada.

Use esta instrução para enumerar rapidamente bits de conjunto em um campo de bits ou encontrar a maior potência de 2 em um número.

Esta instrução se aplica aos seguintes estágios de sombreador:

Vértice Casco Domínio Geometry Pixel Computação
X X X X X X

Modelo de sombreador mimimum

Esta instrução tem suporte nos seguintes modelos de sombreador:

Modelo de Sombreador Com suporte
Modelo de sombreador 5 sim
Modelo de sombreador 4.1 não
Modelo de sombreador 4 não
Modelo de sombreador 3 (DirectX HLSL) não
Modelo de sombreador 2 (DirectX HLSL) não
Modelo de sombreador 1 (DirectX HLSL) não

Assembly do Modelo de Sombreador 5 (DirectX HLSL)