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

    <tr>
        <th>Summary</th>
        <td>
            ARM NEON builtins involving type __mfp8 seem to be incorrectly declared for armv7 and crash the compiler (clang 20.1.0 rc1)
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            clang
      </td>
    </tr>

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

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

<pre>
    see https://godbolt.org/z/4a3zbMPG9

```
int i = __builtin_neon_vcvt2_low_bf16_mf8_fpm(0, 0);
```

* armv8 clang complains about incorrect argument types: fine
* x86-64 clang complains about undeclared identifier: fine
* armv7 clang crashes
```
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: /opt/compiler-explorer/clang-trunk/bin/clang++ -gdwarf-4 -g -o /app/output.s -fno-verbose-asm -S -target arm-linux-gnueabihf --gcc-toolchain=/opt/compiler-explorer/arm/gcc-12.2.0/arm-unknown-linux-gnueabihf --sysroot=/opt/compiler-explorer/arm/gcc-12.2.0/arm-unknown-linux-gnueabihf/arm-unknown-linux-gnueabihf/sysroot -fcolor-diagnostics -fno-crash-diagnostics <source>
1.      <source>:1:9: current parser token '__builtin_neon_vcvt2_low_bf16_mf8_fpm'
 #0 0x0000000003b10218 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/opt/compiler-explorer/clang-trunk/bin/clang+++0x3b10218)
 #1 0x0000000003b0e35c llvm::sys::CleanupOnSignal(unsigned long) (/opt/compiler-explorer/clang-trunk/bin/clang+++0x3b0e35c)
 #2 0x0000000003a5d698 CrashRecoverySignalHandler(int) CrashRecoveryContext.cpp:0:0
 #3 0x00007187ba042520 (/lib/x86_64-linux-gnu/libc.so.6+0x42520)
 #4 0x0000000006ebaf5f clang::ASTContext::getVectorType(clang::QualType, unsigned int, clang::VectorKind) const (/opt/compiler-explorer/clang-trunk/bin/clang+++0x6ebaf5f)
 #5 0x0000000006ee81a7 DecodeTypeFromStr(char const*&, clang::ASTContext const&, clang::ASTContext::GetBuiltinTypeError&, bool&, bool) ASTContext.cpp:0:0
 #6 0x0000000006ee8954 clang::ASTContext::GetBuiltinType(unsigned int, clang::ASTContext::GetBuiltinTypeError&, unsigned int*) const (/opt/compiler-explorer/clang-trunk/bin/clang+++0x6ee8954)
 #7 0x000000000639306e clang::Sema::LazilyCreateBuiltin(clang::IdentifierInfo*, unsigned int, clang::Scope*, bool, clang::SourceLocation) (/opt/compiler-explorer/clang-trunk/bin/clang+++0x639306e)
 #8 0x000000000673501a clang::Sema::LookupBuiltin(clang::LookupResult&) (/opt/compiler-explorer/clang-trunk/bin/clang+++0x673501a)
 #9 0x000000000673f369 LookupDirect(clang::Sema&, clang::LookupResult&, clang::DeclContext const*) SemaLookup.cpp:0:0
#10 0x000000000673f509 CppNamespaceLookup(clang::Sema&, clang::LookupResult&, clang::ASTContext&, clang::DeclContext const*, (anonymous namespace)::UnqualUsingDirectiveSet&) (.isra.0) SemaLookup.cpp:0:0
#11 0x000000000672dd5b clang::Sema::CppLookupName(clang::LookupResult&, clang::Scope*) (/opt/compiler-explorer/clang-trunk/bin/clang+++0x672dd5b)
#12 0x000000000672ecc5 clang::Sema::LookupName(clang::LookupResult&, clang::Scope*, bool, bool) (/opt/compiler-explorer/clang-trunk/bin/clang+++0x672ecc5)
#13 0x00000000063d75cd clang::Sema::getTypeName(clang::IdentifierInfo const&, clang::SourceLocation, clang::Scope*, clang::CXXScopeSpec*, bool, bool, clang::OpaquePtr<clang::QualType>, bool, bool, bool, clang::ImplicitTypenameContext, clang::IdentifierInfo**) (/opt/compiler-explorer/clang-trunk/bin/clang+++0x63d75cd)
#14 0x0000000006003cbd clang::Parser::TryAnnotateTypeOrScopeTokenAfterScopeSpec(clang::CXXScopeSpec&, bool, clang::ImplicitTypenameContext) (/opt/compiler-explorer/clang-trunk/bin/clang+++0x6003cbd)
#15 0x0000000006004014 clang::Parser::TryAnnotateTypeOrScopeToken(clang::ImplicitTypenameContext) (/opt/compiler-explorer/clang-trunk/bin/clang+++0x6004014)
#16 0x0000000006086fbe clang::Parser::ParseCastExpression(clang::Parser::CastParseKind, bool, bool&, clang::Parser::TypeCastState, bool, bool*) (/opt/compiler-explorer/clang-trunk/bin/clang+++0x6086fbe)
#17 0x0000000006088faa clang::Parser::ParseCastExpression(clang::Parser::CastParseKind, bool, clang::Parser::TypeCastState, bool, bool*) (/opt/compiler-explorer/clang-trunk/bin/clang+++0x6088faa)
#18 0x0000000006089179 clang::Parser::ParseAssignmentExpression(clang::Parser::TypeCastState) (/opt/compiler-explorer/clang-trunk/bin/clang+++0x6089179)
#19 0x00000000060416b8 clang::Parser::ParseDeclarationAfterDeclaratorAndAttributes(clang::Declarator&, clang::Parser::ParsedTemplateInfo const&, clang::Parser::ForRangeInit*) (/opt/compiler-explorer/clang-trunk/bin/clang+++0x60416b8)
#20 0x000000000605743c clang::Parser::ParseDeclGroup(clang::ParsingDeclSpec&, clang::DeclaratorContext, clang::ParsedAttributes&, clang::Parser::ParsedTemplateInfo&, clang::SourceLocation*, clang::Parser::ForRangeInit*) (/opt/compiler-explorer/clang-trunk/bin/clang+++0x605743c)
#21 0x0000000006005d77 clang::Parser::ParseDeclOrFunctionDefInternal(clang::ParsedAttributes&, clang::ParsedAttributes&, clang::ParsingDeclSpec&, clang::AccessSpecifier) (/opt/compiler-explorer/clang-trunk/bin/clang+++0x6005d77)
#22 0x0000000006006b8e clang::Parser::ParseDeclarationOrFunctionDefinition(clang::ParsedAttributes&, clang::ParsedAttributes&, clang::ParsingDeclSpec*, clang::AccessSpecifier) (/opt/compiler-explorer/clang-trunk/bin/clang+++0x6006b8e)
#23 0x0000000006010492 clang::Parser::ParseExternalDeclaration(clang::ParsedAttributes&, clang::ParsedAttributes&, clang::ParsingDeclSpec*) (/opt/compiler-explorer/clang-trunk/bin/clang+++0x6010492)
#24 0x0000000006011d28 clang::Parser::ParseTopLevelDecl(clang::OpaquePtr<clang::DeclGroupRef>&, clang::Sema::ModuleImportState&) (/opt/compiler-explorer/clang-trunk/bin/clang+++0x6011d28)
#25 0x0000000006012270 clang::Parser::ParseFirstTopLevelDecl(clang::OpaquePtr<clang::DeclGroupRef>&, clang::Sema::ModuleImportState&) (/opt/compiler-explorer/clang-trunk/bin/clang+++0x6012270)
#26 0x0000000006000393 clang::ParseAST(clang::Sema&, bool, bool) (/opt/compiler-explorer/clang-trunk/bin/clang+++0x6000393)
#27 0x00000000044614b5 clang::CodeGenAction::ExecuteAction() (/opt/compiler-explorer/clang-trunk/bin/clang+++0x44614b5)
#28 0x0000000004737121 clang::FrontendAction::Execute() (/opt/compiler-explorer/clang-trunk/bin/clang+++0x4737121)
#29 0x00000000046b777b clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (/opt/compiler-explorer/clang-trunk/bin/clang+++0x46b777b)
#30 0x00000000048229e3 clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (/opt/compiler-explorer/clang-trunk/bin/clang+++0x48229e3)
#31 0x0000000000d50621 cc1_main(llvm::ArrayRef<char const*>, char const*, void*) (/opt/compiler-explorer/clang-trunk/bin/clang+++0xd50621)
#32 0x0000000000d48e2d ExecuteCC1Tool(llvm::SmallVectorImpl<char const*>&, llvm::ToolContext const&) driver.cpp:0:0
#33 0x00000000044acc99 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
#34 0x0000000003a5dac3 llvm::CrashRecoveryContext::RunSafely(llvm::function_ref<void ()>) (/opt/compiler-explorer/clang-trunk/bin/clang+++0x3a5dac3)
#35 0x00000000044aceb9 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
#36 0x00000000044710dd clang::driver::Compilation::ExecuteCommand(clang::driver::Command const&, clang::driver::Command const*&, bool) const (/opt/compiler-explorer/clang-trunk/bin/clang+++0x44710dd)
#37 0x0000000004472071 clang::driver::Compilation::ExecuteJobs(clang::driver::JobList const&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*>>&, bool) const (/opt/compiler-explorer/clang-trunk/bin/clang+++0x4472071)
#38 0x000000000447c3fc clang::driver::Driver::ExecuteCompilation(clang::driver::Compilation&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*>>&) (/opt/compiler-explorer/clang-trunk/bin/clang+++0x447c3fc)
#39 0x0000000000d4d2b1 clang_main(int, char**, llvm::ToolContext const&) (/opt/compiler-explorer/clang-trunk/bin/clang+++0xd4d2b1)
#40 0x0000000000c12464 main (/opt/compiler-explorer/clang-trunk/bin/clang+++0xc12464)
#41 0x00007187ba029d90 (/lib/x86_64-linux-gnu/libc.so.6+0x29d90)
#42 0x00007187ba029e40 __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x29e40)
#43 0x0000000000d488c5 _start (/opt/compiler-explorer/clang-trunk/bin/clang+++0xd488c5)
clang++: error: clang frontend command failed with exit code 139 (use -v to see invocation)
Compiler returned: 139
```

Presumably, that builtin shouldn't be declared for armv7?

</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJzkWlFzozjW_TXkRWUXCGzgIQ-0E_eX-Xqms-3M1ry5hLg42oDESMKdzK_fkoSDIbbTPUPP1tZOZaoxSFfnnHt1dUEiSrEdB7j2Fh-8xc0VafWjkNe0BpBfr3JRvFwrAPSodaO8MPPw2sPrnShyUem5kDsPr__w8Doi4R_5z_cfU8_PzN_S7_78jHGNGPLCG7Td5i2rNONbDoJv93Sv8bYSX7d5GSy3dZlsy6b2cOJ7eIV8D6de-GFkzPzhDBFZ7xNEK8J3iIq6qQjjCpFctBoxToWUQDUictfWwDXSLw0Y9KhkHDoTz8lytozO2Gh5AbQiEgrECuCalQzkyIDBEB_6S6IeQY3A3n-6zTa3SLV5zTQiKG93SEIjpEZajCVl-rHN51TUHl5X1f7wz6yR4l9AtYfXTKkWlIfXiPDC0KzaApB-BDc8ygl90pJQMPI1EhopKCgFBVKile626UmUEpQRDQWSLUeKStbouednG03oEyraujGw_Myfe356L8VOkvpVTKujh9eiMZiMcKwCOYPnphISpLlnJJlp2fInD69zxg_3PPzBwx_QbFd8JbKcRWi2QzNhjJGmMSZb3bR6rtCs5GK2B5kLBTOiajTboJkmcgfGqfWsYrx9nu14CyRnjyWazXaUzrQQFX0kjHvhzUWARBp1TZcAz_Hcd7dmLX_i4is_YV29KCmEntbuu0-7UdGspKISclYwsuNCaUY7hazbB7e9cNX5Orz1_CwwDhzcC7PAC7PU-JC2UprJ0RCpQCItnoAjD8ffOEtjzzdxEPrIf_YP_4V54OMgQTaAw8wLM_Wi3MW9ZFzbCHtwMZr0jST5uhVKSyC1h5cmThnXHk6Rh5O_Emoe_uA_d5hMOnGIgyFiH8IFPYV4VQHhbfOZb9iOk8rDScttsixQJcwQU-GzCHp8eICPLIplmqCV8fUXoGIP8sUB-j_Ci8oMk3RqDdqsBNfwrOe0MbPZt_87-2FnPw6SOCd-hBfY75hULPfw-jlZbpdRH5HuAZ0rMV9ayLZLDzg6BryEnJSL0iVGJ2S2eejQuN870P8EqoV8eGlMIBw1_UdLKnd3hV7VtvRWxxZd9_9nvDC8qeBKT-KLDnxPbTGkBklAYnQDVBRgYK6lqDfauIA-EumAeDjrgvikBIdG51u43x9Bf3Dz0Ax0K6WQXadciGpwmaK-8wl_L8cc0kX07SMfh_1bR3w76qGRbGq_WVa93-IB5zAN_SUc495ATdzVJ_IHq15WEoiGDvowJO9eC4A7XgoL_WJsbqgwqmW9f4aPbS7-JCjRTPCpkkhHsRcgGQgQhws_IGcEEOKpbU5Sd4--gGorF7ETgXVwerDpCGwZLlPkBr9h0lY_yRj7mwn0Buzg6Q3QajQDbQwaW67naOaYhcIf41r4KVo1zS-kBtUQ40bT86-jO5pG34h8ZTxBuOAvtWgV4gdEtmo23X7lv7ek-lUxvnMasj1s4MiNc6YkMUXKOyIEQxFwUSzy05G0ahpnxejzTiSdmTJTBZhF6QLMcMAjDkDp4tJs-PME-jl_yM0TETKQe0LhML8V8YIWpwntQJtU_JbRMK-dW5bG6eos7aPbq99-s082DdCTogxaf27I7y3ca-mFq1OVQHh7ysAJQ3d1UzHKLF0zH15n1LDV23Q-Xdw5R_RuGlZGvh_SfOCme1t7u-sH-ZJxLjTRtrT4LK2GD6Ysz0oN8kjS5KzYy-_VZiLijlpPfDEiHvlB9CeIjyL2h5MwMHsSw8LJT5ZlDudI2OsVUfr2uZGglJ0syZnGpp397SrYcVSP5-BArJfGDrMxcr3tOl0oO7q9GPFIjKQk5MeK8Z9XwHDsFUhGCqRBnF5UILPf1mrg36TDiNdkJAzMnsSw1PKjYJknF0nc2A9hNvvbNHT4LWTGi0xryfJWgxry6htdjmZ7XTxA3VREw6V16LjXWsgvhO_gjjM9qcOtGq9a4WH55y_iKKTvavVRinFFaJ6ZMgxodZSlT8p1es1yMh2L_X2ivr-sj5fwv0VuK2gvdzBaMxZFHL8r92e5bjk1JG6gvOMapPtU8_3qvdviogszSkEp88x9K55uTTIy9CLhkUjLPLm8Jh3N34FWjDN9Oh9NLdU4tn6cVEaMXqphjewHfpTii1LdPrvwOZLs75FnKgEsxV6AUfUZBAW-nOsfRPMJ9mAFGDI_U6S_JrwvUNpC_U2eeX0P-VkUbQV3dSPkYYmb7oOC49YzH5WfAcaxf5H5mkml_4vpG4I9_VHh6vthGr6hn20ezn64-CHvsA5Hj3JQUUbRMojywUv5ShTwEXhmM5a7dfsMtNXQ3bIenwRbN3qPbVDrRXEYBzg4xraWZqHmxQlwU8JyA_ewBtVbtMzjOM6HkrmB7rjShFM4rdp5HtPFZAfuFfpwnyhKME5hEJMdyJ7B_rU4SS4xnC5_dqB6yIOCxC8W_tIEAQ22NbFfSvs9o0xK8mKTwGq4EeA-Xow2B1ZoL1gxIXIHrQeOh8CjBHCBDgKvggc7q4_gb2pSVW5Pxbxjn2Rh80Lfxdh4u6ORokKyPci3nxHDcDjbCaVpanU4Mlp25clWWintUzed3N6lF2aUVFVO6NO25MNc7AbugmQVrERdE16MZ-ZJlyndtRONGZ0YAY7E0ZLxXZfhnT9fO2y39Pk5CNyPnChGt8o27yQcNDY3tloSptXh8cgcqSoT9EIePTdNstHrrRPcdvFwXJE6L4iH414qnBx2KH8S-QlnROMtRkLDIz-c2kh0T760fENKqF4GWl7221T7pA5mH-WLcURBPngf_5-LCPtVvyFSu6_6p12_HKoWB35RnFXNuoq8WeIOUg4y86ijaXDuZf5C02y0szndHmHHtY-fUf0RYz8OvleJn0Suzsvwk8g_MTXc8r2UdV_d3hBmPP52c_Gicl1s_Dj9jEK9fslIPxqW9BzWm6PrwUp_Yok_p_vfqN9UVaXVpFcsHa3LBc67iDuUFAfENlNk3Tx_f9WdpIiwcF7BRoOCzacBjpYRMjAnGc3Z60cLhodScFqk33koxXbpDeKxQYh8tN2aPlulidTbIy7fPARER0OE4zIroQvkjE_kEWPRjXf8LMwQ2JMVYdadPyy7Mh7RLqZLwioo0FemHxE8MxMtBaAgtKHSKkCzPdICKQDEjiptM9KhwkYSdCs5mCller49iXkvQbU1yU01sEL6kWjUHR1D6lG0VcE9HGuUA3o9TVkK6Q5OeuHa87Or4jos0jAlV3AdxGGy9GOc4KvHaxwXZUnzEIeYBGGMIUkJDhKKcVwGOE-u2DX28cLHfhgkOPGDeRktcekneRTFS1Lg0It8qAmr5mb2zIXcXdnzk9cBXiwW4VVFcqiUPfWKcScu9hY3V_LaHrvM253yIr9iSqvehGa6guvsy8_ol9vPvxzYKqthtWd8Z4-aou22LpvEqFsblXPoD6VWLyfEsMcy3SFOe5zz4IFDXkTYnwdzH0lq5udVK6vrP396tBNgf43_HQAA___o7IF9">