[all-commits] [llvm/llvm-project] 499ad4: [mlir][VectorOps] Expose and use llvm.intrin.fma*

Nicolas Vasilache via All-commits all-commits at lists.llvm.org
Fri Feb 7 12:38:56 PST 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 499ad45877b930325b641d18e7b8b71094116e49
      https://github.com/llvm/llvm-project/commit/499ad45877b930325b641d18e7b8b71094116e49
  Author: Nicolas Vasilache <ntv at google.com>
  Date:   2020-02-07 (Fri, 07 Feb 2020)

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

  Log Message:
  -----------
  [mlir][VectorOps] Expose and use llvm.intrin.fma*

Summary:
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.

Reviewers: ftynse, aartbik, dcaballe, fhahn

Reviewed By: aartbik

Subscribers: mehdi_amini, rriddle, jpienaar, burmako, shauheen, antiagainst, arpith-jacob, mgester, lucyrfox, liufengdb, Joonsoo, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D74219




More information about the All-commits mailing list