デュアルコア インテル® Itanium® プロセッサー 9000 系のプロセッサーでは、次の表の組み込み関数をサポートします。これらの組み込み関数は、Microsoft* コンパイラーと互換性があり、それぞれ IA-64 命令を生成します。組み込み関数名の後半は、その組み込み関数により生成される命令を示します。例えば、組み込み関数 _int64_cmp8xchg により生成される IA-64 命令は cmp8xchg です。
組み込み関数により生成される命令についての詳細は、インテル® Itanium® プロセッサー Web サイトのドキュメントを参照してください。
__int64 _InterlockedCompare64Exchange128( __int64 volatile * <Destination>, __int64 <ExchangeHigh>, __int64 <ExchangeLow>, __int64 <Comperand>)
IA-64 の比較/交換命令を生成します。デスティネーションの下位 64 ビット値を返します。
__int64 _InterlockedCompare64Exchange128_acq( __int64 volatile * <Destination>, __int64 <ExchangeHigh>, __int64 <ExchangeLow>, __int64 <Comperand>)
IA-64 の比較/交換命令を生成します。_InterlockedCompare64Exchange128 と同じですが、この組み込み関数は acquire セマンティクスを使用します。デスティネーションの下位 64 ビット値を返します。
__int64 _InterlockedCompare64Exchange128_rel( __int64 volatile * <Destination>, __int64 <ExchangeHigh>, __int64 <ExchangeLow>, __int64 <Comperand>
IA-64 の比較/交換命令を生成します。_InterlockedCompare64Exchange128 と同じですが、この組み込み関数は release セマンティクスを使用します。デスティネーションの下位 64 ビット値を返します。
__int64 __load128( __int64 volatile * Source, __int64 *<DestinationHigh>)
メモリー位置から 128 ビットをアトミックに読み取る IA-64 命令を生成します。ロードされる 128 ビット値の下位 64 ビットを返します。
__int64 __load128_acq( __int64 volatile * <Source>, __int64 *<DestinationHigh>
メモリー位置から 128 ビットをアトミックに読み取る IA-64 命令を生成します。__load128 と同じですが、この組み込み関数は acquire セマンティクスを使用します。ロードされる 128 ビット値の下位 64 ビットを返します。
__void __store128( __int64 volatile * <Destination>, __int64 <SourceHigh> __int64 <SourceLow>)
メモリー位置に 128 ビット値をアトミックにストアする IA-64 命令を生成します。戻り値なし。