[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: New Vax - future directions :-)
> Yep, the distance, but not as a displacement. Having a struct larger
> than 2G? Quite uncommon.
That's not the only use of displacement addressing mode. I've seen it
used to refer to a run-time offset from a link-time constant address,
so that (for example)
extern char foo;
j = foo[i]
(with i in R0 and j in R1) turns into something like
MOVB foo(R0), R1
The major reason I'd want a 64-bit displacement at the moment is
orthogonality. I see no immediate practical use for it, but I am not
at all sure there won't be one. And the VAX is all about orthogonality
However, at first blush, we don't have even one spare addressing mode,
much less the two I'd want, for that.
But, on looking over the list...I'd forgotten about the short-literal
modes. Could VAX64 maybe steal two of the short-literal modes for
64-bit displacements? I don't know the statistics for constants, but I
do suspect that the difference between 32 short-literal values and 64
short-literal values is well into the "diminishing returns" range.
In general, I think we're in furious agreement here. But...
> Well, c = a & b; is the most common, can cannot be reduced...
Can it not? In my experience, in most such cases at least one of the
operands is a compile-time constant.
/~\ The ASCII Mouse
\ / Ribbon Campaign
X Against HTML mouse%rodents-montreal.org@localhost
/ \ Email! 7D C8 61 52 5D E7 2D 39 4E F1 31 3E E8 B3 27 4B
Main Index |
Thread Index |