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

📄 imin_sse2.s

📁 Optimized GotoBLAS libraries
💻 S
📖 第 1 页 / 共 2 页
字号:
	andpd	 %xmm15, %xmm6#endif	maxpd	%xmm6, %xmm2	addq	$2 * SIZE, X	.L58:	testq	$1, M	je	.L60	movsd	0 * SIZE(X), %xmm7	unpcklpd  %xmm7, %xmm7#ifdef ABS	andpd	 %xmm15, %xmm7#endif	maxpd	%xmm7, %xmm3	ALIGN_3.L60:	movq	XX, X	movq	MM, M	maxpd	 %xmm1, %xmm0	maxpd	 %xmm3, %xmm2	maxpd	 %xmm2, %xmm0	movapd	 %xmm0, %xmm1	unpckhpd %xmm0, %xmm0	maxsd	 %xmm1, %xmm0	unpcklpd %xmm0, %xmm0	movq	M,  I	sarq	$3, I	jle	.L65	ALIGN_4	.L62:#ifdef OPTERON	prefetcht0	PREFETCHSIZE * SIZE(X)#endif#ifdef PENTIUM4	prefetchnta	PREFETCHSIZE * SIZE(X)#endif	movsd	0 * SIZE(X), %xmm1	movhpd	1 * SIZE(X), %xmm1#ifdef ABS	andpd	 %xmm15, %xmm1#endif	cmpeqpd	%xmm0, %xmm1	movsd	2 * SIZE(X), %xmm3	movhpd	3 * SIZE(X), %xmm3#ifdef ABS	andpd	 %xmm15, %xmm3#endif	cmpeqpd	%xmm0, %xmm3	movsd	4 * SIZE(X), %xmm5	movhpd	5 * SIZE(X), %xmm5#ifdef ABS	andpd	 %xmm15, %xmm5#endif	cmpeqpd	%xmm0, %xmm5	movsd	6 * SIZE(X), %xmm7	movhpd	7 * SIZE(X), %xmm7#ifdef ABS	andpd	 %xmm15, %xmm7#endif	cmpeqpd	%xmm0, %xmm7	orpd	%xmm3, %xmm1	orpd	%xmm7, %xmm5	orpd	%xmm5, %xmm1	movmskpd %xmm1, %r11	testq	 $3, %r11	jne	 .L63	addq	$8 * SIZE, X	addq	$8, RET	decq	I	jg	.L62	jmp	.L65	ALIGN_4.L63:	movsd	0 * SIZE(X), %xmm1	movsd	1 * SIZE(X), %xmm2	movsd	2 * SIZE(X), %xmm3	movsd	3 * SIZE(X), %xmm4	movsd	4 * SIZE(X), %xmm5	movsd	5 * SIZE(X), %xmm6	movsd	6 * SIZE(X), %xmm7	movsd	7 * SIZE(X), %xmm8#ifdef ABS	andpd	 %xmm15, %xmm1	andpd	 %xmm15, %xmm2	andpd	 %xmm15, %xmm3	andpd	 %xmm15, %xmm4	andpd	 %xmm15, %xmm5	andpd	 %xmm15, %xmm6	andpd	 %xmm15, %xmm7	andpd	 %xmm15, %xmm8#endif	addq	$8 * SIZE, X	incq	RET	comisd	%xmm0, %xmm1	je	.L999	incq	RET	comisd	%xmm0, %xmm2	je	.L999	incq	RET	comisd	%xmm0, %xmm3	je	.L999	incq	RET	comisd	%xmm0, %xmm4	je	.L999	incq	RET	comisd	%xmm0, %xmm5	je	.L999	incq	RET	comisd	%xmm0, %xmm6	je	.L999	incq	RET	comisd	%xmm0, %xmm7	je	.L999	incq	RET	jmp	.L999	ALIGN_3.L65:	testq	$4, M	je	.L67	movsd	0 * SIZE(X), %xmm1	movsd	1 * SIZE(X), %xmm2	movsd	2 * SIZE(X), %xmm3	movsd	3 * SIZE(X), %xmm4#ifdef ABS	andpd	 %xmm15, %xmm1	andpd	 %xmm15, %xmm2	andpd	 %xmm15, %xmm3	andpd	 %xmm15, %xmm4#endif	addq	$4 * SIZE, X	incq	RET	comisd	%xmm0, %xmm1	je	.L999	incq	RET	comisd	%xmm0, %xmm2	je	.L999	incq	RET	comisd	%xmm0, %xmm3	je	.L999	incq	RET	comisd	%xmm0, %xmm4	je	.L999	ALIGN_3	.L67:	testq	$2, M	je	.L68	movsd	0 * SIZE(X), %xmm1	movsd	1 * SIZE(X), %xmm2#ifdef ABS	andpd	 %xmm15, %xmm1	andpd	 %xmm15, %xmm2#endif	addq	$2 * SIZE, X	incq	RET	comisd	%xmm0, %xmm1	je	.L999	incq	RET	comisd	%xmm0, %xmm2	je	.L999	ALIGN_3	.L68:	incq	RET	jmp	.L999	ALIGN_4.L80:	movq	M,  I	sarq	$4, I	jle	.L85	ALIGN_4	.L81:#ifdef OPTERON	prefetcht0	PREFETCHSIZE * SIZE(X)#endif#ifdef PENTIUM4	prefetchnta	PREFETCHSIZE * SIZE(X)#endif	movsd	0 * SIZE(X), %xmm4	addq	INCX, X	movhpd	0 * SIZE(X), %xmm4	addq	INCX, X#ifdef ABS	andpd	 %xmm15, %xmm4#endif	maxpd	%xmm4, %xmm0	movsd	0 * SIZE(X), %xmm5	addq	INCX, X	movhpd	0 * SIZE(X), %xmm5	addq	INCX, X#ifdef ABS	andpd	 %xmm15, %xmm5#endif	maxpd	%xmm5, %xmm1	movsd	0 * SIZE(X), %xmm6	addq	INCX, X	movhpd	0 * SIZE(X), %xmm6	addq	INCX, X#ifdef ABS	andpd	 %xmm15, %xmm6#endif	maxpd	%xmm6, %xmm2	movsd	0 * SIZE(X), %xmm7	addq	INCX, X	movhpd	0 * SIZE(X), %xmm7	addq	INCX, X#ifdef ABS	andpd	 %xmm15, %xmm7#endif	maxpd	%xmm7, %xmm3#ifdef OPTERON	prefetcht0	PREFETCHSIZE * SIZE(X)#endif#ifdef PENTIUM4	prefetchnta	PREFETCHSIZE * SIZE(X)#endif	movsd	0 * SIZE(X), %xmm4	addq	INCX, X	movhpd	0 * SIZE(X), %xmm4	addq	INCX, X#ifdef ABS	andpd	 %xmm15, %xmm4#endif	maxpd	%xmm4, %xmm0	movsd	0 * SIZE(X), %xmm5	addq	INCX, X	movhpd	0 * SIZE(X), %xmm5	addq	INCX, X#ifdef ABS	andpd	 %xmm15, %xmm5#endif	maxpd	%xmm5, %xmm1	movsd	0 * SIZE(X), %xmm6	addq	INCX, X	movhpd	0 * SIZE(X), %xmm6	addq	INCX, X#ifdef ABS	andpd	 %xmm15, %xmm6#endif	maxpd	%xmm6, %xmm2	movsd	0 * SIZE(X), %xmm7	addq	INCX, X	movhpd	0 * SIZE(X), %xmm7	addq	INCX, X#ifdef ABS	andpd	 %xmm15, %xmm7#endif	maxpd	%xmm7, %xmm3	decq	I	jg	.L81	ALIGN_4.L85:	andq	$15,  M	jle	.L90	testq	$8, M	je	.L86	movsd	0 * SIZE(X), %xmm4	addq	INCX, X	movhpd	0 * SIZE(X), %xmm4	addq	INCX, X#ifdef ABS	andpd	 %xmm15, %xmm4#endif	maxpd	%xmm4, %xmm0	movsd	0 * SIZE(X), %xmm5	addq	INCX, X	movhpd	0 * SIZE(X), %xmm5	addq	INCX, X#ifdef ABS	andpd	 %xmm15, %xmm5#endif	maxpd	%xmm5, %xmm1	movsd	0 * SIZE(X), %xmm6	addq	INCX, X	movhpd	0 * SIZE(X), %xmm6	addq	INCX, X#ifdef ABS	andpd	 %xmm15, %xmm6#endif	maxpd	%xmm6, %xmm2	movsd	0 * SIZE(X), %xmm7	addq	INCX, X	movhpd	0 * SIZE(X), %xmm7	addq	INCX, X#ifdef ABS	andpd	 %xmm15, %xmm7#endif	maxpd	%xmm7, %xmm3	ALIGN_3.L86:	testq	$4, M	je	.L87	movsd	0 * SIZE(X), %xmm4	addq	INCX, X	movhpd	0 * SIZE(X), %xmm4	addq	INCX, X#ifdef ABS	andpd	 %xmm15, %xmm4#endif	maxpd	%xmm4, %xmm0	movsd	0 * SIZE(X), %xmm5	addq	INCX, X	movhpd	0 * SIZE(X), %xmm5	addq	INCX, X#ifdef ABS	andpd	 %xmm15, %xmm5#endif	maxpd	%xmm5, %xmm1	ALIGN_3	.L87:	testq	$2, M	je	.L88	movsd	0 * SIZE(X), %xmm6	addq	INCX, X	movhpd	0 * SIZE(X), %xmm6	addq	INCX, X#ifdef ABS	andpd	 %xmm15, %xmm6#endif	maxpd	%xmm6, %xmm2	ALIGN_3	.L88:	testq	$1, M	je	.L90	movsd	0 * SIZE(X), %xmm7	unpcklpd  %xmm7, %xmm7#ifdef ABS	andpd	 %xmm15, %xmm7#endif	maxpd	%xmm7, %xmm3	maxpd	%xmm1, %xmm0	maxpd	%xmm3, %xmm2	maxpd	%xmm2, %xmm0	movapd	%xmm0, %xmm1	unpckhpd %xmm0, %xmm0	maxsd	%xmm1, %xmm0	ALIGN_4.L90:	movq	XX, X	movq	MM, M	maxpd	 %xmm1, %xmm0	maxpd	 %xmm3, %xmm2	maxpd	 %xmm2, %xmm0	movapd	 %xmm0, %xmm1	unpckhpd %xmm0, %xmm0	maxsd	 %xmm1, %xmm0	unpcklpd %xmm0, %xmm0	movq	M,  I	sarq	$3, I	jle	.L95	ALIGN_4	.L92:#ifdef OPTERON	prefetcht0	PREFETCHSIZE * SIZE(X)#endif#ifdef PENTIUM4	prefetchnta	PREFETCHSIZE * SIZE(X)#endif	movsd	0 * SIZE(X), %xmm1	addq	INCX, X	movhpd	0 * SIZE(X), %xmm1	addq	INCX, X#ifdef ABS	andpd	 %xmm15, %xmm1#endif	cmpeqpd	%xmm0, %xmm1	movsd	0 * SIZE(X), %xmm3	addq	INCX, X	movhpd	0 * SIZE(X), %xmm3	addq	INCX, X#ifdef ABS	andpd	 %xmm15, %xmm3#endif	cmpeqpd	%xmm0, %xmm3	movsd	0 * SIZE(X), %xmm5	addq	INCX, X	movhpd	0 * SIZE(X), %xmm5	addq	INCX, X#ifdef ABS	andpd	 %xmm15, %xmm5#endif	cmpeqpd	%xmm0, %xmm5	movsd	0 * SIZE(X), %xmm7	addq	INCX, X	movhpd	0 * SIZE(X), %xmm7	addq	INCX, X#ifdef ABS	andpd	 %xmm15, %xmm7#endif	cmpeqpd	%xmm0, %xmm7	orpd	%xmm3, %xmm1	orpd	%xmm7, %xmm5	orpd	%xmm5, %xmm1	movmskpd %xmm1, %r11	testq	 $3, %r11	jne	 .L93	addq	$8, RET	decq	I	jg	.L92	jmp	.L95	ALIGN_4.L93:	subq	INCX, X	movsd	0 * SIZE(X), %xmm8	subq	INCX, X	movsd	0 * SIZE(X), %xmm7	subq	INCX, X	movsd	0 * SIZE(X), %xmm6	subq	INCX, X	movsd	0 * SIZE(X), %xmm5	subq	INCX, X	movsd	0 * SIZE(X), %xmm4	subq	INCX, X	movsd	0 * SIZE(X), %xmm3	subq	INCX, X	movsd	0 * SIZE(X), %xmm2	subq	INCX, X	movsd	0 * SIZE(X), %xmm1#ifdef ABS	andpd	 %xmm15, %xmm1	andpd	 %xmm15, %xmm2	andpd	 %xmm15, %xmm3	andpd	 %xmm15, %xmm4	andpd	 %xmm15, %xmm5	andpd	 %xmm15, %xmm6	andpd	 %xmm15, %xmm7	andpd	 %xmm15, %xmm8#endif	addq	$8 * SIZE, X	incq	RET	comisd	%xmm0, %xmm1	je	.L999	incq	RET	comisd	%xmm0, %xmm2	je	.L999	incq	RET	comisd	%xmm0, %xmm3	je	.L999	incq	RET	comisd	%xmm0, %xmm4	je	.L999	incq	RET	comisd	%xmm0, %xmm5	je	.L999	incq	RET	comisd	%xmm0, %xmm6	je	.L999	incq	RET	comisd	%xmm0, %xmm7	je	.L999	incq	RET	jmp	.L999	ALIGN_3.L95:	testq	$4, M	je	.L97	movsd	0 * SIZE(X), %xmm1	addq	INCX, X	movsd	0 * SIZE(X), %xmm2	addq	INCX, X	movsd	0 * SIZE(X), %xmm3	addq	INCX, X	movsd	0 * SIZE(X), %xmm4	addq	INCX, X#ifdef ABS	andpd	 %xmm15, %xmm1	andpd	 %xmm15, %xmm2	andpd	 %xmm15, %xmm3	andpd	 %xmm15, %xmm4#endif	incq	RET	comisd	%xmm0, %xmm1	je	.L999	incq	RET	comisd	%xmm0, %xmm2	je	.L999	incq	RET	comisd	%xmm0, %xmm3	je	.L999	incq	RET	comisd	%xmm0, %xmm4	je	.L999	ALIGN_3	.L97:	testq	$2, M	je	.L98	movsd	0 * SIZE(X), %xmm1	addq	INCX, X	movsd	0 * SIZE(X), %xmm2	addq	INCX, X#ifdef ABS	andpd	 %xmm15, %xmm1	andpd	 %xmm15, %xmm2#endif	incq	RET	comisd	%xmm0, %xmm1	je	.L999	incq	RET	comisd	%xmm0, %xmm2	je	.L999	ALIGN_3	.L98:	incq	RET	ALIGN_3.L999:	ret	EPILOGUE

⌨️ 快捷键说明

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