@@ -1400,6 +1400,18 @@ static unsigned getRegisterWidth(const MCOperandInfo &Info) {
1400
1400
llvm_unreachable (" Unknown register class!" );
1401
1401
}
1402
1402
1403
+ static unsigned getSrcIdx (const MachineInstr* MI, unsigned SrcIdx) {
1404
+ if (X86II::isKMasked (MI->getDesc ().TSFlags )) {
1405
+ // Skip mask operand.
1406
+ ++SrcIdx;
1407
+ if (X86II::isKMergeMasked (MI->getDesc ().TSFlags )) {
1408
+ // Skip passthru operand.
1409
+ ++SrcIdx;
1410
+ }
1411
+ }
1412
+ return SrcIdx;
1413
+ }
1414
+
1403
1415
static std::string getShuffleComment (const MachineInstr *MI, unsigned SrcOp1Idx,
1404
1416
unsigned SrcOp2Idx, ArrayRef<int > Mask) {
1405
1417
std::string Comment;
@@ -1749,16 +1761,7 @@ static void addConstantComments(const MachineInstr *MI,
1749
1761
case X86::VPSHUFBZrm:
1750
1762
case X86::VPSHUFBZrmk:
1751
1763
case X86::VPSHUFBZrmkz: {
1752
- unsigned SrcIdx = 1 ;
1753
- if (X86II::isKMasked (MI->getDesc ().TSFlags )) {
1754
- // Skip mask operand.
1755
- ++SrcIdx;
1756
- if (X86II::isKMergeMasked (MI->getDesc ().TSFlags )) {
1757
- // Skip passthru operand.
1758
- ++SrcIdx;
1759
- }
1760
- }
1761
-
1764
+ unsigned SrcIdx = getSrcIdx (MI, 1 );
1762
1765
if (auto *C = X86::getConstantFromPool (*MI, SrcIdx + 1 )) {
1763
1766
unsigned Width = getRegisterWidth (MI->getDesc ().operands ()[0 ]);
1764
1767
SmallVector<int , 64 > Mask;
@@ -1822,16 +1825,7 @@ static void addConstantComments(const MachineInstr *MI,
1822
1825
break ;
1823
1826
}
1824
1827
1825
- unsigned SrcIdx = 1 ;
1826
- if (X86II::isKMasked (MI->getDesc ().TSFlags )) {
1827
- // Skip mask operand.
1828
- ++SrcIdx;
1829
- if (X86II::isKMergeMasked (MI->getDesc ().TSFlags )) {
1830
- // Skip passthru operand.
1831
- ++SrcIdx;
1832
- }
1833
- }
1834
-
1828
+ unsigned SrcIdx = getSrcIdx (MI, 1 );
1835
1829
if (auto *C = X86::getConstantFromPool (*MI, SrcIdx + 1 )) {
1836
1830
unsigned Width = getRegisterWidth (MI->getDesc ().operands ()[0 ]);
1837
1831
SmallVector<int , 16 > Mask;
0 commit comments