Lines Matching refs:exponent
424 set SGL_LO, 0x3f81 # min sgl prec exponent
425 set SGL_HI, 0x407e # max sgl prec exponent
426 set DBL_LO, 0x3c01 # min dbl prec exponent
427 set DBL_HI, 0x43fe # max dbl prec exponent
428 set EXT_LO, 0x0 # min ext prec exponent
429 set EXT_HI, 0x7ffe # max ext prec exponent
525 set sgl_thresh, 0x3f81 # minimum sgl exponent
526 set dbl_thresh, 0x3c01 # minimum dbl exponent
1449 mov.w LOCAL_EX(%a0),%d0 # fetch src exponent
1464 addi.w &0x3f81,%d0 # adjust new exponent
1465 andi.w &0x8000,LOCAL_EX(%a0) # clear old exponent
1466 or.w %d0,LOCAL_EX(%a0) # insert new exponent
1470 andi.w &0x8000,LOCAL_EX(%a0) # clear bogus exponent
1475 ori.w &0x7fff,LOCAL_EX(%a0) # make exponent = $7fff
1479 exponent
1496 addi.w &0x3c01,%d0 # adjust new exponent
1497 andi.w &0x8000,LOCAL_EX(%a0) # clear old exponent
1498 or.w %d0,LOCAL_EX(%a0) # insert new exponent
1526 mov.w FP_SRC_EX(%a6),%d0 # get exponent
2320 mov.w FP_SRC_EX(%a6),%d0 # fetch DENORM exponent
2325 neg.w %d0 # make exponent negative
2331 andi.w &0x8000,FP_SRC_EX(%a6) # clear old exponent
2332 ori.w &0x3f80,FP_SRC_EX(%a6) # insert new "skewed" exponent
2337 mov.w FP_SRC_EX(%a6),%d0 # fetch DENORM exponent
2345 mov.w %d0,FP_SRC_EX(%a6) # insert exponent with cleared sign
2350 mov.w &0x3c00,%d0 # new exponent
2356 mov.w %d0,FP_SRC_EX(%a6) # insert new exponent
2538 # The packed operand is an INF or a NAN if the exponent field is all ones.
3176 mov.w FP_SRC_EX(%a6),%d1 # fetch exponent
3440 ori.l &0x7fc00000,%d0 # insert new exponent,SNAN bit
3454 ori.l &0x7fc00000,%d0 # insert new exponent,SNAN bit
3467 ori.l &0x7ff80000,%d0 # insert new exponent,SNAN bit
3630 # w/ an exponent value of 0x401e. we convert this to extended precision here.
3633 cmpi.w FP_SRC_EX(%a6),&0x401e # is exponent 0x401e?
5400 # norm() - normalize mantissa after adjusting exponent #
5412 # If the DST exponent is > the SRC exponent, set the DST exponent #
5413 # equal to 0x3fff and scale the SRC exponent by the value that the #
5414 # DST exponent was scaled by. If the SRC exponent is greater or equal, #
5417 # plus two, then set the smallest exponent to a very small value as a #
5435 mov.w %d0,L_SCR1(%a6) # store src exponent
5436 mov.w %d1,2+L_SCR1(%a6) # store dst exponent
5462 add.w 0x2(%sp),%d0 # scale src exponent by scale factor
5466 mov.w %d0,FP_SCR0_EX(%a6) # insert new dst exponent
5472 andi.w &0x8000,FP_SCR0_EX(%a6) # zero src exponent
5498 add.w 0x2(%sp),%d0 # scale dst exponent by scale factor
5502 mov.w %d0,FP_SCR1_EX(%a6) # insert new dst exponent
5508 andi.w &0x8000,FP_SCR1_EX(%a6) # zero dst exponent
5518 # scale_to_zero_src(): scale the exponent of extended precision #
5532 # Set the exponent of the input operand to 0x3fff. Save the value #
5533 # of the difference between the original and new exponent. Then, #
5544 andi.l &0x7fff,%d1 # extract operand's exponent
5547 or.w &0x3fff,%d0 # insert new operand's exponent(=0)
5549 mov.w %d0,FP_SCR0_EX(%a6) # insert biased exponent
5563 neg.l %d0 # new exponent = -(shft val)
5571 # scale_sqrt(): scale the input operand exponent so a subsequent #
5586 # If the exponent of the input operand is even, set the exponent #
5588 # exponent of the input operand is off, set the exponent to ox3fff and #
5599 andi.l &0x7fff,%d1 # extract operand's exponent
5606 ori.w &0x3fff,FP_SCR0_EX(%a6) # insert new operand's exponent(=0)
5614 ori.w &0x3ffe,FP_SCR0_EX(%a6) # insert new operand's exponent(=0)
5628 ori.w &0x3fff,FP_SCR0_EX(%a6) # insert new operand's exponent(=0)
5635 ori.w &0x3ffe,FP_SCR0_EX(%a6) # insert new operand's exponent(=0)
5645 # scale_to_zero_dst(): scale the exponent of extended precision #
5659 # Set the exponent of the input operand to 0x3fff. Save the value #
5660 # of the difference between the original and new exponent. Then, #
5671 andi.l &0x7fff,%d1 # extract operand's exponent
5674 or.w &0x3fff,%d0 # insert new operand's exponent(=0)
5676 mov.w %d0,FP_SCR1_EX(%a6) # insert biased exponent
5689 neg.l %d0 # new exponent = -(shft val)
5823 # According to the exponent underflow threshold for the given #
5825 # exponent of the operand to the threshold value. While shifting the #
5835 # table of exponent threshold values for each precision
5845 # Load the exponent threshold for the precision selected and check
5846 # to see if (threshold - exponent) is > 65 in which case we can
5878 # dnrm_lp(): normalize exponent/mantissa to specified threshhold #
5905 # exponent is.
5908 sub.w FTEMP_EX(%a0), %d1 # d1 = threshold - uns exponent
5949 mov.w %d0, FTEMP_EX(%a0) # exponent = denorm threshold
6001 mov.w %d0, FTEMP_EX(%a0) # exponent = denorm threshold
6266 add.w &0x1, FTEMP_EX(%a0) # and incr exponent
6309 addq.w &0x1, FTEMP_EX(%a0) # incr exponent
6444 # a0 = the input operand's mantissa is normalized; the exponent #
6507 # zero; both the exponent and mantissa are changed. #
6530 mov.w FTEMP_EX(%a0), %d1 # extract exponent
6537 # exponent would not go < 0. therefore, number stays normalized
6539 sub.w %d0, %d1 # shift exponent value
6540 mov.w FTEMP_EX(%a0), %d0 # load old exponent
6543 mov.w %d1, FTEMP_EX(%a0) # insert new exponent
6551 # exponent would go < 0, so only denormalize until exp = 0
6555 bgt.b unnorm_nrm_zero_lrg # no; go handle large exponent
6590 and.w &0x8000, FTEMP_EX(%a0) # force exponent to zero
6610 # Simply test the exponent, j-bit, and mantissa values to #
6619 mov.w FTEMP_EX(%a0), %d0 # extract exponent
6630 tst.w %d0 # is exponent = 0?
6651 andi.w &0x8000,FTEMP_EX(%a0) # clear exponent
6690 # Simply test the exponent, j-bit, and mantissa values to #
6753 # Simply test the exponent, j-bit, and mantissa values to #
6820 # exponent is extended to 16 bits and the sign is stored in the unused #
6838 mov.w FTEMP_EX(%a0), %d1 # extract exponent
6841 mov.w %d1, FTEMP_EX(%a0) # insert 16 bit exponent
6902 mov.w FTEMP_EX(%a0),%d1 # extract exponent
6905 mov.w %d1,FTEMP_EX(%a0) # insert 16 bit exponent
7333 or.w %d0,FP_SCR0_EX(%a6) # insert new exponent
7355 mov.w SRC_EX(%a0),%d0 # extract exponent
7507 # (3) if exp still equals zero, then insert original exponent
7525 fcmp.b %fp0,&0x2 # did exponent increase?
7593 mov.w SRC_EX(%a0),%d0 # extract exponent
7718 # (3) if exp still equals zero, then insert original exponent
7736 fcmp.b %fp0,&0x2 # did exponent increase?
7780 mov.w FTEMP_EX(%a0),%d0 # get exponent
7845 mov.w FTEMP_EX(%a0),%d0 # get exponent
7910 # we zero the exponent
7914 # algorithm allows the exponent to be non-zero. the 881/2 do not. therefore,
7915 # if the mantissa is zero, I will zero the exponent, too.
7969 # scale_to_zero_src() - scale src exponent to zero #
7970 # scale_to_zero_dst() - scale dst exponent to zero #
7993 # result operand to the proper exponent. #
8037 bsr.l scale_to_zero_src # scale src exponent
8040 bsr.l scale_to_zero_dst # scale dst exponent
8059 # - scale the result exponent using the scale factor. if both operands were
8085 mov.w %d1,FP_SCR0_EX(%a6) # insert new exponent
8100 # of this operation then has its exponent scaled by -0x6000 to create the
8136 # - if precision is extended, then we have the EXOP. simply bias the exponent
8157 mov.w %d1,FP_SCR0_EX(%a6) # insert new exponent
8211 # of this operation then has its exponent scaled by -0x6000 to create the
8277 mov.w %d1,FP_SCR0_EX(%a6) # insert new exponent
8466 # scale_to_zero_src() - scale src exponent to zero #
8484 # sgl/dbl, must scale exponent and perform an "fmove". Check to see #
8550 # exponent and insert back into the operand.
8558 neg.w %d0 # new exponent = -(shft val)
8559 addi.w &0x6000,%d0 # add new bias to exponent
8564 mov.w %d0,FP_SCR0_EX(%a6) # insert new exponent
8612 or.w %d1,%d2 # concat old sign,new exponent
8613 mov.w %d2,FP_SCR0_EX(%a6) # insert new exponent
8665 mov.w FP_SCR0_EX(%a6),%d1 # load current exponent
8675 mov.w %d2,FP_SCR1_EX(%a6) # insert new exponent
8729 mov.w %d1,FP_SCR0_EX(%a6) # insert new exponent
8786 # scale_to_zero_src() - scale src exponent to zero #
8787 # scale_to_zero_dst() - scale dst exponent to zero #
8810 # result operand to the proper exponent. #
8821 long 0x3fff - 0x7ffe # ext overflow exponent
8822 long 0x3fff - 0x407e # sgl overflow exponent
8823 long 0x3fff - 0x43fe # dbl overflow exponent
8859 bsr.l scale_to_zero_src # scale src exponent
8862 bsr.l scale_to_zero_dst # scale dst exponent
8899 mov.w %d1,FP_SCR0_EX(%a6) # insert new exponent
8929 mov.w (%sp),%d0 # fetch new exponent
8970 mov.w %d1,FP_SCR0_EX(%a6) # insert new exponent
9241 # scale_to_zero_src() - scale sgl/dbl source exponent #
9261 # scale the result exponent and return result. FPSR gets set based on #
9333 # exponent and insert back into the operand.
9338 neg.w %d0 # new exponent = -(shft val)
9339 addi.w &0x6000,%d0 # add new bias to exponent
9343 or.w %d1,%d0 # concat old sign, new exponent
9344 mov.w %d0,FP_SCR0_EX(%a6) # insert new exponent
9393 mov.w %d2,FP_SCR0_EX(%a6) # insert new exponent
9445 mov.w FP_SCR0_EX(%a6),%d1 # load current exponent
9509 mov.w %d1,FP_SCR0_EX(%a6) # insert new exponent
9860 # scale_to_zero_src() - make exponent. = 0; get scale factor #
9879 # scale the operand such that the exponent is zero. Perform an "fabs" #
9881 # exponent would take an exception. If so, use unf_res() or ovf_res() #
9884 # result exponent and return. #
9922 mov.w %d1,FP_SCR0_EX(%a6) # insert exponent
9940 mov.w %d0,FP_SCR0_EX(%a6) # insert exponent
9951 # exponent and insert back into the operand.
9956 neg.w %d0 # new exponent = -(shft val)
9957 addi.w &0x6000,%d0 # add new bias to exponent
9961 or.w %d1,%d0 # concat old sign, new exponent
9962 mov.w %d0,FP_SCR0_EX(%a6) # insert new exponent
10011 mov.w %d2,FP_SCR0_EX(%a6) # insert new exponent
10060 mov.w FP_SCR0_EX(%a6),%d1 # load current exponent
10124 mov.w %d1,FP_SCR0_EX(%a6) # insert new exponent
10371 # scale_to_zero_src() - scale src exponent to zero #
10372 # scale_to_zero_dst() - scale dst exponent to zero #
10395 # result operand to the proper exponent. #
10419 bsr.l scale_to_zero_src # scale exponent
10422 bsr.l scale_to_zero_dst # scale dst exponent
10456 mov.w %d1,FP_SCR0_EX(%a6) # insert new exponent
10505 mov.w %d1,FP_SCR0_EX(%a6) # insert new exponent
10582 mov.w %d1,FP_SCR0_EX(%a6) # insert new exponent
10712 # scale_to_zero_src() - scale src exponent to zero #
10713 # scale_to_zero_dst() - scale dst exponent to zero #
10736 # result operand to the proper exponent. #
10803 mov.w %d1,FP_SCR0_EX(%a6) # insert new exponent
10822 mov.w (%sp),%d1 # fetch new exponent
10858 mov.w %d1,FP_SCR0_EX(%a6) # insert new exponent
10915 mov.w %d1,FP_SCR0_EX(%a6) # insert new exponent
11055 # scale_to_zero_src() - set src operand exponent equal to zero #
11056 # scale_to_zero_dst() - set dst operand exponent equal to zero #
11070 # occur. Then, check result exponent to see if exception would have #
11072 # the correct result exponent and return. Set FPSR bits as appropriate. #
11141 mov.w %d1,(%sp) # insert new exponent
11191 mov.w %d1,(%sp) # insert new exponent
11268 mov.w %d1,FP_SCR0_EX(%a6) # insert new exponent
11300 # ok, so now the result has a exponent equal to the smallest normalized
11301 # exponent for the selected precision. also, the mantissa is equal to
11508 # scale_to_zero_src() - set src operand exponent equal to zero #
11509 # scale_to_zero_dst() - set dst operand exponent equal to zero #
11523 # occur. Then, check result exponent to see if exception would have #
11525 # the correct result exponent and return. Set FPSR bits as appropriate. #
11579 mov.w (%sp),%d2 # fetch new exponent
11593 or.w %d2,%d1 # insert new exponent
11594 mov.w %d1,(%sp) # insert new exponent
11644 mov.w %d1,(%sp) # insert new exponent
11721 mov.w %d1,FP_SCR0_EX(%a6) # insert new exponent
11753 # ok, so now the result has a exponent equal to the smallest normalized
11754 # exponent for the selected precision. also, the mantissa is equal to
11970 # result operand to the proper exponent. #
12074 mov.w %d2,FP_SCR0_EX(%a6) # insert new exponent
12098 # the exponent is 3fff or 3ffe. if it's 3ffe, then it's a safe number
12101 btst &0x0,1+FP_SCR0_EX(%a6) # is exponent 0x3fff?
12142 mov.w FP_SCR0_EX(%a6),%d1 # load current exponent
12206 mov.w %d1,FP_SCR0_EX(%a6) # insert new exponent
12215 btst &0x0,1+FP_SCR0_EX(%a6) # is exponent 0x3fff?
12940 # The packed operand is an INF or a NAN if the exponent field is all ones.
12978 # A1. Convert the bcd exponent to binary by successive adds and #
12993 # exponent equal to the exponent from A1 and the zero count #
13011 # the exponent factor. This is done by multiplying the #
13013 # exponent sign is positive, and dividing FP0 by FP1 if #
13051 # Calculate exponent:
13053 # 2. Calculate absolute value of exponent in d1 by mul and add.
13054 # 3. Correct for exponent sign.
13062 # (*) d1: accumulator for binary exponent
13069 # (*) L_SCR1: copy of original exponent word
13112 # ( ) L_SCR1: copy of original exponent word
13162 # for the adjusted exponent. That number is subtracted from the exp
13164 # of this is to reduce the value of the exponent and the possibility
13167 # 1. Branch on the sign of the adjusted exponent.
13182 # *Why 27? If the adjusted exponent is within -28 < expA < 28, than
13184 # exponent towards zero. Since all pwrten constants with a power
13186 # attempt to lessen the resultant exponent.
13199 # ( ) L_SCR1: copy of original exponent word
13202 # First check the absolute value of the exponent to see if this
13203 # routine is necessary. If so, then check the sign of the exponent
13205 # This section handles a positive adjusted exponent.
13262 # This section handles a negative adjusted exponent.
13310 # Calculate power-of-ten factor from adjusted and shifted exponent.
13316 # ( ) d1: exponent
13323 # ( ) d1: exponent
13329 # Pwrten calculates the exponent factor in the selected rounding mode
13404 btst &30,(%a0) # test the sign of the exponent
13523 # A15. Convert the exponent to bcd. #
13526 # Test the length of the final exponent string. If the #
13593 mov.l (%a0),L_SCR2(%a6) # save exponent for sign check
13642 # d0: k-factor/exponent
13656 # F_SCR2:Abs(X)/Abs(X) with $3fff exponent
13666 mov.w &0x3fff,FP_SCR1(%a6) # replace exponent with 0x3fff
13704 # d0: exponent/Unchanged
13718 # F_SCR2:Abs(X) with $3fff exponent/Unchanged
13776 # d0: exponent/scratch - final is 0
13790 # F_SCR2:Abs(X) with $3fff exponent/Unchanged
13893 # F_SCR2:Abs(X) with $3fff exponent/Unchanged
13917 mov.w (%sp),%d3 # grab exponent
13930 or.w %d3,(%sp) # insert new exponent
14023 # F_SCR2:Y adjusted for inex/Y with original exponent
14060 mov.l L_SCR2(%a6),FP_SCR1(%a6) # restore original exponent
14090 # F_SCR2:Y with original exponent/Unchanged
14199 # F_SCR2:Y with original exponent/Unchanged
14212 mov.l (%a0),%d0 # move exponent to d0
14213 swap %d0 # put exponent in lower word
14239 # A15. Convert the exponent to bcd.
14257 # d1: x/scratch (0);shift count for final exponent packing
14271 # F_SCR2:Y with original exponent/ILOG/10^4
14272 # L_SCR1:original USER_FPCR/Exponent digits on return from binstr
14286 fmov.s F4933(%pc),%fp0 # force exponent to 4933
14294 fbneq.w not_zero # if zero, force exponent
14295 fmov.s FONE(%pc),%fp0 # force exponent to 1
14352 # L_SCR1:Exponent digits on return from binstr