mpv_sparc32.s

来自「支持SSL v2/v3, TLS, PKCS #5, PKCS #7, PKCS」· S 代码 · 共 1,817 行 · 第 1/5 页

S
1,817
字号
/* 0x0c6c	     */		fmuld	%f12,%f6,%f18/* 0x0c70	     */		fsubd	%f16,%f14,%f14/* 0x0c74	     */		fmuld	%f10,%f6,%f20/* 0x0c78	     */		fmuld	%f12,%f8,%f12/* 0x0c7c	     */		fsubd	%f16,%f4,%f4/* 0x0c80	     */		fmuld	%f10,%f8,%f10/* 0x0c84	     */		fdtox	%f18,%f18/* 0x0c88	     */		std	%f18,[%sp+496]/* 0x0c8c	     */		fdtox	%f20,%f18/* 0x0c90	     */		std	%f18,[%sp+480]/* 0x0c94	     */		fdtox	%f12,%f12/* 0x0c98	     */		std	%f12,[%sp+488]/* 0x0c9c	     */		fmuld	%f14,%f6,%f12/* 0x0ca0	     */		fdtox	%f10,%f10/* 0x0ca4	     */		std	%f10,[%sp+472]/* 0x0ca8	     */		fmuld	%f4,%f6,%f10/* 0x0cac	     */		fmuld	%f4,%f8,%f4/* 0x0cb0	     */		fdtox	%f12,%f12/* 0x0cb4	     */		std	%f12,[%sp+464]/* 0x0cb8	     */		fmuld	%f14,%f8,%f14/* 0x0cbc	     */		fdtox	%f10,%f10/* 0x0cc0	     */		std	%f10,[%sp+448]/* 0x0cc4	     */		ldd	[%o7+32],%f12/* 0x0cc8	     */		fdtox	%f4,%f4/* 0x0ccc	     */		std	%f4,[%sp+440]/* 0x0cd0	     */		fdtox	%f14,%f14/* 0x0cd4	     */		fxnor	%f30,%f12,%f12/* 0x0cd8	     */		std	%f14,[%sp+456]/* 0x0cdc	     */		ldd	[%o7+40],%f14!  230		      !      MUL_U32_S64_D_8(4);/* 0x0ce0	 230 */		fitod	%f12,%f4/* 0x0ce4	     */		fitod	%f13,%f12/* 0x0ce8	     */		fxnor	%f30,%f14,%f10/* 0x0cec	     */		fsubd	%f16,%f4,%f4/* 0x0cf0	     */		fsubd	%f16,%f12,%f12/* 0x0cf4	     */		fitod	%f10,%f14/* 0x0cf8	     */		fitod	%f11,%f10/* 0x0cfc	     */		fmuld	%f4,%f6,%f18/* 0x0d00	     */		fmuld	%f12,%f6,%f20/* 0x0d04	     */		fsubd	%f16,%f14,%f14/* 0x0d08	     */		fmuld	%f4,%f8,%f4/* 0x0d0c	     */		fsubd	%f16,%f10,%f10/* 0x0d10	     */		fmuld	%f12,%f8,%f12/* 0x0d14	     */		fdtox	%f18,%f18/* 0x0d18	     */		std	%f18,[%sp+432]/* 0x0d1c	     */		fdtox	%f4,%f4/* 0x0d20	     */		std	%f4,[%sp+424]/* 0x0d24	     */		fdtox	%f12,%f12/* 0x0d28	     */		std	%f12,[%sp+408]/* 0x0d2c	     */		fmuld	%f14,%f6,%f4/* 0x0d30	     */		fdtox	%f20,%f18/* 0x0d34	     */		std	%f18,[%sp+416]/* 0x0d38	     */		fmuld	%f10,%f6,%f12/* 0x0d3c	     */		fmuld	%f10,%f8,%f10/* 0x0d40	     */		fdtox	%f4,%f4/* 0x0d44	     */		std	%f4,[%sp+400]/* 0x0d48	     */		fmuld	%f14,%f8,%f14/* 0x0d4c	     */		fdtox	%f12,%f12/* 0x0d50	     */		std	%f12,[%sp+384]/* 0x0d54	     */		ldd	[%o7+48],%f4/* 0x0d58	     */		fdtox	%f10,%f10/* 0x0d5c	     */		std	%f10,[%sp+376]/* 0x0d60	     */		fdtox	%f14,%f14/* 0x0d64	     */		std	%f14,[%sp+392]/* 0x0d68	     */		fxnor	%f30,%f4,%f4/* 0x0d6c	     */		ldd	[%o7+56],%f14/* 0x0d70	     */		fitod	%f4,%f10/* 0x0d74	     */		fitod	%f5,%f4/* 0x0d78	     */		fxnor	%f30,%f14,%f12/* 0x0d7c	     */		fsubd	%f16,%f10,%f10/* 0x0d80	     */		fsubd	%f16,%f4,%f4/* 0x0d84	     */		fitod	%f12,%f14/* 0x0d88	     */		fitod	%f13,%f12/* 0x0d8c	     */		fmuld	%f10,%f6,%f18/* 0x0d90	     */		fmuld	%f4,%f6,%f20/* 0x0d94	     */		fsubd	%f16,%f14,%f14/* 0x0d98	     */		fmuld	%f10,%f8,%f10/* 0x0d9c	     */		fdtox	%f18,%f18/* 0x0da0	     */		std	%f18,[%sp+368]/* 0x0da4	     */		fmuld	%f4,%f8,%f4/* 0x0da8	     */		fdtox	%f10,%f10/* 0x0dac	     */		std	%f10,[%sp+360]/* 0x0db0	     */		fdtox	%f20,%f10/* 0x0db4	     */		std	%f10,[%sp+352]/* 0x0db8	     */		fdtox	%f4,%f4/* 0x0dbc	     */		std	%f4,[%sp+344]/* 0x0dc0	     */		fmuld	%f14,%f6,%f10/* 0x0dc4	     */		fmuld	%f14,%f8,%f4/* 0x0dc8	     */		fdtox	%f10,%f10/* 0x0dcc	     */		std	%f10,[%sp+336]/* 0x0dd0	     */		fdtox	%f4,%f4/* 0x0dd4	     */		std	%f4,[%sp+328]!  231		      !      ADD_S64_U32_D_8(0);/* 0x0dd8	 231 */		ldx	[%sp+552],%g3/* 0x0ddc	 230 */		fsubd	%f16,%f12,%f4/* 0x0de0	 231 */		ldx	[%sp+560],%g2/* 0x0de4	     */		ld	[%i1],%g4/* 0x0de8	     */		ldx	[%sp+544],%g5/* 0x0dec	     */		add	%g2,%g3,%g2/* 0x0df0	 230 */		fmuld	%f4,%f6,%f6/* 0x0df4	 231 */		ldx	[%sp+536],%g3/* 0x0df8	     */		add	%g2,%g4,%g4/* 0x0dfc	 230 */		fmuld	%f4,%f8,%f4/* 0x0e00	 231 */		ld	[%i1+4],%g2/* 0x0e04	     */		ldx	[%sp+520],%o0/* 0x0e08	     */		add	%g5,%g3,%g3/* 0x0e0c	 230 */		fdtox	%f6,%f6/* 0x0e10	 231 */		ldx	[%sp+528],%g5/* 0x0e14	     */		add	%g3,%g2,%g2/* 0x0e18	 230 */		fdtox	%f4,%f4/* 0x0e1c	 231 */		st	%g4,[%i4]/* 0x0e20	     */		srax	%g4,32,%g4/* 0x0e24	     */		ld	[%i1+8],%g3/* 0x0e28	     */		add	%g2,%g4,%g2/* 0x0e2c	     */		add	%g5,%o0,%g4/* 0x0e30	     */		ldx	[%sp+512],%o0/* 0x0e34	     */		srax	%g2,32,%g5/* 0x0e38	     */		ldx	[%sp+504],%o1/* 0x0e3c	     */		add	%g4,%g3,%g3/* 0x0e40	     */		ld	[%i1+12],%g4/* 0x0e44	     */		add	%g3,%g5,%g3/* 0x0e48	     */		ldx	[%sp+488],%o2/* 0x0e4c	     */		add	%o0,%o1,%g5/* 0x0e50	     */		ldx	[%sp+496],%o1/* 0x0e54	     */		srax	%g3,32,%o0/* 0x0e58	     */		add	%g5,%g4,%g4/* 0x0e5c	     */		st	%g2,[%i4+4]/* 0x0e60	     */		add	%g4,%o0,%g4/* 0x0e64	     */		ld	[%i1+16],%g2/* 0x0e68	     */		srax	%g4,32,%o0/* 0x0e6c	     */		add	%o1,%o2,%g5/* 0x0e70	     */		ldx	[%sp+480],%o1/* 0x0e74	     */		ldx	[%sp+472],%o2/* 0x0e78	     */		add	%g5,%g2,%g2/* 0x0e7c	     */		st	%g3,[%i4+8]/* 0x0e80	     */		add	%g2,%o0,%g2/* 0x0e84	     */		ld	[%i1+20],%g3/* 0x0e88	     */		srax	%g2,32,%o0/* 0x0e8c	     */		add	%o1,%o2,%g5/* 0x0e90	     */		ldx	[%sp+464],%o1/* 0x0e94	     */		ldx	[%sp+456],%o2/* 0x0e98	     */		add	%g5,%g3,%g3/* 0x0e9c	     */		st	%g4,[%i4+12]/* 0x0ea0	     */		add	%g3,%o0,%g3/* 0x0ea4	     */		ld	[%i1+24],%g4/* 0x0ea8	     */		srax	%g3,32,%o0/* 0x0eac	     */		add	%o1,%o2,%g5/* 0x0eb0	     */		ldx	[%sp+448],%o1/* 0x0eb4	     */		ldx	[%sp+440],%o2/* 0x0eb8	     */		add	%g5,%g4,%g4/* 0x0ebc	     */		st	%g2,[%i4+16]/* 0x0ec0	     */		add	%g4,%o0,%g4/* 0x0ec4	     */		ld	[%i1+28],%g2/* 0x0ec8	     */		srax	%g4,32,%o0/* 0x0ecc	     */		add	%o1,%o2,%g5!  232		      !      ADD_S64_U32_D_8(8);/* 0x0ed0	 232 */		ldx	[%sp+432],%o1/* 0x0ed4	     */		ldx	[%sp+424],%o2/* 0x0ed8	 231 */		add	%g5,%g2,%g2/* 0x0edc	     */		st	%g3,[%i4+20]/* 0x0ee0	     */		add	%g2,%o0,%g2/* 0x0ee4	 232 */		ld	[%i1+32],%g3/* 0x0ee8	     */		srax	%g2,32,%o0/* 0x0eec	     */		add	%o1,%o2,%g5/* 0x0ef0	     */		ldx	[%sp+416],%o1/* 0x0ef4	     */		ldx	[%sp+408],%o2/* 0x0ef8	     */		add	%g5,%g3,%g3/* 0x0efc	 231 */		st	%g4,[%i4+24]/* 0x0f00	 232 */		add	%g3,%o0,%g3/* 0x0f04	     */		ld	[%i1+36],%g4/* 0x0f08	     */		srax	%g3,32,%o0/* 0x0f0c	     */		add	%o1,%o2,%g5/* 0x0f10	     */		ldx	[%sp+400],%o1/* 0x0f14	     */		ldx	[%sp+392],%o2/* 0x0f18	     */		add	%g5,%g4,%g4/* 0x0f1c	 231 */		st	%g2,[%i4+28]/* 0x0f20	 232 */		add	%g4,%o0,%g4/* 0x0f24	     */		ld	[%i1+40],%g2/* 0x0f28	     */		srax	%g4,32,%o0/* 0x0f2c	     */		add	%o1,%o2,%g5/* 0x0f30	     */		ldx	[%sp+384],%o1/* 0x0f34	     */		ldx	[%sp+376],%o2/* 0x0f38	     */		add	%g5,%g2,%g2/* 0x0f3c	     */		st	%g3,[%i4+32]/* 0x0f40	     */		add	%g2,%o0,%g2/* 0x0f44	     */		ld	[%i1+44],%g3/* 0x0f48	     */		srax	%g2,32,%o0/* 0x0f4c	     */		add	%o1,%o2,%g5/* 0x0f50	     */		ldx	[%sp+368],%o1/* 0x0f54	     */		ldx	[%sp+360],%o2/* 0x0f58	     */		add	%g5,%g3,%g3/* 0x0f5c	     */		st	%g4,[%i4+36]/* 0x0f60	     */		add	%g3,%o0,%g3/* 0x0f64	     */		ld	[%i1+48],%g4/* 0x0f68	     */		srax	%g3,32,%o0/* 0x0f6c	     */		add	%o1,%o2,%g5/* 0x0f70	     */		ldx	[%sp+352],%o1/* 0x0f74	     */		ldx	[%sp+344],%o2/* 0x0f78	     */		add	%g5,%g4,%g4/* 0x0f7c	 230 */		std	%f6,[%sp+320]/* 0x0f80	 232 */		add	%g4,%o0,%g4/* 0x0f84	 230 */		std	%f4,[%sp+312]/* 0x0f88	 232 */		srax	%g4,32,%o0/* 0x0f8c	     */		add	%o1,%o2,%g5/* 0x0f90	     */		st	%g2,[%i4+40]/* 0x0f94	     */		ld	[%i1+52],%g2/* 0x0f98	     */		ldx	[%sp+336],%o1/* 0x0f9c	     */		ldx	[%sp+328],%o2/* 0x0fa0	     */		add	%g5,%g2,%g2/* 0x0fa4	     */		st	%g3,[%i4+44]/* 0x0fa8	     */		add	%g2,%o0,%g2/* 0x0fac	     */		ld	[%i1+56],%g3/* 0x0fb0	     */		add	%o1,%o2,%g5/* 0x0fb4	     */		ldx	[%sp+320],%o1/* 0x0fb8	     */		srax	%g2,32,%o0/* 0x0fbc	     */		ldx	[%sp+312],%o2/* 0x0fc0	     */		add	%g5,%g3,%g3/* 0x0fc4	     */		st	%g4,[%i4+48]/* 0x0fc8	     */		add	%g3,%o0,%g3/* 0x0fcc	     */		ld	[%i1+60],%g4/* 0x0fd0	     */		add	%o1,%o2,%g5/* 0x0fd4	     */		st	%g2,[%i4+52]/* 0x0fd8	     */		srax	%g3,32,%o0/* 0x0fdc	     */		add	%g5,%g4,%g2/* 0x0fe0	     */		st	%g3,[%i4+56]/* 0x0fe4	     */		add	%g2,%o0,%g2/* 0x0fe8	     */		st	%g2,[%i4+60]!  234		      !      return c;/* 0x0fec	 234 */		srax	%g2,32,%i0/* 0x0ff0	     */		ret	! Result =  %i0/* 0x0ff4	     */		restore	%g0,%g0,%g0                       .L77000109:!  236		      !    } else {!  237		      !      DEF_VARS(2*BUFF_SIZE);!  238		      !      t_d64 d0, d1, db;!  239		      !      t_s32 i, c = 0;!  241		      !      da = (t_d64)(a &  A_MASK);!  242		      !      db = (t_d64)(a &~ A_MASK);/* 0x0ff8	 242 */		or	%g0,%g2,%g3/* 0x0ffc	 241 */		andn	%o0,%g2,%g2/* 0x1000	     */		st	%g2,[%sp+316]/* 0x1004	 242 */		and	%o0,%g3,%g2/* 0x1008	     */		st	%g2,[%sp+312]/* 0x100c	 239 */		or	%g0,0,%g4!  244		      !#pragma pipeloop(0)!  245		      !      for (i = 0; i < (n+1)/2; i ++) {/* 0x1010	 245 */		add	%o2,1,%g2/* 0x1014	 241 */		ldd	[%o1],%f6/* 0x1018	 234 */		sethi	%hi(0x1800),%g1/* 0x101c	 245 */		srl	%g2,31,%g3/* 0x1020	 234 */		xor	%g1,-624,%g1/* 0x1024	 237 */		ldd	[%o1+8],%f20/* 0x1028	 245 */		add	%g2,%g3,%g2/* 0x102c	 241 */		fmovs	%f6,%f8/* 0x1030	 234 */		add	%g1,%fp,%g5/* 0x1034	 242 */		fmovs	%f6,%f10/* 0x1038	 241 */		ld	[%sp+316],%f9/* 0x103c	 245 */		sra	%g2,1,%o0/* 0x1040	 242 */		ld	[%sp+312],%f11/* 0x1044	 245 */		cmp	%o0,0/* 0x1048	 234 */		sethi	%hi(0x1800),%g1/* 0x104c	 241 */		fsubd	%f8,%f6,%f18/* 0x1050	 234 */		xor	%g1,-616,%g1/* 0x1054	     */		or	%g0,%o7,%o1/* 0x1058	 242 */		fsubd	%f10,%f6,%f16/* 0x105c	 245 */		ble,pt	%icc,.L900000196/* 0x1060	     */		cmp	%o3,0/* 0x1064	 234 */		add	%g1,%fp,%g3/* 0x1068	     */		sethi	%hi(0x1800),%g1/* 0x106c	     */		xor	%g1,-608,%g1/* 0x1070	     */		sub	%o0,1,%o2/* 0x1074	     */		add	%g1,%fp,%g2/* 0x1078	     */		sethi	%hi(0x1800),%g1/* 0x107c	     */		xor	%g1,-600,%g1/* 0x1080	 245 */		cmp	%o0,7/* 0x1084	     */		or	%g0,0,%i0/* 0x1088	 234 */		add	%g1,%fp,%o7/* 0x108c	 245 */		bl,pn	%icc,.L77000110/* 0x1090	     */		sub	%o0,3,%o0/* 0x1094	     */		ldd	[%o1],%f2!  246		      !        MUL_U32_S64_2_D(i);/* 0x1098	 246 */		add	%i2,16,%i1/* 0x109c	     */		ldd	[%o1+8],%f0/* 0x10a0	     */		add	%o1,8,%o1/* 0x10a4	     */		or	%g0,4,%i0/* 0x10a8	     */		fxnor	%f30,%f2,%f6/* 0x10ac	     */		ldd	[%i2+16],%f4/* 0x10b0	     */		add	%i1,16,%o1/* 0x10b4	     */		fxnor	%f30,%f0,%f12/* 0x10b8	     */		ldd	[%i2+24],%f0/* 0x10bc	     */		fitod	%f7,%f2/* 0x10c0	     */		fitod	%f6,%f6/* 0x10c4	     */		fxnor	%f30,%f4,%f10/* 0x10c8	     */		fsubd	%f20,%f2,%f2/* 0x10cc	     */		fxnor	%f30,%f0,%f8/* 0x10d0	     */		fitod	%f13,%f4/* 0x10d4	     */		fsubd	%f20,%f6,%f6/* 0x10d8	     */		fmuld	%f2,%f16,%f0                       .L900000181:/* 0x10dc	     */		ldd	[%o1],%f24/* 0x10e0	 246 */		add	%i0,3,%i0/* 0x10e4	     */		add	%o7,96,%o7/* 0x10e8	     */		fitod	%f11,%f22/* 0x10ec	     */		fsubd	%f20,%f4,%f26/* 0x10f0	     */		cmp	%i0,%o0/* 0x10f4	     */		add	%g2,96,%g2/* 0x10f8	     */		fmuld	%f6,%f18,%f28/* 0x10fc	     */		fmuld	%f6,%f16,%f6/* 0x1100	     */		add	%g3,96,%g3/* 0x1104	     */		add	%g5,96,%g5/* 0x1108	     */		fdtox	%f0,%f0/* 0x110c	     */		fitod	%f12,%f4/* 0x1110	     */		fmuld	%f2,%f18,%f2/* 0x1114	     */		fdtox	%f28,%f12/* 0x1118	     */		fdtox	%f6,%f6/* 0x111c	     */		std	%f12,[%g5-96]/* 0x1120	     */		std	%f6,[%g3-96]/* 0x1124	     */		fdtox	%f2,%f2/* 0x1128	     */		fsubd	%f20,%f4,%f6/* 0x112c	     */		std	%f2,[%g2-96]/* 0x1130	     */		add	%o1,8,%o1/* 0x1134	     */		fxnor	%f30,%f24,%f12/* 0x1138	     */		fmuld	%f26,%f16,%f4/* 0x113c	     */		std	%f0,[%o7-96]/* 0x1140	     */		ldd	[%o1],%f0/* 0x1144	     */		fitod	%f9,%f2/* 0x1148	     */		fsubd	%f20,%f22,%f28/* 0x114c	     */		fmuld	%f6,%f18,%f24/* 0x1150	     */		fmuld	%f6,%f16,%f22/* 0x1154	     */		fdtox	%f4,%f4/* 0x1158	     */		fitod	%f10,%f6/* 0x115c	     */		fmuld	%f26,%f18,%f10/* 0x1160	     */		fdtox	%f24,%f24/* 0x1164	     */		fdtox	%f22,%f22/* 0x1168	     */		std	%f24,[%g5-64]/* 0x116c	     */		std	%f22,[%g3-64]/* 0x1170	     */		fdtox	%f10,%f10/* 0x1174	     */		fsubd	%f20,%f6,%f6/* 0x1178	     */		std	%f10,[%g2-64]/* 0x117c	     */		add	%o1,8,%o1/* 0x1180	     */		fxnor	%f30,%f0,%f10/* 0x1184	     */		fmuld	%f28,%f16,%f0/* 0x1188	     */		std	%f4,[%o7-64]/* 0x118c	     */		ldd	[%o1],%f22/* 0x1190	     */		fitod	%f13,%f4/* 0x1194	     */		fsubd	%f20,%f2,%f2/* 0x1198	     */		fmuld	%f6,%f18,%f26/* 0x119c	     */		fmuld	%f6,%f16,%f24/* 0x11a0	     */		fdtox	%f0,%f0/* 0x11a4	     */		fitod	%f8,%f6

⌨️ 快捷键说明

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