⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 e_atan2f.s

📁 Glibc 2.3.2源代码(解压后有100多M)
💻 S
📖 第 1 页 / 共 2 页
字号:
     nop.i  999}{     .mfb      nop.m  999     fnma.s1   atan2f_G_numer =    atan2f_A0,atan2f_xy,f8(p11) br.cond.spnt ATAN2F_XY_INF_NAN_ZERO ;;  // Branch on y nan,inf,zero} {     .mfi      nop.m  999(p8) fma.s1    atan2f_const_1 =    atan2f_sgn_Y,f0,f0     nop.i  999} {     .mfi      nop.m  999(p9) fma.s1    atan2f_const_1 =    atan2f_sgn_Y,f1,f0     nop.i  999 ;;} {     .mfi      nop.m  999(p6) fnma.s1    atan2f_U       =    atan2f_Z,f1,f0     nop.i  999} {     .mfi      nop.m  999(p6) fma.s1    atan2f_Usq     =    atan2f_Z,atan2f_Z,f0     nop.i  999 ;;}  {     .mfi      nop.m  999(p7) fma.s1    atan2f_U       =    atan2f_A,f1,f0     nop.i  999} {     .mfi      nop.m  999(p7) fma.s1    atan2f_Usq     =    atan2f_A,atan2f_A,f0     nop.i  999 ;;}{     .mfi      nop.m  999(p6) frcpa.s1  atan2f_Q1,p0    =    f1,atan2f_T_denom     nop.i  999} {     .mfi      nop.m  999(p6) fma.s1    atan2f_R_denom =   atan2f_T_denom,f1,f0     nop.i  999 ;;} {     .mfi      nop.m  999(p7) frcpa.s1  atan2f_Q1,p0    =    f1,atan2f_G_denom     nop.i  999} {     .mfi      nop.m  999(p7) fma.s1    atan2f_R_denom =   atan2f_G_denom,f1,f0     nop.i  999 ;;} {     .mfi      nop.m  999(p6) fnma.s1    atan2f_R_numer =   atan2f_T_numer,f1,f0     nop.i  999} {     .mfi      nop.m  999(p7) fma.s1    atan2f_R_numer =   atan2f_G_numer,f1,f0     nop.i  999 ;;}  {     .mfi      nop.m  999(p6) fnma.s1    atan2f_p1rnum =   atan2f_T_numer,atan2f_coef_p1,f0     nop.i  999 ;;} {     .mfi      nop.m  999(p7) fma.s1    atan2f_p1rnum =   atan2f_G_numer,atan2f_coef_p1,f0     nop.i  999 ;;}  {     .mfi      nop.m  999     fma.s1    atan2f_U4 =    atan2f_Usq,atan2f_Usq,f0     nop.i  999}{     .mfi      nop.m  999     fma.s1    atan2f_poly_u109 = atan2f_Usq,atan2f_coef_p10,atan2f_coef_p9     nop.i  999 ;;}  {     .mfi      nop.m  999     fma.s1    atan2f_poly_u87 =    atan2f_Usq,atan2f_coef_p8,atan2f_coef_p7     nop.i  999} {     .mfi      nop.m  999     fma.s1    atan2f_poly_u65 =    atan2f_Usq,atan2f_coef_p6,atan2f_coef_p5     nop.i  999 ;;}  {     .mfi      nop.m  999     fma.s1    atan2f_poly_u43 =    atan2f_Usq,atan2f_coef_p4,atan2f_coef_p3     nop.i  999} {     .mfi      nop.m  999     fnma.s1   atan2f_Q_beta  =    atan2f_Q1,atan2f_R_denom,f1     nop.i  999 ;;}{     .mfi      nop.m  999     fma.s1    atan2f_poly_u21 =    atan2f_Usq,atan2f_coef_p2,atan2f_coef_p1     nop.i  999} {     .mfi      nop.m  999     fma.s1    atan2f_r  =    atan2f_Q1,atan2f_R_numer,f0     nop.i  999 ;;}{     .mfi      nop.m  999(p6) fma.s1    atan2f_C  =    atan2f_sgn_Y,atan2f_const_piby2,f0     nop.i  999} {     .mfi      nop.m  999(p7) fma.s1    atan2f_C  =    atan2f_const_1,atan2f_const_pi,f0     nop.i  999 ;;} {     .mfi      nop.m  999     fma.s1    atan2f_U6 =    atan2f_U4,atan2f_Usq,f0     nop.i  999}{     .mfi      nop.m  999     fma.s1    atan2f_U8 =    atan2f_U4,atan2f_U4,f0     nop.i  999 ;;}{     .mfi      nop.m  999     fma.s1    atan2f_poly_u10to7 = atan2f_U4,atan2f_poly_u109,atan2f_poly_u87     nop.i  999} {     .mfi      nop.m  999     fma.s1    atan2f_pR = atan2f_p1rnum,atan2f_Q1,f0     nop.i  999 ;;} {     .mfi      nop.m  999     fma.s1    atan2f_poly_u6to3 = atan2f_U4,atan2f_poly_u65,atan2f_poly_u43     nop.i  999} {     .mfi      nop.m  999     fma.s1    atan2f_Q2 =    atan2f_Q1,atan2f_Q_beta,atan2f_Q1     nop.i  999 ;;}{     .mfi      nop.m  999     fma.s1    atan2f_Q_beta2 =    atan2f_Q_beta,atan2f_Q_beta,f0     nop.i  999} {     .mfi      nop.m  999     fma.s1    atan2f_rsq     =    atan2f_r,atan2f_r,f0     nop.i  999 ;;}{     .mfi      nop.m  999     fma.s1    atan2f_poly_u210 = atan2f_Usq,atan2f_poly_u21,f1     nop.i  999 ;;}  {     .mfi     nop.m 999     fcmp.eq.s0 p8,p0 = f8,f9      // Dummy op to set flag on denormal inputs     nop.i 999}{     .mfi      nop.m  999     fma.s1 atan2f_poly_u10to3 = atan2f_U8,atan2f_poly_u10to7,atan2f_poly_u6to3     nop.i  999 ;;} {     .mfi      nop.m                 999     fma.s1    atan2f_Q3 =    atan2f_Q2,atan2f_Q_beta2,atan2f_Q2     nop.i                 999} {     .mfi      nop.m  999     fma.s1    atan2f_pRC = atan2f_rsq,atan2f_pR,atan2f_C     nop.i  999 ;;}  {     .mfi      nop.m  999     fma.s1 atan2f_poly_u10to0 = atan2f_U6,atan2f_poly_u10to3,atan2f_poly_u210     nop.i  999 ;;} {     .mfi      nop.m  999     fma.s1    atan2f_pQRC = atan2f_R_numer,atan2f_Q3,atan2f_pRC     nop.i  999 ;;} {     .mfb      nop.m  999     fma.s.s0    f8 = atan2f_U,atan2f_poly_u10to0,atan2f_pQRC     br.ret.sptk b0 ;;} ATAN2F_XY_INF_NAN_ZERO:{ .mfi      nop.m 999      fclass.m   p10,p0 = f8,0xc3	// Is y nan      nop.i 999};;{ .mfi      nop.m 999      fclass.m   p12,p0 = f9,0xc3	// Is x nan      nop.i 999};;{ .mfi      nop.m 999      fclass.m   p6,p0 = f9,0x21	// Is x +inf      nop.i 999}{ .mfb      nop.m 999(p10) fma.s f8  = f9,f8,f0          // Result quietized y if y is nan(p10) br.ret.spnt b0                // Exit if y is nan};;{ .mfi      nop.m 999(p6)  fclass.m.unc   p7,p8 = f8,0x23	// x +inf, is y inf      nop.i 999}{ .mfb      nop.m 999(p12) fnorm.s f8 = f9               // Result quietized x if x is nan, y not nan(p12) br.ret.spnt b0                // Exit if x is nan, y not nan};;// Here if x or y inf, or x or y zero{ .mfi      nop.m 999      fcmp.eq.s0 p15,p0 = f8,f9     // Dummy op to set flag on denormal inputs      nop.i 999};;{ .mfi      nop.m 999      fclass.m   p11,p12 = f9,0x22	// Is x -inf      nop.i 999}{ .mfb      nop.m 999(p7)  fma.s f8 = atan2f_sgn_Y, atan2f_const_piby4,f0 // Result +-pi/4(p7)  br.ret.spnt b0            // Exit if x +inf and y inf};;{ .mfb      nop.m 999(p8)  fmerge.s   f8 = f8,f0     // If x +inf and y not inf, result +-0(p8)  br.ret.spnt b0            // Exit if x +inf and y not inf};;{ .mfi      nop.m 999(p12) fclass.m.unc   p13,p0 = f8,0x23	// x not -inf, is y inf      nop.i 999};;{ .mfi      nop.m 999(p11) fclass.m.unc   p14,p15 = f8,0x23	// x -inf, is y inf      nop.i 999};;{ .mfi      nop.m 999      fclass.m  p6,p7 = f9,0x7	// Is x zero      nop.i 999}{ .mfb      nop.m 999(p13) fma.s   f8 = atan2f_sgn_Y, atan2f_const_piby2,f0 // Result +-pi/2(p13) br.ret.spnt b0           // Exit if x not -inf and y inf};;{ .mfi      nop.m 999(p14) fma.s   f8 = atan2f_sgn_Y, atan2f_const_3piby4,f0 // Result +-3pi/4      nop.i 999}{ .mfb      nop.m 999(p15) fma.s   f8 = atan2f_sgn_Y, atan2f_const_pi,f0 // Result +-pi(p11) br.ret.spnt b0           // Exit if x -inf};;// Here if x or y zero{ .mfi      nop.m 999(p7)  fclass.m.unc   p8,p9 = f9,0x19	// x not zero, y zero, is x > zero      nop.i 999};;{ .mfi      nop.m 999(p6)  fclass.m.unc   p10,p11 = f8,0x7	// x zero, is y zero      nop.i 999};;{ .mfi      nop.m 999(p8)  fmerge.s  f8 = f8, f0  // x > zero and y zero, result is +-zero      nop.i 999}{ .mfb      nop.m 999(p9)  fma.s  f8 = atan2f_sgn_Y, atan2f_const_pi,f0 // x < 0, y 0, result +-pi(p10) br.cond.spnt   __libm_error_region // Branch if x zero and y zero};;{ .mfb      nop.m 999(p11) fma.s  f8 = atan2f_sgn_Y, atan2f_const_piby2,f0 // x zero, y not zero      br.ret.sptk b0         // Final special case exit};;.endp atan2fASM_SIZE_DIRECTIVE(atan2f).proc __libm_error_region__libm_error_region:.prologue         mov            GR_Parameter_TAG      = 38         fclass.m       p10,p11               = f9,0x5	// @zero | @pos;;(p10)    fmerge.s       f10                   = f8, f0(p11)    fma.s          f10                   = atan2f_sgn_Y, atan2f_const_pi,f0;;{ .mfi        add   GR_Parameter_Y=-32,sp             // Parameter 2 value        nop.f 999.save   ar.pfs,GR_SAVE_PFS        mov  GR_SAVE_PFS=ar.pfs                 // Save ar.pfs}{ .mfi.fframe 64        add sp=-64,sp                           // Create new stack        nop.f 0        mov GR_SAVE_GP=gp                       // Save gp};;{ .mmi        stfs [GR_Parameter_Y] = f9,16         // Store Parameter 2 on stack        add GR_Parameter_X = 16,sp              // Parameter 1 address.save   b0, GR_SAVE_B0        mov GR_SAVE_B0=b0                       // Save b0};;.body{ .mib        stfs [GR_Parameter_X] = f8            // Store Parameter 1 on stack        add   GR_Parameter_RESULT = 0,GR_Parameter_Y        nop.b 0                                 // Parameter 3 address}{ .mib        stfs [GR_Parameter_Y] = f10       // Store Parameter 3 on stack        add   GR_Parameter_Y = -16,GR_Parameter_Y        br.call.sptk b0=__libm_error_support#   // Call error handling function};;{ .mmi        nop.m 0        nop.m 0        add   GR_Parameter_RESULT = 48,sp};;{ .mmi        ldfs  f8 = [GR_Parameter_RESULT]       // Get return result off stack.restore sp        add   sp = 64,sp                       // Restore stack pointer        mov   b0 = GR_SAVE_B0                  // Restore return address};;{ .mib        mov   gp = GR_SAVE_GP                  // Restore gp        mov   ar.pfs = GR_SAVE_PFS             // Restore ar.pfs        br.ret.sptk     b0                     // Return};;.endp __libm_error_regionASM_SIZE_DIRECTIVE(__libm_error_region).type   __libm_error_support#,@function.global __libm_error_support#

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -