@@ -888,22 +888,22 @@ foreach i = {1,2,3} in {
888888}
889889
890890let Predicates = [HasStdExtZbs, IsRV64] in {
891- def : Pat<(i32 (and (not (shiftop<shl> 1, (XLenVT GPR:$rs2))), GPR:$rs1)),
891+ def : Pat<(i32 (and (not (shiftop<shl> 1, (i64 GPR:$rs2))), GPR:$rs1)),
892892 (BCLR GPR:$rs1, GPR:$rs2)>;
893- def : Pat<(i32 (and (rotl -2, (XLenVT GPR:$rs2)), GPR:$rs1)),
893+ def : Pat<(i32 (and (rotl -2, (i64 GPR:$rs2)), GPR:$rs1)),
894894 (BCLR GPR:$rs1, GPR:$rs2)>;
895- def : Pat<(i32 (or (shiftop<shl> 1, (XLenVT GPR:$rs2)), GPR:$rs1)),
895+ def : Pat<(i32 (or (shiftop<shl> 1, (i64 GPR:$rs2)), GPR:$rs1)),
896896 (BSET GPR:$rs1, GPR:$rs2)>;
897- def : Pat<(i32 (xor (shiftop<shl> 1, (XLenVT GPR:$rs2)), GPR:$rs1)),
897+ def : Pat<(i32 (xor (shiftop<shl> 1, (i64 GPR:$rs2)), GPR:$rs1)),
898898 (BINV GPR:$rs1, GPR:$rs2)>;
899- def : Pat<(i32 (and (shiftop<srl> GPR:$rs1, (XLenVT GPR:$rs2)), 1)),
899+ def : Pat<(i32 (and (shiftop<srl> GPR:$rs1, (i64 GPR:$rs2)), 1)),
900900 (BEXT GPR:$rs1, GPR:$rs2)>;
901- def : Pat<(i64 (and (anyext (i32 (shiftop<srl> GPR:$rs1, (XLenVT GPR:$rs2)))), 1)),
901+ def : Pat<(i64 (and (anyext (i32 (shiftop<srl> GPR:$rs1, (i64 GPR:$rs2)))), 1)),
902902 (BEXT GPR:$rs1, GPR:$rs2)>;
903903
904- def : Pat<(i32 (shiftop<shl> 1, (XLenVT GPR:$rs2))),
904+ def : Pat<(i32 (shiftop<shl> 1, (i64 GPR:$rs2))),
905905 (BSET (XLenVT X0), GPR:$rs2)>;
906- def : Pat<(i32 (not (shiftop<shl> -1, (XLenVT GPR:$rs2)))),
906+ def : Pat<(i32 (not (shiftop<shl> -1, (i64 GPR:$rs2)))),
907907 (ADDI (BSET (XLenVT X0), GPR:$rs2), -1)>;
908908
909909def : Pat<(i32 (and (srl GPR:$rs1, uimm5:$shamt), (i32 1))),
0 commit comments