Share via


firstbit (sm5 - asm)

Recherche le premier jeu de bits dans un nombre, à partir de LSB ou MSB.

firstbit{_hi|_lo|_shi} dest[.mask], src0[.swizzle]
Élément Description
Dest
[in] Position entière du premier bit défini dans src0 à partir du LSB pour firstbit_lo ou MSB pour firstbit_hi.
src0
[in] Entier d’entrée.

Notes

Cette opération retourne la position entière du premier jeu de bits dans l’entrée 32 bits à partir du LSB pour firstbit_lo ou MSB pour firstbit_hi. Par exemple, firstbit_lo sur 0x00000001 retourne 0. firstbit_hi sur 0x10000000 retourne 3.

firstbit_shi (s pour signé) retourne le premier 0 à partir du MSB si le nombre est négatif ; sinon, il retourne le premier 1 à partir du MSB.

Toutes les variantes de l’instruction retournent ~0 (0xffffffff dans le registre 32 bits) si aucune correspondance n’est trouvée.

Utilisez cette instruction pour énumérer rapidement les bits définis dans un champ de bits, ou pour trouver la plus grande puissance de 2 dans un nombre.

Cette instruction s’applique aux étapes suivantes du nuanceur :

Sommet Coque Domain Géométrie Pixel Compute
X X X X X X

Modèle de nuanceur Mimimum

Cette instruction est prise en charge dans les modèles de nuanceur suivants :

Modèle de nuanceur Prise en charge
Modèle de nuanceur 5 Oui
Modèle de nuanceur 4.1 non
Modèle de nuanceur 4 non
Modèle de nuanceur 3 (DirectX HLSL) non
Shader Model 2 (DirectX HLSL) non
Modèle de nuanceur 1 (DirectX HLSL) non

Shader Model 5 Assembly (DirectX HLSL)