[clang] [compiler-rt] [llvm] [SystemZ] Add support for half (fp16) (PR #109164)

Jonas Paulsson via cfe-commits cfe-commits at lists.llvm.org
Mon Feb 17 02:36:52 PST 2025


================
@@ -229,7 +229,7 @@ class TargetInfo : public TransferrableTargetInfo,
   bool NoAsmVariants;  // True if {|} are normal characters.
   bool HasLegalHalfType; // True if the backend supports operations on the half
                          // LLVM IR type.
-  bool HalfArgsAndReturns;
+  bool HalfArgsAndReturns; // OpenCL 6.1.1.1, NEON (IEEE 754-2008 half) type.
----------------
JonPsson1 wrote:

I tried to make it clear that it relates to __fp16 and not _Float16, like in Type.h:

```
  bool isHalfType() const;         // OpenCL 6.1.1.1, NEON (IEEE 754-2008 half)
  bool isFloat16Type() const;      // C11 extension ISO/IEC TS 18661
```
It's all a bit confusing with all the different names for f16 types. Half seems to relate either to the LLVM I/R type, or to the ARM __fp16 type. HasLegalHalfType refers to LLVM I/R, while HalfArgsAndReturns relate to ARM (IIUC).


https://github.com/llvm/llvm-project/pull/109164


More information about the cfe-commits mailing list