Johnny, Dave,
   I did find some old floating point bench mark info in one of my Saturn Calc spreadsheets (that I can now read once again). The floating point bench mark was a tight loop in F77 with a REAL*4 multiplication. The Sieve prime number test computed primes unto 8192 with F77 code.


System          Sieve    Flops    Sieve   Float  Dhrystones
                                   VUPS    VUPS    
PDP 11/23      2.027900      9693     .11     .05            (microcode FP)
PDP 11/24                   11500             .06            (this 11/24 had the clock potentiometer cranked up as fast as it could go)
PDP 11/44       .568600     61473     .39     .33            (using FPEM)
PDP 11/73       .319948     38837     .69     .21      833   (15 Mhz, microcode FP)
PDP 11/83       .241563    359416     .92    1.92     1153.  (15 Mhz, FPP chip)
PDP 11/84       .388500    363774     .57    1.94            (18 Mhz, FPP chip)
M100-04         .218359    382592    1.02    2.04     1250.  (20 Mhz, FPP)
VAX 11/780      .222200    187135    1.00    1.00     1500
uVAX II         .259100    144829     .86     .77
VAX 8600        .059300   1035673    3.75    5.53
VAX 8700        .044920    885201    4.95    4.73
VAX 6420        .032160   1412804    6.91    7.55    17141
VAX 6610        .007305   9230000   30.42   49.32    66578
VAX 3500        .084370    525590    2.63    2.81     5612
MV3100 10e      .057030    766470    3.90    4.10     8834
MV3100 30       .038906   1132743    5.71    6.05    15974
MV3100 80       .022187   1987578   10.01   10.62    22727
VS4000 90A      .007289   9270000   30.48   49.54    66578
Alpha 666Mhz    .000340 204000000  653.53    1090  2783964 (Alpha 666Mhz, EV67)

Best,
Mark

On Apr 10, 2026, at 9:19 AM, Johnny Billquist <bqt@softjar.se> wrote:

On 10/04/2026 16.13, Mark Matlock wrote:
Dave,
    Johnny reminded me about a limitation of this FPEM, specifically it does not work with tasks that have external headers. When you TKB your F77 program add the /-XH switch to make a task that does not have an external header. RSX11M+ by default would have /XH on by default.

That's what I found in the code. There was also some conditional about external headers, so it's a little confusing. But I didn't see it having any proper handling of external headers, so I would probably say don't use them.

    As I recall (maybe wrongly), you don’t have to specify F77EIS when building the task, as long as FPEM is running. Also, if you needFPEM to remove itself, I think you can UNStop it and it will change the vectors back. I am interested in whether this will work on RSX11M+ V4.6

No. You also need F77EIS when using FPEM. The reason is that otherwise the initialization tries to setup an FPP AST, which RSX gives an error about if you don't have an FPP.

You should also build a kernel without FPP support, since FPEM will not handle traps for FPP instructions in the kernel, and will completely crash you out then. And finally, you do need to build the tasks with /FP, so that the task header contains the storage for the FPP information.

Oh, I see. I didn’t realize that RSX used any FP instructions in the kernel. 

These are some of the reasons I think it would be interesting to develop another FP emulation, but one that is more complete and which would work with a FP-enabled kernel.

 Johnny