HomePhabricator

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

Authored by LukeGeeson on Apr 9 2020, 11:29 AM.

Description

[AArch32] 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 AArch32
  • Intrinsics Support for AArch32 Neon Intrinsics for Matrix Multiplication

Note: these extensions are optional in the 8.6a architecture and so have
to be enabled by default

No additional 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: t.p.northover, miyuki

Reviewed By: miyuki

Subscribers: miyuki, ostannard, kristof.beyls, hiraditya, danielkiss,
cfe-commits

Tags: #clang

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

Details

Committed
LukeGeesonApr 24 2020, 7:54 AM
Reviewer
miyuki
Differential Revision
D77872: [AArch32] Armv8.6-a Matrix Mult Assembly + Intrinsics
Parents
rG832cd749131b: [AArch64] Armv8.6-a Matrix Mult Assembly + Intrinsics
Branches
Unknown
Tags
Unknown