[PATCH] D79709: [AArch64][BFloat] basic AArch64 bfloat support

Ties Stuij via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon May 11 04:47:44 PDT 2020


stuij created this revision.
Herald added subscribers: llvm-commits, danielkiss, hiraditya, kristof.beyls.
Herald added a project: LLVM.
stuij added a parent revision: D79706: [CodeGen][BFloat] Add bfloat MVT type.

This patch adds the bfloat type to the AArch64 backend:

- adds it as part of the FPR16 register class
- adds bfloat calling conventions
- as f16 is now not the only FPR16 type anymore, we need to constrain a number of instruction patterns using FPR16Op to help out the TableGen type inferrer

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 is specified in the Arm C language
extension specification:

https://developer.arm.com/docs/ihi0055/d/procedure-call-standard-for-the-arm-64-bit-architecture


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D79709

Files:
  llvm/lib/Target/AArch64/AArch64CallingConvention.td
  llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
  llvm/lib/Target/AArch64/AArch64InstrFormats.td
  llvm/lib/Target/AArch64/AArch64InstrInfo.td
  llvm/lib/Target/AArch64/AArch64RegisterInfo.td

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D79709.263145.patch
Type: text/x-patch
Size: 22528 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200511/d76f63ee/attachment.bin>


More information about the llvm-commits mailing list