亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? s_cosf.s

?? glibc 庫, 不僅可以學習使用庫函數,還可以學習函數的具體實現,是提高功力的好資料
?? S
?? 第 1 頁 / 共 2 頁
字號:
    data8 0xBFED906BCF328D46 // sin ( 26 Pi / 16 )    data8 0x3FD87DE2A6AEA963 // cos ( 26 Pi / 16 )//    data8 0xBFEA9B66290EA1A3 // sin ( 27 Pi / 16 )    data8 0x3FE1C73B39AE68C8 // cos ( 27 Pi / 16 )//    data8 0xBFE6A09E667F3BCD // sin ( 28 Pi / 16 )    data8 0x3FE6A09E667F3BCD // cos ( 28 Pi / 16 )//    data8 0xBFE1C73B39AE68C8 // sin ( 29 Pi / 16 )    data8 0x3FEA9B66290EA1A3 // cos ( 29 Pi / 16 )//    data8 0xBFD87DE2A6AEA963 // sin ( 30 Pi / 16 )    data8 0x3FED906BCF328D46 // cos ( 30 Pi / 16 )//    data8 0xBFC8F8B83C69A60B // sin ( 31 Pi / 16 )    data8 0x3FEF6297CFF75CB0 // cos ( 31 Pi / 16 )//    data8 0x0000000000000000 // sin ( 32 Pi / 16 )    data8 0x3FF0000000000000 // cos ( 32 Pi / 16 )LOCAL_OBJECT_END(double_sin_cos_beta_k4).section .text////////////////////////////////////////////////////////// There are two entry points: sin and cos// If from sin, p8 is true// If from cos, p9 is trueGLOBAL_IEEE754_ENTRY(sinf){ .mlx      alloc         r32                 = ar.pfs,1,13,0,0      movl  sincosf_GR_sig_inv_pi_by_16 = 0xA2F9836E4E44152A //signd of 16/pi}{ .mlx      addl         sincosf_AD_1         = @ltoff(double_sincosf_pi), gp      movl  sincosf_GR_rshf_2to61       = 0x47b8000000000000 // 1.1 2^(63+63-2)};;{ .mfi      ld8           sincosf_AD_1        = [sincosf_AD_1]      fnorm.s1      sincosf_NORM_f8     = f8     // Normalize argument      cmp.eq        p8,p9               = r0, r0 // set p8 (clear p9) for sin}{ .mib      mov           sincosf_GR_exp_2tom61 = 0xffff-61 // exponent of scale 2^-61      mov           sincosf_r_sincos      = 0x0       // 0 for sin      br.cond.sptk  _SINCOSF_COMMON                 // go to common part};;GLOBAL_IEEE754_END(sinf)GLOBAL_IEEE754_ENTRY(cosf){ .mlx      alloc         r32                 = ar.pfs,1,13,0,0      movl  sincosf_GR_sig_inv_pi_by_16 = 0xA2F9836E4E44152A //signd of 16/pi}{ .mlx      addl          sincosf_AD_1        = @ltoff(double_sincosf_pi), gp      movl  sincosf_GR_rshf_2to61       = 0x47b8000000000000 // 1.1 2^(63+63-2)};;{ .mfi      ld8           sincosf_AD_1        = [sincosf_AD_1]      fnorm.s1      sincosf_NORM_f8     = f8        // Normalize argument      cmp.eq        p9,p8               = r0, r0    // set p9 (clear p8) for cos}{ .mib      mov           sincosf_GR_exp_2tom61 = 0xffff-61 // exponent of scale 2^-61      mov           sincosf_r_sincos      = 0x8       // 8 for cos      nop.b         999};;////////////////////////////////////////////////////////// All entry points end up here.// If from sin, sincosf_r_sincos is 0 and p8 is true// If from cos, sincosf_r_sincos is 8 = 2^(k-1) and p9 is true// We add sincosf_r_sincos to N///////////// Common sin and cos part //////////////////_SINCOSF_COMMON://  Form two constants we need//  16/pi * 2^-2 * 2^63, scaled by 2^61 since we just loaded the significand//  1.1000...000 * 2^(63+63-2) to right shift int(W) into the low significand//  fcmp used to set denormal, and invalid on snans{ .mfi      setf.sig      sincosf_SIG_INV_PI_BY_16_2TO61 = sincosf_GR_sig_inv_pi_by_16      fclass.m      p6,p0                          = f8, 0xe7 // if x=0,inf,nan      mov           sincosf_exp_limit              = 0x10017}{ .mlx      setf.d        sincosf_RSHF_2TO61  = sincosf_GR_rshf_2to61      movl          sincosf_GR_rshf     = 0x43e8000000000000 // 1.1000 2^63};;                                                          // Right shift//  Form another constant//  2^-61 for scaling Nfloat//  0x10017 is register_bias + 24.//  So if f8 >= 2^24, go to large argument routines{ .mmi      getf.exp      sincosf_r_signexp   = f8      setf.exp      sincosf_2TOM61      = sincosf_GR_exp_2tom61      addl          gr_tmp              = -1,r0 // For "inexect" constant create};;// Load the two pieces of pi/16// Form another constant//  1.1000...000 * 2^63, the right shift constant{ .mmb      ldfe          sincosf_Pi_by_16_1  = [sincosf_AD_1],16      setf.d        sincosf_RSHF        = sincosf_GR_rshf(p6)  br.cond.spnt  _SINCOSF_SPECIAL_ARGS};;// Getting argument's exp for "large arguments" filtering{ .mmi      ldfe          sincosf_Pi_by_16_2  = [sincosf_AD_1],16      setf.sig      fp_tmp              = gr_tmp // constant for inexact set      nop.i         999};;// Polynomial coefficients (Q2, Q1, P2, P1) loading{ .mmi      ldfpd         sincosf_P2,sincosf_Q2 = [sincosf_AD_1],16      nop.m         999       nop.i         999 };;// Select exponent (17 lsb){ .mmi      ldfpd         sincosf_P1,sincosf_Q1 = [sincosf_AD_1],16      nop.m         999       dep.z         sincosf_r_exp         = sincosf_r_signexp, 0, 17};;// p10 is true if we must call routines to handle larger arguments// p10 is true if f8 exp is >= 0x10017 (2^24){ .mfb      cmp.ge        p10,p0              = sincosf_r_exp,sincosf_exp_limit      nop.f         999(p10) br.cond.spnt  _SINCOSF_LARGE_ARGS // Go to "large args" routine};;// sincosf_W          = x * sincosf_Inv_Pi_by_16// Multiply x by scaled 16/pi and add large const to shift integer part of W to//   rightmost bits of significand{ .mfi      nop.m         999       fma.s1 sincosf_W_2TO61_RSH = sincosf_NORM_f8, sincosf_SIG_INV_PI_BY_16_2TO61, sincosf_RSHF_2TO61      nop.i         999 };;// sincosf_NFLOAT = Round_Int_Nearest(sincosf_W)// This is done by scaling back by 2^-61 and subtracting the shift constant{ .mfi      nop.m         999      fms.s1 sincosf_NFLOAT = sincosf_W_2TO61_RSH,sincosf_2TOM61,sincosf_RSHF      nop.i         999 };;// get N = (int)sincosf_int_Nfloat{ .mfi      getf.sig      sincosf_GR_n        = sincosf_W_2TO61_RSH // integer N value      nop.f         999      nop.i         999 };;// Add 2^(k-1) (which is in sincosf_r_sincos=8) to N// sincosf_r          = -sincosf_Nfloat * sincosf_Pi_by_16_1 + x{ .mfi      add           sincosf_GR_n        = sincosf_GR_n, sincosf_r_sincos      fnma.s1 sincosf_r = sincosf_NFLOAT, sincosf_Pi_by_16_1, sincosf_NORM_f8      nop.i         999 };;// Get M (least k+1 bits of N){ .mmi      and           sincosf_GR_m        = 0x1f,sincosf_GR_n // Put mask 0x1F  -       nop.m         999                                     // - select k+1 bits      nop.i         999};;// Add 16*M to address of sin_cos_beta table{ .mfi      shladd        sincosf_AD_2        = sincosf_GR_32m, 4, sincosf_AD_1(p8)  fclass.m.unc  p10,p0              = f8,0x0b  // If sin denormal input -      nop.i         999 };;// Load Sin and Cos table value using obtained index m  (sincosf_AD_2){ .mfi      ldfd          sincosf_Sm          = [sincosf_AD_2],8 // Sin value S[m](p9)  fclass.m.unc  p11,p0              = f8,0x0b  // If cos denormal input -      nop.i         999                            // - set denormal};;// sincosf_r          = sincosf_r -sincosf_Nfloat * sincosf_Pi_by_16_2{ .mfi      ldfd          sincosf_Cm          = [sincosf_AD_2] // Cos table value C[m]      fnma.s1  sincosf_r_exact = sincosf_NFLOAT, sincosf_Pi_by_16_2, sincosf_r      nop.i         999}// get rsq = r*r{ .mfi      nop.m         999      fma.s1        sincosf_rsq         = sincosf_r, sincosf_r,  f0 // r^2 = r*r      nop.i         999};;{ .mfi      nop.m         999      fmpy.s0       fp_tmp              = fp_tmp, fp_tmp // forces inexact flag      nop.i         999                                };;// Polynomials calculation // Q = Q2*r^2 + Q1// P = P2*r^2 + P1{ .mfi      nop.m         999      fma.s1        sincosf_Q           = sincosf_rsq, sincosf_Q2, sincosf_Q1      nop.i         999}{ .mfi      nop.m         999      fma.s1        sincosf_P           = sincosf_rsq, sincosf_P2, sincosf_P1      nop.i         999 };;// get rcube and S[m]*r^2{ .mfi      nop.m         999      fmpy.s1       sincosf_srsq        = sincosf_Sm,sincosf_rsq // r^2*S[m]      nop.i         999}{ .mfi      nop.m         999      fmpy.s1       sincosf_rcub        = sincosf_r_exact, sincosf_rsq      nop.i         999 };;// Get final P and Q// Q = Q*S[m]*r^2 + S[m]// P = P*r^3 + r{ .mfi      nop.m         999      fma.s1        sincosf_Q           = sincosf_srsq,sincosf_Q, sincosf_Sm      nop.i         999}{ .mfi      nop.m         999      fma.s1        sincosf_P           = sincosf_rcub,sincosf_P,sincosf_r_exact      nop.i         999 };;// If sinf(denormal) - force underflow to be set.pred.rel "mutex",p10,p11{ .mfi      nop.m         999(p10) fmpy.s.s0     fp_tmp              = f8,f8 // forces underflow flag      nop.i         999                         // for denormal sine args}// If cosf(denormal) - force denormal to be set{ .mfi      nop.m         999(p11) fma.s.s0     fp_tmp              = f8, f1, f8 // forces denormal flag      nop.i         999                              // for denormal cosine args};;// Final calculation// result = C[m]*P + Q{ .mfb      nop.m         999      fma.s.s0      f8                  = sincosf_Cm, sincosf_P, sincosf_Q      br.ret.sptk   b0 // Exit for common path};;////////// x = 0/Inf/NaN path //////////////////_SINCOSF_SPECIAL_ARGS:.pred.rel "mutex",p8,p9// sinf(+/-0) = +/-0// sinf(Inf)  = NaN// sinf(NaN)  = NaN{ .mfi      nop.m         999(p8)  fma.s.s0      f8                  = f8, f0, f0 // sinf(+/-0,NaN,Inf)      nop.i         999}// cosf(+/-0) = 1.0// cosf(Inf)  = NaN// cosf(NaN)  = NaN{ .mfb      nop.m         999(p9)  fma.s.s0      f8                  = f8, f0, f1 // cosf(+/-0,NaN,Inf)      br.ret.sptk   b0 // Exit for x = 0/Inf/NaN path};;GLOBAL_IEEE754_END(cosf)//////////// x >= 2^24 - large arguments routine call ////////////LOCAL_LIBM_ENTRY(__libm_callout_sincosf)_SINCOSF_LARGE_ARGS:.prologue{ .mfi      mov           sincosf_GR_all_ones = -1 // 0xffffffff      nop.f         999.save ar.pfs,GR_SAVE_PFS      mov           GR_SAVE_PFS         = ar.pfs};;{ .mfi      mov           GR_SAVE_GP          = gp      nop.f         999.save b0, GR_SAVE_B0      mov           GR_SAVE_B0          = b0}.body{ .mbb      setf.sig      sincosf_save_tmp    = sincosf_GR_all_ones  // inexact set      nop.b         999(p8)  br.call.sptk.many b0              = __libm_sin_large# // sinf(large_X)};;{ .mbb      cmp.ne        p9,p0               = sincosf_r_sincos, r0 // set p9 if cos      nop.b         999(p9)  br.call.sptk.many b0              = __libm_cos_large# // cosf(large_X)};;{ .mfi      mov           gp                  = GR_SAVE_GP      fma.s.s0      f8                  = f8, f1, f0 // Round result to single      mov           b0                  = GR_SAVE_B0}{ .mfi // force inexact set      nop.m         999      fmpy.s0       sincosf_save_tmp    = sincosf_save_tmp, sincosf_save_tmp       nop.i         999                                               };;{ .mib      nop.m         999      mov           ar.pfs              = GR_SAVE_PFS      br.ret.sptk   b0 // Exit for large arguments routine call};;LOCAL_LIBM_END(__libm_callout_sincosf).type    __libm_sin_large#, @function.global  __libm_sin_large#.type    __libm_cos_large#, @function.global  __libm_cos_large#

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩免费电影| 色婷婷精品久久二区二区蜜臂av| 国产精品美女久久福利网站 | 在线国产亚洲欧美| 精品一区二区三区在线播放| 一区二区三区免费在线观看| 久久精品无码一区二区三区| 3d动漫精品啪啪一区二区竹菊| 成人av资源站| 国内外精品视频| 性做久久久久久久免费看| ...中文天堂在线一区| 久久伊人蜜桃av一区二区| 91麻豆精品国产自产在线观看一区| 91丨九色porny丨蝌蚪| 国产福利一区在线| 久久国产欧美日韩精品| 偷拍一区二区三区| 亚洲一区二区在线免费看| 亚洲欧美在线观看| 国产欧美一区在线| 国产视频在线观看一区二区三区| 91精品视频网| 欧美精品久久天天躁| 在线观看免费成人| 91美女福利视频| 本田岬高潮一区二区三区| 国产精品99精品久久免费| 成人av在线网站| 韩国理伦片一区二区三区在线播放| 亚洲一区二区三区四区在线免费观看| 国产精品久久精品日日| 国产蜜臀97一区二区三区 | 日韩一区和二区| 欧美日韩另类国产亚洲欧美一级| 色天使色偷偷av一区二区| 91麻豆免费观看| 91美女在线视频| 欧美在线一二三四区| 欧美性大战xxxxx久久久| 欧美影院一区二区| 欧美三级欧美一级| 欧美精品久久一区二区三区| 欧美一级在线观看| 精品国产乱子伦一区| 久久久久久久久久电影| 国产精品乱人伦中文| 亚洲人成伊人成综合网小说| 一区二区三区资源| 亚洲线精品一区二区三区八戒| 午夜a成v人精品| 久久黄色级2电影| 国产98色在线|日韩| 成人app下载| 欧美日韩在线精品一区二区三区激情| 欧美日韩一级黄| 日韩天堂在线观看| 国产女人18毛片水真多成人如厕| 亚洲欧美在线视频| 午夜在线成人av| 麻豆国产精品官网| 国产成人精品一区二区三区网站观看| 97成人超碰视| 91麻豆精品国产91久久久| 久久综合久久综合久久综合| 欧美经典一区二区三区| 亚洲一区中文在线| 久久国产精品色| 成人av电影免费在线播放| 91福利资源站| 26uuu国产在线精品一区二区| 国产精品久久久久影视| 亚洲成人免费视频| 国产精品主播直播| 欧洲一区在线电影| 精品少妇一区二区三区视频免付费| 日本一区二区电影| 亚洲福利一区二区三区| 韩国欧美一区二区| 欧美性色欧美a在线播放| 精品88久久久久88久久久| 亚洲日穴在线视频| 麻豆精品视频在线观看| 色综合一个色综合| 精品日韩在线观看| 亚洲精品国产视频| 国产尤物一区二区| 在线欧美日韩国产| 久久精品免费在线观看| 亚洲午夜激情av| 懂色一区二区三区免费观看| 欧美日韩中文字幕一区| 欧美国产欧美亚州国产日韩mv天天看完整| 亚洲一区二区三区小说| 成人自拍视频在线观看| 91精品国产综合久久久蜜臀图片| 国产精品久久久久久久第一福利 | 国产精品亚洲第一区在线暖暖韩国| 91麻豆视频网站| 一区二区在线观看免费| 久久精品99国产精品日本| 在线观看视频一区二区欧美日韩| 久久综合色之久久综合| 水野朝阳av一区二区三区| 91免费看视频| 欧美国产一区二区| 久久精品二区亚洲w码| 欧美日韩久久一区| 亚洲精品v日韩精品| 国产99精品国产| 久久色在线视频| 免费看日韩a级影片| 欧美日韩中文另类| 亚洲黄色av一区| 91麻豆免费观看| 国产精品国产成人国产三级| 国产精品18久久久久久久久 | 不卡av在线网| www国产亚洲精品久久麻豆| 日韩国产在线观看| 欧美片在线播放| 亚洲成人精品一区| 欧美丝袜丝交足nylons| 亚洲男女一区二区三区| 91网站最新地址| 亚洲欧美另类小说| 99久久精品国产观看| 国产精品久久久爽爽爽麻豆色哟哟 | 国产精品久久毛片a| 国产成人精品1024| 国产日本一区二区| 国产大陆a不卡| 国产女人水真多18毛片18精品视频 | 免费看欧美女人艹b| 日韩欧美成人午夜| 免费人成精品欧美精品| 日韩欧美色电影| 九九精品一区二区| 久久久久久亚洲综合影院红桃| 国产在线精品一区二区| 久久久精品tv| 99亚偷拍自图区亚洲| 亚洲精品亚洲人成人网在线播放| 色香色香欲天天天影视综合网| 亚洲免费av在线| 在线不卡一区二区| 免费日本视频一区| 国产亚洲一区字幕| 99riav久久精品riav| 亚洲在线视频网站| 日韩一区二区三区在线| 极品美女销魂一区二区三区免费| 26uuu精品一区二区三区四区在线| 国产高清久久久久| 中文成人av在线| 欧美影视一区二区三区| 奇米777欧美一区二区| 久久奇米777| 99久久99久久精品免费观看 | 中文字幕一区二区三区乱码在线| 国产·精品毛片| 一区二区三区中文字幕精品精品| 欧美日韩欧美一区二区| 免费成人av在线| 国产欧美一区二区精品婷婷| 91在线观看一区二区| 午夜欧美在线一二页| 精品国产3级a| 91在线观看地址| 免费高清成人在线| 日本精品视频一区二区三区| 久久五月婷婷丁香社区| 不卡欧美aaaaa| 亚洲国产精品自拍| 精品国产乱码久久久久久图片 | 99综合影院在线| 日本伊人精品一区二区三区观看方式| 精品福利av导航| 91丨九色porny丨蝌蚪| 免费欧美在线视频| 中文字幕亚洲成人| 日韩精品一区二区三区四区| av不卡免费电影| 久久精品国产久精国产| 亚洲视频免费观看| 日韩精品一区二区三区视频播放 | 欧美人狂配大交3d怪物一区| 国产麻豆精品视频| 亚洲一区二区三区中文字幕| 久久日一线二线三线suv| 欧美视频中文字幕| 高清久久久久久| 人人精品人人爱| 一区二区三区视频在线观看| 久久久久99精品一区| 欧美日本一区二区| 99热在这里有精品免费| 韩国理伦片一区二区三区在线播放| 亚洲图片一区二区| 中文字幕一区二区不卡|