<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/147781>147781</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[X86] Assertion failure: Range metadata and load type must match!
</td>
</tr>
<tr>
<th>Labels</th>
<td>
backend:X86,
crash
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
nikic
</td>
</tr>
</table>
<pre>
```llvm
target triple = "i686-pc-windows-gnu"
define void @test(ptr %p, ptr %p2) #0 {
%val = load i64, ptr %p, align 8, !range !0
store i64 %val, ptr %p2, align 8
ret void
}
attributes #0 = { "target-cpu"="pentium4" }
!0 = !{i64 1, i64 0}
```
```
llc: /home/npopov/repos/llvm-project/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp:9495: SDValue llvm::SelectionDAG::getLoad(ISD::MemIndexedMode, ISD::LoadExtType, EVT, const SDLoc &, SDValue, SDValue, SDValue, EVT, MachineMemOperand *): Assertion `(!MMO->getRanges() || (mdconst::extract<ConstantInt>(MMO->getRanges()->getOperand(0)) ->getBitWidth() == MemVT.getScalarSizeInBits() && MemVT.isInteger())) && "Range metadata and load type must match!"' failed.
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0. Program arguments: build/bin/llc -debug
1. Running pass 'Function Pass Manager' on module '<stdin>'.
2. Running pass 'X86 DAG->DAG Instruction Selection' on function '@test'
#0 0x0000000007480ce8 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (build/bin/llc+0x7480ce8)
#1 0x000000000747e3d5 llvm::sys::RunSignalHandlers() (build/bin/llc+0x747e3d5)
#2 0x0000000007481a91 SignalHandler(int, siginfo_t*, void*) Signals.cpp:0:0
#3 0x00007faf1d9fbc30 __restore_rt (/lib64/libc.so.6+0x19c30)
#4 0x00007faf1da5511c __pthread_kill_implementation (/lib64/libc.so.6+0x7311c)
#5 0x00007faf1d9fbafe gsignal (/lib64/libc.so.6+0x19afe)
#6 0x00007faf1d9e36d0 abort (/lib64/libc.so.6+0x16d0)
#7 0x00007faf1d9e3639 __assert_perror_fail (/lib64/libc.so.6+0x1639)
#8 0x000000000723472c llvm::SelectionDAG::getLoad(llvm::ISD::MemIndexedMode, llvm::ISD::LoadExtType, llvm::EVT, llvm::SDLoc const&, llvm::SDValue, llvm::SDValue, llvm::SDValue, llvm::EVT, llvm::MachineMemOperand*) (build/bin/llc+0x723472c)
#9 0x00000000072352cf llvm::SelectionDAG::getLoad(llvm::EVT, llvm::SDLoc const&, llvm::SDValue, llvm::SDValue, llvm::MachineMemOperand*) (build/bin/llc+0x72352cf)
#10 0x0000000005ae2d78 combineStore(llvm::SDNode*, llvm::SelectionDAG&, llvm::TargetLowering::DAGCombinerInfo&, llvm::X86Subtarget const&) X86ISelLowering.cpp:0:0
#11 0x0000000005abd1cc llvm::X86TargetLowering::PerformDAGCombine(llvm::SDNode*, llvm::TargetLowering::DAGCombinerInfo&) const X86ISelLowering.cpp:0:0
#12 0x0000000007066302 (anonymous namespace)::DAGCombiner::combine(llvm::SDNode*) DAGCombiner.cpp:0:0
#13 0x0000000007065046 llvm::SelectionDAG::Combine(llvm::CombineLevel, llvm::BatchAAResults*, llvm::CodeGenOptLevel) (build/bin/llc+0x7065046)
```
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJy0V01v2zAS_TX0hYhBUd8HHxQ7zgZItkEddHszKHEscytRAkmlyf76xVBy_JG0zRbYooGoEfnmzeNwOBbWqloDLEh8TeLVTAxu35mFVj9UNSs7-bogCRv_N81zS1jhhKnBUWdU3wAl4YoSzlWSJVd9dfVTadn9tFe1HgjnhBWEFRJ2SgN97pSkJGIOrCM8652hhMc94Ut6GHPCc0p4yChJrwkr0PgsGu-k6YSkKolO5-NYNKrWNMMh4YERugYcMFxOresM4KoJ6cLZcTVONuA8SWSdrkbuwjmjysGBnXhhuOk1hjzqcFX1PtJwRTjvQTs1tBHhnL5BIJlJpoCk10gmQNc4YNOsg8TTipPXpqlIiEKs910LhK913_XdM-FrA31nCV_jtlz1pvs3VG56xYcqCV8vOwm3oAlfb6CByqlOr4rbi9d51fckLPIoj9HVZvVNNANQDxQWJCzO1npLDe6-E5Lw7G6zGk0P0N5pCS8gHzoJGODbJ5x68-KeXntvv_n2hI-q09bRzeq-qyjhCZom178eTksfRLVXGh6g_dKDEVpSwgvCc6RfWAsGyVIUkGeEBw8PX65IeFOD-4rpYb01pyRdkhSzJmulJzOyhRdnROVIuFyiUWh3px0JbwjPPgaaTBMVwjOGVHhOpw_Xyv1LSbc_uA1XmA0P0H57mtfgNpVohNmo_8CdvlbujR1KkkzTlL3TDmow48cJf5pCOPd0aAtOSOEERUX8eXGvPdB2sI62wlV7zEDOCU_pTqgG5Jyw4vH-ptjcUDuUrXJU0HKoKaaWcdR1dO9cb1EXviZ8XSu3H8p51bUniXaefsraAYVZexJKV80ggbo90MoIu6elqH6gvoC-N05UP6gcWsw_wgo2Jyx_NF1tREuFqYcWtEP3tBxUIwlfl0p7nxW9klAONWFFgIu-DlorXdNeWDyp6XrQPmPpIxoehBZevJR2mradHLBy8ZSES-uk0n53U2TEPwL7niV0Vdzidq6KW3qnrTPDCP92NCbs3cEvoh9qXTqWspBR9sIO_9IoYxVkJ8fMvtpx8GiUdl6bJ1SK8Ow4yYif2846A6KdDo3SbkyG7J1IhF-zl8kR5sxIIzinkUIo449ofB30RtVaNP8QWjZgjpn5S08e6-iJXwQciDygZ5iEZ57_klpVK73rts4f5eVYif2pnlbYqU4x_zc6CCcH6U7sApnvyipkdLs14Av_1jjqOWM1xJsDn9XcdvPE8w3yKmRHttEZmIjjIKjodtu7vQEhtz9U02xV2zeAWSmmXf41ehoGQXVEjy-pih3Q2vrQ_sBS7OCIk5zjQJhIRkXZ_SnWRJ6Emr4DCXO63QpfO7c9GNOZLdaIP2CG-REzO9tsHkYprz55iRxn_eY6-WDSxcVynDHdEyfe_TUzVvnx2Jx-e7tf_sb4zte722lK41-fm1Gso5T5hZQxr3b_s5T_Jw3-JjrkP0aH5eesDMYCuEwzWnVtqTRs8NyehbFZ_dMnQHHB7ayfuYjmybdm991PMErXo21V3C5HH-ZO77p3a75nyWYop-b2KFJOv2fJ3QaaA9pFFcKAgvOAShlU1TnyR4Qewew60x55fSbsz0aWT-3Vn8mf12iWJCHjuJlCd_q17QZLtWjB9v4iyt95HA3V7yPI6cmKDziEFxxiFiW_zfePFJts9_AMzblo19j7FMVXsEOD_dWFplOT_KV309rfJfNIbkrmQ58-k4tQ5mEuZrAI0pizNI9YNNsvRBaHeZpkkCcyz7JMhnEqk1TCbpfsyrCcqQVnPGYpy4MkCnk0j6KdLJO84lHGsjIuScSgFaqZI995Z-qZ77AWQZSmWTBrRAmN9T_eOMfeCrQcU843ekvCue-78C1ezczCt2vlUFsSsUZZZ4_ATrnG_w7E1fHqpJPGm2AwgI3Y5zvN2WCaxd_3j1OAzwv-3wAAAP__EJZRaw">