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

📄 e_log.s

📁 Glibc 2.3.2源代码(解压后有100多M)
💻 S
📖 第 1 页 / 共 3 页
字号:
     nop.m 999(p10) fmerge.s f8 = f0, f0(p10) br.ret.spnt b0                // Exit for x=1.0;;}{ .mfi     getf.exp   log_GR_signexp_w = log_w     fclass.m.unc p12,p0 = f8, 0x3a       // Test for x neg norm, unorm, inf     shl        log_GR_index = log_GR_significand_f8,1            };;{ .mfi     ldfe       log_log2 = [log_AD_2],16        fnma.s1    log_rp_q10 = log_half, log_wsq, log_w     shr.u     log_GR_index = log_GR_index,56}{ .mfb     nop.m 999     fma.s1      log_w3      = log_wsq, log_w, f0(p6) br.cond.spnt L(LOG_ZERO_NEG)      // Branch if x=0;;} { .mfi     and log_GR_exp_w = log_GR_exp_17_ones, log_GR_signexp_w     fma.s1      log_w4      = log_wsq, log_wsq, f0     nop.i 999}{ .mfb     shladd log_AD_2 = log_GR_index,4,log_AD_2     fma.s1     log_rsq     = log_r, log_r, f0                   (p12) br.cond.spnt L(LOG_ZERO_NEG)     // Branch if x<0;;}{ .mfi     ldfe       log_T = [log_AD_2]     fma.s1    log_rp_p4   = log_P5, log_r, log_P4     nop.i 999}{ .mfi     nop.m 999     fma.s1      log_rp_p32 = log_P3, log_r, log_P2     nop.i 999;;}{ .mfi     nop.m 999     fma.s1    log_rp_q7   = log_Q8, log_w, log_Q7     nop.i 999}{ .mfi     nop.m 999     fma.s1    log_rp_q65  = log_Q6, log_w, log_Q5     nop.i 999;;}//    p13 <== large w log//    p14 <== small w log{ .mfi(p8) cmp.ge.unc p13,p14 = log_GR_exp_w, log_GR_fff9     fma.s1    log_rp_q3   = log_Q4, log_w, log_Q3     nop.i 999;;}//    p10 <== large w log10//    p11 <== small w log10{ .mfi(p7) cmp.ge.unc p10,p11 = log_GR_exp_w, log_GR_fff9     fcvt.xf   log_Nfloat = log_int_Nfloat     nop.i 999}{ .mfi     nop.m 999     fma.s1    log_rp_q21  = log_Q2, log_w3, log_rp_q10     nop.i 999 ;;}{ .mfi     nop.m 999     fma.s1    log_rcube   = log_rsq, log_r, f0     nop.i 999}{ .mfi     nop.m 999     fma.s1    log_rp_p10   = log_rsq, log_P1, log_r     nop.i 999;;}{ .mfi     nop.m 999     fcmp.eq.s0 p6,p0 = f8,f0         // Sets flag on +denormal input     nop.i 999}{ .mfi     nop.m 999     fma.s1     log_rp_p2   = log_rp_p4, log_rsq, log_rp_p32     nop.i 999;;}{ .mfi     nop.m 999     fma.s1        log_w6     = log_w3, log_w3, f0                nop.i 999 }{ .mfi     nop.m 999     fma.s1        log_Qlo     = log_rp_q7, log_wsq, log_rp_q65                nop.i 999 };;{ .mfi     nop.m 999     fma.s1        log_Qhi     = log_rp_q3, log_w4, log_rp_q21     nop.i 999 ;;}{ .mfi     nop.m 999     fma.s1        log_T_plus_Nlog2 = log_Nfloat,log_log2, log_T         nop.i 999 ;;}{ .mfi     nop.m 999     fma.s1        log_r2P_r = log_rp_p2, log_rcube, log_rp_p10                nop.i 999 ;;}//    small w, log   <== p14{ .mfi     nop.m 999(p14) fma.d        f8       = log_Qlo, log_w6, log_Qhi               nop.i 999}{ .mfi     nop.m 999     fma.s1        log_Q       = log_Qlo, log_w6, log_Qhi               nop.i 999 ;;}{ .mfi     nop.m 999(p10) fma.s1        log_log10_hi     = log_T_plus_Nlog2, log_inv_ln10,f0     nop.i 999  ;;}//    large w, log   <== p13.pred.rel "mutex",p13,p10{ .mfi      nop.m 999(p13) fadd.d        f8              = log_T_plus_Nlog2, log_r2P_r       nop.i 999 }{ .mfi      nop.m 999(p10) fma.s1     log_log10_lo     = log_inv_ln10, log_r2P_r,f0      nop.i 999  ;;}//    small w, log10 <== p11{ .mfi      nop.m 999(p11) fma.d      f8 = log_inv_ln10,log_Q,f0                               nop.i 999 ;;}//    large w, log10 <== p10{ .mfb      nop.m 999(p10) fma.d      f8                = log_log10_hi, f1, log_log10_lo       br.ret.sptk     b0 ;;}L(LOG_DENORM):{ .mfb     getf.exp   log_GR_signexp_f8 = log_NORM_f8      nop.f 999     br.cond.sptk L(LOG_COMMON)};;L(LOG_ZERO_NEG): // qnan snan inf norm     unorm 0 -+// 0    0    0   0        0     1 11      0x7// 0    0    1   1        1     0 10      0x3a// Save x (f8) in f10{ .mfi     nop.m 999     fmerge.s f10 = f8,f8      nop.i 999  ;;}// p8 p9  means  ln(+-0)  = -inf// p7 p10 means  log(+-0) = -inf//    p13 means  ln(-)//    p14 means  log(-){ .mfi     nop.m 999     fmerge.ns   f6 = f1,f1            // Form -1.0     nop.i 999  ;;}// p9  means  ln(+-0)  = -inf// p10 means  log(+-0) = -inf// Log(+-0) = -inf { .mfi	nop.m 999(p8)  fclass.m.unc  p9,p0 = f10, 0x07           	nop.i 999}{ .mfi	nop.m 999(p7)  fclass.m.unc  p10,p0 = f10, 0x07           	nop.i 999 ;;}// p13  ln(-)// p14  log(-)// Log(-inf, -normal, -unnormal) = QNAN indefinite{ .mfi	nop.m 999(p8)  fclass.m.unc  p13,p0 = f10, 0x3a           	nop.i 999 }{ .mfi	nop.m 999(p7)  fclass.m.unc  p14,p0 = f10, 0x3a           	nop.i 999  ;;}.pred.rel "mutex",p9,p10{ .mfi(p9)     mov        log_GR_tag = 2       (p9)    frcpa f8,p11 = f6,f0                               nop.i 999}{ .mfi(p10)    mov        log_GR_tag = 8       (p10)   frcpa f8,p12 = f6,f0                               nop.i 999 ;;}.pred.rel "mutex",p13,p14{ .mfi(p13)    mov        log_GR_tag = 3       (p13)    frcpa f8,p11 = f0,f0                               nop.i 999}{ .mfb(p14)    mov        log_GR_tag = 9       (p14)   frcpa f8,p12 = f0,f0                           br.cond.sptk __libm_error_region ;; }.endp logASM_SIZE_DIRECTIVE(log)ASM_SIZE_DIRECTIVE(__ieee754_log)// Stack operations when calling error support.//       (1)               (2)                          (3) (call)              (4)//   sp   -> +          psp -> +                     psp -> +                   sp -> +//           |                 |                            |                         |//           |                 | <- GR_Y               R3 ->| <- GR_RESULT            | -> f8//           |                 |                            |                         |//           | <-GR_Y      Y2->|                       Y2 ->| <- GR_Y                 |//           |                 |                            |                         |//           |                 | <- GR_X               X1 ->|                         |//           |                 |                            |                         |//  sp-64 -> +          sp ->  +                     sp ->  +                         +//    save ar.pfs          save b0                                               restore gp//    save gp                                                                    restore ar.pfs.proc __libm_error_region__libm_error_region:.prologue// (1){ .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};;// (2){ .mmi        stfd [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// (3){ .mib        stfd [GR_Parameter_X] = f10                   // STORE Parameter 1 on stack        add   GR_Parameter_RESULT = 0,GR_Parameter_Y  // Parameter 3 address        nop.b 0                             }{ .mib        stfd [GR_Parameter_Y] = f8                    // 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};;// (4){ .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};;.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 + -