24531904_j
24531904_j 24531904_j
表 3-1. 擬似コード関数 ( 続き ) check_target_register(r1) r1 がフレーム範囲外のスタックされたレジスタ (CFM によって定義 ) をターゲット にすると、無効操作フォルトが発生し、この関数は返らない。 check_target_register_sof(r1, newsof) r1 がフレーム範囲外のスタックされたレジスタ (newsof パラメータによって定義 ) をターゲットにすると、無効操作フォルトが発生し、この関数は返らない。 concatenate2(x1, x2) 2 つの引数の下位 32 ビットを連結し、64 ビットの結果を返す。 concatenate4(x1, x2, x3, x4) 4 つの引数の下位 16 ビットを連結し、64 ビットの結果を返す。 concatenate8(x1, x2, x3, x4, x5, x6, x7, x8) 8 つの引数の下位 8 ビットを連結し、64 ビットの結果を返す。 data_serialize() 副次的作用を持つすべての先行するレジスタの更新が、後続のプログラム実行およ びデータ・メモリ参照が実行される前に、検出されるようにする。 deliver_unmasked_pending_interrupt() このプロセッサ固有の関数は、未処理のマスクされていない外部割り込みがあるか どうかをチェックし、このような割り込みがある場合は、外部割り込みベクタに制 御を渡す。 execute_hint(hint) hint によって指定されたヒントを実行する。 fadd(fp_dp, fr2) 無限精度の積に浮動小数点レジスタの値を加え、丸めの準備ができた無限精度の和 を返す。 fcmp_exception_fault_check(f2, f3, frel, fcmp 命令のためにすべての浮動小数点フォルト条件をチェックする。 sf, *tmp_fp_env) fcvt_fx_exception_fault_check (fr2, signed_form, trunc_form, sf *tmp_fp_env) fma_exception_fault_check (f2, f3, f4, pc, sf, *tmp_fp_env) fminmax_exception_fault_check (f2, f3, sf, *tmp_fp_env) fms_fnma_exception_fault_check (f2, f3, f4, pc, sf, *tmp_fp_env) 関数 操作 fcvt.fx、fcvt.fxu、fcvt.fx.trunc、fcvt.fxu.trunc 命令のためにすべて の浮動小数点フォルト条件をチェックする。NaN は伝播する。 fma 命令のためにすべての浮動小数点フォルト条件をチェックする。NaN および特 殊な IEEE 結果は伝播する。 famax、famin、fmax、および fmin 命令のためにすべての浮動小数点フォルト条 件をチェックする。 fms および fnma 命令のためにすべての浮動小数点フォルト条件をチェックする。 NaN および特殊な IEEE 結果は伝播する。 fmul(fr3, fr4) 2 つの浮動小数点レジスタ値の無限精度の乗算を実行する。 followed_by_stop() 現在の命令の後にストップが続いている場合には TRUE を返す。それ以外の場合は FALSE を返す。 fp_check_target_register(f1) 指定された浮動小数点レジスタ識別子が 0 または 1 であれば、この関数は無効操作 フォルトを発生させる。 fp_decode_fault(tmp_fp_env) ISR.code のための浮動小数点例外フォルト・コード値を返す。 fp_decode_traps(tmp_fp_env) ISR.code のための浮動小数点トラップ・コード値を返す。 fp_is_nan_or_inf(freg) 浮動小数点例外フォルト・チェック関数が、IEEE フォルトがディスエーブルにさ れたデフォルトの結果または伝播された NaN を返した場合に、true を返す。 fp_equal(fr1, fr2) IEEE 標準の等値関係テスト。 fp_ieee_recip(num, den) 特殊なオペランドのセットに対する真の商、またはソフトウェア除算アルゴリズム で使用される除数の逆数の近似値を返す。 fp_ieee_recip_sqrt(root) 特殊なオペランドに対する真の平方根の結果、またはソフトウェア平方根アルゴリ ズムで使用される平方根の逆数の近似値を返す。 fp_is_nan(freg) 浮動小数点レジスタが NaN を含んでいる場合に true を返す。 fp_is_natval(freg) 浮動小数点レジスタが NaTVal を含んでいる場合に true を返す。 fp_is_normal(freg) 浮動小数点レジスタがノーマル数を含んでいる場合に true を返す。 fp_is_pos_inf(freg) 浮動小数点レジスタが正の無限大を含んでいる場合に true を返す。 3:252 第 3 巻 : 擬似コード関数
表 3-1. 擬似コード関数 ( 続き ) fp_is_qnan(freg) 浮動小数点レジスタがクワイエット型 NaN を含んでいる場合に true を返す。 fp_is_snan(freg) 浮動小数点レジスタがシグナル型 NaN を含んでいる場合に true を返す。 fp_is_unorm(freg) 浮動小数点レジスタがアンノーマル数を含んでいる場合に true を返す。 fp_is_unsupported(freg) 浮動小数点レジスタがサポートされていない形式を含んでいる場合に true を返す。 fp_less_than(fr1, fr2) IEEE 標準の「未満」関係テスト。 fp_lesser_or_equal(fr1, fr2) IEEE 標準の「以下」関係テスト。 fp_normalize(fr1) アンノーマルの fp 値を正規化する。この関数は、レジスタ・ファイルで表現でき ないアンノーマル数値をすべてゼロにフラッシュする。 fp_raise_fault(tmp_fp_env) ローカル命令状態をチェックして、割り込みの発生を必要とするフォルト条件が存 在するかどうかを調べる。 fp_raise_traps(tmp_fp_env) ローカル命令状態をチェックして、割り込みの発生を必要とするトラップ条件が存 在するかどうかを調べる。 fp_reg_bank_conflict(f1, f2) 2 つの指定された FR が同じバンクにある場合に true を返す。 fp_reg_disabled(f1, f2, f3, f4) ディスエーブルにされている浮動小数点レジスタ・フォルトが存在するかどうかを チェックする。 fp_reg_read(freg) FR を読み込み、標準の拡張倍精度のデノーマル数 ( および擬似デノーマル数 ) に、 真の数学的指数を与える。これ以外のクラスのオペランドは変更されない。 fp_unordered(fr1, fr2) IEEE 標準の順序付けなしの関係。 fp_fr_to_mem_format(freg, size) レジスタ形式の浮動小数点値を、浮動小数点メモリ形式に変換する。レジスタ内の 浮動小数点値が、size パラメータに対応する正しい精度に事前に丸められている 前提がある。 fpcmp_exception_fault_check (f2, f3, frel, sf, *tmp_fp_env) fpcmp 命令について、すべての浮動小数点フォルト条件をチェックする。 fpcvt_exception_fault_check (f2, signed_form, trunc_form, sf, *tmp_fp_env) 関数 操作 fpma_exception_fault_check (f2, f3, f4, sf, *tmp_fp_env) fpminmax_exception_fault_check (f2, f3, sf, *tmp_fp_env) fpms_fpnma_exception_fault _check(f2, f3, f4, sf, *tmp_fp_env) fprcpa_exception_fault_check (f2, f3, sf, *tmp_fp_env, *limits_check) fprsqrta_exception_fault_check (f3, sf, *tmp_fp_env, *limits_check) frcpa_exception_fault_check (f2, f3, sf, *tmp_fp_env) frsqrta_exception_fault_check (f3, sf, *tmp_fp_env) fpcvt.fx、fpcvt.fxu、fpcvt.fx.trunc、fpcvt.fxu.trunc 命令について、 すべての浮動小数点フォルト条件をチェックする。NaN は伝播する。 fpma 命令について、すべての浮動小数点フォルト条件をチェックする。NaN と特 殊な IEEE 結果は伝播する。 fpmin、fpmax、fpamin、fpamax 命令について、すべての浮動小数点フォルト条 件をチェックする。 fpms および fpnma 命令について、すべての浮動小数点フォルト条件をチェックす る。NaN と特殊な IEEE 結果は伝播する。 fprcpa 命令について、すべての浮動小数点フォルト条件をチェックする。NaN と 特殊な IEEE 結果は伝播する。オペランド制限違反も表示する。 fprsqrta 命令について、すべての浮動小数点フォルト条件をチェックする。NaN と特殊な IEEE 結果は伝播する。オペランド制限違反も表示する。 frcpa 命令のためにすべての浮動小数点フォルト条件をチェックする。NaN および 特殊な IEEE 結果は伝播する。 frsqrta 命令のためにすべての浮動小数点フォルト条件をチェックする。NaN およ び特殊な IEEE 結果は伝播する。 ignored_field_mask(regclass, reg, value) 指定されたレジスタとレジスタ・タイプの無視ビットに対応するビットを 0 にクリ アして値を返すブール関数。 impl_itir_cwi_mask() 渡された値をそのまま返すか、ビット位置 {63:32} と {1:0} ( またはそのいずれか一 方 ) をゼロでマスクして返すプロセッサ固有の関数。 第 3 巻 : 擬似コード関数 3:253
- Seite 213 und 214: psub psub ─ 並列減算 (Paralle
- Seite 215 und 216: psub } 割り込み : 無効操作
- Seite 217 und 218: ptc.g, ptc.ga ptc.g, ptc.ga ─ グ
- Seite 219 und 220: ptc.l ptc.l ─ ローカル・ト
- Seite 221 und 222: ptr 割り込み : 特権操作フ
- Seite 223 und 224: fi この命令を発行する前
- Seite 225 und 226: sm rsm ─ システム・マスク
- Seite 227 und 228: um rum ─ ユーザ・マスクの
- Seite 229 und 230: setf 操作 : if (PR[qp]) { fp_chec
- Seite 231 und 232: shladd shladd ─ 左シフトお
- Seite 233 und 234: shr shr ─ 右シフト (Shift Rig
- Seite 235 und 236: srlz srlz ─ シリアル化 (Seri
- Seite 237 und 238: st st ─ ストア (Store) 書式
- Seite 239 und 240: stf stf ─ 浮動小数点スト
- Seite 241 und 242: sub sub ─ 減算 (Subtract) 書
- Seite 243 und 244: sxt sxt ─ 符号拡張 (Sign Exte
- Seite 245 und 246: tak tak ─ トランスレーシ
- Seite 247 und 248: tbit PR[p2 ] = 0; } break; case ‘
- Seite 249 und 250: tnat tnat ─ Test Nat テスト (T
- Seite 251 und 252: tpa tpa ─ 物理アドレスへ
- Seite 253 und 254: unpack unpack ─ アンパック (
- Seite 255 und 256: xchg xchg ─ 交換 (Exchange) 書
- Seite 257 und 258: xma xma ─ 固定小数点積和 (
- Seite 259 und 260: xmpy xmpy ─ 固定小数点乗算
- Seite 261 und 262: zxt zxt ─ ゼロ拡張 (Zero Exte
- Seite 263: 擬似コード関数 3 この章
- Seite 267 und 268: 表 3-1. 擬似コード関数 (
- Seite 269 und 270: 表 3-1. 擬似コード関数 (
- Seite 271 und 272: 表 3-1. 擬似コード関数 (
- Seite 273 und 274: 表 3-1. 擬似コード関数 (
- Seite 275 und 276: 命令形式 4 個々の Itanium ®
- Seite 277 und 278: 使用 さ れていないメ ジ
- Seite 279 und 280: 表 4-4. 命令形式の要約 (
- Seite 281 und 282: 表 4-6. 命令フィールド名 (
- Seite 283 und 284: 4.2 A ユニット命令エンコ
- Seite 285 und 286: 4.2.1.4 Add Immediate 14 A4 4.2.1.5
- Seite 287 und 288: 4.2.2.2 Integer Compare to Zero ─
- Seite 289 und 290: 表 4-13. マルチメディア ALU
- Seite 291 und 292: 4.2.3.1 Multimedia ALU A9 4.2.3.2 M
- Seite 293 und 294: 表 4-18. マルチメディア・
- Seite 295 und 296: 4.3.1.2 Multimedia Multiply/Mix/Pac
- Seite 297 und 298: 4.3.1.8 Multimedia Shift Left ─ F
- Seite 299 und 300: 4.3.2.6 Deposit I15 4.3.3 ビット
- Seite 301 und 302: 表 4-25. その他の I ユニッ
- Seite 303 und 304: 4.3.5.2 Move from BR I22 4.3.6 GR/
- Seite 305 und 306: 4.4 M ユニット命令エンコ
- Seite 307 und 308: 表 4-32. 整数ロード / スト
- Seite 309 und 310: 表 4-34. 浮動小数点ロード
- Seite 311 und 312: 表 4-38. 浮動小数点ペア・
- Seite 313 und 314: 4.4.1.2 Integer Load ─ Increment
表 3-1. 擬似コード関数 ( 続き )<br />
fp_is_qnan(freg) 浮動小数点レジスタがクワイエット型 NaN を含んでいる場合に true を返す。<br />
fp_is_snan(freg) 浮動小数点レジスタがシグナル型 NaN を含んでいる場合に true を返す。<br />
fp_is_unorm(freg) 浮動小数点レジスタがアンノーマル数を含んでいる場合に true を返す。<br />
fp_is_unsupported(freg) 浮動小数点レジスタがサポートされていない形式を含んでいる場合に true を返す。<br />
fp_less_than(fr1, fr2) IEEE 標準の「未満」関係テスト。<br />
fp_lesser_or_equal(fr1, fr2) IEEE 標準の「以下」関係テスト。<br />
fp_normalize(fr1) アンノーマルの fp 値を正規化する。この関数は、レジスタ・ファイルで表現でき<br />
ないアンノーマル数値をすべてゼロにフラッシュする。<br />
fp_raise_fault(tmp_fp_env) ローカル命令状態をチェックして、割り込みの発生を必要とするフォルト条件が存<br />
在するかどうかを調べる。<br />
fp_raise_traps(tmp_fp_env) ローカル命令状態をチェックして、割り込みの発生を必要とするトラップ条件が存<br />
在するかどうかを調べる。<br />
fp_reg_bank_conflict(f1, f2) 2 つの指定された FR が同じバンクにある場合に true を返す。<br />
fp_reg_disabled(f1, f2, f3, f4) ディスエーブルにされている浮動小数点レジスタ・フォルトが存在するかどうかを<br />
チェックする。<br />
fp_reg_read(freg) FR を読み込み、標準の拡張倍精度のデノーマル数 ( および擬似デノーマル数 ) に、<br />
真の数学的指数を与える。これ以外のクラスのオペランドは変更されない。<br />
fp_unordered(fr1, fr2) IEEE 標準の順序付けなしの関係。<br />
fp_fr_to_mem_format(freg, size) レジスタ形式の浮動小数点値を、浮動小数点メモリ形式に変換する。レジスタ内の<br />
浮動小数点値が、size パラメータに対応する正しい精度に事前に丸められている<br />
前提がある。<br />
fpcmp_exception_fault_check<br />
(f2, f3, frel, sf, *tmp_fp_env)<br />
fpcmp 命令について、すべての浮動小数点フォルト条件をチェックする。<br />
fpcvt_exception_fault_check<br />
(f2, signed_form, trunc_form, sf,<br />
*tmp_fp_env)<br />
関数 操作<br />
fpma_exception_fault_check<br />
(f2, f3, f4, sf, *tmp_fp_env)<br />
fpminmax_exception_fault_check<br />
(f2, f3, sf, *tmp_fp_env)<br />
fpms_fpnma_exception_fault<br />
_check(f2, f3, f4, sf, *tmp_fp_env)<br />
fprcpa_exception_fault_check<br />
(f2, f3, sf, *tmp_fp_env, *limits_check)<br />
fprsqrta_exception_fault_check<br />
(f3, sf, *tmp_fp_env, *limits_check)<br />
frcpa_exception_fault_check<br />
(f2, f3, sf, *tmp_fp_env)<br />
frsqrta_exception_fault_check<br />
(f3, sf, *tmp_fp_env)<br />
fpcvt.fx、fpcvt.fxu、fpcvt.fx.trunc、fpcvt.fxu.trunc 命令について、<br />
すべての浮動小数点フォルト条件をチェックする。NaN は伝播する。<br />
fpma 命令について、すべての浮動小数点フォルト条件をチェックする。NaN と特<br />
殊な IEEE 結果は伝播する。<br />
fpmin、fpmax、fpamin、fpamax 命令について、すべての浮動小数点フォルト条<br />
件をチェックする。<br />
fpms および fpnma 命令について、すべての浮動小数点フォルト条件をチェックす<br />
る。NaN と特殊な IEEE 結果は伝播する。<br />
fprcpa 命令について、すべての浮動小数点フォルト条件をチェックする。NaN と<br />
特殊な IEEE 結果は伝播する。オペランド制限違反も表示する。<br />
fprsqrta 命令について、すべての浮動小数点フォルト条件をチェックする。NaN<br />
と特殊な IEEE 結果は伝播する。オペランド制限違反も表示する。<br />
frcpa 命令のためにすべての浮動小数点フォルト条件をチェックする。NaN および<br />
特殊な IEEE 結果は伝播する。<br />
frsqrta 命令のためにすべての浮動小数点フォルト条件をチェックする。NaN およ<br />
び特殊な IEEE 結果は伝播する。<br />
ignored_field_mask(regclass, reg, value) 指定されたレジスタとレジスタ・タイプの無視ビットに対応するビットを 0 にクリ<br />
アして値を返すブール関数。<br />
impl_itir_cwi_mask() 渡された値をそのまま返すか、ビット位置 {63:32} と {1:0} ( またはそのいずれか一<br />
方 ) をゼロでマスクして返すプロセッサ固有の関数。<br />
第 3 巻 : 擬似コード関数 3:253