[PATCH] D34300: [AMDGPU] simplify add x, *ext (setcc) => addc|subb x, 0, setcc

Stanislav Mekhanoshin via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Jun 20 11:08:13 PDT 2017


rampitec added a comment.

In https://reviews.llvm.org/D34300#784879, @rampitec wrote:

> > In https://reviews.llvm.org/D34300#784872, @arsenm wrote:
> > 
> >> I think the right one is    ADDCARRY, SUBCARRY:
> >>
> >> The use of this opcode is preferable to adde/sube if the
> >>
> >>   /// target supports it, as the carry is a regular value rather than a
> >>   /// glue, which allows further optimisation.
> > 
> > 
> > It seems to be so new that I do not even see a def for them in TargTargetSelectionDAG.td. Am I missing something?
>
> They do not look like normal nodes. They would require custom select I guess.


Looks like I can base AMDGPUadde and AMDGPUsube on these ISD opcodes instead of AMDGPUISD though. That way we will have selection working.


Repository:
  rL LLVM

https://reviews.llvm.org/D34300





More information about the llvm-commits mailing list