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