crash: Assertion failed: (MI->getNumOperands() > OpNo + 1 && "Expected additional operand"), function bool, file RISCVAsmPrinter.cpp

Run:explore-bc8218b282-20261015-075519
Kind:crash
Category:Assertion failed: (MI->getNumOperands() > OpNo + 1 && "Expected additional operand"), function bool, file RISCVAsmPrinter.cpp
Occurrences:62 in 10 configs, 2 test files
Snippet from:inline-asm-mem-constraint.ll @constraint_m_2 via llvm-extract + llvm-reduce
Config:-mtriple=riscv32 -code-model=medium -verify-machineinstrs
Local check:reproduces at bc8218b282
Compiler Explorer:https://godbolt.org/z/jvcovaM5K (llc-assertions-trunk, checked 2026-10-14 11:03 UTC): G reproduces

Snippet:

define i32 @constraint_m_2() {
  %1 = tail call i32 asm "lw $0, $1", "=r,*m"(ptr elementtype(i32) null)
  ret i32 %1
}

Compiler Explorer panes:

PaneOptionsExitInstsstderr
GlobalISel-mtriple=riscv32 -code-model=medium -verify-machineinstrs -global-isel -global-isel-abort=2 -pass-remarks-missed=gisel.*1340llc: /root/llvm-project/llvm/lib/Target/RISCV/RISCVAsmPrinter.cpp:512: virtual bool {anonymous}::RISCVAsmPrinter::PrintAsmMemoryOperand(const llvm::MachineInstr*, unsigned int, const char*, llvm::raw_ostream&): Assertion `MI->getNumOperands() > OpNo + 1 && "Expected additional operand"' 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 -code-model=medium -verify-machineinstrs -global-isel=002-

Reproduce:

llc -mtriple=riscv32 -code-model=medium -verify-machineinstrs -global-isel -global-isel-abort=2 -pass-remarks-missed=gisel.* snippet.ll -o -
llc -mtriple=riscv32 -code-model=medium -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/RISCVAsmPrinter.cpp:512: virtual bool (anonymous namespace)::RISCVAsmPrinter::PrintAsmMemoryOperand(const MachineInstr *, unsigned int, const char *, raw_ostream &): Assertion `MI->getNumOperands() > OpNo + 1 && "Expected additional operand"' 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 -code-model=medium -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 'RISC-V Assembly Printer' on function '@constraint_m_2'
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       0x000055ec0661754b llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) + 43
1  llc       0x000055ec066143f1 llvm::sys::RunSignalHandlers() + 369
2  llc       0x000055ec06617fcb
3  libc.so.6 0x00007f59c4245330
4  libc.so.6 0x00007f59c429ec0c pthread_kill + 284
5  libc.so.6 0x00007f59c424527e gsignal + 30
6  libc.so.6 0x00007f59c42288ff abort + 223
7  libc.so.6 0x00007f59c422881b
8  libc.so.6 0x00007f59c423b517
9  llc       0x000055ec078cb922
10 llc       0x000055ec0799c161 llvm::AsmPrinter::emitInlineAsm(llvm::MachineInstr const*) + 2193
11 llc       0x000055ec078d9057 llvm::AsmPrinter::emitFunctionBody() + 4535
12 llc       0x000055ec078c5be7
13 llc       0x000055ec06bde9ed llvm::MachineFunctionPass::runOnFunction(llvm::Function&) + 653
14 llc       0x000055ec0696ed37 llvm::FPPassManager::runOnFunction(llvm::Function&) + 871
15 llc       0x000055ec06977232 llvm::FPPassManager::runOnModule(llvm::Module&) + 50
16 llc       0x000055ec0696fae0 llvm::legacy::PassManagerImpl::run(llvm::Module&) + 2000
17 llc       0x000055ec0661eba8 llcMain + 12056
18 llc       0x000055ec065596af main + 63
19 libc.so.6 0x00007f59c422a1ca
20 libc.so.6 0x00007f59c422a28b __libc_start_main + 139
21 llc       0x000055ec065595a5 _start + 37

Occurrences (62) (first 50):

InputFunctionConfig
inline-asm-mem-constraint-2.ll-mtriple=riscv32 -code-model=medium -verify-machineinstrs -no-integrated-as
inline-asm-mem-constraint-2.ll-mtriple=riscv32 -verify-machineinstrs -no-integrated-as
inline-asm-mem-constraint-2.ll-mtriple=riscv64 -code-model=medium -verify-machineinstrs -no-integrated-as
inline-asm-mem-constraint-2.ll-mtriple=riscv64 -verify-machineinstrs -no-integrated-as
inline-asm-mem-constraint.ll-mtriple=riscv32 -code-model=medium -verify-machineinstrs
inline-asm-mem-constraint.ll-mtriple=riscv32 -code-model=medium -verify-machineinstrs -no-integrated-as
inline-asm-mem-constraint.ll-mtriple=riscv32 -verify-machineinstrs
inline-asm-mem-constraint.ll-mtriple=riscv32 -verify-machineinstrs -no-integrated-as
inline-asm-mem-constraint.ll-mtriple=riscv64 -code-model=large -verify-machineinstrs
inline-asm-mem-constraint.ll-mtriple=riscv64 -code-model=large -verify-machineinstrs -no-integrated-as
inline-asm-mem-constraint.ll-mtriple=riscv64 -code-model=medium -verify-machineinstrs
inline-asm-mem-constraint.ll-mtriple=riscv64 -code-model=medium -verify-machineinstrs -no-integrated-as
inline-asm-mem-constraint.ll-mtriple=riscv64 -verify-machineinstrs
inline-asm-mem-constraint.ll-mtriple=riscv64 -verify-machineinstrs -no-integrated-as
inline-asm-mem-constraint-2.0820e289b6.ll (mutant of inline-asm-mem-constraint-2.ll)-mtriple=riscv32 -code-model=medium -verify-machineinstrs -no-integrated-as
inline-asm-mem-constraint-2.118c1778d6.ll (mutant of inline-asm-mem-constraint-2.ll)-mtriple=riscv32 -verify-machineinstrs -no-integrated-as
inline-asm-mem-constraint-2.13581b180d.ll (mutant of inline-asm-mem-constraint-2.ll)-mtriple=riscv64 -code-model=medium -verify-machineinstrs -no-integrated-as
inline-asm-mem-constraint-2.3378099542.ll (mutant of inline-asm-mem-constraint-2.ll)-mtriple=riscv32 -verify-machineinstrs -no-integrated-as
inline-asm-mem-constraint-2.3683ab61dc.ll (mutant of inline-asm-mem-constraint-2.ll)-mtriple=riscv64 -code-model=medium -verify-machineinstrs -no-integrated-as
inline-asm-mem-constraint-2.49f1a1edd9.ll (mutant of inline-asm-mem-constraint-2.ll)-mtriple=riscv32 -verify-machineinstrs -no-integrated-as
inline-asm-mem-constraint-2.629760fc21.ll (mutant of inline-asm-mem-constraint-2.ll)-mtriple=riscv32 -code-model=medium -verify-machineinstrs -no-integrated-as
inline-asm-mem-constraint-2.6caf3abf2d.ll (mutant of inline-asm-mem-constraint-2.ll)-mtriple=riscv64 -verify-machineinstrs -no-integrated-as
inline-asm-mem-constraint-2.6edf192452.ll (mutant of inline-asm-mem-constraint-2.ll)-mtriple=riscv32 -verify-machineinstrs -no-integrated-as
inline-asm-mem-constraint-2.76318c807a.ll (mutant of inline-asm-mem-constraint-2.ll)-mtriple=riscv64 -verify-machineinstrs -no-integrated-as
inline-asm-mem-constraint-2.802f8018fc.ll (mutant of inline-asm-mem-constraint-2.ll)-mtriple=riscv32 -code-model=medium -verify-machineinstrs -no-integrated-as
inline-asm-mem-constraint-2.8b7b501041.ll (mutant of inline-asm-mem-constraint-2.ll)-mtriple=riscv64 -verify-machineinstrs -no-integrated-as
inline-asm-mem-constraint-2.9a7f0ea46f.ll (mutant of inline-asm-mem-constraint-2.ll)-mtriple=riscv64 -code-model=medium -verify-machineinstrs -no-integrated-as
inline-asm-mem-constraint-2.a2278a7538.ll (mutant of inline-asm-mem-constraint-2.ll)-mtriple=riscv64 -verify-machineinstrs -no-integrated-as
inline-asm-mem-constraint-2.d13f138293.ll (mutant of inline-asm-mem-constraint-2.ll)-mtriple=riscv64 -code-model=medium -verify-machineinstrs -no-integrated-as
inline-asm-mem-constraint-2.e9f09b999b.ll (mutant of inline-asm-mem-constraint-2.ll)-mtriple=riscv32 -code-model=medium -verify-machineinstrs -no-integrated-as
inline-asm-mem-constraint.026ff07374.ll (mutant of inline-asm-mem-constraint.ll)-mtriple=riscv64 -verify-machineinstrs -no-integrated-as
inline-asm-mem-constraint.07597126ac.ll (mutant of inline-asm-mem-constraint.ll)-mtriple=riscv32 -code-model=medium -verify-machineinstrs
inline-asm-mem-constraint.0763e71825.ll (mutant of inline-asm-mem-constraint.ll)-mtriple=riscv64 -code-model=medium -verify-machineinstrs -no-integrated-as
inline-asm-mem-constraint.0c71a8fbec.ll (mutant of inline-asm-mem-constraint.ll)-mtriple=riscv32 -code-model=medium -verify-machineinstrs -no-integrated-as
inline-asm-mem-constraint.10a1122605.ll (mutant of inline-asm-mem-constraint.ll)-mtriple=riscv32 -verify-machineinstrs -no-integrated-as
inline-asm-mem-constraint.365b207204.ll (mutant of inline-asm-mem-constraint.ll)-mtriple=riscv64 -code-model=medium -verify-machineinstrs
inline-asm-mem-constraint.46cf8de6e7.ll (mutant of inline-asm-mem-constraint.ll)-mtriple=riscv32 -verify-machineinstrs -no-integrated-as
inline-asm-mem-constraint.479b1da34e.ll (mutant of inline-asm-mem-constraint.ll)-mtriple=riscv64 -verify-machineinstrs -no-integrated-as
inline-asm-mem-constraint.4ee584d8b0.ll (mutant of inline-asm-mem-constraint.ll)-mtriple=riscv32 -code-model=medium -verify-machineinstrs -no-integrated-as
inline-asm-mem-constraint.51acf60a7a.ll (mutant of inline-asm-mem-constraint.ll)-mtriple=riscv64 -code-model=medium -verify-machineinstrs
inline-asm-mem-constraint.542a477b0f.ll (mutant of inline-asm-mem-constraint.ll)-mtriple=riscv64 -code-model=medium -verify-machineinstrs -no-integrated-as
inline-asm-mem-constraint.625dd12456.ll (mutant of inline-asm-mem-constraint.ll)-mtriple=riscv32 -verify-machineinstrs
inline-asm-mem-constraint.66d6d940d5.ll (mutant of inline-asm-mem-constraint.ll)-mtriple=riscv64 -verify-machineinstrs
inline-asm-mem-constraint.6be7ce44c0.ll (mutant of inline-asm-mem-constraint.ll)-mtriple=riscv32 -code-model=medium -verify-machineinstrs
inline-asm-mem-constraint.6ef156ae00.ll (mutant of inline-asm-mem-constraint.ll)-mtriple=riscv64 -verify-machineinstrs -no-integrated-as
inline-asm-mem-constraint.75e6e9394a.ll (mutant of inline-asm-mem-constraint.ll)-mtriple=riscv32 -verify-machineinstrs -no-integrated-as
inline-asm-mem-constraint.816c4f374c.ll (mutant of inline-asm-mem-constraint.ll)-mtriple=riscv64 -code-model=medium -verify-machineinstrs
inline-asm-mem-constraint.8dc08d3975.ll (mutant of inline-asm-mem-constraint.ll)-mtriple=riscv64 -code-model=medium -verify-machineinstrs -no-integrated-as
inline-asm-mem-constraint.93b175e582.ll (mutant of inline-asm-mem-constraint.ll)-mtriple=riscv64 -code-model=medium -verify-machineinstrs
inline-asm-mem-constraint.a0c0dd8ede.ll (mutant of inline-asm-mem-constraint.ll)-mtriple=riscv32 -code-model=medium -verify-machineinstrs

Generated 2026-10-15 08:05 UTC.