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

📄 e_atan2.s

📁 Glibc 2.3.2源代码(解压后有100多M)
💻 S
📖 第 1 页 / 共 2 页
字号:
(p6) fmerge.ns    atan2_sgnXY     = atan2_sgnXY, atan2_sgnXY           nop.i 999}{ .mfi           ldfe         atan2_3pi_by_4       = [EXP_AD_P2],16           fma.s1       atan2_w         = atan2_wp, atan2_B1sq,f0           nop.i 999;;}// p12 ==> x  inf     y inf// p13 ==> x  inf     y !inf{ .mfi           nop.m 999           fmerge.s     atan2_z         = f0, atan2_z           nop.i 999;;}{ .mfi           nop.m 99(p10)      fclass.m.unc p12,p13 = f8, 0x23           nop.i 999}{ .mfi           nop.m 99(p11)      fclass.m.unc p14,p15 = f8, 0x23           nop.i 999;;}{ .mfi           nop.m 999(p12)      fcmp.eq.unc.s1 p10,p11       = atan2_sgnX,f1           nop.i 99;;}{ .mfb           mov atan2_GR_sml_exp = 0x1  // Small exponent for making small norm(p14)      fma.d       f8 = atan2_sgnY, atan2_Pi_by_2, f0(p14)      br.ret.spnt b0;;}// Make a very small normal in case need to force inexact and underflow{ .mfi           setf.exp atan2_sml_norm = atan2_GR_sml_exp           fma.s1       atan2_V13       = atan2_w, atan2_P11, atan2_P10           nop.i 999}{ .mfi           nop.m 999           fma.s1       atan2_W11       = atan2_w, atan2_P21, atan2_P20           nop.i 999;;}{ .mfi           nop.m 999           fma.s1       atan2_E         = atan2_Vmin, atan2_z, atan2_Umax           nop.i 999}{ .mfi           nop.m 999           fnma.s1      atan2_gamma     = atan2_Umax, atan2_z, f1           nop.i 999;;}{ .mfi           nop.m 999           fma.s1       atan2_V11       = atan2_w, atan2_P9, atan2_P8           nop.i 999}{ .mfi           nop.m 999           fma.s1       atan2_V12       = atan2_w, atan2_w, f0           nop.i 999;;}{ .mfi           nop.m 999           fma.s1       atan2_V7        = atan2_w, atan2_P5 , atan2_P4            nop.i 999}{ .mfi           nop.m 999           fma.s1       atan2_V8        = atan2_w, atan2_P7 , atan2_P6            nop.i 999;;}{ .mfi           nop.m 999           fma.s1       atan2_W7        = atan2_w, atan2_P17, atan2_P16            nop.i 999}{ .mfi           nop.m 999           fma.s1       atan2_W8        = atan2_w, atan2_P19, atan2_P18           nop.i 999;;}{ .mfi           nop.m 999           fma.s1       atan2_W3        = atan2_w, atan2_P13, atan2_P12            nop.i 999}{ .mfi           nop.m 999           fma.s1       atan2_W4        = atan2_w, atan2_P15, atan2_P14           nop.i 999;;}{ .mfi           nop.m 999           fma.s1       atan2_V3        = atan2_w, atan2_P1 , atan2_P0            nop.i 999}{ .mfi           nop.m 999           fma.s1       atan2_V4        = atan2_w, atan2_P3 , atan2_P2           nop.i 999;;}{ .mfi           nop.m 999           fma.s1       atan2_zcub      = atan2_z, atan2_w, f0           nop.i 999}{ .mfi           nop.m 999           fnma.s1       atan2_gV        = atan2_Umax, atan2_z, atan2_Vmin            nop.i 999;;}{ .mfi           nop.m 999           frcpa.s1     atan2_F,p15     = f1, atan2_E           nop.i 999}{ .mfi           nop.m 999           fma.s1       atan2_V10       = atan2_V12, atan2_V13, atan2_V11           nop.i 999;;}{ .mfi           nop.m 999           fma.s1       atan2_V6        = atan2_V12, atan2_V8 , atan2_V7            nop.i 999}{ .mfi           nop.m 999           fma.s1       atan2_V9        = atan2_V12, atan2_V12, f0           nop.i 999;;}{ .mfi           nop.m 999           fma.s1       atan2_W10       = atan2_V12, atan2_P22 , atan2_W11           nop.i 999}{ .mfi           nop.m 999           fma.s1       atan2_W6        = atan2_V12, atan2_W8 , atan2_W7           nop.i 999;;}{ .mfi           nop.m 999           fma.s1       atan2_W2        = atan2_V12, atan2_W4  , atan2_W3           nop.i 999}{ .mfi           nop.m 999           fma.s1       atan2_V2        = atan2_V12, atan2_V4 , atan2_V3           nop.i 999;;}// Both X and Y are INF// p10 ==> X +// p11 ==> X -.pred.rel "mutex",p10,p11{ .mfb           nop.m 999(p10)      fma.d       f8              = atan2_sgnY, atan2_pi_by_4, f0(p10)      br.ret.spnt b0}{ .mfb           nop.m 999(p11)      fma.d       f8              = atan2_sgnY, atan2_3pi_by_4, f0(p11)      br.ret.spnt b0;;}.pred.rel "mutex",p8,p9,p6{ .mfi           nop.m 999           fnma.s1      atan2_alpha     = atan2_E, atan2_F, f1           nop.i 999}{ .mfi           nop.m 999           fnma.s1      atan2_alpha_1   = atan2_E, atan2_F, atan2_two           nop.i 999;;}{ .mfi           nop.m 999//(atan2_sT) fmerge.s     atan2_P         = atan2_Y, atan2_Pi_by_2(p6) fmerge.s     atan2_P         = atan2_Y, atan2_Pi_by_2           nop.i 999}{ .mfi           nop.m 999           fma.s1       atan2_gVF       = atan2_gV, atan2_F, f0           nop.i 999;;}{ .mfi           nop.m 999           fma.s1       atan2_V5        = atan2_V9, atan2_V10, atan2_V6           nop.i 999}{ .mfi           nop.m 999           fma.s1       atan2_W12       = atan2_V9, atan2_V9, f0           nop.i 999;;}{ .mfi           nop.m 999(p8)       fmerge.s     atan2_P         = atan2_sgnY, f0           nop.i 999}{ .mfi           nop.m 999           fma.s1       atan2_W5        = atan2_V9, atan2_W10, atan2_W6           nop.i 999;;}{ .mfi           nop.m 999(p9)       fmerge.s     atan2_P         = atan2_sgnY, atan2_pi           nop.i 999;;}{ .mfi           nop.m 999           fma.s1       atan2_alpha_sq  = atan2_alpha, atan2_alpha, f0             nop.i 999}{ .mfi           nop.m 999           fma.s1       atan2_Cp        = atan2_alpha, atan2_alpha_1, f1             nop.i 999;;}{ .mfi           nop.m 999           fma.s1       atan2_V1        = atan2_V9, atan2_V5, atan2_V2           nop.i 999}{ .mfi           nop.m 999           fma.s1       atan2_W12       = atan2_V9, atan2_W12, f0           nop.i 999;;}// p13 ==> x  inf     y !inf{ .mfi           nop.m 999           fma.s1       atan2_W1        = atan2_V9, atan2_W5, atan2_W2           nop.i 999}{ .mfi           nop.m 999(p13)      fcmp.eq.unc.s1 p10,p11       = atan2_sgnX,f1           nop.i 999;;}{ .mfi           nop.m 999           fma.s1       atan2_alpha_cub = atan2_alpha, atan2_alpha_sq, f0           nop.i 999}{ .mfi           nop.m 999           fma.s1       atan2_C         = atan2_gVF, atan2_Cp, f0           nop.i 999;;}.pred.rel "mutex",p10,p11 // x inf y !inf{ .mfb           nop.m 999(p10)      fmerge.s     f8              = atan2_sgnY, f0(p10)      br.ret.spnt b0}{ .mfb           nop.m 999(p11)      fma.d        f8              = atan2_sgnY, atan2_pi, f0(p11)      br.ret.spnt b0;;}// p10 ==> y   0     x?// p11 ==> y  !0     x?{ .mfi           nop.m 999           fclass.m.unc p10,p11 = f8, 0x07           nop.i 999;;}{ .mfi           nop.m 999(p8)       fmerge.s     atan2_sml_norm  = atan2_sgnY, atan2_sml_norm           nop.i 999;;}{ .mfi           nop.m 999           fma.s1       atan2_Pp        = atan2_W12, atan2_W1, atan2_V1           nop.i 999}{ .mfi           nop.m 999           fma.s1       atan2_d         = atan2_alpha_cub, atan2_C, atan2_C           nop.i 999;;}// p12 ==>  y0     x0// p13 ==>  y0     x!0// p14 ==>  y!0    x0// p15 ==>  y!0    x!0{ .mfi           nop.m 999(p10)      fclass.m.unc p12,p13 = f9, 0x07            nop.i 999}{ .mfi           nop.m 999(p11)      fclass.m.unc p14,p15 = f9, 0x07            nop.i 999;;}{ .mfb           nop.m 999(p13)      fcmp.eq.unc.s1 p10,p11       = atan2_sgnX,f1(p12)      br.spnt ATAN2_ERROR;;}{ .mfi           nop.m 999           fma.s1       atan2_pd        = atan2_P0, atan2_d, f0           nop.i 999}{ .mfi           nop.m 999           fma.s1       atan2_dsq       = atan2_d, atan2_d, f0           nop.i 999;;}{ .mfi           nop.m 999           fma.s1       atan2_A_hi      = atan2_zcub, atan2_Pp, atan2_z           nop.i 999}{ .mfb           nop.m 999(p14)      fma.d       f8 = atan2_sgnY, atan2_Pi_by_2, f0(p14)      br.ret.spnt b0                ;;}{ .mfb           nop.m 999(p10)      fmerge.s     f8              = atan2_sgnY, f0(p10)      br.ret.spnt b0}{ .mfb           nop.m 999(p11)      fma.d        f8              = atan2_sgnY, atan2_pi, f0(p11)      br.ret.spnt b0;;}{ .mfi           nop.m 999           fma.s1       atan2_A_lo      = atan2_pd, atan2_dsq, atan2_d           nop.i 999;;}{ .mfi           nop.m 999           fma.s1       atan2_A         = atan2_A_hi, f1, atan2_A_lo           nop.i 999;;}// Force inexact and possibly underflow if very small results{ .mfi           nop.m 999(p8)       fma.d        atan2_FR_tmp    = atan2_sgnXY, atan2_A, atan2_sml_norm           nop.i 999}{ .mfb           nop.m 999           fma.d        f8              = atan2_sgnXY, atan2_A, atan2_P           br.ret.sptk  b0     ;;}ATAN2_ERROR:{ .mfi          nop.m 999          fcmp.eq.unc.s1 p10,p11       = atan2_sgnX,f1          nop.i 999};;{ .mfi          mov        atan2_GR_tag     = 37 (p10)     fmerge.s     f10             = atan2_sgnY, f0          nop.i 999 }{ .mfi          nop.m 999(p11)     fma.d        f10            = atan2_sgnY, atan2_pi, f0          nop.i 999;;}.endp atan2#ASM_SIZE_DIRECTIVE(atan2#)// 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 999.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] = f8,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] = f9                   // STORE Parameter 1 on stack        add   GR_Parameter_RESULT = 0,GR_Parameter_Y // Parameter 3 address        nop.b 0                                 }{ .mib        stfd [GR_Parameter_Y] = f10                  // 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 + -