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

    <tr>
        <th>Summary</th>
        <td>
            Problem with i128 constant during isel
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            backend:SystemZ
      </td>
    </tr>

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

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

<pre>
    ```
@a = external dso_local local_unnamed_addr global i64, align 8
@b = external dso_local local_unnamed_addr global i32, align 4

declare dso_local i64 @c() local_unnamed_addr #0

define dso_local void @e() local_unnamed_addr #0 {
  %1 = tail call i64 @c()
  %2 = sext i64 %1 to i128
  %3 = xor i128 %2, 17440380254424117642
  %4 = icmp slt i128 %3, 10
  %5 = zext i1 %4 to i32
  store i32 %5, ptr @b, align 4
  ret void
}
```

llc -mtriple=s390x-linux-gnu -mcpu=z13 ./tc_const.ll -o -
llc: /home/jonas/llvm-project/llvm/include/llvm/ADT/APInt.h:1510: int64_t llvm::APInt::getSExtValue() const: Assertion `getSignificantBits() <= 64 && "Too many bits for int64_t"' failed.

SelectCode(Node); //called on:
t13: i128 = xor t11, Constant:i128<17440380254424117642>


</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJycVMuO4zYQ_Brq0rDBlx4-6OCx10ByCAaYRQ65GJRIy9xQpCG2dj379QFpZUaZDHIIYLRluarUXV2iitEO3piWlE-E8_mHsYPymnBOymOhZryGqf01-OcYg2dFF_RrSyq6fOiR0D2RVAERRzB3NJNXDnQMZxd65SDX8-y9Go0-K60nGFzolANbScIPoJwdPDRvSt3_UBL8XUkuSrlq0zs1mZWKrSQQSXvCG8J3n4kSLug_NS7WryW-B6uThvlvDSD100MBgPCS5blQWQe9ch8bWQF5BkZzxwcmUTGAZbxZoURG3cOU_8i85AGrpaSiobyUkkvG6kryFUtmlu3HG0SHb1SRqXQFLDPwZ26CPZipB_EmFjFMJt3I6MS_4ZQG6v61CoDJYHZtsbU-LhcfYpSrcz1sRpzszRkijlHs6H3jrJ_vm8HPsBn720zE8ScTsCX8hP25Dz7i1jnYBNi8iRCxB8JP1zAawk_fgleR8JNz38fNbQrfTI_LT8JP1vdu1ub9xv74NdXnXzxur0TsWcloErQeK3lGyDCxJ2KfMY_LweDLlzv-rtz8dzRya4m4j9FMaIMHUtEEtIO3F9srj08W4wIn4pBsz1uvCK-AcP41BBiVf4XOYoRLWvijifSG8houyjqjt2sLX4wzPR5Cmqj5LX_tiHhKdhB-SukzGoJPXWc8MpGHy2lYUoWMpUUe0gAqT5gDKA6fJkx8WT-_0K3QO7FThWlZTXldiqrixbVlWlW6u4iGqbreMdrx7iKMlNXFGKm0LGzLKReMs4rtaC3ZlpZa0FpT3qim5M0lvXajsm6bNrAN01DYGGfT1mXNaOFUZ1xcTrJO9X8ar4nYv7xGNOMfy5E2tTkE3TxEIqmzEeO7Glp0pn2eQufMCD8sXh-29IsPoOfJ-gFsNK6YJ9deEW8xOZm9HSxe527bh_E9Sx8il_tNUcwt_xUAAP__eHqX5g">