[PATCH] D89956: [AArch64] Redundant masks in downcast long multiply

Dave Green via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Oct 26 08:32:03 PDT 2020


dmgreen added a comment.

Something like https://godbolt.org/z/q376ob maybe?



================
Comment at: llvm/lib/Target/AArch64/AArch64InstrInfo.td:1478
+          (SMADDLrrr (EXTRACT_SUBREG $Rn, sub_32), (EXTRACT_SUBREG $Rm, sub_32), XZR)>;
+def : Pat<(i64 (mul (sext_inreg GPR64:$Rn, i32), (sext GPR64:$Rm))),
+          (SMADDLrrr (EXTRACT_SUBREG $Rn, sub_32), (EXTRACT_SUBREG $Rm, sub_32), XZR)>;
----------------
GPR32 I think, for the sext input. And then the output can use the GPR32 directly. Like the SMADDLrrr pattern below.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D89956/new/

https://reviews.llvm.org/D89956



More information about the llvm-commits mailing list