[PATCH] D48491: [X86] Select BEXTR when there is only BMI1.

Roman Lebedev via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sun Jun 24 23:26:05 PDT 2018


lebedev.ri added a comment.

In https://reviews.llvm.org/D48491#1141822, @craig.topper wrote:

> Matching multiple nodes in isel patterns without one use checks and then emitting multiple instructions for the pattern seems like dangerous territory. Is there more canonicalizing we should be doing in DAG combines to get these sequences into a form we can handle in isel?




  ; Patterns:
  ;   a) x &  (1 << nbits) - 1
  ;   b) x & ~(-1 << nbits)
  ;   c) x &  (-1 >> (32 - y))
  ;   d) x << (32 - y) >> (32 - y)

We do canonicalize `a` -> `b` and `d` -> `c` in instcombine.
We could do the same in dagcombine.


Repository:
  rL LLVM

https://reviews.llvm.org/D48491





More information about the llvm-commits mailing list