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

📄 e_asinf.s

📁 glibc 2.9,最新版的C语言库函数
💻 S
📖 第 1 页 / 共 2 页
字号:
(p8) fma.s.s0 f8                = f8,f1,f0(p8) br.ret.spnt   b0 ;;  // Exit if x=nan} {     .mfb      nop.m                 999     fcmp.eq.s1 p6,p0 = asinf_abs_x,f1(p10) br.ret.spnt  b0 ;;     // Exit if x=0}  {     .mfi      nop.m                 999     fcmp.gt.s1 p9,p0 = asinf_abs_x,f1     nop.i                 999;;}  {     .mfi      nop.m                 999     fma.s1    asinf_x8  =    asinf_x4,asinf_x4,f0     nop.i                 999} {     .mfb      nop.m                      999     fma.s1    asinf_t4  =    asinf_t2,asinf_t2,f0(p6) br.cond.spnt  ASINF_ABS_ONE ;;     // Branch if |x|=1} {     .mfi      nop.m                 999     fma.s1    asinf_x5  =    asinf_x2,asinf_x3,f0     nop.i                 999}{     .mfb (p9) mov            GR_Parameter_TAG = 62     fma.s1    asinf_yby2     =    asinf_t,asinf_1by2,f0(p9) br.cond.spnt  __libm_error_region ;;    // Branch if |x|>1}{     .mfi      nop.m                 999     fma.s1    asinf_Az  =    asinf_t,asinf_B,f0     nop.i                 999} {     .mfi      nop.m                 999     fma.s1    asinf_B2  =    asinf_B,asinf_B,f0     nop.i                 999;;} {     .mfi      nop.m                      999     fma.s1    asinf_poly_p1  =    f8,asinf_coeff_P1,f0     nop.i                      999} {     .mfi      nop.m                      999     fma.s1    asinf_2poly_p1 =    asinf_coeff_P1,asinf_t,f1     nop.i                      999;;}{     .mfi      nop.m                      999     fma.s1    asinf_poly_p3  =    asinf_coeff_P4,asinf_x2,asinf_coeff_P3     nop.i                      999} {     .mfi      nop.m                      999     fma.s1    asinf_2poly_p6 =    asinf_coeff_P7,asinf_t,asinf_coeff_P6     nop.i                      999;;} {     .mfi      nop.m                      999     fma.s1    asinf_poly_p7  =    asinf_x2,asinf_coeff_P8,asinf_coeff_P7     nop.i                      999} {     .mfi      nop.m                      999     fma.s1    asinf_2poly_p2 =    asinf_coeff_P3,asinf_t,asinf_coeff_P2     nop.i                      999;;} {     .mfi      nop.m                      999     fma.s1    asinf_poly_p5  =    asinf_x2,asinf_coeff_P6,asinf_coeff_P5     nop.i                      999} {     .mfi      nop.m                      999     fma.s1    asinf_2poly_p4 =    asinf_coeff_P5,asinf_t,asinf_coeff_P4     nop.i                      999;;} {     .mfi      nop.m                 999     fma.d.s1    asinf_x11 =    asinf_x8,asinf_x3,f0     nop.i                 999} {     .mfi      nop.m                 999     fnma.s1   asinf_dz  =    asinf_B2,asinf_yby2,asinf_1by2     nop.i                 999;;} {     .mfi      nop.m                      999     fma.s1    asinf_poly_p1a =    asinf_x2,asinf_poly_p1,f8     nop.i                      999}{     .mfi      nop.m                      999     fma.s1    asinf_2poly_p8 =    asinf_coeff_P9,asinf_t,asinf_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 = asinf_abs_x,asinf_const_sqrt2by2     nop.i                      999} {     .mfi      nop.m                      999     fma.s1    asinf_poly_p2  =    asinf_x2,asinf_poly_p3,asinf_coeff_P2     nop.i                      999;;} {     .mfi      nop.m                      999     fma.s1    asinf_poly_p7a =    asinf_x4,asinf_coeff_P9,asinf_poly_p7     nop.i                      999} {     .mfi      nop.m                      999     fma.s1    asinf_2poly_p2a =    asinf_2poly_p2,asinf_t2,asinf_2poly_p1     nop.i                      999;;} {     .mfi      nop.m                                                         999(p8) fma.s1    asinf_sgnx_t4  =    asinf_sgn_x,asinf_t4,f0     nop.i                                                         999} {     .mfi      nop.m                      999(p8) fma.s1    asinf_2poly_p4a =    asinf_2poly_p6,asinf_t2,asinf_2poly_p4     nop.i                      999;;} {     .mfi      nop.m                 999(p8) fma.s1    asinf_Sz  =    asinf_5by2,asinf_dz,asinf_3by2     nop.i                 999} {     .mfi      nop.m                 999(p8) fma.s1    asinf_d2z =    asinf_dz,asinf_dz,f0     nop.i                 999;;} {     .mfi      nop.m                           999(p8) fma.s1   asinf_sgn_x_piby2 =    asinf_sgn_x,asinf_const_piby2,f0     nop.i                           999} {     .mfi      nop.m                      999(p7) fma.d.s1    asinf_poly_Ax  =    asinf_x5,asinf_poly_p2,asinf_poly_p1a     nop.i                 999;;}  {     .mfi      nop.m                      999(p7) fma.d.s1    asinf_poly_Bx  =    asinf_x4,asinf_poly_p7a,asinf_poly_p5     nop.i                      999} {     .mfi      nop.m                           999(p8) fma.s1    asinf_sgnx_2poly_p2 =    asinf_sgn_x,asinf_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    asinf_2poly_p4b =    asinf_2poly_p8,asinf_t4,asinf_2poly_p4a     nop.i                      999;;} {     .mfi      nop.m                      999(p8) fma.s1    asinf_Fz  =    asinf_d2z,asinf_Sz,asinf_dz     nop.i                      999;;}  {     .mfi      nop.m                 999(p8) fma.d.s1  asinf_Pt  =    asinf_2poly_p4b,asinf_sgnx_t4,asinf_sgnx_2poly_p2     nop.i                 999;;}  {     .mfi      nop.m                 999(p8) fma.d.s1  asinf_z   =    asinf_Az,asinf_Fz,asinf_Az     nop.i                 999;;}  .pred.rel "mutex",p8,p7    //asinf_pred_GTsqrt2by2,asinf_pred_LEsqrt2by2{     .mfi                          nop.m            999(p8)  fnma.s.s0     f8   =    asinf_z,asinf_Pt,asinf_sgn_x_piby2                         nop.i            999}  {     .mfb                          nop.m            999(p7)  fma.s.s0    f8    =    asinf_x11,asinf_poly_Bx,asinf_poly_Ax                         br.ret.sptk b0 ;;} ASINF_ABS_ONE:// Here for short exit if |x|=1{     .mfb      nop.m                      999     fma.s.s0    f8 =    asinf_sgn_x,asinf_const_piby2,f0     br.ret.sptk b0} ;;GLOBAL_LIBM_END(asinf)// 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.pfsLOCAL_LIBM_ENTRY(__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};;LOCAL_LIBM_END(__libm_error_region).type   __libm_error_support#,@function.global __libm_error_support#

⌨️ 快捷键说明

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