📄 trig.s
字号:
ldd [%l0+c5_8],%f0 fsubd %f0,%f4,%f0 andcc %l2,2,%g0 be Treturn nop ba Treturn fnegs %f0,%f03: ld [%l0+thresh2],%l3 ld [%fp+z],%l4 ! if(z>=thresh2) then ... cmp %l4,%l3 bl 3f nop bg 2f ld [%l0+thresh2+4],%l3 ld [%fp+z+4],%l4 cmp %l4,%l3 blu 3f nop2: ldd [%l0+c3_16],%f6 fsubd %f2,%f6,%f6 fsubd %f6,%f4,%f4 ldd [%l0+c13_16],%f0 fsubd %f0,%f4,%f0 andcc %l2,2,%g0 be Treturn nop ba Treturn fnegs %f0,%f03: fsubd %f2,%f4,%f4 ldd [%l0+one],%f0 fsubd %f0,%f4,%f0 andcc %l2,2,%g0 be Treturn nop ba Treturn fnegs %f0,%f0T4: ! tan,sincos fmuld %f12,%f12,%f10 ! f10 = z*z set S,%l4 ! l4 = S add %l4,%l5,%l4 ! l4 = &S[m] ldd [%l4+40],%f4 ! f4 = S[m+5] fmuld %f12,%f4,%f4 ! f4 = z*S[m+5] ldd [%l4+32],%f6 ! f6 = S[m+4] faddd %f6,%f4,%f4 ! f4 = S[m+4]+z*S[m+5] fmuld %f12,%f4,%f4 ldd [%l4+24],%f2 ! f2 = S[m+3] faddd %f2,%f4,%f4 fmuld %f12,%f4,%f4 ldd [%l4+16],%f6 faddd %f6,%f4,%f4 fmuld %f12,%f4,%f4 ldd [%l4+8],%f2 faddd %f2,%f4,%f4 fmuld %f12,%f4,%f4 ldd [%l4],%f6 faddd %f6,%f4,%f26 ! f26 = ss = S[m]+... set C,%l4 ! l4 = C add %l4,%l5,%l4 ! l4 = &C[m] ldd [%l4+40],%f4 ! f4 = C[m+5] fmuld %f12,%f4,%f4 ! f4 = z*C[m+5] ldd [%l4+32],%f6 ! f6 = C[m+4] faddd %f6,%f4,%f4 ! f4 = C[m+4]+z*C[m+5] fmuld %f12,%f4,%f4 ldd [%l4+24],%f2 ! f2 = C[m+3] faddd %f2,%f4,%f4 fmuld %f12,%f4,%f4 ldd [%l4+16],%f6 faddd %f6,%f4,%f4 fmuld %f12,%f4,%f4 ldd [%l4+8],%f2 faddd %f2,%f4,%f4 fmuld %f12,%f4,%f4 ldd [%l4],%f6 faddd %f6,%f4,%f4 fmuld %f10,%f4,%f28 ! f28 = cc = (z*z)*(C[m]+...) ldd [%l0+half],%f2 fmuld %f12,%f2,%f2 ! f2 = hz = z/2 cmp %i4,2 bne 1f std %f12,[%fp+z] ba 2f fmuld %f12,%f26,%f26 ! if (k==2) ss *= z;1: tst %l1 be 2f nop fmuld %f22,%f24,%f20 fsubd %f28,%f20,%f28 ! if (k==3) cc -= y1*y22: ld [%l0+thresh1],%l3 ld [%fp+z],%l4 ! if(z>=thresh1) then ... cmp %l4,%l3 bl 3f nop bg 2f ld [%l0+thresh1+4],%l3 ld [%fp+z+4],%l4 cmp %l4,%l3 blu 3f nop2: ldd [%l0+c3_8],%f6 fsubd %f2,%f6,%f6 fsubd %f6,%f28,%f4 ldd [%l0+c5_8],%f0 ba 4f fsubd %f0,%f4,%f0 ! f0 = w = 5/8-((hz-3/8)-cc)3: ld [%l0+thresh2],%l3 ld [%fp+z],%l4 ! if(z>=thresh2) then ... cmp %l4,%l3 bl 3f nop bg 2f ld [%l0+thresh2+4],%l3 ld [%fp+z+4],%l4 cmp %l4,%l3 blu 3f nop2: ldd [%l0+c3_16],%f6 fsubd %f2,%f6,%f6 fsubd %f6,%f28,%f4 ldd [%l0+c13_16],%f0 ba 4f fsubd %f0,%f4,%f0 ! f0 = w = 13/16 -((hz-3/16)-cc)3: fsubd %f2,%f28,%f4 ldd [%l0+one],%f0 fsubd %f0,%f4,%f0 ! f0 = w = 1 - (hz - cc)4: ! if(k==2) then ... (tan) cmp %i4,2 bne T4_sincos nop ! if((n&1)==0) then ... tan = sin/cos andcc %l2,1,%g0 bne 5f tst %l1 bne 1f nop ! j==0 faddd %f26,%f28,%f20 fsubd %f2,%f20,%f20 fdivd %f20,%f0,%f0 fmuld %f22,%f0,%f0 ba Treturn faddd %f22,%f0,%f01: ! j==1 faddd %f26,%f28,%f20 fsubd %f20,%f2,%f20 fdivd %f20,%f0,%f0 fmuld %f22,%f24,%f18 fsubd %f0,%f18,%f0 fmuld %f22,%f0,%f0 fsubd %f0,%f24,%f0 ba Treturn fsubd %f22,%f0,%f05: ! tan = -cos/sin bne 1f nop ! j==0 fmuld %f22,%f26,%f20 fnegs %f0,%f0 fsubd %f22,%f20,%f20 ba Treturn fdivd %f0,%f20,%f01: fmuld %f24,%f12,%f20 faddd %f24,%f20,%f20 fmuld %f0,%f20,%f20 fmuld %f22,%f26,%f18 fnegs %f0,%f0 fsubd %f18,%f20,%f20 fsubd %f22,%f20,%f20 ba Treturn fdivd %f0,%f20,%f0T4_sincos: fmuld %f22,%f12,%f20 tst %l1 bne 1f nop fmuld %f20,%f26,%f20 ba 2f fsubd %f22,%f20,%f201: fmuld %f2,%f24,%f18 fsubd %f24,%f18,%f18 fmuld %f20,%f26,%f20 fsubd %f20,%f18,%f20 fsubd %f22,%f20,%f202: andcc %l2,3,%l2 bne 3f cmp %l2,1 st %f0,[%i3] ! n == 0 st %f1,[%i3+4] st %f20,[%i2] ba Treturn st %f21,[%i2+4]3: bne 4f cmp %l2,2 fnegs %f20,%f20 st %f0,[%i2] ! n == 1 st %f1,[%i2+4] st %f20,[%i3] ba Treturn st %f21,[%i3+4]4: bg 5f nop fnegs %f0,%f0 st %f0,[%i3] ! n == 2 st %f1,[%i3+4] fnegs %f20,%f20 st %f20,[%i2] ba Treturn st %f21,[%i2+4]5: fnegs %f0,%f0 st %f0,[%i2] ! n == 1 st %f1,[%i2+4] st %f20,[%i3] st %f21,[%i3+4]Treturn: ret restore!!!! argred()!! .seg "text" ! [internal]argred: save %sp,-376,%sp st %i0,[%fp+68] st %i1,[%fp+72] sethi %hi(_one+4),%o1 ld [%o1+%lo(_one+4)],%o1 sethi %hi(0x3ff00000),%o2 cmp %o1,%o2 mov 1,%i4 bne L77003 add %fp,-8,%i0 mov 0,%i4L77003: ld [%fp+68],%o0 st %f30,[%sp+LP192] st %f31,[%sp+LP192+4] call _signbit,2 mov %i1,%o1 ld [%fp+72],%o1 mov %o0,%l7 call _fabs,2 ld [%fp+68],%o0 fmovs %f1,%f31 fmovs %f0,%f30 std %f30,[%sp+LP192+8] ld [%sp+LP192+8],%o0 ld [%sp+LP192+12],%o1 st %f30,[%sp+LP192] st %f31,[%sp+LP192+4] call _ilogb,2 nop ld [%sp+LP192],%f30 ld [%sp+LP192+4],%f31 dec 26,%o0 call .div,2 mov 24,%o1 mov %o0,%i5 tst %i5 bg,a LY25 std %f30,[%sp+LP192+8] b L77006 mov 0,%i5LY25: ! [internal] ld [%sp+LP192+8],%o0 ld [%sp+LP192+12],%o1 st %f30,[%sp+LP192] st %f31,[%sp+LP192+4] sub %g0,%i5,%o2 sll %o2,3,%o2 sll %o2,1,%o3 call _scalbn,3 add %o2,%o3,%o2 fmovs %f1,%f31 fmovs %f0,%f30L77006: std %f30,[%fp-8] sll %i4,2,%i4 add %i0,%i4,%i0 ld [%i0],%o7 sethi %hi(-0x20000000),%l2 and %o7,-32,%o7 st %o7,[%i0] ldd [%fp-8],%f0 std %f0,[%fp-16] ld [%i0],%l1 sethi %hi(_p3_inf),%l5 and %l1,%l2,%l1 st %l1,[%i0] ldd [%fp-16],%f4 ldd [%fp-16],%f10 fsubd %f30,%f10,%f12 ldd [%fp-8],%f6 ldd [%fp-8],%f2 std %f2,[%fp-24] sethi %hi(_fp_pi),%l6 sethi %hi(_p_inf),%l4 add %l4,%lo(_p_inf),%i4 fsubd %f4,%f6,%f8 std %f12,[%fp-16] std %f8,[%fp-32] ldd [%l5+%lo(_p3_inf)],%f14 std %f14,[%fp-40] ld [%l6+%lo(_fp_pi)],%l6 cmp %l6,1 bne,a LY24 sethi %hi(_fp_pi),%o2 sethi %hi(_p3_66),%o1 ldd [%o1+%lo(_p3_66)],%f16 std %f16,[%fp-40] sethi %hi(_p_66),%o0 add %o0,%lo(_p_66),%i4 sethi %hi(_fp_pi),%o2LY24: ! [internal] ld [%o2+%lo(_fp_pi)],%o2 cmp %o2,2 bne,a LY23 cmp %i5,1 sethi %hi(_p3_53),%o4 ldd [%o4+%lo(_p3_53)],%f18 std %f18,[%fp-40] sethi %hi(_p_53),%o3 add %o3,%lo(_p_53),%i4 cmp %i5,1LY23: ! [internal] bl,a LY22 sethi %hi(_twon24),%l0 ! [internal] sub %i5,1,%o5 sll %o5,2,%o5 ld [%i4+%o5],%f19 fitod %f19,%f20 cmp %i5,1 ble L77014 std %f20,[%fp-48] sub %i5,2,%l0 sll %l0,2,%l0 ld [%i4+%l0],%f21 fitod %f21,%f22 sethi %hi(_two24),%l2 ldd [%l2+%lo(_two24)],%f24 fmuld %f22,%f24,%f26 std %f26,[%fp-56]L77014: sethi %hi(_twon24),%l0 ! [internal]LY22: ! [internal] ldd [%l0+%lo(_twon24)],%f28 std %f28,[%fp-64] ldd [%fp-64],%f2 ldd [%fp-64],%f8 sll %i5,2,%l4 ld [%i4+%l4],%f29 fitod %f29,%f0 ldd [%l0+%lo(_twon24)],%f6 fmuld %f8,%f6,%f8 fmuld %f0,%f2,%f4 std %f8,[%fp-64] ldd [%fp-64],%f12 ldd [%fp-64],%f18 add %i5,1,%l6 sll %l6,2,%l6 ld [%i4+%l6],%f9 fitod %f9,%f10 fmovs %f5,%f31 fmovs %f4,%f30 fmuld %f10,%f12,%f14 add %i5,2,%o2 sll %o2,2,%o2 add %i5,3,%o5 sll %o5,2,%o5 add %i5,4,%l1 sll %l1,2,%l1 sethi %hi(_zero),%l3 std %f14,[%fp-136] ldd [%l0+%lo(_twon24)],%f16 fmuld %f18,%f16,%f18 std %f18,[%fp-64] ld [%i4+%o2],%f19 fitod %f19,%f20 ldd [%fp-64],%f22 ldd [%fp-64],%f28 fmuld %f20,%f22,%f24 ldd [%fp-16],%f18 std %f24,[%fp-128] ldd [%l0+%lo(_twon24)],%f26 fmuld %f28,%f26,%f28 std %f28,[%fp-64] ld [%i4+%o5],%f29 fitod %f29,%f0 ldd [%fp-64],%f2 ldd [%fp-64],%f8 fmuld %f0,%f2,%f4 std %f4,[%fp-120] ldd [%l0+%lo(_twon24)],%f6 fmuld %f8,%f6,%f8 std %f8,[%fp-64] ld [%i4+%l1],%f9 fitod %f9,%f10 ldd [%fp-64],%f12 fmuld %f10,%f12,%f14 std %f14,[%fp-112] ld [%l3+%lo(_zero)],%f15 fitod %f15,%f16 fcmpd %f18,%f16 nop ! [internal] fbne,a LY21 cmp %i5,1 ldd [%fp-32],%f22 sethi %hi(_zero),%l4 ld [%l4+%lo(_zero)],%f19 fitod %f19,%f20 fcmpd %f22,%f20 nop ! [internal] fbne,a LY20 tst %i5 ldd [%fp-24],%f24 fmuld %f24,%f30,%f26 ldd [%fp-24],%f28 ldd [%fp-136],%f0 ldd [%fp-24],%f4 ldd [%fp-128],%f6 ldd [%fp-24],%f10 fmuld %f28,%f0,%f2 ldd [%fp-120],%f12 ldd [%fp-24],%f16 ldd [%fp-112],%f18 std %f26,[%fp-224] fmuld %f4,%f6,%f8 std %f2,[%fp-216] fmuld %f10,%f12,%f14 std %f8,[%fp-208] fmuld %f16,%f18,%f20 std %f14,[%fp-200] b L77029 std %f20,[%fp-192]LY20: ! [internal] ble,a LY19 ldd [%fp-24],%f4 ldd [%fp-32],%f22 ldd [%fp-48],%f24 fmuld %f22,%f24,%f26 ldd [%fp-24],%f28 fmuld %f28,%f30,%f0 faddd %f0,%f26,%f2 b L77020 std %f2,[%fp-224]LY19: ! [internal] fmuld %f4,%f30,%f6 std %f6,[%fp-224]L77020: ldd [%fp-32],%f8 fmuld %f8,%f30,%f10 ldd [%fp-24],%f12 ldd [%fp-136],%f14 ldd [%fp-32],%f20 ldd [%fp-136],%f22 ldd [%fp-24],%f26 fmuld %f12,%f14,%f16 ldd [%fp-128],%f28 ldd [%fp-32],%f4 ldd [%fp-128],%f6 faddd %f16,%f10,%f18 fmuld %f20,%f22,%f24 ldd [%fp-120],%f12 std %f18,[%fp-216] ldd [%fp-24],%f10 ldd [%fp-32],%f18 fmuld %f26,%f28,%f0 ldd [%fp-120],%f20 faddd %f0,%f24,%f2 fmuld %f4,%f6,%f8 ldd [%fp-112],%f26 ldd [%fp-24],%f24 std %f2,[%fp-208] fmuld %f10,%f12,%f14 fmuld %f18,%f20,%f22 faddd %f14,%f8,%f16 fmuld %f24,%f26,%f28 std %f16,[%fp-200] faddd %f28,%f22,%f0 b L77029 std %f0,[%fp-192]LY21: ! [internal] bl,a LY18 ldd [%fp-32],%f28 cmp %i5,1 ble,a LY17 ldd [%fp-32],%f22 ldd [%fp-32],%f2 ldd [%fp-48],%f4 fmuld %f2,%f4,%f6 ldd [%fp-24],%f8 ldd [%fp-16],%f14 ldd [%fp-56],%f16 fmuld %f8,%f30,%f10 fmuld %f14,%f16,%f18 faddd %f10,%f6,%f12 faddd %f12,%f18,%f20 b L77026 std %f20,[%fp-224]LY17: ! [internal] ldd [%fp-48],%f24 fmuld %f22,%f24,%f26 ldd [%fp-24],%f28 fmuld %f28,%f30,%f0 faddd %f0,%f26,%f2 std %f2,[%fp-224]L77026: ldd [%fp-32],%f4 fmuld %f4,%f30,%f6 ldd [%fp-24],%f8 ldd [%fp-136],%f10 ldd [%fp-16],%f16 ldd [%fp-48],%f18 fmuld %f8,%f10,%f12 fmuld %f16,%f18,%f20 faddd %f12,%f6,%f14 faddd %f14,%f20,%f22 b L77028 std %f22,[%fp-216]LY18: ! [internal] fmuld %f28,%f30,%f0 ldd [%fp-24],%f2 ldd [%fp-136],%f4 ldd [%fp-24],%f24 fmuld %f2,%f4,%f6 fmuld %f24,%f30,%f26 faddd %f6,%f0,%f8 std %f26,[%fp-224] std %f8,[%fp-216]L77028: ldd [%fp-32],%f10 ldd [%fp-136],%f12 fmuld %f10,%f12,%f14 ldd [%fp-24],%f16 ldd [%fp-128],%f18 ldd [%fp-16],%f24 ldd [%fp-32],%f0 ldd [%fp-128],%f2 fmuld %f16,%f18,%f20 ldd [%fp-24],%f6 ldd [%fp-120],%f8 faddd %f20,%f14,%f22 fmuld %f24,%f30,%f26 ldd [%fp-136],%f16 fmuld %f0,%f2,%f4 faddd %f22,%f26,%f28 ldd [%fp-16],%f14 ldd [%fp-120],%f24 fmuld %f6,%f8,%f10 ldd [%fp-112],%f0 std %f28,[%fp-208] ldd [%fp-32],%f22 ldd [%fp-24],%f28 faddd %f10,%f4,%f12 fmuld %f14,%f16,%f18 ldd [%fp-128],%f8 ldd [%fp-16],%f6 fmuld %f22,%f24,%f26 faddd %f12,%f18,%f20 fmuld %f28,%f0,%f2 std %f20,[%fp-200] fmuld %f6,%f8,%f10 faddd %f2,%f26,%f4 faddd %f4,%f10,%f12 std %f12,[%fp-192]L77029: ldd [%fp-224],%f16 sethi %hi(L2000000),%l1 ! [internal] ldd [%l1+%lo(L2000000)],%f14 fmuld %f16,%f14,%f18 sethi %hi(L2000001),%l0 ! [internal] st %f18,[%sp+LP192+8] ld [%sp+LP192+8],%o0 st %f19,[%sp+LP192+8] ld [%sp+LP192+8],%o1 st %f30,[%sp+LP192] st %f31,[%sp+LP192+4] call _aint,2 nop ldd [%l0+%lo(L2000001)],%f20 fmuld %f20,%f0,%f22 ldd [%fp-224],%f24 ldd [%fp-216],%f28 fsubd %f24,%f22,%f24 std %f24,[%fp-224] ldd [%l1+%lo(L2000000)],%f26 fmuld %f28,%f26,%f0 st %f0,[%sp+LP192+8] ld [%sp+LP192+8],%o0 st %f1,[%sp+LP192+8] call _aint,2 ld [%sp+LP192+8],%o1 ldd [%l0+%lo(L2000001)],%f2 fmuld %f2,%f0,%f4 ldd [%fp-216],%f6 ldd [%fp-208],%f10 fsubd %f6,%f4,%f6 std %f6,[%fp-216] ldd [%l1+%lo(L2000000)],%f8 fmuld %f10,%f8,%f12 fdtoi %f12,%f13 st %f13,[%sp+LP192+8] ld [%sp+LP192+8],%i1 tst %i1 be,a LY16 ldd [%fp-192],%f20 sll %i1,3,%i1 st %i1,[%sp+LP192+8] ld [%sp+LP192+8],%f14 fitod %f14,%f16 ldd [%fp-208],%f18 fsubd %f18,%f16,%f18 std %f18,[%fp-208] ldd [%fp-192],%f20LY16: ! [internal] ldd [%fp-200],%f22 faddd %f20,%f22,%f24 ldd [%fp-208],%f26 ldd [%fp-216],%f0 ldd [%fp-224],%f4 ldd [%fp-224],%f8 ldd [%fp-216],%f12 fmovs %f25,%f31 fmovs %f24,%f30 faddd %f30,%f26,%f28 ldd [%fp-208],%f16 ldd [%fp-200],%f20 ldd [%fp-192],%f24 sethi %hi(L2000002),%o4 fmovs %f29,%f31 fmovs %f28,%f30 faddd %f30,%f0,%f2 fmovs %f3,%f31 fmovs %f2,%f30 faddd %f30,%f4,%f6 fmovs %f7,%f31 fmovs %f6,%f30 fsubd %f8,%f30,%f10 std %f10,[%fp-240] ldd [%fp-240],%f14 faddd %f14,%f12,%f14 std %f14,[%fp-240] ldd [%fp-240],%f18 faddd %f18,%f16,%f18 std %f18,[%fp-240] ldd [%fp-240],%f22 faddd %f22,%f20,%f22 std %f22,[%fp-240] ldd [%fp-240],%f26 faddd %f26,%f24,%f26 std %f26,[%fp-240] fdtoi %f30,%f27 st %f27,[%sp+LP192+8] ld [%sp+LP192+8],%i1 st %i1,[%sp+LP192+8] ld [%sp+LP192+8],%f28 fitod %f28,%f0 ldd [%fp-240],%f6 ldd [%fp-240],%f14 fsubd %f30,%f0,%f2 std %f2,[%fp-232] ldd [%fp-232],%f4 faddd %f4,%f6,%f8 ldd [%fp-232],%f10 fmovs %f9,%f31 fmovs %f8,%f30 fsubd %f10,%f30,%f12 faddd %f14,%f12,%f14 std %f14,[%fp-240] ldd [%o4+%lo(L2000002)],%f16 fcmped %f30,%f16 nop ! [internal] fbg,a LY15
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -