atl_mm4x4x8_av.c

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

C
448
字号
            rC2_0 += rA2 * rB0;            rC3_0 += rA3 * rB0; rB0 = pB0[5];            rC0_1 += rA0 * rB1;            rC1_1 += rA1 * rB1;            rC2_1 += rA2 * rB1;            rC3_1 += rA3 * rB1; rB1 = pB0[KB+5];            rC0_2 += rA0 * rB2;            rC1_2 += rA1 * rB2;            rC2_2 += rA2 * rB2;            rC3_2 += rA3 * rB2; rB2 = pB0[KB2+5];            rC0_3 += rA0 * rB3; rA0 = pA0[5];            rC1_3 += rA1 * rB3; rA1 = pA0[KB+5];            rC2_3 += rA2 * rB3; rA2 = pA0[KB2+5];            rC3_3 += rA3 * rB3; rA3 = pA0[KB3+5];            rC0_0 += rA0 * rB0; rB3 = pB0[KB3+5];            rC1_0 += rA1 * rB0;            rC2_0 += rA2 * rB0;            rC3_0 += rA3 * rB0; rB0 = pB0[6];            rC0_1 += rA0 * rB1;            rC1_1 += rA1 * rB1;            rC2_1 += rA2 * rB1;            rC3_1 += rA3 * rB1; rB1 = pB0[KB+6];            rC0_2 += rA0 * rB2;            rC1_2 += rA1 * rB2;            rC2_2 += rA2 * rB2;            rC3_2 += rA3 * rB2; rB2 = pB0[KB2+6];            rC0_3 += rA0 * rB3; rA0 = pA0[6];            rC1_3 += rA1 * rB3; rA1 = pA0[KB+6];            rC2_3 += rA2 * rB3; rA2 = pA0[KB2+6];            rC3_3 += rA3 * rB3; rA3 = pA0[KB3+6];            rC0_0 += rA0 * rB0; rB3 = pB0[KB3+6];            rC1_0 += rA1 * rB0;            rC2_0 += rA2 * rB0;            rC3_0 += rA3 * rB0; rB0 = pB0[7];            rC0_1 += rA0 * rB1;            rC1_1 += rA1 * rB1;            rC2_1 += rA2 * rB1;            rC3_1 += rA3 * rB1; rB1 = pB0[KB+7];            rC0_2 += rA0 * rB2;            rC1_2 += rA1 * rB2;            rC2_2 += rA2 * rB2;            rC3_2 += rA3 * rB2; rB2 = pB0[KB2+7];            rC0_3 += rA0 * rB3; rA0 = pA0[7];            rC1_3 += rA1 * rB3; rA1 = pA0[KB+7];            rC2_3 += rA2 * rB3; rA2 = pA0[KB2+7];            rC3_3 += rA3 * rB3; rA3 = pA0[KB3+7]; rB3 = pB0[KB3+7];            pA0 += 8;            pB0 += 8;         }            rC0_0 += rA0 * rB0; ATL_pfavW(pC0, cwrdC, 0);            rC1_0 += rA1 * rB0; ATL_pfavW(pC1, cwrdC, 1);            rC2_0 += rA2 * rB0; ATL_pfavW(pC2, cwrdC, 2);            rC3_0 += rA3 * rB0; rB0 = *pB0;            rC0_1 += rA0 * rB1; ATL_pfavW(pC3, cwrdC, 3);            rC1_1 += rA1 * rB1;            rC2_1 += rA2 * rB1;            rC3_1 += rA3 * rB1; rB1 = pB0[KB];            rC0_2 += rA0 * rB2;            rC1_2 += rA1 * rB2;            rC2_2 += rA2 * rB2;            rC3_2 += rA3 * rB2; rB2 = pB0[KB2];            rC0_3 += rA0 * rB3; rA0 = *pA0;            rC1_3 += rA1 * rB3; rA1 = pA0[KB];            rC2_3 += rA2 * rB3; rA2 = pA0[KB2];            rC3_3 += rA3 * rB3; rA3 = pA0[KB3];            rC0_0 += rA0 * rB0; rB3 = pB0[KB3];            rC1_0 += rA1 * rB0;            rC2_0 += rA2 * rB0;            rC3_0 += rA3 * rB0; rB0 = pB0[1];            rC0_1 += rA0 * rB1;            rC1_1 += rA1 * rB1;            rC2_1 += rA2 * rB1;            rC3_1 += rA3 * rB1; rB1 = pB0[KB+1];            rC0_2 += rA0 * rB2;            rC1_2 += rA1 * rB2;            rC2_2 += rA2 * rB2;            rC3_2 += rA3 * rB2; rB2 = pB0[KB2+1];            rC0_3 += rA0 * rB3; rA0 = pA0[1];            rC1_3 += rA1 * rB3; rA1 = pA0[KB+1];            rC2_3 += rA2 * rB3; rA2 = pA0[KB2+1];            rC3_3 += rA3 * rB3; rA3 = pA0[KB3+1];            rC0_0 += rA0 * rB0; rB3 = pB0[KB3+1];            rC1_0 += rA1 * rB0;            rC2_0 += rA2 * rB0;            rC3_0 += rA3 * rB0; rB0 = pB0[2];            rC0_1 += rA0 * rB1; ATL_pfavR(pA0+KB3+7, cwrdKB, 0);            rC1_1 += rA1 * rB1; ATL_pfavR(pA0+KB4+7, cwrdKB, 1);            rC2_1 += rA2 * rB1; ATL_pfavR(pA0+KB5+7, cwrdKB, 2);            rC3_1 += rA3 * rB1; rB1 = pB0[KB+2];            rC0_2 += rA0 * rB2; ATL_pfavR(pA0+KB6+7, cwrdKB, 3);            rC1_2 += rA1 * rB2;            rC2_2 += rA2 * rB2;            rC3_2 += rA3 * rB2; rB2 = pB0[KB2+2];            rC0_3 += rA0 * rB3; rA0 = pA0[2];            rC1_3 += rA1 * rB3; rA1 = pA0[KB+2];            rC2_3 += rA2 * rB3; rA2 = pA0[KB2+2];            rC3_3 += rA3 * rB3; rA3 = pA0[KB3+2];            rC0_0 += rA0 * rB0; rB3 = pB0[KB3+2];            rC1_0 += rA1 * rB0;            rC2_0 += rA2 * rB0;            rC3_0 += rA3 * rB0; rB0 = pB0[3];            rC0_1 += rA0 * rB1;            rC1_1 += rA1 * rB1;            rC2_1 += rA2 * rB1;            rC3_1 += rA3 * rB1; rB1 = pB0[KB+3];            rC0_2 += rA0 * rB2;            rC1_2 += rA1 * rB2;            rC2_2 += rA2 * rB2;            rC3_2 += rA3 * rB2; rB2 = pB0[KB2+3];            rC0_3 += rA0 * rB3; rA0 = pA0[3];            rC1_3 += rA1 * rB3; rA1 = pA0[KB+3];            rC2_3 += rA2 * rB3; rA2 = pA0[KB2+3];            rC3_3 += rA3 * rB3; rA3 = pA0[KB3+3];            rC0_0 += rA0 * rB0; rB3 = pB0[KB3+3];            rC1_0 += rA1 * rB0;            rC2_0 += rA2 * rB0;            rC3_0 += rA3 * rB0; rB0 = pB0[4];            rC0_1 += rA0 * rB1;            rC1_1 += rA1 * rB1;            rC2_1 += rA2 * rB1;            rC3_1 += rA3 * rB1; rB1 = pB0[KB+4];            rC0_2 += rA0 * rB2;            rC1_2 += rA1 * rB2;            rC2_2 += rA2 * rB2;            rC3_2 += rA3 * rB2; rB2 = pB0[KB2+4];            rC0_3 += rA0 * rB3; rA0 = pA0[4];            rC1_3 += rA1 * rB3; rA1 = pA0[KB+4];            rC2_3 += rA2 * rB3; rA2 = pA0[KB2+4];            rC3_3 += rA3 * rB3; rA3 = pA0[KB3+4];            rC0_0 += rA0 * rB0; rB3 = pB0[KB3+4];            rC1_0 += rA1 * rB0;            rC2_0 += rA2 * rB0;            rC3_0 += rA3 * rB0; rB0 = pB0[5];            rC0_1 += rA0 * rB1;            rC1_1 += rA1 * rB1;            rC2_1 += rA2 * rB1;            rC3_1 += rA3 * rB1; rB1 = pB0[KB+5];            rC0_2 += rA0 * rB2;            rC1_2 += rA1 * rB2;            rC2_2 += rA2 * rB2;            rC3_2 += rA3 * rB2; rB2 = pB0[KB2+5];            rC0_3 += rA0 * rB3; rA0 = pA0[5];            rC1_3 += rA1 * rB3; rA1 = pA0[KB+5];            rC2_3 += rA2 * rB3; rA2 = pA0[KB2+5];            rC3_3 += rA3 * rB3; rA3 = pA0[KB3+5];            rC0_0 += rA0 * rB0; rB3 = pB0[KB3+5];            rC1_0 += rA1 * rB0;            rC2_0 += rA2 * rB0;            rC3_0 += rA3 * rB0; rB0 = pB0[6];            rC0_1 += rA0 * rB1;            rC1_1 += rA1 * rB1;            rC2_1 += rA2 * rB1;            rC3_1 += rA3 * rB1; rB1 = pB0[KB+6];            rC0_2 += rA0 * rB2;            rC1_2 += rA1 * rB2;            rC2_2 += rA2 * rB2;            rC3_2 += rA3 * rB2; rB2 = pB0[KB2+6];            rC0_3 += rA0 * rB3; rA0 = pA0[6];            rC1_3 += rA1 * rB3; rA1 = pA0[KB+6];            rC2_3 += rA2 * rB3; rA2 = pA0[KB2+6];            rC3_3 += rA3 * rB3; rA3 = pA0[KB3+6];            rC0_0 += rA0 * rB0; rB3 = pB0[KB3+6];            rC1_0 += rA1 * rB0;            rC2_0 += rA2 * rB0; pA0 += 7;            rC3_0 += rA3 * rB0;            rC0_1 += rA0 * rB1; pB0 += 7;            rC1_1 += rA1 * rB1;            rC2_1 += rA2 * rB1;            rC3_1 += rA3 * rB1;            rC0_2 += rA0 * rB2;            rC1_2 += rA1 * rB2;            rC2_2 += rA2 * rB2;            rC3_2 += rA3 * rB2;            rC0_3 += rA0 * rB3;            rC1_3 += rA1 * rB3;            rC2_3 += rA2 * rB3;            rC3_3 += rA3 * rB3;         #ifdef TREAL            *pC0 = rC0_0; pC0[1] = rC1_0; pC0[2] = rC2_0; pC0[3] = rC3_0;            *pC1 = rC0_1; pC1[1] = rC1_1; pC1[2] = rC2_1; pC1[3] = rC3_1;            *pC2 = rC0_2; pC2[1] = rC1_2; pC2[2] = rC2_2; pC2[3] = rC3_2;            *pC3 = rC0_3; pC3[1] = rC1_3; pC3[2] = rC2_3; pC3[3] = rC3_3;         #else            *pC0 = rC0_0; pC0[2] = rC1_0; pC0[4] = rC2_0; pC0[6] = rC3_0;            *pC1 = rC0_1; pC1[2] = rC1_1; pC1[4] = rC2_1; pC1[6] = rC3_1;            *pC2 = rC0_2; pC2[2] = rC1_2; pC2[4] = rC2_2; pC2[6] = rC3_2;            *pC3 = rC0_3; pC3[2] = rC1_3; pC3[4] = rC2_3; pC3[6] = rC3_3;         #endif         pC0 += incCm;         pC1 += incCm;         pC2 += incCm;         pC3 += incCm;         pA0 += incAm;         pB0 += incBm;      }      while(pA0 != stM);      pC0 += incCn;      pC1 += incCn;      pC2 += incCn;      pC3 += incCn;      pA0 += incAn;      pB0 += incBn;   }   while(pB0 != stN);}#ifdef incAm   #undef incAm#endif#ifdef incBn   #undef incBn#endif#ifdef incCm   #undef incCm#endif

⌨️ 快捷键说明

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