diff --git a/src/mono/mono/mini/interp/interp-simd.c b/src/mono/mono/mini/interp/interp-simd.c index 2d5bb6b50ae276..f67370e478d1ab 100644 --- a/src/mono/mono/mini/interp/interp-simd.c +++ b/src/mono/mono/mini/interp/interp-simd.c @@ -147,13 +147,13 @@ interp_v128_i4_op_negation (gpointer res, gpointer v1) 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 diff --git a/src/mono/mono/mini/interp/transform-simd.c b/src/mono/mono/mini/interp/transform-simd.c index ed2ef76c880efc..a46f7555e14fe7 100644 --- a/src/mono/mono/mini/interp/transform-simd.c +++ b/src/mono/mono/mini/interp/transform-simd.c @@ -91,6 +91,7 @@ emit_sri_vector128 (TransformData *td, MonoMethod *cmethod, MonoMethodSignature 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; @@ -98,8 +99,6 @@ emit_sri_vector128 (TransformData *td, MonoMethod *cmethod, MonoMethodSignature 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))