<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/147635>147635</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
AMDGPU select splitting combines need to ensure condition is not undef
</td>
</tr>
<tr>
<th>Labels</th>
<td>
backend:AMDGPU
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
arsenm
</td>
</tr>
</table>
<pre>
AMDGPU has various transformations that break up 64-bit operations into 32-bit pieces, many of which appear to be unsafe with undef. e.g. select splitting: https://alive2.llvm.org/ce/z/b5gN6V
[This needs to insert a freeze.](https://github.com/llvm/llvm-project/blob/a8280c4be4cec474eea839bf4caf91b0d071d45b/llvm/lib/Target/AMDGPU/SIISelLowering.cpp#L11076)
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJyUkk1r3TwQhX-NvBli5PH3woubN_glkJZC0u5H8thWY0tGkm9Ifn3xzU2_dgWDkQTnzJzzUAhmssydKG9FeZfQHmfnO_KB7ZooN7x2p093_3_5CjMFOJM3bg8QPdkwOr9SNM4GiDNFUJ7pGfYNquJGmQhuY399NzY6yPFyvRnWHAT-ByvZV3AjvMxGz0DbxuQhOlAMuw00MryYOMNuBx5T4HRKIfDCOkLYFhOjsZPITzDHuAWRnwT2AntazJkxXZbzmjo_Cew1C-zfBPaqnD5X34Q8HV95-zSbAJZ5CIepsYF9BILRM79xKso7gc2f2pOJ865S7VaB_eFw_d1s3n1nHQ-PxaljigYbqQvFhWZd1AUzNXmrxkLT2GZKDrLOhqJUv-mY4_BEfuJD5z10gf3j_f0jLw_uhb2xU6q3TWD-kGWyrgS2Qp6SocuHNm8p4S6rS5RYS6yTuctbGjjnImuzSmnKmXJZVcNQl3VbVzQmpkOJpaxlKzGTWKdjI8sBqSnGghqkRhSSVzLLzzQTE8LOXVbUVV4mCylewoUcREX6me0g8tPH6Hjw5LtLQGqfgijkYkIMv9SiiQt_8PV3taDdqozl946OitiG3TNoZwdzcAVHfy6-A5Lsfun-ua7LPkFgf13p3OGPAAAA__9KkP4g">