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

    <tr>
        <th>Summary</th>
        <td>
            [ARM] Assembly directive .fpu fp-armv8-fullfp16-sp-d16 crashes compiler
        </td>
    </tr>

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

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

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

<pre>
    Input assembly

>   .text
>   .fpu fp-armv8-fullfp16-sp-d16

with command line
`clang --target=arm-arm-none-eabi -c test.s`
crashes clang:

> clang -cc1as: fatal error: error in backend: Unknown FPU: 17
> PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace, preprocessed source, and associated run script.
> Stack dump:
> 0. Program arguments: bin/clang --target=arm-arm-none-eabi -c test.s
>  #0 0x00005cc41e855b60 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (bin/clang+0x42bdb60)
>  #1 0x00005cc41e852f7f llvm::sys::RunSignalHandlers() (bin/clang+0x42baf7f)
>  #2 0x00005cc41e79d6ea llvm::CrashRecoveryContext::HandleExit(int) (bin/clang+0x42056ea)
>  #3 0x00005cc41e84d422 llvm::sys::Process::Exit(int, bool) (bin/clang+0x42b5422)
>  #4 0x00005cc41b8984be LLVMErrorHandler(void*, char const*, bool) cc1as_main.cpp:0:0
>  #5 0x00005cc41e7a9ea0 llvm::report_fatal_error(llvm::Twine const&, bool) (bin/clang+0x4211ea0)
> #6 0x00005cc41c58b403 (anonymous namespace)::ARMTargetELFStreamer::finishAttributeSection() ARMELFStreamer.cpp:0:0
>  #7 0x00005cc41c58b665 (anonymous namespace)::ARMTargetELFStreamer::finish() ARMELFStreamer.cpp:0:0
>  #8 0x00005cc41e54ce02 llvm::MCStreamer::finish(llvm::SMLoc) (bin/clang+0x3fb4e02)
>  #9 0x00005cc41e5cfd3d (anonymous namespace)::AsmParser::Run(bool, bool) AsmParser.cpp:0:0
> #10 0x00005cc41b89bdd3 ExecuteAssemblerImpl((anonymous namespace)::AssemblerInvocation&, clang::DiagnosticsEngine&) cc1as_main.cpp:0:0
> #11 0x00005cc41b89fcae cc1as_main(llvm::ArrayRef<char const*>, char const*, void*) (bin/clang+0x1307cae)
> #12 0x00005cc41b88e7c1 ExecuteCC1Tool(llvm::SmallVectorImpl<char const*>&, llvm::ToolContext const&) driver.cpp:0:0
> #13 0x00005cc41f19fd3d void llvm::function_ref<void ()>::callback_fn<clang::driver::CC1Command::Execute(llvm::ArrayRef<std::optional<llvm::StringRef>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>*, bool*) const::'lambda'()>(long) Job.cpp:0:0
> #14 0x00005cc41e79d620 llvm::CrashRecoveryContext::RunSafely(llvm::function_ref<void ()>) (bin/clang+0x4205620)
> #15 0x00005cc41f1a05be clang::driver::CC1Command::Execute(llvm::ArrayRef<std::optional<llvm::StringRef>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>*, bool*) const (.part.0) Job.cpp:0:0
> #16 0x00005cc41f16385a clang::driver::Compilation::ExecuteCommand(clang::driver::Command const&, clang::driver::Command const*&, bool) const (bin/clang+0x4bcb85a)
> #17 0x00005cc41f16432d clang::driver::Compilation::ExecuteJobs(clang::driver::JobList const&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*>>&, bool) const (bin/clang+0x4bcc32d)
> #18 0x00005cc41f171844 clang::driver::Driver::ExecuteCompilation(clang::driver::Compilation&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*>>&) (bin/clang+0x4bd9844)
> #19 0x00005cc41b8929e0 clang_main(int, char**, llvm::ToolContext const&) (bin/clang+0x12fa9e0)
> #20 0x00005cc41b78702b main (bin/clang+0x11ef02b)
> #21 0x000071da1d629d90 __libc_start_call_main ./csu/../sysdeps/nptl/libc_start_call_main.h:58:16
> #22 0x000071da1d629e40 call_init ./csu/../csu/libc-start.c:128:20
> #23 0x000071da1d629e40 __libc_start_main ./csu/../csu/libc-start.c:379:5
> #24 0x00005cc41b88df25 _start (bin/clang+0x12f5f25)
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzkWE1v4zgS_TX0hbBBUd8HHzSOjZ1GAgRJz1wNkqJsbkukQFJJ_O8XpGRb8keS3gX2MofuyCJZr-rVKxZFYozYSc6XIP4DxA8z0tm90ku9e1fWzqgqD8s_ZdtZSIzhDa0PAD0AVAz_h2sI4cLyDzt5UbUdrNo50c1bNq-6uq7aIJmbdl4GyXj9u7B7yFTTEFnCWkg-DCaI1UTu4Hxuid5xC8IHohtnby6V5HNOqIBzBi03dmFAgvp1TBOz5wb6xSAsLl0djDIWEAPCAlbEkhpyrZV2P_0DFBJSwn5xWbp3f8lfUr1LuHn-y_0M0rO158d18bqGpqONsJBA2u2g5q3SFloF99a2DgTgDcCbnbD7ji6YagDe1PXb8c-81erfnFmAN8KYjhuAN9CRISSru5JDu-fQh-WdspowDvAKtpq3WjFuDC-hUZ3uX7uVxBjFBLG8hLqT0DAtWrs4u_1qCfsFy65pzwyFa4gWAOXPWu00aSDRu67h0nqWqJAAb34rIWctABwiiD4QQihmLAp4Fsc0QdBzEBYgLMzB9A_PWkjrvfvZh5mdJ2nyvlXGak4agBMXqpAW4BwCnI38A_gP9BFhWtIEAZxP_Qgu_MBVWt3y46WTr2InSf0vIsuaawNwdh-KVGl1BYUnUGleJpyMoFYuoS-cqTeuDyslff34kR5y_SEswNlnIaI44eQKN5yGGJURxrep9trpf4zRVpAqVd-PNo4wvkKNxqg0y7OIcvj4-PfT2hXUwCLA2ZsSJcCFQ2F7oiFT0tjhxRHW1-a2IUIuWOsUivy_CV48ZZfknIwF1dfg1hf3ti_usZR-vgvJj9jJlyEHASdTLQEcJmMPWJzRCIVuOZFKHhrVGShJw03rZZz3uMXL009fO-vHzatXMtf9SCWkMPvCWi1oZ_krZ1YoOaiueHkaLbhPSnrpUpLE_6tLv-lCNslLHDGOxup7Wt3BOE95fXpU7E4qwopGHF2rL5-isqoMyy8DN80z0eboyUvn2O5lcJbDadLtiN2Ogi6UT8syhOsPzjrLi75fcv1n09aeyS9cOk6Xb4qRXgFenqduFhYPguykMlYws5Y71y_dlK-rxvkaXPhaMcJHCyd5KLQmhxdegXA1rdRwfbN6T5V9M3NBiFJG-GURBXjqUcZTFhzZW62Cnz4PY3U0pK7_5syqntNbznnGRsWuVD1ssKOSz2GpxdtniZ1spFWQe1G5KEe2q076Qt1qT5Qf7SvGeeKnMFLXrm9vK-m8PSeyxx-6wSpY9Ueg437sGbiXEGOHeap16MTxMOLIaiF3fuZ6yNZpwXbLPj6CoP9BiRFsa_z0gcnJZPdiazUR7hDQD1-YI3XthOrOTqdxN2W0n3tF9Lz7JQCnNWloSQBOz1ThrFZOKjn8oej9nERXTRWjbzVV19BJxevDhNLP0_dJ38VX7SCIp3IhKKYc_pPT7chbtETbBfoyr8mUvCTMYnKXPNW0ou53xzF7R0Zxdn-h_8gY9_3vTS0uTgmn-K7EQRnNYnIljvQivijE5e_G90NRcz-4H4o-CmMnwX22bZ5y2hLh0jkc_b7Lx5D4b7PCQlxesZJNWUmDLIruefAwej4n_ETUZ0k_T_r_sXJ766BlnkXRFQ_5RVvGOUc95rEtH_3wJVsMBfd1i7vViHFFcn61feHpMSbNUoQpdOg3jQS8QpheGTmeL9KgJEGZ4LzMEdxua0HdvkO03bpu6IOCC2fRdABvFu7RHEzJW_ftK1tbu0_jG4sWexAWcQbC4nSHMCDjS2QeIejXCSnsJVj_6BDmHmHBnEnsDOPpzoTDW4YnId2K5iZAmLpzXjy1f_HhlJUVjmFv-U764grHAOezchmWeZiTGV8GKY7CMEdhPtsvcx7EaVKmOOU0pmkQlGEQYBZlZRBxlNGZWGKEI5RhHMQojPMFxkmaEhYHVRjwsMIgQrwhol44hS2U3s38xcQyQHGSRrOaUF4bf1mEseTv0I8CjEH8MNNLf6dBu50BEaqFseZsxgpb-1um4uUJxA9wOPAeYCm0--J545_fG8HT7Y6vaq5nna6X__01yxDQ2xL_JwAA__-MQaNt">