RFR: 8338021: Support new unsigned and saturating vector operators in VectorAPI [v31]

Emanuel Peter epeter at openjdk.org
Thu Oct 24 06:58:18 UTC 2024


On Thu, 24 Oct 2024 06:44:36 GMT, Emanuel Peter <epeter at openjdk.org> wrote:

>> Jatin Bhateja has updated the pull request incrementally with one additional commit since the last revision:
>> 
>>   Factor out IR tests and Transforms to follow-up PRs.
>
> test/jdk/jdk/incubator/vector/templates/Kernel-SaturatingBinary-Masked-op.template line 8:
> 
>> 6: 
>> 7:         for (int ic = 0; ic < INVOC_COUNT; ic++) {
>> 8:             for (int i = 0; i < a.length; i += SPECIES.length()) {
> 
> I think this does not check if the generated vectors are too long. We had bugs in the past where we should have created say 2-element vectors, but the backend wrongly created 4-element vectors. This is especially an issue with vectors that do direct memory access.
> 
> With a simple "counting-up" test, you will probably not catch this. It could be good to have a "counting-down" example as well. What do you think?

Also: all of these cases load, and directly store again. Does that not mean all tests will probably pick the "..._mem" backend operations? Or do we actually end up testing all backend operations with the tests we have here?

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/20507#discussion_r1814368049


More information about the hotspot-compiler-dev mailing list