@@ -336,8 +336,8 @@ void applyExtAddvToUdotAddv(MachineInstr &MI, MachineRegisterInfo &MRI,
336
336
SmallVector<Register, 4 > Ext1UnmergeReg;
337
337
SmallVector<Register, 4 > Ext2UnmergeReg;
338
338
if (SrcTy.getNumElements () % 16 != 0 ) {
339
- SmallVector<Register, 1 > Leftover1;
340
- SmallVector<Register, 1 > Leftover2;
339
+ SmallVector<Register> Leftover1;
340
+ SmallVector<Register> Leftover2;
341
341
342
342
// Split the elements into v16i8 and v8i8
343
343
LLT MainTy = LLT::fixed_vector (16 , 8 );
@@ -352,20 +352,19 @@ void applyExtAddvToUdotAddv(MachineInstr &MI, MachineRegisterInfo &MRI,
352
352
}
353
353
354
354
// Pad the leftover v8i8 vector with register of 0s of type v8i8
355
- MachineInstr *v8Zeroes =
356
- Builder.buildConstant (LLT::fixed_vector (8 , 8 ), 0 );
357
- Leftover1.push_back (v8Zeroes->getOperand (0 ).getReg ());
358
- Leftover2.push_back (v8Zeroes->getOperand (0 ).getReg ());
355
+ Register v8Zeroes = Builder.buildConstant (LLT::fixed_vector (8 , 8 ), 0 )
356
+ ->getOperand (0 )
357
+ .getReg ();
359
358
360
359
Ext1UnmergeReg.push_back (
361
360
Builder
362
361
.buildMergeLikeInstr (LLT::fixed_vector (16 , 8 ),
363
- {Leftover1[0 ], Leftover1[ 1 ] })
362
+ {Leftover1[0 ], v8Zeroes })
364
363
.getReg (0 ));
365
364
Ext2UnmergeReg.push_back (
366
365
Builder
367
366
.buildMergeLikeInstr (LLT::fixed_vector (16 , 8 ),
368
- {Leftover2[0 ], Leftover2[ 1 ] })
367
+ {Leftover2[0 ], v8Zeroes })
369
368
.getReg (0 ));
370
369
371
370
} else {
0 commit comments