atl_smm4x4x128_av.c

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

C
3,072
字号
	vmaddfp	vC30, vA3, vB0, vC30   #if KB > 72		lvx vB0, pB0, k0   #endif	vmaddfp	vC01, vA0, vB1, vC01	vmaddfp	vC11, vA1, vB1, vC11	vmaddfp	vC21, vA2, vB1, vC21	vmaddfp	vC31, vA3, vB1, vC31   #if KB > 72		lvx vB1, pB0, k1   #endif	vmaddfp	vC02, vA0, vB2, vC02	vmaddfp	vC12, vA1, vB2, vC12	vmaddfp	vC22, vA2, vB2, vC22	vmaddfp	vC32, vA3, vB2, vC32   #if KB > 72		lvx vB2, pB0, k2   #endif	vmaddfp	vC03, vA0, vB3, vC03   #if KB > 72		lvx vA0, pA0, k0   #endif	vmaddfp	vC13, vA1, vB3, vC13   #if KB > 72		lvx vA1, pA0, k1   #endif	vmaddfp	vC23, vA2, vB3, vC23   #if KB > 72		lvx vA2, pA0, k2   #endif	vmaddfp	vC33, vA3, vB3, vC33   #if KB > 72		lvx vA3, pA0, k3   #endif   #if KB > 72		lvx vB3, pB0, k3   #endif#endif  /* end K=64 block */#if KB > 68   #if KB > 76		addi	k0, k0, 16   #endif	vmaddfp	vC00, va0, vb0, vC00   #if KB > 76		addi	k1, k1, 16   #endif	vmaddfp	vC10, va1, vb0, vC10   #if KB > 76		addi	k2, k2, 16   #endif	vmaddfp	vC20, va2, vb0, vC20   #if KB > 76		addi	k3, k3, 16   #endif	vmaddfp	vC30, va3, vb0, vC30   #if KB > 76		lvx vb0, pB0, k0   #endif	vmaddfp	vC01, va0, vb1, vC01	vmaddfp	vC11, va1, vb1, vC11	vmaddfp	vC21, va2, vb1, vC21	vmaddfp	vC31, va3, vb1, vC31   #if KB > 76		lvx vb1, pB0, k1   #endif	vmaddfp	vC02, va0, vb2, vC02	vmaddfp	vC12, va1, vb2, vC12	vmaddfp	vC22, va2, vb2, vC22	vmaddfp	vC32, va3, vb2, vC32   #if KB > 76		lvx vb2, pB0, k2   #endif	vmaddfp	vC03, va0, vb3, vC03   #if KB > 76		lvx va0, pA0, k0   #endif	vmaddfp	vC13, va1, vb3, vC13   #if KB > 76		lvx va1, pA0, k1   #endif	vmaddfp	vC23, va2, vb3, vC23   #if KB > 76		lvx va2, pA0, k2   #endif	vmaddfp	vC33, va3, vb3, vC33   #if KB > 76		lvx va3, pA0, k3   #endif   #if KB > 76		lvx vb3, pB0, k3   #endif#endif  /* end K=68 block */#if KB > 72   #if KB > 80		addi	k0, k0, 16   #endif	vmaddfp	vC00, vA0, vB0, vC00   #if KB > 80		addi	k1, k1, 16   #endif	vmaddfp	vC10, vA1, vB0, vC10   #if KB > 80		addi	k2, k2, 16   #endif	vmaddfp	vC20, vA2, vB0, vC20   #if KB > 80		addi	k3, k3, 16   #endif	vmaddfp	vC30, vA3, vB0, vC30   #if KB > 80		lvx vB0, pB0, k0   #endif	vmaddfp	vC01, vA0, vB1, vC01   #ifdef BETAX	dcbt	0, pBETA, 0   #endif	vmaddfp	vC11, vA1, vB1, vC11	vmaddfp	vC21, vA2, vB1, vC21	vmaddfp	vC31, vA3, vB1, vC31   #if KB > 80		lvx vB1, pB0, k1   #endif	vmaddfp	vC02, vA0, vB2, vC02	vmaddfp	vC12, vA1, vB2, vC12	vmaddfp	vC22, vA2, vB2, vC22	vmaddfp	vC32, vA3, vB2, vC32   #if KB > 80		lvx vB2, pB0, k2   #endif	vmaddfp	vC03, vA0, vB3, vC03   #if KB > 80		lvx vA0, pA0, k0   #endif	vmaddfp	vC13, vA1, vB3, vC13   #if KB > 80		lvx vA1, pA0, k1   #endif	vmaddfp	vC23, vA2, vB3, vC23   #if KB > 80		lvx vA2, pA0, k2   #endif	vmaddfp	vC33, vA3, vB3, vC33   #if KB > 80		lvx vA3, pA0, k3   #endif   #if KB > 80		lvx vB3, pB0, k3   #endif#endif  /* end K=72 block */#if KB > 76   #if KB > 84		addi	k0, k0, 16   #endif	vmaddfp	vC00, va0, vb0, vC00   #if KB > 84		addi	k1, k1, 16   #endif	vmaddfp	vC10, va1, vb0, vC10   #if KB > 84		addi	k2, k2, 16   #endif	vmaddfp	vC20, va2, vb0, vC20   #if KB > 84		addi	k3, k3, 16   #endif	vmaddfp	vC30, va3, vb0, vC30   #if KB > 84		lvx vb0, pB0, k0   #endif	vmaddfp	vC01, va0, vb1, vC01	vmaddfp	vC11, va1, vb1, vC11	vmaddfp	vC21, va2, vb1, vC21	vmaddfp	vC31, va3, vb1, vC31   #if KB > 84		lvx vb1, pB0, k1   #endif	vmaddfp	vC02, va0, vb2, vC02	vmaddfp	vC12, va1, vb2, vC12	vmaddfp	vC22, va2, vb2, vC22	vmaddfp	vC32, va3, vb2, vC32   #if KB > 84		lvx vb2, pB0, k2   #endif	vmaddfp	vC03, va0, vb3, vC03   #if KB > 84		lvx va0, pA0, k0   #endif	vmaddfp	vC13, va1, vb3, vC13   #if KB > 84		lvx va1, pA0, k1   #endif	vmaddfp	vC23, va2, vb3, vC23   #if KB > 84		lvx va2, pA0, k2   #endif	vmaddfp	vC33, va3, vb3, vC33   #if KB > 84		lvx va3, pA0, k3   #endif   #if KB > 84		lvx vb3, pB0, k3   #endif#endif  /* end K=76 block */#if KB > 80   #if KB > 88		addi	k0, k0, 16   #endif	vmaddfp	vC00, vA0, vB0, vC00   #if KB > 88		addi	k1, k1, 16   #endif	vmaddfp	vC10, vA1, vB0, vC10   #if KB > 88		addi	k2, k2, 16   #endif	vmaddfp	vC20, vA2, vB0, vC20   #if KB > 88		addi	k3, k3, 16   #endif	vmaddfp	vC30, vA3, vB0, vC30   #if KB > 88		lvx vB0, pB0, k0   #endif	vmaddfp	vC01, vA0, vB1, vC01	vmaddfp	vC11, vA1, vB1, vC11	vmaddfp	vC21, vA2, vB1, vC21	vmaddfp	vC31, vA3, vB1, vC31   #if KB > 88		lvx vB1, pB0, k1   #endif	vmaddfp	vC02, vA0, vB2, vC02	vmaddfp	vC12, vA1, vB2, vC12	vmaddfp	vC22, vA2, vB2, vC22	vmaddfp	vC32, vA3, vB2, vC32   #if KB > 88		lvx vB2, pB0, k2   #endif	vmaddfp	vC03, vA0, vB3, vC03   #if KB > 88		lvx vA0, pA0, k0   #endif	vmaddfp	vC13, vA1, vB3, vC13   #if KB > 88		lvx vA1, pA0, k1   #endif	vmaddfp	vC23, vA2, vB3, vC23   #if KB > 88		lvx vA2, pA0, k2   #endif	vmaddfp	vC33, vA3, vB3, vC33   #if KB > 88		lvx vA3, pA0, k3   #endif   #if KB > 88		lvx vB3, pB0, k3   #endif#endif  /* end K=80 block */#if KB > 84   #if KB > 92		addi	k0, k0, 16   #endif	vmaddfp	vC00, va0, vb0, vC00   #if KB > 92		addi	k1, k1, 16   #endif	vmaddfp	vC10, va1, vb0, vC10   #if KB > 92		addi	k2, k2, 16   #endif	vmaddfp	vC20, va2, vb0, vC20   #if KB > 92		addi	k3, k3, 16   #endif	vmaddfp	vC30, va3, vb0, vC30   #if KB > 92		lvx vb0, pB0, k0   #endif	vmaddfp	vC01, va0, vb1, vC01	vmaddfp	vC11, va1, vb1, vC11	vmaddfp	vC21, va2, vb1, vC21	vmaddfp	vC31, va3, vb1, vC31   #if KB > 92		lvx vb1, pB0, k1   #endif	vmaddfp	vC02, va0, vb2, vC02	vmaddfp	vC12, va1, vb2, vC12	vmaddfp	vC22, va2, vb2, vC22	vmaddfp	vC32, va3, vb2, vC32   #if KB > 92		lvx vb2, pB0, k2   #endif	vmaddfp	vC03, va0, vb3, vC03   #if KB > 92		lvx va0, pA0, k0   #endif	vmaddfp	vC13, va1, vb3, vC13   #if KB > 92		lvx va1, pA0, k1   #endif	vmaddfp	vC23, va2, vb3, vC23   #if KB > 92		lvx va2, pA0, k2   #endif	vmaddfp	vC33, va3, vb3, vC33   #if KB > 92		lvx va3, pA0, k3   #endif   #if KB > 92		lvx vb3, pB0, k3   #endif#endif  /* end K=84 block */#if KB > 88  /* HERE HERE */   #if KB > 96		addi	k0, k0, 16   #elif !defined(BETA0) && KB == 92        lvx     va0, 0, pC0   #endif	vmaddfp	vC00, vA0, vB0, vC00   #if KB > 96		addi	k1, k1, 16   #elif !defined(BETA0) && KB == 92        lvx     va1, pC0, ldc   #endif	vmaddfp	vC10, vA1, vB0, vC10   #if KB > 96		addi	k2, k2, 16   #elif !defined(BETA0) && KB == 92        lvx     va2, pC0, ldc2   #endif	vmaddfp	vC20, vA2, vB0, vC20   #if KB > 96		addi	k3, k3, 16   #elif !defined(BETA0) && KB == 92        lvx     va3, pC0, ldc3   #endif	vmaddfp	vC30, vA3, vB0, vC30   #if KB > 96		lvx vB0, pB0, k0   #endif	vmaddfp	vC01, vA0, vB1, vC01	vmaddfp	vC11, vA1, vB1, vC11   #if KB == 92		vmrglw  vb2, vC00, vC10		// vb2  = {c0c, c1c, c0d, c1d}   #endif	vmaddfp	vC21, vA2, vB1, vC21	vmaddfp	vC31, vA3, vB1, vC31   #if KB > 96		lvx vB1, pB0, k1   #endif	vmaddfp	vC02, vA0, vB2, vC02   #if KB == 92		vmrghw  vC00, vC00, vC10	// vC00 = {c0a, c1a, c0b, c1b}   #endif	vmaddfp	vC12, vA1, vB2, vC12	vmaddfp	vC22, vA2, vB2, vC22	vmaddfp	vC32, vA3, vB2, vC32   #if KB > 96		lvx vB2, pB0, k2   #endif	vmaddfp	vC03, vA0, vB3, vC03   #if KB > 96		lvx vA0, pA0, k0   #endif	vmaddfp	vC13, vA1, vB3, vC13	vmrglw  vb3, vC20, vC30		// vb3  = {c2c, c3c, c2d, c3d}	vmrghw  vC20, vC20, vC30	// vC20 = {c2a, c3a, c2b, c3b}   #if KB > 96		lvx vA1, pA0, k1   #endif	vmaddfp	vC23, vA2, vB3, vC23   #if KB > 96		lvx vA2, pA0, k2   #endif	vmaddfp	vC33, vA3, vB3, vC33   #if KB > 96		lvx vA3, pA0, k3   #endif   #if KB > 96		lvx vB3, pB0, k3   #endif#endif  /* end K=88 block */#if KB > 92   #if KB > 100		addi	k0, k0, 16   #endif	vmaddfp	vC00, va0, vb0, vC00   #if KB > 100		addi	k1, k1, 16   #endif	vmaddfp	vC10, va1, vb0, vC10   #if KB > 100		addi	k2, k2, 16   #endif	vmaddfp	vC20, va2, vb0, vC20   #if KB > 100		addi	k3, k3, 16   #endif	vmaddfp	vC30, va3, vb0, vC30   #if KB > 100		lvx vb0, pB0, k0   #endif	vmaddfp	vC01, va0, vb1, vC01	vmaddfp	vC11, va1, vb1, vC11	vmaddfp	vC21, va2, vb1, vC21	vmaddfp	vC31, va3, vb1, vC31   #if KB > 100		lvx vb1, pB0, k1   #endif	vmaddfp	vC02, va0, vb2, vC02	vmaddfp	vC12, va1, vb2, vC12	vmaddfp	vC22, va2, vb2, vC22	vmaddfp	vC32, va3, vb2, vC32   #if KB > 100		lvx vb2, pB0, k2   #endif	vmaddfp	vC03, va0, vb3, vC03   #if KB > 100		lvx va0, pA0, k0   #endif	vmaddfp	vC13, va1, vb3, vC13   #if KB > 100		lvx va1, pA0, k1   #endif	vmaddfp	vC23, va2, vb3, vC23   #if KB > 100		lvx va2, pA0, k2   #endif	vmaddfp	vC33, va3, vb3, vC33   #if KB > 100		lvx va3, pA0, k3   #endif   #if KB > 100		lvx vb3, pB0, k3   #endif#endif  /* end K=92 block */#if KB > 96   #if KB > 104		addi	k0, k0, 16   #endif	vmaddfp	vC00, vA0, vB0, vC00   #if KB > 104		addi	k1, k1, 16   #endif	vmaddfp	vC10, vA1, vB0, vC10   #if KB > 104		addi	k2, k2, 16   #endif	vmaddfp	vC20, vA2, vB0, vC20   #if KB > 104		addi	k3, k3, 16   #endif	vmaddfp	vC30, vA3, vB0, vC30   #if KB > 104		lvx vB0, pB0, k0   #endif	vmaddfp	vC01, vA0, vB1, vC01	vmaddfp	vC11, vA1, vB1, vC11	vmaddfp	vC21, vA2, vB1, vC21	vmaddfp	vC31, vA3, vB1, vC31   #if KB > 104		lvx vB1, pB0, k1   #endif	vmaddfp	vC02, vA0, vB2, vC02	vmaddfp	vC12, vA1, vB2, vC12	vmaddfp	vC22, vA2, vB2, vC22	vmaddfp	vC32, vA3, vB2, vC32   #if KB > 104		lvx vB2, pB0, k2   #endif	vmaddfp	vC03, vA0, vB3, vC03   #if KB > 104		lvx vA0, pA0, k0   #endif	vmaddfp	vC13, vA1, vB3, vC13   #if KB > 104		lvx vA1, pA0, k1   #endif	vmaddfp	vC23, vA2, vB3, vC23   #if KB > 104		lvx vA2, pA0, k2   #endif	vmaddfp	vC33, vA3, vB3, vC33   #if KB > 104		lvx vA3, pA0, k3   #endif   #if KB > 104		lvx vB3, pB0, k3   #endif#endif  /* end K=96 block */#if KB > 100   #if KB > 108		addi	k0, k0, 16   #endif	vmaddfp	vC00, va0, vb0, vC00   #if KB > 108		addi	k1, k1, 16   #endif	vmaddfp	vC10, va1, vb0, vC10   #if KB > 108		addi	k2, k2, 16   #endif	vmaddfp	vC20, va2, vb0, vC20   #if KB > 108		addi	k3, k3, 16   #endif	vmaddfp	vC30, va3, vb0, vC30   #if KB > 108		lvx vb0, pB0, k0   #endif	vmaddfp	vC01, va0, vb1, vC01	vmaddfp	vC11, va1, vb1, vC11	vmaddfp	vC21, va2, vb1, vC21	vmaddfp	vC31, va3, vb1, vC31   #if KB > 108		lvx vb1, pB0, k1   #endif	vmaddfp	vC02, va0, vb2, vC02	vmaddfp	vC12, va1, vb2, vC12	vmaddfp	vC22, va2, vb2, vC22	vmaddfp	vC32, va3, vb2, vC32   #if KB > 108		lvx vb2, pB0, k2   #endif	vmaddfp	vC03, va0, vb3, vC03   #if KB > 108		lvx va0, pA0, k0   #endif	vmaddfp	vC13, va1, vb3, vC13   #if KB > 108		lvx va1, pA0, k1   #endif	vmaddfp	vC23, va2, vb3, vC23   #if KB > 108		lvx va2, pA0, k2   #endif	vmaddfp	vC33, va3, vb3, vC33   #if KB > 108		lvx va3, pA0, k3   #endif   #if KB > 108		lvx vb3, pB0, k3   #endif#endif  /* end K=100 block */#if KB > 104   #if KB > 112		addi	k0, k0, 16   #endif	vmaddfp	vC00, vA0, vB0, vC00   #if KB > 112		addi	k1, k1, 16   #endif	vmaddfp	vC10, vA1, vB0, vC10   #if KB > 112		addi	k2, k2, 16   #endif	vmaddfp	vC20, vA2, vB0, vC20   #if KB > 112		addi	k3, k3, 16   #endif	vmaddfp	vC30, vA3, vB0, vC30   #if KB > 112		lvx vB0, pB0, k0   #endif	vmaddfp	vC01, vA0, vB1, vC01	vmaddfp	vC11, vA1, vB1, vC11	vmaddfp	vC21, vA2, vB1, vC21	vmaddfp	vC31, vA3, vB1, vC31   #if KB > 112		lvx vB1, pB0, k1   #endif	vmaddfp	vC02, vA0, vB2, vC02	vmaddfp	vC12, vA1, vB2, vC12	vmaddfp	vC22, vA2, vB2, vC22	vmaddfp	vC32, vA3, vB2, vC32   #if KB > 112		lvx vB2, pB0, k2   #endif	vmaddfp	vC03, vA0, vB3, vC03   #if KB > 112		lvx vA0, pA0, k0   #endif	vmaddfp	vC13, vA1, vB3, vC13   #if KB > 112		lvx vA1, pA0, k1   #endif	vmaddfp	vC23, vA2, vB3, vC23   #if KB > 112		lvx vA2, pA0, k2   #endif	vmaddfp	vC33, vA3, vB3, vC33   #if KB > 112		lvx vA3, pA0, k3   #endif   #if KB > 112		lvx vB3, pB0, k3   #endif#endif  /* end K=104 block */#if KB > 108   #if KB > 116		addi	k0, k0, 16   #endif	vmaddfp	vC00, va0, vb0, vC00   #if KB > 116		addi	k1, k1, 16   #endif	vmaddfp	vC10, va1, vb0, vC10   #if KB > 116		addi	k2, k2, 16   #endif	vmaddfp	vC20, va2, vb0, vC20   #if KB > 116		addi	k3, k3, 16   #endif	vmaddfp	vC30, va3, vb0, vC30   #if KB > 116

⌨️ 快捷键说明

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