@@ -10091,8 +10091,7 @@ SDValue TargetLowering::scalarizeVectorStore(StoreSDNode *ST,
10091
10091
SDValue CurrVal = DAG.getConstant (0 , SL, IntVT);
10092
10092
10093
10093
for (unsigned Idx = 0 ; Idx < NumElem; ++Idx) {
10094
- SDValue Elt = DAG.getNode (ISD::EXTRACT_VECTOR_ELT, SL, RegSclVT, Value,
10095
- DAG.getVectorIdxConstant (Idx, SL));
10094
+ SDValue Elt = DAG.getExtractVectorElt (SL, RegSclVT, Value, Idx);
10096
10095
SDValue Trunc = DAG.getNode (ISD::TRUNCATE, SL, MemSclVT, Elt);
10097
10096
SDValue ExtElt = DAG.getNode (ISD::ZERO_EXTEND, SL, IntVT, Trunc);
10098
10097
unsigned ShiftIntoIdx =
@@ -10116,8 +10115,7 @@ SDValue TargetLowering::scalarizeVectorStore(StoreSDNode *ST,
10116
10115
// memory individually.
10117
10116
SmallVector<SDValue, 8 > Stores;
10118
10117
for (unsigned Idx = 0 ; Idx < NumElem; ++Idx) {
10119
- SDValue Elt = DAG.getNode (ISD::EXTRACT_VECTOR_ELT, SL, RegSclVT, Value,
10120
- DAG.getVectorIdxConstant (Idx, SL));
10118
+ SDValue Elt = DAG.getExtractVectorElt (SL, RegSclVT, Value, Idx);
10121
10119
10122
10120
SDValue Ptr =
10123
10121
DAG.getObjectPtrOffset (SL, BasePtr, TypeSize::getFixed (Idx * Stride));
@@ -11840,9 +11838,7 @@ SDValue TargetLowering::expandVECTOR_COMPRESS(SDNode *Node,
11840
11838
11841
11839
unsigned NumElms = VecVT.getVectorNumElements ();
11842
11840
for (unsigned I = 0 ; I < NumElms; I++) {
11843
- SDValue Idx = DAG.getVectorIdxConstant (I, DL);
11844
-
11845
- SDValue ValI = DAG.getNode (ISD::EXTRACT_VECTOR_ELT, DL, ScalarVT, Vec, Idx);
11841
+ SDValue ValI = DAG.getExtractVectorElt (DL, ScalarVT, Vec, I);
11846
11842
SDValue OutPtr = getVectorElementPointer (DAG, StackPtr, VecVT, OutPos);
11847
11843
Chain = DAG.getStore (
11848
11844
Chain, DL, ValI, OutPtr,
@@ -11851,8 +11847,8 @@ SDValue TargetLowering::expandVECTOR_COMPRESS(SDNode *Node,
11851
11847
// Get the mask value and add it to the current output position. This
11852
11848
// either increments by 1 if MaskI is true or adds 0 otherwise.
11853
11849
// Freeze in case we have poison/undef mask entries.
11854
- SDValue MaskI = DAG. getFreeze (
11855
- DAG.getNode (ISD::EXTRACT_VECTOR_ELT, DL, MaskScalarVT, Mask, Idx ));
11850
+ SDValue MaskI =
11851
+ DAG.getFreeze (DAG. getExtractVectorElt ( DL, MaskScalarVT, Mask, I ));
11856
11852
MaskI = DAG.getFreeze (MaskI);
11857
11853
MaskI = DAG.getNode (ISD::TRUNCATE, DL, MVT::i1, MaskI);
11858
11854
MaskI = DAG.getNode (ISD::ZERO_EXTEND, DL, PositionVT, MaskI);
@@ -11910,11 +11906,8 @@ SDValue TargetLowering::expandPartialReduceMLA(SDNode *N,
11910
11906
11911
11907
// Collect all of the subvectors
11912
11908
std::deque<SDValue> Subvectors = {Acc};
11913
- for (unsigned I = 0 ; I < ScaleFactor; I++) {
11914
- auto SourceIndex = DAG.getVectorIdxConstant (I * Stride, DL);
11915
- Subvectors.push_back (
11916
- DAG.getNode (ISD::EXTRACT_SUBVECTOR, DL, AccVT, {Input, SourceIndex}));
11917
- }
11909
+ for (unsigned I = 0 ; I < ScaleFactor; I++)
11910
+ Subvectors.push_back (DAG.getExtractSubvector (DL, AccVT, Input, I * Stride));
11918
11911
11919
11912
// Flatten the subvector tree
11920
11913
while (Subvectors.size () > 1 ) {
0 commit comments