freebsd-dev/contrib/llvm-project/llvm
Dimitry Andric 881fc20356 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
2023-07-16 20:45:29 +02:00
..
include Merge llvm-project release/16.x llvmorg-16.0.5-0-g185b81e034ba 2023-06-22 20:22:50 +02:00
lib Merge commit 8757ce490130 from llvm-project (by Simon Pilgrim): 2023-07-16 20:45:29 +02:00
tools Merge llvm-project release/16.x llvmorg-16.0.5-0-g185b81e034ba 2023-06-22 20:22:50 +02:00
utils Merge llvm-project main llvmorg-16-init-18548-gb0daacf58f41 2023-06-22 20:20:56 +02:00
LICENSE.TXT