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.
size = mini_type_stack_size_full (t, &align, cinfo->pinvoke);
align_size = ALIGN_TO (size, 8);
+ /* FIXME: gshared, gsharedvt, dyncalls */
+#if 0
if (m_class_is_simd_type (klass) && size <= 16 && !cinfo->pinvoke && !is_return && cinfo->fr < FP_PARAM_REGS) {
ainfo->storage = ArgInSIMDReg;
ainfo->reg = cinfo->fr;
cinfo->fr ++;
return;
}
+#endif
nregs = align_size / 8;
if (is_hfa (t, &nfields, &esize, field_offsets)) {