atl_dmm1x6x72_sse2.c
来自「基于Blas CLapck的.用过的人知道是干啥的」· C语言 代码 · 共 1,724 行 · 第 1/3 页
C
1,724 行
mulpd rB0, rA0 addpd rA0, rC4 mulpd 304-120(pA3,ldab,2), rB0 addpd rB0, rC5 movapd 320-120(pB0), rB0 movapd 320-120(pA0), rA0 mulpd rB0, rA0 addpd rA0, rC0 movapd 320-120(pA0,ldab), rA0 mulpd rB0, rA0 addpd rA0, rC1 movapd 320-120(pA0,ldab,2), rA0 mulpd rB0, rA0 addpd rA0, rC2 movapd 320-120(pA3), rA0 mulpd rB0, rA0 addpd rA0, rC3 movapd 320-120(pA3,ldab), rA0 mulpd rB0, rA0 addpd rA0, rC4 mulpd 320-120(pA3,ldab,2), rB0 addpd rB0, rC5 movapd 336-120(pB0), rB0 movapd 336-120(pA0), rA0 mulpd rB0, rA0 addpd rA0, rC0 movapd 336-120(pA0,ldab), rA0 mulpd rB0, rA0 addpd rA0, rC1 movapd 336-120(pA0,ldab,2), rA0 mulpd rB0, rA0 addpd rA0, rC2 movapd 336-120(pA3), rA0 mulpd rB0, rA0 addpd rA0, rC3 movapd 336-120(pA3,ldab), rA0 mulpd rB0, rA0 addpd rA0, rC4 mulpd 336-120(pA3,ldab,2), rB0 addpd rB0, rC5 movapd 352-120(pB0), rB0 movapd 352-120(pA0), rA0 mulpd rB0, rA0 addpd rA0, rC0 movapd 352-120(pA0,ldab), rA0 mulpd rB0, rA0 addpd rA0, rC1 movapd 352-120(pA0,ldab,2), rA0 mulpd rB0, rA0 addpd rA0, rC2 movapd 352-120(pA3), rA0 mulpd rB0, rA0 addpd rA0, rC3 movapd 352-120(pA3,ldab), rA0 mulpd rB0, rA0 addpd rA0, rC4 mulpd 352-120(pA3,ldab,2), rB0 addpd rB0, rC5 movapd 368-120(pB0), rB0 movapd 368-120(pA0), rA0 mulpd rB0, rA0 addpd rA0, rC0 movapd 368-120(pA0,ldab), rA0 mulpd rB0, rA0 addpd rA0, rC1 movapd 368-120(pA0,ldab,2), rA0 mulpd rB0, rA0 addpd rA0, rC2 movapd 368-120(pA3), rA0 mulpd rB0, rA0 addpd rA0, rC3 movapd 368-120(pA3,ldab), rA0 mulpd rB0, rA0 addpd rA0, rC4 mulpd 368-120(pA3,ldab,2), rB0 addpd rB0, rC5 movapd 384-120(pB0), rB0 movapd 384-120(pA0), rA0 mulpd rB0, rA0 addpd rA0, rC0 movapd 384-120(pA0,ldab), rA0 mulpd rB0, rA0 addpd rA0, rC1 movapd 384-120(pA0,ldab,2), rA0 mulpd rB0, rA0 addpd rA0, rC2 movapd 384-120(pA3), rA0 mulpd rB0, rA0 addpd rA0, rC3 movapd 384-120(pA3,ldab), rA0 mulpd rB0, rA0 addpd rA0, rC4 mulpd 384-120(pA3,ldab,2), rB0 addpd rB0, rC5 movapd 400-120(pB0), rB0 movapd 400-120(pA0), rA0 mulpd rB0, rA0 addpd rA0, rC0 movapd 400-120(pA0,ldab), rA0 mulpd rB0, rA0 addpd rA0, rC1 movapd 400-120(pA0,ldab,2), rA0 mulpd rB0, rA0 addpd rA0, rC2 movapd 400-120(pA3), rA0 mulpd rB0, rA0 addpd rA0, rC3 movapd 400-120(pA3,ldab), rA0 mulpd rB0, rA0 addpd rA0, rC4 mulpd 400-120(pA3,ldab,2), rB0 addpd rB0, rC5 movapd 416-120(pB0), rB0 movapd 416-120(pA0), rA0 mulpd rB0, rA0 addpd rA0, rC0 movapd 416-120(pA0,ldab), rA0 mulpd rB0, rA0 addpd rA0, rC1 movapd 416-120(pA0,ldab,2), rA0 mulpd rB0, rA0 addpd rA0, rC2 movapd 416-120(pA3), rA0 mulpd rB0, rA0 addpd rA0, rC3 movapd 416-120(pA3,ldab), rA0 mulpd rB0, rA0 addpd rA0, rC4 mulpd 416-120(pA3,ldab,2), rB0 addpd rB0, rC5 movapd 432-120(pB0), rB0 movapd 432-120(pA0), rA0 mulpd rB0, rA0 addpd rA0, rC0 movapd 432-120(pA0,ldab), rA0 mulpd rB0, rA0 addpd rA0, rC1 movapd 432-120(pA0,ldab,2), rA0 mulpd rB0, rA0 addpd rA0, rC2 movapd 432-120(pA3), rA0 mulpd rB0, rA0 addpd rA0, rC3 movapd 432-120(pA3,ldab), rA0 mulpd rB0, rA0 addpd rA0, rC4 mulpd 432-120(pA3,ldab,2), rB0 addpd rB0, rC5 movapd 448-120(pB0), rB0 movapd 448-120(pA0), rA0 mulpd rB0, rA0 addpd rA0, rC0 movapd 448-120(pA0,ldab), rA0 mulpd rB0, rA0 addpd rA0, rC1 movapd 448-120(pA0,ldab,2), rA0 mulpd rB0, rA0 addpd rA0, rC2 movapd 448-120(pA3), rA0 mulpd rB0, rA0 addpd rA0, rC3 movapd 448-120(pA3,ldab), rA0 mulpd rB0, rA0 addpd rA0, rC4 mulpd 448-120(pA3,ldab,2), rB0 addpd rB0, rC5 movapd 464-120(pB0), rB0 movapd 464-120(pA0), rA0 mulpd rB0, rA0 addpd rA0, rC0 movapd 464-120(pA0,ldab), rA0 mulpd rB0, rA0 addpd rA0, rC1 movapd 464-120(pA0,ldab,2), rA0 mulpd rB0, rA0 addpd rA0, rC2 movapd 464-120(pA3), rA0 mulpd rB0, rA0 addpd rA0, rC3 movapd 464-120(pA3,ldab), rA0 mulpd rB0, rA0 addpd rA0, rC4 mulpd 464-120(pA3,ldab,2), rB0 addpd rB0, rC5 movapd 480-120(pB0), rB0 movapd 480-120(pA0), rA0 mulpd rB0, rA0 addpd rA0, rC0 movapd 480-120(pA0,ldab), rA0 mulpd rB0, rA0 addpd rA0, rC1 movapd 480-120(pA0,ldab,2), rA0 mulpd rB0, rA0 addpd rA0, rC2 movapd 480-120(pA3), rA0 mulpd rB0, rA0 addpd rA0, rC3 movapd 480-120(pA3,ldab), rA0 mulpd rB0, rA0 addpd rA0, rC4 mulpd 480-120(pA3,ldab,2), rB0 addpd rB0, rC5 movapd 496-120(pB0), rB0 movapd 496-120(pA0), rA0 mulpd rB0, rA0 addpd rA0, rC0 movapd 496-120(pA0,ldab), rA0 mulpd rB0, rA0 addpd rA0, rC1 movapd 496-120(pA0,ldab,2), rA0 mulpd rB0, rA0 addpd rA0, rC2 movapd 496-120(pA3), rA0 mulpd rB0, rA0 addpd rA0, rC3 movapd 496-120(pA3,ldab), rA0 mulpd rB0, rA0 addpd rA0, rC4 mulpd 496-120(pA3,ldab,2), rB0 addpd rB0, rC5 movapd 512-120(pB0), rB0 movapd 512-120(pA0), rA0 mulpd rB0, rA0 addpd rA0, rC0 movapd 512-120(pA0,ldab), rA0 mulpd rB0, rA0 addpd rA0, rC1 movapd 512-120(pA0,ldab,2), rA0 mulpd rB0, rA0 addpd rA0, rC2 movapd 512-120(pA3), rA0 mulpd rB0, rA0 addpd rA0, rC3 movapd 512-120(pA3,ldab), rA0 mulpd rB0, rA0 addpd rA0, rC4 mulpd 512-120(pA3,ldab,2), rB0 addpd rB0, rC5 movapd 528-120(pB0), rB0 movapd 528-120(pA0), rA0 mulpd rB0, rA0 addpd rA0, rC0 movapd 528-120(pA0,ldab), rA0 mulpd rB0, rA0 addpd rA0, rC1 movapd 528-120(pA0,ldab,2), rA0 mulpd rB0, rA0 addpd rA0, rC2 movapd 528-120(pA3), rA0 mulpd rB0, rA0 addpd rA0, rC3 movapd 528-120(pA3,ldab), rA0 mulpd rB0, rA0 addpd rA0, rC4 mulpd 528-120(pA3,ldab,2), rB0 addpd rB0, rC5 pref2((pfA)) addl $52, pfA movapd 544-120(pB0), rB0 movapd 544-120(pA0), rA0 mulpd rB0, rA0 addpd rA0, rC0 movapd 544-120(pA0,ldab), rA0 mulpd rB0, rA0 addpd rA0, rC1 movapd 544-120(pA0,ldab,2), rA0 mulpd rB0, rA0 addpd rA0, rC2 movapd 544-120(pA3), rA0 mulpd rB0, rA0 addpd rA0, rC3 movapd 544-120(pA3,ldab), rA0 mulpd rB0, rA0 addpd rA0, rC4 mulpd 544-120(pA3,ldab,2), rB0 addpd rB0, rC5 movapd 560-120(pB0), rB0 movapd 560-120(pA0), rA0 mulpd rB0, rA0 addpd rA0, rC0 movapd 560-120(pA0,ldab), rA0 mulpd rB0, rA0 addpd rA0, rC1 movapd 560-120(pA0,ldab,2), rA0 mulpd rB0, rA0 addpd rA0, rC2 movapd 560-120(pA3), rA0 mulpd rB0, rA0 addpd rA0, rC3 movapd 560-120(pA3,ldab), rA0 mulpd rB0, rA0 addpd rA0, rC4 mulpd 560-120(pA3,ldab,2), rB0 addpd rB0, 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, rB0 unpcklpd rC1, rC0 /* rC0 = c0a c1a */ unpcklpd rC5, rC4 /* rC4 = c4a c5a */ 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 unpcklpd rC3, rC2 /* rC2 = c2a c3a */ addl $NB6so, pA0 addl $NB6so, pA3 unpckhpd rC3, rA0 /* rA0 = c2b c3b */ addpd rA0, rC2 /* rC2 = c2ab c3ab *//* * Write results back to C */ movl COFF(%esp), ldc movlpd rC0, (pC) movhpd rC0, (pC,ldc) movlpd rC2, (pC,ldc,2) movlpd rC4, (pC,ldc,4) addl ldc, pC movhpd rC2, (pC,ldc,2) movhpd rC4, (pC,ldc,4)/* * pC += 6*ldc; pA += 6*NB */ lea (pC,ldc,4), pC addl ldc, pC/* * while (pA != stM); */ sub $1, stM jnz MLOOP/* * last iteration of MLOOP unrolled for prefetch */#ifdef BETA0 xorpd rC0, rC0 xorpd rC1, rC1 xorpd rC2, rC2 xorpd rC3, rC3 xorpd rC4, rC4 xorpd rC5, rC5#else movsd (pC), rC0 movsd (pC,ldc), rC1 movsd (pC,ldc,2), rC2 movsd (pC,ldc,4), rC4 addl ldc, pC movsd (pC,ldc,2), rC3 movsd (pC,ldc,4), rC5 subl ldc, pC #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 movl $NBso, ldab movapd 0-120(pB0), rB0 movapd 0-120(pA0), rA0 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 movapd 16-120(pB0), rB0 movapd 16-120(pA0), rA0 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 prefB((pB0,ldab)) prefB(128(pB0,ldab)) addpd rA0, rC4 mulpd 16-120(pA3,ldab,2), rB0 addpd rB0, rC5 movapd 32-120(pB0), rB0 movapd 32-120(pA0), rA0 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(pB0), rB0 movapd 48-120(pA0), rA0 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(pB0), rB0 movapd 64-120(pA0), rA0 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 prefB(256(pB0,ldab)) prefB(384(pB0,ldab)) addpd rA0, rC4 mulpd 64-120(pA3,ldab,2), rB0 addpd rB0, rC5 movapd 80-120(pB0), rB0 movapd 80-120(pA0), rA0 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(pB0), rB0 movapd 96-120(pA0), rA0 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(pB0), rB0 movapd 112-120(pA0), rA0 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(pB0), rB0 movapd 128-120(pA0), rA0 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(pB0), rB0 movapd 144-120(pA0), rA0 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
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?