プロトタイプ | 説明 |
---|---|
int __assert1(int, int, int); | カーネル・デバッグのためのトラップ命令を生成します。 |
void __assert2(int); | カーネル・デバッグのためのトラップ命令を生成します。 |
unsigned int __cntlz4(unsigned int); | 先行ゼロ・カウント。4 バイト整数。 |
unsigned int __cntlz8(unsigned long long); | 先行ゼロ・カウント。8 バイト整数。 |
unsigned int __cnttz4(unsigned int); | 後続ゼロ・カウント。4 バイト整数。 |
unsigned int __cnttz8(unsigned long long); | 後続ゼロ・カウント。8 バイト整数。 |
signed long long __llabs (signed long long); | 引数の絶対値を戻します。 |
unsigned short __load2r(unsigned short*); | Load Halfword Byte Reversed |
unsigned int __load4r(unsigned int*); | Load Word Byte Reversed |
long long int __mulhd(long long int ra, long long int rb); | Multiply High Doubleword Signed
オペランド ra と rb の 128 ビットの積から、 高位の 64 ビットを戻します。 64 ビット・モードでのみサポートされます。 |
unsigned long long int __mulhdu(unsigned long long int ra, unsigned long long int rb); | Multiply High Doubleword Unsigned
オペランド ra と rb の 128 ビットの積から、 高位の 64 ビットを戻します。 64 ビット・モードでのみサポートされます。 |
int __mulhw(int ra, int rb); | Multiply High Word Signed
オペランド ra と rb の 64 ビットの積から、 高位の 32 ビットを戻します。 |
unsigned int __mulhwu(unsigned int ra, unsigned int rb); | Multiply High Word Unsigned
オペランド ra と rb の 64 ビットの積から、 高位の 32 ビットを戻します。 |
int __popcnt4(unsigned int); | 32 ビット整数のビット・セットの数を戻します。 |
int __popcnt8(unsigned long long); | 64 ビット整数のビット・セットの数を戻します。 |
unsigned long __popcntb(unsigned long); | ソース・オペランドの各バイトの 1 ビットをカウントし、そのカウントを結果の対応するバイトに入れます。 |
int __poppar4(unsigned int); | 32 ビット整数に奇数のビット・セットがあった場合、1 を戻します。それ以外は、0 を戻します。 |
int __poppar8(unsigned long long); | 64 ビット整数に奇数のビット・セットがあった場合、1 を戻します。それ以外は、0 を戻します。 |
unsigned long long __rdlam(unsigned long long rs, unsigned int shift, unsigned long long mask); | Rotate Double Left and AND with Mask
rs の内容を左にshift ビット回転し、回転されたデータをマスクと AND 演算します。mask は定数であり、隣接するビット・フィールドを表していなければなりません。 |
unsigned long long __rldimi(unsigned long long rs, unsigned long long is, unsigned int shift, unsigned long long mask); | Rotate Left Doubleword Immediate then Mask Insert
rs を左方に shift ビットだけ回転してから、 rs をビット・マスク mask の下の is に挿入します。shift は定数で、<=shift<=63 でなければなりません。mask は定数であり、隣接するビット・フィールドを表していなければなりません。 |
unsigned int __rlwimi(unsigned int rs, unsigned int is, unsigned int shift, unsigned int mask); | Rotate Left Word Immediate then Mask Insert
rs を左方に shift ビットだけ回転してから、 rs をビット・マスク mask の下の is に挿入します。shift は定数で、<=shift<=31 でなければなりません。mask は定数であり、隣接するビット・フィールドを表していなければなりません。 |
unsigned int __rlwnm(unsigned int rs, unsigned int shift, unsigned int mask); | Rotate Left Word then AND with Mask
rs を左方に shift ビットだけ回転し、ビット・マスク mask に rs を AND 演算します。 mask は定数であり、隣接するビット・フィールドを表していなければなりません。 |
unsigned int __rotatel4(unsigned int rs, unsigned int shift); | Rotate Left Word
rs を左方に shift ビットだけ回転します。 |
unsigned long long __rotatel8(unsigned long long rs, unsigned long long shift); | Rotate Left Doubleword
rs を左方に shift ビットだけ回転します。 |
void __store2r(unsigned short, unsigned short *); | Store 2-byte Register |
void __store4r(unsigned int, unsigned int *); | Store 4-byte Register |
void __tdw(long long a, long long b, unsigned int TO); | Trap Doubleword
オペランド a をオペランド b と比較します。この比較の結果、TO (これは 5 ビットの定数で、0 から 31 (包括的) の値を含んでいる) に AND 演算される条件は 5 つです。 結果が 0 でない場合、 システム・トラップ・ハンドラーが呼び出されます。それぞれのビット位置が設定されている場合は、次の可能な条件のうちの 1 つ以上を示しています。
64 ビット・モードでのみサポートされます。 |
void __trap(int); | Trap if the Parameter is not Zero |
void __trapd (long long); | Trap if the Parameter is not Zero
64 ビット・モードでのみサポートされます。 |
void __tw(int a, int b, unsigned int TO); | Trap Word
オペランド a をオペランド b と比較します。この比較の結果、TO (これは 5 ビットの定数で、0 から 31 (包括的) の値を含んでいる) に AND 演算される条件は 5 つです。 結果が 0 でない場合、 システム・トラップ・ハンドラーが呼び出されます。それぞれのビット位置が設定されている場合は、次の可能な条件のうちの 1 つ以上を示しています。
|