24531904_j

24531904_j 24531904_j

16.02.2013 Aufrufe

fpmax ─ 浮動小数点並列最大値 (Floating-point Parallel Maximum) fpmax 書式 : (qp) fpmax.sf f 1 = f 2 , f 3 F8 説明 : FR f2 およびFR f3 の両仮数フ ィ ー ル ド に格納 さ れてい る単精度値のペアがそれぞれ比較 される。 値が大きい方のオペランドが FR f1 の仮数フ ィ ール ド に返される。 FR f3 の上 ( 下 ) 位の値が FR f2 の上 ( 下 ) 位の値よ り も 小さ い場合は、 FR f1 の上 ( 下 ) 位 には FR f2 の上 ( 下 ) 位が格納される。 そ う でない場合は、 FR f1 の上 ( 下 ) 位には FR f3 の上 ( 下 ) 位が格納される。 FR f2 の上 ( 下 ) 位または FR f3 の上 ( 下 ) 位が NaN である場合は、 FR f1 の上 ( 下 ) 位に はの FR f3 の上 ( 下 ) 位が格納される。 FR f1 の指数フ ィ ール ド は 2.0 63 (0x1003E) のバイアス付き指数に設定され、 FR f1 の符号 フィールドは正に対応する0 に設定される。 FR f2 か FR f3 が NaTVal である場合は、 FR f1 は計算結果ではな く NaTVal に設定される。 こ の操作は、 他の浮動小数点算術演算命令 と は異な り 、 NaN を伝播させない。 fpcmp.lt 操作の場合 と 同じ方法で無効操作 (Invalid Operation) が通知される。 sf のニーモニ ッ ク値は、 3:50 ページの表 2-23 に示している。 操作 : if (PR[qp]) { fp_check_target_register(f 1 ); if (tmp_isrcode = fp_reg_disabled(f 1, f 2, f 3, 0)) disabled_fp_register_fault(tmp_isrcode, 0); } if (fp_is_natval(FR[f 2 ]) || fp_is_natval(FR[f 3 ])) { FR[f 1 ] = NATVAL; } else { fpminmax_exception_fault_check(f 2, f 3, sf, &tmp_fp_env); if (fp_raise_fault(tmp_fp_env)) fp_exception_fault(fp_decode_fault(tmp_fp_env)); tmp_fr2 = tmp_right = fp_reg_read_hi(f 2 ); tmp_fr3 = tmp_left = fp_reg_read_hi(f 3 ); tmp_bool_res = fp_less_than(tmp_left, tmp_right); tmp_res_hi = fp_single(tmp_bool_res ? tmp_fr2 : tmp_fr3); tmp_fr2 = tmp_right = fp_reg_read_lo(f 2 ); tmp_fr3 = tmp_left = fp_reg_read_lo(f 3 ); tmp_bool_res = fp_less_than(tmp_left, tmp_right); tmp_res_lo = fp_single(tmp_bool_res ? tmp_fr2 : tmp_fr3); FR[f 1 ].significand = fp_concatenate(tmp_res_hi, tmp_res_lo); FR[f 1 ].exponent = FP_INTEGER_EXP; FR[f 1 ].sign = FP_SIGN_POSITIVE; fp_update_fpsr(sf, tmp_fp_env); } fp_update_psr(f1 ); FP 例外 : 無効操作 (Invalid Operation: V) デノーマル/ アンノ ーマル ・ オペラン ド (Denormal/Unnormal Operand: D) ソフ ト ウェア・アシスト (Software Assist: SWA) フォルト 割り込み : 無効操作フ ォ ル ト 浮動小数点例外フ ォ ル ト 浮動小数点レ ジ ス タ無効フ ォ ル ト 3:98 第 3 巻 : 命令リファレンス

fpmerge fpmerge ─ 浮動小数点並列マージ (Floating-point Parallel Merge) 書式 : (qp) fpmerge.nsf 1 = f 2 , f 3 neg_sign_form F9 (qp) fpmerge.sf 1 = f 2 , f 3 sign_form F9 (qp) fpmerge.sef 1 = f 2 , f 3 sign_exp_form F9 説明 : neg_sign_form では、 FR f2 の仮数フ ィ ー ル ド 内の単精度値ペアの両符号が否定 さ れ、 FR f3 の仮数フ ィ ール ド 内の単精度値ペアの両指数お よ び両仮数 と 連結され、 FR f1 の仮数 フ ィ ー ル ド に格納 さ れる。 こ の形式を使用する と 、 f2 と f3 に同じ レ ジ ス タ を使用して、 単精度浮動小数点数ペアの否定を得 ら れる。 sign_from では、 FR f2 の仮数フ ィ ー ル ド 内の単精度値ペアの両符号が、 FR f3 の仮数 フ ィ ー ル ド 内の単精度値ペアの両指数お よ び両仮数 と 連結 さ れ、 FR f1 の仮数フ ィ ール ド に格納される。 sign_exp_form では、 FR f2 の仮数フ ィ ー ル ド 内の単精度値ペアの両符号お よ び両指数が、 FR f3 の仮数フ ィ ー ル ド 内の単精度値ペアのそれぞれの単精度仮数 と 連結され、 FR f1 の 仮数フ ィ ー ル ド に格納 さ れる。 すべての形式について、 FR f1 の指数フ ィ ール ド は 2.063 (0x1003E) のバイアス付き指数に 設定 さ れ、 FR f1 の符号フ ィ ール ド は正に対応する 0 に設定される。 すべての形式について、 FR f2 か FR f3 が NaTVal である場合は、 FR f1 は計算結果ではな く NaTVal に設定される。 図 2-15. 浮動小数点並列マージでの符号否定操作 FR f 2 81 80 64 63 62 32 31 30 0 81 80 64 63 62 32 31 30 0 図 2-16. 浮動小数点並列マージでの符号操作 FR f 2 否定された符号ビット 81 80 64 63 62 32 31 30 0 FR f 1 0 1003E 図 2-17. 浮動小数点並列マージでの符号および指数操作 FR f 2 第 3 巻 : 命令リファレンス 3:99 FR f 3 81 80 64 63 62 32 31 30 0 81 80 64 63 62 32 31 30 0 FR f 1 FR f 1 FR f 3 81 80 64 63 62 32 31 30 0 0 1003E 81 80 64 63 55 54 32 31 23 22 0 0 1003E FR f 3 81 80 64 63 55 54 32 31 23 22 0 81 80 64 63 55 54 32 31 23 22 0

fpmerge<br />

fpmerge ─ 浮動小数点並列マージ (Floating-point Parallel Merge)<br />

書式 : (qp) fpmerge.nsf 1 = f 2 , f 3 neg_sign_form F9<br />

(qp) fpmerge.sf 1 = f 2 , f 3 sign_form F9<br />

(qp) fpmerge.sef 1 = f 2 , f 3 sign_exp_form F9<br />

説明 : neg_sign_form では、 FR f2 の仮数フ ィ ー ル ド 内の単精度値ペアの両符号が否定 さ れ、 FR<br />

f3 の仮数フ ィ ール ド 内の単精度値ペアの両指数お よ び両仮数 と 連結され、 FR f1 の仮数<br />

フ ィ ー ル ド に格納 さ れる。 こ の形式を使用する と 、 f2 と f3 に同じ レ ジ ス タ を使用して、<br />

単精度浮動小数点数ペアの否定を得 ら れる。<br />

sign_from では、 FR f2 の仮数フ ィ ー ル ド 内の単精度値ペアの両符号が、 FR f3 の仮数<br />

フ ィ ー ル ド 内の単精度値ペアの両指数お よ び両仮数 と 連結 さ れ、 FR f1 の仮数フ ィ ール ド<br />

に格納される。<br />

sign_exp_form では、 FR f2 の仮数フ ィ ー ル ド 内の単精度値ペアの両符号お よ び両指数が、<br />

FR f3 の仮数フ ィ ー ル ド 内の単精度値ペアのそれぞれの単精度仮数 と 連結され、 FR f1 の<br />

仮数フ ィ ー ル ド に格納 さ れる。<br />

すべての形式について、 FR f1 の指数フ ィ ール ド は 2.063 (0x1003E) のバイアス付き指数に<br />

設定 さ れ、 FR f1 の符号フ ィ ール ド は正に対応する 0 に設定される。<br />

すべての形式について、 FR f2 か FR f3 が NaTVal である場合は、 FR f1 は計算結果ではな<br />

く NaTVal に設定される。<br />

図 2-15. 浮動小数点並列マージでの符号否定操作<br />

FR f 2<br />

81 80 64 63 62 32 31 30 0 81 80 64 63 62 32 31 30 0<br />

図 2-16. 浮動小数点並列マージでの符号操作<br />

FR f 2<br />

否定された符号ビット<br />

81 80 64 63 62 32 31 30 0<br />

FR f 1<br />

0 1003E<br />

図 2-17. 浮動小数点並列マージでの符号および指数操作<br />

FR f 2<br />

第 3 巻 : 命令リファレンス 3:99<br />

FR f 3<br />

81 80 64 63 62 32 31 30 0 81 80 64 63 62 32 31 30 0<br />

FR f 1<br />

FR f 1<br />

FR f 3<br />

81 80 64 63 62 32 31 30 0<br />

0 1003E<br />

81 80 64 63 55 54 32 31 23 22 0<br />

0 1003E<br />

FR f 3<br />

81 80 64 63 55 54<br />

32 31 23 22 0<br />

81 80 64 63 55 54 32 31 23 22 0

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!