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

📄 gemv_t_sse.s

📁 Optimized GotoBLAS libraries
💻 S
📖 第 1 页 / 共 2 页
字号:
	decq	J	jg	.L51 	movq	N,  J	andq	$3, J	jne	.L100	jmp	.L99	ALIGN_4.L56:	movss	0 * SIZE(TEMP), %xmm1	addq	INCY, TEMP	movss	0 * SIZE(TEMP), %xmm2	addq	INCY, TEMP	addss	%xmm1, %xmm4	addss	%xmm2, %xmm5	movss	0 * SIZE(TEMP), %xmm1	addq	INCY, TEMP	movss	0 * SIZE(TEMP), %xmm2	addss	%xmm1, %xmm6	addss	%xmm2, %xmm7	movss	%xmm4, 0 * SIZE(CO)	addq	INCY, CO	movss	%xmm5, 0 * SIZE(CO)	addq	INCY, CO	movss	%xmm6, 0 * SIZE(CO)	addq	INCY, CO	movss	%xmm7, 0 * SIZE(CO)	addq	INCY, CO	decq	J	jg	.L51 	movq	N,  J	andq	$3, J	jne	.L100	ALIGN_4.L99:	addq	NLDA, A	addq	$P, IS	cmpq	M,  IS	jl	.L10	ALIGN_3.L999:	movq	  0(%rsp), %rbx	movq	  8(%rsp), %rbp	movq	 16(%rsp), %r12	movq	 24(%rsp), %r13	movq	 32(%rsp), %r14	movq	 40(%rsp), %r15#ifdef WINDOWS_ABI	movq	 48(%rsp), %rdi	movq	 56(%rsp), %rsi	movups	 64(%rsp), %xmm6	movups	 80(%rsp), %xmm7	movups	 96(%rsp), %xmm8	movups	112(%rsp), %xmm9	movups	128(%rsp), %xmm10	movups	144(%rsp), %xmm11	movups	160(%rsp), %xmm12	movups	176(%rsp), %xmm13	movups	192(%rsp), %xmm14	movups	208(%rsp), %xmm15#endif	addq	$STACKSIZE, %rsp	ret	ALIGN_4.L100:	movq	N,  J	andq	$3, J	cmpq	$3, J	jne	.L110	ALIGN_3.L101:	movq	A, AO1				# a_offset = a	leaq	(AO1, LDA   ), AO2		# a_offset2 = a + lda	leaq	(AO2, LDA, 2), A	movq	BUFFER, BO	pxor	%xmm4, %xmm4	pxor	%xmm5, %xmm5	pxor	%xmm6, %xmm6	movaps	0 * SIZE(BO), %xmm0	movaps	4 * SIZE(BO), %xmm2	movq	MIN_M, I	sarq	$3,  I	jle	.L103	ALIGN_4.L102:	prefetchnta	56 * SIZE(AO1)	prefetchnta	56 * SIZE(AO2)	prefetchnta	56 * SIZE(AO1, LDA, 2)	movsd	 0 * SIZE(AO1), %xmm1	movhpd	 2 * SIZE(AO1), %xmm1	mulps	%xmm0, %xmm1	addps	%xmm1, %xmm4	movsd	 0 * SIZE(AO2), %xmm1	movhpd	 2 * SIZE(AO2), %xmm1	mulps	%xmm0, %xmm1	addps	%xmm1, %xmm5	movsd	 0 * SIZE(AO1, LDA, 2), %xmm1	movhpd	 2 * SIZE(AO1, LDA, 2), %xmm1	mulps	%xmm0, %xmm1	addps	%xmm1, %xmm6	movaps	 8 * SIZE(BO), %xmm0	movsd	 4 * SIZE(AO1), %xmm1	movhpd	 6 * SIZE(AO1), %xmm1	mulps	%xmm2, %xmm1	addps	%xmm1, %xmm4	movsd	 4 * SIZE(AO2), %xmm1	movhpd	 6 * SIZE(AO2), %xmm1	mulps	%xmm2, %xmm1	addps	%xmm1, %xmm5	movsd	 4 * SIZE(AO1, LDA, 2), %xmm1	movhpd	 6 * SIZE(AO1, LDA, 2), %xmm1	mulps	%xmm2, %xmm1	addps	%xmm1, %xmm6	movaps	12 * SIZE(BO), %xmm2	addq	$8 * SIZE, AO2	addq	$8 * SIZE, AO1	addq	$8 * SIZE, BO	decq	I	jg	.L102	ALIGN_4.L103:	movq	MIN_M, I	andq	$7,  I	je	.L105	ALIGN_4.L104:	movss	0 * SIZE(AO1), %xmm1	mulss	%xmm0, %xmm1	addss	%xmm1, %xmm4	movss	0 * SIZE(AO2), %xmm1	addq	$SIZE, AO2	mulss	%xmm0, %xmm1	addss	%xmm1, %xmm5	movss	0 * SIZE(AO1, LDA, 2), %xmm1	addq	$SIZE, AO1	mulss	%xmm0, %xmm1	addss	%xmm1, %xmm6	movss	 1 * SIZE(BO), %xmm0	addq	$SIZE, BO	decq	I	jg	.L104	ALIGN_4.L105:	movaps	%xmm4, %xmm0	shufps	$0xe, %xmm4, %xmm4	addps	 %xmm0, %xmm4		movaps	%xmm5, %xmm0	shufps	$0xe, %xmm5, %xmm5	addps	 %xmm0, %xmm5	movaps	%xmm6, %xmm0	shufps	$0xe, %xmm6, %xmm6	addps	 %xmm0, %xmm6	movaps	%xmm4, %xmm0	shufps	$0x39, %xmm4, %xmm4	addss	 %xmm0, %xmm4	movaps	%xmm5, %xmm0	shufps	$0x39, %xmm5, %xmm5	addss	 %xmm0, %xmm5	movaps	%xmm6, %xmm0	shufps	$0x39, %xmm6, %xmm6	addss	 %xmm0, %xmm6	mulss	ALPHA, %xmm4	mulss	ALPHA, %xmm5	mulss	ALPHA, %xmm6	movq	CO, TEMP	cmpq	$SIZE, INCY	jne	.L106	movss	0 * SIZE(CO), %xmm1	movss	1 * SIZE(CO), %xmm2	addss	%xmm1, %xmm4	addss	%xmm2, %xmm5	movss	2 * SIZE(CO), %xmm1	addss	%xmm1, %xmm6	movss	%xmm4, 0 * SIZE(CO)	movss	%xmm5, 1 * SIZE(CO)	movss	%xmm6, 2 * SIZE(CO)	jmp	.L99	ALIGN_4.L106:	movss	0 * SIZE(TEMP), %xmm1	addq	INCY, TEMP	movss	0 * SIZE(TEMP), %xmm2	addq	INCY, TEMP	addss	%xmm1, %xmm4	addss	%xmm2, %xmm5	movss	0 * SIZE(TEMP), %xmm1	addss	%xmm1, %xmm6	movss	%xmm4, 0 * SIZE(CO)	addq	INCY, CO	movss	%xmm5, 0 * SIZE(CO)	addq	INCY, CO	movss	%xmm6, 0 * SIZE(CO)	jmp	.L99	ALIGN_4.L110:	cmpq	$2, J	jne	.L120	ALIGN_3.L111:	movq	A, AO1				# a_offset = a	leaq	(AO1, LDA   ), AO2		# a_offset2 = a + lda	leaq	(AO1, LDA, 2), A	movq	BUFFER, BO	pxor	%xmm4, %xmm4	pxor	%xmm5, %xmm5	movaps	0 * SIZE(BO), %xmm0	movaps	4 * SIZE(BO), %xmm2	movq	MIN_M, I	sarq	$3,  I	jle	.L113	ALIGN_4.L112:	prefetchnta	56 * SIZE(AO1)	prefetchnta	56 * SIZE(AO2)	movsd	 0 * SIZE(AO1), %xmm1	movhpd	 2 * SIZE(AO1), %xmm1	mulps	%xmm0, %xmm1	addps	%xmm1, %xmm4	movsd	 0 * SIZE(AO2), %xmm1	movhpd	 2 * SIZE(AO2), %xmm1	mulps	%xmm0, %xmm1	addps	%xmm1, %xmm5	movaps	 8 * SIZE(BO), %xmm0	movsd	 4 * SIZE(AO1), %xmm1	movhpd	 6 * SIZE(AO1), %xmm1	mulps	%xmm2, %xmm1	addps	%xmm1, %xmm4	movsd	 4 * SIZE(AO2), %xmm1	movhpd	 6 * SIZE(AO2), %xmm1	mulps	%xmm2, %xmm1	addps	%xmm1, %xmm5	movaps	12 * SIZE(BO), %xmm2	addq	$8 * SIZE, AO1	addq	$8 * SIZE, AO2	addq	$8 * SIZE, BO	decq	I	jg	.L112	ALIGN_4.L113:	movq	MIN_M, I	andq	$7,  I	je	.L115	ALIGN_4.L114:	movss	0 * SIZE(AO1), %xmm1	addq	$SIZE, AO1	mulss	%xmm0, %xmm1	addss	%xmm1, %xmm4	movss	0 * SIZE(AO2), %xmm1	addq	$SIZE, AO2	mulss	%xmm0, %xmm1	addss	%xmm1, %xmm5	movss	 1 * SIZE(BO), %xmm0	addq	$SIZE, BO	decq	I	jg	.L114	ALIGN_4.L115:	movaps	%xmm4, %xmm0	shufps	$0xe, %xmm4, %xmm4	addps	 %xmm0, %xmm4	movaps	%xmm5, %xmm0	shufps	$0xe, %xmm5, %xmm5	addps	 %xmm0, %xmm5	movaps	%xmm4, %xmm0	shufps	$0x39, %xmm4, %xmm4	addss	 %xmm0, %xmm4	movaps	%xmm5, %xmm0	shufps	$0x39, %xmm5, %xmm5	addss	 %xmm0, %xmm5	mulss	ALPHA, %xmm4	mulss	ALPHA, %xmm5	movq	CO, TEMP	cmpq	$SIZE, INCY	jne	.L116	movss	0 * SIZE(CO), %xmm1	movss	1 * SIZE(CO), %xmm2	addss	%xmm1, %xmm4	addss	%xmm2, %xmm5	movss	%xmm4, 0 * SIZE(CO)	movss	%xmm5, 1 * SIZE(CO)	jmp	.L99	ALIGN_4.L116:	movss	0 * SIZE(TEMP), %xmm1	addq	INCY, TEMP	movss	0 * SIZE(TEMP), %xmm2	addss	%xmm1, %xmm4	addss	%xmm2, %xmm5	movss	%xmm4, 0 * SIZE(CO)	addq	INCY, CO	movss	%xmm5, 0 * SIZE(CO)	jmp	.L99	ALIGN_4.L120:	movq	A, AO1				# a_offset = a	leaq	(AO1, LDA   ), AO2		# a_offset2 = a + lda	leaq	(AO1, LDA, 1), A	movq	BUFFER, BO	pxor	%xmm4, %xmm4	movaps	0 * SIZE(BO), %xmm0	movaps	4 * SIZE(BO), %xmm2	movq	MIN_M, I	sarq	$3,  I	jle	.L123	ALIGN_4.L122:	prefetchnta	56 * SIZE(AO1)	movsd	 0 * SIZE(AO1), %xmm1	movhpd	 2 * SIZE(AO1), %xmm1	mulps	%xmm0, %xmm1	addps	%xmm1, %xmm4	movaps	 8 * SIZE(BO), %xmm0	movsd	 4 * SIZE(AO1), %xmm1	movhpd	 6 * SIZE(AO1), %xmm1	mulps	%xmm2, %xmm1	addps	%xmm1, %xmm4	movaps	12 * SIZE(BO), %xmm2	addq	$8 * SIZE, AO1	addq	$8 * SIZE, BO	decq	I	jg	.L122	ALIGN_4.L123:	movq	MIN_M, I	andq	$7,  I	je	.L125	ALIGN_4.L124:	movss	0 * SIZE(AO1), %xmm1	addq	$SIZE, AO1	mulss	%xmm0, %xmm1	addss	%xmm1, %xmm4	movss	 1 * SIZE(BO), %xmm0	addq	$SIZE, BO	decq	I	jg	.L124	ALIGN_4.L125:	movaps	%xmm4, %xmm0	shufps	$0xe, %xmm4, %xmm4	addps	 %xmm0, %xmm4		movaps	%xmm4, %xmm0	shufps	$0x39, %xmm4, %xmm4	addss	 %xmm0, %xmm4	mulss	ALPHA, %xmm4	movss	0 * SIZE(CO), %xmm1	addss	%xmm1, %xmm4	movss	%xmm4, 0 * SIZE(CO)	jmp	.L99	EPILOGUE

⌨️ 快捷键说明

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