Lines Matching refs:underflow
457 set unfl_bit, 3 # underflow
464 set aunfl_bit, 5 # accrued underflow bit
485 set unfl_mask, 0x00000800 # underflow exception mask
492 set aunfl_mask, 0x00000020 # accrued underflow
829 # _fpsp_unfl(): 060FPSP entry point for FP Underflow exception. #
832 # FP Underflow exception in an operating system. #
853 # Underflow Exception enabled: #
856 # Underflow Exception disabled: #
861 # On the 060, if an FP underflow is present as the result of any #
862 # instruction, the 060 will take an underflow exception whether the #
875 # Two other conditions exist. First, if underflow was disabled #
880 # underflow was disabled and the trace exception was enabled, this #
973 # underflow exception. Since this is incorrect, we need to check
975 # no underflow was called for. We do these checks only in
1006 # underflow exception. Since this is incorrect, we check here to see
1008 # no underflow was called for.
1034 # underflow exception.
1399 btst &unfl_bit,FPSR_EXCEPT(%a6) # did disabled underflow occur?
1731 # underflow can happen for extended precision. extended precision opclass
1977 btst &unfl_bit,FPSR_EXCEPT(%a6) # did disabled underflow occur?
2680 # or underflow that was disabled, then we have to force an overflow or
2681 # underflow frame.
2684 btst &unfl_bit,FPSR_EXCEPT(%a6) # did underflow occur?
5823 # According to the exponent underflow threshold for the given #
5829 # (1) _denorm() is called by the underflow routines #
5904 # check to see how much less than the underflow threshold the operand
6799 # unf_res(): routine to produce default underflow result of a #
6815 # a0 = pointer to default underflow result in extended precision #
6884 # we know that underflow has occurred. aunfl should be set if INEX2 is also set.
6944 # we know that underflow has occurred. aunfl should be set if INEX2 is also set.
7067 # unf_res() - create default underflow result for sgl/dbl prec. #
7083 # fp0 : intermediate underflow or overflow result if #
7094 # For sgl or dbl precision, overflow or underflow can occur. If #
7098 # the source is a denorm and if underflow is enabled, an EXOP must be #
7272 # The DENORM causes an Underflow exception.
7306 # the number is a DENORM. must set the underflow exception bit
7308 bset &unfl_bit,FPSR_EXCEPT(%a6) # set underflow exc bit
7351 # would cause either an underflow or overflow. these cases are handled
7361 cmpi.w %d0,&SGL_LO # will operand underflow?
7362 blt.w fout_sgl_unfl # yes; go handle underflow
7424 bsr.l unf_res # calc default underflow result
7589 # would cause either an underflow or overflow. these cases are handled
7599 cmpi.w %d0,&DBL_LO # will operand underflow?
7600 blt.w fout_dbl_unfl # yes; go handle underflow
7653 bsr.l unf_res # calc default underflow result
7971 # unf_res() - return default underflow result #
7991 # an exception. If so, return the default overflow/underflow result #
8053 bgt.w fmul_unfl # result will underflow
8057 # - the result of the multiply operation will neither overflow nor underflow.
8202 # UNDERFLOW:
8203 # - the result of the multiply operation is an underflow.
8289 # MAY UNDERFLOW:
8291 # that do not underflow.
8307 fbgt.w fmul_normal_exit # no; no underflow occurred
8308 fblt.w fmul_unfl # yes; underflow occurred
8311 # we still don't know if underflow occurred. result is ~ equal to 2. but,
8312 # we don't know if the result was an underflow that rounded up to a 2 or
8331 fbge.w fmul_normal_exit # no; no underflow occurred
8332 bra.w fmul_unfl # yes, underflow occurred
8468 # unf_res() - return default underflow result #
8518 # precision selected is extended. so...we cannot get an underflow
8548 # the input is an extended DENORM and underflow is enabled in the FPCR.
8584 cmpi.l %d0,&0x3fff-0x3f80 # will move in underflow?
8585 bge.w fin_sd_unfl # yes; go handle underflow
8591 # operand will NOT overflow or underflow when moved into the fp reg file
8627 cmpi.l %d0,&0x3fff-0x3c00 # will move in underflow?
8628 bge.w fin_sd_unfl # yes; go handle underflow
8635 # operand WILL underflow when moved in to the fp register file
8644 # if underflow or inexact is enabled, then go calculate the EXOP first.
8659 # operand will underflow AND underflow or inexact is enabled.
8788 # unf_res() - return default underflow result #
8808 # an exception. If so, return the default overflow/underflow result #
8873 cmp.l %d0,(tbl_fdiv_unfl.w,%pc,%d1.w*4) # will result underflow?
8875 bgt.w fdiv_unfl # yes; go handle underflow
9058 # the divide operation MAY underflow:
9075 fbgt.w fdiv_normal_exit # no; no underflow occurred
9076 fblt.w fdiv_unfl # yes; underflow occurred
9079 # we still don't know if underflow occurred. result is ~ equal to 1. but,
9080 # we don't know if the result was an underflow that rounded up to a 1
9099 fbge.w fdiv_normal_exit # no; no underflow occurred
9100 bra.w fdiv_unfl # yes; underflow occurred
9243 # unf_res() - return default underflow result #
9259 # and an actual fneg performed to see if overflow/underflow would have #
9260 # occurred. If so, return default underflow/overflow result. Else, #
9291 # precision selected is extended. so...we can not get an underflow
9331 # the input is an extended DENORM and underflow is enabled in the FPCR.
9364 cmpi.l %d0,&0x3fff-0x3f80 # will move in underflow?
9365 bge.w fneg_sd_unfl # yes; go handle underflow
9371 # operand will NOT overflow or underflow when moved in to the fp reg file
9407 cmpi.l %d0,&0x3fff-0x3c00 # will move in underflow?
9408 bge.b fneg_sd_unfl # yes; go handle underflow
9415 # operand WILL underflow when moved in to the fp register file
9424 # if underflow or inexact is enabled, go calculate EXOP first.
9439 # operand will underflow AND underflow is enabled.
9515 # the move in MAY underflow. so...
9861 # unf_res() - calculate underflow result #
9877 # gets an EXOP created for it since it's an underflow. #
9878 # Double and single precision can overflow and underflow. First, #
9914 # precision selected is extended. so...we can not get an underflow
9949 # the input is an extended DENORM and underflow is enabled in the FPCR.
9982 cmpi.l %d0,&0x3fff-0x3f80 # will move in underflow?
9983 bge.w fabs_sd_unfl # yes; go handle underflow
9989 # operand will NOT overflow or underflow when moved in to the fp reg file
10025 cmpi.l %d0,&0x3fff-0x3c00 # will move in underflow?
10026 bge.b fabs_sd_unfl # yes; go handle underflow
10033 # operand WILL underflow when moved in to the fp register file
10040 # if underflow or inexact is enabled, go calculate EXOP first.
10054 # operand will underflow AND underflow is enabled.
10130 # the move in MAY underflow. so...
10373 # unf_res4() - return default underflow result for sglop #
10393 # an exception. If so, return the default overflow/underflow result #
10432 bgt.w fsglmul_unfl # result will underflow
10602 fbgt.w fsglmul_normal_exit # no; no underflow occurred
10603 fblt.w fsglmul_unfl # yes; underflow occurred
10606 # we still don't know if underflow occurred. result is ~ equal to 2. but,
10607 # we don't know if the result was an underflow that rounded up to a 2 or
10626 fbge.w fsglmul_normal_exit # no; no underflow occurred
10627 bra.w fsglmul_unfl # yes, underflow occurred
10714 # unf_res4() - return default underflow result for sglop #
10734 # an exception. If so, return the default overflow/underflow result #
10777 cmpi.l %d0,&0x3fff-0x0000 # will result underflow?
10779 bgt.w fsgldiv_unfl # yes; go handle underflow
10921 # the divide operation MAY underflow:
10938 fbgt.w fsgldiv_normal_exit # no; no underflow occurred
10939 fblt.w fsgldiv_unfl # yes; underflow occurred
10942 # we still don't know if underflow occurred. result is ~ equal to 1. but,
10943 # we don't know if the result was an underflow that rounded up to a 1
10961 fbge.w fsgldiv_normal_exit # no; no underflow occurred
10962 bra.w fsgldiv_unfl # yes; underflow occurred
11051 # unf_res() - return default underflow result #
11133 cmp.l %d2,(tbl_fadd_unfl.b,%pc,%d1.w*4) # is it an underflow?
11282 # underflow that rounded up.
11287 beq.w fadd_normal # yes; no underflow occurred
11291 bne.w fadd_normal # no; no underflow occurred
11294 bne.w fadd_normal # no; no underflow occurred
11297 beq.w fadd_normal # no; no underflow occurred
11304 # now, we must determine whether the pre-rounded result was an underflow
11325 fbgt.w fadd_unfl # yes; it's an underflow
11326 bra.w fadd_normal # no; it's not an underflow
11504 # unf_res() - return default underflow result #
11586 cmp.l %d2,(tbl_fsub_unfl.b,%pc,%d1.w*4) # is it an underflow?
11735 # underflow that rounded up.
11740 beq.w fsub_normal # yes; no underflow occurred
11744 bne.w fsub_normal # no; no underflow occurred
11747 bne.w fsub_normal # no; no underflow occurred
11750 beq.w fsub_normal # no; no underflow occurred
11757 # now, we must determine whether the pre-rounded result was an underflow
11778 fbgt.w fsub_unfl # yes; it's an underflow
11779 bra.w fsub_normal # no; it's not an underflow
11949 # unf_res() - return default underflow result #
11968 # an exception. If so, return the default overflow/underflow result #
12044 cmpi.l %d0,&0x3fff-0x3f81 # will move in underflow?
12046 bgt.w fsqrt_sd_unfl # yes; go handle underflow
12052 # operand will NOT overflow or underflow when moved in to the fp reg file
12089 cmpi.l %d0,&0x3fff-0x3c01 # will move in underflow?
12091 bgt.b fsqrt_sd_unfl # yes; go handle underflow
12099 # elsewise fall through to underflow.
12102 bne.w fsqrt_sd_normal # yes, so no underflow
12105 # operand WILL underflow when moved in to the fp register file
12120 # if underflow or inexact is enabled, go calculate EXOP first.
12136 # operand will underflow AND underflow is enabled.
12212 # the move in MAY underflow. so...
13913 # in this way, we avoid underflow on intermediate stages of the