1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/security/nss/lib/freebl/mpi/montmulfv9.il Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,93 @@ 1.4 +! 1.5 +! This Source Code Form is subject to the terms of the Mozilla Public 1.6 +! License, v. 2.0. If a copy of the MPL was not distributed with this 1.7 +! file, You can obtain one at http://mozilla.org/MPL/2.0/. 1.8 + 1.9 +! 1.10 +! double upper32(double /*frs1*/); 1.11 +! 1.12 + .inline upper32,8 1.13 + fdtox %f0,%f10 1.14 + fitod %f10,%f0 1.15 + .end 1.16 + 1.17 +! 1.18 +! double lower32(double /*frs1*/, double /* Zero */); 1.19 +! 1.20 + .inline lower32,8 1.21 + fdtox %f0,%f10 1.22 + fmovs %f2,%f10 1.23 + fxtod %f10,%f0 1.24 + .end 1.25 + 1.26 +! 1.27 +! double mod(double /*x*/, double /*1/m*/, double /*m*/); 1.28 +! 1.29 + .inline mod,12 1.30 + fmuld %f0,%f2,%f2 1.31 + fdtox %f2,%f2 1.32 + fxtod %f2,%f2 1.33 + fmuld %f2,%f4,%f2 1.34 + fsubd %f0,%f2,%f0 1.35 + .end 1.36 + 1.37 + 1.38 +! 1.39 +! void i16_to_d16_and_d32x4(double * /*1/(2^16)*/, double * /* 2^16*/, 1.40 +! double * /* 0 */, 1.41 +! double * /*result16*/, double * /* result32 */ 1.42 +! float * /*source - should be unsigned int* 1.43 +! converted to float* */); 1.44 +! 1.45 + .inline i16_to_d16_and_d32x4,24 1.46 + ldd [%o0],%f2 ! 1/(2^16) 1.47 + ldd [%o1],%f4 ! 2^16 1.48 + ldd [%o2],%f22 1.49 + 1.50 + fmovd %f22,%f6 1.51 + ld [%o5],%f7 1.52 + fmovd %f22,%f10 1.53 + ld [%o5+4],%f11 1.54 + fmovd %f22,%f14 1.55 + ld [%o5+8],%f15 1.56 + fmovd %f22,%f18 1.57 + ld [%o5+12],%f19 1.58 + fxtod %f6,%f6 1.59 + std %f6,[%o4] 1.60 + fxtod %f10,%f10 1.61 + std %f10,[%o4+8] 1.62 + fxtod %f14,%f14 1.63 + std %f14,[%o4+16] 1.64 + fxtod %f18,%f18 1.65 + std %f18,[%o4+24] 1.66 + fmuld %f2,%f6,%f8 1.67 + fmuld %f2,%f10,%f12 1.68 + fmuld %f2,%f14,%f16 1.69 + fmuld %f2,%f18,%f20 1.70 + fdtox %f8,%f8 1.71 + fdtox %f12,%f12 1.72 + fdtox %f16,%f16 1.73 + fdtox %f20,%f20 1.74 + fxtod %f8,%f8 1.75 + std %f8,[%o3+8] 1.76 + fxtod %f12,%f12 1.77 + std %f12,[%o3+24] 1.78 + fxtod %f16,%f16 1.79 + std %f16,[%o3+40] 1.80 + fxtod %f20,%f20 1.81 + std %f20,[%o3+56] 1.82 + fmuld %f8,%f4,%f8 1.83 + fmuld %f12,%f4,%f12 1.84 + fmuld %f16,%f4,%f16 1.85 + fmuld %f20,%f4,%f20 1.86 + fsubd %f6,%f8,%f8 1.87 + std %f8,[%o3] 1.88 + fsubd %f10,%f12,%f12 1.89 + std %f12,[%o3+16] 1.90 + fsubd %f14,%f16,%f16 1.91 + std %f16,[%o3+32] 1.92 + fsubd %f18,%f20,%f20 1.93 + std %f20,[%o3+48] 1.94 + .end 1.95 + 1.96 +