[Info-vax] VSI OpenVMS Alpha V8.4-2L1 Layered Product Subset Available
John Reagan
xyzzy1959 at gmail.com
Mon Jul 10 17:52:29 EDT 2017
On Monday, July 10, 2017 at 4:02:39 PM UTC-4, Stephen Hoffman wrote:
> On 2017-07-10 19:22:38 +0000, John Reagan said:
>
> > On Monday, July 10, 2017 at 2:09:56 PM UTC-4, clair... at vmssoftware.com wrote:
> >>
> >> Those
>
> {..."performance improvements of between 15% and 50%"...}
>
> >> are real numbers from some tests we ran. Here is my simplistic way to
> >> look at it. Every execlet is 5%-10% smaller and RMS is 15% smaller,
> >> compared to unoptimized (the standard build). That means many, many
> >> code paths in the heart of the operating system are shorter with the
> >> use of byte/word instructions. You can certainly make a more precise
> >> analysis but that was from my quick look at comparing the result disks
> >> from the 2L1 and 2L2 builds, picked a bunch of routines and looked at
> >> the generated code.
> >
> > Not to nitpick, but to avoid confusion. The standard build is NOT
> > unoptimized. The build uses the default of /OPT=LEVEL=4 for all
> > compiles. However, the default /ARCH value is EV4 (which also sets the
> > default for /OPT=TUNE). We added /ARCH=EV6 to the compilations. We
> > did not add/remove/change any /OPT qualifiers.
>
> This approach interspersed duplicated architecture-specific instruction
> streams throughout the objects and executables, and the compilers added
> conditional gates to select the appropriate code.
Uh, that isn't what you get. /ARCH=EV6 gets pure EV6 only code.
int ext_int;
short ext_word;
char ext_char;
int main() {
int i;
i = ext_int;
i = ext_word;
i = ext_char;
}
A63D0018 00CC LDQ R17, 24(FP) ; 000008
A0310000 00D0 LDL i, EXT_INT ; R1, (R17)
A65D0020 00D4 LDQ R18, 32(FP) ; 000009
30320000 00D8 LDWU i, EXT_WORD ; R1, (R18)
73E10021 00DC SEXTW i, i ; R1, R1
A41D0028 00E0 LDQ R0, 40(FP) ; 000010
28200000 00E4 LDBU i, EXT_CHAR ; R1, (R0)
73E10001 00E8 SEXTB i, i ; R1, R1
More information about the Info-vax
mailing list