1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-23 11:13:28 +01:00

Edit description of floating point constants to

reflect reality.  Acknowledgements to John Clements
for prodding me into this.

llvm-svn: 64332
This commit is contained in:
Dale Johannesen 2009-02-11 22:14:51 +00:00
parent 5f0aab656e
commit 9a80b9d451

View File

@ -1760,16 +1760,31 @@ them all and their syntax.</p>
</dl>
<p>The one non-intuitive notation for constants is the optional hexadecimal form
<p>The one non-intuitive notation for constants is the hexadecimal form
of floating point constants. For example, the form '<tt>double
0x432ff973cafa8000</tt>' is equivalent to (but harder to read than) '<tt>double
4.5e+15</tt>'. The only time hexadecimal floating point constants are required
(and the only time that they are generated by the disassembler) is when a
floating point constant must be emitted but it cannot be represented as a
decimal floating point number. For example, NaN's, infinities, and other
decimal floating point number in a reasonable number of digits. For example,
NaN's, infinities, and other
special values are represented in their IEEE hexadecimal format so that
assembly and disassembly do not cause any bits to change in the constants.</p>
<p>When using the hexadecimal form, constants of types float and double are
represented using the 16-digit form shown above (which matches the IEEE754
representation for double); float values must, however, be exactly representable
as IEE754 single precision.
Hexadecimal format is always used for long
double, and there are three forms of long double. The 80-bit
format used by x86 is represented as <tt>0xK</tt>
followed by 20 hexadecimal digits.
The 128-bit format used by PowerPC (two adjacent doubles) is represented
by <tt>0xM</tt> followed by 32 hexadecimal digits. The IEEE 128-bit
format is represented
by <tt>0xL</tt> followed by 32 hexadecimal digits; no currently supported
target uses this format. Long doubles will only work if they match
the long double format on your target. All hexadecimal formats are big-endian
(sign bit at the left).</p>
</div>
<!-- ======================================================================= -->