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