[PATCH] D75987: [mlir][RFC][AVX512] Start a primitive AVX512 dialect

Nicolas Vasilache via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Mar 11 06:18:07 PDT 2020


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

The Vector Dialect document <https://mlir.llvm.org/docs/Dialects/Vector/> discusses the vector abstractions that MLIR supports and the various tradeoffs involved.

One of the layer that is missing in OSS atm is the Hardware Vector Ops (HWV) level.

This revision proposes an AVX512-specific to add a new Dialect/Targets/AVX512 Dialect that would directly target AVX512-specific intrinsics.

Atm, we rely too much on LLVM’s peephole optimizer to do a good job from small insertelement/extractelement/shufflevector. In the future, when possible, generic abstractions such as VP intrinsics should be preferred.

The revision will allow trading off HW-specific vs generic abstractions in MLIR.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D75987

Files:
  mlir/include/mlir/Conversion/AVX512ToLLVM/ConvertAVX512ToLLVM.h
  mlir/include/mlir/Dialect/AVX512/AVX512Dialect.h
  mlir/include/mlir/Dialect/AVX512/AVX512Ops.td
  mlir/lib/Conversion/AVX512ToLLVM/ConvertAVX512ToLLVM.cpp
  mlir/lib/Dialect/AVX512/IR/AVX512Dialect.cpp
  mlir/lib/Target/LLVMIR/AVX512Intr.cpp
  mlir/test/Conversion/AVX512ToLLVM/convert-to-llvm.mlir
  mlir/test/Dialect/AVX512/roundtrip.mlir
  mlir/test/Target/avx512.mlir

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D75987.249600.patch
Type: text/x-patch
Size: 24687 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200311/cc979525/attachment.bin>


More information about the llvm-commits mailing list