[lworld+vector] RFR: 8307715: Integrate VectorMask/Shuffle with value/primitive classes [v6]

Xiaohong Gong xgong at openjdk.org
Thu May 25 08:34:24 UTC 2023


On Thu, 25 May 2023 08:11:09 GMT, Xiaohong Gong <xgong at openjdk.org> wrote:

>> I encountered this issue during my implementation when we attempt to create a VectorBoxNode while ciInlineKlass was not initialized.
>> https://github.com/openjdk/valhalla/blob/lworld%2Bvector/src/hotspot/share/opto/vectornode.hpp#L1692
>> You can make the change in above line to always create gvn.zerocon(T_PRIMITIVE_OBJECT) oop and remove special multifield handlings for constant case in InlineTypeNode::load, it will result into creation of imbalanced PhiNodes.
>> 
>> test Float256VectorTests.blendFloat256VectorTestsBroadcastLongSmokeTest(float[-i * 5], float[cornerCaseValue(i)], mask[false]): success
>> 
>> Error mixing types: vectory[8]:{float} and ftcon:0.000000
>
> Thanks! I will take a look at this issue.

As per my understanding, oop from `gvn.zerocon(T_PRIMITIVE_OBJECT)` is a NULL_PTR, which should be handled in `InlineTypeNode::make_from_oop()` before calling `InlineTypeNode::load()` (see:  https://github.com/openjdk/valhalla/blob/lworld%2Bvector/src/hotspot/share/opto/inlinetypenode.cpp#L857). Not sure why such issue happens.

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

PR Review Comment: https://git.openjdk.org/valhalla/pull/845#discussion_r1205179495



More information about the valhalla-dev mailing list