atl_dmm6x1x60_sse2_32.c

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

C
1,718
字号
	movapd	208-120(pB0), rB0	mulpd	rB0, rA0	addpd	rA0, rC0	movapd	208-120(pA0,ldab), rA0	mulpd	rB0, rA0	addpd	rA0, rC1	movapd	208-120(pA0,ldab,2), rA0	mulpd	rB0, rA0	addpd	rA0, rC2	movapd	208-120(pA3), rA0	mulpd	rB0, rA0	addpd	rA0, rC3	movapd	208-120(pA3,ldab), rA0	mulpd	rB0, rA0	addpd	rA0, rC4	mulpd	208-120(pA3,ldab,2), rB0	addpd	rB0, rC5	movapd	224-120(pA0), rA0	movapd	224-120(pB0), rB0	mulpd	rB0, rA0	addpd	rA0, rC0	movapd	224-120(pA0,ldab), rA0	mulpd	rB0, rA0	addpd	rA0, rC1	movapd	224-120(pA0,ldab,2), rA0	mulpd	rB0, rA0	addpd	rA0, rC2	movapd	224-120(pA3), rA0	mulpd	rB0, rA0	addpd	rA0, rC3	movapd	224-120(pA3,ldab), rA0	mulpd	rB0, rA0	addpd	rA0, rC4	mulpd	224-120(pA3,ldab,2), rB0	addpd	rB0, rC5	                                        addl	$240, pA0                                        	addl	$240, pB0	movapd	0-120(pA0), rA0	movapd	0-120(pB0), rB0	mulpd	rB0, rA0	addpd	rA0, rC0	                                        addl	$240, pA3	movapd	0-120(pA0,ldab), rA0	mulpd	rB0, rA0	addpd	rA0, rC1	movapd	0-120(pA0,ldab,2), rA0	mulpd	rB0, rA0	addpd	rA0, rC2	movapd	0-120(pA3), rA0	mulpd	rB0, rA0	addpd	rA0, rC3	movapd	0-120(pA3,ldab), rA0	mulpd	rB0, rA0	addpd	rA0, rC4	mulpd	0-120(pA3,ldab,2), rB0	addpd	rB0, rC5	movapd	16-120(pA0), rA0	movapd	16-120(pB0), rB0	mulpd	rB0, rA0	addpd	rA0, rC0	movapd	16-120(pA0,ldab), rA0	mulpd	rB0, rA0	addpd	rA0, rC1	movapd	16-120(pA0,ldab,2), rA0	mulpd	rB0, rA0	addpd	rA0, rC2	movapd	16-120(pA3), rA0	mulpd	rB0, rA0	addpd	rA0, rC3	movapd	16-120(pA3,ldab), rA0	mulpd	rB0, rA0	addpd	rA0, rC4	mulpd	16-120(pA3,ldab,2), rB0	addpd	rB0, rC5	movapd	32-120(pA0), rA0	movapd	32-120(pB0), rB0	mulpd	rB0, rA0	addpd	rA0, rC0	movapd	32-120(pA0,ldab), rA0	mulpd	rB0, rA0	addpd	rA0, rC1	movapd	32-120(pA0,ldab,2), rA0	mulpd	rB0, rA0	addpd	rA0, rC2	movapd	32-120(pA3), rA0	mulpd	rB0, rA0	addpd	rA0, rC3	movapd	32-120(pA3,ldab), rA0	mulpd	rB0, rA0	addpd	rA0, rC4	mulpd	32-120(pA3,ldab,2), rB0	addpd	rB0, rC5	movapd	48-120(pA0), rA0	movapd	48-120(pB0), rB0	mulpd	rB0, rA0	addpd	rA0, rC0	movapd	48-120(pA0,ldab), rA0	mulpd	rB0, rA0	addpd	rA0, rC1	movapd	48-120(pA0,ldab,2), rA0	mulpd	rB0, rA0	addpd	rA0, rC2	movapd	48-120(pA3), rA0	mulpd	rB0, rA0	addpd	rA0, rC3	movapd	48-120(pA3,ldab), rA0	mulpd	rB0, rA0	addpd	rA0, rC4	mulpd	48-120(pA3,ldab,2), rB0	addpd	rB0, rC5	movapd	64-120(pA0), rA0	movapd	64-120(pB0), rB0	mulpd	rB0, rA0	addpd	rA0, rC0	movapd	64-120(pA0,ldab), rA0	mulpd	rB0, rA0	addpd	rA0, rC1	movapd	64-120(pA0,ldab,2), rA0	mulpd	rB0, rA0	addpd	rA0, rC2	movapd	64-120(pA3), rA0	mulpd	rB0, rA0	addpd	rA0, rC3	movapd	64-120(pA3,ldab), rA0	mulpd	rB0, rA0	addpd	rA0, rC4	mulpd	64-120(pA3,ldab,2), rB0	addpd	rB0, rC5	movapd	80-120(pA0), rA0	movapd	80-120(pB0), rB0	mulpd	rB0, rA0	addpd	rA0, rC0	movapd	80-120(pA0,ldab), rA0	mulpd	rB0, rA0	addpd	rA0, rC1	movapd	80-120(pA0,ldab,2), rA0	mulpd	rB0, rA0	addpd	rA0, rC2	movapd	80-120(pA3), rA0	mulpd	rB0, rA0	addpd	rA0, rC3	movapd	80-120(pA3,ldab), rA0	mulpd	rB0, rA0	addpd	rA0, rC4	mulpd	80-120(pA3,ldab,2), rB0	addpd	rB0, rC5	movapd	96-120(pA0), rA0	movapd	96-120(pB0), rB0	mulpd	rB0, rA0	addpd	rA0, rC0	movapd	96-120(pA0,ldab), rA0	mulpd	rB0, rA0	addpd	rA0, rC1	movapd	96-120(pA0,ldab,2), rA0	mulpd	rB0, rA0	addpd	rA0, rC2	movapd	96-120(pA3), rA0	mulpd	rB0, rA0	addpd	rA0, rC3	movapd	96-120(pA3,ldab), rA0	mulpd	rB0, rA0	addpd	rA0, rC4	mulpd	96-120(pA3,ldab,2), rB0	addpd	rB0, rC5	movapd	112-120(pA0), rA0	movapd	112-120(pB0), rB0	mulpd	rB0, rA0	addpd	rA0, rC0	movapd	112-120(pA0,ldab), rA0	mulpd	rB0, rA0	addpd	rA0, rC1	movapd	112-120(pA0,ldab,2), rA0	mulpd	rB0, rA0	addpd	rA0, rC2	movapd	112-120(pA3), rA0	mulpd	rB0, rA0	addpd	rA0, rC3	movapd	112-120(pA3,ldab), rA0	mulpd	rB0, rA0	addpd	rA0, rC4	mulpd	112-120(pA3,ldab,2), rB0	addpd	rB0, rC5	movapd	128-120(pA0), rA0	movapd	128-120(pB0), rB0	mulpd	rB0, rA0	addpd	rA0, rC0	movapd	128-120(pA0,ldab), rA0	mulpd	rB0, rA0	addpd	rA0, rC1	movapd	128-120(pA0,ldab,2), rA0	mulpd	rB0, rA0	addpd	rA0, rC2	movapd	128-120(pA3), rA0	mulpd	rB0, rA0	addpd	rA0, rC3	movapd	128-120(pA3,ldab), rA0	mulpd	rB0, rA0	addpd	rA0, rC4	mulpd	128-120(pA3,ldab,2), rB0	addpd	rB0, rC5	movapd	144-120(pA0), rA0	movapd	144-120(pB0), rB0	mulpd	rB0, rA0	addpd	rA0, rC0	movapd	144-120(pA0,ldab), rA0	mulpd	rB0, rA0	addpd	rA0, rC1	movapd	144-120(pA0,ldab,2), rA0	mulpd	rB0, rA0	addpd	rA0, rC2	movapd	144-120(pA3), rA0	mulpd	rB0, rA0	addpd	rA0, rC3	movapd	144-120(pA3,ldab), rA0	mulpd	rB0, rA0	addpd	rA0, rC4	mulpd	144-120(pA3,ldab,2), rB0	addpd	rB0, rC5	movapd	160-120(pA0), rA0	movapd	160-120(pB0), rB0	mulpd	rB0, rA0	addpd	rA0, rC0	movapd	160-120(pA0,ldab), rA0	mulpd	rB0, rA0	addpd	rA0, rC1	movapd	160-120(pA0,ldab,2), rA0	mulpd	rB0, rA0	addpd	rA0, rC2	movapd	160-120(pA3), rA0	mulpd	rB0, rA0	addpd	rA0, rC3	movapd	160-120(pA3,ldab), rA0	mulpd	rB0, rA0	addpd	rA0, rC4	mulpd	160-120(pA3,ldab,2), rB0	addpd	rB0, rC5	movapd	176-120(pA0), rA0	movapd	176-120(pB0), rB0	mulpd	rB0, rA0	addpd	rA0, rC0	movapd	176-120(pA0,ldab), rA0	mulpd	rB0, rA0	addpd	rA0, rC1	movapd	176-120(pA0,ldab,2), rA0	mulpd	rB0, rA0	addpd	rA0, rC2	movapd	176-120(pA3), rA0	mulpd	rB0, rA0	addpd	rA0, rC3	movapd	176-120(pA3,ldab), rA0	mulpd	rB0, rA0	addpd	rA0, rC4	mulpd	176-120(pA3,ldab,2), rB0	addpd	rB0, rC5	movapd	192-120(pA0), rA0	movapd	192-120(pB0), rB0	mulpd	rB0, rA0	addpd	rA0, rC0	movapd	192-120(pA0,ldab), rA0	mulpd	rB0, rA0	addpd	rA0, rC1	movapd	192-120(pA0,ldab,2), rA0	mulpd	rB0, rA0	addpd	rA0, rC2	movapd	192-120(pA3), rA0	mulpd	rB0, rA0	addpd	rA0, rC3	movapd	192-120(pA3,ldab), rA0	mulpd	rB0, rA0	addpd	rA0, rC4	mulpd	192-120(pA3,ldab,2), rB0	addpd	rB0, rC5	movapd	208-120(pA0), rA0	movapd	208-120(pB0), rB0	mulpd	rB0, rA0	addpd	rA0, rC0	movapd	208-120(pA0,ldab), rA0	mulpd	rB0, rA0	addpd	rA0, rC1	movapd	208-120(pA0,ldab,2), rA0	mulpd	rB0, rA0	addpd	rA0, rC2	movapd	208-120(pA3), rA0	mulpd	rB0, rA0	addpd	rA0, rC3	movapd	208-120(pA3,ldab), rA0	mulpd	rB0, rA0	addpd	rA0, rC4	mulpd	208-120(pA3,ldab,2), rB0	addpd	rB0, rC5	movapd	224-120(pA0), rA0	movapd	224-120(pB0), rB0	mulpd	rB0, rA0	addpd	rA0, rC0	movapd	224-120(pA0,ldab), rA0	mulpd	rB0, rA0	addpd	rA0, rC1	movapd	224-120(pA0,ldab,2), rA0	mulpd	rB0, rA0	addpd	rA0, rC2	movapd	224-120(pA3), rA0	mulpd	rB0, rA0	addpd	rA0, rC3	movapd	224-120(pA3,ldab), rA0	mulpd	rB0, rA0	addpd	rA0, rC4	mulpd	224-120(pA3,ldab,2), rB0	addpd	rB0, rC5/*ENDKLOOP *//* *      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 */        movapd          rC0, rA0        movapd          rC4, rB0        unpcklpd        rC1, rC0        /* rC0 = c0a  c1a */                                                prefC(112(pC0))                                                prefC(176(pC0))        unpcklpd        rC5, rC4        /* rC4 = c4a  c5a */        unpckhpd        rC1, rA0        /* rA0 = c0b  c1b */        unpckhpd        rC5, rB0        /* rB0 = c4b  c5b */        addpd           rA0, rC0        /* rC0 = c0ab c1ab */   #if defined(X8632) || !defined(BETAX)        addpd           rB0, rC4        /* rC4 = c4ab c5ab */        movapd          rC2, rA0        unpcklpd        rC3, rC2        /* rC2 = c2a  c3a */                                                pref2((pfA))                                                addl    $54, pfA        unpckhpd        rC3, rA0        /* rA0 = c2b  c3b */        addpd           rA0, rC2        /* rC2 = c2ab c3ab */   #else        addpd           rB0, rC4        /* rC4 = c4ab c5ab */        movapd          rC2, rA0                                  addpd rc0, rC0        unpcklpd        rC3, rC2        /* rC2 = c2a  c3a */                                  addpd rc2, rC4                                                pref2((pfA))                                                addl    $54, pfA        unpckhpd        rC3, rA0        /* rA0 = c2b  c3b */        addpd           rA0, rC2        /* rC2 = c2ab c3ab */                                  addpd rc1, rC2   #endif/* *      Write results back to C */   #ifdef DCPLX	movlpd	rC0, (pC0)	movhpd	rC0, 16(pC0)	movlpd	rC2, 32(pC0)	movhpd	rC2, 48(pC0)	movlpd	rC4, 64(pC0)	movhpd	rC4, 80(pC0)   #else	movupd	rC0, (pC0)	movupd	rC2, 16(pC0)	movupd	rC4, 32(pC0)   #endif/* *      pC += 6;   pA += 6*NB */        addl    $CMUL(48), pC0        addl    $NB6so-240, pA0        addl    $NB6so-240, pA3	subl	$240, pB0   #ifdef X8632	subb	$1, stM   #else        subq    $6, stM   #endif        jnz     MLOOP#endif/* *Last iteration of loop unrolled for prefetch of B */#if MB == 0MLOOPCU:#endif#ifdef BETAX   #ifdef X8632        movsd   (pC0), rC0        movsd   CMUL(8)(pC0), rC1        movsd   CMUL(16)(pC0), rC2        movsd   CMUL(24)(pC0), rC3        movsd   CMUL(32)(pC0), rC4        movsd   CMUL(40)(pC0), rC5        movlpd  BETAOFF(%esp), rA0        mulsd   rA0, rC0        mulsd   rA0, rC1        mulsd   rA0, rC2        mulsd   rA0, rC3        mulsd   rA0, rC4        mulsd   rA0, rC5   #else      #ifdef DCPLX        movlpd  (pC0), rc0        movhpd  16(pC0), rc0        movlpd  32(pC0), rc1        movhpd  48(pC0), rc1        movlpd  64(pC0), rc1        movhpd  80(pC0), rc1      #else        movupd  (pC0), rc0        movupd  16(pC0), rc1        movupd  32(pC0), rc2      #endif        mulpd   rBETA, rc0        mulpd   rBETA, rc1        mulpd   rBETA, rc2   #endif        ALIGN16#endif/*KLOOP */#ifdef BETA1	movapd	0-120(pA0), rC0	movapd	0-120(pB0), rB0	mulpd	rB0, rC0        addsd   (pC0), rC0	movapd	0-120(pA0,ldab), rC1	mulpd	rB0, rC1        addsd   CMUL(8)(pC0), rC1	movapd	0-120(pA0,ldab,2), rC2	mulpd	rB0, rC2        addsd   CMUL(16)(pC0), rC2	movapd	0-120(pA3), rC3	mulpd	rB0, rC3        addsd   CMUL(24)(pC0), rC3	movapd	0-120(pA3,ldab), rC4	mulpd	rB0, rC4        addsd   CMUL(32)(pC0), rC4	movapd	0-120(pA3,ldab,2), rC5	mulpd	rB0, rC5        addsd   CMUL(40)(pC0), rC5#elif defined(BETA0) || defined(X8664)	movapd	0-120(pA0), rC0	movapd	0-120(pB0), rB0	mulpd	rB0, rC0	movapd	0-120(pA0,ldab), rC1	mulpd	rB0, rC1	movapd	0-120(pA0,ldab,2), rC2	mulpd	rB0, rC2	movapd	0-120(pA3), rC3	mulpd	rB0, rC3	movapd	0-120(pA3,ldab), rC4	mulpd	rB0, rC4	movapd	0-120(pA3,ldab,2), rC5	mulpd	rB0, rC5#else	movapd	0-120(pA0), rA0	movapd	0-120(pB0), rB0	mulpd	rB0, rA0	addpd	rA0, rC0	movapd	0-120(pA0,ldab), rA0	mulpd	rB0, rA0	addpd	rA0, rC1	movapd	0-120(pA0,ldab,2), rA0	mulpd	rB0, rA0	addpd	rA0, rC2	movapd	0-120(pA3), rA0	mulpd	rB0, rA0	addpd	rA0, rC3	movapd	0-120(pA3,ldab), rA0	mulpd	rB0, rA0	addpd	rA0, rC4	mulpd	0-120(pA3,ldab,2), rB0	addpd	rB0, rC5#endif                                                prefB(-120(pB0,ldab))                                                prefB(64-120(pB0,ldab))	movapd	16-120(pA0), rA0	movapd	16-120(pB0), rB0	mulpd	rB0, rA0	addpd	rA0, rC0	movapd	16-120(pA0,ldab), rA0	mulpd	rB0, rA0	addpd	rA0, rC1	movapd	16-120(pA0,ldab,2), rA0	mulpd	rB0, rA0	addpd	rA0, rC2	movapd	16-120(pA3), rA0	mulpd	rB0, rA0	addpd	rA0, rC3	movapd	16-120(pA3,ldab), rA0	mulpd	rB0, rA0	addpd	rA0, rC4	mulpd	16-120(pA3,ldab,2), rB0	addpd	rB0, rC5	movapd	32-120(pA0), rA0	movapd	32-120(pB0), rB0	mulpd	rB0, rA0	addpd	rA0, rC0	movapd	32-120(pA0,ldab), rA0	mulpd	rB0, rA0	addpd	rA0, rC1	movapd	32-120(pA0,ldab,2), rA0	mulpd	rB0, rA0	addpd	rA0, rC2	movapd	32-120(pA3), rA0	mulpd	rB0, rA0	addpd	rA0, rC3	movapd	32-120(pA3,ldab), rA0	mulpd	rB0, rA0	addpd	rA0, rC4	mulpd	32-120(pA3,ldab,2), rB0	addpd	rB0, rC5	movapd	48-120(pA0), rA0	movapd	48-120(pB0), rB0	mulpd	rB0, rA0	addpd	rA0, rC0	movapd	48-120(pA0,ldab), rA0	mulpd	rB0, rA0	addpd	rA0, rC1	movapd	48-120(pA0,ldab,2), rA0	mulpd	rB0, rA0	addpd	rA0, rC2	movapd	48-120(pA3), rA0	mulpd	rB0, rA0	addpd	rA0, rC3	movapd	48-120(pA3,ldab), rA0	mulpd	rB0, rA0	addpd	rA0, rC4	mulpd	48-120(pA3,ldab,2), rB0	addpd	rB0, rC5	movapd	64-120(pA0), rA0	movapd	64-120(pB0), rB0	mulpd	rB0, rA0	addpd	rA0, rC0	movapd	64-120(pA0,ldab), rA0	mulpd	rB0, rA0	addpd	rA0, rC1                                                prefB(128-120(pB0,ldab))                                                prefB(192-120(pB0,ldab))	movapd	64-120(pA0,ldab,2), rA0	mulpd	rB0, rA0	addpd	rA0, rC2	movapd	64-120(pA3), rA0	mulpd	rB0, rA0	addpd	rA0, rC3	movapd	64-120(pA3,ldab), rA0	mulpd	rB0, rA0	addpd	rA0, rC4	mulpd	64-120(pA3,ldab,2), rB0	addpd	rB0, rC5	movapd	80-120(pA0), rA0	movapd	80-120(pB0), rB0

⌨️ 快捷键说明

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