[PATCH] D81373: [WIP] Basic bfloat support on Arm
Alexandros Lamprineas via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Jun 8 04:19:48 PDT 2020
labrinea created this revision.
labrinea added reviewers: SjoerdMeijer, dmgreen, momchil.velikov, dnsampaio, pratlucas.
Herald added subscribers: danielkiss, hiraditya, kristof.beyls.
Herald added a project: LLVM.
labrinea added a comment.
I believe the codegen patterns for vmov and load/store half are incorrect on the bf16 type. Can someone suggest what is the right approach?
This patch is part of a series that adds support for 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 <https://community.arm.com/developer/ip-products/processors/b/processors-ip-blog/posts/arm-architecture-developments-armv8-6-a>
Specifically:
- it adds the bfloat scalar and vector types in the necessary register classes and adjusts the fp16-specific codegen patterns,
- it adjusts the calling convention to cope with bfloat argument passing and return,
- it adds bf16-specific codegen patterns
It's tested mostly by the intrinsic patches that depend on it (load/store, convert/copy).
The bfloat type, and its properties are specified in the Arm Architecture Reference Manual:
https://community.arm.com/developer/ip-products/processors/b/processors-ip-blog/posts/arm-architecture-developments-armv8-6-a <https://developer.arm.com/docs/ddi0487/latest/arm-architecture-reference-manual-armv8-for-armv8-a-architecture-profile>
The following people contributed to this patch:
- Alexandros Lamprineas
- Ties Stuij
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D81373
Files:
llvm/lib/Target/ARM/ARMCallingConv.cpp
llvm/lib/Target/ARM/ARMCallingConv.td
llvm/lib/Target/ARM/ARMISelLowering.cpp
llvm/lib/Target/ARM/ARMInstrFormats.td
llvm/lib/Target/ARM/ARMInstrMVE.td
llvm/lib/Target/ARM/ARMInstrNEON.td
llvm/lib/Target/ARM/ARMInstrVFP.td
llvm/lib/Target/ARM/ARMRegisterInfo.td
llvm/lib/Target/ARM/ARMSubtarget.h
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D81373.269153.patch
Type: text/x-patch
Size: 54873 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200608/b64866f5/attachment.bin>
More information about the llvm-commits
mailing list