<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/100910>100910</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
x86 backend aborts with "Do not know how to split the result of this operator"
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
ychen306
</td>
</tr>
</table>
<pre>
Reproduce the crash here: https://godbolt.org/z/5Ef61sKoE.
Here's the code triggering the abort, and you need to target avx512 see the abort.
```llvm
define void @_Z24weight_h264_pixels16_8_cPhiii(ptr %out) #0 {
.latch_crit_edge.new:
br label %latch
latch: ; preds = %latch, %.latch_crit_edge.new
%0 = tail call <16 x i32> @llvm.x86.avx512.psrav.d.512(<16 x i32> zeroinitializer, <16 x i32> zeroinitializer)
%conv25.1.0.vec.3 = trunc <16 x i32> %0 to <16 x i8>
br i1 true, label %exit.loopexit.unr-lcssa.loopexit, label %latch
exit.loopexit.unr-lcssa.loopexit: ; preds = %latch
store <16 x i8> %conv25.1.0.vec.3, ptr %out, align 1
ret void
}
```
Trying to lower this code I see this
```
> llc x.ll
SplitVectorResult #0: t16: v16i32 = llvm.x86.avx512.psrav.d.512 TargetConstant:i64<10268>, t9, t15
LLVM ERROR: Do not know how to split the result of this operator!
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0. Program arguments: llc x.ll
1. Running pass 'Function Pass Manager' on module 'x.ll'.
2. Running pass 'X86 DAG->DAG Instruction Selection' on function '@_Z24weight_h264_pixels16_8_cPhiii'
Stack dump without symbol names (ensure you have llvm-symbolizer in your PATH or set the environment var `LLVM_SYMBOLIZER_PATH` to point to it):
0 llc 0x000000010f28b677 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) + 39
1 llc 0x000000010f28a354 llvm::sys::RunSignalHandlers() + 260
2 llc 0x000000010f28bcc0 SignalHandler(int) + 272
3 libsystem_platform.dylib 0x00007fff6d04f5fd _sigtramp + 29
4 libsystem_platform.dylib 000000000000000000 _sigtramp + 18446603338687121952
5 libsystem_c.dylib 0x00007fff6cf25808 abort + 120
6 llc 0x000000010f1ca29f llvm::report_fatal_error(llvm::Twine const&, bool) + 447
7 llc 0x000000010f1ca0db llvm::report_fatal_error(char const*, bool) + 43
8 llc 0x000000010efe3cbc llvm::DAGTypeLegalizer::SplitVectorResult(llvm::SDNode*, unsigned int) + 1340
9 llc 0x000000010efc23e2 llvm::DAGTypeLegalizer::run() + 2754
10 llc 0x000000010efc7afe llvm::SelectionDAG::LegalizeTypes() + 1438
11 llc 0x000000010f0fc48b llvm::SelectionDAGISel::CodeGenAndEmitDAG() + 1739
12 llc 0x000000010f0fb44d llvm::SelectionDAGISel::SelectAllBasicBlocks(llvm::Function const&) + 7917
13 llc 0x000000010f0f8111 llvm::SelectionDAGISel::runOnMachineFunction(llvm::MachineFunction&) + 2065
14 llc 0x000000010ddf6f1e (anonymous namespace)::X86DAGToDAGISel::runOnMachineFunction(llvm::MachineFunction&) + 126
15 llc 0x000000010e600721 llvm::MachineFunctionPass::runOnFunction(llvm::Function&) + 673
16 llc 0x000000010ea67ec2 llvm::FPPassManager::runOnFunction(llvm::Function&) + 1186
17 llc 0x000000010ea6e538 llvm::FPPassManager::runOnModule(llvm::Module&) + 72
18 llc 0x000000010ea6852e llvm::legacy::PassManagerImpl::run(llvm::Module&) + 1102
19 llc 0x000000010dd08f19 main + 9417
20 libdyld.dylib 0x00007fff6ce56cc9 start + 1
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJysV11v2zrS_jXMDVGBpL4vfOF8tcXbvg2S4ODsuTEoaiRzS5MGSTlxf_2ClBwrsU-TPVghsJQR-cwzw_kSd072GmCB8kuUX1_wwa-NXezFGnRKiovGtPvFPWytaQcB2K8BC8vdGq_BAkqXeO391qF0idgtYre9aRujfGJsj9jtL8Ru85uuoO7_zE2CyDUiyy9hHyvdCGVawN7KvgcrdR9lvDHWI3aFuW7x3gxYA7TYG-y57cFjvnvOKcMO4Lh8wkYFGf-U2m1GUQud1IB3RrYYZWT1F8ueQPZrv1qzIltt5TMoR4tVtRJ3ayklYtXWW4xYbgaPWI0RSwlG5eUIlyjuxXolrPQraHtINDwF4-NLjBuLFW9Ahf1x5cQr_o6CdIlReom3FlqHUXp9XMquwvNZDRM8YjmJezyXCguuFEbpFS3wM5YpQ-lNMDHYnjxXRTI6Ktk6y3dJm-SUIVa9Wf8LrJFaesmV_AU2cnhnRT1jI4zesTyhCUl2IJJ0JGcHLU6IBereHMVVlB79JmnYCIHBiwvhWfpEGbOND4O2n5Rwjr-IXi0-8fe7u9Mlfnv9zdFMNJ03Ft6acOqFQGseRFeYK9lrTA84FnyMyIltef0mfMd_H-0-5oTByjyBxX4t3ZgxX6fol-7sxkBLKYGfE6VGycNWSf8HCG_sPbhB-RjWwQGeFuG2o4VMWTT6N_GDH2MKXhntPNfBgbLIgjsIK4Izgqm-jr80nx_Ft29_fMc39_c_7oOya4O18finNk94bZ6ChS4QjPlsR36mG-01W7DcG4sYnQPefbtZPtxgNzQb6THHzdBjC1tjfUB7U5OkXw9NIswGsdtYGcbbp601_wbhEbuVzg3gELuNRUdqoYZ2XuwaLn56ywVMhebBc_ETt8Nm-5L8JEGkvrOmt3yDue2HDWgfSLw5ChrW3Q9ah7PdcucwYuXtoIWXRuO7IPjONe9DqpXYaLwx7aAgrIogrJw4sHNAf1YFvl5-_oTSm-vlZ_xVO2-HEfoBFMSnCbc76ESs_FhlLN8aj5-kX5vBY7ffNEZhzTcQaFSg3WAhVu8130GMqU_jolBEsNThncV3y8cv2FjsYDx80DtpjQ6uwztuMSpICJ3Vw7--X_749vWvm_tV2IKKWEu2Rup43qES1MeTwNHl5JmMFyUdq5qiLCONsCxdur0bH-6s1D5a9BjOF7HquMjyp5Vx3gLfIFaEsJZ66gmXOJ3qIB21nb1eU-Bpnp2jcD_oB9lrrr5w3SqwLpTpSQs75DQ7a5QQBL_ai1g148hKNu5OMVaycXvnYbPaKu47YzdJu1eymSDLruuKlmRd3rV45WTvLd9sR5TJ0ux3ICfXGxBaZVlRkDRNq6IqKaN1PnHL57DilJToWF6Ramz0IxabnFKcOoUKzupu5uaxKqw67rlagbWhlMzO-PEpjAciVLTpjBtj1MGBWTbFfPnBU6aCk7Z5T71Yc3vQuTzRmY4qqxPjoINUNGKGfr38_Ljfwjfop-4cpSfV_pXFD9f_b1qYFA86jn_tPLJpmk3-rT9mNXSCpcDe5WUHPQ_tMs-mFCKnloqSdzBDfKle18vPo-QAHhTNU4ZmaTXh0pPwIJ3IquZvcL8-gBqlV6aFz6CXur3ZSB9UzvDLl9RnHwsK0jVZ1r6rdJQulbrkTopLZcRP9-rkXrrEMVxHSmVNpzil6UcpVTS65_eU7KB_6O9crKWGg_ZXlE7evXBipJhGAJp9iFPbdkVHQ6OruDZ6vzGDGzvKNhbmetT4Z1WE6DL_K56UFRPN_GPBXhBSsrnr3mCHFj5jdZbOGR5FOeU9LU6ygRcliHl-3d4FLYc54b9XRml1sLo8ow3ytPqAtu9xMnnt50l0DM2pytPqjJ4qZ_McV9BzsZ_68lHj181WzQvIb7RRSg766g8GHak6WuMNlzoi1NkhlRgJfandq3bqSScIY3uCvBCixs7zQ3s6O5RftIu0rdOaX8CClozRlNQkvVgvIG2LlmUFVHVVNh3wquY5IXnHWMl4Ry7kghGWkZJVhGY0SxPRNXXKG0aAUmgEoIzAhkuVxNHd2P4izrMLSkhNyUX8QnLxA58xDU84vkWMhe99u4izWTP0Lnw7SufdEcZLr2DxXBVxAAbdjk3YxbkPI8b-2STPLgarFv98SJ_s2i3YfwIAAP__OVvoqQ">