[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Languages, languages ... (was: 754R and Reproducibility)



This is true even without my proposal:  The combination of any hardware
plus soft-float, assuming soft-float does support that hardware, would
indeed be compliant.

I don't agree it is true without your proposal.  The current draft talks
about compliance at the language level.

Ok, I see Guillaume Melquiond's point; I was indeed still thinking in
754(1985) terms.

However, in a way he was making my point:  with the 1985 interpretation,
soft-float can claim conformance on its own, and thereby enable languages
to offer conformance in the context of soft-float plus required use of
compiler options and library use.  With the 2007 interpretation however
soft-float could not claim anything at all!

In other words, with your proposal, any processor is compliant, even
if it only provides integer units.

No, such a processor could not claim conformance on its own -- it is only
the combination of that processor together with the necessary software
that could do so.

In my opinion, that is the whole point of setting the standard at the
language level: what the standard describes is what the user is provided
with, and not what the processor may provide.

Yes and no.  The problem with setting the standard at the language level
is that it provides no way to achieve conformance without providing the
entire implementation stack, of which the processor is only one element.

No processor could do this on its own, but IBM's S/390 G5 (in 1998)
came close, and could in fact have done the complete job with only
one additional instruction (a variant of what is now PFPO, for doing
conversions to and from a particular string format), and with a slight
redefinition of Divide-To-Integer as an "interruptible" instruction
(like Move-Characters-Long) that did not deliver the quotient, only
the remainder.  There were good reasons for not going all the way,
but that is beside the point.

Actually, David Hough's later post does provide a way out, using the
current draft (2007) interpretation:  Define the "language" that the
lower-level (processor alone, in an extreme case, or processor together
with assembler-level macro definitions or library routines at a more
practical level) is expressed in:

The system vendor gets to define all the language-defined stuff:
   "IBM System Z 754R Programming Environment" would be completely
   conforming and a hot item for the few with a need to know, and
   of no interest to everybody else.

In my opinion this is stretching the definition of "language", but in
the context of 754(2007) as it now stands it seems to be the only way
to assert conformance at a lower level in a form that higher levels can
exploit.

I agree that this is relevant only for "the few with a need to know",
but it is a matter of leverage:  Those few are the ones that make it
possible to offer conformance at the higher levels that the masses need.

Michel.
Sent: 2007-07-11 19:49:33 UTC

754 | revision | FAQ | references | list archive