<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/63701>63701</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
Assertion `Val == MO.getImm() && "Add/sub immediate out of range!"' with high stack alignment on arm64 windows
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
efriedma-quic
</td>
</tr>
</table>
<pre>
Testcase:
```
void g(void*);
void f() { _Alignas(8192) int x[1 << 26]; g(x); }
```
llvm/lib/Target/AArch64/MCTargetDesc/AArch64InstPrinter.cpp:1206: void llvm::AArch64InstPrinter::printAddSubImm(const llvm::MCInst *, unsigned int, const llvm::MCSubtargetInfo &, llvm::raw_ostream &): Assertion `Val == MO.getImm() && "Add/sub immediate out of range!"' failed.
Looks like an invalid ADDXri instruction.
CC @mstorsjo
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJy0U01vpDgQ_TXFpZSWKQMNBw50I6RIG-1KiVZ7iww24ATsXtuks_9-ZTqjZJS5joQs6uM9v3pyCe_1ZJSqIT9B3iZiC7N1tRqdVnIVd_9uekh6K_-rn5QPg_AKeAOsBfbjLNjHt4dvVkucgMr4A9QAVcBPX2ojUAlUIRxP-NwsejLCA5VlWlFMaxPwHfJTisDPwM9IBeQt8NNO-n6jQzi2v7z9di7L2wrULboH6p6Em1QA6prGDXORAXUP51uyVX74LNwbH_5y2gTlDsPlArxJiRXAG9x176S8Ad5877_lLzFopHzc-vt1BSoHa3z4Anw4RwzurpxxM7vzMo4c4-_dj1sfdqH3ZrQIVMS2zwYnrs_WB6fEeitWUWzjvXJBW4NQsL_FgsBb4C0-_HmITLuw3f-IKBCIGimBOr_1qNdVSS2CQrsFtCM6YSYFlAIR0BFHoRclD1-9_sPaV4-LflUoDGrzJhYtsWnbf5xGbXxw2xDV_AQ6nxEytvpgnX-xmMiay4pXIlF1WpRlXlV5kSVzzVg2lGXZiyIXVFGfU8XSYRTHksmUqTTRNTHi7Mhy4lSw7EDpcSzLtK_SlPJx4JAxtQq9HKJtB-umRHu_qbrgR5Ymi-jV4venT2TUFfdiHDZvE1dHzF2_TR4ytmgf_CdL0GFR9e_0-qrDjLOeZvRBDK8o4qqsygS0BoVbiwyv2kh79cnmlnoO4eLju6AOqJt0mLf-MNh9Dz7WIU5zcfZFDXEd9lE9ULdb8X8AAAD__8YXNKc">