[PATCH] D88834: [InstCombine] matchRotate - add support for matching general funnel shifts with constant shift amounts (PR46896)

Simon Pilgrim via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Oct 7 12:39:12 PDT 2020


RKSimon added inline comments.


================
Comment at: llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp:2107-2108
 
+    // For non-constant cases, the following patterns currently only support
+    // rotation patterns.
+    if (ShVal0 != ShVal1)
----------------
spatel wrote:
> Sorry - it's still not clear to me *why* we have this clause. Are we regressing something without this restriction, or is the expanded IR pattern with a variable shift amount different between general funnel vs. rotate?
The fold doesn't work for general funnel shifts: https://alive2.llvm.org/ce/z/L6YpuX 


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D88834



More information about the llvm-commits mailing list