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

Run:main-04ca53e65f-20261014-113325
Kind:crash
Category:Assertion failed: (MI->getNumOperands() > OpNo + 1 && "Expected additional operand"), function bool, file RISCVAsmPrinter.cpp
Occurrences:64 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 04ca53e65f
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       0x000055772d48a79b llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) + 43
1  llc       0x000055772d487641 llvm::sys::RunSignalHandlers() + 369
2  llc       0x000055772d48b21b
3  libc.so.6 0x00007f273b845330
4  libc.so.6 0x00007f273b89ec0c pthread_kill + 284
5  libc.so.6 0x00007f273b84527e gsignal + 30
6  libc.so.6 0x00007f273b8288ff abort + 223
7  libc.so.6 0x00007f273b82881b
8  libc.so.6 0x00007f273b83b517
9  llc       0x000055772e73d952
10 llc       0x000055772e80e191 llvm::AsmPrinter::emitInlineAsm(llvm::MachineInstr const*) + 2193
11 llc       0x000055772e74b087 llvm::AsmPrinter::emitFunctionBody() + 4535
12 llc       0x000055772e737c17
13 llc       0x000055772da51d2d llvm::MachineFunctionPass::runOnFunction(llvm::Function&) + 653
14 llc       0x000055772d7e1cd7 llvm::FPPassManager::runOnFunction(llvm::Function&) + 871
15 llc       0x000055772d7ea1d2 llvm::FPPassManager::runOnModule(llvm::Module&) + 50
16 llc       0x000055772d7e2a80 llvm::legacy::PassManagerImpl::run(llvm::Module&) + 2000
17 llc       0x000055772d491df8 llcMain + 12056
18 llc       0x000055772d3cd62f main + 63
19 libc.so.6 0x00007f273b82a1ca
20 libc.so.6 0x00007f273b82a28b __libc_start_main + 139
21 llc       0x000055772d3cd525 _start + 37

Occurrences (64) (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.036a3e70b2.ll (mutant of inline-asm-mem-constraint-2.ll)-mtriple=riscv32 -code-model=medium -verify-machineinstrs -no-integrated-as
inline-asm-mem-constraint-2.15c3b83a50.ll (mutant of inline-asm-mem-constraint-2.ll)-mtriple=riscv64 -verify-machineinstrs -no-integrated-as
inline-asm-mem-constraint-2.2ae65de02f.ll (mutant of inline-asm-mem-constraint-2.ll)-mtriple=riscv64 -code-model=medium -verify-machineinstrs -no-integrated-as
inline-asm-mem-constraint-2.343124261b.ll (mutant of inline-asm-mem-constraint-2.ll)-mtriple=riscv32 -verify-machineinstrs -no-integrated-as
inline-asm-mem-constraint-2.3e8c8bd5ff.ll (mutant of inline-asm-mem-constraint-2.ll)-mtriple=riscv32 -code-model=medium -verify-machineinstrs -no-integrated-as
inline-asm-mem-constraint-2.4b8ca8183b.ll (mutant of inline-asm-mem-constraint-2.ll)-mtriple=riscv64 -verify-machineinstrs -no-integrated-as
inline-asm-mem-constraint-2.5743e44b1a.ll (mutant of inline-asm-mem-constraint-2.ll)-mtriple=riscv64 -code-model=medium -verify-machineinstrs -no-integrated-as
inline-asm-mem-constraint-2.6f8a96d9ed.ll (mutant of inline-asm-mem-constraint-2.ll)-mtriple=riscv32 -code-model=medium -verify-machineinstrs -no-integrated-as
inline-asm-mem-constraint-2.734edf7bae.ll (mutant of inline-asm-mem-constraint-2.ll)-mtriple=riscv64 -code-model=medium -verify-machineinstrs -no-integrated-as
inline-asm-mem-constraint-2.7ade2ad6e1.ll (mutant of inline-asm-mem-constraint-2.ll)-mtriple=riscv64 -verify-machineinstrs -no-integrated-as
inline-asm-mem-constraint-2.830c566f7c.ll (mutant of inline-asm-mem-constraint-2.ll)-mtriple=riscv64 -code-model=medium -verify-machineinstrs -no-integrated-as
inline-asm-mem-constraint-2.aef03a7ea6.ll (mutant of inline-asm-mem-constraint-2.ll)-mtriple=riscv64 -verify-machineinstrs -no-integrated-as
inline-asm-mem-constraint-2.b3656196e0.ll (mutant of inline-asm-mem-constraint-2.ll)-mtriple=riscv32 -verify-machineinstrs -no-integrated-as
inline-asm-mem-constraint-2.e336d82b20.ll (mutant of inline-asm-mem-constraint-2.ll)-mtriple=riscv32 -verify-machineinstrs -no-integrated-as
inline-asm-mem-constraint-2.f4ca38d51e.ll (mutant of inline-asm-mem-constraint-2.ll)-mtriple=riscv32 -code-model=medium -verify-machineinstrs -no-integrated-as
inline-asm-mem-constraint-2.f9b90eb880.ll (mutant of inline-asm-mem-constraint-2.ll)-mtriple=riscv32 -verify-machineinstrs -no-integrated-as
inline-asm-mem-constraint.166e5de9e2.ll (mutant of inline-asm-mem-constraint.ll)-mtriple=riscv64 -verify-machineinstrs -no-integrated-as
inline-asm-mem-constraint.17a1c3b4ec.ll (mutant of inline-asm-mem-constraint.ll)-mtriple=riscv64 -verify-machineinstrs -no-integrated-as
inline-asm-mem-constraint.275438c57d.ll (mutant of inline-asm-mem-constraint.ll)-mtriple=riscv64 -code-model=medium -verify-machineinstrs
inline-asm-mem-constraint.31f459a02b.ll (mutant of inline-asm-mem-constraint.ll)-mtriple=riscv64 -verify-machineinstrs
inline-asm-mem-constraint.3595a419f0.ll (mutant of inline-asm-mem-constraint.ll)-mtriple=riscv64 -verify-machineinstrs
inline-asm-mem-constraint.363e722ba7.ll (mutant of inline-asm-mem-constraint.ll)-mtriple=riscv32 -verify-machineinstrs
inline-asm-mem-constraint.384328e41b.ll (mutant of inline-asm-mem-constraint.ll)-mtriple=riscv32 -verify-machineinstrs
inline-asm-mem-constraint.414a8bd197.ll (mutant of inline-asm-mem-constraint.ll)-mtriple=riscv64 -verify-machineinstrs -no-integrated-as
inline-asm-mem-constraint.480b7a163e.ll (mutant of inline-asm-mem-constraint.ll)-mtriple=riscv64 -code-model=medium -verify-machineinstrs -no-integrated-as
inline-asm-mem-constraint.4dffbe22ae.ll (mutant of inline-asm-mem-constraint.ll)-mtriple=riscv64 -code-model=medium -verify-machineinstrs -no-integrated-as
inline-asm-mem-constraint.4e613d92a3.ll (mutant of inline-asm-mem-constraint.ll)-mtriple=riscv32 -code-model=medium -verify-machineinstrs
inline-asm-mem-constraint.54cb239b0b.ll (mutant of inline-asm-mem-constraint.ll)-mtriple=riscv32 -verify-machineinstrs -no-integrated-as
inline-asm-mem-constraint.72c88192f7.ll (mutant of inline-asm-mem-constraint.ll)-mtriple=riscv64 -verify-machineinstrs
inline-asm-mem-constraint.730b5d3073.ll (mutant of inline-asm-mem-constraint.ll)-mtriple=riscv32 -verify-machineinstrs
inline-asm-mem-constraint.7966808387.ll (mutant of inline-asm-mem-constraint.ll)-mtriple=riscv64 -code-model=medium -verify-machineinstrs -no-integrated-as
inline-asm-mem-constraint.89b8c27a73.ll (mutant of inline-asm-mem-constraint.ll)-mtriple=riscv32 -verify-machineinstrs -no-integrated-as
inline-asm-mem-constraint.938da026f1.ll (mutant of inline-asm-mem-constraint.ll)-mtriple=riscv32 -code-model=medium -verify-machineinstrs -no-integrated-as
inline-asm-mem-constraint.9dbc43e5f9.ll (mutant of inline-asm-mem-constraint.ll)-mtriple=riscv32 -verify-machineinstrs -no-integrated-as
inline-asm-mem-constraint.9f3cb3062a.ll (mutant of inline-asm-mem-constraint.ll)-mtriple=riscv64 -code-model=medium -verify-machineinstrs -no-integrated-as
inline-asm-mem-constraint.a30fb7874f.ll (mutant of inline-asm-mem-constraint.ll)-mtriple=riscv32 -code-model=medium -verify-machineinstrs -no-integrated-as

Generated 2026-10-15 08:05 UTC.