[APFloat] Add APFloat semantic support for TF32
authorJeremy Furtek <jfurtek@nvidia.com>
Fri, 23 Jun 2023 08:54:35 +0000 (10:54 +0200)
committerMehdi Amini <joker.eph@gmail.com>
Fri, 23 Jun 2023 08:54:49 +0000 (10:54 +0200)
commit55c2211a233e11179048cf58778f40e5a62f444a
treecce1dcd796d9f92d8d7f89bea9db906ef94c4433
parent2764322912c1fe767831ebfd195118e8534e21aa
[APFloat] Add APFloat semantic support for TF32

This diff adds APFloat support for a semantic that matches the TF32 data type
used by some accelerators (most notably GPUs from both NVIDIA and AMD).

For more information on the TF32 data type, see https://blogs.nvidia.com/blog/2020/05/14/tensorfloat-32-precision-format/.
Some intrinsics that support the TF32 data type were added in https://reviews.llvm.org/D122044.

For some discussion on supporting common semantics in `APFloat`, see similar
efforts for 8-bit formats at https://reviews.llvm.org/D146441, as well as
https://discourse.llvm.org/t/rfc-adding-the-amd-graphcore-maybe-others-float8-formats-to-apfloat/67969.

A subsequent diff will extend MLIR to use this data type. (Those changes are
not part of this diff to simplify the review process.)

Reviewed By: mehdi_amini

Differential Revision: https://reviews.llvm.org/D151923
clang/lib/AST/MicrosoftMangle.cpp
llvm/include/llvm/ADT/APFloat.h
llvm/lib/Support/APFloat.cpp
llvm/unittests/ADT/APFloatTest.cpp