crash: Assertion failed: (VAs.size() >= 2 && "Expected at least 2 VAs."), function int, file RISCVCallLowering.cpp

Run:main-bc8218b282-20261015-074651
Kind:crash
Category:Assertion failed: (VAs.size() >= 2 && "Expected at least 2 VAs."), function int, file RISCVCallLowering.cpp
Occurrences:2 in 1 configs, 1 test files
Snippet from:fastcc-bf16.ll @callee via llvm-extract + llvm-reduce
Config:-mtriple=riscv32 -mattr=+zfbfmin -target-abi=ilp32 -verify-machineinstrs
Local check:reproduces at bc8218b282
Compiler Explorer:https://godbolt.org/z/PGbW5GG3v (llc-assertions-trunk, checked 2026-10-14 11:03 UTC): G reproduces

Snippet:

define fastcc bfloat @callee() {
  ret bfloat 0.000000e+00
}

Compiler Explorer panes:

PaneOptionsExitInstsstderr
GlobalISel-mtriple=riscv32 -mattr=+zfbfmin -target-abi=ilp32 -verify-machineinstrs -global-isel -global-isel-abort=2 -pass-remarks-missed=gisel.*1340llc: /root/llvm-project/llvm/lib/Target/RISCV/GISel/RISCVCallLowering.cpp:117: virtual unsigned int {anonymous}::RISCVOutgoingValueHandler::assignCustomValue(llvm::CallLowering::ArgInfo&, llvm::ArrayRef<llvm::CCValAssign>, std::function<void()>*): Assertion `VAs.size() >= 2 && "Expected at least 2 VAs."' failed.
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace and instructions to reproduce the bug.
Stack dump:
SelectionDAG (control)-mtriple=riscv32 -mattr=+zfbfmin -target-abi=ilp32 -verify-machineinstrs -global-isel=002-

Reproduce:

llc -mtriple=riscv32 -mattr=+zfbfmin -target-abi=ilp32 -verify-machineinstrs -global-isel -global-isel-abort=2 -pass-remarks-missed=gisel.* snippet.ll -o -
llc -mtriple=riscv32 -mattr=+zfbfmin -target-abi=ilp32 -verify-machineinstrs -global-isel=0 snippet.ll -o -

Local llc output:

llc: /home/runner/work/llvm-fuzz/llvm-fuzz/llvm-project/llvm/lib/Target/RISCV/GISel/RISCVCallLowering.cpp:117: virtual unsigned int (anonymous namespace)::RISCVOutgoingValueHandler::assignCustomValue(CallLowering::ArgInfo &, ArrayRef<CCValAssign>, std::function<void ()> *): Assertion `VAs.size() >= 2 && "Expected at least 2 VAs."' failed.
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace and instructions to reproduce the bug.
Stack dump:
0.	Program arguments: /home/runner/work/llvm-fuzz/llvm-fuzz/llvm-project/build/bin/llc -mtriple=riscv32 -mattr=+zfbfmin -target-abi=ilp32 -verify-machineinstrs -global-isel -global-isel-abort=2 -pass-remarks-missed=gisel.* -o -
1.	Running pass 'Function Pass Manager' on module '<stdin>'.
2.	Running pass 'IRTranslator' on function '@callee'
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       0x0000559cd428154b llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) + 43
1  llc       0x0000559cd427e3f1 llvm::sys::RunSignalHandlers() + 369
2  llc       0x0000559cd4281fcb
3  libc.so.6 0x00007f34f9245330
4  libc.so.6 0x00007f34f929ec0c pthread_kill + 284
5  libc.so.6 0x00007f34f924527e gsignal + 30
6  libc.so.6 0x00007f34f92288ff abort + 223
7  libc.so.6 0x00007f34f922881b
8  libc.so.6 0x00007f34f923b517
9  llc       0x0000559cd549e5b8
10 llc       0x0000559cd62f0d90 llvm::CallLowering::handleAssignments(llvm::CallLowering::ValueHandler&, llvm::SmallVectorImpl<llvm::CallLowering::ArgInfo>&, llvm::CCState&, llvm::SmallVectorImpl<llvm::CCValAssign>&, llvm::MachineIRBuilder&, llvm::ArrayRef<llvm::Register>) const + 928
11 llc       0x0000559cd549b42d
12 llc       0x0000559cd6345eef llvm::IRTranslatorImpl::translateRet(llvm::User const&, llvm::MachineIRBuilder&) + 239
13 llc       0x0000559cd635d43d llvm::IRTranslatorImpl::runOnMachineFunction(llvm::MachineFunction&, llvm::function_ref<llvm::GISelCSEInfo* ()>, bool, llvm::function_ref<llvm::AAResults* ()>, llvm::function_ref<llvm::BranchProbabilityInfo* ()>, llvm::function_ref<llvm::AssumptionCache* ()>, llvm::TargetLibraryInfo*, llvm::LibcallLoweringInfo const*, llvm::SSPLayoutInfo*) + 4253
14 llc       0x0000559cd635e42d llvm::IRTranslatorLegacy::runOnMachineFunction(llvm::MachineFunction&) + 733
15 llc       0x0000559cd48489ed llvm::MachineFunctionPass::runOnFunction(llvm::Function&) + 653
16 llc       0x0000559cd45d8d37 llvm::FPPassManager::runOnFunction(llvm::Function&) + 871
17 llc       0x0000559cd45e1232 llvm::FPPassManager::runOnModule(llvm::Module&) + 50
18 llc       0x0000559cd45d9ae0 llvm::legacy::PassManagerImpl::run(llvm::Module&) + 2000
19 llc       0x0000559cd4288ba8 llcMain + 12056
20 llc       0x0000559cd41c36af main + 63
21 libc.so.6 0x00007f34f922a1ca
22 libc.so.6 0x00007f34f922a28b __libc_start_main + 139
23 llc       0x0000559cd41c35a5 _start + 37

Occurrences (2):

InputFunctionConfig
fastcc-bf16.ll-mtriple=riscv32 -mattr=+zfbfmin -target-abi=ilp32 -verify-machineinstrs
fastcc-bf16.be177ed943.ll (mutant of fastcc-bf16.ll)-mtriple=riscv32 -mattr=+zfbfmin -target-abi=ilp32 -verify-machineinstrs

Generated 2026-10-15 08:05 UTC.