On 10/2/19 8:12 PM, Maciej W. Rozycki wrote:
> On Fri, 20 Sep 2019, Jeff Law wrote:
> 
>>> According to Bob Supnik (who is a very authoritative source on VAX),
>>>
>>>> Funny you should ask. The short answer is no. No VAX ever did
>>>> speculative or out of order execution.
>>>
>>> As such, marking VAX as not needing speculation barriers.
>>>
>>>
>>>     PR target/86811
>>>     * config/vax/vax.c (TARGET_HAVE_SPECULATION_SAFE_VALUE):
>>>     Define to speculation_safe_value_not_needed.
>> Installed on the trunk.
> 
>  I don't think this is right.  As I have just mentioned in a related 
> discussion elsewhere, the NVAX and NVAX+ implementations include a branch 
> predictor in their microarchitecture[1], so obviously they do execute 
> speculatively.  I think this change would best be reverted and the issue 
> further investigated.
Simply having branch prediction and simple speculation onto one side of
the branch isn't sufficient.  Otherwise a whole lot more processors
would, in theory, be vulnerable.

IIRC you also need some degree of out of order execution, or at least
the ability to keep speculating past memory accesses and high enough
quality timers to distinguish between a cache hit and cache miss.


All this seems fairly academic for the vax.


jeff

Reply via email to