インテル® C++ コンパイラー 18.0 デベロッパー・ガイドおよびリファレンス

インテル® グラフィックス・テクノロジー用のシフト関数

src に対して、count の下位 5 ビット分だけ左へ論理シフトを実行します。このトピックは、インテル® グラフィックス・テクノロジーをターゲットとする場合にのみ適用されます。

構文

整数シフト

char _gfx_slli_i8(char src, unsigned int count, unsigned int flags);

short _gfx_slli_i16(short src, unsigned int count, unsigned int flags);

int _gfx_slli_i32(int src, unsigned int count, unsigned int flags);

ベクトルシフト

char _gfx_sllv_i8(char src, char count, unsigned int flags);

short _gfx_sllv_i16(short src, short count, unsigned int flags);

int _gfx_sllv_i32(int src, int count, unsigned int flags);

パラメーター

src

ソースオペランド

count

src を左へシフトするビット数。count の下位 5 ビットが使用されます。

flags

操作の追加のセマンティクスを示すフラグ。設定可能な値は以下のとおりです。

GFX_SAT

飽和モードで実行します。

0

非飽和モードで実行します。

説明

これらの関数は、src のビットを count オペランドの下位 5 ビットで指定されている分だけ左へ論理シフトし、右側に 0 のビットを追加します。count の上位ビットは無視されます。

flags の値を指定することで、操作を飽和モードまたは非飽和モードで実行できます。

飽和モードでは、結果がデスティネーションの型で表現できない場合、33 ビット以内であれば、結果はデスティネーションの型の範囲で最も近い境界になります。そうでない場合、結果は不定です。そうでない場合、結果は不定です。非飽和モードでは、組込み関数のオペランドのサイズに応じて、結果はシフト後の下位 8、16、または 32 ビットになります。

戻り値

操作の結果。