[PATCH] D52293: [X86][BMI] BEXTR: handle (X >> C1) & (C2 << C3) as ((X >> (C1 + C3)) & C2) << C3 (PR38938)

Roman Lebedev via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Sep 20 03:03:14 PDT 2018


lebedev.ri created this revision.
lebedev.ri added reviewers: RKSimon, craig.topper, spatel.

I haven't actually proved this in alive yet,
but cursory examination suggests this is the fold we are looking for.

Resolves PR38938 <https://bugs.llvm.org/show_bug.cgi?id=38938>.


Repository:
  rL LLVM

https://reviews.llvm.org/D52293

Files:
  lib/Target/X86/X86ISelDAGToDAG.cpp
  test/CodeGen/X86/bmi-x86_64.ll
  test/CodeGen/X86/extract-bits.ll
  test/CodeGen/X86/selectcc-to-shiftand.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D52293.166251.patch
Type: text/x-patch
Size: 7285 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180920/7e6b5471/attachment.bin>


More information about the llvm-commits mailing list