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

📄 w_tgammaf.s

📁 glibc 2.9,最新版的C语言库函数
💻 S
📖 第 1 页 / 共 3 页
字号:
//// 1/An for [40; 48)data8 0xCAA7576DE621FCD5, 0x3F68LOCAL_OBJECT_END(tgammaf_data)//==============================================================// Code//==============================================================.section .textGLOBAL_LIBM_ENTRY(tgammaf){ .mfi      getf.exp      GR_SignExp = f8      fma.s1        FR_NormX = f8,f1,f0      addl          GR_ad_Data = @ltoff(tgammaf_data), gp}{ .mfi      mov           GR_ExpOf05 = 0xFFFE      fcvt.fx.trunc.s1 FR_iXt = f8 // [x]      mov           GR_Offs = 0 // 2 <= x < 8};;{ .mfi      getf.d        GR_Arg = f8      fcmp.lt.s1    p14,p15 = f8,f0      mov           GR_Tbl12Offs = 0}{ .mfi      setf.exp      FR_05 = GR_ExpOf05      fma.s1        FR_2 = f1,f1,f1 // 2      mov           GR_Correction = 0};;{ .mfi      ld8           GR_ad_Data = [GR_ad_Data]      fclass.m      p10,p0 = f8,0x1E7 // is x  NaTVal, NaN, +/-0 or +/-INF?      tbit.z        p12,p13 = GR_SignExp,16 // p13 if |x| >= 2}{ .mfi      mov           GR_ExpOf1 = 0xFFFF      fcvt.fx.s1    FR_rs = f8 // round(x)      and           GR_Exp2Ind = 7,GR_SignExp};;.pred.rel "mutex",p14,p15{ .mfi(p15) cmp.eq.unc    p11,p0 = GR_ExpOf1,GR_SignExp // p11 if 1 <= x < 2(p14) fma.s1        FR_1mX = f1,f1,f8 // 1 - |x|      mov           GR_Sig = 0 // if |x| < 2}{ .mfi(p13) cmp.eq.unc    p7,p0 = 2,GR_Exp2Ind(p15) fms.s1        FR_1mX = f1,f1,f8 // 1 - |x|(p13) cmp.eq.unc    p8,p0 = 3,GR_Exp2Ind};;.pred.rel "mutex",p7,p8{ .mfi(p7)  mov           GR_Offs = 0x7    // 8 <= |x| < 16      nop.f         0(p8)  tbit.z.unc    p0,p6 = GR_Arg,51}{ .mib(p13) cmp.lt.unc    p9,p0 = 3,GR_Exp2Ind(p8)  mov           GR_Offs = 0xE // 16 <= |x| < 32      // jump if x is NaTVal, NaN, +/-0 or +/-INF?(p10) br.cond.spnt  tgammaf_spec_args};;.pred.rel "mutex",p14,p15.pred.rel "mutex",p6,p9{ .mfi(p9)  mov           GR_Offs = 0x1C // 32 <= |x|(p14) fma.s1        FR_X2mX = FR_NormX,FR_NormX,FR_NormX // x^2-|x|(p9)  tbit.z.unc    p0,p8 = GR_Arg,50}{ .mfi      ldfpd         FR_LocalMin,FR_10 = [GR_ad_Data],16(p15) fms.s1        FR_X2mX = FR_NormX,FR_NormX,FR_NormX // x^2-|x|(p6)  add           GR_Offs = 0x7,GR_Offs // 24 <= x < 32};;.pred.rel "mutex",p8,p12{ .mfi      add           GR_ad_Ce = 0x50,GR_ad_Data(p15) fcmp.lt.unc.s1 p10,p0 = f8,f1 // p10 if 0 <= x < 1      mov           GR_OvfNzBound = 2}{ .mib      ldfpd         FR_S32,FR_S31 = [GR_ad_Data],16(p8)  add           GR_Offs = 0x7,GR_Offs // 40 <= |x|      // jump if 1 <= x < 2(p11) br.cond.spnt  tgammaf_from_1_to_2};;{ .mfi      shladd        GR_ad_Ce = GR_Offs,4,GR_ad_Ce      fcvt.xf       FR_Xt = FR_iXt // [x](p13) cmp.eq.unc    p7,p0 = r0,GR_Offs // p7 if 2 <= |x| < 8}{ .mfi      shladd        GR_ad_Co = GR_Offs,4,GR_ad_Data      fma.s1        FR_6 = FR_2,FR_2,FR_2      mov           GR_ExpOf05 = 0x7FC};;{ .mfi(p13) getf.sig      GR_Sig = FR_iXt // if |x| >= 2      frcpa.s1      FR_Rcp0,p0 = f1,FR_NormX(p10) shr           GR_Arg = GR_Arg,51}{ .mib      ldfpd         FR_C01,FR_C11 = [GR_ad_Co],16(p7)  mov           GR_Correction = 2      // jump if 0 < x < 1(p10) br.cond.spnt  tgammaf_from_0_to_1};;{ .mfi      ldfpd         FR_C21,FR_C31 = [GR_ad_Ce],16      fma.s1        FR_Rq2 = f1,f1,FR_1mX // 2 - |x|(p14) sub           GR_Correction = r0,GR_Correction}{ .mfi      ldfpd         FR_C41,FR_C51 = [GR_ad_Co],16(p14) fcvt.xf       FR_rs = FR_rs(p14) add           GR_ad_SinO = 0x3A0,GR_ad_Data};;.pred.rel "mutex",p14,p15{ .mfi      ldfpd         FR_C00,FR_C10 = [GR_ad_Ce],16      nop.f         0(p14) sub           GR_Sig = GR_Correction,GR_Sig}{ .mfi      ldfpd         FR_C20,FR_C30 = [GR_ad_Co],16      fma.s1        FR_Rq1 = FR_1mX,FR_2,FR_X2mX // (x-1)*(x-2)(p15) sub           GR_Sig = GR_Sig,GR_Correction};;{ .mfi(p14) ldfpd         FR_S01,FR_S11 = [GR_ad_SinO],16      fma.s1        FR_Rq3 = FR_2,f1,FR_1mX // 3 - |x|      and           GR_RqDeg = 0x6,GR_Sig}{ .mfi      ldfpd         FR_C40,FR_C50 = [GR_ad_Ce],16(p14) fma.d.s0      FR_X = f0,f0,f8 // set deno flag      mov           GR_NanBound = 0x30016 // -2^23};;.pred.rel "mutex",p14,p15{ .mfi(p14) add           GR_ad_SinE = 0x3C0,GR_ad_Data(p15) fms.s1        FR_r = FR_NormX,f1,FR_Xt // r = x - [x]      cmp.eq        p8,p0 = 2,GR_RqDeg}{ .mfi      ldfpd         FR_An,FR_OvfBound = [GR_ad_Co](p14) fms.s1        FR_r = FR_Xt,f1,FR_NormX // r = |x - [x]|      cmp.eq        p9,p0 = 4,GR_RqDeg};;.pred.rel "mutex",p8,p9{ .mfi(p14) ldfpd         FR_S21,FR_S00 = [GR_ad_SinE],16(p8)  fma.s1        FR_Rq0 = FR_2,f1,FR_1mX // (3-x)      tbit.z        p0,p6 = GR_Sig,0}{ .mfi(p14) ldfpd         FR_S10,FR_S20 = [GR_ad_SinO],16(p9)  fma.s1        FR_Rq0 = FR_2,FR_2,FR_1mX // (5-x)      cmp.eq        p10,p0 = 6,GR_RqDeg};;{ .mfi(p14) getf.s        GR_Arg = f8(p14) fcmp.eq.unc.s1 p13,p0 = FR_NormX,FR_Xt(p14) mov           GR_ZeroResBound = 0xC22C // -43}{ .mfi(p14) ldfe          FR_InvAn = [GR_ad_SinE](p10) fma.s1        FR_Rq0 = FR_6,f1,FR_1mX // (7-x)      cmp.eq        p7,p0 = r0,GR_RqDeg};;{ .mfi(p14) cmp.ge.unc    p11,p0 = GR_SignExp,GR_NanBound      fma.s1        FR_Rq2 = FR_Rq2,FR_6,FR_X2mX // (x-3)*(x-4)(p14) shl           GR_ZeroResBound = GR_ZeroResBound,16}{ .mfb(p14) mov           GR_OvfNzBound = 0x802(p14) fms.s1        FR_rs = FR_rs,f1,FR_NormX // rs = round(x) - x      // jump if  x < -2^23 i.e. x is negative integer(p11) br.cond.spnt  tgammaf_singularity};;{ .mfi      nop.m         0(p7)  fma.s1        FR_Rq1 = f0,f0,f1(p14) shl           GR_OvfNzBound = GR_OvfNzBound,20}{ .mfb      nop.m         0      fma.s1        FR_Rq3 = FR_Rq3,FR_10,FR_X2mX // (x-5)*(x-6)      // jump if x is negative integer such that -2^23 < x < 0(p13) br.cond.spnt  tgammaf_singularity};;{ .mfi      nop.m         0      fma.s1        FR_C01 = FR_C01,f1,FR_r(p14) mov           GR_ExpOf05 = 0xFFFE}{ .mfi(p14) cmp.eq.unc    p7,p0 = GR_Arg,GR_OvfNzBound      fma.s1        FR_C11 = FR_C11,f1,FR_r(p14) cmp.ltu.unc   p11,p0 = GR_Arg,GR_OvfNzBound};;{ .mfi      nop.m         0      fma.s1        FR_C21 = FR_C21,f1,FR_r(p14) cmp.ltu.unc   p9,p0 = GR_ZeroResBound,GR_Arg}{ .mfb      nop.m         0      fma.s1        FR_C31 = FR_C31,f1,FR_r      // jump if argument is close to 0 negative(p11) br.cond.spnt  tgammaf_overflow};;{ .mfi      nop.m         0      fma.s1        FR_C41 = FR_C41,f1,FR_r      nop.i         0}{ .mfb      nop.m         0      fma.s1        FR_C51 = FR_C51,f1,FR_r      // jump if x is negative noninteger such that -2^23 < x < -43(p9)  br.cond.spnt  tgammaf_underflow};;{ .mfi      nop.m         0(p14) fma.s1        FR_rs2 = FR_rs,FR_rs,f0      nop.i         0 }{ .mfb      nop.m         0(p14) fma.s1        FR_S01 = FR_rs,FR_rs,FR_S01      // jump if argument is 0x80200000(p7)  br.cond.spnt  tgammaf_overflow_near0_bound};;{ .mfi      nop.m         0 (p6)  fnma.s1       FR_Rq1 = FR_Rq1,FR_Rq0,f0      nop.i         0 }{ .mfi      nop.m         0 (p10) fma.s1        FR_Rq2 = FR_Rq2,FR_Rq3,f0      and           GR_Sig = 0x7,GR_Sig};;{ .mfi      nop.m         0      fma.s1        FR_C01 = FR_C01,FR_r,FR_C00      nop.i         0}{ .mfi      nop.m         0      fma.s1        FR_C11 = FR_C11,FR_r,FR_C10      cmp.eq        p6,p7 = r0,GR_Sig // p6 if |x| from one of base intervals};;{ .mfi      nop.m         0      fma.s1        FR_C21 = FR_C21,FR_r,FR_C20      nop.i         0}{ .mfi      nop.m         0      fma.s1        FR_C31 = FR_C31,FR_r,FR_C30(p7)  cmp.lt.unc    p9,p0 = 2,GR_RqDeg};;{ .mfi      nop.m         0(p14) fma.s1        FR_S11 = FR_rs,FR_rs,FR_S11      nop.i         0}{ .mfi      nop.m         0(p14) fma.s1        FR_S21 = FR_rs,FR_rs,FR_S21      nop.i         0};;{ .mfi      nop.m         0      fma.s1        FR_C41 = FR_C41,FR_r,FR_C40      nop.i         0}{ .mfi      nop.m         0(p14) fma.s1        FR_S32 = FR_rs2,FR_S32,FR_S31      nop.i         0};;{ .mfi      nop.m         0 (p9)  fma.s1        FR_Rq1 = FR_Rq1,FR_Rq2,f0      nop.i         0}{ .mfi      nop.m         0      fma.s1        FR_C51 = FR_C51,FR_r,FR_C50      nop.i         0 };;{ .mfi(p14) getf.exp      GR_SignExp = FR_rs      fma.s1        FR_C01 = FR_C01,FR_C11,f0      nop.i         0 }{ .mfi      nop.m         0(p14) fma.s1        FR_S01 = FR_S01,FR_rs2,FR_S00      nop.i         0 };;{ .mfi      nop.m         0      fma.s1        FR_C21 = FR_C21,FR_C31,f0      nop.i         0}{ .mfi      nop.m         0      // NR-iteration(p14) fnma.s1       FR_InvNormX1 = FR_Rcp0,FR_NormX,f1      nop.i         0};;{ .mfi      nop.m         0(p14) fma.s1        FR_S11 = FR_S11,FR_rs2,FR_S10(p14) tbit.z.unc    p11,p12 = GR_SignExp,17 }{ .mfi      nop.m         0(p14) fma.s1        FR_S21 = FR_S21,FR_rs2,FR_S20      nop.i         0};;{ .mfi      nop.m         0(p15) fcmp.lt.unc.s1 p0,p13 = FR_NormX,FR_OvfBound      nop.i         0}{ .mfi      nop.m         0(p14) fma.s1        FR_S32 = FR_rs2,FR_S32,f0      nop.i         0};;{ .mfi      nop.m         0      fma.s1        FR_C41 = FR_C41,FR_C51,f0      nop.i         0}{ .mfi      nop.m         0(p7)  fma.s1        FR_An = FR_Rq1,FR_An,f0      nop.i         0 };;{ .mfb      nop.m         0      nop.f         0      // jump if x > 35.04010009765625(p13) br.cond.spnt  tgammaf_overflow};;{ .mfi      nop.m         0      // NR-iteration(p14) fma.s1        FR_InvNormX1 = FR_Rcp0,FR_InvNormX1,FR_Rcp0      nop.i         0};;{ .mfi      nop.m         0(p14) fma.s1        FR_S01 = FR_S01,FR_S11,f0      nop.i         0};;{ .mfi      nop.m         0(p14) fma.s1        FR_S21 = FR_S21,FR_S32,f0      nop.i         0};;{ .mfi(p14) getf.exp      GR_SignExp = FR_NormX      fma.s1        FR_C01 = FR_C01,FR_C21,f0      nop.i         0}{ .mfi      nop.m         0      fma.s1        FR_C41 = FR_C41,FR_An,f0(p14) mov           GR_ExpOf1 = 0x2FFFF};;{ .mfi      nop.m         0      // NR-iteration(p14) fnma.s1       FR_InvNormX2 = FR_InvNormX1,FR_NormX,f1      nop.i         0};;.pred.rel "mutex",p11,p12{ .mfi      nop.m         0(p12) fnma.s1       FR_S01 = FR_S01,FR_S21,f0      nop.i         0}{ .mfi      nop.m         0(p11) fma.s1        FR_S01 = FR_S01,FR_S21,f0      nop.i         0};;{ .mfi      nop.m         0 (p14) fma.s1        FR_GAMMA = FR_C01,FR_C41,f0(p14) tbit.z.unc    p6,p7 = GR_Sig,0}{ .mfb      nop.m         0(p15) fma.s.s0      f8 = FR_C01,FR_C41,f0(p15) br.ret.spnt   b0 // exit for positives};;.pred.rel "mutex",p11,p12{ .mfi      nop.m         0(p12) fms.s1        FR_S01 = FR_rs,FR_S01,FR_rs      nop.i         0}{ .mfi      nop.m         0(p11) fma.s1        FR_S01 = FR_rs,FR_S01,FR_rs      nop.i         0};;{ .mfi      nop.m         0      // NR-iteration      fma.s1        FR_InvNormX2 = FR_InvNormX1,FR_InvNormX2,FR_InvNormX1      cmp.eq        p10,p0 = 0x23,GR_Offs};;.pred.rel "mutex",p6,p7{ .mfi      nop.m         0(p6)  fma.s1        FR_GAMMA = FR_S01,FR_GAMMA,f0      cmp.gtu       p8,p0 = GR_SignExp,GR_ExpOf1}{ .mfi      nop.m         0(p7)  fnma.s1       FR_GAMMA = FR_S01,FR_GAMMA,f0      cmp.eq        p9,p0 = GR_SignExp,GR_ExpOf1};;{ .mfi      nop.m         0      // NR-iteration      fnma.s1       FR_InvNormX1 = FR_InvNormX2,FR_NormX,f1      nop.i         0}{ .mfi      nop.m         0

⌨️ 快捷键说明

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