<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/54641>54641</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            [X86] Regression in conditional addition
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            new issue
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          LebedevRI
      </td>
    </tr>
</table>

<pre>
    Regressed between 10 and 11:
https://godbolt.org/z/3YErhsMPj

Instead of performing the addition speculatively, and then selecting whether or not we should have performed it,
we instead select between the potential difference, and always perform the addition.

While this is obviously good for IR, should we do the inverse fold in DAGCombiner?

cc @RKSimon @spatel-gh 
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJxdUsGOmzAQ_Rq4jDYCDCk5cEg33SpqK1Xpoe3RxgP2ytjINqD06zuQpN1WMnjGM_Pem7GFk9fmgr3HEFCCwLggWsgz4FZCnifsmGSnJDuqGMewesULrd5J4UzcOd-T94s-9vODV-HL19db-u1_tiEil-A6GNF3zg_a9hAVApdSR-0shBHbyfCoZzTXpHjeeCmDImiwjWvBopBOPDgP1kVYEIJyk5Gg-IwPZFKvIwHcmClH38lvOH9aW9lHF9FGzQ1I3XXo0bb44OZm4dfwQP1H7O5tb9-VNkhhHYCWE7N2UzBX6J2TQKVwvqyQd6WkR7oNTNsZfUBKoWNt4XT8-OwGoS36hL28ZWhbSMrs8umbHmhQZIaRRzRPvYJUNkwe2IGnUUeDTVK9_1Hvk-oE97tcR0vgrbM36dTqo4t08qb57zp1VJPYtW4gx5j5sT2N3r3S8MjVIUwYyKjKfZmnqslFdqgqWYjqHWN1IVmWl6WoW1ZWot3nXWq4QBNWaUlRWFxggyCbZKa6KbKiyBhVsTJj9U6WGW01P-QldgUvqV0cuDa7Vcf6zlLfbJLE1AcKGh1i-Bvk1HJvcZvEis-nqJxvPqNAifPlnG7kzSb-Nyzs-Iw">