[PATCH] D77129: [Verifier] Verify matrix dimensions operands match vector size.

Florian Hahn via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Jul 8 03:19:02 PDT 2020


fhahn marked an inline comment as done.
fhahn added inline comments.


================
Comment at: llvm/lib/IR/Verifier.cpp:4805
+      NumColumns = cast<ConstantInt>(Call.getArgOperand(4));
+      TypeToCheck = cast<VectorType>(Call.getType());
+      break;
----------------
SjoerdMeijer wrote:
> Quick query on this and the semantics:
> 
>   declare vectorty @llvm.matrix.multiply.*(vectorty %A, vectorty %B, i32 <OuterRows>, i32 <Inner>, i32 <OuterColumns>)
> 
> do we expect the element types of vectors %A and %B to be same, and do we need to check this?
Yes, the element types of all types must match currently, but I think it is neither checked in the verifier nor explicit in the LangRef. 

To generate code for llvm.aarch64.neon.udot & co, there probably needs to be a way to have different element type widths for result and source operands.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D77129





More information about the llvm-commits mailing list