<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/118884>118884</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[llvm][Hexagon] `Call operand #1 has unhandled type v8i1` crash in `llvm::HexagonTargetLowering::LowerCall()`
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
alexrp
</td>
</tr>
</table>
<pre>
```llvm
target datalayout = "e-m:e-p:32:32:32-a:0-n16:32-i64:64:64-i32:32:32-i16:16:16-i1:8:8-f32:32:32-f64:64:64-v32:32:32-v64:64:64-v512:512:512-v1024:1024:1024-v2048:2048:2048"
target triple = "hexagon-unknown-linux4.19.0-unknown"
define fastcc void @simd.firstIndexOfValue__anon_206862() {
Entry:
call fastcc void null(ptr null, <8 x i1> zeroinitializer)
ret void
}
```
```console
❯ llc --version | head -n2
LLVM (http://llvm.org/):
LLVM version 19.1.5
❯ llc reduced.ll -mtriple hexagon-linux -O0
Call operand #1 has unhandled type v8i1
UNREACHABLE executed at /home/alexrp/Source/llvm-project/llvm/lib/CodeGen/CallingConvLower.cpp:137!
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0. Program arguments: llc reduced.ll -mtriple hexagon-linux -O0
1. Running pass 'Function Pass Manager' on module 'reduced.ll'.
2. Running pass 'Hexagon DAG->DAG Pattern Instruction Selection' on function '@simd.firstIndexOfValue__anon_206862'
#0 0x00007cfaa564fc22 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) /home/alexrp/Source/llvm-project/llvm/lib/Support/Unix/Signals.inc:727:3
#1 0x00007cfaa564d58f llvm::sys::RunSignalHandlers() /home/alexrp/Source/llvm-project/llvm/lib/Support/Signals.cpp:105:20
#2 0x00007cfaa564d926 SignalHandler(int) /home/alexrp/Source/llvm-project/llvm/lib/Support/Unix/Signals.inc:413:1
#3 0x00007cfaa4042990 (/lib/x86_64-linux-gnu/libc.so.6+0x42990)
#4 0x00007cfaa4099a1b __pthread_kill_implementation ./nptl/pthread_kill.c:44:76
#5 0x00007cfaa4099a1b __pthread_kill_internal ./nptl/pthread_kill.c:78:10
#6 0x00007cfaa4099a1b pthread_kill ./nptl/pthread_kill.c:89:10
#7 0x00007cfaa40428e6 gsignal ./signal/../sysdeps/posix/raise.c:27:6
#8 0x00007cfaa40268b7 abort ./stdlib/abort.c:81:7
#9 0x00007cfaa556fd1e (/opt/llvm-19/bin/../lib/libLLVM.so.19.1+0xd6fd1e)
#10 0x00007cfaa598917d llvm::raw_ostream::operator<<(llvm::StringRef) /home/alexrp/Source/llvm-project/llvm/include/llvm/Support/raw_ostream.h:230:19
#11 0x00007cfaa598917d llvm::raw_ostream::operator<<(char const*) /home/alexrp/Source/llvm-project/llvm/include/llvm/Support/raw_ostream.h:257:28
#12 0x00007cfaa598917d llvm::CCState::AnalyzeCallOperands(llvm::SmallVectorImpl<llvm::ISD::OutputArg> const&, bool (*)(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&)) /home/alexrp/Source/llvm-project/llvm/lib/CodeGen/CallingConvLower.cpp:134:17
#13 0x00007cfaa8e07a0c llvm::HexagonTargetLowering::LowerCall(llvm::TargetLowering::CallLoweringInfo&, llvm::SmallVectorImpl<llvm::SDValue>&) const /home/alexrp/Source/llvm-project/llvm/lib/Target/Hexagon/HexagonISelLowering.cpp:440:3
#14 0x00007cfaa61611a8 llvm::SmallVectorBase<unsigned int>::size() const /home/alexrp/Source/llvm-project/llvm/include/llvm/ADT/SmallVector.h:92:32
#15 0x00007cfaa61611a8 llvm::SmallVectorImpl<llvm::SDValue>::operator=(llvm::SmallVectorImpl<llvm::SDValue> const&) /home/alexrp/Source/llvm-project/llvm/include/llvm/ADT/SmallVector.h:1025:28
#16 0x00007cfaa61611a8 llvm::SmallVector<llvm::SDValue, 4u>::operator=(llvm::SmallVector<llvm::SDValue, 4u> const&) /home/alexrp/Source/llvm-project/llvm/include/llvm/ADT/SmallVector.h:1256:34
#17 0x00007cfaa61611a8 llvm::TargetLowering::LowerCallTo(llvm::TargetLowering::CallLoweringInfo&) const /home/alexrp/Source/llvm-project/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp:11092:16
#18 0x00007cfaa616c76f llvm::SelectionDAGBuilder::lowerInvokable(llvm::TargetLowering::CallLoweringInfo&, llvm::BasicBlock const*) /home/alexrp/Source/llvm-project/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp:8688:3
#19 0x00007cfaa61832bc llvm::SelectionDAGBuilder::LowerCallTo(llvm::CallBase const&, llvm::SDValue, bool, bool, llvm::BasicBlock const*, llvm::TargetLowering::PtrAuthInfo const*) /home/alexrp/Source/llvm-project/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp:8835:3
#20 0x00007cfaa61adfe8 llvm::SelectionDAGBuilder::visitCall(llvm::CallInst const&) /home/alexrp/Source/llvm-project/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp:9442:16
#21 0x00007cfaa61ae5c0 llvm::Value::getValueID() const /home/alexrp/Source/llvm-project/llvm/include/llvm/IR/Value.h:533:12
#22 0x00007cfaa61ae5c0 llvm::Instruction::getOpcode() const /home/alexrp/Source/llvm-project/llvm/include/llvm/IR/Instruction.h:274:49
#23 0x00007cfaa61ae5c0 llvm::Instruction::isTerminator() const /home/alexrp/Source/llvm-project/llvm/include/llvm/IR/Instruction.h:277:50
#24 0x00007cfaa61ae5c0 llvm::SelectionDAGBuilder::visit(llvm::Instruction const&) /home/alexrp/Source/llvm-project/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp:1348:22
#25 0x00007cfaa623505c llvm::ilist_detail::node_base_prevnext<llvm::ilist_node_base<true, llvm::BasicBlock>, true>::getNext() const /home/alexrp/Source/llvm-project/llvm/include/llvm/ADT/ilist_node_base.h:42:38
#26 0x00007cfaa623505c llvm::ilist_node_impl<llvm::ilist_detail::node_options<llvm::Instruction, true, false, void, true, llvm::BasicBlock>>::getNext() const /home/alexrp/Source/llvm-project/llvm/include/llvm/ADT/ilist_node.h:125:66
#27 0x00007cfaa623505c llvm::ilist_iterator_w_bits<llvm::ilist_detail::node_options<llvm::Instruction, true, false, void, true, llvm::BasicBlock>, false, true>::operator++() /home/alexrp/Source/llvm-project/llvm/include/llvm/ADT/ilist_iterator.h:345:25
#28 0x00007cfaa623505c llvm::SelectionDAGISel::SelectBasicBlock(llvm::ilist_iterator_w_bits<llvm::ilist_detail::node_options<llvm::Instruction, true, false, void, true, llvm::BasicBlock>, false, true>, llvm::ilist_iterator_w_bits<llvm::ilist_detail::node_options<llvm::Instruction, true, false, void, true, llvm::BasicBlock>, false, true>, bool&) /home/alexrp/Source/llvm-project/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp:836:79
#29 0x00007cfaa6235d00 llvm::SelectionDAGISel::SelectAllBasicBlocks(llvm::Function const&) /home/alexrp/Source/llvm-project/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp:1868:33
#30 0x00007cfaa62375dc llvm::SelectionDAGISel::runOnMachineFunction(llvm::MachineFunction&) /home/alexrp/Source/llvm-project/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp:632:22
#31 0x00007cfaa8ddd5e4 llvm::HexagonDAGToDAGISel::runOnMachineFunction(llvm::MachineFunction&) /home/alexrp/Source/llvm-project/llvm/lib/Target/Hexagon/HexagonISelDAGToDAG.h:47:17
#32 0x00007cfaa6222b57 llvm::OptLevelChanger::~OptLevelChanger() /home/alexrp/Source/llvm-project/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp:268:11
#33 0x00007cfaa6222b57 llvm::SelectionDAGISelLegacy::runOnMachineFunction(llvm::MachineFunction&) /home/alexrp/Source/llvm-project/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp:375:1
#34 0x00007cfaa6222b57 llvm::SelectionDAGISelLegacy::runOnMachineFunction(llvm::MachineFunction&) /home/alexrp/Source/llvm-project/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp:346:6
#35 0x00007cfaa5b96fdf llvm::MachineFunctionPass::runOnFunction(llvm::Function&) (.part.0) /home/alexrp/Source/llvm-project/llvm/lib/CodeGen/MachineFunctionPass.cpp:94:33
#36 0x00007cfaa580d807 llvm::FPPassManager::runOnFunction(llvm::Function&) /home/alexrp/Source/llvm-project/llvm/lib/IR/LegacyPassManager.cpp:1450:7
#37 0x00007cfaa580da41 llvm::ilist_detail::node_base_prevnext<llvm::ilist_node_base<true, void>, true>::getNext() const /home/alexrp/Source/llvm-project/llvm/include/llvm/ADT/ilist_node_base.h:42:38
#38 0x00007cfaa580da41 llvm::ilist_node_impl<llvm::ilist_detail::node_options<llvm::Function, true, false, void, false, void>>::getNext() /home/alexrp/Source/llvm-project/llvm/include/llvm/ADT/ilist_node.h:117:66
#39 0x00007cfaa580da41 llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::Function, true, false, void, false, void>, false, false>::operator++() /home/alexrp/Source/llvm-project/llvm/include/llvm/ADT/ilist_iterator.h:187:25
#40 0x00007cfaa580da41 llvm::FPPassManager::runOnModule(llvm::Module&) /home/alexrp/Source/llvm-project/llvm/lib/IR/LegacyPassManager.cpp:1485:22
#41 0x00007cfaa580e2c4 runOnModule /home/alexrp/Source/llvm-project/llvm/lib/IR/LegacyPassManager.cpp:1562:7
#42 0x00007cfaa580e2c4 llvm::legacy::PassManagerImpl::run(llvm::Module&) /home/alexrp/Source/llvm-project/llvm/lib/IR/LegacyPassManager.cpp:541:55
#43 0x0000655249964a3c compileModule(char**, llvm::LLVMContext&) /home/alexrp/Source/llvm-project/llvm/tools/llc/llc.cpp:742:34
#44 0x0000655249958f77 main /home/alexrp/Source/llvm-project/llvm/tools/llc/llc.cpp:409:35
#45 0x00007cfaa4028150 __libc_start_call_main ./csu/../sysdeps/nptl/libc_start_call_main.h:74:3
#46 0x00007cfaa4028209 call_init ./csu/../csu/libc-start.c:128:20
#47 0x00007cfaa4028209 __libc_start_main ./csu/../csu/libc-start.c:347:5
#48 0x0000655249959cf5 _start (/opt/llvm-19/bin/llc+0x13cf5)
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzcWl9zmzrT_zTKjcYeIfH3IhfEjnsyk55kmpzeegTIWG9lwQjhJr14P_szEsIGx3HTpEmf83RSDAJWv_3taneFRJuGl5KxcxBcgGB-Rlu9rtQ5FexB1WdZVTyegxB1f0JsNwClmqqSaVhQTQV9rFoNAZlDgDGbbABJ2aQGJCV4f5hQQFI0kV7YXfLQByR1hwkfPcrtQ-4w4R4gaWz-T1ajx1YjEdvRve34XuCZ9t1xsvUQNvcGP5MtRr7pZviD8V5XrXgtWK_nmj3QspKTVn6T1Xc5EVy2D_7US6aob-veBigt2IpLBle00XkOtxUvIPBRwzfFdMVVo69kwR5uVl-paNlySWUllxiFcYgBjgFOIIguAEovpVaPgBiBEOZUiJFA2QoBcFxr5U5nEJBZDB-g4e8S_mCq4pJrTgX_wRTAiZWjmLbvG6DR3Bx7Q3fQd5d5JZtKMNN0iUEyB-kCCpHDyWTLVMMrCUE0g2tGCziRRu_r66-fIcDxWmvjCwAvAF4Y75lWqrRXSa-MfbQX4yVTbxo86Uexos1ZMRUCTjbOFL0NLPdwcmMwzwwxVc0UlQUEmHhwTRvYyjWVhWAF1I81g9uYewCl__z95TKd_ZVeXF9C9sDyVrMCUg0BXqyrDQN40Q0BgBd3Vaty5jSY1Kr6P5Zrd2l-eAbwYlYV7BOT5owKwWU5q-T2uvrO1DSvDQkeiQA2Pd9eX6Z3l7Bpsw3XkMKsLaFidaU01BU0lDU7zkqu1202zavNoL8xCt40LWsAXkCjNZe5aAsG9ZrBXNFmDTOaf9OK5mwKUHqnaf4NFu2m7vhHU2j_3aqqVHQDqSrbDZPaIPgl6j0n6EsrJZclrGnTQICjRStzbUx7axo-U0lL44ARrCTcVEVrBhWO9r0AHBmc-Blxf3Vdw3n6aQLI5Tz9BG-p1kxJeCUbrdquszsmmD1zPa16FABHLx19kXFPgAmC6AEhhKJ8RWkQ-qscY2hNQVJA0uax6U5uFZfa8ntv2AY43j-k6Pdl1WjF6Abg0IxPLrUd3a_0tru2Ng4D8OIfyR9MAy8lFc2UyxyQNMKRCYVOA-9AgyKIV8c0-NLKTsxfdryopg9BbwbZo3MjAQU2xjp4-BBegkM4AgJw_L58-R4xuBwgMgTkIx8nCYKWCyftIQ6Xod_5_6SUbXcjnzbVNAT4Aj3YV1yYBZj4Y4FJQr0MLpe1XitGi-U3LsSSb2rBzNCj1lGnAC9krQXAi-FjU4vWpK0odMKDlwiXZohQcVJsFFvbOLHhMbHDd07KipOhrOiQ0JiFsGysCayY7hTgxdRePTYFq01Iq6vGWktR3jAr2Dp2r3o8lovDOIsgzUwktXJ00dnLNnW4TD3Rj-xk5HhBuCo85uxc1b0LTbwE4EXGZY-uEyl4ZjKXMblJWtbqhZXQmd0Mu3HkSOLEiwp4PCjYBpu5dKUAmZm_YQC504rL8gtbvW4QuKywb9iPhwGK6doQTJAxXa-D91Yd8jVV0BQQGuD0_dEHxj9w7NDj0-hnsztNNesuUknF4w9msvdNV0I0YxNsqBBfWa4rdbWpBSCz_b2ru3l3ctPqutWpKk3Z5bS28T6rKtH5liEB4LiVtu4uukwwG6D6_PX-Jw2z2VcqUlu4dw3XVX4lV9X4qR2oVJULQcvm_vFQTKe-QZi8Jbq-oPaxlXbkzDIKsDFDEUX5AJdL8ve29LZiuCx7Rb8zZToZmebYk-ahvqXjJhxrf8qed3NbEQBy2ZHTmfLV_HT4AF44zfZnV3dsh9Jx5fvI5W5D1Sh1hF7oeTQ-rsQFbRggs5FfkUuX4vkP5pL5azV5MgjT-b15aw_ADsDETcQ69MGL0Z8ywUFgmb94WO5lDMbib4lAx5X3EA6G4Sd8sfpHYeMZ9NtfIeCklA-iAAd2ku87CqLTFJwc4_fV60b5W4frPpzt5hHz9NPB5UXLRbEPcB6ynu-FTu_4QO88Coc19xFJ3Q1hlLmS2-obzQR7e5S7oA3PL0SVf3tjEn41NXEYx4OAloyJiQnO8pcQ85xXmCYT-kbZ9ugoMCl4-PsTkmY_cdNbrdJWrw3rf4zamAR7ajEaU0uLFYtfQu2WN1w_Saqmwcyp3xg3Xq1c4vvDEYW9A-1YkKOBdi7Sm9OSaXt1Nf_dOe_qC8ALK9sGu4DYaaPLdhifRjj4QLHDeVPnVfHbU7OFOeiuK40jU4P5rrDH5BfB8uaeqQ2XNgV9DF5TygfI4fVP4z3t3CPHHn4o-kO-7ZHuM3PvOeM6CZMABcOgyAVv9LJgmnLRtciqYMuMNmxZK7aV7EGPcn_3wu4hQGZadUHwWNCzZe4M2kf6aqNk-m8j9V2KxgN41tx2sBNXOeHwJYRYAfyw6HuGrKo2lmjG07aBk_cE4BlcUdHYE_txfHDjOfI-mLS-0AIkDfvoGL2EMK67EnL5fZlx3fxp2obvjJxvV-riC_v3yq-QJ4nsubBkEt_W7YEjMz5N5nBcmwncsHWg4TDm_Gv4Hz3-b0LdVXXvH8iNwfvyi5ipTtRn1OTQawr0XIY69JrU1rBOyfFnp90CyoelqoGGXhza2t1VmOO1kBCTKCh-PjBUK2_kZ5qvuWS9NiMVn9z7UB1Du2zcp-LxYklcFEXA_Kffpubpp_vqT2p5-pNSD6_LrNHg29t4tSXEGGdBNNDvptbXbMvEbE1l2ddQ_3_Y-rZ1oV-1ELZO6HlOA3Jag0Mh16yk-eO_whVJFLhlKKOn_7-rpx-6VRyj56j4DbIkXBXDTyUHUG9p0wyUPKrdE7XiaU2VnqLfo-QRRLs56zBajorYIEZFjIYGXNyaN_sl8V9V6XVK2JlW5ymDzvto7wfILY8Z-NEhfOp77zMpsan_v24SMl5efI6AN09C9pY9URSNG56dcrzbZMOLBpONg4XTZ4jpy8aP5WXY1p38sUmFF0eDSYWPTpP2XDT4bDfJjIO3a3rPSBAHg6LI9w6wM5z7cADvnVAEId7HIx8fA7FnRQzy30BWtyjk6PxgGgPfM8feA_rCJQwC7CdJ6FOSw7za1FywnZnzNVX2S_LBJ-jr66-fZ5XUdrC_ErKuKtHYy7w7OpxRF_fcmo3vj3EG8SqK4IZy-Ru79FFiuuypOdjEgmMvQHC5FDzLl42mSi9zKsTSgpgCvMib9uluEbcZ5dhLdkDaD6AuOfvhYY8YJXZn5ZJLrg876U6N5ImVbDeTeDju9zEZidExiSMdjsE_KpnYmr0nJz6wR5KvAtiJPLldxXJ-gR48kq8Cty2l39J5VpyTIiEJPWPnXkSIT4Ioic7W53mYrcLICzI_imhQFJSu8oggljEUByigZ_wcI-x7GAXYC0ISTTM_Rh41ZVvuJ8iPgI_YhnIxFW7D55ndonjueXEc-2eCZkw0drsxxpJ9h_YuwBgE8zN1bpXI2rIBPjIxtdmL0VwLu0_Z-lYwB8FFP_sJ5hCE6OX7P0Pkdkcap3Ybm39l74FhM0RnrRLnr9-w6QjZnuP_BAAA__-Qfydz">