Lines Matching +full:low +full:- +full:precision
12 | g_rndpr: returns the rounding precision.
48 | ;largest -ext
70 | ovf_r_k --- overflow result calculation
74 | This forces the destination precision to be extended
86 | ovf_r_x2 --- overflow result calculation
93 | This sets the round precision according to the user's FPCR unless the
96 | If the instruction is fsgldiv of fsglmul, the rounding precision must be
97 | extended. If the instruction is not fsgldiv or fsglmul but a force-
98 | precision instruction, the rounding precision is then set to the force
99 | precision.
109 beql ovff_sgl |force precision is single
111 beql ovff_dbl |force precision is double
136 | Inst is either fsgldiv or fsglmul. Force extended precision.
149 | The precision is in the fpcr.
152 bfextu FPCR_MODE(%a6){#0:#2},%d0 |set round precision
157 | ovf_r_x3 --- overflow result calculation
164 | This sets the round precision according to the destination size.
170 | ;is the rounding precision
173 | ovf_res --- overflow result calculation
182 lsll #2,%d0 |move round precision to d0{3:2}
192 leal EXT_PINF,%a1 |answer is +/- infinity
196 leal EXT_PLRG,%a1 |answer is +/- large number
223 leal EXT_PINF,%a1 |answer is +/- infinity
227 leal DBL_PLRG,%a1 |answer is +/- large number
254 leal EXT_PINF,%a1 |answer is +/- infinity
258 leal SGL_PLRG,%a1 |answer is +/- large number
301 | get_fline --- get f-line opcode of interrupted instruction
303 | Returns opcode in the low word of d0.
307 movel #0,-(%a7) |reserve a word on the stack
308 leal 2(%a7),%a1 |point to low word of temporary
314 | g_rndpr --- put rounding precision in d0{1:0}
317 | 00 - extended
318 | 01 - single
319 | 10 - double
322 | get rounding precision (cmdreg3b{6:5})
325 | get destination format - this is the also the rounding precision
332 | use precision from FPCR{7:6}
337 | use precision in FPCR{7:6}
350 | is the same as the rounding precision. Pass results from g_dfmtou.
358 movel CMDREG3B(%a6),%d0 |rounding precision in d0{10:9}
361 beql unff_sgl |force precision is single
362 cmpil #0x3,%d0 |force precision is double
390 | cmdreg3b return precision
391 | -------- ------ ---------
413 | Get rounding precision set in FPCR{7:6}.
416 movel USER_FPCR(%a6),%d0 |rounding precision bits in d0{7:6}
420 | g_opcls --- put opclass in d0{2:0}
433 | g_dfmtou --- put destination format in d0{1:0}
439 | extended 010 -> 00
440 | single 001 -> 01
441 | double 101 -> 10
482 | UNF_SUB --- underflow result calculation
485 | d0 contains round precision
489 | a0 points to correct internal extended precision result.
512 lsll #2,%d0 |move round precision to d0{3:2}
522 leal EXT_PZRO,%a1 |answer is +/- zero
526 leal EXT_PZRO,%a1 |answer is +/- zero
554 leal DBL_PZRO,%a1 |answer is +/- zero
558 leal DBL_PZRO,%a1 |answer is +/- zero
586 leal SGL_PZRO,%a1 |answer is +/- zero
590 leal SGL_PZRO,%a1 |answer is +/- zero
627 | reg_dest --- write byte, word, or long data to Dn
635 | -----------------------------------------------
637 | -----------------------------------------------
640 | 0 - Byte
641 | 1 - Word
642 | 2 - Long/Single