HomeFreeBSD

Merge commit 8757ce490130 from llvm-project (by Simon Pilgrim):

Description

Merge commit 8757ce490130 from llvm-project (by Simon Pilgrim):

[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

This fixes a "Wasn't expecting to be able to lower this!" fatal error
when compiling graphics/opencv for PowerPC.

Requested by: pkubaj
PR: 271047
MFC after: 1 month

(cherry picked from commit 881fc203567e85648f2f591a75c4674be2bee0ed)

Details

Provenance
dimAuthored on Jul 16 2023, 6:45 PM
Parents
rG95955fb872c6: Merge commit fde5924dcc69 from llvm-project (by Serge Pavlov):
Branches
Unknown
Tags
Unknown