@@ -95,10 +95,6 @@ def : Pat<(XLenVT (sub GPR:$rs1, simm12Plus1:$imm)),
95
95
let Predicates = [IsRV64] in {
96
96
def : Pat<(i32 (sub GPR:$rs1, simm12Plus1i32:$imm)),
97
97
(ADDIW GPR:$rs1, (i64 (NegImm $imm)))>;
98
-
99
- def : Pat<(i32 (shl GPR:$rs1, (i32 GPR:$rs2))), (SLLW GPR:$rs1, GPR:$rs2)>;
100
- def : Pat<(i32 (sra GPR:$rs1, (i32 GPR:$rs2))), (SRAW GPR:$rs1, GPR:$rs2)>;
101
- def : Pat<(i32 (srl GPR:$rs1, (i32 GPR:$rs2))), (SRLW GPR:$rs1, GPR:$rs2)>;
102
98
}
103
99
104
100
// Ptr type used in patterns with GlobalISelEmitter
@@ -195,9 +191,9 @@ def : PatGprGpr<sub, SUBW, i32, i32>;
195
191
def : PatGprGpr<and, AND, i32, i32>;
196
192
def : PatGprGpr<or, OR, i32, i32>;
197
193
def : PatGprGpr<xor, XOR, i32, i32>;
198
- def : PatGprGpr<shiftopw< shl> , SLLW, i32, i64 >;
199
- def : PatGprGpr<shiftopw< srl> , SRLW, i32, i64 >;
200
- def : PatGprGpr<shiftopw< sra> , SRAW, i32, i64 >;
194
+ def : PatGprGpr<shl, SLLW, i32, i32 >;
195
+ def : PatGprGpr<srl, SRLW, i32, i32 >;
196
+ def : PatGprGpr<sra, SRAW, i32, i32 >;
201
197
202
198
def : Pat<(i32 (add GPR:$rs1, simm12i32:$imm)),
203
199
(ADDIW GPR:$rs1, (i64 (as_i64imm $imm)))>;
0 commit comments