atl_smm6x1x120_sse.c
来自「基于Blas CLapck的.用过的人知道是干啥的」· C语言 代码 · 共 1,763 行 · 第 1/3 页
C
1,763 行
addps rB0, rC5 movaps 80-120(pA0), rA0 movaps 80-120(pB0), rB0 mulps rB0, rA0 addps rA0, rC0 movaps 80-120(pA0,ldab), rA0 mulps rB0, rA0 addps rA0, rC1 movaps 80-120(pA0,ldab,2), rA0 mulps rB0, rA0 addps rA0, rC2 movaps 80-120(pA3), rA0 mulps rB0, rA0 addps rA0, rC3 movaps 80-120(pA3,ldab), rA0 mulps rB0, rA0 addps rA0, rC4 mulps 80-120(pA3,ldab,2), rB0 addps rB0, rC5 movaps 96-120(pA0), rA0 movaps 96-120(pB0), rB0 mulps rB0, rA0 addps rA0, rC0 movaps 96-120(pA0,ldab), rA0 mulps rB0, rA0 addps rA0, rC1 movaps 96-120(pA0,ldab,2), rA0 mulps rB0, rA0 addps rA0, rC2 movaps 96-120(pA3), rA0 mulps rB0, rA0 addps rA0, rC3 movaps 96-120(pA3,ldab), rA0 mulps rB0, rA0 addps rA0, rC4 mulps 96-120(pA3,ldab,2), rB0 addps rB0, rC5 movaps 112-120(pA0), rA0 movaps 112-120(pB0), rB0 mulps rB0, rA0 addps rA0, rC0 movaps 112-120(pA0,ldab), rA0 mulps rB0, rA0 addps rA0, rC1 movaps 112-120(pA0,ldab,2), rA0 mulps rB0, rA0 addps rA0, rC2 movaps 112-120(pA3), rA0 mulps rB0, rA0 addps rA0, rC3 movaps 112-120(pA3,ldab), rA0 mulps rB0, rA0 addps rA0, rC4 mulps 112-120(pA3,ldab,2), rB0 addps rB0, rC5 movaps 128-120(pA0), rA0 movaps 128-120(pB0), rB0 mulps rB0, rA0 addps rA0, rC0 movaps 128-120(pA0,ldab), rA0 mulps rB0, rA0 addps rA0, rC1 movaps 128-120(pA0,ldab,2), rA0 mulps rB0, rA0 addps rA0, rC2 movaps 128-120(pA3), rA0 mulps rB0, rA0 addps rA0, rC3 movaps 128-120(pA3,ldab), rA0 mulps rB0, rA0 addps rA0, rC4 mulps 128-120(pA3,ldab,2), rB0 addps rB0, rC5 movaps 144-120(pA0), rA0 movaps 144-120(pB0), rB0 mulps rB0, rA0 addps rA0, rC0 movaps 144-120(pA0,ldab), rA0 mulps rB0, rA0 addps rA0, rC1 movaps 144-120(pA0,ldab,2), rA0 mulps rB0, rA0 addps rA0, rC2 movaps 144-120(pA3), rA0 mulps rB0, rA0 addps rA0, rC3 movaps 144-120(pA3,ldab), rA0 mulps rB0, rA0 addps rA0, rC4 mulps 144-120(pA3,ldab,2), rB0 addps rB0, rC5 movaps 160-120(pA0), rA0 movaps 160-120(pB0), rB0 mulps rB0, rA0 addps rA0, rC0 movaps 160-120(pA0,ldab), rA0 mulps rB0, rA0 addps rA0, rC1 movaps 160-120(pA0,ldab,2), rA0 mulps rB0, rA0 addps rA0, rC2 movaps 160-120(pA3), rA0 mulps rB0, rA0 addps rA0, rC3 movaps 160-120(pA3,ldab), rA0 mulps rB0, rA0 addps rA0, rC4 mulps 160-120(pA3,ldab,2), rB0 addps rB0, rC5 prefB((pB0,ldab)) prefB(64(pB0,ldab)) movaps 176-120(pA0), rA0 movaps 176-120(pB0), rB0 mulps rB0, rA0 addps rA0, rC0 movaps 176-120(pA0,ldab), rA0 mulps rB0, rA0 addps rA0, rC1 movaps 176-120(pA0,ldab,2), rA0 mulps rB0, rA0 addps rA0, rC2 movaps 176-120(pA3), rA0 mulps rB0, rA0 addps rA0, rC3 movaps 176-120(pA3,ldab), rA0 mulps rB0, rA0 addps rA0, rC4 mulps 176-120(pA3,ldab,2), rB0 addps rB0, rC5 movaps 192-120(pA0), rA0 movaps 192-120(pB0), rB0 mulps rB0, rA0 addps rA0, rC0 movaps 192-120(pA0,ldab), rA0 mulps rB0, rA0 addps rA0, rC1 movaps 192-120(pA0,ldab,2), rA0 mulps rB0, rA0 addps rA0, rC2 movaps 192-120(pA3), rA0 mulps rB0, rA0 addps rA0, rC3 movaps 192-120(pA3,ldab), rA0 mulps rB0, rA0 addps rA0, rC4 mulps 192-120(pA3,ldab,2), rB0 addps rB0, rC5 movaps 208-120(pA0), rA0 movaps 208-120(pB0), rB0 mulps rB0, rA0 addps rA0, rC0 movaps 208-120(pA0,ldab), rA0 mulps rB0, rA0 addps rA0, rC1 movaps 208-120(pA0,ldab,2), rA0 mulps rB0, rA0 addps rA0, rC2 movaps 208-120(pA3), rA0 mulps rB0, rA0 addps rA0, rC3 movaps 208-120(pA3,ldab), rA0 mulps rB0, rA0 addps rA0, rC4 mulps 208-120(pA3,ldab,2), rB0 addps rB0, rC5 movaps 224-120(pA0), rA0 movaps 224-120(pB0), rB0 mulps rB0, rA0 addps rA0, rC0 movaps 224-120(pA0,ldab), rA0 mulps rB0, rA0 addps rA0, rC1 movaps 224-120(pA0,ldab,2), rA0 mulps rB0, rA0 addps rA0, rC2 movaps 224-120(pA3), rA0 mulps rB0, rA0 addps rA0, rC3 movaps 224-120(pA3,ldab), rA0 mulps rB0, rA0 addps rA0, rC4 mulps 224-120(pA3,ldab,2), rB0 addps rB0, rC5 addl $240, pA0 addl $240, pA3 addl $240, pB0 movaps 0-120(pA0), rA0 movaps 0-120(pB0), rB0 mulps rB0, rA0 addps rA0, rC0 movaps 0-120(pA0,ldab), rA0 mulps rB0, rA0 addps rA0, rC1 movaps 0-120(pA0,ldab,2), rA0 mulps rB0, rA0 addps rA0, rC2 movaps 0-120(pA3), rA0 mulps rB0, rA0 addps rA0, rC3 movaps 0-120(pA3,ldab), rA0 mulps rB0, rA0 addps rA0, rC4 mulps 0-120(pA3,ldab,2), rB0 addps rB0, rC5 movaps 16-120(pA0), rA0 movaps 16-120(pB0), rB0 mulps rB0, rA0 addps rA0, rC0 movaps 16-120(pA0,ldab), rA0 mulps rB0, rA0 addps rA0, rC1 movaps 16-120(pA0,ldab,2), rA0 mulps rB0, rA0 addps rA0, rC2 movaps 16-120(pA3), rA0 mulps rB0, rA0 addps rA0, rC3 movaps 16-120(pA3,ldab), rA0 mulps rB0, rA0 addps rA0, rC4 mulps 16-120(pA3,ldab,2), rB0 addps rB0, rC5 movaps 32-120(pA0), rA0 movaps 32-120(pB0), rB0 mulps rB0, rA0 addps rA0, rC0 movaps 32-120(pA0,ldab), rA0 mulps rB0, rA0 addps rA0, rC1 movaps 32-120(pA0,ldab,2), rA0 mulps rB0, rA0 addps rA0, rC2 movaps 32-120(pA3), rA0 mulps rB0, rA0 addps rA0, rC3 movaps 32-120(pA3,ldab), rA0 mulps rB0, rA0 addps rA0, rC4 mulps 32-120(pA3,ldab,2), rB0 addps rB0, rC5 movaps 48-120(pA0), rA0 movaps 48-120(pB0), rB0 mulps rB0, rA0 addps rA0, rC0 movaps 48-120(pA0,ldab), rA0 mulps rB0, rA0 addps rA0, rC1 movaps 48-120(pA0,ldab,2), rA0 mulps rB0, rA0 addps rA0, rC2 movaps 48-120(pA3), rA0 mulps rB0, rA0 addps rA0, rC3 movaps 48-120(pA3,ldab), rA0 mulps rB0, rA0 addps rA0, rC4 mulps 48-120(pA3,ldab,2), rB0 addps rB0, rC5 movaps 64-120(pA0), rA0 movaps 64-120(pB0), rB0 mulps rB0, rA0 addps rA0, rC0 movaps 64-120(pA0,ldab), rA0 mulps rB0, rA0 addps rA0, rC1 movaps 64-120(pA0,ldab,2), rA0 mulps rB0, rA0 addps rA0, rC2 movaps 64-120(pA3), rA0 mulps rB0, rA0 addps rA0, rC3 movaps 64-120(pA3,ldab), rA0 mulps rB0, rA0 addps rA0, rC4 mulps 64-120(pA3,ldab,2), rB0 addps rB0, rC5 prefB(128(pB0,ldab)) prefB(192(pB0,ldab)) movaps 80-120(pA0), rA0 movaps 80-120(pB0), rB0 mulps rB0, rA0 addps rA0, rC0 movaps 80-120(pA0,ldab), rA0 mulps rB0, rA0 addps rA0, rC1 movaps 80-120(pA0,ldab,2), rA0 mulps rB0, rA0 addps rA0, rC2 movaps 80-120(pA3), rA0 mulps rB0, rA0 addps rA0, rC3 movaps 80-120(pA3,ldab), rA0 mulps rB0, rA0 addps rA0, rC4 mulps 80-120(pA3,ldab,2), rB0 addps rB0, rC5 movaps 96-120(pA0), rA0 movaps 96-120(pB0), rB0 mulps rB0, rA0 addps rA0, rC0 movaps 96-120(pA0,ldab), rA0 mulps rB0, rA0 addps rA0, rC1 movaps 96-120(pA0,ldab,2), rA0 mulps rB0, rA0 addps rA0, rC2 movaps 96-120(pA3), rA0 mulps rB0, rA0 addps rA0, rC3 movaps 96-120(pA3,ldab), rA0 mulps rB0, rA0 addps rA0, rC4 mulps 96-120(pA3,ldab,2), rB0 addps rB0, rC5 movaps 112-120(pA0), rA0 movaps 112-120(pB0), rB0 mulps rB0, rA0 addps rA0, rC0 movaps 112-120(pA0,ldab), rA0 mulps rB0, rA0 addps rA0, rC1 movaps 112-120(pA0,ldab,2), rA0 mulps rB0, rA0 addps rA0, rC2 movaps 112-120(pA3), rA0 mulps rB0, rA0 addps rA0, rC3 movaps 112-120(pA3,ldab), rA0 mulps rB0, rA0 addps rA0, rC4 mulps 112-120(pA3,ldab,2), rB0 prefC((pC0)) prefB(256(pB0,ldab)) addps rB0, rC5 movaps 128-120(pA0), rA0 movaps 128-120(pB0), rB0 mulps rB0, rA0 addps rA0, rC0 movaps 128-120(pA0,ldab), rA0 mulps rB0, rA0 addps rA0, rC1 movaps 128-120(pA0,ldab,2), rA0 mulps rB0, rA0 addps rA0, rC2 movaps 128-120(pA3), rA0 mulps rB0, rA0 addps rA0, rC3 movaps 128-120(pA3,ldab), rA0 mulps rB0, rA0 addps rA0, rC4 mulps 128-120(pA3,ldab,2), rB0 addps rB0, rC5 movaps 144-120(pA0), rA0 movaps 144-120(pB0), rB0 mulps rB0, rA0 addps rA0, rC0 movaps 144-120(pA0,ldab), rA0 mulps rB0, rA0 addps rA0, rC1 movaps 144-120(pA0,ldab,2), rA0 mulps rB0, rA0 addps rA0, rC2 movaps 144-120(pA3), rA0 mulps rB0, rA0 addps rA0, rC3 movaps 144-120(pA3,ldab), rA0 mulps rB0, rA0 addps rA0, rC4 mulps 144-120(pA3,ldab,2), rB0 addps rB0, rC5 movaps 160-120(pA0), rA0 movaps 160-120(pB0), rB0 mulps rB0, rA0 addps rA0, rC0 movaps 160-120(pA0,ldab), rA0 mulps rB0, rA0 addps rA0, rC1 movaps 160-120(pA0,ldab,2), rA0 mulps rB0, rA0 addps rA0, rC2 movaps 160-120(pA3), rA0 mulps rB0, rA0 addps rA0, rC3 movaps 160-120(pA3,ldab), rA0 mulps rB0, rA0 addps rA0, rC4 mulps 160-120(pA3,ldab,2), rB0 addps rB0, rC5 prefB(320(pB0,ldab)) prefB(384(pB0,ldab)) movaps 176-120(pA0), rA0 movaps 176-120(pB0), rB0 mulps rB0, rA0 addps rA0, rC0 movaps 176-120(pA0,ldab), rA0 mulps rB0, rA0 addps rA0, rC1 movaps 176-120(pA0,ldab,2), rA0 mulps rB0, rA0 addps rA0, rC2 movaps 176-120(pA3), rA0 mulps rB0, rA0 addps rA0, rC3 movaps 176-120(pA3,ldab), rA0 mulps rB0, rA0 addps rA0, rC4 mulps 176-120(pA3,ldab,2), rB0 addps rB0, rC5 movaps 192-120(pA0), rA0 movaps 192-120(pB0), rB0 mulps rB0, rA0 addps rA0, rC0 movaps 192-120(pA0,ldab), rA0 mulps rB0, rA0 addps rA0, rC1 movaps 192-120(pA0,ldab,2), rA0 mulps rB0, rA0 addps rA0, rC2 movaps 192-120(pA3), rA0 mulps rB0, rA0 addps rA0, rC3 movaps 192-120(pA3,ldab), rA0 mulps rB0, rA0 addps rA0, rC4 mulps 192-120(pA3,ldab,2), rB0 addps rB0, rC5 movaps 208-120(pA0), rA0 movaps 208-120(pB0), rB0 mulps rB0, rA0 addps rA0, rC0 movaps 208-120(pA0,ldab), rA0 mulps rB0, rA0 addps rA0, rC1 movaps 208-120(pA0,ldab,2), rA0 mulps rB0, rA0 addps rA0, rC2 movaps 208-120(pA3), rA0 mulps rB0, rA0 addps rA0, rC3 movaps 208-120(pA3,ldab), rA0 mulps rB0, rA0 addps rA0, rC4 mulps 208-120(pA3,ldab,2), rB0 addps rB0, rC5 movaps 224-120(pA0), rA0 movaps 224-120(pB0), rB0 mulps rB0, rA0 addps rA0, rC0 movaps 224-120(pA0,ldab), rA0 mulps rB0, rA0 addps rA0, rC1 movaps 224-120(pA0,ldab,2), rA0 mulps rB0, rA0 addps rA0, rC2 movaps 224-120(pA3), rA0 mulps rB0, rA0 addps rA0, rC3 movaps 224-120(pA3,ldab), rA0 mulps rB0, rA0 addps rA0, rC4 mulps 224-120(pA3,ldab,2), rB0 addps rB0, rC5 #ifdef X8632 subl $MB*KB*4-NB6so+240, pA0 movl 8(%esp), pA3 lea CMUL(24)(pC0, pA3), pA3 #else subq MBKB, pA0 lea CMUL(24)(pC0, incCn), pA3 #endif/*ENDKLOOP *//* * Get these bastard things summed up */ /* rC0 = c0a c0b c0c c0d */ /* rC1 = c1a c1b c1c c1d */ /* rC2 = c2a c2b c2c c2d */ /* rC3 = c3a c3b c3c c3d */ /* rC4 = c4a c4b c4c c4d */ /* rC5 = c5a c5b c5c c5d *//* */ movaps rC2, rB0 /* rB0 = c2a c2b c2c c2d */ prefC((pA3)) prefC(64(pA3)) movaps rC0, rA0 /* rA0 = c0a c0b c0c c0d */ unpckhps rC3, rB0 /* rB0 = c2c c3c c2d c3d */ unpckhps rC1, rA0 /* rA0 = c0c c1c c0d c1d */ unpcklps rC3, rC2 /* rC2 = c2a c3a c2b c3b */ movlhps rB0, rC3 /* rC3 = c3a c3b c2c c3c */ unpcklps rC1, rC0 /* rC0 = c0a c1a c0b c1b */ movhlps rA0, rC3 /* rC3 = c0d c1d c2c c3c */ movlhps rC2, rA0 /* rA0 = c0c c1c c2a c3a */ movhlps rC0, rB0 /* rB0 = c0b c1b c2d c3d */ addps rA0, rC3 /* rC3 = c0cd c1cd c2ac c3ac */ movlhps rC0, rC1 /* rC1 = c1a c1b c0a c1a */ movaps rC4, rA0 /* rA0 = c4a c4b c4c c4d */ movhlps rC1, rC2 /* rC2 = c0a c1a c2b c3b */ unpcklps rC5, rA0 /* rA0 = c4a c5a c4b c5b */ addps rB0, rC2 /* rC2 = c0ab c1ab c2bd c3bd */ unpckhps rC5, rC4 /* rC4 = c4c c5c c4d c5d */ addps rC2, rC3 /* rC3 = c0abcd c1abcd c2bdac c3bdac */ prefB(448(pB0,ldab)) addps rA0, rC4 /* rC4 = c4ac c5ac c4bd c5bd */ movhlps rC4, rC5 /* rC5 = c4bd c5bd X X */ addps rC5, rC4 /* rC4 = c4abcd c5abcd X X *//* * Write results back to C */ #if defined(X8664) && defined(BETAX) addps rc0, rC3 addps rc1, rC4 #endif #ifdef SCPLX movss rC3, (pC0) movhlps rC3, rC0 movss rC0, 16(pC0) shufps $0x55, rC3, rC3 shufps $0x55, rC0, rC0 movss rC3, 8(pC0) movss rC0, 24(pC0) movss rC4, 32(pC0) shufps $0x55, rC4, rC4 movss rC4, 40(pC0) #else movups rC3, (pC0) movlps rC4, 16(pC0) #endif/* * pC += 6; pA += 6*NB *//* jnz MLOOP *//* * Increment pointers, and continue N-LOOP */ lea -240(pB0, ldab), pB0/*ENDKLOOP */ movl pA3, pC0 #ifdef X8632 subb $1, stN #else subq $1, stN #endif jnz NLOOP/* DONE: */#ifdef X8632 movl 24(%esp), %ebp movl 20(%esp), %ebx movl 16(%esp), %esi movl 12(%esp), %edi addl $28, %esp ret#else movq -8(%rsp), %rbp movq -16(%rsp), %rbx ret#endif
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?