RFR: 8309531: Incorrect result with unwrapped iotaShuffle. [v3]
Jatin Bhateja
jbhateja at openjdk.org
Fri Jun 30 10:50:06 UTC 2023
On Thu, 29 Jun 2023 22:48:55 GMT, Sandhya Viswanathan <sviswanathan at openjdk.org> wrote:
>> Jatin Bhateja has updated the pull request incrementally with one additional commit since the last revision:
>>
>> Adding string overflow range check, NULL to nullptr replacements.
>
> src/hotspot/share/opto/vectorIntrinsics.cpp line 688:
>
>> 686:
>> 687: // Make the indices greater than lane count as -ve values to match the java side implementation.
>> 688: res = gvn().transform(VectorNode::make(Op_AndV, res, bcast_mod, vt));
>
> Is it correct that here we are setting the mask to be true for within range good lane indices.
> What happens if the index is -ve? The BoolTest:gt would not catch that as it would still be true.
> We could instead check for equality of indices before and after the AndV at line 688 below. If not equal then value was out of range.
> May be I am missing something here.
Correct, comparison predicate should be UGT.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/14700#discussion_r1247727033
More information about the hotspot-compiler-dev
mailing list