[vectorIntrinsics] RFR: 8266720: Wrong implementation in LibraryCallKit::inline_vector_shuffle_iota
Wang Huang
whuang at openjdk.java.net
Thu May 13 01:48:02 UTC 2021
On Wed, 12 May 2021 15:17:45 GMT, Paul Sandoz <psandoz at openjdk.org> wrote:
>> Because JDK-8266317 has not been merged into jdk/jdk. So I fix this bug here.
>> * This comparsion should be a unsigned cmp
>> * `x86` is not wrong because `x86` does not have 1024-bits vl here.
>> ```c++
>>
>> ConINode* pred_node = (ConINode*)gvn().makecon(TypeInt::make(BoolTest::ge)); // should BoolTest::ugt
>> Node * lane_cnt = gvn().makecon(TypeInt::make(num_elem));
>> Node * bcast_lane_cnt = gvn().transform(VectorNode::scalar2vector(lane_cnt, num_elem, type_bt));
>> // should BoolTest::ugt
>> Node* mask = gvn().transform(new VectorMaskCmpNode(BoolTest::ge, bcast_lane_cnt, res, pred_node, vt));
>
> test/hotspot/jtreg/compiler/vectorapi/TestVectorShuffleIota1024.java line 38:
>
>> 36: * @bug 8266720
>> 37: * @modules jdk.incubator.vector
>> 38: * @run testng/othervm compiler.vectorapi.TestVectorShuffleIotaByte1024
>
> Perhaps the test can be annotated, declaring it should only execute on ARM/SVE platforms. See the use of the `@requires` clause used in other JDK tests.
Thank you for you review. I think this test is used for any arch which has `ByteVector.SPECIES_MAX == 1024`.
-------------
PR: https://git.openjdk.java.net/panama-vector/pull/81
More information about the panama-dev
mailing list