<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/88799>88799</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[CodeGen][RISC-V] Assertion `(!MMO->getSize().hasValue() || !getSize().hasValue() || MMO->getSize() == getSize()) && "Size mismatch!"' failed.
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
patrick-rivos
</td>
</tr>
</table>
<pre>
Reduced LLVM IR:
```llvm ir
; ModuleID = 'reduced.bc'
target datalayout = "e-m:e-p:64:64-i64:64-i128:128-n32:64-S128"
target triple = "riscv64-unknown-linux-gnu"
; Function Attrs: vscale_range(2,2)
define i32 @main() #0 {
vector.body:
%0 = load <16 x i16>, ptr getelementptr ([3 x [23 x [23 x i16]]], ptr null, i64 -10593, i64 1, i64 22, i64 0), align 16
store <16 x i16> %0, ptr null, align 2
%wide.load = load <vscale x 8 x i16>, ptr getelementptr ([3 x [23 x [23 x i16]]], ptr null, i64 -10593, i64 1, i64 22, i64 0), align 16
store <vscale x 8 x i16> %wide.load, ptr null, align 2
ret i32 0
}
attributes #0 = { vscale_range(2,2) "target-features"="+64bit,+a,+c,+d,+f,+m,+relax,+v,+zicsr,+zifencei,+zve32f,+zve32x,+zve64d,+zve64f,+zve64x,+zvl128b,+zvl32b,+zvl64b,-e,-experimental-smmpm,-experimental-smnpm,-experimental-ssnpm,-experimental-sspm,-experimental-ssqosid,-experimental-supm,-experimental-zaamo,-experimental-zabha,-experimental-zalasr,-experimental-zalrsc,-experimental-zfbfmin,-experimental-zicfilp,-experimental-zicfiss,-experimental-ztso,-experimental-zvfbfmin,-experimental-zvfbfwma,-h,-shcounterenw,-shgatpa,-shtvala,-shvsatpa,-shvstvala,-shvstvecd,-smaia,-smepmp,-ssaia,-ssccptr,-sscofpmf,-sscounterenw,-ssstateen,-ssstrict,-sstc,-sstvala,-sstvecd,-ssu64xl,-svade,-svadu,-svbare,-svinval,-svnapot,-svpbmt,-xcvalu,-xcvbi,-xcvbitmanip,-xcvelw,-xcvmac,-xcvmem,-xcvsimd,-xsfcease,-xsfvcp,-xsfvfnrclipxfqf,-xsfvfwmaccqqq,-xsfvqmaccdod,-xsfvqmaccqoq,-xsifivecdiscarddlone,-xsifivecflushdlone,-xtheadba,-xtheadbb,-xtheadbs,-xtheadcmo,-xtheadcondmov,-xtheadfmemidx,-xtheadmac,-xtheadmemidx,-xtheadmempair,-xtheadsync,-xtheadvdot,-xventanacondops,-za128rs,-za64rs,-zacas,-zawrs,-zba,-zbb,-zbc,-zbkb,-zbkc,-zbkx,-zbs,-zca,-zcb,-zcd,-zce,-zcf,-zcmop,-zcmp,-zcmt,-zdinx,-zfa,-zfh,-zfhmin,-zfinx,-zhinx,-zhinxmin,-zic64b,-zicbom,-zicbop,-zicboz,-ziccamoa,-ziccif,-zicclsm,-ziccrse,-zicntr,-zicond,-zihintntl,-zihintpause,-zihpm,-zimop,-zk,-zkn,-zknd,-zkne,-zknh,-zkr,-zks,-zksed,-zksh,-zkt,-zmmul,-zvbb,-zvbc,-zvfh,-zvfhmin,-zvkb,-zvkg,-zvkn,-zvknc,-zvkned,-zvkng,-zvknha,-zvknhb,-zvks,-zvksc,-zvksed,-zvksg,-zvksh,-zvkt,-zvl1024b,-zvl16384b,-zvl2048b,-zvl256b,-zvl32768b,-zvl4096b,-zvl512b,-zvl65536b,-zvl8192b" }
```
Godbolt: https://godbolt.org/z/vPv3d4Tcr
Backtrace:
```
> /scratch/tc-testing/tc-apr-15/build-rv64gcv/build-llvm-linux/bin/llc reduced.ll
llc: /scratch/tc-testing/tc-apr-15/llvm/llvm/lib/CodeGen/MachineOperand.cpp:1122: void llvm::MachineMemOperand::refineAlignment(const llvm::MachineMemOperand*): Assertion `(!MMO->getSize().hasValue() || !getSize().hasValue() || MMO->getSize() == getSize()) && "Size mismatch!"' failed.
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0. Program arguments: /scratch/tc-testing/tc-apr-15/build-rv64gcv/build-llvm-linux/bin/llc reduced.ll
1. Running pass 'Function Pass Manager' on module 'reduced.ll'.
2. Running pass 'RISC-V DAG->DAG Pattern Instruction Selection' on function '@main'
#0 0x00005d8fadf03d30 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/scratch/tc-testing/tc-apr-15/build-rv64gcv/build-llvm-linux/bin/llc+0x1cf5d30)
#1 0x00005d8fadf0113f llvm::sys::RunSignalHandlers() (/scratch/tc-testing/tc-apr-15/build-rv64gcv/build-llvm-linux/bin/llc+0x1cf313f)
#2 0x00005d8fadf01295 SignalHandler(int) Signals.cpp:0:0
#3 0x00007ebc5d242520 (/lib/x86_64-linux-gnu/libc.so.6+0x42520)
#4 0x00007ebc5d2969fc __pthread_kill_implementation ./nptl/pthread_kill.c:44:76
#5 0x00007ebc5d2969fc __pthread_kill_internal ./nptl/pthread_kill.c:78:10
#6 0x00007ebc5d2969fc pthread_kill ./nptl/pthread_kill.c:89:10
#7 0x00007ebc5d242476 gsignal ./signal/../sysdeps/posix/raise.c:27:6
#8 0x00007ebc5d2287f3 abort ./stdlib/abort.c:81:7
#9 0x00007ebc5d22871b _nl_load_domain ./intl/loadmsgcat.c:1177:9
#10 0x00007ebc5d239e96 (/lib/x86_64-linux-gnu/libc.so.6+0x39e96)
#11 0x00005d8facea9f54 llvm::MachineMemOperand::refineAlignment(llvm::MachineMemOperand const*) (/scratch/tc-testing/tc-apr-15/build-rv64gcv/build-llvm-linux/bin/llc+0xc9bf54)
#12 0x00005d8fadc28e59 llvm::SelectionDAG::getLoad(llvm::ISD::MemIndexedMode, llvm::ISD::LoadExtType, llvm::EVT, llvm::SDLoc const&, llvm::SDValue, llvm::SDValue, llvm::SDValue, llvm::EVT, llvm::MachineMemOperand*) (/scratch/tc-testing/tc-apr-15/build-rv64gcv/build-llvm-linux/bin/llc+0x1a1ae59)
#13 0x00005d8fadc363b3 llvm::SelectionDAG::getLoad(llvm::EVT, llvm::SDLoc const&, llvm::SDValue, llvm::SDValue, llvm::MachineMemOperand*) (/scratch/tc-testing/tc-apr-15/build-rv64gcv/build-llvm-linux/bin/llc+0x1a283b3)
#14 0x00005d8fac8ef339 llvm::RISCVTargetLowering::lowerFixedLengthVectorLoadToRVV(llvm::SDValue, llvm::SelectionDAG&) const (/scratch/tc-testing/tc-apr-15/build-rv64gcv/build-llvm-linux/bin/llc+0x6e1339)
#15 0x00005d8fac93ad66 llvm::RISCVTargetLowering::LowerOperation(llvm::SDValue, llvm::SelectionDAG&) const (/scratch/tc-testing/tc-apr-15/build-rv64gcv/build-llvm-linux/bin/llc+0x72cd66)
#16 0x00005d8fadb659c8 (anonymous namespace)::SelectionDAGLegalize::LegalizeLoadOps(llvm::SDNode*) LegalizeDAG.cpp:0:0
#17 0x00005d8fadb83c20 llvm::SelectionDAG::Legalize() (/scratch/tc-testing/tc-apr-15/build-rv64gcv/build-llvm-linux/bin/llc+0x1975c20)
#18 0x00005d8fadc9c998 llvm::SelectionDAGISel::CodeGenAndEmitDAG() (/scratch/tc-testing/tc-apr-15/build-rv64gcv/build-llvm-linux/bin/llc+0x1a8e998)
#19 0x00005d8fadca076f llvm::SelectionDAGISel::SelectAllBasicBlocks(llvm::Function const&) (/scratch/tc-testing/tc-apr-15/build-rv64gcv/build-llvm-linux/bin/llc+0x1a9276f)
#20 0x00005d8fadca22e5 llvm::SelectionDAGISel::runOnMachineFunction(llvm::MachineFunction&) (.part.0) SelectionDAGISel.cpp:0:0
#21 0x00005d8face68ac7 llvm::MachineFunctionPass::runOnFunction(llvm::Function&) (.part.0) MachineFunctionPass.cpp:0:0
#22 0x00005d8fad4630d6 llvm::FPPassManager::runOnFunction(llvm::Function&) (/scratch/tc-testing/tc-apr-15/build-rv64gcv/build-llvm-linux/bin/llc+0x12550d6)
#23 0x00005d8fad463329 llvm::FPPassManager::runOnModule(llvm::Module&) (/scratch/tc-testing/tc-apr-15/build-rv64gcv/build-llvm-linux/bin/llc+0x1255329)
#24 0x00005d8fad463c95 llvm::legacy::PassManagerImpl::run(llvm::Module&) (/scratch/tc-testing/tc-apr-15/build-rv64gcv/build-llvm-linux/bin/llc+0x1255c95)
#25 0x00005d8fac78c99a compileModule(char**, llvm::LLVMContext&) llc.cpp:0:0
#26 0x00005d8fac6d77d6 main (/scratch/tc-testing/tc-apr-15/build-rv64gcv/build-llvm-linux/bin/llc+0x4c97d6)
#27 0x00007ebc5d229d90 __libc_start_call_main ./csu/../sysdeps/nptl/libc_start_call_main.h:58:16
#28 0x00007ebc5d229e40 call_init ./csu/../csu/libc-start.c:128:20
#29 0x00007ebc5d229e40 __libc_start_main ./csu/../csu/libc-start.c:379:5
#30 0x00005d8fac783225 _start (/scratch/tc-testing/tc-apr-15/build-rv64gcv/build-llvm-linux/bin/llc+0x575225)
zsh: IOT instruction (core dumped) /scratch/tc-testing/tc-apr-15/build-rv64gcv/build-llvm-linux/bin/llc
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzUWt9z3KiT_2vkF2qmJPT7wQ9jO5NzlX1JxSm_uhCgGc4IKYDksf_6K35II40n2eze-na_W17xoYGmu2mgmwxSiu0EpZdBehWkNxeo1_tWXnZIS4afV5INrbqoWvJ6-Y2SHlMC7u4e78HttyDeBOFNEG6CLHR_nA8NYNJT4ytw35Ke09sbEMQ3IIC5dBzWFQ5g7rppJHdUA4I04ui17bXvC-mqCeINXXVBvMkS-1mxCUSwCOJNBIuViKGjPRgahAu2WrKO05GlZAoPWbLqxbNoX8SKM9EfVjvRT8OOom97gTVrBdhoLVUQb8CgMOL0SSKxowEsYACvYQBLN4TQmgkKWAxBkIQNYiIw0pQggHEIgvzKdRso1q1cG3NO5gMggGloZeQtIiCIr6MMHACLsiD-FMBr0GkJdlRTThsqtKkZ5ulVDA4gSK_gvDSj0hv_58eKnnODWZaAVRSmZTzWohFAOKLQ6ASvAeJsJ0CUjUIq3Up6IpyV_HQWNxDOlHthhK69bkclnT3BART_OmUnXc_IuFDoD3SXVFuXCL1f5TdzN0NaS1b1mirvJcZL86ufOZrxYOfWq5oi3UuqjN_GN-YLr7KkYjqA1wG8Qq7AriCuqF3RuEJSjg4ODq54Y1jJEdZUYMp8baAxrGf4MOEsITNcz_DUh0ewqKZKDI84SwxeUfs5dFQys-CIr1TTdM0ZqjhHVeepZ4k_WsXIe3p_pvMbQk17hlrt0RkqR9Z078hS4ffkuqobczyc0hmuGe_O05V6T9fqjIDDz7ibhpfGCr83H7XHbS80lVS8uPoO6Q45qAfEPRzUkTyoRYMeKLbmVA1ijtrQrrEqKDWSFMadlh62ddfUI15Mr5RGmlIxViTD2mGNfTnNPZtZ9Vly4BYOiNAR9A5USHoSEwPy3QTqWsd66KrGogMeEO89qtgEdIME63yV8hePGoRHRBuPFGusRAdVY4oU9XjA3YhqITFn3aH-UU-klwZh_OPHj5Hww9RJSxb1H61vZzUzijOFkSSEt4LO6TXv1f5I1XuKSIVmuJphdcTYObqvtII07XAk1A1tGDkcCaPyrnLaSJsOMXkkqFcx6z4QZ_nDYLxSIDNb21lZ3lAEC-lhlowIIw9ePMVp9OaUeauwK5599XmsH1zpxmA3BrtOznPeMHVF7Yqm7TwYSyvpG2HC8aodk3rvC7_L3uqxw34OxlaG_TH3xnDVNhPqJvTmEUZNi0bM6hFxNQ7C0nnVG8PCbag3Zgzo0J4JLTQ_VjrUj_33necxKvnsvsIXxJfUl07FZzfHs_IF9d2Ub3b2aZreTTr4JRn8mgzeUsPRVINfpuF558uRLvAI_CzDs5j6uCPXonG8GstxnJrGqXGcl3Pwgg48CqFfi4FHWVxMFRgmxYTTbIQxzLOJnoTl1JBGcIRZmsYTvYhK0wDB8aIfQ2NX_dySquXaRJN7rTsTVgZwG8DtzjWsW7kL4PYtgNvh6xCT5DuW84jhCuFnLRGm72PvMXI18clWYYk03gdwq_FKU6WZsaapoE6uojSA26pnnKzkkCU7PEx1E8G7sNiQzLJtOcdgjNs5d9Nwjo0OvzeT4TkrWBXA7XVL6Gdz2G_vEd4zQb90VCJB1rgz8X4UmcBmA4aWEWAHxpsg3vi-97Tx3R1Z2th7Y0Ivc9sFsMCtUPqXA-HGRH7xBmyUotIG-saIJmaP7u-_rIL4047qB_ZGXRy_3iP1iHhPx7A-vw7yaxDA6He6neNowj0T8S2ILszLApiZaM_QQcNU40wc2UAvBzVinJK1W4qvd582D5-A6quGaYBA1e-ApF0rNdDtqZcxve-rNW6b5bKsOtn-DzX37ZYp1Zu4cguQIIAJzHtCgd5TgCVSe1CNHuinf9AIPwPSN93kkuEa2P--ynYnUQOQ3PVmXdTvu8z_yTkjP_-3XggmdqBDygTY-ZTRfTWEeyTQjkpjz1aAxiaq8xTVxPO5VxL-hOO324fr1SO42Xw2q3uz-Qy-Iq2pFOBWKC17N90D5dQiP1c9ymFy4DFX9NmwSwTCQxiGYUqKGpE6jEkcznxZvSoHvkomtLX_d3skwOLYSaKXp1ZpSVFj3ekaMLMxSptL_e1LEMCr8BDhOiVxOGXERpXoRJUoiutzqnzrxQPbCcT_CwnCqbnqiw-XNo7ieiEtPJUWlilYyBXAwtvRkZU_r0L7_8Qo9oxyWuGUwASmMPS6uOPvUGRPWTJ_fzANeK3adWbFs0MWwiVLnmVW1hg8PXV6LykiT8-M8yfWdC5rRta_1gHcis7EBNt5t7U5u5MkiDd5duSf_g5_E7ALxH_JObcPMzNrZOc4z4f9kl1RnrDLT42b5BnYKbselpODAdyube1VEWpCzG3XKmYcQSKmqOUN8yDezGxQLFnDIq9jgCpzllpWmrjlsyQnXWQ0PnIo33GIKvAk-BNvEXkirdnslhezsdrWkBu1w8ixi6LciOSX3WygcMkwLmmZ_TlXskMmVzI8F7sSU1TWafJXbtlfDAH2Bna37AfuYlxWdZoslFtuYgwLmpYz5abD-Gbz2VF2VN_Zl5yZPrcPN14x2twKQg-U3Lc2uwRnOpnhnw76-2t30uPT4_cl4eHmrsWjbbLTNh84_DXiu7l-EvN85JmKIkTTcrEc8XI54iyu4j-9HB9kx3_CQrCIq3hhoWSxGwtax_HcYU2M8fjdPvvdtS9UGilsAze1LTtQckfFTu8f7dOysd339tvj48KA520yt72xYuks-oH6ZzSK46WDpAv1yxiRLPsd9W3NrpsLrf6F2uYQk2x59GaL7VBlaYkLIwESrXht2l4BgRqqOhvPle8lv6M7xE224Gzga2bRv5g7bmGE_7YnlvXosePN5vP7iMXIlS_lKmIMw19u00mQDw_UyjzFs1jISFssD5USl2XxE2lvHyh3VJ9ybgT51DBtveCjRUcFLctiIXq5FB2FeVb_oeiOuuH8CimGr3iLn5eLPaU2xyPxYxUrYZ7Vc8VgeKIYhDT9Q8VkL74IfwyPOpwLLI5to2brDkm9Dm0ofsL6rIfDk6AnKxDO398F40QmRZyJeFa2Xwp1ht95uZbxSpLFIZmff9uvZuiYrP5piT7KAWCahmRxtMH4VJEYlr-hiPsn4uWie9L_gxIxXNxGMDlVApdzL-Z0h_CrT7-P6tw23dGh_ylVcJkuVFlerHmByxIB3DYd43QyOt4jae-IzfK2vLt7vL9uhaaH8TThHJ934MWVhjOS5yQDNs_5OH0TXOYn7neSFsKSlCF4ejK50JPSSOonjDh_mhIwrPr3KaJPQs8NWu-DeJPa3DY7znqaMZY0CYEdwwTTpxM5aLivLHeX89lfMsCZRU-TSMt0oco5Lc4yj3MTRKQT7-XjEs6LGMIUOK4fuF5pnkJ4dM83ZYwJbr98B2z2UGYfbiW1r4mUuB3zt4uzfDW_IJcxKeMSXdDLKI9iGGUwCy_2lzTLspJGMC-zjEKcRFVeQkRoWOYYRkVxwS5hCJMwiVIYwQSG6yIjOCpKgjDCsIRRkIS0QYyvjSDrVu4u7NvqZVHkZXnBUUW5sr-5gVDQF2AbAwiD9OZCXlrhq36ngiTkTGl15KKZ5vbHOuMbenoTpFfuKTJIb_6DH7Qveskv__qLtTXs_wYAAP__y2NBEg">