[PATCH] D60462: [TargetLowering][AMDGPU][X86] Improve SimplifyDemandedBits bitcast handling

Simon Pilgrim via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Apr 9 06:39:54 PDT 2019


RKSimon created this revision.
RKSimon added reviewers: arsenm, craig.topper, spatel.
Herald added subscribers: t-tye, tpr, dstuttard, yaxunl, nhaehnle, wdng, jvesely, kzhuravl.
Herald added a project: LLVM.

This patch adds support for BigBitWidth -> SmallBitWidth bitcasts, splitting the DemandedBits/Elts accordingly.

Re: the AMDGPU regression - @arsenm it looks there isn't much that generates BFE U32/S32 nodes in the DAG its mostly done in ISEL - in this case we need to match srl(and(shl(x,c1),c2),c1) - is this something that needs fixing first or are you OK with this change for now?

The X86 changes are all definite wins.


Repository:
  rL LLVM

https://reviews.llvm.org/D60462

Files:
  lib/CodeGen/SelectionDAG/TargetLowering.cpp
  test/CodeGen/AMDGPU/store-weird-sizes.ll
  test/CodeGen/X86/bitcast-setcc-256.ll
  test/CodeGen/X86/dagcombine-cse.ll
  test/CodeGen/X86/masked_store.ll
  test/CodeGen/X86/movmsk-cmp.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D60462.194306.patch
Type: text/x-patch
Size: 13954 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190409/889027b4/attachment.bin>


More information about the llvm-commits mailing list