@@ -1445,8 +1445,13 @@ TR::Node *TR_VectorAPIExpansion::loadIntrinsicHandler(TR_VectorAPIExpansion *opt
1445
1445
if (opt->_trace )
1446
1446
traceMsg (comp, " loadIntrinsicHandler for node %p\n " , node);
1447
1447
1448
+ #if JAVA_SPEC_VERSION <= 21
1448
1449
TR::Node *array = node->getChild (5 );
1449
1450
TR::Node *arrayIndex = node->getChild (6 );
1451
+ #else
1452
+ TR::Node *array = node->getChild (6 );
1453
+ TR::Node *arrayIndex = node->getChild (7 );
1454
+ #endif
1450
1455
1451
1456
return transformLoadFromArray (opt, treeTop, node, elementType, vectorLength, numLanes, mode, array, arrayIndex, objType);
1452
1457
}
@@ -1654,9 +1659,15 @@ TR::Node *TR_VectorAPIExpansion::storeIntrinsicHandler(TR_VectorAPIExpansion *op
1654
1659
if (opt->_trace )
1655
1660
traceMsg (comp, " storeIntrinsicHandler for node %p\n " , node);
1656
1661
1662
+ #if JAVA_SPEC_VERSION <= 21
1657
1663
TR::Node *valueToWrite = node->getChild (5 );
1658
1664
TR::Node *array = node->getChild (6 );
1659
1665
TR::Node *arrayIndex = node->getChild (7 );
1666
+ #else
1667
+ TR::Node *valueToWrite = node->getChild (6 );
1668
+ TR::Node *array = node->getChild (7 );
1669
+ TR::Node *arrayIndex = node->getChild (8 );
1670
+ #endif
1660
1671
1661
1672
return transformStoreToArray (opt, treeTop, node, elementType, vectorLength, numLanes, mode, valueToWrite, array, arrayIndex, objType);
1662
1673
}
@@ -2639,7 +2650,11 @@ TR_VectorAPIExpansion::methodTableEntry
2639
2650
TR_VectorAPIExpansion::methodTable[] =
2640
2651
{
2641
2652
{loadIntrinsicHandler, Unknown, 1 , 2 , -1 , 0 , -1 , {Unknown, ElementType, NumLanes}}, // jdk_internal_vm_vector_VectorSupport_load
2653
+ #if JAVA_SPEC_VERSION <= 21
2642
2654
{storeIntrinsicHandler, Unknown, 1 , 2 , 5 , 1 , -1 , {Unknown, ElementType, NumLanes, Unknown, Unknown, Vector}}, // jdk_internal_vm_vector_VectorSupport_store
2655
+ #else
2656
+ {storeIntrinsicHandler, Unknown, 1 , 2 , 6 , 1 , -1 , {Unknown, ElementType, NumLanes, Unknown, Unknown, Unknown, Vector}}, // jdk_internal_vm_vector_VectorSupport_store
2657
+ #endif
2643
2658
{binaryIntrinsicHandler, Vector, 3 , 4 , 5 , 2 , 7 , {Unknown, Unknown, Unknown, ElementType, NumLanes, Vector, Vector, Mask}}, // jdk_internal_vm_vector_VectorSupport_binaryOp
2644
2659
{blendIntrinsicHandler, Vector, 2 , 3 , 4 , 3 , -1 , {Unknown, Unknown, ElementType, NumLanes, Vector, Vector, Vector, Unknown}}, // jdk_internal_vm_vector_VectorSupport_blend
2645
2660
{broadcastIntIntrinsicHandler, Vector, 3 , 4 , 5 , 2 , 7 , {Unknown, Unknown, Unknown, ElementType, NumLanes, Vector, Unknown, Mask}}, // jdk_internal_vm_vector_VectorSupport_broadcastInt
@@ -2664,6 +2679,7 @@ TR_VectorAPIExpansion::TR_VectorAPIExpansion(TR::OptimizationManager *manager)
2664
2679
2665
2680
2666
2681
// TODOs:
2682
+ // 1) Use getFirstOperandIndex in all handlers instead of the hardcoded numbers
2667
2683
// 4) handle OSR guards
2668
2684
// 6) make scalarization and vectorization coexist in one web
2669
2685
// 7) handle all intrinsics
0 commit comments