atl_dmm14x1x56_sse2pabc_mn.c

来自「基于Blas CLapck的.用过的人知道是干啥的」· C语言 代码 · 共 2,979 行 · 第 1/5 页

C
2,979
字号
	addpd	rA0, rC12	mulpd	80-120(pA5,ldab,8), rB0	addpd	rB0, rC13	movapd	96-120(pA10,mldab5,2), rA0	movapd	96-120(pB0), rB0	mulpd	rB0, rA0	addpd	rA0, rC0	movapd	96-120(pA5, mldab,4), rA0	mulpd	rB0, rA0	addpd	rA0, rC1	movapd	96-120(pA10, mldab,8), rA0	mulpd	rB0, rA0	addpd	rA0, rC2	movapd	96-120(pA5, mldab,2), rA0	mulpd	rB0, rA0	addpd	rA0, rC3	movapd	96-120(pA5, mldab), rA0	mulpd	rB0, rA0	addpd	rA0, rC4	movapd	96-120(pA5), rA0	mulpd	rB0, rA0	addpd	rA0, rC5	movapd	96-120(pA5, ldab), rA0	mulpd	rB0, rA0	addpd	rA0, rC6	movapd	96-120(pA5, ldab,2), rA0	mulpd	rB0, rA0	addpd	rA0, rC7	movapd	96-120(pA10, mldab,2), rA0	mulpd	rB0, rA0	addpd	rA0, rC8	movapd	96-120(pA5,ldab,4), rA0	mulpd	rB0, rA0	addpd	rA0, rC9	movapd	96-120(pA10), rA0	mulpd	rB0, rA0	addpd	rA0, rC10	movapd	96-120(pA10,ldab), rA0	mulpd	rB0, rA0	addpd	rA0, rC11	movapd	96-120(pA10,ldab,2), rA0	mulpd	rB0, rA0	addpd	rA0, rC12	mulpd	96-120(pA5,ldab,8), rB0	addpd	rB0, rC13	movapd	112-120(pA10,mldab5,2), rA0	movapd	112-120(pB0), rB0	mulpd	rB0, rA0	addpd	rA0, rC0	movapd	112-120(pA5, mldab,4), rA0	mulpd	rB0, rA0	addpd	rA0, rC1	movapd	112-120(pA10, mldab,8), rA0	mulpd	rB0, rA0	addpd	rA0, rC2	movapd	112-120(pA5, mldab,2), rA0	mulpd	rB0, rA0	addpd	rA0, rC3	movapd	112-120(pA5, mldab), rA0	mulpd	rB0, rA0	addpd	rA0, rC4	movapd	112-120(pA5), rA0	mulpd	rB0, rA0	addpd	rA0, rC5	movapd	112-120(pA5, ldab), rA0	mulpd	rB0, rA0	addpd	rA0, rC6	movapd	112-120(pA5, ldab,2), rA0	mulpd	rB0, rA0	addpd	rA0, rC7	movapd	112-120(pA10, mldab,2), rA0	mulpd	rB0, rA0	addpd	rA0, rC8	movapd	112-120(pA5,ldab,4), rA0	mulpd	rB0, rA0	addpd	rA0, rC9	movapd	112-120(pA10), rA0	mulpd	rB0, rA0	addpd	rA0, rC10	movapd	112-120(pA10,ldab), rA0	mulpd	rB0, rA0	addpd	rA0, rC11	movapd	112-120(pA10,ldab,2), rA0	mulpd	rB0, rA0	addpd	rA0, rC12	mulpd	112-120(pA5,ldab,8), rB0	addpd	rB0, rC13	movapd	128-120(pA10,mldab5,2), rA0	movapd	128-120(pB0), rB0	mulpd	rB0, rA0	addpd	rA0, rC0	movapd	128-120(pA5, mldab,4), rA0	mulpd	rB0, rA0	addpd	rA0, rC1	movapd	128-120(pA10, mldab,8), rA0	mulpd	rB0, rA0	addpd	rA0, rC2	movapd	128-120(pA5, mldab,2), rA0	mulpd	rB0, rA0	addpd	rA0, rC3	movapd	128-120(pA5, mldab), rA0	mulpd	rB0, rA0	addpd	rA0, rC4	movapd	128-120(pA5), rA0	mulpd	rB0, rA0	addpd	rA0, rC5	movapd	128-120(pA5, ldab), rA0	mulpd	rB0, rA0	addpd	rA0, rC6	movapd	128-120(pA5, ldab,2), rA0	mulpd	rB0, rA0	addpd	rA0, rC7	movapd	128-120(pA10, mldab,2), rA0	mulpd	rB0, rA0	addpd	rA0, rC8	movapd	128-120(pA5,ldab,4), rA0	mulpd	rB0, rA0	addpd	rA0, rC9	movapd	128-120(pA10), rA0	mulpd	rB0, rA0	addpd	rA0, rC10	movapd	128-120(pA10,ldab), rA0	mulpd	rB0, rA0	addpd	rA0, rC11	movapd	128-120(pA10,ldab,2), rA0	mulpd	rB0, rA0	addpd	rA0, rC12	mulpd	128-120(pA5,ldab,8), rB0	addpd	rB0, rC13	movapd	144-120(pA10,mldab5,2), rA0	movapd	144-120(pB0), rB0	mulpd	rB0, rA0	addpd	rA0, rC0	movapd	144-120(pA5, mldab,4), rA0	mulpd	rB0, rA0	addpd	rA0, rC1	movapd	144-120(pA10, mldab,8), rA0	mulpd	rB0, rA0	addpd	rA0, rC2	movapd	144-120(pA5, mldab,2), rA0	mulpd	rB0, rA0	addpd	rA0, rC3	movapd	144-120(pA5, mldab), rA0	mulpd	rB0, rA0	addpd	rA0, rC4	movapd	144-120(pA5), rA0	mulpd	rB0, rA0	addpd	rA0, rC5	movapd	144-120(pA5, ldab), rA0	mulpd	rB0, rA0	addpd	rA0, rC6	movapd	144-120(pA5, ldab,2), rA0	mulpd	rB0, rA0	addpd	rA0, rC7	movapd	144-120(pA10, mldab,2), rA0	mulpd	rB0, rA0	addpd	rA0, rC8	movapd	144-120(pA5,ldab,4), rA0	mulpd	rB0, rA0	addpd	rA0, rC9	movapd	144-120(pA10), rA0	mulpd	rB0, rA0	addpd	rA0, rC10	movapd	144-120(pA10,ldab), rA0	mulpd	rB0, rA0	addpd	rA0, rC11	movapd	144-120(pA10,ldab,2), rA0	mulpd	rB0, rA0	addpd	rA0, rC12	mulpd	144-120(pA5,ldab,8), rB0	addpd	rB0, rC13	movapd	160-120(pA10,mldab5,2), rA0	movapd	160-120(pB0), rB0	mulpd	rB0, rA0	addpd	rA0, rC0	movapd	160-120(pA5, mldab,4), rA0	mulpd	rB0, rA0	addpd	rA0, rC1	movapd	160-120(pA10, mldab,8), rA0	mulpd	rB0, rA0	addpd	rA0, rC2	movapd	160-120(pA5, mldab,2), rA0	mulpd	rB0, rA0	addpd	rA0, rC3	movapd	160-120(pA5, mldab), rA0	mulpd	rB0, rA0	addpd	rA0, rC4	movapd	160-120(pA5), rA0	mulpd	rB0, rA0	addpd	rA0, rC5	movapd	160-120(pA5, ldab), rA0	mulpd	rB0, rA0	addpd	rA0, rC6	movapd	160-120(pA5, ldab,2), rA0	mulpd	rB0, rA0	addpd	rA0, rC7	movapd	160-120(pA10, mldab,2), rA0	mulpd	rB0, rA0	addpd	rA0, rC8	movapd	160-120(pA5,ldab,4), rA0	mulpd	rB0, rA0	addpd	rA0, rC9	movapd	160-120(pA10), rA0	mulpd	rB0, rA0	addpd	rA0, rC10	movapd	160-120(pA10,ldab), rA0	mulpd	rB0, rA0	addpd	rA0, rC11	movapd	160-120(pA10,ldab,2), rA0	mulpd	rB0, rA0	addpd	rA0, rC12	mulpd	160-120(pA5,ldab,8), rB0	addpd	rB0, rC13	movapd	176-120(pA10,mldab5,2), rA0	movapd	176-120(pB0), rB0	mulpd	rB0, rA0	addpd	rA0, rC0	movapd	176-120(pA5, mldab,4), rA0	mulpd	rB0, rA0	addpd	rA0, rC1	movapd	176-120(pA10, mldab,8), rA0	mulpd	rB0, rA0	addpd	rA0, rC2	movapd	176-120(pA5, mldab,2), rA0	mulpd	rB0, rA0	addpd	rA0, rC3	movapd	176-120(pA5, mldab), rA0	mulpd	rB0, rA0	addpd	rA0, rC4	movapd	176-120(pA5), rA0	mulpd	rB0, rA0	addpd	rA0, rC5	movapd	176-120(pA5, ldab), rA0	mulpd	rB0, rA0	addpd	rA0, rC6	movapd	176-120(pA5, ldab,2), rA0	mulpd	rB0, rA0	addpd	rA0, rC7	movapd	176-120(pA10, mldab,2), rA0	mulpd	rB0, rA0	addpd	rA0, rC8	movapd	176-120(pA5,ldab,4), rA0	mulpd	rB0, rA0	addpd	rA0, rC9	movapd	176-120(pA10), rA0	mulpd	rB0, rA0	addpd	rA0, rC10	movapd	176-120(pA10,ldab), rA0	mulpd	rB0, rA0	addpd	rA0, rC11	movapd	176-120(pA10,ldab,2), rA0	mulpd	rB0, rA0	addpd	rA0, rC12	mulpd	176-120(pA5,ldab,8), rB0	addpd	rB0, rC13	movapd	192-120(pA10,mldab5,2), rA0	movapd	192-120(pB0), rB0	mulpd	rB0, rA0	addpd	rA0, rC0	movapd	192-120(pA5, mldab,4), rA0	mulpd	rB0, rA0	addpd	rA0, rC1	movapd	192-120(pA10, mldab,8), rA0	mulpd	rB0, rA0	addpd	rA0, rC2	movapd	192-120(pA5, mldab,2), rA0	mulpd	rB0, rA0	addpd	rA0, rC3	movapd	192-120(pA5, mldab), rA0	mulpd	rB0, rA0	addpd	rA0, rC4	movapd	192-120(pA5), rA0	mulpd	rB0, rA0	addpd	rA0, rC5	movapd	192-120(pA5, ldab), rA0	mulpd	rB0, rA0	addpd	rA0, rC6	movapd	192-120(pA5, ldab,2), rA0	mulpd	rB0, rA0	addpd	rA0, rC7	movapd	192-120(pA10, mldab,2), rA0	mulpd	rB0, rA0	addpd	rA0, rC8	movapd	192-120(pA5,ldab,4), rA0	mulpd	rB0, rA0	addpd	rA0, rC9	movapd	192-120(pA10), rA0	mulpd	rB0, rA0	addpd	rA0, rC10	movapd	192-120(pA10,ldab), rA0	mulpd	rB0, rA0	addpd	rA0, rC11	movapd	192-120(pA10,ldab,2), rA0	mulpd	rB0, rA0	addpd	rA0, rC12	mulpd	192-120(pA5,ldab,8), rB0	addpd	rB0, rC13	movapd	208-120(pA10,mldab5,2), rA0	movapd	208-120(pB0), rB0	mulpd	rB0, rA0	addpd	rA0, rC0	movapd	208-120(pA5, mldab,4), rA0	mulpd	rB0, rA0	addpd	rA0, rC1	movapd	208-120(pA10, mldab,8), rA0	mulpd	rB0, rA0	addpd	rA0, rC2	movapd	208-120(pA5, mldab,2), rA0	mulpd	rB0, rA0	addpd	rA0, rC3	movapd	208-120(pA5, mldab), rA0	mulpd	rB0, rA0	addpd	rA0, rC4	movapd	208-120(pA5), rA0	mulpd	rB0, rA0	addpd	rA0, rC5	movapd	208-120(pA5, ldab), rA0	mulpd	rB0, rA0	addpd	rA0, rC6	movapd	208-120(pA5, ldab,2), rA0	mulpd	rB0, rA0	addpd	rA0, rC7	movapd	208-120(pA10, mldab,2), rA0	mulpd	rB0, rA0	addpd	rA0, rC8	movapd	208-120(pA5,ldab,4), rA0	mulpd	rB0, rA0	addpd	rA0, rC9	movapd	208-120(pA10), rA0	mulpd	rB0, rA0	addpd	rA0, rC10	movapd	208-120(pA10,ldab), rA0	mulpd	rB0, rA0	addpd	rA0, rC11	movapd	208-120(pA10,ldab,2), rA0	mulpd	rB0, rA0	addpd	rA0, rC12	mulpd	208-120(pA5,ldab,8), rB0	addpd	rB0, rC13/* *      While (pB != stK); *//*	cmp	pB, stK *//*	jne	KLOOP *//* *      Get these bastard things summed up correctly */                                        /* rC0 = c0a  c0b */                                        /* rC1 = c1a  c1b */                                        /* rC2 = c2a  c2b */                                        /* rC3 = c3a  c3b *//* */                                        /* rC4 = c4a  c4b */                                        /* rC5 = c5a  c5b */                                        /* rC6 = c6a  c6b */                                        /* rC7 = c7a  c7b */				pref2((pfA))				pref2(64(pfA))        movapd          rC0, rA0        movapd          rC4, rB0        unpcklpd        rC1, rC0        /* rC0 = c0a  c1a */        unpcklpd        rC5, rC4        /* rC4 = c4a  c5a */	 	 	 	prefC(112(pC))	 	 	 	prefC(176(pC))        unpckhpd        rC1, rA0        /* rA0 = c0b  c1b */        unpckhpd        rC5, rB0        /* rB0 = c4b  c5b */        addpd           rA0, rC0        /* rC0 = c0ab c1ab */        addpd           rB0, rC4        /* rC4 = c4ab c5ab */        movapd          rC2, rA0        movapd          rC6, rB0        unpcklpd        rC3, rC2        /* rC2 = c2a  c3a */        unpcklpd        rC7, rC6        /* rC6 = c6a  c7a */					addq	$150, pfA        unpckhpd        rC3, rA0        /* rA0 = c2b  c3b */					pref2(-22(pfA))        unpckhpd        rC7, rB0        /* rB0 = c6b  c7b */        addpd           rA0, rC2        /* rC2 = c2ab c3ab */        addpd           rB0, rC6        /* rC6 = c6ab c7ab *//* */                                        /* rC8 = c08a  c08b */                                        /* rC9 = c09a  c09b */                                        /* rC10 = c10a  c10b */                                        /* rC11 = c11a  c11b *//* */					/* rC12 = c12a c12b */					/* rC13 = c13a c13b */        movapd          rC8, rA0        movapd          rC10, rC1	movapd		rC12, rC3        unpcklpd        rC9, rC8        /* rC8 = c08a  c09a */		addq	$NB14so-224, pA5        unpcklpd        rC11, rC10      /* rC10 = c10a  c11a */		addq	$NB14so-224, pA10	unpcklpd	rC13, rC12	/* rC12 = c12a c13a */        unpckhpd        rC11, rC1       /* rC1 = c10b  c11b */        unpckhpd        rC9, rA0        /* rA0 = c08b  c09b */	unpckhpd	rC13, rC3	/* rC3  = c12b c13b */        addpd           rA0, rC8        /* rC8 = c08ab c09ab */		subq	$224, pB0        addpd           rC1, rC10       /* rC10 = c10ab c11ab */		addq	$112, pC	addpd		rC3, rC12	/* rc12 = c12ab c13ab *//* *      Write results back to C */	movapd	rC0, -112(pC)	movapd	rC2, 16-112(pC)	movapd	rC4, 32-112(pC)	movapd	rC6, 48-112(pC)	movapd	rC8, 64-112(pC)	movapd	rC10, 80-112(pC)	movapd	rC12, 96-112(pC)/* *      pC += 14;  pA += 14*NB; pB -= NB; *//* *      while (pA != stM); */	subq	$1, stM	jne	MLOOP#endif/* *      Last iteration of M-loop unrolled to prefetch next col of B */#if MB == 0MLOOPCU:#endif/*KLOOP: */#ifdef BETA1	movapd	0-120(pA10,mldab5,2), rC0	movapd	0-120(pB0), rB0	mulpd	rB0, rC0	addsd	(pC), rC0	movapd	0-120(pA5, mldab,4), rC1	mulpd	rB0, rC1	addsd	CMUL(8)(pC), rC1	movapd	0-120(pA10, mldab,8), rC2	mulpd	rB0, rC2	addsd	CMUL(16)(pC), rC2	movapd	0-120(pA5, mldab,2), rC3	mulpd	rB0, rC3	addsd	CMUL(24)(pC), rC3	movapd	0-120(pA5, mldab), rC4	mulpd	rB0, rC4	addsd	CMUL(32)(pC), rC4	movapd	0-120(pA5), rC5	mulpd	rB0, rC5	addsd	CMUL(40)(pC), rC5	movapd	0-120(pA5, ldab), rC6	mulpd	rB0, rC6	addsd	CMUL(48)(pC), rC6	movapd	0-120(pA5, ldab,2), rC7	mulpd	rB0, rC7	addsd	CMUL(56)(pC), rC7	movapd	0-120(pA10, mldab,2), rC8	mulpd	rB0, rC8	addsd	CMUL(64)(pC), rC8	movapd	0-120(pA5,ldab,4), rC9	mulpd	rB0, rC9	addsd	CMUL(72)(pC), rC9	movapd	0-120(pA10), rC10	mulpd	rB0, rC10	addsd	CMUL(80)(pC), rC10	movapd	0-120(pA10,ldab), rC11	mulpd	rB0, rC11	addsd	CMUL(88)(pC), rC11	movapd	0-120(pA10,ldab,2), rC12	mulpd	rB0, rC12	addsd	CMUL(96)(pC), rC12	movapd	0-120(pA5,ldab,8), rC13	mulpd	rB0, rC13	addsd	CMUL(104)(pC), rC13#elif defined(BETA0)	movapd	0-120(pA10,mldab5,2), rC0	movapd	0-120(pB0), rC13	mulpd	rC13, rC0	movapd	0-120(pA5, mldab,4), rC1	mulpd	rC13, rC1	movapd	0-120(pA10, mldab,8), rC2	mulpd	rC13, rC2	movapd	0-120(pA5, mldab,2), rC3	mulpd	rC13, rC3	movapd	0-120(pA5, mldab), rC4	mulpd	rC13, rC4	movapd	0-120(pA5), rC5	mulpd	rC13, rC5	movapd	0-120(pA5, ldab), rC6	mulpd	rC13, rC6	movapd	0-120(pA5, ldab,2), rC7	mulpd	rC13, rC7	movapd	0-120(pA10, mldab,2), rC8	mulpd	rC13, rC8	movapd	0-120(pA5,ldab,4), rC9	mulpd	rC13, rC9	movapd	0-120(pA10), rC10	mulpd	rC13, rC10	movapd	0-120(pA10,ldab), rC11	mulpd	rC13, rC11	movapd	0-120(pA10,ldab,2), rC12	mulpd	rC13, rC12	mulpd 	0-120(pA5,ldab,8), rC13#else	movsd	BOF(%rsp), rC0	movapd	rC0, rC1	movapd	rC0, rC2	movapd	rC0, rC3	movapd	rC0, rC4	movapd	rC0, rC5	movapd	rC0, rC6	movapd	rC0, rC7	movapd	rC0, rC8	movapd	rC0, rC9	movapd	rC0, rC10	movapd	rC0, rC11	movapd	rC0, rC12	movapd	rC0, rC13	mulsd	(pC), rC0	mulsd	8(pC), rC1	mulsd	16(pC), rC2	mulsd	24(pC), rC3	mulsd	32(pC), rC4	mulsd	40(pC), rC5	mulsd	48(pC), rC6	mulsd	56(pC), rC7	mulsd	64(pC), rC8	mulsd	72(pC), rC9	mulsd	80(pC), rC10	mulsd	88(pC), rC11	mulsd	96(pC), rC12	mulsd	104(pC), rC13	movapd	0-120(pA10,mldab5,2), rA0	movapd	0-120(pB0), rB0	mulpd	rB0, rA0	addpd	rA0, rC0	movapd	0-120(pA5, mldab,4), rA0	mulpd	rB0, rA0	addpd	rA0, rC1	movapd	0-120(pA10, mldab,8), rA0	mulpd	rB0, rA0	addpd	rA0, rC2	movapd	0-120(pA5, mldab,2), rA0	mulpd	rB0, rA0	addpd	rA0, rC3	movapd	0-120(pA5, mldab), rA0	mulpd	rB0, rA0	addpd	rA0, rC4	movapd	0-120(pA5), rA0	mulpd	rB0, rA0	addpd	rA0, rC5	movapd	0-120(pA5, ldab), rA0	mulpd	rB0, rA0	addpd	rA0, rC6	movapd	0-120(pA5, ldab,2), rA0	mulpd	rB0, rA0	addpd	rA0, rC7	movapd	0-120(pA10, mldab,2), rA0	mulpd	rB0, rA0	addpd	rA0, rC8	movapd	0-120(pA5,ldab,4), rA0	mulpd	rB0, rA0	addpd	rA0, rC9	movapd	0-120(pA10), rA0	mulpd	rB0, rA0	addpd	rA0, rC10	movapd	0-120(pA10,ldab), rA0	mulpd	rB0, rA0	addpd	rA0, rC11	movapd	0-120(pA10,ldab,2), rA0	mulpd	rB0, rA0	addpd	rA0, rC12	mulpd	0-120(pA5,ldab,8), rB0	addpd	rB0, rC13#endif						prefB(-120(pB0,ldab))						prefB(64-120(pB0,ldab))	movapd	16-120(pA10,mldab5,2), rA0	movapd	16-120(pB0), rB0	mulpd	rB0, rA0	addpd	rA0, rC0	movapd	16-120(pA5, mldab,4), rA0	mulpd	rB0, rA0	addpd	rA0, rC1	movapd	16-120(pA10, mldab,8), rA0	mulpd	rB0, rA0

⌨️ 快捷键说明

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