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

    <tr>
        <th>Summary</th>
        <td>
            wrong folding of `select`s in slp-vectorizer
        </td>
    </tr>

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

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

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

<pre>
    Alive2 report: https://alive2.llvm.org/ce/z/jEopx9

```llvm
----------------------------------------
define i1 @logical_and_icmp_diff_preds.2(<4 x i32> %x) {
#0:
  %x0 = extractelement <4 x i32> %x, i32 0
  %x1 = extractelement <4 x i32> %x, i32 4294967295
  %x3 = extractelement <4 x i32> %x, i32 3
  %#1 = icmp ugt i32 %x0, 0
  %c1 = icmp slt i32 %x1, 0
  %c3 = icmp slt i32 %x3, 0
  %s1 = select i1 %#1, i1 %c1, i1 0
  %s2 = select i1 %s1, i1 %c3, i1 0
  %s3 = select i1 %s2, i1 %c3, i1 0
  ret i1 %s3
}
=>
define i1 @logical_and_icmp_diff_preds.2(<4 x i32> %x) {
#0:
  %x0 = extractelement <4 x i32> %x, i32 0
  %x1 = extractelement <4 x i32> %x, i32 4294967295
  %x3 = extractelement <4 x i32> %x, i32 3
  %#1 = icmp ugt i32 %x0, 0
  %c1 = icmp slt i32 %x1, 0
  %c3 = icmp slt i32 %x3, 0
  %op.rdx = select i1 %c3, i1 %c1, i1 0
  %op.rdx1 = select i1 %op.rdx, i1 %#1, i1 0
  ret i1 %op.rdx1
}
Transformation doesn't verify!

ERROR: Target is more poisonous than source

Example:
<4 x i32> %x = < #x00000000 (0), #x00000000 (0), #x00000000 (0), #xffffffff (4294967295, -1) >

Source:
i32 %x0 = #x00000000 (0)
i32 %x1 = poison
i32 %x3 = #xffffffff (4294967295, -1)
i1 %#1 = #x0 (0)
i1 %c1 = poison
i1 %c3 = #x1 (1)
i1 %s1 = #x0 (0)
i1 %s2 = #x0 (0)
i1 %s3 = #x0 (0)

Target:
i32 %x0 = #x00000000 (0)
i32 %x1 = poison
i32 %x3 = #xffffffff (4294967295, -1)
i1 %#1 = #x0 (0)
i1 %c1 = poison
i1 %c3 = #x1 (1)
i1 %op.rdx = poison
i1 %op.rdx1 = poison
Source value: #x0 (0)
Target value: poison

Summary:
  0 correct transformations
  1 incorrect transformations
  0 failed-to-prove transformations
  0 Alive2 errors
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzsVk1vqzgU_TVmYyWyr0MICxZ9TbMdqfP2lQMX4spgZJu89P36kTFNyUen82Y10jxUUeCec31sH99c6ZxqOsSCpN9Iuk3k4A_GFnvTNa9D95rsTfVWPGh1RKAWe2M9EQ_04H3viHggsCOwk2N4qfWxXRrbENiVSGD3k8Du9cn0p5ywLWEP033N4l-Ax0-Lf3hFdIW16pAqTsmKadOoUuoX2VUvqmz7l0rV9UtvsXJLILAh4nFFT1QJIOKJEkhPBHJKsm-TGBAsTGN8oWOcUSK2FE_eytKjxhY7T--leQyvlM25_Ne4K8hX-TqDPJ0nEb-WRMy4BESUEJaCDo0fEeOsAnyutZwBnf4A8huguA8U10AXMzrUWPpxe6KgUSiPY07PFzS4pbk5SdwjiTsk-DuSxTNuWjGSbacHsSXi6be5_svmMv3SVqfbTT9v9Gf2isQ71oyBD_bMqndMM6W5cs53KztXG9tKr0xHK4OuI5B5ekSr6jcCfF75np6f_3gO1fO7tE3I7GhrLNLeKGc6MzjqD7Kjzgy2xAviSba9xrOXbvdrnB4Rj5SAOLHpogQ2jEAeZvVvvtfTFb7P3ASPdMFHo78fmnj_M-p-F3k2R9R2b5wLXNyiuBaXEXHO8IWiicYv3DqOfDUkn5n0YkQ-M2UghvfNdWr3ReKpon0eF5_FJ1eN9vgfLOTsUN-S5wd3Ho02o0eph2C2e7Km83WGzOlTkqFtpX2bVWdGS2NtKA_-4lC7dwCnqvsCwmgtlcZq4c2it-aInwOnjgqtNdZdNUZJVYgqF7lMsOCZYNk655Anh0LUwDLMUlxjBZLxqkphXcq0KjkIttknqgAGK85ZyjgHli851BnWsCr5Jq9YjWTFsJVKn3u1RDk3YMH5KmdpouUetRtbQYAOf9AxSgBCZ2iLQFrsh8aF30blvPtI45XXWPywpmtobXSluoaampI1i0U3PFDVUaf7xRFLb6z6iTYZrC4ue8lG-cOwX5amJbAbW8T4Lyzoa0gEu1GUI7CbVB8L-CsAAP__egDVoQ">