[PATCH] D59758: [DAGCombiner] Combine OR as ADD when no common bits are set

Sanjay Patel via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Mar 26 11:36:59 PDT 2019


spatel added a comment.

In D59758#1443074 <https://reviews.llvm.org/D59758#1443074>, @bjope wrote:

> In D59758#1442959 <https://reviews.llvm.org/D59758#1442959>, @spatel wrote:
>
> > In D59758#1441124 <https://reviews.llvm.org/D59758#1441124>, @bjope wrote:
> >
> > > Hello reviewers! Do you think this is a good idea?
> >
> >
> > It's an interesting idea. :)
> >
> > > I've mostly seen improvements for our OOT target when doing this, but for example llvm/test/CodeGen/X86/split-store.ll also exposes a case when we trigger a rewrite into using SUB.
> >
> > Yes, we'd classify that as a slight regression for x86.
>
>
> Isn't split-store.ll showing an improvement (we get one subb instead of andb+orb)?


Yes - sorry, I reversed that with signbit-shift.ll. So we would call signbit-shift.ll a slight regression because of the extra mov instruction. We are probably missing a generic combine. Might be similar to the hexagon diff?

> However, signbit-shift.ll might show a regression (since we get one more instruction and use an extra register). However, I'm not that familiar with the vector instructions to understand if it really is a regression (maybe those movdqa instructions are easier to schedule, or having shorter latency or something).




Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D59758





More information about the llvm-commits mailing list