RFR: 8369448: C2 SuperWord: refactor VTransform to do move_unordered_reduction_out_of_loop during VTransform::optimize

Vladimir Kozlov kvn at openjdk.org
Thu Oct 9 15:44:33 UTC 2025


On Thu, 9 Oct 2025 15:36:40 GMT, Vladimir Kozlov <kvn at openjdk.org> wrote:

>> src/hotspot/share/opto/vectornode.cpp line 1615:
>> 
>>> 1613: }
>>> 1614: 
>>> 1615: bool ReductionNode::auto_vectorization_requires_strict_order(int vopc) {
>> 
>> Note: we need to know which ones we can move out of the loop, and we can only do that with those that do not require strict order.
>
> Can we use  something like `bottom_type()->isa_float() != nullptr || bottom_type()->isa_double() != nullptr` here to check for strict order?

May be use it for assert to make sure we did not miss listing some new vector nodes in this switch in a future.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/27704#discussion_r2417185836


More information about the hotspot-compiler-dev mailing list