RFR: 8284050: [vectorapi] Optimize masked store for non-predicated architectures [v2]

Xiaohong Gong xgong at openjdk.java.net
Thu May 5 03:21:25 UTC 2022


On Thu, 5 May 2022 02:27:03 GMT, John R Rose <jrose at openjdk.org> wrote:

>> Xiaohong Gong has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains one commit:
>> 
>>   8284050: [vectorapi] Optimize masked store for non-predicated architectures
>
> src/hotspot/share/opto/vectorIntrinsics.cpp line 1363:
> 
>> 1361:       // Use the vector blend to implement the masked store. The biased elements are the original
>> 1362:       // values in the memory.
>> 1363:       Node* mem_val = gvn().transform(LoadVectorNode::make(0, control(), memory(addr), addr, addr_type, mem_num_elem, mem_elem_bt));
> 
> I'm sorry to say it, but I am pretty sure this is an invalid optimization.
> See top-level comment for more details.

Thanks for your comments! Yeah, this actually influences something due to the Java Memory Model rules which I missed to consider more. I will try the scatter ways instead. Thanks so much!

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

PR: https://git.openjdk.java.net/jdk/pull/8544


More information about the hotspot-compiler-dev mailing list