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

📄 e_acosf.s

📁 Glibc 2.3.2源代码(解压后有100多M)
💻 S
📖 第 1 页 / 共 2 页
字号:
 {     .mfi      nop.m                 999     fcmp.gt.s1 p9,p0 = acosf_abs_x,f1     nop.i                 999;;}  {     .mfi      nop.m                 999     fma.s1    acosf_x8  =    acosf_x4,acosf_x4,f0     nop.i                 999} {     .mfb      nop.m                      999     fma.s1    acosf_t4  =    acosf_t2,acosf_t2,f0(p6) br.cond.spnt  L(ACOSF_ABS_ONE) ;;     // Branch if |x|=1} {     .mfi      nop.m                 999     fma.s1    acosf_x5  =    acosf_x2,acosf_x3,f0     nop.i                 999}{     .mfb (p9) mov            GR_Parameter_TAG = 59     fma.s1    acosf_yby2     =    acosf_t,acosf_1by2,f0(p9) br.cond.spnt  __libm_error_region ;;    // Branch if |x|>1}{     .mfi      nop.m                 999     fma.s1    acosf_Az  =    acosf_t,acosf_B,f0     nop.i                 999} {     .mfi      nop.m                 999     fma.s1    acosf_B2  =    acosf_B,acosf_B,f0     nop.i                 999;;} {     .mfi      nop.m                      999     fma.s1    acosf_poly_p1  =    f8,acosf_coeff_P1,f0     nop.i                      999} {     .mfi      nop.m                      999     fma.s1    acosf_2poly_p1 =    acosf_coeff_P1,acosf_t,f1     nop.i                      999;;}{     .mfi      nop.m                      999     fma.s1    acosf_poly_p3  =    acosf_coeff_P4,acosf_x2,acosf_coeff_P3     nop.i                      999} {     .mfi      nop.m                      999     fma.s1    acosf_2poly_p6 =    acosf_coeff_P7,acosf_t,acosf_coeff_P6     nop.i                      999;;} {     .mfi      nop.m                      999     fma.s1    acosf_poly_p7  =    acosf_x2,acosf_coeff_P8,acosf_coeff_P7     nop.i                      999} {     .mfi      nop.m                      999     fma.s1    acosf_2poly_p2 =    acosf_coeff_P3,acosf_t,acosf_coeff_P2     nop.i                      999;;} {     .mfi      nop.m                      999     fma.s1    acosf_poly_p5  =    acosf_x2,acosf_coeff_P6,acosf_coeff_P5     nop.i                      999} {     .mfi      nop.m                      999     fma.s1    acosf_2poly_p4 =    acosf_coeff_P5,acosf_t,acosf_coeff_P4     nop.i                      999;;} {     .mfi      nop.m                 999     fma.s1    acosf_x11 =    acosf_x8,acosf_x3,f0     nop.i                 999} {     .mfi      nop.m                 999     fnma.s1   acosf_dz  =    acosf_B2,acosf_yby2,acosf_1by2     nop.i                 999;;} {     .mfi      nop.m                      999     fma.s1    acosf_poly_p1a =    acosf_x2,acosf_poly_p1,f8     nop.i                      999}{     .mfi      nop.m                      999     fma.s1    acosf_2poly_p8 =    acosf_coeff_P9,acosf_t,acosf_coeff_P8     nop.i                      999;;} // Get the absolute value of x and determine the region in which x lies{     .mfi      nop.m                      999     fcmp.le.s1     p7,p8 = acosf_abs_x,acosf_const_sqrt2by2     nop.i                      999} {     .mfi      nop.m                      999     fma.s1    acosf_poly_p2  =    acosf_x2,acosf_poly_p3,acosf_coeff_P2     nop.i                      999;;} {     .mfi      nop.m                      999     fma.s1    acosf_poly_p7a =    acosf_x4,acosf_coeff_P9,acosf_poly_p7     nop.i                      999} {     .mfi      nop.m                      999     fma.s1    acosf_2poly_p2a =    acosf_2poly_p2,acosf_t2,acosf_2poly_p1     nop.i                      999;;} {     .mfi      nop.m                                                         999(p8) fma.s1    acosf_sgnx_t4  =    acosf_sgn_x,acosf_t4,f0     nop.i                                                         999} {     .mfi      nop.m                      999(p8) fma.s1    acosf_2poly_p4a =    acosf_2poly_p6,acosf_t2,acosf_2poly_p4     nop.i                      999;;} {     .mfi      nop.m                 999(p8) fma.s1    acosf_Sz  =    acosf_5by2,acosf_dz,acosf_3by2     nop.i                 999} {     .mfi      nop.m                 999(p8) fma.s1    acosf_d2z =    acosf_dz,acosf_dz,f0     nop.i                 999;;} {     .mfi      nop.m                           999(p8) fnma.d.s1   acosf_sgn_x_piby2 =    acosf_sgn_x,acosf_const_piby2,acosf_const_piby2     nop.i                           999} {     .mfi      nop.m                      999(p7) fma.s1    acosf_poly_Ax  =    acosf_x5,acosf_poly_p2,acosf_poly_p1a     nop.i                 999;;}  {     .mfi      nop.m                      999(p7) fma.s1    acosf_poly_Bx  =    acosf_x4,acosf_poly_p7a,acosf_poly_p5     nop.i                      999} {     .mfi      nop.m                           999(p8) fma.s1    acosf_sgnx_2poly_p2 =    acosf_sgn_x,acosf_2poly_p2a,f0     nop.i                           999;;}  {     .mfi      nop.m                      999     fcmp.eq.s0 p6,p0 = f8,f0      // Only purpose is to set D if x denormal     nop.i                      999}{     .mfi      nop.m                      999(p8) fma.s1    acosf_2poly_p4b =    acosf_2poly_p8,acosf_t4,acosf_2poly_p4a     nop.i                      999;;} {     .mfi      nop.m                      999(p8) fma.s1    acosf_Fz  =    acosf_d2z,acosf_Sz,acosf_dz     nop.i                 999;;}  {     .mfi      nop.m                 999(p8) fma.d.s1  acosf_Pt  =    acosf_2poly_p4b,acosf_sgnx_t4,acosf_sgnx_2poly_p2     nop.i                 999;;}  {     .mfi      nop.m                 999(p8) fma.d.s1  acosf_z   =    acosf_Az,acosf_Fz,acosf_Az     nop.i                 999 ;;}  {     .mfi      nop.m                      999(p7) fma.d.s1  acosf_sinf1    =    acosf_x11,acosf_poly_Bx,acosf_poly_Ax     nop.i                      999;;}  .pred.rel "mutex",p8,p7    //acosf_pred_GTsqrt2by2,acosf_pred_LEsqrt2by2{     .mfi       nop.m            999(p8)  fma.s     f8   =    acosf_z,acosf_Pt,acosf_sgn_x_piby2      nop.i            999}  {     .mfb       nop.m            999(p7)  fms.s     f8   =    acosf_const_piby2,f1,acosf_sinf1      br.ret.sptk b0 ;;} L(ACOSF_ZERO):// Here if x=0{     .mfb       nop.m                 999      fma.s    f8 =    acosf_const_piby2,f1,f0  // acosf(0)=pi/2      br.ret.sptk b0 ;;} L(ACOSF_ABS_ONE):.pred.rel "mutex",p11,p12// Here if |x|=1{     .mfi       nop.m                 999(p11) fma.s    f8 =    acosf_const_piby2,f1,acosf_const_piby2 // acosf(-1)=pi      nop.i                 999} {     .mfb       nop.m                 999(p12) fma.s    f8 =    f1,f0,f0 // acosf(1)=0      br.ret.sptk b0 ;;} .endp acosfASM_SIZE_DIRECTIVE(acosf)// Stack operations when calling error support.//       (1)               (2)//   sp   -> +          psp -> +//           |                 |//           |                 | <- GR_Y//           |                 |//           | <-GR_Y      Y2->|//           |                 |//           |                 | <- GR_X//           |                 |//  sp-64 -> +          sp ->  +//    save ar.pfs          save b0//    save gp// Stack operations when calling error support.//     (3) (call)              (4)//  psp -> +                   sp -> +//         |                         |//    R3 ->| <- GR_RESULT            | -> f8//         |                         |//    Y2 ->| <- GR_Y                 |//         |                         |//    X1 ->|                         |//         |                         |//  sp ->  +                         +//                              restore gp//                              restore ar.pfs.proc __libm_error_region__libm_error_region:.prologue{ .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] = f1,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{ .mfi        nop.m 0        frcpa.s0 f9,p0 = f0,f0        nop.i 0};;{ .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] = f9           // 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 + -