[llvm] [X86] Improve transform for add-like nodes to `add` (PR #83691)

via llvm-commits llvm-commits at lists.llvm.org
Sun Mar 3 01:10:16 PST 2024


================
@@ -5294,11 +5294,26 @@ void X86DAGToDAGISel::Select(SDNode *Node) {
       return;
     if (tryVPTERNLOG(Node))
       return;
-
     [[fallthrough]];
   case ISD::ADD:
     if (Opcode == ISD::ADD && matchBitExtract(Node))
       return;
+
+    // Convert addlike to add before final selection. Do this before we drop
+    // flags like `disjoint`.
----------------
goldsteinn wrote:

You're right, I re-checked. I must have made a mistake earlier.
It doesn't seem to work though (I thought I had the reason, but now I'm stumped).
If I change it to your code 104 of the changes files revert back.
Why would that be the case?

https://github.com/llvm/llvm-project/pull/83691


More information about the llvm-commits mailing list