Port-vax archive

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

Re: VAX floating point formats & GCC patches



Den 2016-04-09 kl. 08:43, skrev Anders Magnusson:
Den 2016-04-09 kl. 05:56, skrev Toby Thain:
On 2016-04-08 11:33 PM, Jake Hamby wrote:

On Apr 6, 2016, at 18:04, Paul Koning <paulkoning%comcast.net@localhost> wrote:


On Apr 6, 2016, at 7:54 PM, Maciej W. Rozycki <macro%linux-mips.org@localhost> wrote:

On Wed, 6 Apr 2016, Mouse wrote:

I would expect -msoft-float if it existed to be entirely IEEE
format and [...]
The floating-point format used is down to the ABI -- [...]

Well, to an extent. I expect you would have trouble finding a compiler
that generated VAX assembly/machine code but with IEEE floats.
-msoft-float (if it existed) would handle the arithmetic, but you'd
also have to generate constants and the like to match.

It's easier than you think it would seem. You can actually configure GCC to use the IEEE floating point with the VAX target -- all you need is to
set REAL_MODE_FORMAT appropriately for the relevant formats (SFmode,
DFmode, etc.) at run time. Then you can flip between the formats desired
with a command-line option -- be it `-msoft-float' or whatever.

Yes, it could indeed be done, and it would be an interesting science project. You'd end up with a non-standard ABI, producing binary data incompatible with any real VAX. But it could be done.

I'm not sure it would be all that useful. Given the fact that there aren't any non-FPU VAXen, it doesn't seem worth the trouble.

It's interesting that clearly some subset options were only theoretical (float) while others were commonly used (POLYx, decimal instructions, PDP11 compatibility mode especially). I suspect that comes from the fact that doing without float instructions is a major hardship for a general purpose computer, while the other CISC instructions that clutter up the VAX instruction set are far less important. Things like POLY and CRC really don't add much value.

    paul

Are we sure there wasn't some MicroVAX model somewhere that was sold
with only the CPU chip and FP emulation? The Digital Technical Journals
seem to imply that you could get one just the CPU chip and no FPA, and

I haven't tried to verify this, but I think the FPA board in the 11/750 is optional? (I own an 11/750 but have never had it running.)

Hope someone more knowledgeable can confirm (or I could check with other 11/750 owners in the retrocomputing community).
Yep, the FPA bord was optional (and uncommon). But that was just a hardware accelerator; all FP instructions were implemented in microcode.
Note that the 11/780 had the same thing (but on multiple cards).

-- R

-- Ragge



--Toby

VMS & Ultrix would emulate the FP instructions through the reserved
operand exception. But it's possible that they never actually configured
many systems that way because it would be so slow.
...

Regards,
Jake






Home | Main Index | Thread Index | Old Index