]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
Merge commit 8757ce490130 from llvm-project (by Simon Pilgrim):
authorDimitry Andric <dim@FreeBSD.org>
Sun, 16 Jul 2023 18:45:29 +0000 (20:45 +0200)
committerDimitry Andric <dim@FreeBSD.org>
Sun, 16 Jul 2023 18:45:29 +0000 (20:45 +0200)
commit881fc203567e85648f2f591a75c4674be2bee0ed
tree9492cd5f9b422210844995c22fbd24003f1a6080
parent4da7282a1882fc03c99591c27d44a2e6dfda364b
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
contrib/llvm-project/llvm/lib/Target/PowerPC/PPCISelLowering.cpp
contrib/llvm-project/llvm/lib/Target/PowerPC/PPCISelLowering.h
contrib/llvm-project/llvm/lib/Target/PowerPC/PPCInstrVSX.td