Make System.Runtime.Intrinsics.X86.*.IsSupported intrinsic
authorEgor Bogatov <egorbo@gmail.com>
Thu, 8 Aug 2019 16:38:39 +0000 (19:38 +0300)
committerMarek Safar <marek.safar@gmail.com>
Fri, 9 Aug 2019 07:34:29 +0000 (09:34 +0200)
Commit migrated from https://github.com/mono/mono/commit/7deb53514dfd0c0662c2a8a95e019b9ec6244f3d

src/mono/mono/mini/intrinsics.c

index 79b2197..7cf47e4 100644 (file)
@@ -1689,6 +1689,18 @@ mini_emit_inst_for_method (MonoCompile *cfg, MonoMethod *cmethod, MonoMethodSign
                }
        }
 
+#ifdef ENABLE_NETCORE
+       // Return false for IsSupported for all types in System.Runtime.Intrinsics.X86 
+       // as we don't support them now
+       if (in_corlib && 
+               !strcmp ("System.Runtime.Intrinsics.X86", cmethod_klass_name_space) && 
+               !strcmp (cmethod->name, "get_IsSupported")) {
+               EMIT_NEW_ICONST (cfg, ins, 0);
+               ins->type = STACK_I4;
+               return ins;
+       }
+#endif
+
        ins = mono_emit_native_types_intrinsics (cfg, cmethod, fsig, args);
        if (ins)
                return ins;