|
From: <sv...@va...> - 2006-02-13 05:15:31
|
Author: sewardj
Date: 2006-02-13 05:15:27 +0000 (Mon, 13 Feb 2006)
New Revision: 5643
Log:
Update Limitations section following recent ppc hackery.
Modified:
trunk/docs/xml/manual-core.xml
Modified: trunk/docs/xml/manual-core.xml
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/docs/xml/manual-core.xml 2006-02-12 18:56:16 UTC (rev 5642)
+++ trunk/docs/xml/manual-core.xml 2006-02-13 05:15:27 UTC (rev 5643)
@@ -1671,7 +1671,7 @@
programs actually work fine.</para>
=20
<para>Valgrind will run Linux ELF binaries, on a kernel 2.4.X or 2.6.X
-system, on the x86, amd64 and ppc32 architectures, subject to the
+system, on the x86, amd64, ppc32 and ppc64 architectures, subject to the
following constraints:</para>
=20
<itemizedlist>
@@ -1683,8 +1683,11 @@
Version 3.1.0 includes limited support for SSE3 on x86. This could
be improved if necessary.</para>
=20
- <para>On ppc32, almost all integer, floating point and Altivec
- instructions are supported.</para>
+ <para>On ppc32 and ppc64, almost all integer, floating point and Alti=
vec
+ instructions are supported. Specifically: integer and FP insns that =
are
+ mandatory for PowerPC, the "General-purpose optional" group (fsqrt, f=
sqrts,
+ stfiwx), the "Graphics optional" group (fre, fres, frsqrte, frsqrtes)=
, and
+ the Altivec (also known as VMX) SIMD instruction set, are supported.<=
/para>
</listitem>
=20
<listitem>
@@ -1745,7 +1748,7 @@
<listitem>
<para>As of version 3.0.0, Valgrind has the following limitations
in its implementation of x86/AMD64 floating point relative to=20
- the IEEE754 standard.</para>
+ IEEE754.</para>
=20
<para>Precision: There is no support for 80 bit arithmetic.
Internally, Valgrind represents all such "long double" numbers in 64
@@ -1804,7 +1807,8 @@
=20
<listitem>
<para>As of version 3.0.0, Valgrind has the following limitations in
- its implementation of x86/AMD64 SSE2 FP arithmetic.</para>
+ its implementation of x86/AMD64 SSE2 FP arithmetic, relative to=20
+ IEEE754.</para>
=20
<para>Essentially the same: no exceptions, and limited observance of
rounding mode. Also, SSE2 has control bits which make it treat
@@ -1815,21 +1819,36 @@
</listitem>
=20
<listitem>
- <para>As of version 3.1.0, Valgrind has the following limitations
- in its implementation of PPC32 FP arithmetic, both scalar and
- Altivec.</para>
+ <para>As of version 3.2.0, Valgrind has the following limitations
+ in its implementation of PPC32 and PPC64 floating point=20
+ arithmetic, relative to IEEE754.</para>
=20
- <para>Scalar: essentially as with x86/AMD64: no exceptions,=20
- and limited observance of rounding mode. For Altivec, FP arithmetic
+ <para>Scalar (non-Altivec): Valgrind provides a bit-exact emulation o=
f
+ all floating point instructions, except for "fre" and "fres", which a=
re
+ done more precisely than required by the PowerPC architecture specifi=
cation.
+ All floating point operations observe the current rounding mode.
+ </para>
+
+ <para>However, fpscr[FPRF] is not set after each operation. That cou=
ld
+ be done but would give measurable performance overheads, and so far
+ no need for it has been found.</para>
+
+ <para>As on x86/AMD64, IEEE754 exceptions are not supported: all floa=
ting
+ point exceptions are handled using the default IEEE fixup actions.
+ Valgrind detects, ignores, and can warn about, attempts to unmask=20
+ the 5 IEEE FP exception kinds by writing to the floating-point status=
=20
+ and control register (fpscr).
+ </para>
+
+ <para>Vector (Altivec, VMX): essentially as with x86/AMD64 SSE/SSE2:=20
+ no exceptions, and limited observance of rounding mode. =20
+ For Altivec, FP arithmetic
is done in IEEE/Java mode, which is more accurate than the Linux defa=
ult
setting. "More accurate" means that denormals are handled properly,=20
- rather than simply being flushed to zero.
- </para>
+ rather than simply being flushed to zero.</para>
</listitem>
-
</itemizedlist>
=20
-
<para>Programs which are known not to work are:</para>
<itemizedlist>
<listitem>
|