[clang] [llvm] [AsmWriter] Print `nan`, `pinf`, and `ninf` when applicable (PR #105618)
Joshua Cranmer via cfe-commits
cfe-commits at lists.llvm.org
Thu Aug 22 11:43:30 PDT 2024
================
@@ -4387,12 +4387,12 @@ Simple Constants
zeros. So '``s0x0001``' of type '``i16``' will be -1, not 1.
**Floating-point constants**
Floating-point constants use standard decimal notation (e.g.
- 123.421), exponential notation (e.g. 1.23421e+2), or a more precise
- hexadecimal notation (see below). The assembler requires the exact
- decimal value of a floating-point constant. For example, the
- assembler accepts 1.25 but rejects 1.3 because 1.3 is a repeating
- decimal in binary. Floating-point constants must have a
- :ref:`floating-point <t_floating>` type.
+ 123.421), exponential notation (e.g. 1.23421e+2), identifiers for special
----------------
jcranmer-intel wrote:
There is work ongoing to add decimal FP types, which means we really do want decimal notation to be available for those constants.
I'm worried that `ppc_fp128` may not work well with C99 hex float format, given that the size of the mantissa isn't fixed (if you represent it as a single `(-1 ^ sign) * mantissa * (base ^ exponent)` format), so that probably should prefer to use the existing hexadecimal notation. For the other binary floating-point types, I'd much rather see the hex float notation than the current hexadecimal notation.
https://github.com/llvm/llvm-project/pull/105618
More information about the cfe-commits
mailing list