从 LSB 或 MSB 查找数字中设置的第一位。
| firstbit{_hi|_lo|_shi} dest[.mask], src0[.swizzle] |
|---|
| Item | Description |
|---|---|
|
dest |
[in] src0 中第一个位集的整数位置,从 lSB 开始为 firstbit_lo,MSB 表示firstbit_hi。 |
|
src0 |
[in]输入整数。 |
注解
此作返回从 LSB 开始的 32 位输入中设置的第一个位的整数位置,该位置为 firstbit_lo 或 MSB(对于firstbit_hi)。 例如,0x00000001上的firstbit_lo返回 0。 0x10000000上的firstbit_hi返回 28。
如果数字为负数,则firstbit_shi(s 表示已签名)从 MSB 返回前 0 个;否则,它将从 MSB 返回前 1 个。
如果未找到匹配项,则指令的所有变体将返回 ~0(在 32 位寄存器中0xffffffff)。
使用此指令快速枚举位域中的设置位,或查找数字中 2 的最大功率。
此说明适用于以下着色器阶段:
| 顶点 | 船体 | 域名 | Geometry | 像素 | 计算 |
|---|---|---|---|---|---|
| X | X | X | X | X | X |
最小着色器模型
以下着色器模型中支持此说明:
| 着色器模型 | 已支持 |
|---|---|
| 着色器模型 5 | 是的 |
| 着色器模型 4.1 | 否 |
| 着色器模型 4 | 否 |
| 着色器模型 3 (DirectX HLSL) | 否 |
| 着色器模型 2 (DirectX HLSL) | 否 |
| 着色器模型 1 (DirectX HLSL) | 否 |