pengfei added inline comments.

================
Comment at: llvm/lib/Target/X86/X86LowerAMXIntrinsics.cpp:311
+  Value *ResElt = B.CreateAdd(EltC, SubVecR);
+  Value *NewVecC = B.CreateInsertElement(VecCPhi, ResElt, IdxC);
+  Value *NewVecD = B.CreateInsertElement(VecDPhi, ResElt, IdxC);
----------------
yubing wrote:
> pengfei wrote:
> > Is it necessary to insert the ResElt to VecC?
> Yes, it is necessary since you should use updated eltC(aka, Cij) when you are 
> doing matrix dotproduct:
> Cij =Cij+Ai1.*B1j
> Cij =Cij+Ai2.*B2j
> ....
> Cij =Cij+AiK.*BKj
But you don't need to update both C and D. Something like the psudo code should 
enough:
```
for (k : K)
  Dij += Aik * Bkj;
Dij += Cij
```


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D93594/new/

https://reviews.llvm.org/D93594

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to