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

    <tr>
        <th>Summary</th>
        <td>
            '#pragma float_control' is not supported on this target (AArch64)
        </td>
    </tr>

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

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

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

<pre>
    `#pragma float_control` is documented in the Clang extensions manual but doesn't seem to be supported on AArch64.

https://godbolt.org/z/ejYc1nYjd

I think that's the check at the top of `PragmaFloatControlHandler::HandlePragma`. I think that logic is checking for the wrong thing there.

I'm assuming the issue is that the AArch64 target doesn't have `hasStrictFP()` because it doesn't have exception trap support (or at least makes it an optional feature). This affects `#pragma float_control(except, ...)` but I don't see why `precise` should be excluded as well. As-is there seems to be no way on AArch64 to turn off fast-math like behavior via pragmas at all.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJx9U8FunDAQ_Rq4jIJYs-xmDxy2iaLmFqm99FQNMICzxkb2kM326zuGTZu0aiUwDB7PvPfmUbv2UiW7PFHF5LEfETrjkL83zrJ3RnZAB2hdM49kmVrQFngguDNoe6BXJhu0swFGtDMaqGeWbAo2UXuGQDQCO6gJwjxNzscKzsLx6Jtht82S_D7Jj-s6ME8hKY6JepCrd23tDGfO9xL9kJuevzUb--25fX_oUcBoe5IVWTqGBVszUHMC5CVgN4HrQIg8LfweIr27ld1ntK0hH5sWxzVYkyQ7g_e1wbheN1GKpbgW7p3zS4OzdxLF1LiSpw-sHgXVCBjCPF4TpEiY47oWjl-ucgCj7-m9fgO-UIQ-YPjCXjf88JSo20Qd4lxqanAOUumvE_Ta0MQyFmCP05v0IEcFcyRDGFgmdqIQT6MFt6TL_DpCnj1Jiwy-DgISu44aDvAfj6jbtWGi7iDLsjd44oRHQfbLCXAeLrHM5KnRgWJOGNxs2mgPqWDmVtyBAc5kTAbHcLNoJIouPgpXI1kHZ7y8c1H8LpiFRNdBJ8xuRuQBjD6R5IsgWli_aIQVfIgKoHRI26poD8UBU9ZsqBKc_2S4j_Oyjj_amKNA16GJClc8wj-dvan-MLTmYa6zxo0SGPPy9riZvHsWhSVcjBHkpSyLg0qHCuv8tqDDvuvqXdHtyi1tsNztu7Jpy6Lc1qnBmkyokvJTopSl8-oteU_K-1RXKlcqLzcbledlfsjkuWvzfNuqw7Zo99tkm9OI2mQRR_zTUl8tkOq5D7JpdODwe1NMrHtLtLST-jjz4HzlL73zbg7p0rtasP8Ej1VwUg">