[all-commits] [llvm/llvm-project] cac1ed: [mlir] Introduce an intrinsic for llvm.matrix.mult...

Nicolas Vasilache via All-commits all-commits at lists.llvm.org
Thu Mar 5 14:58:16 PST 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: cac1ed1f4bf939d70532fb8e80cf81cb50db69db
      https://github.com/llvm/llvm-project/commit/cac1ed1f4bf939d70532fb8e80cf81cb50db69db
  Author: Nicolas Vasilache <ntv at google.com>
  Date:   2020-03-05 (Thu, 05 Mar 2020)

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
    M mlir/include/mlir/Target/LLVMIR/ModuleTranslation.h
    M mlir/test/Target/llvmir-intrinsics.mlir

  Log Message:
  -----------
  [mlir] Introduce an intrinsic for llvm.matrix.multiply

This revision adds the first intrinsic for llvm.matrix.multiply.
This uses the more general `LLVM_OneResultOp` for now since the goal is
to use the
specific Matrix builders that @fhahn has created recently.

When piped through:
```
opt -O3 -enable-matrix | llc -O3 -march=x86-64 -mcpu=skylake-avx512
```
this has been verified to generate ymm instructions.

Additional function attribute support will be needed to generate proper
zmm instructions but at least things run end to end.

Benchmarking will be provided separately with the experimental
metaprogramming
[ModelBuilder](https://github.com/google/iree/tree/master/experimental/ModelBuilder)
tool when ready.




More information about the All-commits mailing list