[PATCH] D74219: [mlir][VectorOps] Expose and use llvm.intrin.fma*

Nicolas Vasilache via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Feb 7 06:38:45 PST 2020


nicolasvasilache created this revision.
nicolasvasilache added reviewers: ftynse, aartbik, dcaballe, fhahn.
Herald added subscribers: llvm-commits, Joonsoo, liufengdb, lucyrfox, mgester, arpith-jacob, antiagainst, shauheen, burmako, jpienaar, rriddle, mehdi_amini.
Herald added a project: LLVM.

This revision exposes the portable `llvm.fma` intrinsic in LLVMOps and uses it
in lieu of `llvm.fmuladd` when lowering the `vector.outerproduct` op to LLVM.
This guarantees proper `fma` instructions will be emitted if the target ISA
supports it.

`llvm.fmuladd` does not have this guarantee in its semantics, despite evidence
that the proper x86 instructions are emitted.

For more details, see https://llvm.org/docs/LangRef.html#llvm-fmuladd-intrinsic.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D74219

Files:
  mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
  mlir/include/mlir/Dialect/VectorOps/VectorOps.td
  mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVM.cpp
  mlir/test/Conversion/VectorToLLVM/vector-to-llvm.mlir
  mlir/test/Dialect/Linalg/llvm.mlir
  mlir/test/Target/llvmir-intrinsics.mlir

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D74219.243157.patch
Type: text/x-patch
Size: 9243 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200207/15bb14de/attachment.bin>


More information about the llvm-commits mailing list