📄 e_asin.s
字号:
{ .mfi nop.m 999 fma.s1 asin_63by8 = asin_5by2,asin_11by4,f1 nop.i 999;;} { .mfi nop.m 999 fma.s1 asin_poly_p13 = asin_t,asin_coeff_P14,asin_coeff_P13 nop.i 999} { .mfi nop.m 999 fma.s1 asin_18by4 = asin_3by2,asin_5by2,asin_3by4 nop.i 999;;} { .mfi nop.m 999 fma.s1 asin_l1 = asin_5by2,asin_d,asin_3by2 nop.i 999} { .mfi nop.m 999 fma.s1 asin_d2 = asin_d,asin_d,f0 nop.i 999;;} { .mfi nop.m 999 fma.s1 asin_poly_p15 = asin_t2,asin_poly_p17,asin_poly_p15 nop.i 999} { .mfi nop.m 999 fma.s1 asin_T0 = asin_d,asin_S0,f0 nop.i 999;;} { .mfi nop.m 999 fma.s1 asin_poly_p19 = asin_t2,asin_coeff_P21,asin_poly_p19 nop.i 999} { .mfi nop.m 999 fma.s1 asin_poly_p4 = asin_t2,asin_poly_p6,asin_poly_p4 nop.i 999;;} { .mfi nop.m 999 fma.s1 asin_d1 = asin_35by8,asin_d,f0 nop.i 999} { .mfi nop.m 999 fma.s1 asin_231by16 = asin_3by2,asin_35by8,asin_63by8 nop.i 999;;} { .mfi nop.m 999 fma.s1 asin_poly_p2 = asin_t,asin_coeff_P3,asin_coeff_P2 nop.i 999} { .mfi nop.m 999 fma.s1 asin_poly_p8 = asin_t2,asin_coeff_P10,asin_poly_p8 nop.i 999;;} { .mfi nop.m 999 fma.s1 asin_poly_p11 = asin_t,asin_coeff_P12,asin_coeff_P11 nop.i 999} { .mfi nop.m 999 fma.s1 asin_e0 = asin_d2,asin_l1,asin_d nop.i 999;;} { .mfi nop.m 999 fma.s1 asin_1poly_p15 = asin_tx,asin_coeff_P16,asin_coeff_P15 nop.i 999} { .mfi nop.m 999 fma.s1 asin_poly_p0 = asin_t,asin_coeff_P1,f1 nop.i 999;;} { .mfi nop.m 999 fma.s1 asin_1poly_p19 = asin_tx,asin_coeff_P20,asin_coeff_P19 nop.i 999} { .mfi nop.m 999 fma.s1 asin_1poly_p4 = asin_tx,asin_coeff_P5,asin_coeff_P4 nop.i 999;;} { .mfi nop.m 999 fma.s1 asin_1poly_p8 = asin_tx,asin_coeff_P9,asin_coeff_P8 nop.i 999} { .mfi nop.m 999 fma.s1 asin_l2 = asin_231by16,asin_d,asin_63by8 nop.i 999;;} { .mfi nop.m 999 fma.s1 asin_d3 = asin_d2,asin_d,f0 nop.i 999} { .mfi nop.m 999 fma.s1 asin_T3 = asin_d2,asin_T0,f0 nop.i 999;;} { .mfi nop.m 999 fma.s1 asin_429by16 = asin_18by4,asin_11by4,asin_231by16 nop.i 999} { .mfi nop.m 999 fma.s1 asin_S1 = asin_e0,asin_S0,asin_S0 nop.i 999;;} { .mfi nop.m 999 fma.s1 asin_poly_p4 = asin_t4,asin_poly_p8,asin_poly_p4 nop.i 999} { .mfi nop.m 999 fma.s1 asin_poly_p15 = asin_t4,asin_poly_p19,asin_poly_p15 nop.i 999;;} { .mfi nop.m 999 fma.s1 asin_poly_p0 = asin_t2,asin_poly_p2,asin_poly_p0 nop.i 999} { .mfi nop.m 999 fma.s1 asin_poly_p11 = asin_t2,asin_poly_p13,asin_poly_p11 nop.i 999;;} { .mfi nop.m 999 fma.s1 asin_t8 = asin_t4,asin_t4,f0 nop.i 999} { .mfi nop.m 999 fma.s1 asin_e1 = asin_d2,asin_l2,asin_d1 nop.i 999;;} { .mfi nop.m 999 fma.s1 asin_1poly_p4 = asin_tx2,asin_1poly_p6,asin_1poly_p4 nop.i 999} { .mfi nop.m 999 fma.s1 asin_1poly_p15 = asin_tx2,asin_1poly_p17,asin_1poly_p15 nop.i 999;;} { .mfi nop.m 999 fma.s1 asin_1poly_p8 = asin_tx2,asin_coeff_P10,asin_1poly_p8 nop.i 999} { .mfi nop.m 999 fma.s1 asin_1poly_p19 = asin_tx2,asin_coeff_P21,asin_1poly_p19 nop.i 999;;} { .mfi nop.m 999 fma.s1 asin_1poly_p2 = asin_tx,asin_coeff_P3,asin_coeff_P2 nop.i 999} { .mfi nop.m 999 fma.s1 asin_1poly_p13 = asin_tx,asin_coeff_P14,asin_coeff_P13 nop.i 999;;} { .mfi nop.m 999 fma.s1 asin_1poly_p0 = asin_tx,asin_coeff_P1,f1 nop.i 999} { .mfi nop.m 999 fma.s1 asin_1poly_p11 = asin_tx,asin_coeff_P12,asin_coeff_P11 nop.i 999;;} { .mfi nop.m 999 fma.s1 asin_l3 = asin_429by16,asin_d,f0 nop.i 999} { .mfi nop.m 999 fma.s1 asin_z = asin_e1,asin_T3,asin_S1 nop.i 999;;} { .mfi nop.m 999 fma.s1 asin_poly_p11 = asin_t4,asin_poly_p15,asin_poly_p11 nop.i 999} { .mfi nop.m 999 fma.s1 asin_T6 = asin_T3,asin_d3,f0 nop.i 999;;} { .mfi nop.m 999 fma.s1 asin_t11 = asin_t8,asin_t3,f0 nop.i 999} { .mfi nop.m 999 fma.s1 asin_poly_p0 = asin_t4,asin_poly_p4,asin_poly_p0 nop.i 999;;} { .mfi nop.m 999 fma.s1 asin_1poly_p4 = asin_tx4,asin_1poly_p8,asin_1poly_p4 nop.i 999} { .mfi nop.m 999 fma.s1 asin_1poly_p15 = asin_tx4,asin_1poly_p19,asin_1poly_p15 nop.i 999;;} { .mfi nop.m 999 fma.s1 asin_1poly_p0 = asin_tx2,asin_1poly_p2,asin_1poly_p0 nop.i 999} { .mfi nop.m 999 fma.s1 asin_1poly_p11 = asin_tx2,asin_1poly_p13,asin_1poly_p11 nop.i 999;;} { .mfi nop.m 999// fcmp.le.s1 asin_pred_LEsqrt2by2,asin_pred_GTsqrt2by2 = asin_abs_x,asin_const_sqrt2by2 fcmp.le.s1 p7,p8 = asin_abs_x,asin_const_sqrt2by2 nop.i 999} { .mfi nop.m 999 fma.s1 asin_tx8 = asin_tx4,asin_tx4,f0 nop.i 999;;} // Form a small number to force inexact flag for small args { .mfi nop.m 999 fmerge.se asin_eps = asin_eps_exp,asin_eps_sig nop.i 999} { .mfi nop.m 999 fma.s1 asin_z = asin_l3,asin_T6,asin_z nop.i 999;;} { .mfi nop.m 999 fma.s1 asin_series_t = asin_t11,asin_poly_p11,asin_poly_p0 nop.i 999;;} { .mfi nop.m 999 fma.s1 asin_1poly_p0 = asin_tx4,asin_1poly_p4,asin_1poly_p0 nop.i 999} { .mfi nop.m 999 fma.s1 asin_1poly_p11 = asin_tx4,asin_1poly_p15,asin_1poly_p11 nop.i 999;;} { .mfi nop.m 999 fma.s1 asin_tx11 = asin_tx8,asin_tx3,f0 nop.i 999;;} { .mfi nop.m 999//(asin_pred_GTsqrt2by2) fnma.s1 answer2 = asin_z,asin_series_t,asin_const_piby2(p8) fnma.s1 answer2 = asin_z,asin_series_t,asin_const_piby2 nop.i 999;;} { .mfi nop.m 999 fma.s1 asin_series_tx = asin_tx11,asin_1poly_p11,asin_1poly_p0 nop.i 999;;} { .mfi nop.m 999//(asin_pred_GTsqrt2by2) fma.d f8 = asin_sgn_x,answer2,f0(p8) fma.d f8 = asin_sgn_x,answer2,f0 nop.i 999;;} // asin_eps is added only to force inexact and possibly underflow flag // in case asin_series_tx is zero//{ .mfi nop.m 999(p7) fma.d asin_eps = f8,asin_series_tx,asin_eps nop.i 999} { .mfb nop.m 999//(asin_pred_LEsqrt2by2) fma.d f8 = f8,asin_series_tx,f0(p7) fma.d f8 = f8,asin_series_tx,f0 br.ret.sptk b0} ;;L(ASIN_ABS_1):// Here for short exit if |x|=1{ .mfb nop.m 999 fma.d f8 = asin_sgn_x,asin_const_piby2,f0 br.ret.sptk b0} ;;.endp asinASM_SIZE_DIRECTIVE(asin).proc __libm_error_region__libm_error_region:.prologue{ .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};;{ .mmi stfs [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 frcpa.s0 f9,p0 = f0,f0;;{ .mib stfd [GR_Parameter_X] = f8 // Store Parameter 1 on stack add GR_Parameter_RESULT = 0,GR_Parameter_Y nop.b 0 // Parameter 3 address}{ .mib stfd [GR_Parameter_Y] = f9,-16 // Store Parameter 3 on stack adds r32 = 48,sp br.call.sptk b0=__libm_error_support# // Call error handling function};;{ .mmi ldfd f8 = [r32] // 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 + -