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

    <tr>
        <th>Summary</th>
        <td>
            Crash - LLVM ERROR: Cannot select: intrinsic %llvm.x86.sse42.crc32.32.32
        </td>
    </tr>

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

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

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

<pre>
    Seems the same as #15319, although this is occurring "in the wild".

I'm trying to build a large application project (original sources [here](https://github.com/neuromore/studio/), but modified since then), so, I'm not manually making use of the CRC functions (it's coming out of ZLib, although previously saw it coming out of Qt somehow), and I expect it would take quite some work to cut it back into an MRE unless someone else has an idea of what the issue might be.

```
/usr/bin/clang++-18 -target x86_64-linux-gnu -fuse-ld=/usr/bin/ld.lld-18                                 \
 -static-libstdc++ -static-libgcc -flto=full -O0 -g -Wl,--gc-sections -DLLVM_PARALLEL_LINK_JOBS=1     \
    ... libraries here ... \
-o bin/linux-x64/Studio





LLVM ERROR: Cannot select: intrinsic %llvm.x86.sse42.crc32.32.32
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0.      Running pass 'Function Pass Manager' on module '../../deps/build/make/lib/linux-x64/zlib.a(deflate.o at 121040)'.
1.      Running pass 'X86 DAG->DAG Instruction Selection' on function '@deflate_fast'
 #0 0x00007f18eb0ecb46 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/usr/lib/llvm-18/bin/../lib/libLLVM.so.18.1+0xd93b46)
 #1 0x00007f18eb0eaaf0 llvm::sys::RunSignalHandlers() (/usr/lib/llvm-18/bin/../lib/libLLVM.so.18.1+0xd91af0)
 #2 0x00007f18eb0ed210 (/usr/lib/llvm-18/bin/../lib/libLLVM.so.18.1+0xd94210)
 #3 0x00007f18f1a2a420 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x14420)
 #4 0x00007f18e9fc800b raise /build/glibc-SzIz7B/glibc-2.31/signal/../sysdeps/unix/sysv/linux/raise.c:51:1
 #5 0x00007f18e9fa7859 abort /build/glibc-SzIz7B/glibc-2.31/stdlib/abort.c:81:7
 #6 0x00007f18eb04a00c llvm::report_fatal_error(llvm::Twine const&, bool) (/usr/lib/llvm-18/bin/../lib/libLLVM.so.18.1+0xcf100c)
 #7 0x00007f18eb93e000 llvm::SelectionDAGISel::isOrEquivalentToAdd(llvm::SDNode const*) const (/usr/lib/llvm-18/bin/../lib/libLLVM.so.18.1+0x15e5000)
 #8 0x00007f18eb93d488 llvm::SelectionDAGISel::SelectCodeCommon(llvm::SDNode*, unsigned char const*, unsigned int) (/usr/lib/llvm-18/bin/../lib/libLLVM.so.18.1+0x15e4488)
 #9 0x00007f18edda8e63 (/usr/lib/llvm-18/bin/../lib/libLLVM.so.18.1+0x3a4fe63)
#10 0x00007f18eb934c3f llvm::SelectionDAGISel::DoInstructionSelection() (/usr/lib/llvm-18/bin/../lib/libLLVM.so.18.1+0x15dbc3f)
#11 0x00007f18eb934321 llvm::SelectionDAGISel::CodeGenAndEmitDAG() (/usr/lib/llvm-18/bin/../lib/libLLVM.so.18.1+0x15db321)
#12 0x00007f18eb933442 llvm::SelectionDAGISel::SelectAllBasicBlocks(llvm::Function const&) (/usr/lib/llvm-18/bin/../lib/libLLVM.so.18.1+0x15da442)
#13 0x00007f18eb9315fe llvm::SelectionDAGISel::runOnMachineFunction(llvm::MachineFunction&) (/usr/lib/llvm-18/bin/../lib/libLLVM.so.18.1+0x15d85fe)
#14 0x00007f18edd9ec6f (/usr/lib/llvm-18/bin/../lib/libLLVM.so.18.1+0x3a45c6f)
#15 0x00007f18eb4a83b4 llvm::MachineFunctionPass::runOnFunction(llvm::Function&) (/usr/lib/llvm-18/bin/../lib/libLLVM.so.18.1+0x114f3b4)
#16 0x00007f18eb232eff llvm::FPPassManager::runOnFunction(llvm::Function&) (/usr/lib/llvm-18/bin/../lib/libLLVM.so.18.1+0xed9eff)
#17 0x00007f18eb2387f3 llvm::FPPassManager::runOnModule(llvm::Module&) (/usr/lib/llvm-18/bin/../lib/libLLVM.so.18.1+0xedf7f3)
#18 0x00007f18eb2335f4 llvm::legacy::PassManagerImpl::run(llvm::Module&) (/usr/lib/llvm-18/bin/../lib/libLLVM.so.18.1+0xeda5f4)
#19 0x00007f18ec6c7fe4 (/usr/lib/llvm-18/bin/../lib/libLLVM.so.18.1+0x236efe4)
#20 0x00007f18ec6c8f0c (/usr/lib/llvm-18/bin/../lib/libLLVM.so.18.1+0x236ff0c)
#21 0x00007f18ec6c8d8f llvm::lto::thinBackend(llvm::lto::Config const&, unsigned int, std::function<llvm::Expected<std::unique_ptr<llvm::CachedFileStream, std::default_delete<llvm::CachedFileStream> > > (unsigned int, llvm::Twine const&)>, llvm::Module&, llvm::ModuleSummaryIndex const&, llvm::DenseMap<llvm::StringRef, std::unordered_set<unsigned long, std::hash<unsigned long>, std::equal_to<unsigned long>, std::allocator<unsigned long> >, llvm::DenseMapInfo<llvm::StringRef, void>, llvm::detail::DenseMapPair<llvm::StringRef, std::unordered_set<unsigned long, std::hash<unsigned long>, std::equal_to<unsigned long>, std::allocator<unsigned long> > > > const&, llvm::DenseMap<unsigned long, llvm::GlobalValueSummary*, llvm::DenseMapInfo<unsigned long, void>, llvm::detail::DenseMapPair<unsigned long, llvm::GlobalValueSummary*> > const&, llvm::MapVector<llvm::StringRef, llvm::BitcodeModule, llvm::DenseMap<llvm::StringRef, unsigned int, llvm::DenseMapInfo<llvm::StringRef, void>, llvm::detail::DenseMapPair<llvm::StringRef, unsigned int> >, llvm::SmallVector<std::pair<llvm::StringRef, llvm::BitcodeModule>, 0u> >*, std::vector<unsigned char, std::allocator<unsigned char> > const&) (/usr/lib/llvm-18/bin/../lib/libLLVM.so.18.1+0x236fd8f)
#22 0x00007f18ec6c2815 (/usr/lib/llvm-18/bin/../lib/libLLVM.so.18.1+0x2369815)
#23 0x00007f18ec6c1fa2 (/usr/lib/llvm-18/bin/../lib/libLLVM.so.18.1+0x2368fa2)
#24 0x00007f18eb017244 (/usr/lib/llvm-18/bin/../lib/libLLVM.so.18.1+0xcbe244)
#25 0x00007f18eb098392 llvm::ThreadPool::processTasks(llvm::ThreadPoolTaskGroup*) (/usr/lib/llvm-18/bin/../lib/libLLVM.so.18.1+0xd3f392)
#26 0x00007f18eb098f57 (/usr/lib/llvm-18/bin/../lib/libLLVM.so.18.1+0xd3ff57)
#27 0x00007f18f1a1e609 start_thread /build/glibc-SzIz7B/glibc-2.31/nptl/pthread_create.c:478:7
#28 0x00007f18ea0a4133 clone /build/glibc-SzIz7B/glibc-2.31/misc/../sysdeps/unix/sysv/linux/x86_64/clone.S:97:0
clang++-18: error: unable to execute command: Aborted (core dumped)
clang++-18: error: linker command failed due to signal (use -v to see invocation)

```

What's interesting is I have tried cleaning and explicitly turning off using `-mno-sse4.2` as wel las explicitly enabling using `-msse4.2`. The processor I am building on is recent and should support these so I'm not sure why it's unable to output those instructions.

Can try to provide more information, but as mentioned - not sure what would be the most helpful given the size of the project - the build is all spread across tonnes of makefiles with the flags hardcoded, so very hard to follow what options are really being used when.

My application builds using Clang 10 in the Ubuntu repositories; I had upgraded using the PPA to get better C++20 support. I see the same issue with Clang versions 18 and 19; not yet tested any others.

```
clang-18 --version
Ubuntu clang version 18.1.6 (++20240518023231+1118c2e05e67-1~exp1~20240518143320.131)
Target: x86_64-pc-linux-gnu
Thread model: posix
InstalledDir: /usr/bin
root@localhost /w/F/b/make (master)# dpkg -l | grep -i 18

ii  clang-18 1:18.1.6~++20240518023231+1118c2e05e67-1~exp1~20240518143320.131 amd64 C, C++ and Objective-C compiler
ii  libclang-common-18-dev:amd64 1:18.1.6~++20240518023231+1118c2e05e67-1~exp1~20240518143320.131 amd64 Clang library - Common development package
ii  libclang-cpp18 1:18.1.6~++20240518023231+1118c2e05e67-1~exp1~20240518143320.131 amd64        C++ interface to the Clang library
ii libclang-rt-18-dev:amd64 1:18.1.6~++20240518023231+1118c2e05e67-1~exp1~20240518143320.131 amd64 Compiler-rt - development package
ii  libclang1-18 1:18.1.6~++20240518023231+1118c2e05e67-1~exp1~20240518143320.131 amd64 C interface to the Clang library
ii  libllvm18:amd64 1:18.1.6~++20240518023231+1118c2e05e67-1~exp1~20240518143320.131 amd64 Modular compiler and toolchain technologies, runtime library
ii libmm-glib0:amd64                      1.18.6-1~ubuntu20.04.1 amd64        D-Bus service for managing modems - shared libraries
ii  libomp-18-dev 1:18.1.6~++20240518023231+1118c2e05e67-1~exp1~20240518143320.131 amd64 LLVM OpenMP runtime - dev package
ii  libomp5-18:amd64 1:18.1.6~++20240518023231+1118c2e05e67-1~exp1~20240518143320.131 amd64 LLVM OpenMP runtime



-line tool to access X clipboard and selection buffers
root@localhost /w/F/b/make (master)# uname -a
Linux localhost 6.2.0-27-generic #28-Ubuntu SMP PREEMPT_DYNAMIC Wed Jul 12 22:39:51 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
root@localhost /w/F/b/make (master)# apt-cache policy clang-18
clang-18:
  Installed: 1:18.1.6~++20240518023231+1118c2e05e67-1~exp1~20240518143320.131
 Candidate: 1:18.1.6~++20240518023231+1118c2e05e67-1~exp1~20240518143320.131
  Version table:
 *** 1:18.1.6~++20240518023231+1118c2e05e67-1~exp1~20240518143320.131 500
 500 http://apt.llvm.org/focal llvm-toolchain-focal-18/main amd64 Packages
        100 /var/lib/dpkg/status
root@localhost /w/F/b/make (master)# 
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzUWk9z27iS_zT0pYsqEqQk6uCDLFtZv40nXjsz83YvKhBoSliDAAcAZXsO89m3AFJ_qNhJZqO8queyZQkC0L_-obvRRINaK9YK8TIaX0Xj6wvauo02l9ahlNQ0-hnNRan56-UjYm3BbRAsrRGohYhk6ThLZxFZAJVuo9v1BtxGWBAWNGOtMUKtISJEqDDwWUgeETKKkusomXevtxGZ1uDMq-_qNJStkBwoSGrWCLRppGDUCa2gMfp_kTmISKGNWAtFJVjdGoYWovHVBg1G4-uIFBvnGhtl84gsI7JcC7dpyxHTdUSWCluja20wIkvrWi506BRUKFsHteaiEsjBCsXQg1b9t1b71w6t0g5qqloq5SvU9MlDby2CroKai4cFVK1iHrVnqRAuIlMLTNe-p26d7_k_H0U5YK4xuBW6tfIVLH0G4U4G_JcDq2vc6OceElUcbgFfGs-KcPCsW8nB0SeEP1rhMHSHZ22ePLGsDZ1Kyp5AKKeBKrh7uIFWSbQ29NUKAaVF2FDrvxYcqZf8vKEuaCasbRFqsd44KHGwjtEk6X-7j2TZWhORZSlURJZMUrWOyFVEruK0gNj51XXwUkxWkzyWQrUv8Vq1EFetxVjyKLs-mUHykZTcD_7WTzRedBggto46wWIpSus46-Qft64Zg7iSTkfZddVKCfGnBOI1xL_LiCzieM1ii_06xtcfP_52t7qfP8w_frz5uPp4-8t_rv7x6eoxyq7TE8EAMBqNQIrSUCPQgjfO0LTvE2voFQvKv0zyiCwfO5M8pvWdV48Fbh4ePj1E2RwWVHmbtCiROd8glDNCWcEgImMpt_XopZiMrMWcjJhhGRmF326u-48388cbsG1ZCwcUynYNBhttnLebr3iTn7j_F_feGZFlMBIbkWUwUKGYbHlwJWCG2k2wQGco29nPo_Mmydu68VJCUzLqlvKhVcp7QEOtd6TpsvcquPcNd1TRNZqITEEr77qtRN9rNIrIMrxwbDyQEFMisqzpEwbGyxPe_5SiHNGIFBwrSR2ONFAHKUmTPAnONu2xpu8A-2cxgev5hzjKbq7nH-BWWWfaDupjWBShVY9zFxn8sChPeomrilofJXoDikiWQPKSJEkyrdICywRZmU8gMJ7No2xuX2335t4I5QKHnz2pESkOnQx9XmnrDNI6IhMfM4RyEZn5oLT3r54Ov4hpsfe3wN-OqdKb28jqUVqM0ohcJS98lpX5xHOzB5yeAKa0St4C_NCqR7FWVP4HVVyisQHMWTCltEoGmMgJJk7S5ByCcpIOBWVHgqqUEpqTBFYrg9ZpgyvjeqndpKdxr_uicRuDlHtRSZCT5jkZismP9ZlVrEiSEgwV1hv-3s7XUpQsfvzz9s_p1f4jGWWp3_UC9Tsd7avtfaRV4qVr2O6cIyLLMPWIRdl8nEbZPD0gGQ-R0GkxngEtddD0-5A43rERRgUhhRdy5AOT4fLlNEnYkUl1QWpVUUflCo3RZmD9n5-FQmBaec8K1l9qLc9iaqxKk4QNlmY6wDrLMEmOzX8fBq7nH24fUXatwn4yN3-0YkslKvdZzzkfqPB4_Yvmex3mHnt4_-MapGMcJ8nQuooTFXheFN9UoWtdaI4LXdc-zH2BPyBfQKtCqsmBbag50unom3OFp3SMeV4UA-1mx9pxTgucZD8uKaN5hZNsL8kHwuSEx5xl1Td5vNZHu8bRpnGe2JiOecmyagAzPYWZkfSbMP1Cf0A1V_ymFu56_uGcCDOSDhCSE4RZnpPvNMi5lFfUCnYlNXuyA6PcZxGH0HAe_DTPyQB_doI_HVf4TfymVZ_UHWUboXAHdYD_i-_OpkAxrnCgQD70mRmySXUWnxmzydAYB_tJmdMiK3N4V2ef_x2x9SZNZ-cnzauszAeohxsUyQhWx56-vPdAd3nqvxgv8hlWQ5KnJ3CLaZV9B9y7kFoPbbBvOhfUaloNY2hxAjUbV8f2IHFN2WufAR9A39bNwYt-KmA6roamMNhe2IRNK8x_XBDJJljhQBJJTiQVVcLOIqmqjnIaLyk9lcSLY_MOD87-jdsIdUXZE6ph-rLvsNCqEutBLjbc8xdgHe_67h6QomxxmOkmnHIgj7LFvmOrxB8trhpnBl0XlG2QL4XEx_7J52hyjhVtpVtxlOjw6-OyG9j_keIU7_t55izKboY9jozvy-bHtq6peb1VHF8GDB06XqOyeEebAd5H_4i_fsBqoGCrtOFokK8suihb7GFLrdaDnhtqN1906JDv--AfLZUrv4pf70el1Iw6bd7oCF_QsVPnVlX6fZW2WvAvhnJ0VMjhNPdUmH9bZvZ_31z5L_Aeen2QuqTyNyrbnTX1ifW7nH8x2d9l-2-j-aqad7T5DVnH0jvreGi-Eo5pjjun-nuO8r4b_0utcgDjLR95rKmUe0725tR8ddb3OOomT9q9pPnARrc7MYMntG-bcej1xbqeYXv1exEvBrkLISd7ESnS8VkkzYp0PJCUnUhKK0rOIqmo6OD5gOTD8410SvIz5AysRJIPU4Zhdp3Mimx2_CD1ORw83Wvd23BjNENrP1N78uh06Oi_-2B02_THEj9-qJZV2WxIz-QUdTWenkVQNZ4OBE2Hp3cpTpIZWEeNW3Vnct97pqUaJyOy7E_yVswgdd35WT4tDmdbXuYgwaUJzdMsAya1-u6jvFpY9r0Hed2JY6jEaIWjxyibz6ZRNu_LNcP6TJTNoTtOy-bQKlpKBKcBX5C1zmc6dU2VDwwwL7Vx6OkpmDYYTvGR77n9yrRSqCc0u7mgokIiB94GSd0hZci6LEK8DW2IINRWd9XAw_K9WX0Kr79vaFd4E8qhQeuEWoOwcAsbukVwRvgYJpGGo3yPAl8aKZhw8hVca0KzripobahjTpK4Vjq2FvMRiSYJUAvPKEFSezwSPWFdSXA_bD9mBJ83CL1_aQO3QOuu5hmEKY_PIEPlAiC7CTU92zZdOWaDFsHqozqkbQ3C8-YV-iLjYbl065rWj9HWM7c_W7KDut2CKnDm1Q9ojN4KjlD7lRSq0qbuue6Ko9RCjcq3IIf4WDrdFR_LrtBTa-tgg7KpWglrscWu_mvFn_si6a6aG4dPXdVXWKBSgm2Cy1FmtLXgtFJo_bCaPmElJFp4Fm4TxlWSri1sqOF-t-NdoRa2aF5Do9eq0lLq5w6kbrpaHjUIBkP5tsS-esvheYNqwM3d66AAHUDaflkX3rQhTaCvbf9atsq1oW5mhdNGoI2yq2BrHNpmbShH3o_1_e_v5x7dGh2U6BwaWHSOQpLdco_gNlj9vubelV-D8p34LRobFEqLYC7pzMv0C_OKDhxa75tUvYJ2GzT2awXb4KqhNhv3s3btvV7sWB74WDqadKG4w0zyZJwWid89fZRN07RgBJMxTqZx-he-NOlfu05pnmUkGaXZ4azvcygH-7DQV0YadlQc6bp0cbjWPJyTgaf5pb9CoKyjUiK_FiG0DCrHoYfR2kV54lMYudHh-Hz5HJHl0nfqC4Nem5pahyZU_DLgzdMaYgnRdAFrgw3EAtLimEIhAPa8hfpI4OWvHyIFaM0nubeGxc4kwtp-Kr2_iC3GCx81GyHRHGD4fSEgYeEQPk6LmOPWJ25htnODC9bQlbdfIYbu5B84blHqxgcJaCh7omt8C2HTnJ-u_mdHWIj4FWUhEIY7GceI96D2mIz72Yz1KxYbH_K-i6j0Z1jV9zLjG3xeFXbtn8JIeDQJdaCOmWDkTmvJNtTHVGQbpaVe-0BKFmBa5USNby1hXcc-L0r2SN_8SX0GOInTv9oQ0UgySvLRiflcx1etBYtmKxhCpQ3UVNG1j9k-8NQWYrAbavxj7-5ux4AyXTe9IZ2brnDh41OD6u5-z0UwpDcNSNfNOP55a_cGmPcuqvg4jmFdvcFR5vMe-CcwKZpS-y06pDm7QgiUbVWhsT8Qtlvlt8qY9vdk_C4ChxkmIzJKYjKN16jQhPsxGSnifpd7vLuH-4ebm7v7z6vr__5lfne7gN-Rwz9aCSkBQqJsns1CNRx-_bwAkpCs37JO_n345deILIP0H9CFNi5mlPl0SUvBXve7zXDP3t-bAdjvhX4jPNeq95MvqOKCU4c_YW74rU8tnE9fDwqFp0v_ez4THid9yuPfhetN-9tNtHGjcFtKm3VElpVfrPCYHO8DUxwau8fN2geqziPuOye0hwtgIeYkiV_nLT08rPqsIlx-oK79ETM_SeIu-GXGZ9mMXuBlOk0n03ExSbKLzWXBimmC4yLJxhVNaZXjJBlzzlnCs7IgxYW47DgiE5J6JkdZjoRWnBe04DhOiihPsKZC7pm5CHno5SzLyeRC0hKlDbdHCVH43CWpESHR-PrCXAbyynZtvYLCOnuYxQkn8XIR7oTFcJ4LbRetkZf__xtrnUrbS_J_AQAA___yCchI">