jjb@sequent.UUCP (Jeff Berkowitz) (04/07/89)
The now-defunct Culler machine was originally going to "just do the wrong thing" on unaligned accesses. Fairly late in design, logic was added to trap on unaligned accesses. As I recall, one of the arguments for adding that logic was that it was difficult (impossible?) to achieve F77 validation on a machine which "just did the wrong thing". Can anyone comment on this? Does the F77 validation suite actually force oddly aligned access and expect them to work? Is there a qualified F77 for the RT PC? -- Jeff Berkowitz N6QOM {sun,uunet}!sequent!jjb Sequent Computer Systems Custom Systems Group 15450 SW Koll Pkwy Home (503)629-0806 Beaverton OR 97006 Work (503)526-4148
khb@fatcity.Sun.COM (fatcity) (04/08/89)
In article <13998@sequent.UUCP> jjb@sequent.UUCP (Jeff Berkowitz) writes: >The now-defunct Culler machine was originally going to "just do the >wrong thing" on unaligned accesses. Fairly late in design, logic >was added to trap on unaligned accesses. As I recall, one of the >arguments for adding that logic was that it was difficult >(impossible?) to achieve F77 validation on a machine which "just >did the wrong thing". Can anyone comment on this? Does the F77 >validation suite actually force oddly aligned access and expect >them to work? Is there a qualified F77 for the RT PC? >-- There is no x3j3 equivalent of Ada validation. There are suites which purport to validate a compiler, but they have no x3j3, ansi, or iso standing. Keith H. Bierman It's Not My Fault ---- I Voted for Bill & Opus
sjc@key.COM (Steve Correll) (04/08/89)
In article <13998@sequent.UUCP>, jjb@sequent.UUCP (Jeff Berkowitz) writes: > Does the F77 validation suite actually force oddly aligned access and expect > them to work? Is there a qualified F77 for the RT PC? The copy of the US Government validation suite which I have does not require misaligned access, but it could legally do so. Consider the following program: common /x/ i, d, j integer i, j, ia(4) doubleprecision d equivalence (ia(1), i), (ia(4), j) ... end Fortunately for current RISCs, the only legal kind of misalignment in Fortran 77 puts a doubleword on a singleword boundary, and processors with 32-bit busses tend not to notice that. From what I've seen so far, Fortran 8X does not change this. (Three rules in the 77 standard prevent other kinds of misalignment: 1. There are only three "sizes" of data: character, integer/logical/real, and doubleprecision/complex. 2. An equivalence or common block may not mix character data with non-character data. 3. Doubleprecision/complex must be twice the size of integer/logical/real.) In practice, of course, Fortran programs from CISC machines pose additional kinds of misalignment--e.g. a doubleword on a halfword boundary--but these all involve either extensions to or violations of the standard. -- ...{sun,pyramid}!pacbell!key!sjc Steve Correll
guy@auspex.auspex.com (Guy Harris) (04/09/89)
>Fortunately for current RISCs, the only legal kind of misalignment in Fortran >77 puts a doubleword on a singleword boundary, and processors with 32-bit >busses tend not to notice that. SPARC notices it, though. (Was this put into the architecture for the benefit of potential future implementations with 64-bit buses?)
henry@utzoo.uucp (Henry Spencer) (04/09/89)
In article <98036@sun.Eng.Sun.COM> khb@sun.UUCP (fatcity) writes: >There is no x3j3 equivalent of Ada validation. There are suites which >purport to validate a compiler, but they have no x3j3, ansi, or iso >standing. One reason for this, incidentally, is that standards committees have to tread lightly to avoid problems with anti-trust laws. Saying that one manufacturer's compiler conforms and another doesn't leaves the committee open to charges of bias, especially if the non-conforming compiler comes from an outfit that was not represented on the committee. The US government is another story, which is why Ada validation exists. There are also government validation suites for COBOL, and I think for FORTRAN. They don't have the same magic status ("*the* validation suite for the language"), since the government does not set the standards for said languages. -- Welcome to Mars! Your | Henry Spencer at U of Toronto Zoology passport and visa, comrade? | uunet!attcan!utzoo!henry henry@zoo.toronto.edu
henry@utzoo.uucp (Henry Spencer) (04/09/89)
In article <1405@auspex.auspex.com> guy@auspex.auspex.com (Guy Harris) writes: >>Fortunately for current RISCs, the only legal kind of misalignment in Fortran >>77 puts a doubleword on a singleword boundary, and processors with 32-bit >>busses tend not to notice that. > >SPARC notices it, though. (Was this put into the architecture for the >benefit of potential future implementations with 64-bit buses?) Possibly, but it has the more immediate benefit that a 64-bit operand (like smaller ones) cannot straddle a page boundary. -- Welcome to Mars! Your | Henry Spencer at U of Toronto Zoology passport and visa, comrade? | uunet!attcan!utzoo!henry henry@zoo.toronto.edu
sjc@key.COM (Steve Correll) (04/09/89)
In article <98036@sun.Eng.Sun.COM>, khb@fatcity.Sun.COM (fatcity) writes: Jeff Berkowitz writes: > Does the F77 validation suite actually force oddly aligned access...? Keith H. Bierman writes: > There is no x3j3 equivalent of Ada validation. There are suites which > purport to validate a compiler, but they have no x3j3, ansi, or iso > standing. Readers who understand Ada validation better than I may compare for themselves: In the US Fortran community, "the F77 validation suite" usually means the one put out by the US government National Technical Information Service, and "validation" usually means paying the National Bureau of Standards (recently renamed the National Institute of Standards and Technology for variety's sake) to send an official out to test your compiler with that suite and give you a certificate. You can call your compiler "Fortran" without doing this, but a federal agency (or even a private customer) may require it as a condition of sale. To complete this brief tour of US government agencies, the General Services Administration formerly administered validations, so people refer to the same thing as both "the GSA suite" and "the NBS suite". -- ...{sun,pyramid}!pacbell!key!sjc Steve Correll
bill@hcx2.SSD.HARRIS.COM (04/13/89)
> The US government is another story, which is why Ada validation exists. > There are also government validation suites for COBOL, and I think for > FORTRAN. They don't have the same magic status ("*the* validation suite > for the language"), since the government does not set the standards for > said languages. This isn't quite so. The FORTRAN Compiler Verification Service (FCVS) tests and the COBOL Compiler Verification Service (CCVS) tests are _official_ government validation suites. You must pass them to sell a FORTRAN or COBOL compiler to the U.S. Government. The primary difference between them and Ada is that the Ada standard was, first, a MIL-STD, not an ANSI standard, and also it allows so subsetting/supersetting. A second difference is that the Ada validation process is much more rigorous than FCVS or CCVS. But this is fundamentally just a question of degree, not substance. Moreover, the U.S. Government _does_ set the standards for FORTRAN and COBOL! The mechanism is the Federal Information Processing Standard (FIPS). There is a FIPS for FORTRAN, COBOL, and (I believe) Ada. Not coincidentally, they are the same as the corresponding ANSI standards. The FIPS is what makes passing the validation tests a pre-requisite to selling to the U.S. Government (or to almost any government contractor).
eugene@eos.UUCP (Eugene Miya) (04/15/89)
In article <748@key.COM> sjc@key.COM (Steve Correll) writes: >In article <98036@sun.Eng.Sun.COM>, khb@fatcity.Sun.COM (fatcity) writes: > >Jeff Berkowitz writes: >> Does the F77 validation suite actually force oddly aligned access...? > >Keith H. Bierman writes: (I think Henry wrote this:) >> There is no x3j3 equivalent of Ada validation. There are suites which >> purport to validate a compiler, but they have no x3j3, ansi, or iso >> standing. > >Readers who understand Ada validation better than I may compare for themselves: > > In the US Fortran community, "the F77 validation suite" usually means the one > put out by the US government National Technical Information Service, and > "validation" usually means paying the National Bureau of Standards (recently > renamed the National Institute of Standards and Technology for variety's > sake) to send an official out to test your compiler with that suite and give > you a certificate. You can call your compiler "Fortran" without doing this, > but a federal agency (or even a private customer) may require it as a > condition of sale. > > To complete this brief tour of US government agencies, the General Services > Administration formerly administered validations, so people refer to the same > thing as both "the GSA suite" and "the NBS suite". Experience: tested the Pascal VS [Sale 1978 on] on the Univac 1100 series compiler, and used the FCVS on both the Cray Y-MP and ETA-10Q. Am fully aware of the ACVS, and a few developments which aren't public. I was an ANSI committee member [not the same as an ANSI member]. Jeff, the FCVS doesn't do anything as sophisiticated as unaligned accesses. It merely tests for comformance to a standard (ANSI...1978). The Pascal VS had a bit more. ACVS is a considerably more rigourous than either. There are a few clever things, but nothing as clever as I was once told. Standards are simply pieces of paper which are gentleman's agreements. They aren't blueprints. Standards are typically after the fact documents. Don't expect every machine and compiler to pass. These test are not cut and dry. They are not strictly all pass-fail. Another gross generalization from --eugene miya, NASA Ames Research Center, eugene@aurora.arc.nasa.gov resident cynic at the Rock of Ages Home for Retired Hackers: "Mailers?! HA!", "If my mail does not reach you, please accept my apology." Live free or die.