Files
clang-p2996/llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
Simon Pilgrim aefd2572a5 [DAG][X86] expandABD - add branchless abds/abdu expansion for 0/-1 comparison result cases (#92780)
If the comparison results are allbits masks, we can expand as `abd(lhs, rhs) -> sub(cmpgt(lhs, rhs), xor(sub(lhs, rhs), cmpgt(lhs, rhs)))`, replacing a sub+sub+select pattern with the simpler sub+xor+sub pattern.

This allows us to remove a lot of X86 specific legalization code, and will be useful in future generic expansion for the legalization work in #92576

Alive2: https://alive2.llvm.org/ce/z/sj863C
2024-05-23 11:07:35 +01:00

454 KiB