Home | History | Annotate | Download | only in dist

Lines Matching refs:Precision

401 set FTEMP_EX, 		0			# extended precision
408 set LOCAL_EX, 0 # extended precision
415 set DST_EX, 0 # extended precision
420 set SRC_EX, 0 # extended precision
431 set EXT_BIAS, 0x3fff # extended precision bias
432 set SGL_BIAS, 0x007f # single precision bias
433 set DBL_BIAS, 0x03ff # double precision bias
528 set x_mode, 0x0 # extended precision
529 set s_mode, 0x4 # single precision
530 set d_mode, 0x8 # double precision
1270 # precision format if the src format was single or double and the
1436 # or double precision denorm, inf, or nan, the operand needs to be
1437 # "corrected" in order to have the proper equivalent extended precision
1567 # on extended precision opclass three instructions using pre-decrement or
1596 # the extended precision result is still in fp0. but, we need to save it
1731 # underflow can happen for extended precision. extended precision opclass
1764 # the extended precision result is still in fp0. but, we need to save it
2412 # (1) FP Instructions using extended precision or packed immediate #
2509 # so, now it's immediate data extended precision AND PACKED FORMAT!
2975 # instruction is using an extended precision immediate operand. therefore,
3302 # For the case of an extended precision opclass 3 instruction, #
3490 # for extended precision, if the addressing mode is pre-decrement or
3630 # w/ an exponent value of 0x401e. we convert this to extended precision here.
3637 fmov.x %fp0,FP_SRC(%a6) # store integer as extended precision
3726 # through here. so can double and single precision.
5017 # a0 = pointer to extended precision input #
5018 # d0 = round precision,mode #
5030 # rounded to double precision. The result is provably monotonic #
5031 # in double precision. #
5195 #--NOTE THAT A3 THROUGH A7 ARE STORED IN DOUBLE PRECISION
5248 #--NOTE THAT B4 THROUGH B8 ARE STORED IN DOUBLE PRECISION
5250 #--AND IS THEREFORE STORED AS SINGLE PRECISION.
5318 # here, the operation may underflow iff the precision is sgl or dbl.
5726 # a0 = pointer to extended precision input #
5727 # d0 = round precision,mode #
5735 # rounded to double precision. The result is provably monotonic #
5736 # in double precision. #
6156 # a0 = pointer to extended precision input #
6157 # d0 = round precision,mode #
6165 # rounded to double precision. The result is provably monotonic #
6166 # in double precision. #
6606 # a0 = pointer to extended precision input #
6607 # d0 = round precision,mode #
6615 # rounded to double precision. The result is provably monotonic #
6616 # in double precision. #
6707 # a0 = pointer to extended precision input #
6708 # d0 = round precision,mode #
6716 # rounded to double precision. The result is provably monotonic #
6717 # in double precision. #
6803 # a0 = pointer to extended precision input #
6804 # d0 = round precision,mode #
6812 # rounded to double precision. The result is provably monotonic #
6813 # in double precision. #
6862 # constant := single-precision( 64/log 2 ). #
6864 # Using a single-precision constant avoids memory #
6865 # access. Another effect of using a single-precision #
6874 # where L1 := single-precision(-log2/64). #
6876 # L2 := extended-precision(-log2/64 - L1).#
6903 # and A5 are single precision; A2 and A3 are double #
6904 # precision. #
6918 # 2^(J/64) to roughly 85 bits; T is in extended precision #
6919 # and t is in single precision. Note also that T is #
6980 # extended-precision numbers whose square over/underflow #
6991 # precision prescribed by the user FPCR. #
7020 # where L1 := single-precision(-log2/64). #
7022 # L2 := extended-precision(-log2/64 - L1).#
7031 # and A6 are single precision; A2, A3 and A4 are double #
7032 # precision. #
7046 # 2^(J/64) to roughly 85 bits; T is in extended precision #
7047 # and t is in single precision. Note also that T is #
7079 # precision and rounding modes. To avoid unnecessary #
7089 # to B12 are single precision; B3 to B8 are double #
7090 # precision; and B2 is double extended. #
7113 # in the user rounding precision and mode. #
7613 # returned as an extended precision number in fp0. #
7617 # mantissa is converted to an extended precision number w/ #
7623 # a0 = pointer to extended precision input #
7684 # a0 = pointer to extended precision input #
7685 # d0 = round precision,mode #
7693 # rounded to double precision. The result is provably monotonic #
7694 # in double precision. #
7798 # a0 = pointer to extended precision input #
7799 # d0 = round precision,mode #
7807 # rounded to double precision. The result is provably monotonic #
7808 # in double precision. #
7916 # a0 = pointer to extended precision input #
7917 # d0 = round precision,mode #
7925 # rounded to double precision. The result is provably monotonic #
7926 # in double precision. #
8082 # a0 = pointer to extended precision input #
8083 # d0 = round precision,mode #
8091 # rounded to double precision. The result is provably monotonic #
8092 # in double precision. #
8677 # a0 = pointer to extended precision input #
8678 # d0 = round precision,mode #
8686 # rounded to double precision. The result is provably monotonic #
8687 # in double precision. #
8767 # a0 = pointer to extended precision input #
8768 # d0 = round precision,mode #
8776 # rounded to double precision. The result is provably monotonic #
8777 # in double precision. #
8786 # traps, and precision control = double extended. #
8800 # traps, and precision control = double extended. #
8813 # traps, and precision control = double extended. #
8827 # traps, and precision control = double extended. #
8931 # a0 = pointer to extended precision input #
8932 # d0 = round precision,mode #
8940 # rounded to double precision. The result is provably monotonic #
8941 # in double precision. #
9188 fmov.l %d0,%fpcr # set user's rounding mode/precision
9312 fmov.l %d0,%fpcr # set user's rounding mode/precision
9321 # rounded to the mode and precision specified in d0. #
9363 # the answer is PI rounded to the proper precision.
9366 # precision.
9392 # precision.
9434 # precision.
9464 tst.b %d0 # is precision extended?
9468 # Precision is extended
9472 # Precision is single or double
9476 # call round() to round the answer to the proper precision.
9713 # a0 = pointer to extended precision input X #
9714 # a1 = pointer to extended precision input Y #
9715 # d0 = round precision,mode #
10189 andi.b &0xc0,%d1 # extended precision?
10192 # result precision is extended.
10199 # result precision is single or double
10239 # - Return the default result to the proper precision #
10273 # - Return the default result to the proper precision #
10280 # precision indicated. #
10295 # result would be inexact for the given precision. make a copy of the
10419 # d0 : rnd mode,precision #
11545 # a0 = pointer to extended precision source operand #
11546 # a1 = pointer to extended precision destination operand #
11555 # norms/denorms into ext/sgl/dbl precision. #
11612 mov.w 2+L_SCR3(%a6),%d1 # fetch precision
11626 # - do the multiply to the proper precision and rounding mode.
11661 # - do the multiply to the proper precision and rounding mode in order to
11665 # extended precision. if the original operation was extended, then we have this
11667 # multiply using extended precision and the correct rounding mode. the result
11704 # - if precision is extended, then we have the EXOP. simply bias the exponent
11705 # with an extra -0x6000. if the precision is single or double, we need to
11706 # calculate a result rounded to extended precision.
11745 # - do the multiply to the proper precision and rounding mode in order to
11772 # - do the multiply to the proper precision and rounding mode in order to
11776 # extended precision. if the original operation was extended, then we have this
11778 # multiply using extended precision and the correct rounding mode. the result
11785 # for fun, let's use only extended precision, round to zero. then, let
11821 andi.b &0xc0,%d1 # is precision extended?
11858 # -use the correct rounding mode and precision. this code favors operations
12041 # a0 = pointer to extended precision source operand #
12050 # norms into extended, single, and double precision. #
12063 ori.b &s_mode*0x10,%d0 # insert sgl precision
12069 ori.b &d_mode*0x10,%d0 # insert dbl precision
12082 andi.b &0xc0,%d0 # is precision extended?
12086 # precision selected is extended. so...we cannot get an underflow
12087 # or overflow because of rounding to the correct precision. so...
12098 # for an extended precision DENORM, the UNFL exception bit is set
12102 andi.b &0xc0,%d0 # is precision extended?
12137 # operand is to be rounded to single or double precision
12144 # operand is to be rounded to single precision
12187 # operand is to be rounded to double precision
12228 # therefore, we must return the result rounded to extended precision.
12284 # the INEX2 bit has already been updated by the round to the correct precision.
12362 # a0 = pointer to extended precision source operand #
12363 # a1 = pointer to extended precision destination operand #
12372 # norms/denorms into ext/sgl/dbl precision. #
12435 mov.w 2+L_SCR3(%a6),%d1 # fetch precision
12523 andi.b &0xc0,%d1 # is precision extended?
12591 andi.b &0xc0,%d1 # is precision extended?
12816 # a0 = pointer to extended precision source operand #
12825 # norms/denorms into ext/sgl/dbl precisions. Extended precision can be #
12837 ori.b &s_mode*0x10,%d0 # insert sgl precision
12855 andi.b &0xc0,%d0 # is precision extended?
12859 # precision selected is extended. so...we can not get an underflow
12860 # or overflow because of rounding to the correct precision. so...
12875 # for an extended precision DENORM, the UNFL exception bit is set
12879 andi.b &0xc0,%d0 # is precision extended?
12924 # operand is to be rounded to single precision
12967 # operand is to be rounded to double precision
13008 # therefore, we must return the result rounded to extended precision.
13064 # the INEX2 bit has already been updated by the round to the correct precision.
13135 # a0 = pointer to extended precision source operand #
13220 # a0 = pointer to extended precision source operand #
13221 # d0 = round precision/mode #
13326 # a0 = pointer to extended precision source operand #
13327 # d0 = round precision/mode #
13434 # a0 = pointer to extended precision source operand #
13435 # d0 = rnd precision/mode #
13443 # norms into extended, single, and double precision. #
13444 # Simply clear sign for extended precision norm. Ext prec denorm #
13446 # Double and single precision can overflow and underflow. First, #
13460 ori.b &s_mode*0x10,%d0 # insert sgl precision
13466 ori.b &d_mode*0x10,%d0 # insert dbl precision
13478 andi.b &0xc0,%d0 # is precision extended?
13482 # precision selected is extended. so...we can not get an underflow
13483 # or overflow because of rounding to the correct precision. so...
13495 # for an extended precision DENORM, the UNFL exception bit is set
13499 andi.b &0xc0,%d0 # is precision extended?
13542 # operand is to be rounded to single precision
13585 # operand is to be rounded to double precision
13623 # therefore, we must return the result rounded to extended precision.
13679 # the INEX2 bit has already been updated by the round to the correct precision.
13751 # a0 = pointer to extended precision source operand #
13752 # a1 = pointer to extended precision destination operand #
13947 # a0 = pointer to extended precision source operand #
13948 # a1 = pointer to extended precision destination operand #
13957 # norms/denorms into ext/sgl/dbl precision. #
14200 # Single Precision Multiply: inputs are not both normalized; what are they?
14288 # a0 = pointer to extended precision source operand #
14289 # a1 = pointer to extended precision destination operand #
14298 # norms/denorms into ext/sgl/dbl precision. #
14339 mov.w 2+L_SCR3(%a6),%d1 # fetch precision,mode
14408 andi.b &0x30,%d0 # kill precision
14627 # a0 = pointer to extended precision source operand #
14628 # a1 = pointer to extended precision destination operand #
14636 # norms into extended, single, and double precision. #
14750 andi.b &0xc0,%d1 # is precision extended?
14815 andi.b &0xc0,%d1 # is precision extended?
14848 # result is equal to the smallest normalized number in the selected precision
14849 # if the precision is extended, this result could not have come from an
14869 # exponent for the selected precision. also, the mantissa is equal to
15080 # a0 = pointer to extended precision source operand #
15081 # a1 = pointer to extended precision destination operand #
15089 # norms into extended, single, and double precision. #
15203 andi.b &0xc0,%d1 # is precision extended?
15268 andi.b &0xc0,%d1 # is precision extended?
15301 # result is equal to the smallest normalized number in the selected precision
15302 # if the precision is extended, this result could not have come from an
15322 # exponent for the selected precision. also, the mantissa is equal to
15523 # a0 = pointer to extended precision source operand #
15532 # norms/denorms into ext/sgl/dbl precision. #
15545 ori.b &s_mode*0x10,%d0 # insert sgl precision
15551 ori.b &d_mode*0x10,%d0 # insert dbl precision
15567 andi.b &0xc0,%d0 # is precision extended?
15584 andi.b &0xc0,%d0 # is precision extended?
15603 # operand is to be rounded to single precision
15648 # operand is to be rounded to double precision
15705 # therefore, we must return the result rounded to extended precision.
15761 # the INEX2 bit has already been updated by the round to the correct precision.
15971 # scale_to_zero_src(): scale the exponent of extended precision #
15978 # FP_SCR0(a6) = extended precision operand to be scaled #
15981 # FP_SCR0(a6) = scaled extended precision operand #
16031 # FP_SCR0(a6) = extended precision operand to be scaled #
16034 # FP_SCR0(a6) = scaled extended precision operand #
16098 # scale_to_zero_dst(): scale the exponent of extended precision #
16105 # FP_SCR1(a6) = extended precision operand to be scaled #
16108 # FP_SCR1(a6) = scaled extended precision operand #
16159 # FP_SRC(a6) = pointer to extended precision src operand #
16160 # FP_DST(a6) = pointer to extended precision dst operand #
19362 # Also, for extended precision and packed, the #
19589 # FP_SRC(a6) = source operand in extended precision #
19590 # FP_DST(a6) = destination operand in extended precision #
20162 # _round() - needed to create EXOP for sgl/dbl precision #
20163 # norm() - needed to create EXOP for extended precision #
20164 # ovf_res() - create default overflow result for sgl/dbl precision#
20166 # dst_dbl() - create rounded dbl precision result. #
20167 # dst_sgl() - create rounded sgl precision result. #
20177 # a0 = pointer to extended precision source operand #
20192 # For sgl or dbl precision, overflow or underflow can occur. If #
20194 # For extended precision, the stacked <ea> must be fixed along #
20200 # precision. Then, bindec() is called to create the appropriate #
20373 # we copy the extended precision result to FP_SCR0 so that the reserved
20389 # we must not yet write the extended precision data to the stack
20840 # dst_dbl(): create double precision value from extended prec. #
20846 # a0 = pointer to source operand in extended precision #
20849 # d0 = hi(double precision result) #
20850 # d1 = lo(double precision result) #
20854 # Changes extended precision to double precision. #
20879 subi.w &EXT_BIAS,%d0 # subtract extended precision bias
20880 addi.w &DBL_BIAS,%d0 # add double precision bias
20908 # dst_sgl(): create single precision value from extended prec #
20913 # a0 = pointer to source operand in extended precision #
20916 # d0 = single precision result #
20920 # Changes extended precision to single precision. #
20944 subi.w &EXT_BIAS,%d0 # subtract extended precision bias
20945 addi.w &SGL_BIAS,%d0 # add single precision bias
21621 # fp0 = extended precision value to store #
21691 # d0 = rounding precision #
21701 # precision, shift the mantissa bits to the right in order raise the #
21712 # table of exponent threshold values for each precision
21722 # Load the exponent threshold for the precision selected and check
22020 # _round(): round result according to precision/mode #
22027 # d1(hi) = contains rounding precision: #
22055 # ext_grs() looks at the rounding precision and sets the appropriate
22210 # rounding precision.
22213 # d0 = extended precision g,r,s (in d0{31:29})
22219 # selected rounding precision. It is called by the round subroutine
22230 swap %d1 # have d1.w point to round precision
22307 # norm(): normalize the mantissa of an extended precision input. the #
22317 # a0 = pointer fp extended precision operand to normalize #
22379 # a0 = pointer to unnormalized extended precision number #
22480 # a0 = pointer to extended precision operand #
22560 # a0 = points to double precision operand #
22623 # a0 = pointer to single precision operand #
22677 # scaled extended precision number; this is used by #
22689 # d1 = rounding precision/mode #
22692 # a0 = pointer to default underflow result in extended precision #
22705 # precision and the rounding mode to single. #
22850 # a0 = points to extended precision result #
22882 # use the rounding mode, precision, and result sign as in index into the
22945 # decbin() - convert packed to binary extended precision #
22961 # convert the packed value to an extended precision binary value. #
23004 # a0 to extended-precision value in fp0. #
23471 # bindec(): Converts an input in extended precision format to bcd format#
23474 # a0 = pointer to the input extended precision value in memory. #
23495 # value is viewed as 2^^e * 1.f in extended precision. #
23574 # Constants in extended precision
23580 # Constants in single precision
23676 # as 2^^e * 1.f in extended precision. This value is stored
24034 # mode and precision. The original FPCR is saved in L_SCR1.
24109 # in extended precision, so the use of a previous power-of-ten