<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/103032>103032</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[AArch64] Crash in call lowering for function taking vector of non-p2 integer type on big endian
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
alexrp
</td>
</tr>
</table>
<pre>
```llvm
target datalayout = "E-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128"
target triple = "aarch64_be-unknown-linux-musl"
define fastcc void @foo(<4 x i6> %0) {
ret void
}
```
```console
❯ llc -version
LLVM (http://llvm.org/):
LLVM version 18.1.8
❯ llc -O0 reduced.ll
llc: /home/alexrp/Source/tests/llvm-project-18/llvm/lib/CodeGen/GlobalISel/CallLowering.cpp:497: void buildCopyFromRegs(llvm::MachineIRBuilder&, llvm::ArrayRef<llvm::Register>, llvm::ArrayRef<llvm::Register>, llvm::LLT, llvm::LLT, llvm::ISD::ArgFlagsTy): Assertion `(SrcEltTy.getSizeInBits() % OriginalEltTy.getSizeInBits()) == 0' failed.
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0. Program arguments: llc -O0 reduced.ll
1. Running pass 'Function Pass Manager' on module 'reduced.ll'.
2. Running pass 'IRTranslator' on function '@foo'
#0 0x00007e9ecc75d8e2 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/opt/llvm/bin/../lib/libLLVM.so.18.1+0xd5d8e2)
#1 0x00007e9ecc75a8ff llvm::sys::RunSignalHandlers() (/opt/llvm/bin/../lib/libLLVM.so.18.1+0xd5a8ff)
#2 0x00007e9ecc75aa45 SignalHandler(int) Signals.cpp:0:0
#3 0x00007e9ecb242990 (/lib/x86_64-linux-gnu/libc.so.6+0x42990)
#4 0x00007e9ecb299a1b __pthread_kill_implementation ./nptl/pthread_kill.c:44:76
#5 0x00007e9ecb299a1b __pthread_kill_internal ./nptl/pthread_kill.c:78:10
#6 0x00007e9ecb299a1b pthread_kill ./nptl/pthread_kill.c:89:10
#7 0x00007e9ecb2428e6 gsignal ./signal/../sysdeps/posix/raise.c:27:6
#8 0x00007e9ecb2268b7 abort ./stdlib/abort.c:81:7
#9 0x00007e9ecb2267db _nl_load_domain ./intl/loadmsgcat.c:1177:9
#10 0x00007e9ecb239206 (/lib/x86_64-linux-gnu/libc.so.6+0x39206)
#11 0x00007e9ecd5e12a9 buildCopyFromRegs(llvm::MachineIRBuilder&, llvm::ArrayRef<llvm::Register>, llvm::ArrayRef<llvm::Register>, llvm::LLT, llvm::LLT, llvm::ISD::ArgFlagsTy) CallLowering.cpp:0:0
#12 0x00007e9ecd5e4ed7 llvm::CallLowering::handleAssignments(llvm::CallLowering::ValueHandler&, llvm::SmallVectorImpl<llvm::CallLowering::ArgInfo>&, llvm::CCState&, llvm::SmallVectorImpl<llvm::CCValAssign>&, llvm::MachineIRBuilder&, llvm::ArrayRef<llvm::Register>) const (/opt/llvm/bin/../lib/libLLVM.so.18.1+0x1be4ed7)
#13 0x00007e9ecf3ae0ba llvm::AArch64CallLowering::lowerFormalArguments(llvm::MachineIRBuilder&, llvm::Function const&, llvm::ArrayRef<llvm::ArrayRef<llvm::Register>>, llvm::FunctionLoweringInfo&) const (/opt/llvm/bin/../lib/libLLVM.so.18.1+0x39ae0ba)
#14 0x00007e9ecd64d8d5 llvm::IRTranslator::runOnMachineFunction(llvm::MachineFunction&) (/opt/llvm/bin/../lib/libLLVM.so.18.1+0x1c4d8d5)
#15 0x00007e9eccd271f6 llvm::MachineFunctionPass::runOnFunction(llvm::Function&) (.part.0) MachineFunctionPass.cpp:0:0
#16 0x00007e9ecc94f4d1 llvm::FPPassManager::runOnFunction(llvm::Function&) (/opt/llvm/bin/../lib/libLLVM.so.18.1+0xf4f4d1)
#17 0x00007e9ecc94f8e1 llvm::FPPassManager::runOnModule(llvm::Module&) (/opt/llvm/bin/../lib/libLLVM.so.18.1+0xf4f8e1)
#18 0x00007e9ecc950207 llvm::legacy::PassManagerImpl::run(llvm::Module&) (/opt/llvm/bin/../lib/libLLVM.so.18.1+0xf50207)
#19 0x0000654acacfc896 compileModule(char**, llvm::LLVMContext&) llc.cpp:0:0
#20 0x0000654acacf1117 main (/opt/llvm/bin/llc+0x12117)
#21 0x00007e9ecb228150 __libc_start_call_main ./csu/../sysdeps/nptl/libc_start_call_main.h:74:3
#22 0x00007e9ecb228209 call_init ./csu/../csu/libc-start.c:128:20
#23 0x00007e9ecb228209 __libc_start_main ./csu/../csu/libc-start.c:347:5
#24 0x0000654acacf1e15 _start (/opt/llvm/bin/llc+0x12e15)
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzcWF1v46rW_jXkBsWy8fdFLtKk2W-lVlM1VW8jDMThLQYLcKc5v_4I7CR2mtl7Ps65OaO2kyzDsx6etVgsjI3htWRsAdI7kK5nuLMHpRdYsE_dzipFjwuQhf2PEB8NCNcgXFqsa2YhxRYLfFSdhSBeQ4DQ_bwB8ZLNeQHipfuN0ZxHGYiX_o_7liUgXmbJnEfIDYhQMZcx6m1bZ0No4sRq3gp2coCxJocs2VVs3sl3qb7LueCy-5w3nRHnqf1fyvZcMrjHxhICPxSnECThXingPK8S-Al5BuJ7CFAaAlRCkN_1MyHUzPoZA16-Hj6ctBj7ORuJkkYJNljvESjXYLmBQhA4_2DacCX7Z4-Pb08QoOJgbQviJUAbgDZO3kDp2n8rnXng4kcP82FUBFFQ3HTxLYSa0Y4wGgjRjxCCgHgJAdocVMMA2vSBBWizVZ0mzmKZsWZwP2-1-n9G7DwqBov7j1cAbVaKsr-YBGjzl1AVFg9bJpwZC_GovjPNZR2Q1q0mKXPn0-tddVzQlWqPG62aF1YbgAoPGy9BvHzC5MAle3i5c8OYBigDaAUvA5Za4-ML24N4dTG-sJobyzSI7_9k9OPj6z8YHrbrE3C9Ebg2r8c-MHBpDNPWhcMFHhVbTe6FfT0GNbNb_i_2IO-4E7XwWYVS-E3zmkssfjjKD4zXLstDgHK4x1wwGvRRfH68X27voemqhluIYdXVULNWaQutgi6JzDmLam4PXRUQ1YwiOAotQBtuTMdcyCGWFHJJREcZtAcGicbmACtM3q3GhA3utxaTd0i7pj0nZRhA_-9Zq1rjBmJddw2T1vH4YTJGw6SXTkoua9hiYyBA-aaTxIv57AxPWOLa5UIOlYSNop3b_SgfoaF8YIZ-gPjw8qqxNAJbdQLan5wAlJ-qQD7sMIDiEIafYRiGOSsZIXlKC4ZGqWCOpv_wrLm0XpBXp9AknTX-vlPGaoabIZO5tH0GuO2kWnsJScXdVgqC8_4SvHL7PDAqcFscoLvwk3oaLjvOPKMrnrjY72_xfOnkltcSi__DkgqmL8n4u1ScpwkVdE0FJymcOAWoGBTozWaoEKH_PQPFY6AKJagsw4FoT-izyHZZMhT6Wnb9A-IIZp6dnzIhl0wxyxJHFdztWnvQDNPdOxdix5tWMJe12CeGE0C21lW18bDAVdDEHVp5dsFPfwZfWqYlFn-LnPtDcKRGdgt5PO1v4YryCi6_FrdgGayNj4dH6j-eMsAcDWWtKw6tMvwToI3G3DCPjVxdH2lQTKFRVlQ5xJUrSx7K0j583tSzi9yKLwjlNUJOK7iTYicUpjuqGsz7uHDpl-vMjakJ7uGiKHeUhrC73RFOAeMShdmvpZKfck4lhznZcjRlEcLl_-LBBm-c5aOd6qRAV1IkjOYj3DFAbzn4QrD0TWZ_Poxl-jr-DYuOnavHlWjbBgvxxohV-qFpxUSNr1BLXT_IvfLyXAGtVluLLfs1B6s3LPqF3IL8D0S8hK5_tL9doqPKx2OSu5PSuo8xCys8JrX03fRX8YT7tlG6wWJ5Ptp_KcPPh7pf1M_J8Y8aXaf6ycmJvA-4c_WnWsall2qi5eRIoVlCC5qON9W45-j7gU5-k4NQJ6a3RLw8y_7kiI6IpzThPDmmCEV5tM--Zu2JgOu_RtRvcv5KNmixtoG_QN3Au11IJoccKZN9QqNxXJ_d1FMn-MuMfku-vScxUS-_Zlmwn2H55HvWaaQH058yLNiUYTFlmIYoHBdkwWpMjkPneuHaF7eB73-Bp6cx4Xk66LM0wQSTPSnKDBLVtFyws1zkgDVAS_8zPb_enlZKWvZpB2ZCkJt5hcIrP1EU5dB3ET9cjLsi--2DomhCGkVX3UkRpSHc7Vy_sDMWa7sjWIjduUkhpvvaRg2N2q1JwcF1Q66zjC9O0bVTFJbQT-GS22s__UcHPvfgfVvkX6ygkSzxLdDJSm4t4iZ4nLiWK71gJ9eSsyiFPerPiM6iUcU6vUiZ0UVMy7jEM7aIchSnCUrKdHZYRDgmZcYKUjBSkoLRoqSUlDmjFFVZRGZ8gUKUhEUUh2VSRGkQIxQnSZakKYtCVlCQhKzBXASn1y0zfx1eRGEcxmgmcMWE8W_DEJLsO_RPAUIgXc_0wt-kq642IAkFN9ZcYCy3wr9GGw5VkK7hyt-nufQBhGI4peBe6ct91OJ3Z_vwbQdUeyiVnLfI3R1ZzTS0x5a5C2zFa8gk5VjOOi0Wv3_rH1b6sUD_DgAA__-NjevG">