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

その他の組込み関数

次の表は、組込み関数のリストです。これらの組込み関数は、特に記述のない限り、すべてのインテル® アーキテクチャーで使用できます。これらの組込み関数はインテル製マイクロプロセッサーおよび互換マイクロプロセッサーで利用可能ですが、インテル製マイクロプロセッサーにおいてより多くの最適化が行われる場合があります。

組込み関数

説明

サポートされるすべてのインテル® アーキテクチャーで使用可能な組込み関数

__cpuid

プロセッサーの種類とサポートされている機能に関する情報をプロセッサーに問い合わせます。インテル® C++ コンパイラーは、Microsoft* のこの組込み関数の実装をサポートしています。詳細については、Microsoft* のマニュアルを参照してください。

void *_alloca(int)

ローカル・スタック・フレーム内のメモリーを割り当てます。関数の呼び出しが完了すると、メモリーは自動的に解放されます。

int _bit_scan_forward(int x)

x の最下位セットビットのビット・インデックスを返します。x が 0 の場合、結果は未定義です。

int _bit_scan_reverse(int)

x の最上位セットビットのビット・インデックスを返します。x が 0 の場合、結果は未定義です。

int _bswap(int)

x のバイトの順序を逆にします。4 バイトをスワップします。ビット 0 から 7 は、ビット 24 から 31 とスワップされ、ビット 8 から 15 は、ビット 16 から 23 とスワップされます。

__int64 _bswap64(__int64 x)

x のバイトの順序を逆にします。8 バイトをスワップします。ビット 0 から 7 は、ビット 56 から 63 とスワップされ、ビット 8 から 15 は、ビット 48 から 55 とスワップされ、ビット 16 から 23 は、ビット 40 から 47 とスワップされ、ビット 24 から 31 は、ビット 32 から 39 とスワップされます。

unsigned int __cacheSize(unsigned int cacheLevel)

__cacheSize(n) は n レベルのキャッシュのサイズをバイトで返します。1 は一次キャッシュを表します。キャッシュレベルが存在しない場合、0 が返されます。例えば、アプリケーションはキャッシュサイズをクエリーし、行列を操作するアルゴリズムでブロックサイズを選択するのにキャッシュサイズを使用します。

void _enable(void)

割り込みを有効にします。

void _disable(void)

割り込みを無効にします。

int _in_byte(int)

IA-32 命令 IN に対応付けられる組込み関数。 引数で指定されたポートからデータバイトを転送します。

int _in_dword(int)

IA-32 命令 IN に対応付けられる組込み関数。 引数で指定されたポートからダブルワードを転送します。

int _in_word(int)

IA-32 命令 IN に対応付けられる組込み関数。 引数で指定されたポートからワードを転送します。

int _inp(int)

_in_byte と同じです。

int _inpd(int)

_in_dword と同じです。

int _inpw(int)

_in_word と同じです。

int _out_byte(int, int)

IA-32 命令 OUT に対応付けられる組込み関数。 第 2 の引数内のデータバイトを、第 1 の引数で指定するポートに転送します。

int _out_dword(int, int)

IA-32 命令 OUT に対応付けられる組込み関数。 第 2 の引数内のダブルワードを、第 1 の引数で指定するポートに転送します。

int _out_word(int, int)

IA-32 命令 OUT に対応付けられる組込み関数。 第 2 の引数内のワードを、第 1 の引数で指定するポートに転送します。

int _outp(int, int)

_out_byte と同じです。

int _outpw(int, int)

_out_word と同じです。

int _outpd(int, int)

_out_dword と同じです。

int _popcnt32(int x)

x のセットビットの数を返します。

int _popcnt64(__int64 x)

x のセットビットの数を返します。

__int64 _rdpmc(int p)

p で指定された 40 ビット・パフォーマンス・モニタリング・カウンターの現在の値を返します。

IA-32 およびインテル® 64 アーキテクチャーで使用可能な組込み関数

__int64 _rdtsc(void)

プロセッサーの 64 ビット・タイム・スタンプ・カウンターの現在の値を返します。

int _setjmp(jmp_buf)

setjmp() の高速版。終了処理が省略されます。 呼び出し先セーブのレジスター、スタックポインター、およびリターンアドレスを保存します。

int __pin_value(char *annotation) PIN モードでのみ実行されるコードを省略します。これは、PIN モードでのみコードが実行されるように指定されたアノテーションをオブジェクト・ファイルに追加するインテル® スレッディング・ビルディング・ブロック (インテル® TBB) で特に役立ちます。

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