インテル® C++ コンパイラー 15.0 ユーザー・リファレンス・ガイド

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

src に対して、count の下位 5 ビット分だけ左へ論理シフトを実行します。このトピックは、インテル® グラフィックス・テクノロジー向けのインテル® 64 アーキテクチャーと IA-32 アーキテクチャーにのみ適用されます。

構文

整数シフト

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 ビットになります。

戻り値

操作の結果。

最適化に関する注意事項

インテル® コンパイラーは、互換マイクロプロセッサー向けには、インテル製マイクロプロセッサー向けと同等レベルの最適化が行われない可能性があります。これには、インテル® ストリーミング SIMD 拡張命令 2 (インテル® SSE2)、インテル® ストリーミング SIMD 拡張命令 3 (インテル® SSE3)、ストリーミング SIMD 拡張命令 3 補足命令 (SSSE3) 命令セットに関連する最適化およびその他の最適化が含まれます。インテルでは、インテル製ではないマイクロプロセッサーに対して、最適化の提供、機能、効果を保証していません。本製品のマイクロプロセッサー固有の最適化は、インテル製マイクロプロセッサーでの使用を目的としています。インテル® マイクロアーキテクチャーに非固有の特定の最適化は、インテル製マイクロプロセッサー向けに予約されています。この注意事項の適用対象である特定の命令セットの詳細は、該当する製品のユーザー・リファレンス・ガイドを参照してください。

改訂 #20110804


このヘルプトピックについてのフィードバックを送信