HomePhabricator

[ARM] BFloat MatMul Intrinsics&CodeGen

Authored by miyuki on Jun 23 2020, 4:28 AM.

Description

[ARM] BFloat MatMul Intrinsics&CodeGen

Summary:
This patch adds support for BFloat Matrix Multiplication Intrinsics
and Code Generation from __bf16 to AArch32. This includes IR intrinsics. Tests are
provided as needed.

This patch is part of a series implementing the Bfloat16 extension of
the
Armv8.6-a architecture, as detailed here:

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

The bfloat type and its properties are specified in the Arm
Architecture
Reference Manual:

https://developer.arm.com/docs/ddi0487/latest/arm-architecture-reference-manual-armv8-for-armv8-a-architecture-profile

The following people contributed to this patch:

  • Luke Geeson
  • Momchil Velikov
  • Mikhail Maltsev
  • Luke Cheeseman
  • Simon Tatham

Reviewers: stuij, t.p.northover, SjoerdMeijer, sdesmalen, fpetrogalli, LukeGeeson, simon_tatham, dmgreen, MarkMurrayARM

Reviewed By: MarkMurrayARM

Subscribers: MarkMurrayARM, danielkiss, kristof.beyls, hiraditya, cfe-commits, llvm-commits, chill, miyuki

Tags: #clang, #llvm

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

Details

Committed
miyukiJun 23 2020, 5:06 AM
Reviewer
MarkMurrayARM
Differential Revision
D81740: [ARM] BFloat MatMul Intrinsics&CodeGen
Parents
rG5832950adbfc: [AMDGPU/MemOpsCluster] Compute `width` for `MIMG` instruction class.
Branches
Unknown
Tags
Unknown