[mono][jit] Disable passing SIMD args in SIMD regs on arm64. (#87540)
authorZoltan Varga <vargaz@gmail.com>
Wed, 14 Jun 2023 11:40:49 +0000 (07:40 -0400)
committerGitHub <noreply@github.com>
Wed, 14 Jun 2023 11:40:49 +0000 (07:40 -0400)
commit793e49bbf409dbed09594b8925762627a5866e9c
tree0213a8b7eea78eaa0d8001d9279c6dfe10338666
parentdc8114a57fa5149b142cd67a6d7b9385b5723208
[mono][jit] Disable passing SIMD args in SIMD regs on arm64. (#87540)

It has the following problems:
- the gshared versions of SIMD types like Vector<T_INT> are not marked
  as SIMD, so there is a calling convention mismatch if the callee is
  generic shared.
- the gsharedvt code doesn't support it, i.e. it asserts in get_arg_slots ().
- the dyncall code might not support it either.

Fixes https://github.com/dotnet/runtime/issues/87277.
src/mono/mono/mini/mini-arm64.c