[all-commits] [llvm/llvm-project] ecdf48: [ARM] Basic bfloat support

Alexandros Lamprineas via All-commits all-commits at lists.llvm.org
Thu Jun 18 09:27:09 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: ecdf48f15bd2d1a73ae6ab5b46387b0ebead6e99
      https://github.com/llvm/llvm-project/commit/ecdf48f15bd2d1a73ae6ab5b46387b0ebead6e99
  Author: Alexandros Lamprineas <alexandros.lamprineas at arm.com>
  Date:   2020-06-18 (Thu, 18 Jun 2020)

  Changed paths:
    M llvm/lib/Target/ARM/ARMCallingConv.cpp
    M llvm/lib/Target/ARM/ARMCallingConv.td
    M llvm/lib/Target/ARM/ARMISelLowering.cpp
    M llvm/lib/Target/ARM/ARMInstrFormats.td
    M llvm/lib/Target/ARM/ARMInstrNEON.td
    M llvm/lib/Target/ARM/ARMInstrVFP.td
    M llvm/lib/Target/ARM/ARMRegisterInfo.td
    M llvm/lib/Target/ARM/ARMSubtarget.h
    A llvm/test/CodeGen/ARM/bfloat.ll

  Log Message:
  -----------
  [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




More information about the All-commits mailing list