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

    <tr>
        <th>Summary</th>
        <td>
            Incorrect bitcast result for half-precision float on AArch64
        </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>
    ```llvm
; Function Attrs: nobuiltin nounwind
define external fastcc i1 @"_start"() unnamed_addr {
Entry:
  %0 = bitcast half 0xH7C01 to i16
  %1 = icmp ne i16 31745, %0
  %2 = zext i1 %1 to i64
  call i64 asm sideeffect "svc #0", "={x0},{x8},{x0},~{memory},~{cc}"(i64 94, i64 %2)
  unreachable
}
```

This program should always return 0, but it returns 1 if compiled with `llc -O0`:

```
$ llc test.ll -o test.o -filetype=obj -mtriple=aarch64-linux-none -O2
$ ld.lld test.o -o test -m aarch64linux && qemu-aarch64 ./test
$ echo $?
0
$ llc test.ll -o test.o -filetype=obj -mtriple=aarch64-linux-none -O0
$ ld.lld test.o -o test -m aarch64linux && qemu-aarch64 ./test
$ echo $?
1
```


</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJy9VEuP2yAQ_jXkMnKE8Ss5-LBPtae99L7CgGNWGFLAm6S_vgNOdvdQ9VRVQva8-OZjhmFw8tKTlq7LmPeZ0EdC70h1D8-LFVE7C3cx-kCqO7BuWLSJ2qK02JO2co2WatRWgTpH5S03MPIQhQBdAqkpYew1RO4jCoTtCNvDYi2flXzlUnog3f2K8mSjv2CaVQMgrKFAqkcYdBSICBM3I9Dzt-6BlhAd4rdfYsscq8V8BOSCPqjKrm4Ie8hIXyJZjvyFdDPFtDWhtfUtRnBjkg48zBC0VGoclYgYysK7wF9F82ESMkMsPMKZku4RLUncfYof1ifUZjU7POEXixBZS3VJ6fZ1wkxSYomVuhFarFdcTHww6tof3LYKt95d1fz9MekAR-8OniP_yS1GAjcnfgngVVy8BZoSDQsWIF5NAUrQIwg3H7VREk46TpDvhIDiJWe4tebPmVkNKTaqELdYvsKtooNiRMB4OSqslBveoJij10eTVM69mNq6MNou58I6bFzxwr4ASoSSH0ArJALAdWPeh8VqccFPNS_F1QFbwp5T8CeWEpPD0JpUz6vxnxOn_4l4-ZfWb2RfyX2155uoo1H9dyuc9-ny3qbIq7CYCKPzeaCKI3p1SHM-GscjpIG_y1w2izf9FOMxDT_SwnXAW7EMW7wlqOTnYv0hinvDLKjqEBYVUGjauqk3U78rpVRDN-5qTqXcNU07iBENu6YcRtVVG8MHZUJPmnscBatOkCHSWDSPG90zyhjt6L7sGlqxLe8Ea-m4K9umHga-wydGzVybbeKxdf6w8X2mNCyHgE6jQwyfTh6CPlilcjrE50ucnO-jOzrDvY6XTc7eZ_a_ATOogic">