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

Nicolas Vasilache via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Mar 9 14:35:35 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.
nicolasvasilache updated this revision to Diff 249222.
nicolasvasilache added a comment.
nicolasvasilache abandoned this revision.

Fix copyright.


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 AVX512-specific dialect for the specific purpose of implementing portions of XNNPack in MLIR and benchmarking them.

I am proposing 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/D75873

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: D75873.249222.patch
Type: text/x-patch
Size: 24687 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200309/cf7465fc/attachment.bin>


More information about the llvm-commits mailing list