<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/148387>148387</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[AArch64] Invalid size request on a scalable vector
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
sjoerdmeijer
</td>
</tr>
</table>
<pre>
Compile this:
```
#include <algorithm>
int a;
extern short b[][1][1];
void c(int d[][1][1], short e[][1][1]) {
for (int f;;)
for (int g;; g += 3LL)
if (d)
for (int h; h < 2036854775797ULL; h += 4ULL)
for (int i(-49); i < 10; i++) {
b[h][g][g] = d[f][g][g] | std::min(0, d[0][f][g]);
a = std::max((unsigned long long)e[0][1][1],
(unsigned long long)401598999);
}
}
```
with `-Ofast -mcpu=grace` to get this error:
```
fatal error: error in backend: Invalid size request on a scalable vector.
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace, preprocessed source, and associated run script.
Stack dump:
0. Program arguments: /opt/compiler-explorer/clang-trunk/bin/clang++ -gdwarf-4 -g -o /app/output.s -fno-verbose-asm -S -target aarch64-linux-gnu --gcc-toolchain=/opt/compiler-explorer/arm64/gcc-12.2.0/aarch64-unknown-linux-gnu --sysroot=/opt/compiler-explorer/arm64/gcc-12.2.0/aarch64-unknown-linux-gnu/aarch64-unknown-linux-gnu/sysroot -fcolor-diagnostics -fno-crash-diagnostics -Ofast -mcpu=grace <source>
1. <eof> parser at end of file
2. Code generation
3. Running pass 'Function Pass Manager' on module '<source>'.
4. Running pass 'AArch64 Instruction Selection' on function '@_Z1cPA1_A1_iPA1_A1_s'
#0 0x0000000003c7a1b8 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/opt/compiler-explorer/clang-trunk/bin/clang+++0x3c7a1b8)
#1 0x0000000003c77b8c llvm::sys::CleanupOnSignal(unsigned long) (/opt/compiler-explorer/clang-trunk/bin/clang+++0x3c77b8c)
#2 0x0000000003bc83d3 llvm::CrashRecoveryContext::HandleExit(int) (/opt/compiler-explorer/clang-trunk/bin/clang+++0x3bc83d3)
#3 0x0000000003c6f3de llvm::sys::Process::Exit(int, bool) (/opt/compiler-explorer/clang-trunk/bin/clang+++0x3c6f3de)
#4 0x0000000000da499b LLVMErrorHandler(void*, char const*, bool) cc1_main.cpp:0:0
#5 0x0000000003bd2303 llvm::report_fatal_error(llvm::Twine const&, bool) (/opt/compiler-explorer/clang-trunk/bin/clang+++0x3bd2303)
#6 0x0000000003bd2468 (/opt/compiler-explorer/clang-trunk/bin/clang+++0x3bd2468)
#7 0x0000000003c1f0cd (/opt/compiler-explorer/clang-trunk/bin/clang+++0x3c1f0cd)
#8 0x0000000003c1f0ec llvm::TypeSize::operator unsigned long() const (/opt/compiler-explorer/clang-trunk/bin/clang+++0x3c1f0ec)
#9 0x000000000507170b calculateByteProvider(llvm::SDValue, unsigned int, unsigned int, std::optional<unsigned long>, unsigned int) DAGCombiner.cpp:0:0
#10 0x00000000050719c2 calculateByteProvider(llvm::SDValue, unsigned int, unsigned int, std::optional<unsigned long>, unsigned int) DAGCombiner.cpp:0:0
#11 0x0000000005071b25 calculateByteProvider(llvm::SDValue, unsigned int, unsigned int, std::optional<unsigned long>, unsigned int) DAGCombiner.cpp:0:0
#12 0x00000000050fb205 (anonymous namespace)::DAGCombiner::visitOR(llvm::SDNode*) DAGCombiner.cpp:0:0
#13 0x000000000511dc69 (anonymous namespace)::DAGCombiner::visit(llvm::SDNode*) DAGCombiner.cpp:0:0
#14 0x0000000005120825 (anonymous namespace)::DAGCombiner::combine(llvm::SDNode*) DAGCombiner.cpp:0:0
```
See also: https://godbolt.org/z/qTx87jfde
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJzUWE9zozgW_zTy5RUuIbCBgw_EiXenKrOd6vTMYS8pIR5Y3SAxknCc_vRbEk5svNmd3VQu48IG9J5--un9k2RurWwV4oasbsjqdsFHt9dmY79rNHWP8juaRaXrl81W94PsENxeWpKUhIZrTU8XLQlLpBLdWCOQZMu7Vhvp9j1J7ggtpXLASXJDaIlHh0aB3WvjoJqGJaub-OIW9A5a1iAIy33f-l09tj3B4PviAkjmoQAabeAE1Xj45IawIkhmsnaSQQuE3ZDkFpL7-7MigGy8Zn3ZNOu_9533fv7AaLLOV2mWrbIi--3-_iSZYNPf5rhXMJKwPEoLr5HcgAx4MQ3PHsBfb1PzFtxPk27PN_CjeKM174iyLVhXeycmZS8VYTn1pvTqdNK77BVIzJgC8IB_BuFHwnLC8lGFaKqh06oNP4QVeMadO-8KdPb5T2ApjVdFXhTFO7xIduvjcPq9jExaPku3B7Km0ZeGWwdRL4aRJLet4QLJmoLT0KILwQ1ojDbnEJ9jNdzx7k1legCpoOLiBypvD_hFHXgna7DyJ4LBP0a0DrQCDlbwjlcdwgGF02ZJaPlwf1c-3oEdq1464FCNLRgcfFA7DXvnhpBtbEfYrpVuP1ZLoXvCdl13eL1Fg9HfUTjCdtLaES1hO-Cqhtd8dHsEYbjdB5ouTJptYTA4GC3QWqzB6tFMzb4nt1YLyR3WYEYFVhg5OM_30XHxA-qxHyYL0SWhxYPRreE9cNOOPSrnKQNhOz14TmKqHCbC49Bpg8a3dVy1kTOj-kHYrvJBOLVN8Q1RWz9z00QpRC1E2oPxYfCQoxtGt7QQNUpHBzSVthhx20P0CJHjxruRcyP26zTqpBqPUatGiKJWiMhp3Yk9l4okt_-VHjf9OvUWFyKK2ZItqW88oY7qh9LPaoZuX6zR2n0u7p_ITmNC1AjdaRPVkrdKWyfFyTrB5fPmd8LfV5eT80Opjr1HSbJF3ZDkDgZuLBrgDlDVoBtoZIeElsyrbXWN0KJCw53UitAy8c1fR6WkamHg1gJh2W5UwsvhwTf8yhVvvTkynxW9rscOvdaMB8t8tKXvoZVlsAn8oqwz4wT8iB2GpxNq8zqix03p0z9j8VDGT2X8JE936yXUh2lCgR7p6ycRGY-rHEJ-hepmX-z08GCkciEBvk0plJ-VDH9-0tYZ5D1ha59GUrlQpn1h_HgmEHZDjydOpxWDsCS-YpxVuXiP8bZDrsbhi3qUreLddVH9RH6ewZkfm_GrRJ7UyQW_rQ_Mryj0Ac3LViuHRzdJ_s5V3eHdUbppKfw0hhOHM8NkbsF1k9T4vs9DgZxeLnltodK6-zwLBgZnfuklP1rztCgquL___dc7v-JMZjKE5X6XRFjp-Yg9NyC0su7U8EpQiPip51ItxeCrNg3faZjV3FE1S-ilo6aV6Cksek_ToncZ9N-epcLXIdefbpOJztkm62uy6Tr_tJHS9UV-ZfPoiBsq6k_yc8A6j5T_20h4mcnfXgZ8lD9xetODL7TawFUW58HL3g2fRxIv0rm4JLmiWZzRCgTvxNhxhzcvDh-MPsga5-HxePs778awp3gjfMqd6_e3raQefNnmHUm280n6NeG6XwG35d-2uq-kQnMV3b5K0mvehWB_Bd7xNe-Krf4KvNmcd1MxuvIRyZVWL70eLSjeox3C4llMBC4Qp4aDtNJ9-Xo1s39oXx3LP-cwK-yrOK7FuvgYh48ySOcMGM3Z_28FMb19iMP86POICLyz2u_Jr84Tuq5055batITtfhK2--PbMc--NzUu6k1SF0nBF7iJsxVLUpYzuthvqjROU17nDYvXq6RapTUVWcpZgRlPCioWcsMo8zHL4myVpHSZMcYLtqIiT5EK4bdj2HPZLf3E_NiLcGjZxGme5Nmi4xV2NvwdwZjCZwhSwhhZ3S7MJpx3qrG1JKWdtM6eYZx0Xfgf47RB9Gfd__ksthhNt_n4cetE_rBh_woAAP__SAwxig">