atl_dmm6x1x60_sse2.c

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

C
1,489
字号
	mulpd	256(pB), rA0	addpd	rA0, rC5	movapd	272(pA), rA0	mulpd	272(pB), rA0	addpd	rA0, rC0	movapd	272+NBso(pA), rA0	mulpd	272(pB), rA0	addpd	rA0, rC1	movapd	272+NB2so(pA), rA0	mulpd	272(pB), rA0	addpd	rA0, rC2	movapd	272+NB3so(pA), rA0	mulpd	272(pB), rA0	addpd	rA0, rC3	movapd	272+NB4so(pA), rA0	mulpd	272(pB), rA0	addpd	rA0, rC4	movapd	272+NB5so(pA), rA0	mulpd	272(pB), rA0	addpd	rA0, rC5	movapd	288(pA), rA0	mulpd	288(pB), rA0	addpd	rA0, rC0	movapd	288+NBso(pA), rA0	mulpd	288(pB), rA0	addpd	rA0, rC1	movapd	288+NB2so(pA), rA0	mulpd	288(pB), rA0	addpd	rA0, rC2	movapd	288+NB3so(pA), rA0	mulpd	288(pB), rA0	addpd	rA0, rC3	movapd	288+NB4so(pA), rA0	mulpd	288(pB), rA0	addpd	rA0, rC4	movapd	288+NB5so(pA), rA0	mulpd	288(pB), rA0	addpd	rA0, rC5	movapd	304(pA), rA0	mulpd	304(pB), rA0	addpd	rA0, rC0	movapd	304+NBso(pA), rA0	mulpd	304(pB), rA0	addpd	rA0, rC1	movapd	304+NB2so(pA), rA0	mulpd	304(pB), rA0	addpd	rA0, rC2	movapd	304+NB3so(pA), rA0	mulpd	304(pB), rA0	addpd	rA0, rC3	movapd	304+NB4so(pA), rA0	mulpd	304(pB), rA0	addpd	rA0, rC4	movapd	304+NB5so(pA), rA0	mulpd	304(pB), rA0	addpd	rA0, rC5	movapd	320(pA), rA0	mulpd	320(pB), rA0	addpd	rA0, rC0	movapd	320+NBso(pA), rA0	mulpd	320(pB), rA0	addpd	rA0, rC1	movapd	320+NB2so(pA), rA0	mulpd	320(pB), rA0	addpd	rA0, rC2	movapd	320+NB3so(pA), rA0	mulpd	320(pB), rA0	addpd	rA0, rC3	movapd	320+NB4so(pA), rA0	mulpd	320(pB), rA0	addpd	rA0, rC4	movapd	320+NB5so(pA), rA0	mulpd	320(pB), rA0	addpd	rA0, rC5	movapd	336(pA), rA0	mulpd	336(pB), rA0	addpd	rA0, rC0	movapd	336+NBso(pA), rA0	mulpd	336(pB), rA0	addpd	rA0, rC1	movapd	336+NB2so(pA), rA0	mulpd	336(pB), rA0	addpd	rA0, rC2	movapd	336+NB3so(pA), rA0	mulpd	336(pB), rA0	addpd	rA0, rC3	movapd	336+NB4so(pA), rA0	mulpd	336(pB), rA0	addpd	rA0, rC4	movapd	336+NB5so(pA), rA0	mulpd	336(pB), rA0	addpd	rA0, rC5	movapd	352(pA), rA0	mulpd	352(pB), rA0	addpd	rA0, rC0	movapd	352+NBso(pA), rA0	mulpd	352(pB), rA0	addpd	rA0, rC1	movapd	352+NB2so(pA), rA0	mulpd	352(pB), rA0	addpd	rA0, rC2	movapd	352+NB3so(pA), rA0	mulpd	352(pB), rA0	addpd	rA0, rC3	movapd	352+NB4so(pA), rA0	mulpd	352(pB), rA0	addpd	rA0, rC4	movapd	352+NB5so(pA), rA0	mulpd	352(pB), rA0	addpd	rA0, rC5	movapd	368(pA), rA0	mulpd	368(pB), rA0	addpd	rA0, rC0	movapd	368+NBso(pA), rA0	mulpd	368(pB), rA0	addpd	rA0, rC1	movapd	368+NB2so(pA), rA0	mulpd	368(pB), rA0	addpd	rA0, rC2	movapd	368+NB3so(pA), rA0	mulpd	368(pB), rA0	addpd	rA0, rC3	movapd	368+NB4so(pA), rA0	mulpd	368(pB), rA0	addpd	rA0, rC4	movapd	368+NB5so(pA), rA0	mulpd	368(pB), rA0	addpd	rA0, rC5	movapd	384(pA), rA0	mulpd	384(pB), rA0	addpd	rA0, rC0	movapd	384+NBso(pA), rA0	mulpd	384(pB), rA0	addpd	rA0, rC1	movapd	384+NB2so(pA), rA0	mulpd	384(pB), rA0	addpd	rA0, rC2	movapd	384+NB3so(pA), rA0	mulpd	384(pB), rA0	addpd	rA0, rC3	movapd	384+NB4so(pA), rA0	mulpd	384(pB), rA0	addpd	rA0, rC4	movapd	384+NB5so(pA), rA0	mulpd	384(pB), rA0	addpd	rA0, rC5	movapd	400(pA), rA0	mulpd	400(pB), rA0	addpd	rA0, rC0	movapd	400+NBso(pA), rA0	mulpd	400(pB), rA0	addpd	rA0, rC1	movapd	400+NB2so(pA), rA0	mulpd	400(pB), rA0	addpd	rA0, rC2	movapd	400+NB3so(pA), rA0	mulpd	400(pB), rA0	addpd	rA0, rC3	movapd	400+NB4so(pA), rA0	mulpd	400(pB), rA0	addpd	rA0, rC4	movapd	400+NB5so(pA), rA0	mulpd	400(pB), rA0	addpd	rA0, rC5	movapd	416(pA), rA0	mulpd	416(pB), rA0	addpd	rA0, rC0	movapd	416+NBso(pA), rA0	mulpd	416(pB), rA0	addpd	rA0, rC1	movapd	416+NB2so(pA), rA0	mulpd	416(pB), rA0	addpd	rA0, rC2	movapd	416+NB3so(pA), rA0	mulpd	416(pB), rA0	addpd	rA0, rC3	movapd	416+NB4so(pA), rA0	mulpd	416(pB), rA0	addpd	rA0, rC4	movapd	416+NB5so(pA), rA0	mulpd	416(pB), rA0	addpd	rA0, rC5	movapd	432(pA), rA0	mulpd	432(pB), rA0	addpd	rA0, rC0	movapd	432+NBso(pA), rA0	mulpd	432(pB), rA0	addpd	rA0, rC1	movapd	432+NB2so(pA), rA0	mulpd	432(pB), rA0	addpd	rA0, rC2	movapd	432+NB3so(pA), rA0	mulpd	432(pB), rA0	addpd	rA0, rC3	movapd	432+NB4so(pA), rA0	mulpd	432(pB), rA0	addpd	rA0, rC4	movapd	432+NB5so(pA), rA0	mulpd	432(pB), rA0	addpd	rA0, rC5	movapd	448(pA), rA0	mulpd	448(pB), rA0	addpd	rA0, rC0	movapd	448+NBso(pA), rA0	mulpd	448(pB), rA0	addpd	rA0, rC1	movapd	448+NB2so(pA), rA0	mulpd	448(pB), rA0	addpd	rA0, rC2	movapd	448+NB3so(pA), rA0	mulpd	448(pB), rA0	addpd	rA0, rC3	movapd	448+NB4so(pA), rA0	mulpd	448(pB), rA0	addpd	rA0, rC4	movapd	448+NB5so(pA), rA0	mulpd	448(pB), rA0	addpd	rA0, rC5			prefC(64(pC))	movapd	464(pA), rA0	mulpd	464(pB), rA0	addpd	rA0, rC0	movapd	464+NBso(pA), rA0	mulpd	464(pB), rA0	addpd	rA0, rC1	movapd	464+NB2so(pA), rA0	mulpd	464(pB), rA0	addpd	rA0, rC2	movapd	464+NB3so(pA), rA0	mulpd	464(pB), rA0	addpd	rA0, rC3	movapd	464+NB4so(pA), rA0	mulpd	464(pB), rA0	addpd	rA0, rC4	movapd	464+NB5so(pA), rA0	mulpd	464(pB), rA0	addpd	rA0, rC5/* *      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, rA1        unpcklpd        rC1, rC0        /* rC0 = c0a  c1a */        unpcklpd        rC5, rC4        /* rC4 = c4a  c5a *//*			pref2((stN,pfA)) */        unpckhpd        rC1, rA0        /* rA0 = c0b  c1b */        unpckhpd        rC5, rA1        /* rA1 = c4b  c5b */        addpd           rA0, rC0        /* rC0 = c0ab c1ab */        addpd           rA1, rC4        /* rC4 = c4ab c5ab */        movapd          rC2, rA0        unpcklpd        rC3, rC2        /* rC2 = c2a  c3a */			pref2(NB6so(stM,pfA))			addl	$54, pfA        unpckhpd        rC3, rA0        /* rA0 = c2b  c3b */        addpd           rA0, rC2        /* rC2 = c2ab c3ab *//* *      Write results back to C */   #ifdef DCPLX	movlpd	rC0, (pC)	movhpd	rC0, 16(pC)	movlpd	rC2, 32(pC)	movhpd	rC2, 48(pC)	movlpd	rC4, 64(pC)	movhpd	rC4, 80(pC)   #else	movupd	rC0, (pC)	movupd	rC2, 16(pC)	movupd	rC4, 32(pC)   #endif/* *      pC += 6;   pA += 6*NB */   #ifdef DCPLX	addl	$96, pC   #else	addl	$48, pC   #endif	addl	$NB6so, pA/* *      while (pA != stM); */	cmp	pA, stM	jne	MLOOP/* *      Last M-loop iteration unrolled to prefetch next col of B */			prefB(NBso(pB))#ifdef BETA0	xorpd	rC0, rC0	xorpd	rC1, rC1	xorpd	rC2, rC2	xorpd	rC3, rC3	xorpd	rC4, rC4	xorpd	rC5, rC5#else   #ifdef DCPLX	movsd	(pC), rC0	movsd	16(pC), rC1	movsd	32(pC), rC2	movsd	48(pC), rC3	movsd	64(pC), rC4	movsd	80(pC), rC5   #else	movsd	(pC), rC0	movsd	8(pC), rC1	movsd	16(pC), rC2	movsd	24(pC), rC3	movsd	32(pC), rC4	movsd	40(pC), rC5   #endif   #ifdef BETAX	movlpd	(%esp), rA0	mulsd	rA0, rC0	mulsd	rA0, rC1	mulsd	rA0, rC2	mulsd	rA0, rC3	mulsd	rA0, rC4	mulsd	rA0, rC5   #endif#endif	movapd	0(pA), rA0	mulpd	0(pB), rA0	addpd	rA0, rC0	movapd	0+NBso(pA), rA0	mulpd	0(pB), rA0	addpd	rA0, rC1	movapd	0+NB2so(pA), rA0	mulpd	0(pB), rA0	addpd	rA0, rC2	movapd	0+NB3so(pA), rA0	mulpd	0(pB), rA0	addpd	rA0, rC3	movapd	0+NB4so(pA), rA0	mulpd	0(pB), rA0	addpd	rA0, rC4	movapd	0+NB5so(pA), rA0	mulpd	0(pB), rA0	addpd	rA0, rC5			prefB(64+NBso(pB))	movapd	16(pA), rA0	mulpd	16(pB), rA0	addpd	rA0, rC0	movapd	16+NBso(pA), rA0	mulpd	16(pB), rA0	addpd	rA0, rC1	movapd	16+NB2so(pA), rA0	mulpd	16(pB), rA0	addpd	rA0, rC2	movapd	16+NB3so(pA), rA0	mulpd	16(pB), rA0	addpd	rA0, rC3	movapd	16+NB4so(pA), rA0	mulpd	16(pB), rA0	addpd	rA0, rC4	movapd	16+NB5so(pA), rA0	mulpd	16(pB), rA0	addpd	rA0, rC5			prefB(128+NBso(pB))	movapd	32(pA), rA0	mulpd	32(pB), rA0	addpd	rA0, rC0	movapd	32+NBso(pA), rA0	mulpd	32(pB), rA0	addpd	rA0, rC1	movapd	32+NB2so(pA), rA0	mulpd	32(pB), rA0	addpd	rA0, rC2	movapd	32+NB3so(pA), rA0	mulpd	32(pB), rA0	addpd	rA0, rC3	movapd	32+NB4so(pA), rA0	mulpd	32(pB), rA0	addpd	rA0, rC4	movapd	32+NB5so(pA), rA0	mulpd	32(pB), rA0	addpd	rA0, rC5	movapd	48(pA), rA0	mulpd	48(pB), rA0	addpd	rA0, rC0	movapd	48+NBso(pA), rA0	mulpd	48(pB), rA0	addpd	rA0, rC1	movapd	48+NB2so(pA), rA0	mulpd	48(pB), rA0	addpd	rA0, rC2	movapd	48+NB3so(pA), rA0	mulpd	48(pB), rA0	addpd	rA0, rC3	movapd	48+NB4so(pA), rA0	mulpd	48(pB), rA0	addpd	rA0, rC4	movapd	48+NB5so(pA), rA0	mulpd	48(pB), rA0	addpd	rA0, rC5	movapd	64(pA), rA0	mulpd	64(pB), rA0	addpd	rA0, rC0	movapd	64+NBso(pA), rA0	mulpd	64(pB), rA0	addpd	rA0, rC1	movapd	64+NB2so(pA), rA0	mulpd	64(pB), rA0	addpd	rA0, rC2	movapd	64+NB3so(pA), rA0	mulpd	64(pB), rA0	addpd	rA0, rC3	movapd	64+NB4so(pA), rA0	mulpd	64(pB), rA0	addpd	rA0, rC4	movapd	64+NB5so(pA), rA0	mulpd	64(pB), rA0	addpd	rA0, rC5	movapd	80(pA), rA0	mulpd	80(pB), rA0	addpd	rA0, rC0	movapd	80+NBso(pA), rA0	mulpd	80(pB), rA0	addpd	rA0, rC1	movapd	80+NB2so(pA), rA0	mulpd	80(pB), rA0	addpd	rA0, rC2	movapd	80+NB3so(pA), rA0	mulpd	80(pB), rA0	addpd	rA0, rC3	movapd	80+NB4so(pA), rA0	mulpd	80(pB), rA0	addpd	rA0, rC4	movapd	80+NB5so(pA), rA0	mulpd	80(pB), rA0	addpd	rA0, rC5			prefB(192+NBso(pB))	movapd	96(pA), rA0	mulpd	96(pB), rA0	addpd	rA0, rC0	movapd	96+NBso(pA), rA0	mulpd	96(pB), rA0	addpd	rA0, rC1	movapd	96+NB2so(pA), rA0	mulpd	96(pB), rA0	addpd	rA0, rC2	movapd	96+NB3so(pA), rA0	mulpd	96(pB), rA0	addpd	rA0, rC3	movapd	96+NB4so(pA), rA0	mulpd	96(pB), rA0	addpd	rA0, rC4	movapd	96+NB5so(pA), rA0	mulpd	96(pB), rA0	addpd	rA0, rC5	movapd	112(pA), rA0	mulpd	112(pB), rA0	addpd	rA0, rC0	movapd	112+NBso(pA), rA0	mulpd	112(pB), rA0	addpd	rA0, rC1	movapd	112+NB2so(pA), rA0	mulpd	112(pB), rA0	addpd	rA0, rC2	movapd	112+NB3so(pA), rA0	mulpd	112(pB), rA0	addpd	rA0, rC3	movapd	112+NB4so(pA), rA0	mulpd	112(pB), rA0	addpd	rA0, rC4	movapd	112+NB5so(pA), rA0	mulpd	112(pB), rA0	addpd	rA0, rC5

⌨️ 快捷键说明

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