Lines Matching refs:snan
440 set SNAN, 0x05 # operand type for STAG/DTAG
482 set snan_mask, 0x00004000 # snan exception mask
549 set SNAN_VEC, 0xd8 # snan vector offset
1123 # _real_snan() - "callout" for SNAN exception #
1136 # If SNAN exception (opclass 3): #
1137 # - The system stack is changed to an SNAN exception stk frame #
1321 # SNAN : all dyadic ops
1390 # restore exc state (SNAN||OPERR||OVFL||UNFL||DZ||INEX) into the FPU;
1550 # SNAN : none
1675 short tbl_fu_out - tbl_fu_out # SNAN can't happen
1683 # for snan,operr,ovfl,unfl, src op is still in FP_SRC so just
1866 # SNAN : all dyadic ops
1968 # restore exc state (SNAN||OPERR||OVFL||UNFL||DZ||INEX) into the FPU;
1987 # this is INCORRECT for enabled SNAN which would give to the user the skewed SNAN!!!
2107 # SNAN : yes
2177 # the only exception possible on packed move out are INEX, OPERR, and SNAN.
2618 # SNAN : all operations
3264 # _fpsp_snan(): 060FPSP entry point for FP SNAN exception. #
3272 # _real_snan() - "callout" to operating system SNAN handler #
3279 # - The system stack contains the FP SNAN exception frame #
3288 # In a system where the FP SNAN exception is enabled, the goal #
3295 # SNAN result out to memory or data register file as it should. #
3300 # which creates an access error stack frame from the current SNAN #
3357 # snan exceptions. we do this here before passing control to
3358 # the user snan handler.
3385 mov.b FP_SRC_HI(%a6),%d0 # load upper byte of SNAN
3386 bset &6,%d0 # set SNAN bit
3402 mov.w FP_SRC_HI(%a6),%d0 # load upper word of SNAN
3403 bset &14,%d0 # set SNAN bit
3419 mov.l FP_SRC_HI(%a6),%d0 # load upper longword of SNAN
3420 bset &30,%d0 # set SNAN bit
3438 mov.l FP_SRC_EX(%a6),%d0 # fetch SNAN sign
3440 ori.l &0x7fc00000,%d0 # insert new exponent,SNAN bit
3443 or.l %d1,%d0 # create sgl SNAN
3452 mov.l FP_SRC_EX(%a6),%d0 # fetch SNAN sign
3454 ori.l &0x7fc00000,%d0 # insert new exponent,SNAN bit
3458 or.l %d1,%d0 # create sgl SNAN
3465 mov.l FP_SRC_EX(%a6),%d0 # fetch SNAN sign
3467 ori.l &0x7ff80000,%d0 # insert new exponent,SNAN bit
3540 # the operation was "fmove.x SNAN,-(a7)" from supervisor mode.
4491 short tbl_trans - tbl_trans # $01-4 fint snan
4500 short src_snan - tbl_trans # $02-4 fsinh snan
4509 short tbl_trans - tbl_trans # $03-4 fintrz snan
4518 short tbl_trans - tbl_trans # $04-4 fsqrt snan
4536 short src_snan - tbl_trans # $06-4 flognp1 snan
4554 short src_snan - tbl_trans # $08-4 fetoxm1 snan
4563 short src_snan - tbl_trans # $09-4 ftanh snan
4572 short src_snan - tbl_trans # $0a-4 fatan snan
4590 short src_snan - tbl_trans # $0c-4 fasin snan
4599 short src_snan - tbl_trans # $0d-4 fatanh snan
4608 short src_snan - tbl_trans # $0e-4 fsin snan
4617 short src_snan - tbl_trans # $0f-4 ftan snan
4626 short src_snan - tbl_trans # $10-4 fetox snan
4635 short src_snan - tbl_trans # $11-4 ftwotox snan
4644 short src_snan - tbl_trans # $12-4 ftentox snan
4662 short src_snan - tbl_trans # $14-4 flogn snan
4671 short src_snan - tbl_trans # $15-4 flog10 snan
4680 short src_snan - tbl_trans # $16-4 flog2 snan
4698 short tbl_trans - tbl_trans # $18-4 fabs snan
4707 short src_snan - tbl_trans # $19-4 fcosh snan
4716 short tbl_trans - tbl_trans # $1a-4 fneg snan
4734 short src_snan - tbl_trans # $1c-4 facos snan
4743 short src_snan - tbl_trans # $1d-4 fcos snan
4752 short src_snan - tbl_trans # $1e-4 fgetexp snan
4761 short src_snan - tbl_trans # $1f-4 fgetman snan
4770 short tbl_trans - tbl_trans # $20-4 fdiv snan
4779 short sop_ssnan - tbl_trans # $21-4 fmod snan
4788 short tbl_trans - tbl_trans # $22-4 fadd snan
4797 short tbl_trans - tbl_trans # $23-4 fmul snan
4806 short tbl_trans - tbl_trans # $24-4 fsgldiv snan
4815 short sop_ssnan - tbl_trans # $25-4 frem snan
4824 short sop_ssnan - tbl_trans # $26-4 fscale snan
4833 short tbl_trans - tbl_trans # $27-4 fsglmul snan
4842 short tbl_trans - tbl_trans # $28-4 fsub snan
4914 short ssincossnan - tbl_trans # $30-4 fsincos snan
4923 short ssincossnan - tbl_trans # $31-4 fsincos snan
4932 short ssincossnan - tbl_trans # $32-4 fsincos snan
4941 short ssincossnan - tbl_trans # $33-4 fsincos snan
4950 short ssincossnan - tbl_trans # $34-4 fsincos snan
4959 short ssincossnan - tbl_trans # $35-4 fsincos snan
4968 short ssincossnan - tbl_trans # $36-4 fsincos snan
4977 short ssincossnan - tbl_trans # $37-4 fsincos snan
10687 # ssincossnan(): When the src operand is an SNAN, store the SNAN w/ the SNAN bit set
10688 # in the cosine register and branch to the src SNAN routine.
10762 cmpi.b %d1,&SNAN
10912 cmpi.b %d1,&SNAN
10926 cmpi.b %d1,&SNAN
10931 # sop_ssnan(): The src op for frem/fmod/fscale was an SNAN.
10938 cmpi.b %d1,&SNAN
10943 ori.l &snaniop_mask,USER_FPSR(%a6) # set NAN/SNAN/AIOP
10947 # dst_qnan(): Return the dst SNAN w/ the SNAN bit set.
10951 fmov.x DST(%a1),%fp0 # the fmove sets the SNAN bit
10972 # src_snan(): Return the src SNAN w/ the SNAN bit set.
10976 fmov.x SRC(%a0),%fp0 # the fmove sets the SNAN bit
11542 # res_snan() - return SNAN result #
11918 short fmul_res_snan - tbl_fmul_op # NORM x SNAN
11927 short fmul_res_snan - tbl_fmul_op # ZERO x SNAN
11936 short fmul_res_snan - tbl_fmul_op # INF x SNAN
11945 short fmul_res_snan - tbl_fmul_op # QNAN x SNAN
11954 short fmul_res_snan - tbl_fmul_op # NORM x SNAN
11958 short fmul_res_snan - tbl_fmul_op # SNAN x NORM
11959 short fmul_res_snan - tbl_fmul_op # SNAN x ZERO
11960 short fmul_res_snan - tbl_fmul_op # SNAN x INF
11961 short fmul_res_snan - tbl_fmul_op # SNAN x QNAN
11962 short fmul_res_snan - tbl_fmul_op # SNAN x DENORM
11963 short fmul_res_snan - tbl_fmul_op # SNAN x SNAN
12038 # res_snan_1op() - return SNAN result #
12331 cmpi.b %d1,&SNAN # weed out SNANs
12359 # res_snan() - return SNAN result #
12686 short fdiv_res_snan - tbl_fdiv_op # NORM / SNAN
12695 short fdiv_res_snan - tbl_fdiv_op # ZERO / SNAN
12704 short fdiv_res_snan - tbl_fdiv_op # INF / SNAN
12713 short fdiv_res_snan - tbl_fdiv_op # QNAN / SNAN
12722 short fdiv_res_snan - tbl_fdiv_op # DENORM / SNAN
12726 short fdiv_res_snan - tbl_fdiv_op # SNAN / NORM
12727 short fdiv_res_snan - tbl_fdiv_op # SNAN / ZERO
12728 short fdiv_res_snan - tbl_fdiv_op # SNAN / INF
12729 short fdiv_res_snan - tbl_fdiv_op # SNAN / QNAN
12730 short fdiv_res_snan - tbl_fdiv_op # SNAN / DENORM
12731 short fdiv_res_snan - tbl_fdiv_op # SNAN / SNAN
12813 # res_snan_1op() - return SNAN result #
13111 cmpi.b %d1,&SNAN # weed out SNAN
13170 cmpi.b %d1,&SNAN # weed out SNAN
13270 cmpi.b %d1,&SNAN # weed out SNAN
13372 cmpi.b %d1,&SNAN # weed out SNAN
13726 cmpi.b %d1,&SNAN # weed out SNAN
13748 # res_snan() - return SNAN result #
13801 short fcmp_res_snan - tbl_fcmp_op # NORM - SNAN
13810 short fcmp_res_snan - tbl_fcmp_op # ZERO - SNAN
13819 short fcmp_res_snan - tbl_fcmp_op # INF - SNAN
13828 short fcmp_res_snan - tbl_fcmp_op # QNAN - SNAN
13837 short fcmp_res_snan - tbl_fcmp_op # DENORM - SNAN
13841 short fcmp_res_snan - tbl_fcmp_op # SNAN - NORM
13842 short fcmp_res_snan - tbl_fcmp_op # SNAN - ZERO
13843 short fcmp_res_snan - tbl_fcmp_op # SNAN - INF
13844 short fcmp_res_snan - tbl_fcmp_op # SNAN - QNAN
13845 short fcmp_res_snan - tbl_fcmp_op # SNAN - DENORM
13846 short fcmp_res_snan - tbl_fcmp_op # SNAN - SNAN
13850 # unlike all other functions for QNAN and SNAN, fcmp does NOT set the
13851 # 'N' bit for a negative QNAN or SNAN input so we must squelch it here.
13944 # res_snan() - return SNAN result #
14213 short fsglmul_res_snan - tbl_fsglmul_op # NORM x SNAN
14222 short fsglmul_res_snan - tbl_fsglmul_op # ZERO x SNAN
14231 short fsglmul_res_snan - tbl_fsglmul_op # INF x SNAN
14240 short fsglmul_res_snan - tbl_fsglmul_op # QNAN x SNAN
14249 short fsglmul_res_snan - tbl_fsglmul_op # NORM x SNAN
14253 short fsglmul_res_snan - tbl_fsglmul_op # SNAN x NORM
14254 short fsglmul_res_snan - tbl_fsglmul_op # SNAN x ZERO
14255 short fsglmul_res_snan - tbl_fsglmul_op # SNAN x INF
14256 short fsglmul_res_snan - tbl_fsglmul_op # SNAN x QNAN
14257 short fsglmul_res_snan - tbl_fsglmul_op # SNAN x DENORM
14258 short fsglmul_res_snan - tbl_fsglmul_op # SNAN x SNAN
14285 # res_snan() - return SNAN result #
14548 short fsgldiv_res_snan - tbl_fsgldiv_op # NORM / SNAN
14557 short fsgldiv_res_snan - tbl_fsgldiv_op # ZERO / SNAN
14566 short fsgldiv_res_snan - tbl_fsgldiv_op # INF / SNAN
14575 short fsgldiv_res_snan - tbl_fsgldiv_op # QNAN / SNAN
14584 short fsgldiv_res_snan - tbl_fsgldiv_op # DENORM / SNAN
14588 short fsgldiv_res_snan - tbl_fsgldiv_op # SNAN / NORM
14589 short fsgldiv_res_snan - tbl_fsgldiv_op # SNAN / ZERO
14590 short fsgldiv_res_snan - tbl_fsgldiv_op # SNAN / INF
14591 short fsgldiv_res_snan - tbl_fsgldiv_op # SNAN / QNAN
14592 short fsgldiv_res_snan - tbl_fsgldiv_op # SNAN / DENORM
14593 short fsgldiv_res_snan - tbl_fsgldiv_op # SNAN / SNAN
14621 # res_snan() - set SNAN result #
14912 short fadd_res_snan - tbl_fadd_op # NORM + SNAN
14921 short fadd_res_snan - tbl_fadd_op # NORM + SNAN
14930 short fadd_res_snan - tbl_fadd_op # NORM + SNAN
14939 short fadd_res_snan - tbl_fadd_op # QNAN + SNAN
14948 short fadd_res_snan - tbl_fadd_op # NORM + SNAN
14952 short fadd_res_snan - tbl_fadd_op # SNAN + NORM
14953 short fadd_res_snan - tbl_fadd_op # SNAN + ZERO
14954 short fadd_res_snan - tbl_fadd_op # SNAN + INF
14955 short fadd_res_snan - tbl_fadd_op # SNAN + QNAN
14956 short fadd_res_snan - tbl_fadd_op # SNAN + DENORM
14957 short fadd_res_snan - tbl_fadd_op # SNAN + SNAN
15074 # res_snan() - set SNAN result #
15365 short fsub_res_snan - tbl_fsub_op # NORM - SNAN
15374 short fsub_res_snan - tbl_fsub_op # NORM - SNAN
15383 short fsub_res_snan - tbl_fsub_op # NORM - SNAN
15392 short fsub_res_snan - tbl_fsub_op # QNAN - SNAN
15401 short fsub_res_snan - tbl_fsub_op # NORM - SNAN
15405 short fsub_res_snan - tbl_fsub_op # SNAN - NORM
15406 short fsub_res_snan - tbl_fsub_op # SNAN - ZERO
15407 short fsub_res_snan - tbl_fsub_op # SNAN - INF
15408 short fsub_res_snan - tbl_fsub_op # SNAN - QNAN
15409 short fsub_res_snan - tbl_fsub_op # SNAN - DENORM
15410 short fsub_res_snan - tbl_fsub_op # SNAN - SNAN
15520 # res_snan_1op() - return SNAN result #
15815 cmpi.b %d1,&SNAN # weed out SNAN
16151 # res_snan(): return default result w/ SNAN operand for dyadic #
16153 # res_snan_1op(): return dflt result w/ SNAN operand for monadic #
16170 # If either operand to an operation is a signalling NAN (SNAN), #
16171 # then, the SNAN bit is set in the FPSR EXC byte. If the SNAN trap #
16173 # destination is not modified. If the SNAN trap enable bit is not set, #
16174 # then the SNAN is converted to a nonsignalling NAN (by setting the #
16175 # SNAN bit in the operand to one), and the operation continues as #
16185 cmp.b DTAG(%a6), &SNAN # is the dst an SNAN?
16195 bset &0x6, FP_SRC_HI(%a6) # set SNAN bit
16207 bset &0x6, FP_DST_HI(%a6) # set SNAN bit
16212 cmp.b STAG(%a6), &SNAN
19769 # SGL: can be either NORM, DENORM, ZERO, INF, QNAN or SNAN but not UNNORM
19782 cmpi.b %d0, &SNAN # is it an SNAN?
19801 # if (s || d || x) then check for SNAN,UNNORM,DENORM #
19959 cmpi.b %d0, &SNAN # is it a sgl SNAN?
19998 # convert sgl to ext SNAN
19999 # %a0 : points to sgl SNAN
20001 mov.w &0x7fff, FP_SRC_EX(%a6) # set exp of SNAN
20007 btst &0x7, (%a0) # see if sign of SNAN is set
20042 cmpi.b %d0, &SNAN # is it a dbl SNAN?
20084 # convert dbl to ext SNAN
20085 # %a0 : points to dbl SNAN
20087 mov.w &0x7fff, FP_SRC_EX(%a6) # set exp of SNAN
20096 btst &0x7, (%a0) # see if sign of SNAN is set
21051 cmpi.b %d0,&SNAN # is it an SNAN?
21056 ori.w &snaniop2_mask,FPSR_EXCEPT(%a6) # set SNAN/AIOP
21057 bset &0x6,FP_SRC_HI(%a6) # set snan bit
21629 # value in d0. The FP number can be DENORM or SNAN so we have to be #
22484 # one of: NORM, INF, QNAN, SNAN, DENORM, UNNORM, ZERO #
22549 mov.b &SNAN, %d0
22564 # one of: NORM, INF, QNAN, SNAN, DENORM, ZERO #
22609 mov.b &SNAN, %d0
22627 # one of: NORM, INF, QNAN, SNAN, DENORM, ZERO #
22668 mov.b &SNAN, %d0