[all-commits] [llvm/llvm-project] 8757ce: [PowerPC] Replace PPCISD::VABSD cases with generic...

Simon Pilgrim via All-commits all-commits at lists.llvm.org
Sat Feb 25 12:17:37 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 8757ce490130c2b2862017ab705a9ff24b10033b
      https://github.com/llvm/llvm-project/commit/8757ce490130c2b2862017ab705a9ff24b10033b
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2023-02-25 (Sat, 25 Feb 2023)

  Changed paths:
    M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
    M llvm/lib/Target/PowerPC/PPCISelLowering.h
    M llvm/lib/Target/PowerPC/PPCInstrVSX.td

  Log Message:
  -----------
  [PowerPC] Replace PPCISD::VABSD cases with generic ISD::ABDU(X,Y) node

A move towards using the generic ISD::ABDU nodes on more backends

Also support ISD::ABDS for v4i32 types using the existing signbit flip trick

PowerPC has a select(icmp_ugt(x,y),sub(x,y),sub(y,x)) -> abdu(x,y) combine that I intend to move to DAGCombiner in a future patch.

The ABS(SUB(X,Y)) -> PPCISD::VABSD(X,Y,1) v4i32 combine wasn't legal (https://alive2.llvm.org/ce/z/jc2hLU) - so I've removed it, having already added the legal sub nsw tests equivalent.

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




More information about the All-commits mailing list