<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">