HomePhabricator

[AArch64] Armv8.6-a Matrix Mult Assembly + Intrinsics

Authored by LukeGeeson on Apr 9 2020, 9:21 AM.

Description

[AArch64] Armv8.6-a Matrix Mult Assembly + Intrinsics

This patch upstreams support for the Armv8.6-a Matrix Multiplication
Extension. A summary of the features can be found here:

https://community.arm.com/developer/ip-products/processors/b/processors-ip-blog/posts/arm-architecture-developments-armv8-6-a

This patch includes:

  • Assembly support for AArch64 only (no SVE or Neon)
  • Intrinsics Support for AArch64 Armv8.6a Matrix Multiplication Instructions (No bfloat16 matrix multiplication)

No IR types or C Types are needed for this extension.

This is part of a patch series, starting with BFloat16 support and
the other components in the armv8.6a extension (in previous patches
linked in phabricator)

Based on work by:

  • Luke Geeson
  • Oliver Stannard
  • Luke Cheeseman

Reviewers: ostannard, t.p.northover, rengolin, kmclaughlin

Reviewed By: kmclaughlin

Subscribers: kmclaughlin, kristof.beyls, hiraditya, danielkiss,
cfe-commits

Tags: #clang

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

Details

Committed
LukeGeesonApr 24 2020, 7:54 AM
Reviewer
kmclaughlin
Differential Revision
D77871: [AArch64] Armv8.6-a Matrix Mult Assembly + Intrinsics
Parents
rGdc9cff15a2a5: [MLIR] Add RecursiveSideEffects to Loops::ParallelOp.
Branches
Unknown
Tags
Unknown