|
From: John R. <jr...@bi...> - 2011-12-23 05:36:35
|
On 12/22/2011 08:13 AM, Carl E. Love wrote:
> Valgrind community:
>
> Please review and comment on the following is a proposal to add Iops to
> Valgrind to support Decimal Floating Point (DFP) instructions. The
> following proposal includes adding 31 new DFP Iops to support operations
> on 32-bit, 64-bit and 128-bit DFP numbers. The intent was to come up with
> a minimal and sufficient set for the POWER and s390 architectures to start
> with. The hope is that the set of proposed Iops will also be sufficient
> for other architectures but I can't say for sure since I do not have access
> to the DFP instruction set for any other architectures.
[snip]
The proposal fails as a specification. It does not provide all the information
that is necessary to implement it, nor does it provide what is needed to
write the test cases in order to verify an implementation.
1. All data formats must be defined at the bit level, either explicitly
or by formal citation of some highly-usable document which is available
at low cost in each of {money, time, space, hassle}.
2. It is astounding that the proposal does not cite the IEEE-754-2008 standard,
either to claim compatibility [under some explicit representation schema]
or to expound in detail on the differences. If the POWER and s390
instructions do not conform to IEEE-754-2008 to a very high degree,
then that would be sufficient reason to reject the proposal. _Somebody_
must claim and explain the degree of conformance by POWER/s390, and the
specification of new Iops with reference to POWER/s390 must be traceable
to IEEE-754-2008. The best motivation for new Iops is by reference to
IEEE-754-2008, together with a separate mapping between POWER/s390
and the IEEE specification. The coverage of DFP on POWER/s390 by
new Iops would then be mostly a consequence, as would the coverage
by new Iops of DFP on [almost] any highly-conforming hardware.
3. The description of the handling of PFPO must give an explicit list of
the codes [values and symbolic names] in general purpose register 0,
and the corresponding operation in each case. This is EXACTLY
the purpose of a specification!
--
|