[Info-vax] Hard links on VMS ODS5 disks
Arne Vajhøj
arne at vajhoej.dk
Sun Jul 23 19:31:41 EDT 2023
On 7/23/2023 6:03 PM, John Dallman wrote:
> In article <e9738d50-3a9d-489e-b59b-c472eadaf618n at googlegroups.com>,
> xyzzy1959 at gmail.com (John Reagan) wrote:
>
>> The real ugly Macro-32 sources include LAD driver and the shadow
>> driver.
>
> I've been reading the Macro compiler manual. I have never done any VAX
> assembler, but I've done a lot on other platforms, and reported a lot of
> compiler bugs on IA-64, x86-64, and ARM64.
>
> It looks to me as if cross-compiling Macro-32 isn't so hard if you just
> want it to run, but making it run /fast/ on x86-64 was probably hard.
> There aren't quite enough registers to map the VAX registers 1:1 and
> putting them in memory makes for fun with calling conventions, caching
> and so on.
The Macro-32 compiler supposedly does some optimization.
<quote>
$ help macro /opt
MACRO
/OPTIMIZE
/OPTIMIZE[=(option[,...])]
/NOOPTIMIZE
Enables or disables optimization options. All options are enabled
by default except VAXREGS.
The options are:
Option Description
[NO]PEEPHOLE Peephole optimization
[NO]SCHEDULE Code scheduling
[NO]ADDRESSES Common base address loading
[NO]REFERENCES Common data referencing
ALL All optimizations
</quote>
But difficult to check the difference between /OPT and /NOOPT,
because for some unknown reason /LIST/MACH does not list the
generated code.
Anyway I am not so sure that the optimization is critical. My thinking
is that a typical piece of Macro-32 probably goes back to the VAX 780
days, the code must have performed acceptable back then or it would
have been changed, the VUPS.COM's seems to return around 750 on x86-64
PC's, so even if the optimized Macro-32 run at only 20% of max speed,
then the code will be approx. 150 times faster than on a VAX 780, which
is probably more than fine.
Arne
More information about the Info-vax
mailing list