<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/90202>90202</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[GlobalIsel][AArch64] crash in ir trnslator
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
tschuett
</td>
</tr>
</table>
<pre>
It tries to unmerge into vectors and translates p0 into s64.
LLVM IR:
```
define <4 x ptr> @ptr_add_4_vector_ptr(ptr %vec, <4 x i32> %offset) {
%ptr_add = getelementptr i8, ptr %vec, <4 x i32> %offset
ret <4 x ptr> %ptr_add
}
```
call:
```
llc -mtriple=aarch64 -global-isel -global-isel-abort=2 -verify-machineinstrs llvm/test/CodeGen/AArch64/gep.ll
```
Error:
```
# After IRTranslator
# Machine code for function ptr_add_4_vector_ptr: IsSSA, TracksLiveness
Function Live Ins: $x0, $q0
bb.1 (%ir-block.0):
liveins: $q0, $x0
%0:_(p0) = COPY $x0
%1:_(<4 x s32>) = COPY $q0
%2:_(<4 x p0>) = G_BUILD_VECTOR %0:_(p0), %0:_(p0), %0:_(p0), %0:_(p0)
%3:_(<4 x s64>) = G_SEXT %1:_(<4 x s32>)
%4:_(<4 x p0>) = G_PTR_ADD %2:_, %3:_(<4 x s64>)
%5:_(<4 x p0>) = COPY %4:_(<4 x p0>)
%6:_(<2 x s64>), %7:_(<2 x s64>) = G_UNMERGE_VALUES %5:_(<4 x p0>)
$q0 = COPY %6:_(<2 x s64>)
$q1 = COPY %7:_(<2 x s64>)
RET_ReallyLR implicit $q0, implicit $q1
# End machine code for function ptr_add_4_vector_ptr.
*** Bad machine code: G_UNMERGE_VALUES source operand does not match vector destination operands ***
- function: ptr_add_4_vector_ptr
- basic block: %bb.1 (0x7ff19a0b91c8)
- instruction: %6:_(<2 x s64>), %7:_(<2 x s64>) = G_UNMERGE_VALUES %5:_(<4 x p0>)
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJy8Vktv6jgU_jVmcwRyHIfHggUlUCHRuVeUVjMr5CQn4LkmTm3DtP9-5CQ80hY0M4uRokh-fN_5jn0eFtbKbYE4JtEDieKOOLidNmNn090BneskOvsYLxw4I9GC03Ao9mi2CCALp-GIqdPGgigycEYUVgmHFkpaL9s-7xEaEzqp_8vl6xMsViRsxqRPm68aZpjLAoGEUw7vUDpDwhkQTktnNiLLNnxT29v4JTYsnQHCoiOmhE1PKBmyCsUinecWHWEjIIOH2gD4-YYNSBjDFh0q3GPhPJkceqJ_RtvwGXSf9Z4tND4O4m-drf-pUOrWcSiVQnfvjCwVkjAWwqS7PofuVulEqK60qFqDrki0cSSMGXSPaGT-0d2LdCcLlIV1xoJSxz1hc4fWETaf6gwfsSBsPplUzITNt1j2lLqjd2aMNrcEExbCJHdoYLFaN9GgzWXtqVYDqc4Qcm0gPxSpk7qAb284nMDCPj9P_DWsjUh_2aU8YoHW1pTzE9pPw6KwHkEYf6fVxTH-1pKeJL0ACBsSFknTTZROf_UoYaOzN6Dk0R9VQ_N2onmnV9FDSTjZ-OCjVWSFMUx__Pzjy7ag2dbEhq3C5zPi7RrB2oiSXgEeNw8vi2W8eZ1N1z9WX2TUOv_j3EVB-Elzn7ckPM9-X99z7YqJ3_Xl53q1mcTxldPTe-aveKM7vM2h3rLdsBAW9S8bWMtOLWNwY7kR__Lb02z1ONu8TpYvs-c7oi6y-RttKbwp4AoRtBC3NJ0Qq9l6s0Kh1MdyBXJfKplKd4nh1kxwnRM-K2dFBvt_lZm9NkXzwYNoE_k8-nJgVh9MiqBLNL5pZBotFNrBXrh01_QTyNA6WYhKQLPTwtlQbbd71ujtfFtAmn2JsDKFKuHr1I6qUuBrAX0f5HkwEjQZBenwfKJdqCrm4Uz_f4fNp8LaycZhNgpHooPjYBDwIIxCyju78WDEBxkmw0Akg2EigijA_nAYJFFOGR0mQUeOGWWcctYPGA847wme97NgFCVJJChmfcIp7oVUPd8cetpsO9LaA45HlFHWUSJBZavHAWMF_gXVImHMvxXM2GO6yWFrCadKWmcvLE46Vb0qHqsGtbCoSBST6OHUbKIYUiPsDmQB0oAzTbvoHIwa75wrfR0mbO67knS7Q9JLte9eTROrTJdG_4mpb2aVLkvYvNL9dwAAAP__QThqww">