Increase max size of localloc and localloc_imm on amd64. (#15374)
commitf8fbbcf280ca9a55ffe573681ad44abadf804592
authorJohan Lorensson <lateralusx.github@gmail.com>
Tue, 25 Jun 2019 08:46:33 +0000 (25 10:46 +0200)
committerGitHub <noreply@github.com>
Tue, 25 Jun 2019 08:46:33 +0000 (25 10:46 +0200)
tree902d2ac893c64a7cd3a1ebdd28ecda081e2e1034
parentb181dbc50dd4045b1a23ac53c7fb4337fe1df190
Increase max size of localloc and localloc_imm on amd64. (#15374)

We hit the following assert when doing full AOT of some assemblies:

wrong maximal instruction length of instruction localloc (expected 96, got 99)
Assertion: should not be reached at mono\mono\mini\mini-amd64.c:6801

Turns out that that size could be hit when a couple of things happens as part
of lowering OP_LOCALLOC and OP_LOCALLOC_IMM:

sreg1 is not RAX, RCX or RDI
dreg is not RAX, RCX or RDI
cfg->param_area is bigger than 127

Fix is to increase max size of the instruction, from 96 -> 120 (same as x86).
mono/mini/cpu-amd64.md