SPA 5.0:
{@{!}Pg}
FCHK{.DIVIDE}
Pu,{-}{|}Ra{|},{-}{|}Sb{|}
{&req_6}
{?sched}
;
.DIVIDE Division test
Single precision FP sources are examined and the test results are stored in destination and condition code. Typically this instruction is placed at the beginning of a sequence of instructions for evaluating certain function such as division and used to predicate subsequent instructions in the routine.
The result of the test specified by the suffix is stored in the destination predicate register Pu.
In the following description, eRa, eSb, emin, emax, and N are unbiased exponents of Ra and Sb, -126, 127, and 24 respectively. Unbiased exponets is calculated as: eRa = Ra.exponent - EXPONENT_BIAS eSb = Sb.exponent - EXPONENT_BIAS where EXPONENT_BIAS = 127 Pu is set if one of the following conditions is satisfied.
1) .DIVIDE is present and 1-1) eRa <= emin + N - 1 or 1-2) eRa >= emax + 1 or 1-3) eSb <= emin or 1-4) eSb >= emax - 2 or 1-5) eRa - eSb <= emin + 1 or 1-6) eRa - eSb >= emax* Currently .DIVIDE is the only operation supported. Illegal instructions will map to DIVIDE.
FCHK.DIVIDE P0,R0,R1