<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/89669>89669</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
miscompile of vector double-negation + select by InstCombine
</td>
</tr>
<tr>
<th>Labels</th>
<td>
miscompilation,
llvm:instcombine
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
regehr
</td>
</tr>
</table>
<pre>
https://alive2.llvm.org/ce/z/N1RVAr
this:
```llvm
define <4 x i32> @f(<4 x i32> %0) {
%2 = sub <4 x i32> zeroinitializer, %0
%3 = select <4 x i1> <i1 false, i1 true, i1 poison, i1 poison>, <4 x i32> %2, <4 x i32> %0
%4 = sub <4 x i32> zeroinitializer, %3
ret <4 x i32> %4
}
```
is being optimized to:
```llvm
define <4 x i32> @f(<4 x i32> %0) {
ret <4 x i32> %0
}
```
here's Alive's work about what this is wrong:
```
ERROR: Value mismatch
Example:
<4 x i32> %#0 = < #x00000001 (1), poison, poison, poison >
Source:
<4 x i32> %#2 = < #xffffffff (4294967295, -1), poison, poison, poison >
<4 x i32> %#3 = < #x00000001 (1), poison, poison, poison >
<4 x i32> %#4 = < #xffffffff (4294967295, -1), poison, poison, poison >
Target:
Source value: < #xffffffff (4294967295, -1), poison, poison, poison >
Target value: < #x00000001 (1), poison, poison, poison >
```
cc @nunoplopes @hatsunespica
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJy0VUtv4zYQ_jWjC5GAGuphHXRw4gjopQXSYu-kPJbYUqJAUkk2v76guHk5xgK72BUMmhz5m--bh4fSez3MRC2UN1AeMrmG0brW0UCjy5Q9fm3HEBYPYg_YAXbS6AfCa2MepmvrBsCuJ8DuGbD7M7__snfAD8D3aQ2j3pDJVPH0idhkOtJJz8RA3BbsiWmBIO4YFPwEuDszYskBGwb1TYKyaEIG4sD8qs5cPJOzetZBS6OfyQHeJgcJCViKBCRDfXjF5huRuNU5O0njKcJ0zoJbX7aL1d7OHw_ibnN_rhYvWvk78cUPiRcvSEfhs9_iW4rrw1mu01F7pkjPA7NL0JN-piML9rcV5qJC_n2FIzkCrD3bx_7ado_W_ceksmtgj6MMLDYT0549OjsPn8Wn4939_V_3IPbsizQrsUn7SYZ-fN-Ud09yWgy9eTiXCij4VhsQMfXiiacnZ4C7HLCJJXlrhfMdiy3xju9vu7r--3T4ge707Yl0BTZFU9XYlJHg6ofYLxCJXxPXBc_FbwlhW_-RbqDwmsCUT_YQCxwr_Ys5E9tn9z-drI8Nmta-j_-meZ3tYuxCPp5GGfw6k190L9__Nju24tiIRmbU5nUudphjXWdji5TvKlVWPK95z3shclWLptjV4lQcVa8y3SLHgheIEVLW11UpVLWr81rxQnKOUHCapDav4zzT3q_U7pqqajIjFRm_3QyIk_a9nRZtZNAx0DjfAHEbGWKvZx96Oyk9U3xVHjLXxldXah08FNxoH_wbS9DBUPvqkpg9sQfqg3XsaFdl6GqmYSNigDcvc1p9ZX_MPtwmnmx15uxuGnQYV3Xd2wmw25Slr6vF2X-pD4DdFp8H7LYQ_w8AAP__AE_qEQ">