Instead of trying to pattern match the code produced by ISD::ABS expansion, just custom legalize ISD::ABS to the desired sequence.
The one test change is because a DAG combine for (neg (abs)) is no longer firing because ISD::ABS is now Custom instead of Expand.
Can we just generate a SUBS (which becomes the CMP) and a CSNEG directly? That should avoid needing to create the two sub's I think.