@@ -60,40 +60,71 @@ def BigInst : RVInst<1, [AsmPred1]>;
6060def SmallInst1 : RVInst16<1, []>;
6161def : CompressPat<(BigInst Regs:$r), (SmallInst1 Regs:$r), [AsmPred1]>;
6262// COMPRESS: if (STI.getFeatureBits()[arch::AsmCond1] &&
63- // COMPRESS-NEXT: ( MI.getOperand(0).isReg() ) &&
64- // COMPRESS-NEXT: ( archMCRegisterClasses[arch::RegsRegClassID].contains(MI.getOperand(0).getReg() ))) {
63+ // COMPRESS-NEXT: MI.getOperand(0).isReg() &&
64+ // COMPRESS-NEXT: archMCRegisterClasses[arch::RegsRegClassID].contains(MI.getOperand(0).getReg())) {
6565// COMPRESS-NEXT: // SmallInst1 $r
6666
6767def SmallInst2 : RVInst16<2, []>;
6868def : CompressPat<(BigInst Regs:$r), (SmallInst2 Regs:$r), [AsmPred2]>;
6969// COMPRESS: if (STI.getFeatureBits()[arch::AsmCond2a] &&
7070// COMPRESS-NEXT: STI.getFeatureBits()[arch::AsmCond2b] &&
71- // COMPRESS-NEXT: ( MI.getOperand(0).isReg() ) &&
72- // COMPRESS-NEXT: ( archMCRegisterClasses[arch::RegsRegClassID].contains(MI.getOperand(0).getReg() ))) {
71+ // COMPRESS-NEXT: MI.getOperand(0).isReg() &&
72+ // COMPRESS-NEXT: archMCRegisterClasses[arch::RegsRegClassID].contains(MI.getOperand(0).getReg())) {
7373// COMPRESS-NEXT: // SmallInst2 $r
7474
7575def SmallInst3 : RVInst16<2, []>;
7676def : CompressPat<(BigInst Regs:$r), (SmallInst3 Regs:$r), [AsmPred3]>;
7777// COMPRESS: if ((STI.getFeatureBits()[arch::AsmCond3a] || STI.getFeatureBits()[arch::AsmCond3b]) &&
78- // COMPRESS-NEXT: ( MI.getOperand(0).isReg() ) &&
79- // COMPRESS-NEXT: ( archMCRegisterClasses[arch::RegsRegClassID].contains(MI.getOperand(0).getReg() ))) {
78+ // COMPRESS-NEXT: MI.getOperand(0).isReg() &&
79+ // COMPRESS-NEXT: archMCRegisterClasses[arch::RegsRegClassID].contains(MI.getOperand(0).getReg())) {
8080// COMPRESS-NEXT: // SmallInst3 $r
8181
8282def SmallInst4 : RVInst16<2, []>;
8383def : CompressPat<(BigInst Regs:$r), (SmallInst4 Regs:$r), [AsmPred1, AsmPred2]>;
8484// COMPRESS: if (STI.getFeatureBits()[arch::AsmCond1] &&
8585// COMPRESS-NEXT: STI.getFeatureBits()[arch::AsmCond2a] &&
8686// COMPRESS-NEXT: STI.getFeatureBits()[arch::AsmCond2b] &&
87- // COMPRESS-NEXT: ( MI.getOperand(0).isReg() ) &&
88- // COMPRESS-NEXT: ( archMCRegisterClasses[arch::RegsRegClassID].contains(MI.getOperand(0).getReg() ))) {
87+ // COMPRESS-NEXT: MI.getOperand(0).isReg() &&
88+ // COMPRESS-NEXT: archMCRegisterClasses[arch::RegsRegClassID].contains(MI.getOperand(0).getReg())) {
8989// COMPRESS-NEXT: // SmallInst4 $r
9090
9191def SmallInst5 : RVInst16<2, []>;
9292def : CompressPat<(BigInst Regs:$r), (SmallInst5 Regs:$r), [AsmPred1, AsmPred3]>;
9393// COMPRESS: if (STI.getFeatureBits()[arch::AsmCond1] &&
9494// COMPRESS-NEXT: (STI.getFeatureBits()[arch::AsmCond3a] || STI.getFeatureBits()[arch::AsmCond3b]) &&
95- // COMPRESS-NEXT: ( MI.getOperand(0).isReg() ) &&
96- // COMPRESS-NEXT: ( archMCRegisterClasses[arch::RegsRegClassID].contains(MI.getOperand(0).getReg() ))) {
95+ // COMPRESS-NEXT: MI.getOperand(0).isReg() &&
96+ // COMPRESS-NEXT: archMCRegisterClasses[arch::RegsRegClassID].contains(MI.getOperand(0).getReg())) {
9797// COMPRESS-NEXT: // SmallInst5 $r
9898
9999// COMPRESS-LABEL: static bool uncompressInst
100+
101+ // COMPRESS-LABEL: static bool isCompressibleInst
102+
103+ // COMPRESS: if (STI.getFeatureBits()[arch::AsmCond1] &&
104+ // COMPRESS-NEXT: MI.getOperand(0).isReg() && MI.getOperand(0).getReg().isPhysical() &&
105+ // COMPRESS-NEXT: archMCRegisterClasses[arch::RegsRegClassID].contains(MI.getOperand(0).getReg())) {
106+ // COMPRESS-NEXT: // SmallInst1 $r
107+
108+ // COMPRESS: if (STI.getFeatureBits()[arch::AsmCond2a] &&
109+ // COMPRESS-NEXT: STI.getFeatureBits()[arch::AsmCond2b] &&
110+ // COMPRESS-NEXT: MI.getOperand(0).isReg() && MI.getOperand(0).getReg().isPhysical() &&
111+ // COMPRESS-NEXT: archMCRegisterClasses[arch::RegsRegClassID].contains(MI.getOperand(0).getReg())) {
112+ // COMPRESS-NEXT: // SmallInst2 $r
113+
114+ // COMPRESS: if ((STI.getFeatureBits()[arch::AsmCond3a] || STI.getFeatureBits()[arch::AsmCond3b]) &&
115+ // COMPRESS-NEXT: MI.getOperand(0).isReg() && MI.getOperand(0).getReg().isPhysical() &&
116+ // COMPRESS-NEXT: archMCRegisterClasses[arch::RegsRegClassID].contains(MI.getOperand(0).getReg())) {
117+ // COMPRESS-NEXT: // SmallInst3 $r
118+
119+ // COMPRESS: if (STI.getFeatureBits()[arch::AsmCond1] &&
120+ // COMPRESS-NEXT: STI.getFeatureBits()[arch::AsmCond2a] &&
121+ // COMPRESS-NEXT: STI.getFeatureBits()[arch::AsmCond2b] &&
122+ // COMPRESS-NEXT: MI.getOperand(0).isReg() && MI.getOperand(0).getReg().isPhysical() &&
123+ // COMPRESS-NEXT: archMCRegisterClasses[arch::RegsRegClassID].contains(MI.getOperand(0).getReg())) {
124+ // COMPRESS-NEXT: // SmallInst4 $r
125+
126+ // COMPRESS: if (STI.getFeatureBits()[arch::AsmCond1] &&
127+ // COMPRESS-NEXT: (STI.getFeatureBits()[arch::AsmCond3a] || STI.getFeatureBits()[arch::AsmCond3b]) &&
128+ // COMPRESS-NEXT: MI.getOperand(0).isReg() && MI.getOperand(0).getReg().isPhysical() &&
129+ // COMPRESS-NEXT: archMCRegisterClasses[arch::RegsRegClassID].contains(MI.getOperand(0).getReg())) {
130+ // COMPRESS-NEXT: // SmallInst5 $r
0 commit comments