<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/113420>113420</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
clang-20 crashed with target attribute at -O1 level. Assertion `(TLI.getTypeAction(*DAG.getContext(), Op.getValueType()) == TargetLowering::TypeLegal || Op.getOpcode() == ISD::TargetConstant || Op.getOpcode() == ISD::Register) && "Unexpected illegal type!"' failed.
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
iamanonymouscs
</td>
</tr>
</table>
<pre>
clang-20 crashed with ```target``` attribute at ```-O1``` level.
Compiler explorer: https://godbolt.org/z/a9T9fseMK
```
$cat mutant.c
int a, b;
int __attribute__((__target__("avx512bw,no-evex512"))) c() {
return __builtin_ia32_kunpcksi(a, b);
}
Also crashed on clang-19.
$clang-19 -O1 mutant.c
clang-19: /home/compiler/llvm/llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp:974: void (anonymous namespace)::SelectionDAGLegalize::LegalizeOp(SDNode *): Assertion `(TLI.getTypeAction(*DAG.getContext(), Op.getValueType()) == TargetLowering::TypeLegal || Op.getOpcode() == ISD::TargetConstant || Op.getOpcode() == ISD::Register) && "Unexpected illegal type!"' failed.
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: /home/software/llvm-trunk-eed7c5e/bin/clang-19 -cc1 -triple x86_64-unknown-linux-gnu -emit-obj -dumpdir a- -disable-free -clear-ast-before-backend -main-file-name mutant.c -mrelocation-model pic -pic-level 2 -pic-is-pie -mframe-pointer=none -fmath-errno -ffp-contract=on -fno-rounding-math -mconstructor-aliases -funwind-tables=2 -target-cpu x86-64 -tune-cpu generic -debugger-tuning=gdb -fdebug-compilation-dir=/home/code/reduce -fcoverage-compilation-dir=/home/code/reduce -resource-dir /home/software/llvm-trunk-eed7c5e/lib/clang/19 -internal-isystem /home/software/llvm-trunk-eed7c5e/lib/clang/19/include -internal-isystem /usr/local/include -internal-isystem /usr/lib/gcc/x86_64-linux-gnu/11/../../../../x86_64-linux-gnu/include -internal-externc-isystem /usr/include/x86_64-linux-gnu -internal-externc-isystem /include -internal-externc-isystem /usr/include -O1 -ferror-limit 19 -fgnuc-version=4.2.1 -fskip-odr-check-in-gmf -fcolor-diagnostics -faddrsig -D__GCC_HAVE_DWARF2_CFI_ASM=1 -o /tmp/mutant-8f4d41.o -x c mutant.c
1. <eof> parser at end of file
2. Code generation
3. Running pass 'Function Pass Manager' on module 'mutant.c'.
4. Running pass 'X86 DAG->DAG Instruction Selection' on function '@c'
#0 0x00007f166cdd9617 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/home/software/llvm-trunk-eed7c5e/bin/../lib/libLLVM.so.19.0git+0xffc617)
#1 0x00007f166cdd5b92 llvm::sys::RunSignalHandlers() (/home/software/llvm-trunk-eed7c5e/bin/../lib/libLLVM.so.19.0git+0xff8b92)
#2 0x00007f166cdd9d91 SignalHandler(int) Signals.cpp:0:0
#3 0x00007f166b8bd520 (/lib/x86_64-linux-gnu/libc.so.6+0x42520)
#4 0x00007f166b9119fc pthread_kill (/lib/x86_64-linux-gnu/libc.so.6+0x969fc)
#5 0x00007f166b8bd476 gsignal (/lib/x86_64-linux-gnu/libc.so.6+0x42476)
#6 0x00007f166b8a37f3 abort (/lib/x86_64-linux-gnu/libc.so.6+0x287f3)
#7 0x00007f166b8a371b (/lib/x86_64-linux-gnu/libc.so.6+0x2871b)
#8 0x00007f166b8b4e96 (/lib/x86_64-linux-gnu/libc.so.6+0x39e96)
#9 0x00007f166e036135 (anonymous namespace)::SelectionDAGLegalize::LegalizeOp(llvm::SDNode*) LegalizeDAG.cpp:0:0
#10 0x00007f166e035b55 llvm::SelectionDAG::Legalize() (/home/software/llvm-trunk-eed7c5e/bin/../lib/libLLVM.so.19.0git+0x2258b55)
#11 0x00007f166e2f9a9f llvm::SelectionDAGISel::CodeGenAndEmitDAG() (/home/software/llvm-trunk-eed7c5e/bin/../lib/libLLVM.so.19.0git+0x251ca9f)
#12 0x00007f166e2f76fc llvm::SelectionDAGISel::SelectAllBasicBlocks(llvm::Function const&) (/home/software/llvm-trunk-eed7c5e/bin/../lib/libLLVM.so.19.0git+0x251a6fc)
#13 0x00007f166e2efbba llvm::SelectionDAGISel::runOnMachineFunction(llvm::MachineFunction&) (/home/software/llvm-trunk-eed7c5e/bin/../lib/libLLVM.so.19.0git+0x2512bba)
#14 0x00007f166e2ebcb3 llvm::SelectionDAGISelLegacy::runOnMachineFunction(llvm::MachineFunction&) (/home/software/llvm-trunk-eed7c5e/bin/../lib/libLLVM.so.19.0git+0x250ecb3)
#15 0x00007f166d8086dc llvm::MachineFunctionPass::runOnFunction(llvm::Function&) (/home/software/llvm-trunk-eed7c5e/bin/../lib/libLLVM.so.19.0git+0x1a2b6dc)
#16 0x00007f166d130a4b llvm::FPPassManager::runOnFunction(llvm::Function&) (/home/software/llvm-trunk-eed7c5e/bin/../lib/libLLVM.so.19.0git+0x1353a4b)
#17 0x00007f166d13d9b1 llvm::FPPassManager::runOnModule(llvm::Module&) (/home/software/llvm-trunk-eed7c5e/bin/../lib/libLLVM.so.19.0git+0x13609b1)
#18 0x00007f166d131814 llvm::legacy::PassManagerImpl::run(llvm::Module&) (/home/software/llvm-trunk-eed7c5e/bin/../lib/libLLVM.so.19.0git+0x1354814)
#19 0x00007f1688ee31eb clang::EmitBackendOutput(clang::DiagnosticsEngine&, clang::HeaderSearchOptions const&, clang::CodeGenOptions const&, clang::TargetOptions const&, clang::LangOptions const&, llvm::StringRef, llvm::Module*, clang::BackendAction, llvm::IntrusiveRefCntPtr<llvm::vfs::FileSystem>, std::unique_ptr<llvm::raw_pwrite_stream, std::default_delete<llvm::raw_pwrite_stream>>, clang::BackendConsumer*) (/home/software/llvm-trunk-eed7c5e/bin/../lib/libclang-cpp.so.19.0git+0x36e81eb)
#20 0x00007f1689625e72 clang::BackendConsumer::HandleTranslationUnit(clang::ASTContext&) (/home/software/llvm-trunk-eed7c5e/bin/../lib/libclang-cpp.so.19.0git+0x3e2ae72)
#21 0x00007f168665609e clang::ParseAST(clang::Sema&, bool, bool) (/home/software/llvm-trunk-eed7c5e/bin/../lib/libclang-cpp.so.19.0git+0xe5b09e)
#22 0x00007f168af3eed5 clang::FrontendAction::Execute() (/home/software/llvm-trunk-eed7c5e/bin/../lib/libclang-cpp.so.19.0git+0x5743ed5)
#23 0x00007f168adf7cbb clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (/home/software/llvm-trunk-eed7c5e/bin/../lib/libclang-cpp.so.19.0git+0x55fccbb)
#24 0x00007f168b03ffd1 clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (/home/software/llvm-trunk-eed7c5e/bin/../lib/libclang-cpp.so.19.0git+0x5844fd1)
#25 0x000055a183cf01bf cc1_main(llvm::ArrayRef<char const*>, char const*, void*) (/home/software/llvm-trunk-eed7c5e/bin/clang-19+0x1d1bf)
#26 0x000055a183ce5a94 ExecuteCC1Tool(llvm::SmallVectorImpl<char const*>&, llvm::ToolContext const&) driver.cpp:0:0
#27 0x000055a183ce42b5 clang_main(int, char**, llvm::ToolContext const&) (/home/software/llvm-trunk-eed7c5e/bin/clang-19+0x112b5)
#28 0x000055a183d0ce25 main (/home/software/llvm-trunk-eed7c5e/bin/clang-19+0x39e25)
#29 0x00007f166b8a4d90 (/lib/x86_64-linux-gnu/libc.so.6+0x29d90)
#30 0x00007f166b8a4e40 __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x29e40)
#31 0x000055a183ce16d5 _start (/home/software/llvm-trunk-eed7c5e/bin/clang-19+0xe6d5)
clang: error: unable to execute command: Aborted (core dumped)
clang: error: clang frontend command failed due to signal (use -v to see invocation)
clang version 19.0.0git (https://github.com/llvm/llvm-project.git eed7c5e29c1dc5f78bd01608430e2b4e0c439bb1)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /home/software/llvm-trunk-eed7c5e/bin
Build config: +assertions
clang: note: diagnostic msg:
********************
PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
Preprocessed source(s) and associated run script(s) are located at:
clang: note: diagnostic msg: /tmp/mutant-8b59c6.c
clang: note: diagnostic msg: /tmp/mutant-8b59c6.sh
clang: note: diagnostic msg:
********************
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzsWk1T3LjW_jVmo3KXLX8vWDTdNKFeMlDAZN5dlywdGw225CvJQObX35LsbuwGkjAJU7O4KQLdsnT0PEfnS5KJ1rwWAMdecuIl6yPSmzupjjlpiZDiayt7TfVRKdnXY9oQUfs4QFQRfQcMPXJzh7w0GH4MUTWY_VdEjFG87A0gYp57-Zfhc5cGHqBZeMHaC5bD75VsO96AQvDUNVKB8qIlujOm01609PDGw5taslI2ZiFV7eHNXx7ekOK2qDR8_r-ppP0s41ccU2JQ2xsizIIOjVwYRDy8QqUXnTw3bbd77Nuth3MP59vtQG_8jsnDUxLi8tHDKyF9eAD71cPYw8Xwg6jrWCAvGyUjBaZXAm23Zc8bw8WWkwhv73vR0XvNPZyPUHCxR-Nl6ymnZaPlXvtSoGFFwmKmQst0bEf-ZXhAeffI6tXDmzvZgoc3dFS7hzdN89BO_vDSw5uVZHAGwsObG2iAGi7Fennm4c0F1KThf8F6ebagXedFyyKLregHyRmylHZGhARpQXeEguO39KLlVNZO0PBk9-2y83B-s_5NMkAeXg4j0VJrUHacsyqc316cL2owt187WDp5TvNLi6kGs5LCwJMZVsMq-LKzzV9I04MdsntQIC9ae9Ea3bqFvpCPoLioB0C2owOFvGzlZTshlx2VDHYLPQw_v1mPY5yclRTa6v8dA6-h5trYxSiQh1MPp8jD-HcBTx1QAwzxpnFYjIMfOrPLUEV4A2w0hauL0-XNKdJ92XKDCCr7GinopDLIyEOH4uauLxdUtvPl9zsl_wRqPLzhWvegPbxBRDDEBW16BsjcwWCNqCT03ii3uCvUKeiUpKA1MKRlr4ZmO5JoLSknloTqBdJU8c6MkG8MofeI9a01o6EpWKArJWtFWkRU3bcgjJ4brpaVeSQKdpCN6sW9D8AymtjGklurffYHSkPkG8W7BtBTnm7T2O_FvZCPwm-46J_8WvTIh5YbX5Z_It_CYVwh4iOfcU3KBvxKASCfNkCUT7TxS6ikAt_qAARDfku48CvegG9tfu9_yG8VNJISa6J-Kxk0qOMU-R2nvouECA9fuPY7DshvK0Va8DvJhTWHaC2kAORXLTF3PiglJPKrqvOpFFb5xovWUiC_EtJXsheMi9q3fZHfUmuGqqdGKp80nGjQyK968cgF842lpb1ojZE_hDmfdr3Vj5_GyDe9ANdQgwBlETMo-7oGZR85H1nXrER-5dr9IZgMNBm3uKeBxpr9RgHrqaVC5QMoUsN7BikYjMr2e4cpDKHMmYKHN9YYnFoFaXyuv2oD7U8Isz4yesWrYnvtYqukpPnBrm6CmlIPb0ZD3RuonTH08GaxePnrlb4vZ4Mn-4G-nHXs-oqcb49-_xQuNfkVKCWV33AbpeySVLXoqf8ASts4Hq3jBV7Yfvqed75kyqd3QO99Lvy6rZz9NFL5jJNaSG04tVZNGFOa18hfb7dnq9X20_LL6Xb9x_J6g7erzfl2efPZi9Yh8qVFZdrOw5vBSf28ilkcLiTynxA9yJzhArl_XrQCWXnRKeqI0qBseWP9XlbIOv3QGY-dbeYc_MaZ9vAwGh9e98K6D-qI1sjD2aYXLn-hK9vwmQhS2yyQ2VTfStY3Ngtme1Q4GyNn_Ia8_89TtF6e-V50ul6eofMxBNgZ9rl3FF_tpvZw5sWBFT5WLR6OAhQ8BUEQZFWYppSxIg0z5BKFy1f6qx4-XCkujAvjt0MuyJ87KfK4ldooIK3LaSvEhRkyXP7ecO4MfXCQhpcXF18-L7RchMUiqLnx8EnwVFU0DTOb1_ckwgMSSVng10hc9-KG14I0n4hgDSi9y9IfgzMvCzzDiQ-VzYoQzRB5OB91NzTrsfQK3P-9oGgqqMxLluBgZDFgeiVUNLykFmPq0MU4wcEMXDyTWYRhUVHUmTsFhG3vedO8b4IiLSo6myA5BB1nKaq14_le8HGWzmSnc9kkyqoIkdLWRO-SjPOsimaSsxeSw_LdMsNyJjM_0EQMRfo-mVEBxVwDxVQmBFEaRskvqtKfPWmo14dyHb3cIEys1HplcAApKZNk4paz_cZs1o90S4yTvEySve4s0Fn8AFwVpKjeAHp-A83QOm6cloKdtty4PdMHok5CSopqhhofoM7Sin4X9dC6bJoTojk9aSS917Ml3icqV1a6eP5xnEg6iRGWUzTnBFVZku9yUr24FJ8JveMCdvBnnF48-1BSuCzJjFR8QKqkZfQNUtYL6Nd_I7UAaBnNqM1iOsuDPGVTGzxAZ2ufCa9XCf0TTEKCy5TNLW-WQVgYBSQuJ0w2Vxb8rm77N3CIkojE5YxDdsCBFWX4Axw-u_pzblZj00fiT4OiDGf48wP8YR7GE_zNxDEmTM7b7jkQ_OMskjgP4xmLaSbOc4AohHI4zhtQ2XRxMhwoXPam642H88nj9fOG51TUXMBYU0-6fALCQN0AUfTusrOWpifhetZ1zFLf6TWcZ32n0wUR9WtdJpHMKC7qa6jmzbtlWB4IHJWwO9ibDjkXRvWaP8A1VCthrozyotXz44dqjCMb3sCN24V60akVoQ0bnvSC_6eHbXcw0u5VukfFDWx3O5bJIAYV6RuzZdCAge8MjE7HOV9SWkmh-9aW88tfYnrDIRftukP7i1LIQ5hFATwtu_IixQlk-FsYB5Ny-49bRYQeTmp-F_zAMJc3t_sD11_jUW_TAkwgwzNa0yItT9MkDQqY0rqyO_blze0c9A20ZLTTUsrm-e9HwoekDAqYoZ8WazmpIgCWTNFvlFXt3hmGQPEEtDe_rBp-E26SxRGwWUmMoxleVmW0LOdxZbhVOHdH4BRmiPdH9W8T_GgLSpKK0nLuGNM6LC-DqKpYOAvMA_pnag_jie6cyQvqH-3kSR7HFZulSrwrvJKEhHlEqyAsK0RpuG0JnyfBpVLkq43J0YreEbUL3ctd8Jq14ZW73vn7lPZ3UC47srCc7VlwOocNCSlitNP7Krx1rjndcLakab4ANXJM869wOEhCVsYYp2Z7GKb4A6hXd6o4O4AV43L0zp0-3anMoC2nnOWPTfrTGgxxOXfMfAaVBRRwgizIn54rKgDP5yoOzj5iVrzzmAkXrAimMucHjlYmxAHabu2wrTZEme2EzA_PAvF8lvBgQcOUJWiQ_9N6gnQSK3dxAbnTbvuhF6RsABmJYLBrRGXbEsHc_WYplQF3fUqlAnclBuwb0lwLqsbguRM1Xggi1ruJns_Qeg3If3BtAIhPIth0BjQewiMbZVycsWPfd3O4sKNGPeGChowmVZaXLAjTII-jAHAZQ0DjqCgnVf5QaFpib93Qjf3csSNyN2m2dyc1fxoeubDbNMDWXL3_wtCJOOl5Y3UpKl4PIk7I7uJZH6yEkLYQXKLnewjU6mHUaG0_8TO52h9vdZe3t8vVJ3T76RRtLi8uLv84_-0Mbc4vTm_Q7aVrPvn9DF2fXl1e3-7vUq9eu5XNtQ1Ab97M7jsoQO7mEhgiZi_yR_gfXrCUSUHT2csIf0uAvnvvEvyqhdi9VnLEjiNWRAU5guMww0WaFFkeHd0dVzSLaJjEhLGoiIOKZClJWEXSMoOgxOyIH-MAx2GAoyAJoiBasCwOCxZGZYgZRDn24gBawpuFtdCFVPWRu38_DsMoxsFRQ0potHthB2MBj8g99TD2kvWROnZmXfa19uKg4droZzGGmwbeeI9nuPidv7XjX4bjOzr_e-nimy9dHPWqOf77b1WMC_twjP8bAAD__81RcJE">