fpcmp
Operation:
if (PR[qp]) {
fp_check_target_register(f
if (tmp_isrcode = fp_reg_disabled(f
disabled_fp_register_fault(tmp_isrcode, 0);
if (fp_is_natval(FR[f
FR[f
} else {
fpcmp_exception_fault_check(f
if (fp_raise_fault(tmp_fp_env))
tmp_fr2 = fp_reg_read_hi(f
tmp_fr3 = fp_reg_read_hi(f
if
else if (frel == 'lt')
else if (frel == 'le')
else if (frel == 'gt')
else if (frel == 'ge')
else if (frel == 'unord')tmp_rel = fp_unordered(tmp_fr2, tmp_fr3);
else if (frel == 'neq') tmp_rel = !fp_equal(tmp_fr2, tmp_fr3);
else if (frel == 'nlt') tmp_rel = !fp_less_than(tmp_fr2, tmp_fr3);
else if (frel == 'nle') tmp_rel = !fp_lesser_or_equal(tmp_fr2,
else if (frel == 'ngt') tmp_rel = !fp_less_than(tmp_fr3, tmp_fr2);
else if (frel == 'nge') tmp_rel = !fp_lesser_or_equal(tmp_fr3,
else
tmp_res_hi = (tmp_rel ? 0xFFFFFFFF : 0x00000000);
tmp_fr2 = fp_reg_read_lo(f
tmp_fr3 = fp_reg_read_lo(f
if
else if (frel == 'lt')
else if (frel == 'le')
else if (frel == 'gt')
else if (frel == 'ge')
else if (frel == 'unord')tmp_rel = fp_unordered(tmp_fr2, tmp_fr3);
else if (frel == 'neq') tmp_rel = !fp_equal(tmp_fr2, tmp_fr3);
else if (frel == 'nlt') tmp_rel = !fp_less_than(tmp_fr2, tmp_fr3);
else if (frel == 'nle') tmp_rel = !fp_lesser_or_equal(tmp_fr2,
else if (frel == 'ngt') tmp_rel = !fp_less_than(tmp_fr3, tmp_fr2);
else if (frel == 'nge') tmp_rel = !fp_lesser_or_equal(tmp_fr3,
else
3:102
);
1
]) || fp_is_natval(FR[f
2
] = NATVAL;
1
fp_exception_fault(fp_decode_fault(tmp_fp_env));
(frel == 'eq')
(frel == 'eq')
, f
, f
, 0))
1
2
3
])) {
3
, f
, frel, sf, &tmp_fp_env);
2
3
);
2
);
3
tmp_rel = fp_equal(tmp_fr2, tmp_fr3);
tmp_rel = fp_less_than(tmp_fr2, tmp_fr3);
tmp_rel = fp_lesser_or_equal(tmp_fr2,
tmp_rel = fp_less_than(tmp_fr3, tmp_fr2);
tmp_rel = fp_lesser_or_equal(tmp_fr3,
tmp_rel = !fp_unordered(tmp_fr2,
);
2
);
3
tmp_rel = fp_equal(tmp_fr2, tmp_fr3);
tmp_rel = fp_less_than(tmp_fr2, tmp_fr3);
tmp_rel = fp_lesser_or_equal(tmp_fr2,
tmp_rel = fp_less_than(tmp_fr3, tmp_fr2);
tmp_rel = fp_lesser_or_equal(tmp_fr3,
tmp_rel = !fp_unordered(tmp_fr2,
tmp_fr3);
tmp_fr2);
tmp_fr3);
tmp_fr2);
tmp_fr3); //'ord'
tmp_fr3);
tmp_fr2);
tmp_fr3);
tmp_fr2);
tmp_fr3); //'ord'
Volume 3: Instruction Reference
Need help?
Do you have a question about the ITANIUM ARCHITECTURE - SOFTWARE DEVELOPERS MANUAL VOLUME 1 REV 2.3 and is the answer not in the manual?
Questions and answers