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

    <tr>
        <th>Summary</th>
        <td>
            preserve_most on x86-64 functions clobber flags
        </td>
    </tr>

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

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

    <tr>
      <th>Reporter</th>
      <td>
          fweimer-rh
      </td>
    </tr>
</table>

<pre>
    On x86-64, the flags registers are not preserved by `preserve_most` functions. I believe this is a documentation bug.

Found while writing this up for the psABI: [Document the ABI for __preserve_most__ function calls](https://gitlab.com/x86-psABIs/x86-64-ABI/-/merge_requests/45)
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJxkUsuO2zAM_Br5QthQZPl10CFpYGBP_QRDD8ZWIVupHpvu3xf2Jl0sepFAcDgczFDGaOcNUZDmQpprIXNafBC3B9oVQxmWQnnzIX5u8Kdvy5YT9gPSgnBzco4QcLYxYYggA8LmE9wDRgzvaEB9AGnpq55WHxNpKdzyppP1W6zgDRQ6i-8IabERbAQJxuu84pbkjgGV54rQK6Hnz3f0eTPwWKxDeASb7DZ_zuY73Hw4lN3j-fJG6jOQ5nJ9sh2N8-XtAE3TN1HT9E8TaOlcJM2VsH5J6R5JfSZsJGycbXJSVdqvhI27E8eW-CxaXu472VgSNq4YZpwC_s4Y047gDWFDYURthnqQBYpTO5z4ibKmLxYxcDQ33WnZ1rJvkNZc901nuKZcMm7awgpGWU172p3YiTZ91VHFle56pk1nGsYIp7hK6yrn3tfKh7mwMWYULecDLZxU6OIRL2MbPuBoEsb2tIPYZ0qV50g4dTam-MWSbHIovnkF_nUHXzmCdl4pDJ8nUeTgxH_eLfnl3c7-_Mp78L9QJ8LGQ9Pu1aH5bwAAAP__64HXew">