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