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

📄 libm_atan2_reg.s

📁 Glibc 2.3.2源代码(解压后有100多M)
💻 S
📖 第 1 页 / 共 3 页
字号:
(p9)   add r40 = r40, r42;;(p9)   ldfd  f48 = [r40],8	nop 999;;	// EMbo added ... } { .mmi(p0)   ldfe f67 = [r39],-16;;(p9)   ldfs  f49 = [r40],8	nop 999	// EMbo added ... } { .mfi	nop 999	// EMbo added ...////     U_prime_hi = U + V * z_hi//     Load the Tbl_lo(0)//(p0)   fma.s1 f40 = f36, f39, f35	nop 999;;	// EMbo added ... } { .mfi	nop 999	// EMbo added ...(p0)   fnma.s1 f42 = f35, f39, f36	nop 999	// EMbo added ... } { .mfi	nop 999	// EMbo added ...(p0)   mov f52 = f48	nop 999;;	// EMbo added ... } { .mfi	nop 999	// EMbo added ...(p0)   frcpa.s1 f43, p6 =  f1, f40	nop 999;;	// EMbo added ... } { .mfi	nop 999	// EMbo added ...////     U_prime_lo = U - U_prime_hi//     k = k * 256 - result can be 0, 256, or 512.//(p0)   fsub.s1 f41 = f35, f40(p0)   cmp.eq.unc  p7, p6 =  0x00000, r38 } { .mfi	nop 999	// EMbo added ...(p0)   fmpy.s1 f52 = f34, f52	nop 999;;	// EMbo added ... } { .mfi	nop 999	// EMbo added ...(p7)   fadd.s1 f54 = f0, f1	nop 999;;	// EMbo added ... } { .mfi	nop 999	// EMbo added ...(p6)   fsub.s1 f54 = f0, f1	nop 999;;	// EMbo added ... } { .mfi	nop 999	// EMbo added ...(p0)   fnma.s1 f80 = f43, f40, f1	nop 999;;	// EMbo added ... } { .mfi	nop 999	// EMbo added ...(p0)   fadd.s1 f79 = f41, f40	nop 999	// EMbo added ... } { .mfi	nop 999	// EMbo added ...(p0)   fma.s1 f41 = f36, f39, f41	nop 999;;	// EMbo added ... } { .mfi	nop 999	// EMbo added ...(p0)   fma.s1 f56 = f54, f52, f50	nop 999;;	// EMbo added ... } { .mfi	nop 999	// EMbo added ...(p0)   fma.s1 f43 = f80, f43, f43	nop 999;;	// EMbo added ... } { .mfi	nop 999	// EMbo added ...////     U_prime_lo =  U - U_hold//     lookup -> lookup * 16 + k//////     V_prime =  V - U * z_hi//     U_prime_lo =  V * z_hi + U_prime_lo//(p0)   fsub.s1 f79 = f35, f79	nop 999;;	// EMbo added ... } { .mfi	nop 999	// EMbo added ...(p0)   fnma.s1 f80 = f43, f40, f1	nop 999;;	// EMbo added ... } { .mfi	nop 999	// EMbo added ...////     C_hi = frcpa(1,U_prime_hi)//     U_prime_lo = U_prime_lo + U_hold//////     C_hi_hold = 1 - C_hi * U_prime_hi (1)//////     C_hi = C_hi + C_hi * C_hi_hold    (1)//////     C_hi_hold = 1 - C_hi * U_prime_hi (2)//(p0)   fadd.s1 f41 = f41, f79	nop 999;;	// EMbo added ... } { .mfi	nop 999	// EMbo added ...////     C_hi = C_hi + C_hi * C_hi_hold    (2)//(p0)   fma.s1 f43 = f80, f43, f43	nop 999;;	// EMbo added ... } { .mfi	nop 999	// EMbo added ...////     C_hi_hold = 1 - C_hi * U_prime_hi (3)//(p0)   fnma.s1 f80 = f43, f40, f1	nop 999;;	// EMbo added ... } { .mfi	nop 999	// EMbo added ...////     C_hi = C_hi + C_hi * C_hi_hold    (3)//(p0)   fma.s1 f43 = f80, f43, f43	nop 999;;	// EMbo added ... } { .mfi	nop 999	// EMbo added ...////     w_hi = V_prime * C_hi//(p0)   fmpy.s1 f44 = f42, f43	nop 999;;	// EMbo added ... } { .mfi	nop 999	// EMbo added ...(p0)   fmpy.s1 f46 = f44, f44	nop 999	// EMbo added ... } { .mfi	nop 999	// EMbo added ...////     wsq = w_hi * w_hi//     w_lo =  = V_prime - w_hi * U_prime_hi//(p0)   fnma.s1 f45 = f44, f40, f42	nop 999;;	// EMbo added ... } { .mfi	nop 999	// EMbo added ...(p0)   fma.s1 f47 = f46, f73, f71	nop 999	// EMbo added ... } { .mfi	nop 999	// EMbo added ...////     poly = Q_3 + wsq * Q_4//     w_lo =  = w_lo - w_hi * U_prime_lo//(p0)   fnma.s1 f45 = f44, f41, f45	nop 999;;	// EMbo added ... } { .mfi	nop 999	// EMbo added ...(p0)   fma.s1 f47 = f46, f47, f69	nop 999	// EMbo added ... } { .mfi	nop 999	// EMbo added ...////     poly = Q_2 + wsq * poly//     w_lo =  = w_lo * C_hi//(p0)   fmpy.s1 f45 = f43, f45	nop 999;;	// EMbo added ... } { .mfi	nop 999	// EMbo added ...(p0)   fma.s1 f47 = f46, f47, f67	nop 999	// EMbo added ... } { .mfi	nop 999	// EMbo added ...////     poly = Q_1 + wsq * poly//     A_lo = Tbl_lo + w_lo//     swap = xor(swap,sign_X)//(p0)   fadd.s1 f53 = f49, f45	nop 999;;	// EMbo added ... } { .mfi	nop 999	// EMbo added ...////     Is (swap) != 0 ?//     poly = wsq * poly//     A_hi = Tbl_hi//(p0)   fmpy.s1 f47 = f46, f47	nop 999;;	// EMbo added ... } { .mfi	nop 999	// EMbo added ...////     poly = wsq * poly//////     if (p6) sigma = -1.0//     if (p7) sigma =  1.0//(p0)   fmpy.s1 f47 = f44, f47	nop 999;;	// EMbo added ... } { .mfi	nop 999	// EMbo added ...////     P_hi = s_Y * P_hi//     A_lo = A_lo + poly//(p0)   fadd.s1 f53 = f53, f47	nop 999;;	// EMbo added ... } { .mfi	nop 999	// EMbo added ...////     A_lo = A_lo + w_hi//     A_hi = s_Y * A_hi//(p0)   fadd.s1 f53 = f53, f44	nop 999;;	// EMbo added ... } { .mfb	nop 999	// EMbo added ...////     result_hi = P_hi + sigma * A_hi//     result_lo = P_lo + sigma * A_lo//(p0)   fma.s1 f55 = f54, f53, f51(p0)   br.cond.sptk L(RETURN_ATAN);;} ////     result  =  result_hi + result_lo * s_Y  (User Supplied Rounding Mode)////     (p0)   fma.d.s0 f57 = f55, f34, f56//// /**************************************************/// /********************* STEP4 **********************/// /**************************************************///L(ATAN_POLY):{ .mmi(p0)   xor r38 = r36,r38(p0)  addl           r39   = @ltoff(Constants_atan#), gp      nop.i 999};;{ .mmi      ld8 r39 = [r39]      nop.m 999      nop.i 999};;{ .mlx	nop 999	// EMbo added ...(p0)   movl r47 =  0x24005;; } { .mfi(p0)   add r39 = 128, r39(p0)   fnma.s1 f81 = f37, f35, f1(p0)   cmp.eq.unc  p7, p6 =  0x00000, r38;; } { .mmf	nop 999	// EMbo added ...(p0)   ldfe f77 = [r39],-16////     Iterate 3 times E = E + E*(1.0 - E*U)//     Also load P_8, P_7, P_6, P_5, P_4//     E_hold = 1.0 - E * U     (1)//     A_temp = Q//(p0)   mov f85 = f38;; } { .mmf	nop 999	// EMbo added ...(p0)   ldfe f76 = [r39],-16(p6)   fsub.s1 f54 = f0, f1;; } { .mmf	nop 999	// EMbo added ...(p0)   ldfe f75 = [r39],-16////     E = E + E_hold*E         (1)//     Point to P_8.//(p0)   fma.s1 f37 = f37, f81, f37;; } { .mmf	nop 999	// EMbo added ...(p0)   ldfe f74 = [r39],-16(p0)   fnma.s1 f64 = f85, f35, f36;; } { .mmf	nop 999	// EMbo added ...(p0)   ldfe f72 = [r39],-16(p7)   fadd.s1 f54 = f0, f1;; } { .mmf	nop 999	// EMbo added ...(p0)   ldfe f70 = [r39],-16////     E_hold = 1.0 - E * U     (2)//(p0)   fnma.s1 f81 = f37, f35, f1;; } { .mmf	nop 999	// EMbo added ...(p0)   ldfe f68 = [r39],-16(p0)   fmpy.s1 f50 = f34, f50;; } { .mmf	nop 999	// EMbo added ...(p0)   ldfe f66 = [r39],-16(p0)   fmpy.d.s0 f67 = f67, f67 } { .mfi	nop 999	// EMbo added ...////     E = E + E_hold*E         (2)//(p0)   fma.s1 f37 = f37, f81, f37	nop 999;;	// EMbo added ... } { .mfi	nop 999	// EMbo added ...////     E_hold = 1.0 - E * U     (3)//(p0)   fnma.s1 f81 = f37, f35, f1	nop 999;;	// EMbo added ... } { .mfi	nop 999	// EMbo added ...////     E = E + E_hold*E         (3)//     At this point E approximates 1/U to roughly working precision//     z = V*E approximates V/U//(p0)   fma.s1 f37 = f37, f81, f37	nop 999;;	// EMbo added ... } { .mfi	nop 999	// EMbo added ...////     z =   V * E//(p0)   fmpy.s1 f59 = f36, f37	nop 999	// EMbo added ... } { .mfi	nop 999	// EMbo added ...(p0)   fmpy.s1 f64 = f64, f37	nop 999;;	// EMbo added ... } { .mfi	nop 999	// EMbo added ...////     zsq = z * z//     Also load P_3//(p0)   fmpy.s1 f60 = f59, f59	nop 999	// EMbo added ... } { .mfi	nop 999	// EMbo added ...(p0)   fadd.s1 f52 = f85, f64	nop 999;;	// EMbo added ... } { .mfi	nop 999	// EMbo added ...(p0)   fma.s1 f62 = f60, f77, f76	nop 999	// EMbo added ... } { .mfi	nop 999	// EMbo added ...(p0)   fma.s1 f63 = f60, f70, f68	nop 999;;	// EMbo added ... } { .mfi	nop 999	// EMbo added ...////     z8 = zsq * zsq//     Also load P_2//(p0)   fmpy.s1 f61 = f60, f60	nop 999	// EMbo added ... } { .mfi	nop 999	// EMbo added ...(p0)   fsub.s1 f85 = f85, f52	nop 999;;	// EMbo added ... } { .mfi	nop 999	// EMbo added ...(p0)   fmerge.s  f65 = f52,f52	nop 999;;	// EMbo added ... } { .mfi	nop 999	// EMbo added ...(p0)   fma.s1 f62 = f60, f62, f75	nop 999	// EMbo added ... } { .mfi	nop 999	// EMbo added ...(p0)   fma.s1 f63 = f60, f63, f66	nop 999;;	// EMbo added ... } { .mfi	nop 999	// EMbo added ...////     z8 = z8 * z8//     Also load P_1//     poly1 = _4 + zsq*(P_5 + zsq*(P_6 + zsq*(P_7 + zsq*P_8)))//     poly2 = zsq*(P_1 + zsq*(P_2 + zsq*P_3))//////     poly1 = P_7 + zsq * P_8//     poly2 = P_2 + zsq * P_3//     poly1 = P_4 + zsq*(P_5 + zsq*(P_6 + zsq*poly1))//     poly2 = zsq*(P_1 + zsq*poly2)//////     poly1 = P_6 + zsq * poly1//     poly2 = P_1 + zsq * poly2//     poly1 = P_4 + zsq*(P_5 + zsq*poly1)//     poly2 = zsq*poly2//(p0)   fmpy.s1 f61 = f61, f61	nop 999	// EMbo added ... } { .mfi	nop 999	// EMbo added ...(p0)   fadd.s1 f64 = f85, f64	nop 999;;	// EMbo added ... } { .mfi	nop 999	// EMbo added ...(p0)   fma.s1 f62 = f60, f62, f74	nop 999	// EMbo added ... } { .mfi	nop 999	// EMbo added ...////     poly1 = P_5 + zsq * poly1//     poly2 = zsq * poly2

⌨️ 快捷键说明

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