OSDN Git Service

Experimental re-land of [X86][BMI1] X86DAGToDAGISel: select BEXTR from x << (32 ...
authorRoman Lebedev <lebedev.ri@gmail.com>
Tue, 23 Oct 2018 13:19:31 +0000 (13:19 +0000)
committerRoman Lebedev <lebedev.ri@gmail.com>
Tue, 23 Oct 2018 13:19:31 +0000 (13:19 +0000)
commit778349e2df2b2102a60d1a5c88f6f4f83328e7c6
tree0ca7971a4ed1a27c757a0921c13c0de61d4a8e3e
parentbd0ecc17b7973c223ee95a0a328b02767db32ba4
Experimental re-land of [X86][BMI1] X86DAGToDAGISel: select BEXTR from x << (32 - y) >> (32 - y) pattern

This initially landed in rL345014, but was reverted in rL345017
due to sanitizer-x86_64-linux-fast buildbot failure in
check-lld (ELF/relocatable-versioned.s) test.

While i'm not yet quite sure what is the problem, one obvious
thing here is that extra truncation roundtrip.
Maybe that's it? If not, will re-revert.

Differential Revision: https://reviews.llvm.org/D53521

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@345027 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/X86/X86ISelDAGToDAG.cpp
lib/Target/X86/X86InstrInfo.td
test/CodeGen/X86/extract-bits.ll
test/CodeGen/X86/extract-lowbits.ll