* [mono][interp] Fix incorrect masking
* [mono][interp] Fix warning
static void
interp_v128_i1_op_left_shift (gpointer res, gpointer v1, gpointer s1)
{
- *(v128_i1*)res = *(v128_i1*)v1 << (*(gint32*)s1 & 0x7);
+ *(v128_i1*)res = *(v128_i1*)v1 << (*(gint32*)s1 & 7);
}
static void
interp_v128_i2_op_left_shift (gpointer res, gpointer v1, gpointer s1)
{
- *(v128_i2*)res = *(v128_i2*)v1 << (*(gint32*)s1 & 0x15);
+ *(v128_i2*)res = *(v128_i2*)v1 << (*(gint32*)s1 & 15);
}
static void
if (id == -1)
return FALSE;
+ MonoClass *vector_klass = mono_class_from_mono_type_internal (csignature->ret);
if (id == SN_get_IsHardwareAccelerated) {
interp_add_ins (td, MINT_LDC_I4_1);
goto opcode_added;
gint16 simd_opcode = -1;
gint16 simd_intrins = -1;
-
- MonoClass *vector_klass = mono_class_from_mono_type_internal (csignature->ret);
if (!m_class_is_simd_type (vector_klass))
vector_klass = mono_class_from_mono_type_internal (csignature->params [0]);
if (!m_class_is_simd_type (vector_klass))