VectorAPI min and max intrinsics

Paul Sandoz paul.sandoz at oracle.com
Wed Apr 18 20:37:55 UTC 2018



> On Apr 18, 2018, at 1:31 PM, John Rose <john.r.rose at oracle.com> wrote:
> 
> On Apr 18, 2018, at 1:25 PM, Paul Sandoz <paul.sandoz at oracle.com <mailto:paul.sandoz at oracle.com>> wrote:
>> 
>> Thanks that is much clearer now. Basically the semantics are the same as the Java < and > operations, which is great. I was concerned there was some deviation, adding a third variant.
> 
> One way to raise this issue is to insist that the non-intrinsified
> behavior of the vector be identical to the intrinsified one.
> 

> Which suggests to me that we should be sure to run all of
> our test cases with intrinsics turned off, as well as on, as a
> way of catching divergent behavior (when it is unexpected).
> 

Yes, we are now in a good position to do this (for jtreg add another execution, such as using -Xint and/or just C1 and/or a specific flag to turn off the vector intrinsics, perhaps with reduced number of executions).


> It also suggests that when questions arises with corner cases
> (as with signed zero and NaN) that we should be extra careful
> to make sure there are unit tests which exercise those corner
> cases.

Agreed, the FP test data providers can enhanced to provide such data. 

Paul.

>  If we have such tests, and if we run them with and
> without intrinsics, we can be pretty confident that the vector
> hardware isn't doing something different from what the reference
> Java code does.
> 
> — John



More information about the panama-dev mailing list