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 + -
显示快捷键?