Share via


ibfe (sm5 - asm)

数値のビット範囲が指定されている場合は、それらのビットを LSB にシフトし、符号によって範囲の MSB が拡張されます。

ibfe dest[.mask], src0[.swizzle], src1[.swizzle], src2[.swizzle]
Item 説明
Dest
[入力]操作の結果のアドレス。
src0
[入力]ビットフィールドの幅。
src1
[入力]ビットフィールド オフセット。
src2
[入力]シフトする値。

注釈

src0 の LSB 5 ビットは、ビットフィールド幅 (0 から 31) を提供します。

src1 の LSB 5 ビットは、ビットフィールド オフセット (0 から 31) を提供します。

次の例は、この命令の使用方法を示しています。

        Given width, offset:
                if( width == 0 )
                {
                    dest = 0
                }
                else if( width + offset < 32 )
                {
                    shl dest, src2, 32-(width+offset)
                    ishr dest, dest, 32-width
                }
                else
                {
                    ishr dest, src2, offset
                }

この命令を使用して、符号付き整数またはフラグをアンパックします。

この命令は、次のシェーダー ステージに適用されます。

Vertex Hull Domain ジオメトリ ピクセル Compute
X X X X X X

最小シェーダー モデル

この命令は、次のシェーダー モデルでサポートされています。

シェーダー モデル サポートされています
シェーダー モデル 5 はい
シェーダー モデル 4.1 no
シェーダー モデル 4 no
シェーダー モデル 3 (DirectX HLSL) no
シェーダー モデル 2 (DirectX HLSL) no
シェーダー モデル 1 (DirectX HLSL) no

シェーダー モデル 5 アセンブリ (DirectX HLSL)