[llvm] [LoongArch] Optimize codegen for ISD::{ROTL,ROTR} (PR #91174)

via llvm-commits llvm-commits at lists.llvm.org
Mon May 6 20:35:56 PDT 2024


================
@@ -1116,12 +1115,10 @@ def : PatGprGpr<srem, MOD_D>;
 def : PatGprGpr<urem, MOD_DU>;
 def : PatGprGpr<rotr, ROTR_D>;
 def : PatGprGpr<loongarch_rotr_w, ROTR_W>;
+def : PatGprGpr_32<rotr, ROTR_W>;
 def : PatGprImm<rotr, ROTRI_D, uimm6>;
 def : PatGprImm_32<rotr, ROTRI_W, uimm5>;
-def : Pat<(loongarch_rotl_w GPR:$rj, uimm5:$imm),
-          (ROTRI_W GPR:$rj, (ImmSubFrom32 uimm5:$imm))>;
-def : Pat<(sext_inreg (loongarch_rotl_w GPR:$rj, uimm5:$imm), i32),
-          (ROTRI_W GPR:$rj, (ImmSubFrom32 uimm5:$imm))>;
+def : PatGprImm_32<loongarch_rotr_w, ROTRI_W, uimm5>;
----------------
wangleiat wrote:

def : PatGprImm<loongarch_rotr_w, ROTRI_W, uimm5>;

https://github.com/llvm/llvm-project/pull/91174


More information about the llvm-commits mailing list