atl_dmm14x1x56_sse2pabc_mn.c
来自「基于Blas CLapck的.用过的人知道是干啥的」· C语言 代码 · 共 2,979 行 · 第 1/5 页
C
2,979 行
addpd rA0, rC12 mulpd 80-120(pA5,ldab,8), rB0 addpd rB0, rC13 movapd 96-120(pA10,mldab5,2), rA0 movapd 96-120(pB0), rB0 mulpd rB0, rA0 addpd rA0, rC0 movapd 96-120(pA5, mldab,4), rA0 mulpd rB0, rA0 addpd rA0, rC1 movapd 96-120(pA10, mldab,8), rA0 mulpd rB0, rA0 addpd rA0, rC2 movapd 96-120(pA5, mldab,2), rA0 mulpd rB0, rA0 addpd rA0, rC3 movapd 96-120(pA5, mldab), rA0 mulpd rB0, rA0 addpd rA0, rC4 movapd 96-120(pA5), rA0 mulpd rB0, rA0 addpd rA0, rC5 movapd 96-120(pA5, ldab), rA0 mulpd rB0, rA0 addpd rA0, rC6 movapd 96-120(pA5, ldab,2), rA0 mulpd rB0, rA0 addpd rA0, rC7 movapd 96-120(pA10, mldab,2), rA0 mulpd rB0, rA0 addpd rA0, rC8 movapd 96-120(pA5,ldab,4), rA0 mulpd rB0, rA0 addpd rA0, rC9 movapd 96-120(pA10), rA0 mulpd rB0, rA0 addpd rA0, rC10 movapd 96-120(pA10,ldab), rA0 mulpd rB0, rA0 addpd rA0, rC11 movapd 96-120(pA10,ldab,2), rA0 mulpd rB0, rA0 addpd rA0, rC12 mulpd 96-120(pA5,ldab,8), rB0 addpd rB0, rC13 movapd 112-120(pA10,mldab5,2), rA0 movapd 112-120(pB0), rB0 mulpd rB0, rA0 addpd rA0, rC0 movapd 112-120(pA5, mldab,4), rA0 mulpd rB0, rA0 addpd rA0, rC1 movapd 112-120(pA10, mldab,8), rA0 mulpd rB0, rA0 addpd rA0, rC2 movapd 112-120(pA5, mldab,2), rA0 mulpd rB0, rA0 addpd rA0, rC3 movapd 112-120(pA5, mldab), rA0 mulpd rB0, rA0 addpd rA0, rC4 movapd 112-120(pA5), rA0 mulpd rB0, rA0 addpd rA0, rC5 movapd 112-120(pA5, ldab), rA0 mulpd rB0, rA0 addpd rA0, rC6 movapd 112-120(pA5, ldab,2), rA0 mulpd rB0, rA0 addpd rA0, rC7 movapd 112-120(pA10, mldab,2), rA0 mulpd rB0, rA0 addpd rA0, rC8 movapd 112-120(pA5,ldab,4), rA0 mulpd rB0, rA0 addpd rA0, rC9 movapd 112-120(pA10), rA0 mulpd rB0, rA0 addpd rA0, rC10 movapd 112-120(pA10,ldab), rA0 mulpd rB0, rA0 addpd rA0, rC11 movapd 112-120(pA10,ldab,2), rA0 mulpd rB0, rA0 addpd rA0, rC12 mulpd 112-120(pA5,ldab,8), rB0 addpd rB0, rC13 movapd 128-120(pA10,mldab5,2), rA0 movapd 128-120(pB0), rB0 mulpd rB0, rA0 addpd rA0, rC0 movapd 128-120(pA5, mldab,4), rA0 mulpd rB0, rA0 addpd rA0, rC1 movapd 128-120(pA10, mldab,8), rA0 mulpd rB0, rA0 addpd rA0, rC2 movapd 128-120(pA5, mldab,2), rA0 mulpd rB0, rA0 addpd rA0, rC3 movapd 128-120(pA5, mldab), rA0 mulpd rB0, rA0 addpd rA0, rC4 movapd 128-120(pA5), rA0 mulpd rB0, rA0 addpd rA0, rC5 movapd 128-120(pA5, ldab), rA0 mulpd rB0, rA0 addpd rA0, rC6 movapd 128-120(pA5, ldab,2), rA0 mulpd rB0, rA0 addpd rA0, rC7 movapd 128-120(pA10, mldab,2), rA0 mulpd rB0, rA0 addpd rA0, rC8 movapd 128-120(pA5,ldab,4), rA0 mulpd rB0, rA0 addpd rA0, rC9 movapd 128-120(pA10), rA0 mulpd rB0, rA0 addpd rA0, rC10 movapd 128-120(pA10,ldab), rA0 mulpd rB0, rA0 addpd rA0, rC11 movapd 128-120(pA10,ldab,2), rA0 mulpd rB0, rA0 addpd rA0, rC12 mulpd 128-120(pA5,ldab,8), rB0 addpd rB0, rC13 movapd 144-120(pA10,mldab5,2), rA0 movapd 144-120(pB0), rB0 mulpd rB0, rA0 addpd rA0, rC0 movapd 144-120(pA5, mldab,4), rA0 mulpd rB0, rA0 addpd rA0, rC1 movapd 144-120(pA10, mldab,8), rA0 mulpd rB0, rA0 addpd rA0, rC2 movapd 144-120(pA5, mldab,2), rA0 mulpd rB0, rA0 addpd rA0, rC3 movapd 144-120(pA5, mldab), rA0 mulpd rB0, rA0 addpd rA0, rC4 movapd 144-120(pA5), rA0 mulpd rB0, rA0 addpd rA0, rC5 movapd 144-120(pA5, ldab), rA0 mulpd rB0, rA0 addpd rA0, rC6 movapd 144-120(pA5, ldab,2), rA0 mulpd rB0, rA0 addpd rA0, rC7 movapd 144-120(pA10, mldab,2), rA0 mulpd rB0, rA0 addpd rA0, rC8 movapd 144-120(pA5,ldab,4), rA0 mulpd rB0, rA0 addpd rA0, rC9 movapd 144-120(pA10), rA0 mulpd rB0, rA0 addpd rA0, rC10 movapd 144-120(pA10,ldab), rA0 mulpd rB0, rA0 addpd rA0, rC11 movapd 144-120(pA10,ldab,2), rA0 mulpd rB0, rA0 addpd rA0, rC12 mulpd 144-120(pA5,ldab,8), rB0 addpd rB0, rC13 movapd 160-120(pA10,mldab5,2), rA0 movapd 160-120(pB0), rB0 mulpd rB0, rA0 addpd rA0, rC0 movapd 160-120(pA5, mldab,4), rA0 mulpd rB0, rA0 addpd rA0, rC1 movapd 160-120(pA10, mldab,8), rA0 mulpd rB0, rA0 addpd rA0, rC2 movapd 160-120(pA5, mldab,2), rA0 mulpd rB0, rA0 addpd rA0, rC3 movapd 160-120(pA5, mldab), rA0 mulpd rB0, rA0 addpd rA0, rC4 movapd 160-120(pA5), rA0 mulpd rB0, rA0 addpd rA0, rC5 movapd 160-120(pA5, ldab), rA0 mulpd rB0, rA0 addpd rA0, rC6 movapd 160-120(pA5, ldab,2), rA0 mulpd rB0, rA0 addpd rA0, rC7 movapd 160-120(pA10, mldab,2), rA0 mulpd rB0, rA0 addpd rA0, rC8 movapd 160-120(pA5,ldab,4), rA0 mulpd rB0, rA0 addpd rA0, rC9 movapd 160-120(pA10), rA0 mulpd rB0, rA0 addpd rA0, rC10 movapd 160-120(pA10,ldab), rA0 mulpd rB0, rA0 addpd rA0, rC11 movapd 160-120(pA10,ldab,2), rA0 mulpd rB0, rA0 addpd rA0, rC12 mulpd 160-120(pA5,ldab,8), rB0 addpd rB0, rC13 movapd 176-120(pA10,mldab5,2), rA0 movapd 176-120(pB0), rB0 mulpd rB0, rA0 addpd rA0, rC0 movapd 176-120(pA5, mldab,4), rA0 mulpd rB0, rA0 addpd rA0, rC1 movapd 176-120(pA10, mldab,8), rA0 mulpd rB0, rA0 addpd rA0, rC2 movapd 176-120(pA5, mldab,2), rA0 mulpd rB0, rA0 addpd rA0, rC3 movapd 176-120(pA5, mldab), rA0 mulpd rB0, rA0 addpd rA0, rC4 movapd 176-120(pA5), rA0 mulpd rB0, rA0 addpd rA0, rC5 movapd 176-120(pA5, ldab), rA0 mulpd rB0, rA0 addpd rA0, rC6 movapd 176-120(pA5, ldab,2), rA0 mulpd rB0, rA0 addpd rA0, rC7 movapd 176-120(pA10, mldab,2), rA0 mulpd rB0, rA0 addpd rA0, rC8 movapd 176-120(pA5,ldab,4), rA0 mulpd rB0, rA0 addpd rA0, rC9 movapd 176-120(pA10), rA0 mulpd rB0, rA0 addpd rA0, rC10 movapd 176-120(pA10,ldab), rA0 mulpd rB0, rA0 addpd rA0, rC11 movapd 176-120(pA10,ldab,2), rA0 mulpd rB0, rA0 addpd rA0, rC12 mulpd 176-120(pA5,ldab,8), rB0 addpd rB0, rC13 movapd 192-120(pA10,mldab5,2), rA0 movapd 192-120(pB0), rB0 mulpd rB0, rA0 addpd rA0, rC0 movapd 192-120(pA5, mldab,4), rA0 mulpd rB0, rA0 addpd rA0, rC1 movapd 192-120(pA10, mldab,8), rA0 mulpd rB0, rA0 addpd rA0, rC2 movapd 192-120(pA5, mldab,2), rA0 mulpd rB0, rA0 addpd rA0, rC3 movapd 192-120(pA5, mldab), rA0 mulpd rB0, rA0 addpd rA0, rC4 movapd 192-120(pA5), rA0 mulpd rB0, rA0 addpd rA0, rC5 movapd 192-120(pA5, ldab), rA0 mulpd rB0, rA0 addpd rA0, rC6 movapd 192-120(pA5, ldab,2), rA0 mulpd rB0, rA0 addpd rA0, rC7 movapd 192-120(pA10, mldab,2), rA0 mulpd rB0, rA0 addpd rA0, rC8 movapd 192-120(pA5,ldab,4), rA0 mulpd rB0, rA0 addpd rA0, rC9 movapd 192-120(pA10), rA0 mulpd rB0, rA0 addpd rA0, rC10 movapd 192-120(pA10,ldab), rA0 mulpd rB0, rA0 addpd rA0, rC11 movapd 192-120(pA10,ldab,2), rA0 mulpd rB0, rA0 addpd rA0, rC12 mulpd 192-120(pA5,ldab,8), rB0 addpd rB0, rC13 movapd 208-120(pA10,mldab5,2), rA0 movapd 208-120(pB0), rB0 mulpd rB0, rA0 addpd rA0, rC0 movapd 208-120(pA5, mldab,4), rA0 mulpd rB0, rA0 addpd rA0, rC1 movapd 208-120(pA10, mldab,8), rA0 mulpd rB0, rA0 addpd rA0, rC2 movapd 208-120(pA5, mldab,2), rA0 mulpd rB0, rA0 addpd rA0, rC3 movapd 208-120(pA5, mldab), rA0 mulpd rB0, rA0 addpd rA0, rC4 movapd 208-120(pA5), rA0 mulpd rB0, rA0 addpd rA0, rC5 movapd 208-120(pA5, ldab), rA0 mulpd rB0, rA0 addpd rA0, rC6 movapd 208-120(pA5, ldab,2), rA0 mulpd rB0, rA0 addpd rA0, rC7 movapd 208-120(pA10, mldab,2), rA0 mulpd rB0, rA0 addpd rA0, rC8 movapd 208-120(pA5,ldab,4), rA0 mulpd rB0, rA0 addpd rA0, rC9 movapd 208-120(pA10), rA0 mulpd rB0, rA0 addpd rA0, rC10 movapd 208-120(pA10,ldab), rA0 mulpd rB0, rA0 addpd rA0, rC11 movapd 208-120(pA10,ldab,2), rA0 mulpd rB0, rA0 addpd rA0, rC12 mulpd 208-120(pA5,ldab,8), rB0 addpd rB0, rC13/* * While (pB != stK); *//* cmp pB, stK *//* jne KLOOP *//* * 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 */ /* rC6 = c6a c6b */ /* rC7 = c7a c7b */ pref2((pfA)) pref2(64(pfA)) movapd rC0, rA0 movapd rC4, rB0 unpcklpd rC1, rC0 /* rC0 = c0a c1a */ unpcklpd rC5, rC4 /* rC4 = c4a c5a */ prefC(112(pC)) prefC(176(pC)) 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 movapd rC6, rB0 unpcklpd rC3, rC2 /* rC2 = c2a c3a */ unpcklpd rC7, rC6 /* rC6 = c6a c7a */ addq $150, pfA unpckhpd rC3, rA0 /* rA0 = c2b c3b */ pref2(-22(pfA)) unpckhpd rC7, rB0 /* rB0 = c6b c7b */ addpd rA0, rC2 /* rC2 = c2ab c3ab */ addpd rB0, rC6 /* rC6 = c6ab c7ab *//* */ /* rC8 = c08a c08b */ /* rC9 = c09a c09b */ /* rC10 = c10a c10b */ /* rC11 = c11a c11b *//* */ /* rC12 = c12a c12b */ /* rC13 = c13a c13b */ movapd rC8, rA0 movapd rC10, rC1 movapd rC12, rC3 unpcklpd rC9, rC8 /* rC8 = c08a c09a */ addq $NB14so-224, pA5 unpcklpd rC11, rC10 /* rC10 = c10a c11a */ addq $NB14so-224, pA10 unpcklpd rC13, rC12 /* rC12 = c12a c13a */ unpckhpd rC11, rC1 /* rC1 = c10b c11b */ unpckhpd rC9, rA0 /* rA0 = c08b c09b */ unpckhpd rC13, rC3 /* rC3 = c12b c13b */ addpd rA0, rC8 /* rC8 = c08ab c09ab */ subq $224, pB0 addpd rC1, rC10 /* rC10 = c10ab c11ab */ addq $112, pC addpd rC3, rC12 /* rc12 = c12ab c13ab *//* * Write results back to C */ movapd rC0, -112(pC) movapd rC2, 16-112(pC) movapd rC4, 32-112(pC) movapd rC6, 48-112(pC) movapd rC8, 64-112(pC) movapd rC10, 80-112(pC) movapd rC12, 96-112(pC)/* * pC += 14; pA += 14*NB; pB -= NB; *//* * while (pA != stM); */ subq $1, stM jne MLOOP#endif/* * Last iteration of M-loop unrolled to prefetch next col of B */#if MB == 0MLOOPCU:#endif/*KLOOP: */#ifdef BETA1 movapd 0-120(pA10,mldab5,2), rC0 movapd 0-120(pB0), rB0 mulpd rB0, rC0 addsd (pC), rC0 movapd 0-120(pA5, mldab,4), rC1 mulpd rB0, rC1 addsd CMUL(8)(pC), rC1 movapd 0-120(pA10, mldab,8), rC2 mulpd rB0, rC2 addsd CMUL(16)(pC), rC2 movapd 0-120(pA5, mldab,2), rC3 mulpd rB0, rC3 addsd CMUL(24)(pC), rC3 movapd 0-120(pA5, mldab), rC4 mulpd rB0, rC4 addsd CMUL(32)(pC), rC4 movapd 0-120(pA5), rC5 mulpd rB0, rC5 addsd CMUL(40)(pC), rC5 movapd 0-120(pA5, ldab), rC6 mulpd rB0, rC6 addsd CMUL(48)(pC), rC6 movapd 0-120(pA5, ldab,2), rC7 mulpd rB0, rC7 addsd CMUL(56)(pC), rC7 movapd 0-120(pA10, mldab,2), rC8 mulpd rB0, rC8 addsd CMUL(64)(pC), rC8 movapd 0-120(pA5,ldab,4), rC9 mulpd rB0, rC9 addsd CMUL(72)(pC), rC9 movapd 0-120(pA10), rC10 mulpd rB0, rC10 addsd CMUL(80)(pC), rC10 movapd 0-120(pA10,ldab), rC11 mulpd rB0, rC11 addsd CMUL(88)(pC), rC11 movapd 0-120(pA10,ldab,2), rC12 mulpd rB0, rC12 addsd CMUL(96)(pC), rC12 movapd 0-120(pA5,ldab,8), rC13 mulpd rB0, rC13 addsd CMUL(104)(pC), rC13#elif defined(BETA0) movapd 0-120(pA10,mldab5,2), rC0 movapd 0-120(pB0), rC13 mulpd rC13, rC0 movapd 0-120(pA5, mldab,4), rC1 mulpd rC13, rC1 movapd 0-120(pA10, mldab,8), rC2 mulpd rC13, rC2 movapd 0-120(pA5, mldab,2), rC3 mulpd rC13, rC3 movapd 0-120(pA5, mldab), rC4 mulpd rC13, rC4 movapd 0-120(pA5), rC5 mulpd rC13, rC5 movapd 0-120(pA5, ldab), rC6 mulpd rC13, rC6 movapd 0-120(pA5, ldab,2), rC7 mulpd rC13, rC7 movapd 0-120(pA10, mldab,2), rC8 mulpd rC13, rC8 movapd 0-120(pA5,ldab,4), rC9 mulpd rC13, rC9 movapd 0-120(pA10), rC10 mulpd rC13, rC10 movapd 0-120(pA10,ldab), rC11 mulpd rC13, rC11 movapd 0-120(pA10,ldab,2), rC12 mulpd rC13, rC12 mulpd 0-120(pA5,ldab,8), rC13#else movsd BOF(%rsp), rC0 movapd rC0, rC1 movapd rC0, rC2 movapd rC0, rC3 movapd rC0, rC4 movapd rC0, rC5 movapd rC0, rC6 movapd rC0, rC7 movapd rC0, rC8 movapd rC0, rC9 movapd rC0, rC10 movapd rC0, rC11 movapd rC0, rC12 movapd rC0, rC13 mulsd (pC), rC0 mulsd 8(pC), rC1 mulsd 16(pC), rC2 mulsd 24(pC), rC3 mulsd 32(pC), rC4 mulsd 40(pC), rC5 mulsd 48(pC), rC6 mulsd 56(pC), rC7 mulsd 64(pC), rC8 mulsd 72(pC), rC9 mulsd 80(pC), rC10 mulsd 88(pC), rC11 mulsd 96(pC), rC12 mulsd 104(pC), rC13 movapd 0-120(pA10,mldab5,2), rA0 movapd 0-120(pB0), rB0 mulpd rB0, rA0 addpd rA0, rC0 movapd 0-120(pA5, mldab,4), rA0 mulpd rB0, rA0 addpd rA0, rC1 movapd 0-120(pA10, mldab,8), rA0 mulpd rB0, rA0 addpd rA0, rC2 movapd 0-120(pA5, mldab,2), rA0 mulpd rB0, rA0 addpd rA0, rC3 movapd 0-120(pA5, mldab), rA0 mulpd rB0, rA0 addpd rA0, rC4 movapd 0-120(pA5), rA0 mulpd rB0, rA0 addpd rA0, rC5 movapd 0-120(pA5, ldab), rA0 mulpd rB0, rA0 addpd rA0, rC6 movapd 0-120(pA5, ldab,2), rA0 mulpd rB0, rA0 addpd rA0, rC7 movapd 0-120(pA10, mldab,2), rA0 mulpd rB0, rA0 addpd rA0, rC8 movapd 0-120(pA5,ldab,4), rA0 mulpd rB0, rA0 addpd rA0, rC9 movapd 0-120(pA10), rA0 mulpd rB0, rA0 addpd rA0, rC10 movapd 0-120(pA10,ldab), rA0 mulpd rB0, rA0 addpd rA0, rC11 movapd 0-120(pA10,ldab,2), rA0 mulpd rB0, rA0 addpd rA0, rC12 mulpd 0-120(pA5,ldab,8), rB0 addpd rB0, rC13#endif prefB(-120(pB0,ldab)) prefB(64-120(pB0,ldab)) movapd 16-120(pA10,mldab5,2), rA0 movapd 16-120(pB0), rB0 mulpd rB0, rA0 addpd rA0, rC0 movapd 16-120(pA5, mldab,4), rA0 mulpd rB0, rA0 addpd rA0, rC1 movapd 16-120(pA10, mldab,8), rA0 mulpd rB0, rA0
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?