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

📄 s_erfc.s

📁 glibc 2.9,最新版的C语言库函数
💻 S
📖 第 1 页 / 共 4 页
字号:
{ .mfi      add         GR_P_A12 = GR_ERFC_P_TB, GR_ShftA12        // pointer to A12      fnma.s1     exp_r   = EXP_Nfloat, exp_ln2_by_128_hi, EXP_NORM_f8      nop.i       0};;{ .mfi      ldfe        FR_A12 = [GR_P_A12], -64        nop.f       0      and         exp_GR_index_2_16 = 0x70, exp_GR_N }{ .mfi      ldfe        FR_A13 = [GR_P_A13], -64       nop.f       0      shladd      EXP_AD_T1 = exp_GR_index_1, 4, EXP_AD_TB1 };;            { .mmi                    ldfe        FR_A8 = [GR_P_A12], 32      ldfe        FR_A9 = [GR_P_A13], 32        add         EXP_AD_T2 = EXP_AD_TB2, exp_GR_index_2_16};;{ .mmi      ldfe        FR_A10 = [GR_P_A12], -96      ldfe        FR_A11 = [GR_P_A13], -96      nop.i       0      };;{ .mmi      ldfe        FR_A4 = [GR_P_A12], 32      ldfe        FR_A5 = [GR_P_A13], 32       shr         r2 = exp_GR_N,  0x7};;{ .mfi             ldfe        FR_A6 = [GR_P_A12], -64        fma.s1      exp_rP4pP3 = exp_r, exp_P4, exp_P3      nop.i       0}{ .mfi            ldfe        FR_A7 = [GR_P_A13], -64       fma.s1      exp_rsq = exp_r, exp_r, f0      nop.i       0};;{ .mmi      ldfe        FR_A2 = [GR_P_A12], -32      ldfe        FR_A3 = [GR_P_A13], -32        addl        exp_GR_biased_M = 0xffff, r2};;{ .mmi            ldfe        FR_A0 = [GR_P_A12], 224      ldfe        FR_A1 = [GR_P_A13]      nop.i       0};;{ .mfi      ldfe        FR_A14 = [GR_P_A12]      fms.s1      FR_LocArg = FR_AbsArg, f1, FR_Xb          // xloc = x - x[i]      nop.i       0};;{ .mmi      setf.exp    EXP_2M = exp_GR_biased_M      ldfe        exp_T1  = [EXP_AD_T1]      nop.i       0};;{ .mfi      ldfe        exp_T2  = [EXP_AD_T2]      fma.s1      exp_P_hi  = exp_rsq, exp_P1, exp_r      nop.i       0};;{ .mfi      nop.m       0                        fma.s1      exp_rcube = exp_r, exp_rsq, f0      nop.i       0}    { .mfi                nop.m       0             fma.s1      exp_P_lo  = exp_r, exp_rP4pP3, exp_P2      nop.i       0};;{ .mfi      nop.m       0      fnma.s1     exp_f   = EXP_Nfloat, exp_ln2_by_128_lo, f8_sq_lo      nop.i       0  };;            { .mfi      nop.m       0      fma.s1      FR_P14_0_1 = FR_LocArg, FR_LocArg, f0            // xloc ^2      nop.i       0 }{ .mfi      nop.m       0       fma.s1      FR_P14_0_2 = FR_A13, FR_LocArg, FR_A12      nop.i       0 };;{ .mfi      nop.m       0      fma.s1      FR_P14_1_1 = FR_A9, FR_LocArg, FR_A8       nop.i       0}{ .mfi      nop.m       0      fma.s1      FR_P14_1_2 = FR_A11, FR_LocArg, FR_A10       nop.i       0};;{ .mfi      nop.m       0      fma.s1      FR_P14_2_1 = FR_A5, FR_LocArg, FR_A4      nop.i       0                   }{ .mfi      nop.m       0      fma.s1      FR_P14_2_2 = FR_A7, FR_LocArg, FR_A6      nop.i       0};;                       { .mfi      nop.m       0      fma.s1      FR_P14_3_1 = FR_A1, FR_LocArg, FR_A0      nop.i       0}{ .mfi      nop.m       0      fma.s1      FR_P14_3_2 = FR_A3, FR_LocArg, FR_A2      nop.i       0};;{ .mfi      nop.m       0      fma.s1      FR_P14_6_1 = FR_P14_0_1, FR_A14, FR_P14_0_2      nop.i       0}{ .mfi      nop.m       0      fma.s1      FR_P14_7_2 = FR_P14_0_1, FR_P14_0_1, f0      nop.i       0};;{ .mfi      nop.m       0      fma.s1      FR_P14_7_1 = FR_P14_0_1, FR_P14_1_2, FR_P14_1_1      nop.i       0}{ .mfi      nop.m       0      fma.s1      exp_S2  = exp_f, exp_T2, f0      nop.i       0};;{ .mfi      nop.m       0              fma.s1      exp_S1  = EXP_2M, exp_T1, f0      nop.i       0};;{ .mfi      nop.m       0      fma.s1      FR_P14_8_1 = FR_P14_0_1, FR_P14_3_2, FR_P14_3_1      nop.i       0}{ .mfi      nop.m       0      fma.s1      FR_P14_8_2 = FR_P14_0_1, FR_P14_2_2, FR_P14_2_1      nop.i       0};;{ .mfi      nop.m       0      fma.s1      FR_P14_12_1 = FR_P14_7_2, FR_P14_6_1, FR_P14_7_1      nop.i       0};;{ .mfi      nop.m       0        fma.s1      exp_S   = exp_S1, exp_S2, f0           nop.i       0                    }{ .mfi      nop.m       0      fma.s1      exp_P     = exp_rcube, exp_P_lo, exp_P_hi      nop.i       0};;{ .mfi      nop.m       0      fma.s1      FR_P14_13_1 = FR_P14_7_2, FR_P14_8_2, FR_P14_8_1      nop.i       0}{ .mfi      nop.m       0      fma.s1      FR_P14_13_2 = FR_P14_7_2, FR_P14_7_2, f0           // xloc^8      nop.i       0};;{ .mfi      nop.m       0      fma.s1      FR_Exp = exp_S, exp_P, exp_S                    // exp(-x^2)      nop.i       0          }{ .mfi      nop.m       0      fma.s1      FR_Pol = FR_P14_13_2, FR_P14_12_1, FR_P14_13_1       nop.i       0};;{ .mfi      nop.m       0      fma.d.s0    FR_Tmpf = f8, f1, f0                             //  flag  d      nop.i       0 };;//p6: result for     0 < x < = 28.0,//p7: result for    -6.0  <= x < 0,//p8: exit   for   - 6.0  <=   x < UnfBound ~=~ 26.54..                             .pred.rel "mutex",p6,p7{ .mfi      nop.m       0(p6)  fma.d.s0    f8 = FR_Exp, FR_Pol, f0        nop.i       0         }{ .mfb      mov         GR_Parameter_TAG = 208(p7)  fnma.d.s0   f8 = FR_Exp, FR_Pol, FR_2         (p8)  br.ret.sptk b0                     };;GLOBAL_LIBM_END(erfc)// call via (p15) br.cond.spnt   __libm_error_region//          for  x > ARG_ASYMP = 28.0// or//// after .endp erfc for UnfBound < = x < = ARG_ASYMP = 28.0LOCAL_LIBM_ENTRY(__libm_error_region).prologue{ .mfi        add   GR_Parameter_Y=-32,sp                       // Parameter 2 value        nop.f 0.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        stfd [GR_Parameter_Y] = FR_Y,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        stfd [GR_Parameter_X] = FR_X             // STORE Parameter 1 on stack        add   GR_Parameter_RESULT = 0,GR_Parameter_Y    // Parameter 3 address        nop.b 0                                      }{ .mib        stfd [GR_Parameter_Y] = FR_RESULT        // 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        ldfd  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 + -