HomePhabricator

[ARM] Basic bfloat support

Authored by labrinea on Jun 18 2020, 7:40 AM.

Description

[ARM] Basic bfloat support

This patch adds basic support for BFloat in the Arm backend.
For now the code generation relies on fullfp16 being present.

Briefly:

  • adds the bfloat scalar and vector types in the necessary register classes,
  • adjusts the calling convention to cope with bfloat argument passing and return,
  • adds codegen patterns for moves, loads and stores.

It's tested mostly by the intrinsic patches that depend on it (load/store, convert/copy).

The following people contributed to this patch:

  • Alexandros Lamprineas
  • Ties Stuij

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

Details

Committed
labrineaJun 18 2020, 9:26 AM
Differential Revision
D81373: [ARM] Basic bfloat support
Parents
rG84167a8d58e8: [docs] Clarify semantics of ordered fadd/fmul reductions.
Branches
Unknown
Tags
Unknown