[PATCH] D74304: [VE] Bit operator isel

Matt Arsenault via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Feb 10 06:39:14 PST 2020


arsenm added inline comments.


================
Comment at: llvm/lib/Target/VE/VEInstrInfo.td:1475-1480
+def : Pat<(i32 (ctpop i32:$src)),
+          (EXTRACT_SUBREG (PCNTr (ANDrm0 (INSERT_SUBREG
+            (i64 (IMPLICIT_DEF)), $src, sub_i32), 32)), sub_i32)>;
+def : Pat<(i32 (bitreverse i32:$src)),
+          (EXTRACT_SUBREG (SRLri (BRVr (INSERT_SUBREG
+            (i64 (IMPLICIT_DEF)), $src, sub_i32)), 32), sub_i32)>;
----------------
This looks to me like you're manually promoting from i32 to i64? You can just set these as promote


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D74304





More information about the llvm-commits mailing list