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

    <tr>
        <th>Summary</th>
        <td>
            LLVM 14 Regression: Bad `fptoui` result when targeting `x86_64-windows-gnu`
        </td>
    </tr>

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

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

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

<pre>
    Bad float to int conversion when targeting `x86_64-windows-gnu`:

```llvm
; ModuleID = 'test'
source_filename = "test"
target datalayout = "e-m:w-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-windows-gnu"

; Function Attrs: nobuiltin nounwind uwtable
define external fastcc i16 @"wWinMainCRTStartup"() unnamed_addr #1 {
Entry:
  %x = alloca double, align 8
  store double 152314000000000000407048814592.0, double* %x, align 8
  %0 = load double, double* %x, align 8
  %1 = fptoui double %0 to i128
  %2 = icmp ne i128 %1, 152314000000000000407048814592
  %3 = zext i1 %2 to i32
  call void @ExitProcess(i32 %3)
  unreachable
}

; Function Attrs: nobuiltin noreturn nounwind uwtable
declare void @ExitProcess(i32 %0) #2
```

This exits with 0 in LLVM 13.0.1, but returns 1 with LLVM 14.0.5 and trunk.

(Note that `152314000000000000407048814592` is exactly representable in both `f64` and `u128`)
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyVVNuO2zYQ_Rr5hbAhUVc_6GE3mwUKZIsiCZrHBUVSMluaFMjhat2v75Cy9hK0aWrIEi9nzhzODGew4tLfMkFGbRkQsEQZINyaJ-m8soYsJ2kIMDdJUGYiWZM_d81jU-0XZYRd_H4yARez8ibL77J8e-NKerR-Ol-XylvyYEXQ8pc7kpX4py1ID_hZAd4Gx-XjqLQ07CyvGLpi6IpZhRDBgGl2sQE2lNyfUcKyn2kbtZQ0veK0eD-No6ZKr73aBmMXjQra7U0XB81mg3tfcPl7_-DUrF8UXgMSzJ_GLuZdYDa71xDcB8MhBvYGwHl0QYwdgtIYXRwFE61JWIANWq5WQo7KSCKfQTrDNBmZB86JKhqSVTm6WL4p88CU-fD56xcUCGGOfqPqIwkmxlI8MiEcai0LkrW3K-9HA-7ykjeCu_VzOhLT2nJGhA1RA_2AC2oypNuAHqyT121S1Eha5W9-Vd7mVdcVVX2khzzab0w3ycc_MOJynlxjEYo3jn_GsEiG4ww2qE1U4ou1HHP3CqUJqvh5JhjQuJkIIu-Pj_GGo0wcf2E2kGAljY7KFwzH8JEnq0TMzsdnBb85y6X3mBBEJQpMzIYOxknGT6_Zztq7_1cyTkJw_147XDNM1g_15LFQsDbod3f3rY6vJ-WxBBV4sig4kRz7BPn06fcHUpSH_JBiOOB1XNV4UqywFVEhoiYMxYHDW3J4d0Da_WpBEjhh-0Gn_5GIBh1HIYyDvqC32UkvTTpxVDRYdIqgEW82QqNL_IZYBk085k70pTiWR7YDBVr2V33ks5yQKDa8GN7YDyNJqqnIg3tBw8_2wl1wuj8BzDFXGb3HZ8JghOHA7RknqSeun_3s7B-SY4O7V94HiVm5r5uqKXanvhV0FOzIOtaMR8lZIWnVtZ2oZT1Q3tGdZoPUvs_qW7zvRi4kUcS7X9_tVE9zSvO2yPMib2l9GHDW8EbUgpfHUhZYDfLMlD5EHQfrpp3rk6QhTB43tfLgXzcZRmcyUiZ3yM8CnKzrwc4WK0zBZZe890n934uA1r0">