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

    <tr>
        <th>Summary</th>
        <td>
            [InstCombine] Commuted pattern is not handled
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            llvm:instcombine,
            missed-optimization
      </td>
    </tr>

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

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

<pre>
    https://godbolt.org/z/4xa1fG3a9
```
define i1 @icmp_equality_test_commute_select1(i64 %X, i64 %Y, i64 %Z) {
entry:
 %XeqZ = icmp eq i64 %X, %Z
  %YeqZ = icmp eq i64 %Y, %Z
  %XeqY = icmp eq i64 %X, %Y
  %and = select i1 %YeqZ, i1 false, i1 %XeqY
  %equal = select i1 %XeqZ, i1 %YeqZ, i1 %and
  ret i1 %equal
}

define i1 @icmp_equality_test_commute_select2(i64 %X, i64 %Y, i64 %Z) {
entry:
 %XeqZ = icmp eq i64 %X, %Z
  %YeqZ = icmp ne i64 %Y, %Z
  %XeqY = icmp eq i64 %X, %Y
  %and = select i1 %YeqZ, i1 %XeqY, i1 false
  %equal = select i1 %XeqZ, i1 %YeqZ, i1 %and
  ret i1 %equal
}
```
```
define i1 @icmp_equality_test_commute_select1(i64 %X, i64 %Y, i64 %Z) {
  %XeqY = icmp eq i64 %X, %Y
  ret i1 %XeqY
}

define i1 @icmp_equality_test_commute_select2(i64 %X, i64 %Y, i64 %Z) {
  %XeqZ = icmp eq i64 %X, %Z
  %YeqZ = icmp ne i64 %Y, %Z
  %XeqY = icmp eq i64 %X, %Y
 %and = select i1 %YeqZ, i1 %XeqY, i1 false
  %equal = select i1 %XeqZ, i1 %YeqZ, i1 %and
  ret i1 %equal
}
```
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJzMVcFuozAQ_ZrhYjUyAwQ4cKCJWO0fNL1ENp4kXhmcYNNt-vUrHKJmu9qVemi7EoIRmvdm5vHwCOf0vieqILsHROXb55fzT0CEbB2J0R_sUM0vI2nVuTp4f3SQ1IANYLO3SlrjF3bYAzYvgE36LOLdt0SUwGtY8vnitaKd7onpmEHKddsdt3QahdH-vPXk_La1XTd62joy1PoYsNDLlAFmD4ArNsebm_gRsGSQ3wOvqffDeeqJ1wFBp0cGyZpNZRid2C1TQPKaBbq_JG7eJj7QafMvxs01UfQq5F2mCNNeyoTGY7YTxtEcz7xXaJDjT_DDK_h3qku1gB7omh1IJuXz9XR_r-z4BbJP3X207Fepbz_CB8p-Y_vP-gXeoddr27P9PsUs7Ast8v86JFJVosqkFBFVcZ4seZkWZRodKk5YJGlLss1RCZELJQkRscgVFq2Uka6QY8ZjnsXLJM3SRamWbZFJmfJdgQUipJw6oc3CmKduOqAj7dxIVYxxzjEyQpJx87E_pUBS69751nZS9zRtAFwBYqedI3Vnj153-kV4bft5OwzVBLuT495Byo123r3W8tqbsFS-986vZs5szVYXCyl2FN7T0DPtWG89O4heGVLROJi3K0b7wygXre0Am9Do5XF3HOwPaj1gEwZzgM0821OFvwIAAP__S7nv-g">