Home | History | Annotate | Download | only in dist

Lines Matching refs:ZERO

436 set ZERO,		0x01			# operand type for STAG/DTAG
447 set z_bit, 0x2 # zero result
458 set dz_bit, 2 # divide by zero
473 set z_mask, 0x04000000 # zero bit mask (lw)
478 set z_bmask, 0x04 # zero bit mask (byte)
493 set adz_mask, 0x00000010 # accrued divide by zero
533 set rz_mode, 0x1 # round-to-zero
599 # unnorm_fix() - change UNNORM operands to NORM or ZERO #
693 bsr.l unnorm_fix # yes; convert to NORM,DENORM,or ZERO
712 andi.l &0x00ff01ff,USER_FPSR(%a6) # zero all but accured field
714 fmov.l &0x0,%fpcr # zero current control regs
798 and.l &0xffff00ff,USER_FPSR(%a6) # zero all but accured field
800 fmov.l &0x0,%fpcr # zero current control regs
839 # unnorm_fix() - change UNNORM operands to NORM or ZERO #
936 bsr.l unnorm_fix # yes; convert to NORM,DENORM,or ZERO
957 fmov.l &0x0,%fpcr # zero current control regs
1072 and.l &0xffff00ff,USER_FPSR(%a6) # zero all but accured field
1074 fmov.l &0x0,%fpcr # zero current control regs
1114 # unnorm_fix() - change UNNORM operands to NORM or ZERO #
1229 # if the exception is an opclass zero or two unimplemented data type
1263 # so, since the emulation routines re-create them anyways, zero exception field
1264 andi.l &0x00ff00ff,USER_FPSR(%a6) # zero exception field
1266 fmov.l &0x0,%fpcr # zero current control regs
1277 # input is an UNNORM, then convert it to a NORM, DENORM, or ZERO.
1282 bsr.l unnorm_fix # yes; convert to NORM,DENORM,or ZERO
1302 bsr.l unnorm_fix # yes; convert to NORM,DENORM,or ZERO
1459 beq.b fso_zero # it's a skewed zero
1490 tst.l LOCAL_LO(%a0) # is it a zero?
1517 # so, since the emulation routines re-create them anyways, zero exception field.
1519 and.l &0xffff00ff,USER_FPSR(%a6) # zero exception field
1521 fmov.l &0x0,%fpcr # zero current control regs
1819 # so, since the emulation routines re-create them anyways, zero exception field
1820 andi.l &0x0ff00ff,USER_FPSR(%a6) # zero exception field
1822 fmov.l &0x0,%fpcr # zero current control regs
1847 bsr.l unnorm_fix # yes; convert to NORM,DENORM,or ZERO
2076 # so, since the emulation routines re-create them anyways, zero exception field.
2078 and.l &0xffff00ff,USER_FPSR(%a6) # zero exception field
2080 fmov.l &0x0,%fpcr # zero current control regs
2092 bsr.l unnorm_fix # yes; convert to NORM,DENORM,or ZERO
2385 # unnorm_fix() - change UNNORM operands to NORM or ZERO #
2543 # The packed operand is a zero if the mantissa is all zero, else it's
2547 bne.b iea_op_gp_not_spec # not a zero
2548 tst.l FP_SRC_HI(%a6) # is lw 2 zero?
2549 bne.b iea_op_gp_not_spec # not a zero
2550 tst.l FP_SRC_LO(%a6) # is lw 3 zero?
2551 beq.b iea_op_setsrc # operand is a ZERO
2566 bsr.l unnorm_fix # yes; convert to NORM/DENORM/ZERO
2585 bsr.l unnorm_fix # yes; convert to NORM/DENORM/ZERO
3100 # for opclass zero and two instruction taking this exception, the #
3290 # for opclass zero and two instructions taking this exception, the #
3573 # unnorm_fix() - change UNNORM operands to NORM or ZERO #
3591 # for opclass zero and two instruction taking this exception, the #
3644 # Here, we zero the ccode and exception byte field since we're going to
3649 andi.l &0x00ff01ff,USER_FPSR(%a6) # zero all but accured field
3651 fmov.l &0x0,%fpcr # zero current control regs
3678 bsr.l unnorm_fix # yes; convert to NORM,DENORM,or ZERO
3739 andi.l &0xffff00ff,USER_FPSR(%a6) # zero exception field
3800 # this would be the case for opclass two operations with a source zero
4269 # If the data register holds a zero, then the #
4294 # if the bit string is a zero, then the operation is a no-op
5472 andi.w &0x8000,FP_SCR0_EX(%a6) # zero src exponent
5508 andi.w &0x8000,FP_SCR1_EX(%a6) # zero dst exponent
5789 # Multiply: (Infinity x Zero) #
5790 # Divide : (Zero / Zero) || (Infinity / Infinity) #
5847 # simply calculate the sticky bit and zero the mantissa. otherwise
6052 # Return a zero mantissa with the sticky bit set
6125 # the entire mantissa is zero.
6133 # the entire mantissa is zero.
6185 tst.l %d0 # are G,R,S zero?
6482 clr.l FTEMP_LO(%a0) # lo(man) is now zero
6492 # unnorm_fix(): - changes an UNNORM to one of NORM, DENORM, or ZERO #
6505 # d0 = optype tag - is corrected to one of NORM, DENORM, or ZERO #
6507 # zero; both the exponent and mantissa are changed. #
6520 bfffo FTEMP_LO(%a0){&0:&32}, %d0 # is operand really a zero?
6587 # whole mantissa is zero so this UNNORM is actually a zero
6590 and.w &0x8000, FTEMP_EX(%a0) # force exponent to zero
6592 mov.b &ZERO, %d0 # fix optype tag
6607 # one of: NORM, INF, QNAN, SNAN, DENORM, UNNORM, ZERO #
6612 # If it's an unnormalized zero, alter the operand and force it #
6613 # to be a normal zero. #
6638 mov.b &ZERO, %d0
6644 # must convert to zero.
6650 # it's an "unnormalized zero". let's convert it to an actual zero...
6652 mov.b &ZERO, %d0
6687 # one of: NORM, INF, QNAN, SNAN, DENORM, ZERO #
6715 mov.b &ZERO, %d0
6750 # one of: NORM, INF, QNAN, SNAN, DENORM, ZERO #
6776 mov.b &ZERO, %d0
6869 # the number may have become zero after rounding. set ccodes accordingly.
6872 tst.l FTEMP_HI(%a0) # is value now a zero?
6876 # bset &z_bit, FPSR_CC(%a6) # yes; set zero ccode bit
6877 bset &z_bit, %d0 # yes; set zero ccode bit
6929 # the number may have become zero after rounding. set ccodes accordingly.
6932 tst.l FTEMP_HI(%a0) # is value now a zero?
6936 # bset &z_bit,FPSR_CC(%a6) # yes; set zero ccode bit
6937 bset &z_bit,%d0 # yes; set zero ccode bit
7507 # (3) if exp still equals zero, then insert original exponent
7568 clr.l %d0 # pass: zero g,r,s
7718 # (3) if exp still equals zero, then insert original exponent
7909 # add the extra condition that only if the k-factor was zero, too, should
7910 # we zero the exponent
7913 # "mantissa" is all zero which means that the answer is zero. but, the '040
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.
7916 # the question now is whether the exponents sign bit is allowed to be non-zero
7917 # for a zero, also...
7969 # scale_to_zero_src() - scale src exponent to zero #
7970 # scale_to_zero_dst() - scale dst exponent to zero #
8217 # for fun, let's use only extended precision, round to zero. then, let
8346 short fmul_zero - tbl_fmul_op # NORM x ZERO
8354 short fmul_zero - tbl_fmul_op # ZERO x NORM
8355 short fmul_zero - tbl_fmul_op # ZERO x ZERO
8356 short fmul_res_operr - tbl_fmul_op # ZERO x INF
8357 short fmul_res_qnan - tbl_fmul_op # ZERO x QNAN
8358 short fmul_zero - tbl_fmul_op # ZERO x DENORM
8359 short fmul_res_snan - tbl_fmul_op # ZERO x SNAN
8364 short fmul_res_operr - tbl_fmul_op # INF x ZERO
8373 short fmul_res_qnan - tbl_fmul_op # QNAN x ZERO
8382 short fmul_zero - tbl_fmul_op # NORM x ZERO
8391 short fmul_res_snan - tbl_fmul_op # SNAN x ZERO
8407 # Multiply: (Zero x Zero) || (Zero x norm) || (Zero x denorm)
8414 bpl.b fmul_zero_p # result ZERO is pos.
8416 fmov.s &0x80000000,%fp0 # load -ZERO
8420 fmov.s &0x00000000,%fp0 # load +ZERO
8466 # scale_to_zero_src() - scale src exponent to zero #
8769 # do the fmove in; at this point, only possible ops are ZERO and INF.
8771 # prec:mode should be zero
8786 # scale_to_zero_src() - scale src exponent to zero #
8787 # scale_to_zero_dst() - scale dst exponent to zero #
9114 short fdiv_inf_load - tbl_fdiv_op # NORM / ZERO
9122 short fdiv_zero_load - tbl_fdiv_op # ZERO / NORM
9123 short fdiv_res_operr - tbl_fdiv_op # ZERO / ZERO
9124 short fdiv_zero_load - tbl_fdiv_op # ZERO / INF
9125 short fdiv_res_qnan - tbl_fdiv_op # ZERO / QNAN
9126 short fdiv_zero_load - tbl_fdiv_op # ZERO / DENORM
9127 short fdiv_res_snan - tbl_fdiv_op # ZERO / SNAN
9132 short fdiv_inf_dst - tbl_fdiv_op # INF / ZERO
9141 short fdiv_res_qnan - tbl_fdiv_op # QNAN / ZERO
9150 short fdiv_inf_load - tbl_fdiv_op # DENORM / ZERO
9159 short fdiv_res_snan - tbl_fdiv_op # SNAN / ZERO
9180 fmov.s &0x80000000,%fp0 # load a -ZERO
9184 fmov.s &0x00000000,%fp0 # load a +ZERO
9189 # The destination was In Range and the source was a ZERO. The result,
9209 # The destination was an INF w/ an In Range or ZERO source, the result is
9549 # do the fneg; at this point, only possible ops are ZERO and INF.
9551 # prec:mode should be zero at this point but it won't affect answer anyways.
9598 cmpi.b %d1,&ZERO # weed out ZERO
9632 # Zero:
9663 # norms. Denorms are so low that the answer will either be a zero or a #
9696 cmpi.b %d1,&ZERO # weed out ZERO
9709 # for DENORMs, the result will be either (+/-)ZERO or (+/-)1.
9716 mov.w SRC_EX(%a0),FP_SCR0_EX(%a6) # copy sign, zero exp
9722 # Zero:
9725 tst.b SRC_EX(%a0) # is ZERO negative?
9728 fmov.s &0x00000000,%fp0 # return +ZERO in fp0
9732 fmov.s &0x80000000,%fp0 # return -ZERO in fp0
9769 # norms. Denorms are so low that the answer will either be a zero or a #
9798 cmpi.b %d1,&ZERO # weed out ZERO
9811 # for DENORMs, the result will be (+/-)ZERO.
9818 mov.w SRC_EX(%a0),FP_SCR0_EX(%a6) # copy sign, zero exp
9824 # Zero:
9827 tst.b SRC_EX(%a0) # is ZERO negative?
9830 fmov.s &0x00000000,%fp0 # return +ZERO in fp0
9834 fmov.s &0x80000000,%fp0 # return -ZERO in fp0
9879 # scale the operand such that the exponent is zero. Perform an "fabs" #
10229 short fcmp_norm - tbl_fcmp_op # NORM - ZERO
10237 short fcmp_norm - tbl_fcmp_op # ZERO - NORM
10238 short fcmp_norm - tbl_fcmp_op # ZERO - ZERO
10239 short fcmp_norm - tbl_fcmp_op # ZERO - INF
10240 short fcmp_res_qnan - tbl_fcmp_op # ZERO - QNAN
10241 short fcmp_dnrm_s - tbl_fcmp_op # ZERO - DENORM
10242 short fcmp_res_snan - tbl_fcmp_op # ZERO - SNAN
10247 short fcmp_norm - tbl_fcmp_op # INF - ZERO
10256 short fcmp_res_qnan - tbl_fcmp_op # QNAN - ZERO
10265 short fcmp_dnrm_d - tbl_fcmp_op # DENORM - ZERO
10274 short fcmp_res_snan - tbl_fcmp_op # SNAN - ZERO
10297 # If you have a DENORM and an INF or ZERO, just force the DENORM's j-bit to a one
10371 # scale_to_zero_src() - scale src exponent to zero #
10372 # scale_to_zero_dst() - scale dst exponent to zero #
10641 short fsglmul_zero - tbl_fsglmul_op # NORM x ZERO
10649 short fsglmul_zero - tbl_fsglmul_op # ZERO x NORM
10650 short fsglmul_zero - tbl_fsglmul_op # ZERO x ZERO
10651 short fsglmul_res_operr - tbl_fsglmul_op # ZERO x INF
10652 short fsglmul_res_qnan - tbl_fsglmul_op # ZERO x QNAN
10653 short fsglmul_zero - tbl_fsglmul_op # ZERO x DENORM
10654 short fsglmul_res_snan - tbl_fsglmul_op # ZERO x SNAN
10659 short fsglmul_res_operr - tbl_fsglmul_op # INF x ZERO
10668 short fsglmul_res_qnan - tbl_fsglmul_op # QNAN x ZERO
10677 short fsglmul_zero - tbl_fsglmul_op # NORM x ZERO
10686 short fsglmul_res_snan - tbl_fsglmul_op # SNAN x ZERO
10712 # scale_to_zero_src() - scale src exponent to zero #
10713 # scale_to_zero_dst() - scale dst exponent to zero #
10976 short fsgldiv_inf_load - tbl_fsgldiv_op # NORM / ZERO
10984 short fsgldiv_zero_load - tbl_fsgldiv_op # ZERO / NORM
10985 short fsgldiv_res_operr - tbl_fsgldiv_op # ZERO / ZERO
10986 short fsgldiv_zero_load - tbl_fsgldiv_op # ZERO / INF
10987 short fsgldiv_res_qnan - tbl_fsgldiv_op # ZERO / QNAN
10988 short fsgldiv_zero_load - tbl_fsgldiv_op # ZERO / DENORM
10989 short fsgldiv_res_snan - tbl_fsgldiv_op # ZERO / SNAN
10994 short fsgldiv_inf_dst - tbl_fsgldiv_op # INF / ZERO
11003 short fsgldiv_res_qnan - tbl_fsgldiv_op # QNAN / ZERO
11012 short fsgldiv_inf_load - tbl_fsgldiv_op # DENORM / ZERO
11021 short fsgldiv_res_snan - tbl_fsgldiv_op # SNAN / ZERO
11055 # scale_to_zero_src() - set src operand exponent equal to zero #
11056 # scale_to_zero_dst() - set dst operand exponent equal to zero #
11117 fbeq.w fadd_zero_exit # if result is zero, end now
11149 # fmov.s &0x00000000,%fp0 # return zero in fp0
11302 # 0x8000000000000000 and this mantissa is the result of rounding non-zero
11340 short fadd_zero_src - tbl_fadd_op # NORM + ZERO
11348 short fadd_zero_dst - tbl_fadd_op # ZERO + NORM
11349 short fadd_zero_2 - tbl_fadd_op # ZERO + ZERO
11350 short fadd_inf_src - tbl_fadd_op # ZERO + INF
11352 short fadd_zero_dst - tbl_fadd_op # ZERO + DENORM
11358 short fadd_inf_dst - tbl_fadd_op # INF + ZERO
11367 short fadd_res_qnan - tbl_fadd_op # QNAN + ZERO
11376 short fadd_zero_src - tbl_fadd_op # DENORM + ZERO
11385 short fadd_res_snan - tbl_fadd_op # SNAN + ZERO
11405 bmi.w fadd_zero_2_chk_rm # weed out (-ZERO)+(+ZERO)
11408 # and return the appropriately signed zero.
11411 fmov.s &0x00000000,%fp0 # return +ZERO
11417 # - therefore, we return +ZERO if the rounding modes are RN,RZ, or RP.
11418 # - -ZERO is returned in the case of RM.
11425 fmov.s &0x00000000,%fp0 # return +ZERO
11430 fmov.s &0x80000000,%fp0 # return -ZERO
11435 # one operand is a ZERO and the other is a DENORM or NORM. scale
11472 # operands are INF and one of {ZERO, INF, DENORM, NORM}
11482 # operands are INF and one of {ZERO, INF, DENORM, NORM}
11508 # scale_to_zero_src() - set src operand exponent equal to zero #
11509 # scale_to_zero_dst() - set dst operand exponent equal to zero #
11570 fbeq.w fsub_zero_exit # if result zero, end now
11602 # fmov.s &0x00000000,%fp0 # return zero in fp0
11755 # 0x8000000000000000 and this mantissa is the result of rounding non-zero
11793 short fsub_zero_src - tbl_fsub_op # NORM - ZERO
11801 short fsub_zero_dst - tbl_fsub_op # ZERO - NORM
11802 short fsub_zero_2 - tbl_fsub_op # ZERO - ZERO
11803 short fsub_inf_src - tbl_fsub_op # ZERO - INF
11805 short fsub_zero_dst - tbl_fsub_op # ZERO - DENORM
11811 short fsub_inf_dst - tbl_fsub_op # INF - ZERO
11820 short fsub_res_qnan - tbl_fsub_op # QNAN - ZERO
11829 short fsub_zero_src - tbl_fsub_op # DENORM - ZERO
11838 short fsub_res_snan - tbl_fsub_op # SNAN - ZERO
11860 # the signs are opposite, so, return a ZERO w/ the sign of the dst ZERO
11863 fmov.s &0x00000000,%fp0 # no; return +ZERO
11869 # - therefore, we return +ZERO if the rounding mode is RN,RZ, or RP
11870 # - -ZERO is returned in the case of RM.
11877 fmov.s &0x00000000,%fp0 # no; return +ZERO
11882 fmov.s &0x80000000,%fp0 # return -ZERO
11887 # one operand is a ZERO and the other is a DENORM or a NORM.
12243 cmpi.b %d1,&ZERO # weed out ZERO
12258 tst.b SRC_EX(%a0) # is ZERO positive or negative?
12261 fmov.s &0x00000000,%fp0 # return +ZERO
12265 fmov.s &0x80000000,%fp0 # return -ZERO
12291 # According to the index value in d1 which can range from zero #
12920 # If the packed operand is a ZERO,NAN, or INF, convert it to #
12946 # The packed operand is a zero if the mantissa is all zero, else it's
12951 bne.b gp_not_spec # not a zero
12952 tst.l FP_SRC_HI(%a6) # is lw 2 zero?
12953 bne.b gp_not_spec # not a zero
12954 tst.l FP_SRC_LO(%a6) # is lw 3 zero?
12955 bne.b gp_not_spec # not a zero
12956 rts # operand is a ZERO
12974 # Expected is a normal bcd (i.e. non-exceptional; all inf, zero, #
12993 # exponent equal to the exponent from A1 and the zero count #
12997 # SM = 0 a non-zero digit in the integer position #
12998 # SM = 1 a non-zero digit in Mant0, lsd of the fraction #
13075 clr.l %d1 # zero d1 for accumulator
13078 bfextu %d4{%d3:&4},%d0 # get the digit and zero extend into d0
13135 bfextu %d4{%d3:&4},%d0 # get the digit and zero extend
13170 # 3. Add one for each zero encountered until a non-zero digit.
13172 # 5. Check if the exp has crossed zero in #3 above; make the exp abs
13177 # 3. Add one for each zero encountered until a non-zero digit.
13179 # 5. Check if the exp has crossed zero in #3 above; clear SE.
13184 # exponent towards zero. Since all pwrten constants with a power
13192 # (*) d1: zero count
13213 clr.l %d1 # zero count reg
13216 bne.b ap_p_fx # if M16 is non-zero, go fix exp
13217 addq.l &1,%d1 # inc zero count
13220 bne.b ap_p_cl # if lw 2 is zero, skip it
13229 bne.b ap_p_fx # if non-zero, go to fix exp
13257 tst.l %d0 # check if d0 is zero
13268 bne.b ap_n_cl # if not zero, check digits
13277 bne.b ap_n_fx # if non-zero, go to exp fix
13305 tst.l %d0 # check if d0 is zero
13385 bcc.b e_next # if zero, skip the mul
13389 tst.l %d0 # check if d0 is zero
13390 bne.b e_loop # not zero, continue shifting
13618 bgt.b pos_exp # if greater than zero, it is a norm
13684 fmov.l &0,%fpsr # zero all of fpsr - nothing needed
13805 clr.w %d5 # set it zero initially
13832 bne.b not_rn # if zero, it is RN
13846 bcc.b e_next2 # if zero, skip the mul
13850 tst.l %d0 # test if ISCALE is zero
13868 # Check d2 for excess 10 exponential value. If not zero,
13934 mov.l &0x3fff0000,-(%sp) # force exp to zero
13942 mov.l &0x3fff0000,-(%sp) # force exp to zero
13945 mov.l &0x3fff0000,-(%sp)# force exp to zero
13955 beq.b A9_con # if zero, continue as normal
14097 bne not_zr # if non-zero, go to second test
14107 bcc.b l_next # if zero
14111 tst.l %d0 # test if LEN is zero
14158 bcc.b z_next # if zero, skip the mul
14162 tst.l %d0 # test if LEN is zero
14210 clr.l 4(%a0) # zero word 2 of FP_RES
14211 clr.l 8(%a0) # zero word 3 of FP_RES
14214 beq.b no_sft # if zero, don't shift
14224 tst.l %d2 # check for mantissa of zero
14226 tst.l %d3 # continue zero check
14227 beq.b zer_m # if zero, go directly to binstr
14229 clr.l %d1 # put zero in d1 for addx
14251 # is non-zero, OPERR is signaled. In all cases, all 4 digits are
14278 ftest.x %fp0 # test for zero
14279 fbeq.w den_zero # if zero, use k-factor or 4933
14293 ftest.x %fp0 # test for zero
14294 fbneq.w not_zero # if zero, force exponent
14306 beq.b x_loop_fin # if zero, skip the shift
14314 clr.l %d1 # put zero in d1 for addx
14327 tst.b %d0 # check if e4 is zero
14328 beq.b A16_st # if zero, skip rest
14459 # A6. Test d7. If zero, the digit formed is the ms digit. If non- #
14460 # zero, it is the ls digit. Put the digit in its place in the #
14464 # A7. Decrement d6 (LEN counter) and repeat the loop until zero. #
14525 tst.w %d7 # if zero, store digit & to loop
14526 beq.b first_d # if non-zero, form byte & write