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

    <tr>
        <th>Summary</th>
        <td>
            Optimize x * !x to 0 for vector
        </td>
    </tr>

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

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

    <tr>
      <th>Reporter</th>
      <td>
          k-arrows
      </td>
    </tr>
</table>

<pre>
    Consider the following test case from https://github.com/gcc-mirror/gcc/blob/master/gcc/testsuite/gcc.dg/tree-ssa/pr114009.c
```c
typedef int V __attribute__((vector_size (4 * sizeof (int))));

V qux (V x)
{
  return x * (x == 0);
}
```
Godbolt: https://godbolt.org/z/dfGacerv8
Alive2: https://alive2.llvm.org/ce/z/uijB4T
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJx8Us1u2zwQfJrVZWGDImWbOujgfIZy_C5FrgZFrWymlOiSK8fJ0xf6aYOmQAFCwsxwhovdNSm5y0BUwe4JdqfMjHwNsfq-MTGGt5Q1oX2v_gtDci1F5CthF7wPb264IFNitCYRdjH0eGW-JVBHkDXI-uL4OjZbG_oJWLvpXYwhLgBk3fjQgKx7k5g-2SkyjY5pYbbtZSIj0SYlA7K-xTwvhCi3FsQJxBH2Yjkr5vcbtdShGxhf8Hw2zNE1I9P5DFKD1HeyHOI5uQ9CkLpAkEecUOgm7AYGWX4e9bS-M39f8Mf4mK694GNSF-mw3kGMxGMc8DGHgtQPBHUCdULxR9bh9KX4BT6HtgmeQR2_tnIRtiFO3fgAWbfds7EU73pxHr27k_zbaGZ-6_29X82W1oTRvT4V37K2Um2pSpNRlR9EWe6LYqeza5XnhdHUds2ukCKX-zLPbadtIYS2VinKXCWFLIQSpdiLg9LbXdNRqdXeqq7TB2uhENQb53-_nrmURqp0sRc686Yhn-alk3KgN5xFkHLawVhNnk0zXhIUwrvE6TOFHXuq_r-x66cZ_up1_kAOKLALEZcZZ2P01T92ckpcf5tbDK9kGWQ915FA1nOdPwMAAP__wd3xAg">