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

Run:explore-04ca53e65f-20261014-114124
Kind:crash
Category:Assertion failed: (MI->getNumOperands() > OpNo + 1 && "Expected additional operand"), function bool, file RISCVAsmPrinter.cpp
Occurrences:50 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       0x00005599edb4779b llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) + 43
1  llc       0x00005599edb44641 llvm::sys::RunSignalHandlers() + 369
2  llc       0x00005599edb4821b
3  libc.so.6 0x00007efc48a45330
4  libc.so.6 0x00007efc48a9ec0c pthread_kill + 284
5  libc.so.6 0x00007efc48a4527e gsignal + 30
6  libc.so.6 0x00007efc48a288ff abort + 223
7  libc.so.6 0x00007efc48a2881b
8  libc.so.6 0x00007efc48a3b517
9  llc       0x00005599eedfa952
10 llc       0x00005599eeecb191 llvm::AsmPrinter::emitInlineAsm(llvm::MachineInstr const*) + 2193
11 llc       0x00005599eee08087 llvm::AsmPrinter::emitFunctionBody() + 4535
12 llc       0x00005599eedf4c17
13 llc       0x00005599ee10ed2d llvm::MachineFunctionPass::runOnFunction(llvm::Function&) + 653
14 llc       0x00005599ede9ecd7 llvm::FPPassManager::runOnFunction(llvm::Function&) + 871
15 llc       0x00005599edea71d2 llvm::FPPassManager::runOnModule(llvm::Module&) + 50
16 llc       0x00005599ede9fa80 llvm::legacy::PassManagerImpl::run(llvm::Module&) + 2000
17 llc       0x00005599edb4edf8 llcMain + 12056
18 llc       0x00005599eda8a62f main + 63
19 libc.so.6 0x00007efc48a2a1ca
20 libc.so.6 0x00007efc48a2a28b __libc_start_main + 139
21 llc       0x00005599eda8a525 _start + 37

Occurrences (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.01bb42e77f.ll (mutant of inline-asm-mem-constraint-2.ll)-mtriple=riscv32 -code-model=medium -verify-machineinstrs -no-integrated-as
inline-asm-mem-constraint-2.01ead1d674.ll (mutant of inline-asm-mem-constraint-2.ll)-mtriple=riscv32 -code-model=medium -verify-machineinstrs -no-integrated-as
inline-asm-mem-constraint-2.0e3ec57d56.ll (mutant of inline-asm-mem-constraint-2.ll)-mtriple=riscv64 -code-model=medium -verify-machineinstrs -no-integrated-as
inline-asm-mem-constraint-2.1fc59aabdc.ll (mutant of inline-asm-mem-constraint-2.ll)-mtriple=riscv64 -verify-machineinstrs -no-integrated-as
inline-asm-mem-constraint-2.22c8116571.ll (mutant of inline-asm-mem-constraint-2.ll)-mtriple=riscv64 -code-model=medium -verify-machineinstrs -no-integrated-as
inline-asm-mem-constraint-2.2c9a093589.ll (mutant of inline-asm-mem-constraint-2.ll)-mtriple=riscv32 -code-model=medium -verify-machineinstrs -no-integrated-as
inline-asm-mem-constraint-2.2e998d66d8.ll (mutant of inline-asm-mem-constraint-2.ll)-mtriple=riscv64 -verify-machineinstrs -no-integrated-as
inline-asm-mem-constraint-2.3a5a8d722e.ll (mutant of inline-asm-mem-constraint-2.ll)-mtriple=riscv64 -code-model=medium -verify-machineinstrs -no-integrated-as
inline-asm-mem-constraint-2.3ca39e1005.ll (mutant of inline-asm-mem-constraint-2.ll)-mtriple=riscv64 -code-model=medium -verify-machineinstrs -no-integrated-as
inline-asm-mem-constraint-2.46f43e0663.ll (mutant of inline-asm-mem-constraint-2.ll)-mtriple=riscv32 -code-model=medium -verify-machineinstrs -no-integrated-as
inline-asm-mem-constraint-2.4a16ba3c92.ll (mutant of inline-asm-mem-constraint-2.ll)-mtriple=riscv32 -verify-machineinstrs -no-integrated-as
inline-asm-mem-constraint-2.4accb0f2e8.ll (mutant of inline-asm-mem-constraint-2.ll)-mtriple=riscv32 -verify-machineinstrs -no-integrated-as
inline-asm-mem-constraint-2.7da0edc3b6.ll (mutant of inline-asm-mem-constraint-2.ll)-mtriple=riscv32 -verify-machineinstrs -no-integrated-as
inline-asm-mem-constraint-2.8191fb0891.ll (mutant of inline-asm-mem-constraint-2.ll)-mtriple=riscv64 -verify-machineinstrs -no-integrated-as
inline-asm-mem-constraint-2.8ee0ad452e.ll (mutant of inline-asm-mem-constraint-2.ll)-mtriple=riscv32 -code-model=medium -verify-machineinstrs -no-integrated-as
inline-asm-mem-constraint-2.e5ee328e5a.ll (mutant of inline-asm-mem-constraint-2.ll)-mtriple=riscv64 -code-model=medium -verify-machineinstrs -no-integrated-as
inline-asm-mem-constraint-2.f29c6d133f.ll (mutant of inline-asm-mem-constraint-2.ll)-mtriple=riscv64 -verify-machineinstrs -no-integrated-as
inline-asm-mem-constraint-2.f5e3c01c0f.ll (mutant of inline-asm-mem-constraint-2.ll)-mtriple=riscv32 -verify-machineinstrs -no-integrated-as
inline-asm-mem-constraint-2.fb0e37f168.ll (mutant of inline-asm-mem-constraint-2.ll)-mtriple=riscv32 -verify-machineinstrs -no-integrated-as
inline-asm-mem-constraint-2.ff44f78b76.ll (mutant of inline-asm-mem-constraint-2.ll)-mtriple=riscv64 -verify-machineinstrs -no-integrated-as
inline-asm-mem-constraint.05f463105a.ll (mutant of inline-asm-mem-constraint.ll)-mtriple=riscv32 -verify-machineinstrs -no-integrated-as
inline-asm-mem-constraint.08551d09de.ll (mutant of inline-asm-mem-constraint.ll)-mtriple=riscv32 -code-model=medium -verify-machineinstrs
inline-asm-mem-constraint.1f6d37cf2d.ll (mutant of inline-asm-mem-constraint.ll)-mtriple=riscv32 -code-model=medium -verify-machineinstrs
inline-asm-mem-constraint.2798e5b6a0.ll (mutant of inline-asm-mem-constraint.ll)-mtriple=riscv32 -verify-machineinstrs -no-integrated-as
inline-asm-mem-constraint.51d39ef28e.ll (mutant of inline-asm-mem-constraint.ll)-mtriple=riscv32 -code-model=medium -verify-machineinstrs -no-integrated-as
inline-asm-mem-constraint.56ae6c8552.ll (mutant of inline-asm-mem-constraint.ll)-mtriple=riscv64 -code-model=medium -verify-machineinstrs -no-integrated-as
inline-asm-mem-constraint.633fc9fe53.ll (mutant of inline-asm-mem-constraint.ll)-mtriple=riscv64 -code-model=medium -verify-machineinstrs
inline-asm-mem-constraint.69e8badebe.ll (mutant of inline-asm-mem-constraint.ll)-mtriple=riscv32 -verify-machineinstrs
inline-asm-mem-constraint.6a641e34cd.ll (mutant of inline-asm-mem-constraint.ll)-mtriple=riscv32 -verify-machineinstrs
inline-asm-mem-constraint.704b4eb2cd.ll (mutant of inline-asm-mem-constraint.ll)-mtriple=riscv64 -code-model=medium -verify-machineinstrs -no-integrated-as
inline-asm-mem-constraint.9b59a5c5d1.ll (mutant of inline-asm-mem-constraint.ll)-mtriple=riscv64 -verify-machineinstrs
inline-asm-mem-constraint.9e67832bf1.ll (mutant of inline-asm-mem-constraint.ll)-mtriple=riscv64 -verify-machineinstrs -no-integrated-as
inline-asm-mem-constraint.e15d4d6411.ll (mutant of inline-asm-mem-constraint.ll)-mtriple=riscv64 -verify-machineinstrs -no-integrated-as
inline-asm-mem-constraint.e4bd864555.ll (mutant of inline-asm-mem-constraint.ll)-mtriple=riscv64 -code-model=medium -verify-machineinstrs
inline-asm-mem-constraint.ef5919da4f.ll (mutant of inline-asm-mem-constraint.ll)-mtriple=riscv64 -verify-machineinstrs
inline-asm-mem-constraint.f47cd1c529.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.