[PATCH] D53275: [Power9] Exploit power9 new instruction setb

Kewen Lin via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Oct 15 02:39:56 PDT 2018


jedilyn created this revision.
jedilyn added reviewers: hfinkel, nemanjai.
Herald added a subscriber: jsji.

  ; Function Attrs: norecurse nounwind readnone
  define i64 @_Z4setbxx(i64, i64) local_unnamed_addr #0 {
    %3 = icmp slt i64 %0, %1
    %4 = icmp ne i64 %0, %1
    %5 = zext i1 %4 to i64
    %6 = select i1 %3, i64 -1, i64 %5
    ret i64 %6
  }

Current seq: (11 cycs)

  xor 6, 3, 4
  li 5, -1
  addic 7, 6, -1
  cmpd    3, 4
  subfe 6, 7, 6
  isel 3, 5, 6, 0
  blr

Expected seq: (8 cycs)

  cmpd    3, 4
  setb 3, 0
  blr


Repository:
  rL LLVM

https://reviews.llvm.org/D53275

Files:
  llvm/lib/Target/PowerPC/P9InstrResources.td
  llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp
  llvm/lib/Target/PowerPC/PPCInstr64Bit.td
  llvm/lib/Target/PowerPC/PPCInstrInfo.cpp
  llvm/test/CodeGen/PowerPC/ppc64-P9-setb.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D53275.169664.patch
Type: text/x-patch
Size: 36246 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20181015/5dbcd7c3/attachment.bin>


More information about the llvm-commits mailing list