From 387425ea83817d55da5fa98bee04708e30682071 Mon Sep 17 00:00:00 2001 From: Egor Chesakov Date: Thu, 7 Oct 2021 17:37:29 -0700 Subject: [PATCH 1/2] Add tests generator for https://github.com/dotnet/runtime/issues/60035 --- .../Runtime_60035/generate-tests.py | 319 ++++++++++++++++++ 1 file changed, 319 insertions(+) create mode 100644 src/tests/readytorun/Runtime_60035/generate-tests.py diff --git a/src/tests/readytorun/Runtime_60035/generate-tests.py b/src/tests/readytorun/Runtime_60035/generate-tests.py new file mode 100644 index 0000000000000..ca2cb3d47c47b --- /dev/null +++ b/src/tests/readytorun/Runtime_60035/generate-tests.py @@ -0,0 +1,319 @@ +# Licensed to the .NET Foundation under one or more agreements. +# The .NET Foundation licenses this file to you under the MIT license. + +from pathlib import Path + +class Isa: + def __init__(self, class_name, namespace, base_class, subclasses_names, is_supported_property_name, config_env_var): + self.class_name = class_name + self.namespace = namespace + self.base_class = base_class + self.subclasses_names = subclasses_names + self.is_supported_property_name = is_supported_property_name + self.config_env_var = config_env_var + + def __repr__(self): + return self.class_fully_qualified_name() + + def class_fully_qualified_name(self): + return f'{self.namespace}.{self.class_name}' + +class X86Isa(Isa): + def __init__(self, class_name, base_class, config_env_var): + super().__init__(class_name, 'System.Runtime.Intrinsics.X86', base_class, ['X64'], 'IsSupported', config_env_var) + +class ArmIsa(Isa): + def __init__(self, class_name, base_class, config_env_var): + super().__init__(class_name, 'System.Runtime.Intrinsics.Arm', base_class, ['Arm64'], 'IsSupported', config_env_var) + +X86Base = X86Isa('X86Base', None, 'EnableHWIntrinsic') +Sse = X86Isa('Sse', X86Base, 'EnableSSE') +Sse2 = X86Isa('Sse2', Sse, 'EnableSSE2') +Sse3 = X86Isa('Sse3', Sse2, 'EnableSSE3') +Ssse3 = X86Isa('Ssse3', Sse3, 'EnableSSSE3') +Sse41 = X86Isa('Sse41', Ssse3, 'EnableSSE41') +Sse42 = X86Isa('Sse42', Sse41, 'EnableSSE42') +Avx = X86Isa('Avx', Sse42, 'EnableAVX') +Avx2 = X86Isa('Avx2', Avx, 'EnableAVX2') +AvxVnni = X86Isa('AvxVnni', Avx, 'EnableAVXVNNI') +Bmi1 = X86Isa('Bmi1', X86Base, 'EnableBMI1') +Bmi2 = X86Isa('Bmi2', X86Base, 'EnableBMI2') +Fma = X86Isa('Fma', Avx, 'EnableFMA') +Lzcnt = X86Isa('Lzcnt', X86Base, 'EnableLZCNT') +Pclmulqdq = X86Isa('Pclmulqdq', Sse2, 'EnablePCLMULQDQ') +Popcnt = X86Isa('Popcnt', Sse42, 'EnablePOPCNT') + +X86Isas = [X86Base, Sse, Sse2, Sse3, Ssse3, Sse41, Sse42, Avx, Avx2, AvxVnni, Bmi1, Bmi2, Fma, Lzcnt, Pclmulqdq, Popcnt] + +ArmBase = ArmIsa('ArmBase', None, 'EnableHWIntrinsic') +AdvSimd = ArmIsa('AdvSimd', ArmBase, 'EnableArm64AdvSimd') +Aes = ArmIsa('Aes', ArmBase, 'EnableArm64Aes') +Crc32 = ArmIsa('Crc32', ArmBase, '(EnableArm64Crc32') +Dp = ArmIsa('Dp', AdvSimd, 'EnableArm64Dp') +Rdm = ArmIsa('Rdm', AdvSimd, 'EnableArm64AdvSimd_v81') +Sha1 = ArmIsa('Sha1', ArmBase, 'EnableArm64Sha1') +Sha256 = ArmIsa('Sha256', ArmBase, 'EnableArm64Sha256') + +ArmIsas = [ArmBase, AdvSimd, Aes, Crc32, Dp, Rdm, Sha1, Sha256] + +AllIsas = X86Isas + ArmIsas + +def build_isas_by_env_var_dict(isas): + isas_by_env_var = dict() + + for isa in isas: + isas_by_env_var[isa.config_env_var] = [isa] + + for isa in isas: + base_class = isa.base_class + while not base_class is None: + isas_by_env_var[base_class.config_env_var].append(isa) + base_class = base_class.base_class + + return isas_by_env_var + +def build_subclasses_fully_qualified_names(isa): + class_fqn = isa.class_fully_qualified_name() + subclasses_fq_names = [class_fqn] + subclasses_fq_names.extend(f'{class_fqn}.{subclass_name}' for subclass_name in isa.subclasses_names) + return subclasses_fq_names + +def build_helper_class_name(fully_qualified_class_name): + return 'Helper_' + fully_qualified_class_name.replace('.', '_') + +def build_is_supported_method_name(isa): + return f'{isa.namespace}.{isa.class_name}.IsSupported' + +class ProgramClassBuilder: + def __init__(self, isas): + self._isas = isas + + def _begin_test_class(self): + self._str += '''// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. + +using System; + +namespace Runtime_60035 +{ + static class Program + { + public static int Main() + { + bool success = true; + + if (!TestEnvironmentVariablesAreWorking()) + { + success = false; + } + + if (!TestReadyToRunAssumptionsAreCorrect()) + { + success = false; + } + + return success ? 100 : 0; + } +''' + + def _add_test_environment_variables_are_working(self): + self._str += ''' + static bool TestEnvironmentVariablesAreWorking() + { + bool success = true; +''' + + for env_var, isas in build_isas_by_env_var_dict(self._isas).items(): + dotnet_config_env_var = f'DOTNET_{env_var}' + complus_config_env_var = f'COMPlus_{env_var}' + + self._str += f''' + if (String.Equals(Environment.GetEnvironmentVariable("{dotnet_config_env_var}"), "0") || String.Equals(Environment.GetEnvironmentVariable("{complus_config_env_var}"), "0")) + {{''' + for isa in isas: + for class_name in build_subclasses_fully_qualified_names(isa): + is_supported_property_name = f'{class_name}.{isa.is_supported_property_name}' + self._str += f''' + if ({is_supported_property_name}) + {{ + success = false; + Console.WriteLine("ERROR: Either {dotnet_config_env_var} or {complus_config_env_var} is '0' but {is_supported_property_name} returns 'True'"); + }} +''' + self._str += ''' } +''' + self._str += ''' + return success; + } +''' + + def _add_test_ready_to_run_assumptions_are_correct(self): + self._str += ''' + static bool TestReadyToRunAssumptionsAreCorrect() + { + bool success = true; +''' + + for isa in self._isas: + for class_name in build_subclasses_fully_qualified_names(isa): + helper_class_name = f'{build_helper_class_name(class_name)}' + is_supported_property_name = f'{class_name}.{isa.is_supported_property_name}' + helper_is_supported_property_name = f'{helper_class_name}.{isa.is_supported_property_name}' + self._str += f''' + if ({is_supported_property_name} != {helper_is_supported_property_name}) + {{ + success = false; + Console.WriteLine("ERROR: {is_supported_property_name} returns '{{0}}' while a loaded into the process ReadyToRun image assumes the value being '{{1}}'", {is_supported_property_name}, {helper_is_supported_property_name}); + }} +''' + self._str += ''' + return success; + } +''' + + def _end_test_class(self): + self._str += ''' } +} +''' + + def build(self): + self._str = '' + self._begin_test_class() + self._add_test_environment_variables_are_working() + self._add_test_ready_to_run_assumptions_are_correct() + self._end_test_class() + return self._str + +class HelperClassBuilder: + def __init__(self, isa): + self._isa = isa + + def _begin_test(self): + self._str += '''// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. + +using System.Runtime.CompilerServices; + +namespace Runtime_60035 +{''' + + def _add_test_classes(self): + for class_fully_qualified_name in build_subclasses_fully_qualified_names(self._isa): + self._str += f''' + public static class {build_helper_class_name(class_fully_qualified_name)} + {{ + public static bool IsSupported + {{ + [MethodImpl(MethodImplOptions.NoInlining)] + get {{ return {class_fully_qualified_name}.{isa.is_supported_property_name}; }} + }} + }} +''' + + def _end_test(self): + self._str += '''} +''' + + def build(self): + self._str = '' + self._begin_test() + self._add_test_classes() + self._end_test() + return self._str + +HelperMSBuildProject = f''' + + + Library + + + + + + + +''' + +class ProgramMSBuildProjectBuilder: + def __init__(self, isas): + self._isas = isas + + def _begin_msbuild_project(self): + self._str += ''' + + + Exe + +''' + + def _add_project_references(self): + self._str += ''' + ''' + for isa in self._isas: + helper_class_name = build_helper_class_name(isa.class_fully_qualified_name()) + self._str += f''' + ''' + self._str += ''' + +''' + + def _add_clrtest_batch_pre_commands(self): + self._str += ''' + + + +''' + def _end_msbuild_project(self): + self._str += ''' + + + + +''' + + def build(self): + self._str = '' + self._begin_msbuild_project() + self._add_project_references() + self._add_clrtest_batch_pre_commands() + self._end_msbuild_project() + return self._str + +if __name__ == "__main__": + tests_dir = Path(__file__).parent + + builder = ProgramClassBuilder(AllIsas) + with open(tests_dir.joinpath('Runtime_60035.cs'), 'w') as out: + out.write(builder.build()) + + builder = ProgramMSBuildProjectBuilder(AllIsas) + with open(tests_dir.joinpath('Runtime_60035.csproj'), 'w') as out: + out.write(builder.build()) + + for isa in AllIsas: + helper_class_name = build_helper_class_name(isa.class_fully_qualified_name()) + + builder = HelperClassBuilder(isa) + with open(tests_dir.joinpath(f'{helper_class_name}.cs'), 'w') as out: + out.write(builder.build()) + + with open(tests_dir.joinpath(f'{helper_class_name}.csproj'), 'w') as out: + out.write(HelperMSBuildProject) From a4dcb421a4a581a1c83265568fa2504b2d6227c4 Mon Sep 17 00:00:00 2001 From: Egor Chesakov Date: Fri, 15 Oct 2021 11:59:08 -0700 Subject: [PATCH 2/2] Add generated tests --- ...r_System_Runtime_Intrinsics_Arm_AdvSimd.cs | 25 + ...stem_Runtime_Intrinsics_Arm_AdvSimd.csproj | 11 + ...elper_System_Runtime_Intrinsics_Arm_Aes.cs | 25 + ...r_System_Runtime_Intrinsics_Arm_Aes.csproj | 11 + ...r_System_Runtime_Intrinsics_Arm_ArmBase.cs | 25 + ...stem_Runtime_Intrinsics_Arm_ArmBase.csproj | 11 + ...per_System_Runtime_Intrinsics_Arm_Crc32.cs | 25 + ...System_Runtime_Intrinsics_Arm_Crc32.csproj | 11 + ...Helper_System_Runtime_Intrinsics_Arm_Dp.cs | 25 + ...er_System_Runtime_Intrinsics_Arm_Dp.csproj | 11 + ...elper_System_Runtime_Intrinsics_Arm_Rdm.cs | 25 + ...r_System_Runtime_Intrinsics_Arm_Rdm.csproj | 11 + ...lper_System_Runtime_Intrinsics_Arm_Sha1.cs | 25 + ..._System_Runtime_Intrinsics_Arm_Sha1.csproj | 11 + ...er_System_Runtime_Intrinsics_Arm_Sha256.cs | 25 + ...ystem_Runtime_Intrinsics_Arm_Sha256.csproj | 11 + ...elper_System_Runtime_Intrinsics_X86_Avx.cs | 25 + ...r_System_Runtime_Intrinsics_X86_Avx.csproj | 11 + ...lper_System_Runtime_Intrinsics_X86_Avx2.cs | 25 + ..._System_Runtime_Intrinsics_X86_Avx2.csproj | 11 + ...r_System_Runtime_Intrinsics_X86_AvxVnni.cs | 25 + ...stem_Runtime_Intrinsics_X86_AvxVnni.csproj | 11 + ...lper_System_Runtime_Intrinsics_X86_Bmi1.cs | 25 + ..._System_Runtime_Intrinsics_X86_Bmi1.csproj | 11 + ...lper_System_Runtime_Intrinsics_X86_Bmi2.cs | 25 + ..._System_Runtime_Intrinsics_X86_Bmi2.csproj | 11 + ...elper_System_Runtime_Intrinsics_X86_Fma.cs | 25 + ...r_System_Runtime_Intrinsics_X86_Fma.csproj | 11 + ...per_System_Runtime_Intrinsics_X86_Lzcnt.cs | 25 + ...System_Runtime_Intrinsics_X86_Lzcnt.csproj | 11 + ...System_Runtime_Intrinsics_X86_Pclmulqdq.cs | 25 + ...em_Runtime_Intrinsics_X86_Pclmulqdq.csproj | 11 + ...er_System_Runtime_Intrinsics_X86_Popcnt.cs | 25 + ...ystem_Runtime_Intrinsics_X86_Popcnt.csproj | 11 + ...elper_System_Runtime_Intrinsics_X86_Sse.cs | 25 + ...r_System_Runtime_Intrinsics_X86_Sse.csproj | 11 + ...lper_System_Runtime_Intrinsics_X86_Sse2.cs | 25 + ..._System_Runtime_Intrinsics_X86_Sse2.csproj | 11 + ...lper_System_Runtime_Intrinsics_X86_Sse3.cs | 25 + ..._System_Runtime_Intrinsics_X86_Sse3.csproj | 11 + ...per_System_Runtime_Intrinsics_X86_Sse41.cs | 25 + ...System_Runtime_Intrinsics_X86_Sse41.csproj | 11 + ...per_System_Runtime_Intrinsics_X86_Sse42.cs | 25 + ...System_Runtime_Intrinsics_X86_Sse42.csproj | 11 + ...per_System_Runtime_Intrinsics_X86_Ssse3.cs | 25 + ...System_Runtime_Intrinsics_X86_Ssse3.csproj | 11 + ...r_System_Runtime_Intrinsics_X86_X86Base.cs | 25 + ...stem_Runtime_Intrinsics_X86_X86Base.csproj | 11 + .../readytorun/Runtime_60035/Runtime_60035.cs | 1562 +++++++++++++++++ .../Runtime_60035/Runtime_60035.csproj | 238 +++ 50 files changed, 2664 insertions(+) create mode 100644 src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_Arm_AdvSimd.cs create mode 100644 src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_Arm_AdvSimd.csproj create mode 100644 src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_Arm_Aes.cs create mode 100644 src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_Arm_Aes.csproj create mode 100644 src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_Arm_ArmBase.cs create mode 100644 src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_Arm_ArmBase.csproj create mode 100644 src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_Arm_Crc32.cs create mode 100644 src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_Arm_Crc32.csproj create mode 100644 src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_Arm_Dp.cs create mode 100644 src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_Arm_Dp.csproj create mode 100644 src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_Arm_Rdm.cs create mode 100644 src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_Arm_Rdm.csproj create mode 100644 src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_Arm_Sha1.cs create mode 100644 src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_Arm_Sha1.csproj create mode 100644 src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_Arm_Sha256.cs create mode 100644 src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_Arm_Sha256.csproj create mode 100644 src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_X86_Avx.cs create mode 100644 src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_X86_Avx.csproj create mode 100644 src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_X86_Avx2.cs create mode 100644 src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_X86_Avx2.csproj create mode 100644 src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_X86_AvxVnni.cs create mode 100644 src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_X86_AvxVnni.csproj create mode 100644 src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_X86_Bmi1.cs create mode 100644 src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_X86_Bmi1.csproj create mode 100644 src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_X86_Bmi2.cs create mode 100644 src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_X86_Bmi2.csproj create mode 100644 src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_X86_Fma.cs create mode 100644 src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_X86_Fma.csproj create mode 100644 src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_X86_Lzcnt.cs create mode 100644 src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_X86_Lzcnt.csproj create mode 100644 src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_X86_Pclmulqdq.cs create mode 100644 src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_X86_Pclmulqdq.csproj create mode 100644 src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_X86_Popcnt.cs create mode 100644 src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_X86_Popcnt.csproj create mode 100644 src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_X86_Sse.cs create mode 100644 src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_X86_Sse.csproj create mode 100644 src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_X86_Sse2.cs create mode 100644 src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_X86_Sse2.csproj create mode 100644 src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_X86_Sse3.cs create mode 100644 src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_X86_Sse3.csproj create mode 100644 src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_X86_Sse41.cs create mode 100644 src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_X86_Sse41.csproj create mode 100644 src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_X86_Sse42.cs create mode 100644 src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_X86_Sse42.csproj create mode 100644 src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_X86_Ssse3.cs create mode 100644 src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_X86_Ssse3.csproj create mode 100644 src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_X86_X86Base.cs create mode 100644 src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_X86_X86Base.csproj create mode 100644 src/tests/readytorun/Runtime_60035/Runtime_60035.cs create mode 100644 src/tests/readytorun/Runtime_60035/Runtime_60035.csproj diff --git a/src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_Arm_AdvSimd.cs b/src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_Arm_AdvSimd.cs new file mode 100644 index 0000000000000..59d34b42c1442 --- /dev/null +++ b/src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_Arm_AdvSimd.cs @@ -0,0 +1,25 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. + +using System.Runtime.CompilerServices; + +namespace Runtime_60035 +{ + public static class Helper_System_Runtime_Intrinsics_Arm_AdvSimd + { + public static bool IsSupported + { + [MethodImpl(MethodImplOptions.NoInlining)] + get { return System.Runtime.Intrinsics.Arm.AdvSimd.IsSupported; } + } + } + + public static class Helper_System_Runtime_Intrinsics_Arm_AdvSimd_Arm64 + { + public static bool IsSupported + { + [MethodImpl(MethodImplOptions.NoInlining)] + get { return System.Runtime.Intrinsics.Arm.AdvSimd.Arm64.IsSupported; } + } + } +} diff --git a/src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_Arm_AdvSimd.csproj b/src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_Arm_AdvSimd.csproj new file mode 100644 index 0000000000000..340b8cd162b84 --- /dev/null +++ b/src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_Arm_AdvSimd.csproj @@ -0,0 +1,11 @@ + + + + Library + + + + + + + diff --git a/src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_Arm_Aes.cs b/src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_Arm_Aes.cs new file mode 100644 index 0000000000000..378ba25e9c5fd --- /dev/null +++ b/src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_Arm_Aes.cs @@ -0,0 +1,25 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. + +using System.Runtime.CompilerServices; + +namespace Runtime_60035 +{ + public static class Helper_System_Runtime_Intrinsics_Arm_Aes + { + public static bool IsSupported + { + [MethodImpl(MethodImplOptions.NoInlining)] + get { return System.Runtime.Intrinsics.Arm.Aes.IsSupported; } + } + } + + public static class Helper_System_Runtime_Intrinsics_Arm_Aes_Arm64 + { + public static bool IsSupported + { + [MethodImpl(MethodImplOptions.NoInlining)] + get { return System.Runtime.Intrinsics.Arm.Aes.Arm64.IsSupported; } + } + } +} diff --git a/src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_Arm_Aes.csproj b/src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_Arm_Aes.csproj new file mode 100644 index 0000000000000..340b8cd162b84 --- /dev/null +++ b/src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_Arm_Aes.csproj @@ -0,0 +1,11 @@ + + + + Library + + + + + + + diff --git a/src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_Arm_ArmBase.cs b/src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_Arm_ArmBase.cs new file mode 100644 index 0000000000000..1be159d511015 --- /dev/null +++ b/src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_Arm_ArmBase.cs @@ -0,0 +1,25 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. + +using System.Runtime.CompilerServices; + +namespace Runtime_60035 +{ + public static class Helper_System_Runtime_Intrinsics_Arm_ArmBase + { + public static bool IsSupported + { + [MethodImpl(MethodImplOptions.NoInlining)] + get { return System.Runtime.Intrinsics.Arm.ArmBase.IsSupported; } + } + } + + public static class Helper_System_Runtime_Intrinsics_Arm_ArmBase_Arm64 + { + public static bool IsSupported + { + [MethodImpl(MethodImplOptions.NoInlining)] + get { return System.Runtime.Intrinsics.Arm.ArmBase.Arm64.IsSupported; } + } + } +} diff --git a/src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_Arm_ArmBase.csproj b/src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_Arm_ArmBase.csproj new file mode 100644 index 0000000000000..340b8cd162b84 --- /dev/null +++ b/src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_Arm_ArmBase.csproj @@ -0,0 +1,11 @@ + + + + Library + + + + + + + diff --git a/src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_Arm_Crc32.cs b/src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_Arm_Crc32.cs new file mode 100644 index 0000000000000..0c7fc41271141 --- /dev/null +++ b/src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_Arm_Crc32.cs @@ -0,0 +1,25 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. + +using System.Runtime.CompilerServices; + +namespace Runtime_60035 +{ + public static class Helper_System_Runtime_Intrinsics_Arm_Crc32 + { + public static bool IsSupported + { + [MethodImpl(MethodImplOptions.NoInlining)] + get { return System.Runtime.Intrinsics.Arm.Crc32.IsSupported; } + } + } + + public static class Helper_System_Runtime_Intrinsics_Arm_Crc32_Arm64 + { + public static bool IsSupported + { + [MethodImpl(MethodImplOptions.NoInlining)] + get { return System.Runtime.Intrinsics.Arm.Crc32.Arm64.IsSupported; } + } + } +} diff --git a/src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_Arm_Crc32.csproj b/src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_Arm_Crc32.csproj new file mode 100644 index 0000000000000..340b8cd162b84 --- /dev/null +++ b/src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_Arm_Crc32.csproj @@ -0,0 +1,11 @@ + + + + Library + + + + + + + diff --git a/src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_Arm_Dp.cs b/src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_Arm_Dp.cs new file mode 100644 index 0000000000000..62c144eccd742 --- /dev/null +++ b/src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_Arm_Dp.cs @@ -0,0 +1,25 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. + +using System.Runtime.CompilerServices; + +namespace Runtime_60035 +{ + public static class Helper_System_Runtime_Intrinsics_Arm_Dp + { + public static bool IsSupported + { + [MethodImpl(MethodImplOptions.NoInlining)] + get { return System.Runtime.Intrinsics.Arm.Dp.IsSupported; } + } + } + + public static class Helper_System_Runtime_Intrinsics_Arm_Dp_Arm64 + { + public static bool IsSupported + { + [MethodImpl(MethodImplOptions.NoInlining)] + get { return System.Runtime.Intrinsics.Arm.Dp.Arm64.IsSupported; } + } + } +} diff --git a/src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_Arm_Dp.csproj b/src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_Arm_Dp.csproj new file mode 100644 index 0000000000000..340b8cd162b84 --- /dev/null +++ b/src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_Arm_Dp.csproj @@ -0,0 +1,11 @@ + + + + Library + + + + + + + diff --git a/src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_Arm_Rdm.cs b/src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_Arm_Rdm.cs new file mode 100644 index 0000000000000..71b5556d32f51 --- /dev/null +++ b/src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_Arm_Rdm.cs @@ -0,0 +1,25 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. + +using System.Runtime.CompilerServices; + +namespace Runtime_60035 +{ + public static class Helper_System_Runtime_Intrinsics_Arm_Rdm + { + public static bool IsSupported + { + [MethodImpl(MethodImplOptions.NoInlining)] + get { return System.Runtime.Intrinsics.Arm.Rdm.IsSupported; } + } + } + + public static class Helper_System_Runtime_Intrinsics_Arm_Rdm_Arm64 + { + public static bool IsSupported + { + [MethodImpl(MethodImplOptions.NoInlining)] + get { return System.Runtime.Intrinsics.Arm.Rdm.Arm64.IsSupported; } + } + } +} diff --git a/src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_Arm_Rdm.csproj b/src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_Arm_Rdm.csproj new file mode 100644 index 0000000000000..340b8cd162b84 --- /dev/null +++ b/src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_Arm_Rdm.csproj @@ -0,0 +1,11 @@ + + + + Library + + + + + + + diff --git a/src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_Arm_Sha1.cs b/src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_Arm_Sha1.cs new file mode 100644 index 0000000000000..2971d29b7ebd7 --- /dev/null +++ b/src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_Arm_Sha1.cs @@ -0,0 +1,25 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. + +using System.Runtime.CompilerServices; + +namespace Runtime_60035 +{ + public static class Helper_System_Runtime_Intrinsics_Arm_Sha1 + { + public static bool IsSupported + { + [MethodImpl(MethodImplOptions.NoInlining)] + get { return System.Runtime.Intrinsics.Arm.Sha1.IsSupported; } + } + } + + public static class Helper_System_Runtime_Intrinsics_Arm_Sha1_Arm64 + { + public static bool IsSupported + { + [MethodImpl(MethodImplOptions.NoInlining)] + get { return System.Runtime.Intrinsics.Arm.Sha1.Arm64.IsSupported; } + } + } +} diff --git a/src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_Arm_Sha1.csproj b/src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_Arm_Sha1.csproj new file mode 100644 index 0000000000000..340b8cd162b84 --- /dev/null +++ b/src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_Arm_Sha1.csproj @@ -0,0 +1,11 @@ + + + + Library + + + + + + + diff --git a/src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_Arm_Sha256.cs b/src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_Arm_Sha256.cs new file mode 100644 index 0000000000000..3b5b74bd10bc8 --- /dev/null +++ b/src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_Arm_Sha256.cs @@ -0,0 +1,25 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. + +using System.Runtime.CompilerServices; + +namespace Runtime_60035 +{ + public static class Helper_System_Runtime_Intrinsics_Arm_Sha256 + { + public static bool IsSupported + { + [MethodImpl(MethodImplOptions.NoInlining)] + get { return System.Runtime.Intrinsics.Arm.Sha256.IsSupported; } + } + } + + public static class Helper_System_Runtime_Intrinsics_Arm_Sha256_Arm64 + { + public static bool IsSupported + { + [MethodImpl(MethodImplOptions.NoInlining)] + get { return System.Runtime.Intrinsics.Arm.Sha256.Arm64.IsSupported; } + } + } +} diff --git a/src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_Arm_Sha256.csproj b/src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_Arm_Sha256.csproj new file mode 100644 index 0000000000000..340b8cd162b84 --- /dev/null +++ b/src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_Arm_Sha256.csproj @@ -0,0 +1,11 @@ + + + + Library + + + + + + + diff --git a/src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_X86_Avx.cs b/src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_X86_Avx.cs new file mode 100644 index 0000000000000..9014adea0799b --- /dev/null +++ b/src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_X86_Avx.cs @@ -0,0 +1,25 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. + +using System.Runtime.CompilerServices; + +namespace Runtime_60035 +{ + public static class Helper_System_Runtime_Intrinsics_X86_Avx + { + public static bool IsSupported + { + [MethodImpl(MethodImplOptions.NoInlining)] + get { return System.Runtime.Intrinsics.X86.Avx.IsSupported; } + } + } + + public static class Helper_System_Runtime_Intrinsics_X86_Avx_X64 + { + public static bool IsSupported + { + [MethodImpl(MethodImplOptions.NoInlining)] + get { return System.Runtime.Intrinsics.X86.Avx.X64.IsSupported; } + } + } +} diff --git a/src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_X86_Avx.csproj b/src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_X86_Avx.csproj new file mode 100644 index 0000000000000..340b8cd162b84 --- /dev/null +++ b/src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_X86_Avx.csproj @@ -0,0 +1,11 @@ + + + + Library + + + + + + + diff --git a/src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_X86_Avx2.cs b/src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_X86_Avx2.cs new file mode 100644 index 0000000000000..8b3c9ba4fbdb2 --- /dev/null +++ b/src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_X86_Avx2.cs @@ -0,0 +1,25 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. + +using System.Runtime.CompilerServices; + +namespace Runtime_60035 +{ + public static class Helper_System_Runtime_Intrinsics_X86_Avx2 + { + public static bool IsSupported + { + [MethodImpl(MethodImplOptions.NoInlining)] + get { return System.Runtime.Intrinsics.X86.Avx2.IsSupported; } + } + } + + public static class Helper_System_Runtime_Intrinsics_X86_Avx2_X64 + { + public static bool IsSupported + { + [MethodImpl(MethodImplOptions.NoInlining)] + get { return System.Runtime.Intrinsics.X86.Avx2.X64.IsSupported; } + } + } +} diff --git a/src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_X86_Avx2.csproj b/src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_X86_Avx2.csproj new file mode 100644 index 0000000000000..340b8cd162b84 --- /dev/null +++ b/src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_X86_Avx2.csproj @@ -0,0 +1,11 @@ + + + + Library + + + + + + + diff --git a/src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_X86_AvxVnni.cs b/src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_X86_AvxVnni.cs new file mode 100644 index 0000000000000..fdd31309e6b00 --- /dev/null +++ b/src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_X86_AvxVnni.cs @@ -0,0 +1,25 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. + +using System.Runtime.CompilerServices; + +namespace Runtime_60035 +{ + public static class Helper_System_Runtime_Intrinsics_X86_AvxVnni + { + public static bool IsSupported + { + [MethodImpl(MethodImplOptions.NoInlining)] + get { return System.Runtime.Intrinsics.X86.AvxVnni.IsSupported; } + } + } + + public static class Helper_System_Runtime_Intrinsics_X86_AvxVnni_X64 + { + public static bool IsSupported + { + [MethodImpl(MethodImplOptions.NoInlining)] + get { return System.Runtime.Intrinsics.X86.AvxVnni.X64.IsSupported; } + } + } +} diff --git a/src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_X86_AvxVnni.csproj b/src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_X86_AvxVnni.csproj new file mode 100644 index 0000000000000..340b8cd162b84 --- /dev/null +++ b/src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_X86_AvxVnni.csproj @@ -0,0 +1,11 @@ + + + + Library + + + + + + + diff --git a/src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_X86_Bmi1.cs b/src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_X86_Bmi1.cs new file mode 100644 index 0000000000000..6ade1d982e3ba --- /dev/null +++ b/src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_X86_Bmi1.cs @@ -0,0 +1,25 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. + +using System.Runtime.CompilerServices; + +namespace Runtime_60035 +{ + public static class Helper_System_Runtime_Intrinsics_X86_Bmi1 + { + public static bool IsSupported + { + [MethodImpl(MethodImplOptions.NoInlining)] + get { return System.Runtime.Intrinsics.X86.Bmi1.IsSupported; } + } + } + + public static class Helper_System_Runtime_Intrinsics_X86_Bmi1_X64 + { + public static bool IsSupported + { + [MethodImpl(MethodImplOptions.NoInlining)] + get { return System.Runtime.Intrinsics.X86.Bmi1.X64.IsSupported; } + } + } +} diff --git a/src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_X86_Bmi1.csproj b/src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_X86_Bmi1.csproj new file mode 100644 index 0000000000000..340b8cd162b84 --- /dev/null +++ b/src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_X86_Bmi1.csproj @@ -0,0 +1,11 @@ + + + + Library + + + + + + + diff --git a/src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_X86_Bmi2.cs b/src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_X86_Bmi2.cs new file mode 100644 index 0000000000000..8143ae40a93d0 --- /dev/null +++ b/src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_X86_Bmi2.cs @@ -0,0 +1,25 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. + +using System.Runtime.CompilerServices; + +namespace Runtime_60035 +{ + public static class Helper_System_Runtime_Intrinsics_X86_Bmi2 + { + public static bool IsSupported + { + [MethodImpl(MethodImplOptions.NoInlining)] + get { return System.Runtime.Intrinsics.X86.Bmi2.IsSupported; } + } + } + + public static class Helper_System_Runtime_Intrinsics_X86_Bmi2_X64 + { + public static bool IsSupported + { + [MethodImpl(MethodImplOptions.NoInlining)] + get { return System.Runtime.Intrinsics.X86.Bmi2.X64.IsSupported; } + } + } +} diff --git a/src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_X86_Bmi2.csproj b/src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_X86_Bmi2.csproj new file mode 100644 index 0000000000000..340b8cd162b84 --- /dev/null +++ b/src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_X86_Bmi2.csproj @@ -0,0 +1,11 @@ + + + + Library + + + + + + + diff --git a/src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_X86_Fma.cs b/src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_X86_Fma.cs new file mode 100644 index 0000000000000..91e492a94be19 --- /dev/null +++ b/src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_X86_Fma.cs @@ -0,0 +1,25 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. + +using System.Runtime.CompilerServices; + +namespace Runtime_60035 +{ + public static class Helper_System_Runtime_Intrinsics_X86_Fma + { + public static bool IsSupported + { + [MethodImpl(MethodImplOptions.NoInlining)] + get { return System.Runtime.Intrinsics.X86.Fma.IsSupported; } + } + } + + public static class Helper_System_Runtime_Intrinsics_X86_Fma_X64 + { + public static bool IsSupported + { + [MethodImpl(MethodImplOptions.NoInlining)] + get { return System.Runtime.Intrinsics.X86.Fma.X64.IsSupported; } + } + } +} diff --git a/src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_X86_Fma.csproj b/src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_X86_Fma.csproj new file mode 100644 index 0000000000000..340b8cd162b84 --- /dev/null +++ b/src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_X86_Fma.csproj @@ -0,0 +1,11 @@ + + + + Library + + + + + + + diff --git a/src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_X86_Lzcnt.cs b/src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_X86_Lzcnt.cs new file mode 100644 index 0000000000000..c1580b1415d06 --- /dev/null +++ b/src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_X86_Lzcnt.cs @@ -0,0 +1,25 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. + +using System.Runtime.CompilerServices; + +namespace Runtime_60035 +{ + public static class Helper_System_Runtime_Intrinsics_X86_Lzcnt + { + public static bool IsSupported + { + [MethodImpl(MethodImplOptions.NoInlining)] + get { return System.Runtime.Intrinsics.X86.Lzcnt.IsSupported; } + } + } + + public static class Helper_System_Runtime_Intrinsics_X86_Lzcnt_X64 + { + public static bool IsSupported + { + [MethodImpl(MethodImplOptions.NoInlining)] + get { return System.Runtime.Intrinsics.X86.Lzcnt.X64.IsSupported; } + } + } +} diff --git a/src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_X86_Lzcnt.csproj b/src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_X86_Lzcnt.csproj new file mode 100644 index 0000000000000..340b8cd162b84 --- /dev/null +++ b/src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_X86_Lzcnt.csproj @@ -0,0 +1,11 @@ + + + + Library + + + + + + + diff --git a/src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_X86_Pclmulqdq.cs b/src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_X86_Pclmulqdq.cs new file mode 100644 index 0000000000000..33507e6e84740 --- /dev/null +++ b/src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_X86_Pclmulqdq.cs @@ -0,0 +1,25 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. + +using System.Runtime.CompilerServices; + +namespace Runtime_60035 +{ + public static class Helper_System_Runtime_Intrinsics_X86_Pclmulqdq + { + public static bool IsSupported + { + [MethodImpl(MethodImplOptions.NoInlining)] + get { return System.Runtime.Intrinsics.X86.Pclmulqdq.IsSupported; } + } + } + + public static class Helper_System_Runtime_Intrinsics_X86_Pclmulqdq_X64 + { + public static bool IsSupported + { + [MethodImpl(MethodImplOptions.NoInlining)] + get { return System.Runtime.Intrinsics.X86.Pclmulqdq.X64.IsSupported; } + } + } +} diff --git a/src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_X86_Pclmulqdq.csproj b/src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_X86_Pclmulqdq.csproj new file mode 100644 index 0000000000000..340b8cd162b84 --- /dev/null +++ b/src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_X86_Pclmulqdq.csproj @@ -0,0 +1,11 @@ + + + + Library + + + + + + + diff --git a/src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_X86_Popcnt.cs b/src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_X86_Popcnt.cs new file mode 100644 index 0000000000000..16cf6dc75f566 --- /dev/null +++ b/src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_X86_Popcnt.cs @@ -0,0 +1,25 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. + +using System.Runtime.CompilerServices; + +namespace Runtime_60035 +{ + public static class Helper_System_Runtime_Intrinsics_X86_Popcnt + { + public static bool IsSupported + { + [MethodImpl(MethodImplOptions.NoInlining)] + get { return System.Runtime.Intrinsics.X86.Popcnt.IsSupported; } + } + } + + public static class Helper_System_Runtime_Intrinsics_X86_Popcnt_X64 + { + public static bool IsSupported + { + [MethodImpl(MethodImplOptions.NoInlining)] + get { return System.Runtime.Intrinsics.X86.Popcnt.X64.IsSupported; } + } + } +} diff --git a/src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_X86_Popcnt.csproj b/src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_X86_Popcnt.csproj new file mode 100644 index 0000000000000..340b8cd162b84 --- /dev/null +++ b/src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_X86_Popcnt.csproj @@ -0,0 +1,11 @@ + + + + Library + + + + + + + diff --git a/src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_X86_Sse.cs b/src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_X86_Sse.cs new file mode 100644 index 0000000000000..00d3aa9293e2d --- /dev/null +++ b/src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_X86_Sse.cs @@ -0,0 +1,25 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. + +using System.Runtime.CompilerServices; + +namespace Runtime_60035 +{ + public static class Helper_System_Runtime_Intrinsics_X86_Sse + { + public static bool IsSupported + { + [MethodImpl(MethodImplOptions.NoInlining)] + get { return System.Runtime.Intrinsics.X86.Sse.IsSupported; } + } + } + + public static class Helper_System_Runtime_Intrinsics_X86_Sse_X64 + { + public static bool IsSupported + { + [MethodImpl(MethodImplOptions.NoInlining)] + get { return System.Runtime.Intrinsics.X86.Sse.X64.IsSupported; } + } + } +} diff --git a/src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_X86_Sse.csproj b/src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_X86_Sse.csproj new file mode 100644 index 0000000000000..340b8cd162b84 --- /dev/null +++ b/src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_X86_Sse.csproj @@ -0,0 +1,11 @@ + + + + Library + + + + + + + diff --git a/src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_X86_Sse2.cs b/src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_X86_Sse2.cs new file mode 100644 index 0000000000000..c5dfe8102b3e8 --- /dev/null +++ b/src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_X86_Sse2.cs @@ -0,0 +1,25 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. + +using System.Runtime.CompilerServices; + +namespace Runtime_60035 +{ + public static class Helper_System_Runtime_Intrinsics_X86_Sse2 + { + public static bool IsSupported + { + [MethodImpl(MethodImplOptions.NoInlining)] + get { return System.Runtime.Intrinsics.X86.Sse2.IsSupported; } + } + } + + public static class Helper_System_Runtime_Intrinsics_X86_Sse2_X64 + { + public static bool IsSupported + { + [MethodImpl(MethodImplOptions.NoInlining)] + get { return System.Runtime.Intrinsics.X86.Sse2.X64.IsSupported; } + } + } +} diff --git a/src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_X86_Sse2.csproj b/src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_X86_Sse2.csproj new file mode 100644 index 0000000000000..340b8cd162b84 --- /dev/null +++ b/src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_X86_Sse2.csproj @@ -0,0 +1,11 @@ + + + + Library + + + + + + + diff --git a/src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_X86_Sse3.cs b/src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_X86_Sse3.cs new file mode 100644 index 0000000000000..336f4cd464608 --- /dev/null +++ b/src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_X86_Sse3.cs @@ -0,0 +1,25 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. + +using System.Runtime.CompilerServices; + +namespace Runtime_60035 +{ + public static class Helper_System_Runtime_Intrinsics_X86_Sse3 + { + public static bool IsSupported + { + [MethodImpl(MethodImplOptions.NoInlining)] + get { return System.Runtime.Intrinsics.X86.Sse3.IsSupported; } + } + } + + public static class Helper_System_Runtime_Intrinsics_X86_Sse3_X64 + { + public static bool IsSupported + { + [MethodImpl(MethodImplOptions.NoInlining)] + get { return System.Runtime.Intrinsics.X86.Sse3.X64.IsSupported; } + } + } +} diff --git a/src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_X86_Sse3.csproj b/src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_X86_Sse3.csproj new file mode 100644 index 0000000000000..340b8cd162b84 --- /dev/null +++ b/src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_X86_Sse3.csproj @@ -0,0 +1,11 @@ + + + + Library + + + + + + + diff --git a/src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_X86_Sse41.cs b/src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_X86_Sse41.cs new file mode 100644 index 0000000000000..e2a0605b9d7d8 --- /dev/null +++ b/src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_X86_Sse41.cs @@ -0,0 +1,25 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. + +using System.Runtime.CompilerServices; + +namespace Runtime_60035 +{ + public static class Helper_System_Runtime_Intrinsics_X86_Sse41 + { + public static bool IsSupported + { + [MethodImpl(MethodImplOptions.NoInlining)] + get { return System.Runtime.Intrinsics.X86.Sse41.IsSupported; } + } + } + + public static class Helper_System_Runtime_Intrinsics_X86_Sse41_X64 + { + public static bool IsSupported + { + [MethodImpl(MethodImplOptions.NoInlining)] + get { return System.Runtime.Intrinsics.X86.Sse41.X64.IsSupported; } + } + } +} diff --git a/src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_X86_Sse41.csproj b/src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_X86_Sse41.csproj new file mode 100644 index 0000000000000..340b8cd162b84 --- /dev/null +++ b/src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_X86_Sse41.csproj @@ -0,0 +1,11 @@ + + + + Library + + + + + + + diff --git a/src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_X86_Sse42.cs b/src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_X86_Sse42.cs new file mode 100644 index 0000000000000..b906a3693b1b7 --- /dev/null +++ b/src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_X86_Sse42.cs @@ -0,0 +1,25 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. + +using System.Runtime.CompilerServices; + +namespace Runtime_60035 +{ + public static class Helper_System_Runtime_Intrinsics_X86_Sse42 + { + public static bool IsSupported + { + [MethodImpl(MethodImplOptions.NoInlining)] + get { return System.Runtime.Intrinsics.X86.Sse42.IsSupported; } + } + } + + public static class Helper_System_Runtime_Intrinsics_X86_Sse42_X64 + { + public static bool IsSupported + { + [MethodImpl(MethodImplOptions.NoInlining)] + get { return System.Runtime.Intrinsics.X86.Sse42.X64.IsSupported; } + } + } +} diff --git a/src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_X86_Sse42.csproj b/src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_X86_Sse42.csproj new file mode 100644 index 0000000000000..340b8cd162b84 --- /dev/null +++ b/src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_X86_Sse42.csproj @@ -0,0 +1,11 @@ + + + + Library + + + + + + + diff --git a/src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_X86_Ssse3.cs b/src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_X86_Ssse3.cs new file mode 100644 index 0000000000000..205a4c921756d --- /dev/null +++ b/src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_X86_Ssse3.cs @@ -0,0 +1,25 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. + +using System.Runtime.CompilerServices; + +namespace Runtime_60035 +{ + public static class Helper_System_Runtime_Intrinsics_X86_Ssse3 + { + public static bool IsSupported + { + [MethodImpl(MethodImplOptions.NoInlining)] + get { return System.Runtime.Intrinsics.X86.Ssse3.IsSupported; } + } + } + + public static class Helper_System_Runtime_Intrinsics_X86_Ssse3_X64 + { + public static bool IsSupported + { + [MethodImpl(MethodImplOptions.NoInlining)] + get { return System.Runtime.Intrinsics.X86.Ssse3.X64.IsSupported; } + } + } +} diff --git a/src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_X86_Ssse3.csproj b/src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_X86_Ssse3.csproj new file mode 100644 index 0000000000000..340b8cd162b84 --- /dev/null +++ b/src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_X86_Ssse3.csproj @@ -0,0 +1,11 @@ + + + + Library + + + + + + + diff --git a/src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_X86_X86Base.cs b/src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_X86_X86Base.cs new file mode 100644 index 0000000000000..485f2b0f62e2c --- /dev/null +++ b/src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_X86_X86Base.cs @@ -0,0 +1,25 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. + +using System.Runtime.CompilerServices; + +namespace Runtime_60035 +{ + public static class Helper_System_Runtime_Intrinsics_X86_X86Base + { + public static bool IsSupported + { + [MethodImpl(MethodImplOptions.NoInlining)] + get { return System.Runtime.Intrinsics.X86.X86Base.IsSupported; } + } + } + + public static class Helper_System_Runtime_Intrinsics_X86_X86Base_X64 + { + public static bool IsSupported + { + [MethodImpl(MethodImplOptions.NoInlining)] + get { return System.Runtime.Intrinsics.X86.X86Base.X64.IsSupported; } + } + } +} diff --git a/src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_X86_X86Base.csproj b/src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_X86_X86Base.csproj new file mode 100644 index 0000000000000..340b8cd162b84 --- /dev/null +++ b/src/tests/readytorun/Runtime_60035/Helper_System_Runtime_Intrinsics_X86_X86Base.csproj @@ -0,0 +1,11 @@ + + + + Library + + + + + + + diff --git a/src/tests/readytorun/Runtime_60035/Runtime_60035.cs b/src/tests/readytorun/Runtime_60035/Runtime_60035.cs new file mode 100644 index 0000000000000..642d8427c1bff --- /dev/null +++ b/src/tests/readytorun/Runtime_60035/Runtime_60035.cs @@ -0,0 +1,1562 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. + +using System; + +namespace Runtime_60035 +{ + static class Program + { + public static int Main() + { + bool success = true; + + if (!TestEnvironmentVariablesAreWorking()) + { + success = false; + } + + if (!TestReadyToRunAssumptionsAreCorrect()) + { + success = false; + } + + return success ? 100 : 0; + } + + static bool TestEnvironmentVariablesAreWorking() + { + bool success = true; + + if (String.Equals(Environment.GetEnvironmentVariable("DOTNET_EnableHWIntrinsic"), "0") || String.Equals(Environment.GetEnvironmentVariable("COMPlus_EnableHWIntrinsic"), "0")) + { + if (System.Runtime.Intrinsics.Arm.ArmBase.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableHWIntrinsic or COMPlus_EnableHWIntrinsic is '0' but System.Runtime.Intrinsics.Arm.ArmBase.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.Arm.ArmBase.Arm64.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableHWIntrinsic or COMPlus_EnableHWIntrinsic is '0' but System.Runtime.Intrinsics.Arm.ArmBase.Arm64.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.X86.Sse.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableHWIntrinsic or COMPlus_EnableHWIntrinsic is '0' but System.Runtime.Intrinsics.X86.Sse.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.X86.Sse.X64.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableHWIntrinsic or COMPlus_EnableHWIntrinsic is '0' but System.Runtime.Intrinsics.X86.Sse.X64.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.X86.Sse2.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableHWIntrinsic or COMPlus_EnableHWIntrinsic is '0' but System.Runtime.Intrinsics.X86.Sse2.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.X86.Sse2.X64.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableHWIntrinsic or COMPlus_EnableHWIntrinsic is '0' but System.Runtime.Intrinsics.X86.Sse2.X64.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.X86.Sse3.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableHWIntrinsic or COMPlus_EnableHWIntrinsic is '0' but System.Runtime.Intrinsics.X86.Sse3.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.X86.Sse3.X64.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableHWIntrinsic or COMPlus_EnableHWIntrinsic is '0' but System.Runtime.Intrinsics.X86.Sse3.X64.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.X86.Ssse3.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableHWIntrinsic or COMPlus_EnableHWIntrinsic is '0' but System.Runtime.Intrinsics.X86.Ssse3.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.X86.Ssse3.X64.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableHWIntrinsic or COMPlus_EnableHWIntrinsic is '0' but System.Runtime.Intrinsics.X86.Ssse3.X64.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.X86.Sse41.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableHWIntrinsic or COMPlus_EnableHWIntrinsic is '0' but System.Runtime.Intrinsics.X86.Sse41.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.X86.Sse41.X64.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableHWIntrinsic or COMPlus_EnableHWIntrinsic is '0' but System.Runtime.Intrinsics.X86.Sse41.X64.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.X86.Sse42.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableHWIntrinsic or COMPlus_EnableHWIntrinsic is '0' but System.Runtime.Intrinsics.X86.Sse42.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.X86.Sse42.X64.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableHWIntrinsic or COMPlus_EnableHWIntrinsic is '0' but System.Runtime.Intrinsics.X86.Sse42.X64.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.X86.Avx.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableHWIntrinsic or COMPlus_EnableHWIntrinsic is '0' but System.Runtime.Intrinsics.X86.Avx.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.X86.Avx.X64.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableHWIntrinsic or COMPlus_EnableHWIntrinsic is '0' but System.Runtime.Intrinsics.X86.Avx.X64.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.X86.Avx2.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableHWIntrinsic or COMPlus_EnableHWIntrinsic is '0' but System.Runtime.Intrinsics.X86.Avx2.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.X86.Avx2.X64.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableHWIntrinsic or COMPlus_EnableHWIntrinsic is '0' but System.Runtime.Intrinsics.X86.Avx2.X64.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.X86.AvxVnni.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableHWIntrinsic or COMPlus_EnableHWIntrinsic is '0' but System.Runtime.Intrinsics.X86.AvxVnni.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.X86.AvxVnni.X64.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableHWIntrinsic or COMPlus_EnableHWIntrinsic is '0' but System.Runtime.Intrinsics.X86.AvxVnni.X64.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.X86.Bmi1.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableHWIntrinsic or COMPlus_EnableHWIntrinsic is '0' but System.Runtime.Intrinsics.X86.Bmi1.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.X86.Bmi1.X64.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableHWIntrinsic or COMPlus_EnableHWIntrinsic is '0' but System.Runtime.Intrinsics.X86.Bmi1.X64.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.X86.Bmi2.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableHWIntrinsic or COMPlus_EnableHWIntrinsic is '0' but System.Runtime.Intrinsics.X86.Bmi2.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.X86.Bmi2.X64.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableHWIntrinsic or COMPlus_EnableHWIntrinsic is '0' but System.Runtime.Intrinsics.X86.Bmi2.X64.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.X86.Fma.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableHWIntrinsic or COMPlus_EnableHWIntrinsic is '0' but System.Runtime.Intrinsics.X86.Fma.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.X86.Fma.X64.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableHWIntrinsic or COMPlus_EnableHWIntrinsic is '0' but System.Runtime.Intrinsics.X86.Fma.X64.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.X86.Lzcnt.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableHWIntrinsic or COMPlus_EnableHWIntrinsic is '0' but System.Runtime.Intrinsics.X86.Lzcnt.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.X86.Lzcnt.X64.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableHWIntrinsic or COMPlus_EnableHWIntrinsic is '0' but System.Runtime.Intrinsics.X86.Lzcnt.X64.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.X86.Pclmulqdq.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableHWIntrinsic or COMPlus_EnableHWIntrinsic is '0' but System.Runtime.Intrinsics.X86.Pclmulqdq.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.X86.Pclmulqdq.X64.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableHWIntrinsic or COMPlus_EnableHWIntrinsic is '0' but System.Runtime.Intrinsics.X86.Pclmulqdq.X64.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.X86.Popcnt.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableHWIntrinsic or COMPlus_EnableHWIntrinsic is '0' but System.Runtime.Intrinsics.X86.Popcnt.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.X86.Popcnt.X64.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableHWIntrinsic or COMPlus_EnableHWIntrinsic is '0' but System.Runtime.Intrinsics.X86.Popcnt.X64.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.Arm.AdvSimd.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableHWIntrinsic or COMPlus_EnableHWIntrinsic is '0' but System.Runtime.Intrinsics.Arm.AdvSimd.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.Arm.AdvSimd.Arm64.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableHWIntrinsic or COMPlus_EnableHWIntrinsic is '0' but System.Runtime.Intrinsics.Arm.AdvSimd.Arm64.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.Arm.Aes.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableHWIntrinsic or COMPlus_EnableHWIntrinsic is '0' but System.Runtime.Intrinsics.Arm.Aes.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.Arm.Aes.Arm64.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableHWIntrinsic or COMPlus_EnableHWIntrinsic is '0' but System.Runtime.Intrinsics.Arm.Aes.Arm64.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.Arm.Crc32.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableHWIntrinsic or COMPlus_EnableHWIntrinsic is '0' but System.Runtime.Intrinsics.Arm.Crc32.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.Arm.Crc32.Arm64.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableHWIntrinsic or COMPlus_EnableHWIntrinsic is '0' but System.Runtime.Intrinsics.Arm.Crc32.Arm64.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.Arm.Dp.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableHWIntrinsic or COMPlus_EnableHWIntrinsic is '0' but System.Runtime.Intrinsics.Arm.Dp.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.Arm.Dp.Arm64.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableHWIntrinsic or COMPlus_EnableHWIntrinsic is '0' but System.Runtime.Intrinsics.Arm.Dp.Arm64.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.Arm.Rdm.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableHWIntrinsic or COMPlus_EnableHWIntrinsic is '0' but System.Runtime.Intrinsics.Arm.Rdm.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.Arm.Rdm.Arm64.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableHWIntrinsic or COMPlus_EnableHWIntrinsic is '0' but System.Runtime.Intrinsics.Arm.Rdm.Arm64.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.Arm.Sha1.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableHWIntrinsic or COMPlus_EnableHWIntrinsic is '0' but System.Runtime.Intrinsics.Arm.Sha1.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.Arm.Sha1.Arm64.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableHWIntrinsic or COMPlus_EnableHWIntrinsic is '0' but System.Runtime.Intrinsics.Arm.Sha1.Arm64.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.Arm.Sha256.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableHWIntrinsic or COMPlus_EnableHWIntrinsic is '0' but System.Runtime.Intrinsics.Arm.Sha256.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.Arm.Sha256.Arm64.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableHWIntrinsic or COMPlus_EnableHWIntrinsic is '0' but System.Runtime.Intrinsics.Arm.Sha256.Arm64.IsSupported returns 'True'"); + } + } + + if (String.Equals(Environment.GetEnvironmentVariable("DOTNET_EnableSSE"), "0") || String.Equals(Environment.GetEnvironmentVariable("COMPlus_EnableSSE"), "0")) + { + if (System.Runtime.Intrinsics.X86.Sse.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableSSE or COMPlus_EnableSSE is '0' but System.Runtime.Intrinsics.X86.Sse.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.X86.Sse.X64.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableSSE or COMPlus_EnableSSE is '0' but System.Runtime.Intrinsics.X86.Sse.X64.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.X86.Sse2.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableSSE or COMPlus_EnableSSE is '0' but System.Runtime.Intrinsics.X86.Sse2.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.X86.Sse2.X64.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableSSE or COMPlus_EnableSSE is '0' but System.Runtime.Intrinsics.X86.Sse2.X64.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.X86.Sse3.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableSSE or COMPlus_EnableSSE is '0' but System.Runtime.Intrinsics.X86.Sse3.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.X86.Sse3.X64.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableSSE or COMPlus_EnableSSE is '0' but System.Runtime.Intrinsics.X86.Sse3.X64.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.X86.Ssse3.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableSSE or COMPlus_EnableSSE is '0' but System.Runtime.Intrinsics.X86.Ssse3.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.X86.Ssse3.X64.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableSSE or COMPlus_EnableSSE is '0' but System.Runtime.Intrinsics.X86.Ssse3.X64.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.X86.Sse41.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableSSE or COMPlus_EnableSSE is '0' but System.Runtime.Intrinsics.X86.Sse41.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.X86.Sse41.X64.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableSSE or COMPlus_EnableSSE is '0' but System.Runtime.Intrinsics.X86.Sse41.X64.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.X86.Sse42.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableSSE or COMPlus_EnableSSE is '0' but System.Runtime.Intrinsics.X86.Sse42.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.X86.Sse42.X64.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableSSE or COMPlus_EnableSSE is '0' but System.Runtime.Intrinsics.X86.Sse42.X64.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.X86.Avx.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableSSE or COMPlus_EnableSSE is '0' but System.Runtime.Intrinsics.X86.Avx.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.X86.Avx.X64.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableSSE or COMPlus_EnableSSE is '0' but System.Runtime.Intrinsics.X86.Avx.X64.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.X86.Avx2.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableSSE or COMPlus_EnableSSE is '0' but System.Runtime.Intrinsics.X86.Avx2.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.X86.Avx2.X64.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableSSE or COMPlus_EnableSSE is '0' but System.Runtime.Intrinsics.X86.Avx2.X64.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.X86.AvxVnni.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableSSE or COMPlus_EnableSSE is '0' but System.Runtime.Intrinsics.X86.AvxVnni.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.X86.AvxVnni.X64.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableSSE or COMPlus_EnableSSE is '0' but System.Runtime.Intrinsics.X86.AvxVnni.X64.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.X86.Fma.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableSSE or COMPlus_EnableSSE is '0' but System.Runtime.Intrinsics.X86.Fma.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.X86.Fma.X64.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableSSE or COMPlus_EnableSSE is '0' but System.Runtime.Intrinsics.X86.Fma.X64.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.X86.Pclmulqdq.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableSSE or COMPlus_EnableSSE is '0' but System.Runtime.Intrinsics.X86.Pclmulqdq.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.X86.Pclmulqdq.X64.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableSSE or COMPlus_EnableSSE is '0' but System.Runtime.Intrinsics.X86.Pclmulqdq.X64.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.X86.Popcnt.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableSSE or COMPlus_EnableSSE is '0' but System.Runtime.Intrinsics.X86.Popcnt.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.X86.Popcnt.X64.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableSSE or COMPlus_EnableSSE is '0' but System.Runtime.Intrinsics.X86.Popcnt.X64.IsSupported returns 'True'"); + } + } + + if (String.Equals(Environment.GetEnvironmentVariable("DOTNET_EnableSSE2"), "0") || String.Equals(Environment.GetEnvironmentVariable("COMPlus_EnableSSE2"), "0")) + { + if (System.Runtime.Intrinsics.X86.Sse2.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableSSE2 or COMPlus_EnableSSE2 is '0' but System.Runtime.Intrinsics.X86.Sse2.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.X86.Sse2.X64.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableSSE2 or COMPlus_EnableSSE2 is '0' but System.Runtime.Intrinsics.X86.Sse2.X64.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.X86.Sse3.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableSSE2 or COMPlus_EnableSSE2 is '0' but System.Runtime.Intrinsics.X86.Sse3.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.X86.Sse3.X64.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableSSE2 or COMPlus_EnableSSE2 is '0' but System.Runtime.Intrinsics.X86.Sse3.X64.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.X86.Ssse3.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableSSE2 or COMPlus_EnableSSE2 is '0' but System.Runtime.Intrinsics.X86.Ssse3.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.X86.Ssse3.X64.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableSSE2 or COMPlus_EnableSSE2 is '0' but System.Runtime.Intrinsics.X86.Ssse3.X64.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.X86.Sse41.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableSSE2 or COMPlus_EnableSSE2 is '0' but System.Runtime.Intrinsics.X86.Sse41.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.X86.Sse41.X64.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableSSE2 or COMPlus_EnableSSE2 is '0' but System.Runtime.Intrinsics.X86.Sse41.X64.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.X86.Sse42.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableSSE2 or COMPlus_EnableSSE2 is '0' but System.Runtime.Intrinsics.X86.Sse42.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.X86.Sse42.X64.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableSSE2 or COMPlus_EnableSSE2 is '0' but System.Runtime.Intrinsics.X86.Sse42.X64.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.X86.Avx.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableSSE2 or COMPlus_EnableSSE2 is '0' but System.Runtime.Intrinsics.X86.Avx.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.X86.Avx.X64.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableSSE2 or COMPlus_EnableSSE2 is '0' but System.Runtime.Intrinsics.X86.Avx.X64.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.X86.Avx2.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableSSE2 or COMPlus_EnableSSE2 is '0' but System.Runtime.Intrinsics.X86.Avx2.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.X86.Avx2.X64.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableSSE2 or COMPlus_EnableSSE2 is '0' but System.Runtime.Intrinsics.X86.Avx2.X64.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.X86.AvxVnni.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableSSE2 or COMPlus_EnableSSE2 is '0' but System.Runtime.Intrinsics.X86.AvxVnni.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.X86.AvxVnni.X64.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableSSE2 or COMPlus_EnableSSE2 is '0' but System.Runtime.Intrinsics.X86.AvxVnni.X64.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.X86.Fma.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableSSE2 or COMPlus_EnableSSE2 is '0' but System.Runtime.Intrinsics.X86.Fma.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.X86.Fma.X64.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableSSE2 or COMPlus_EnableSSE2 is '0' but System.Runtime.Intrinsics.X86.Fma.X64.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.X86.Pclmulqdq.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableSSE2 or COMPlus_EnableSSE2 is '0' but System.Runtime.Intrinsics.X86.Pclmulqdq.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.X86.Pclmulqdq.X64.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableSSE2 or COMPlus_EnableSSE2 is '0' but System.Runtime.Intrinsics.X86.Pclmulqdq.X64.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.X86.Popcnt.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableSSE2 or COMPlus_EnableSSE2 is '0' but System.Runtime.Intrinsics.X86.Popcnt.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.X86.Popcnt.X64.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableSSE2 or COMPlus_EnableSSE2 is '0' but System.Runtime.Intrinsics.X86.Popcnt.X64.IsSupported returns 'True'"); + } + } + + if (String.Equals(Environment.GetEnvironmentVariable("DOTNET_EnableSSE3"), "0") || String.Equals(Environment.GetEnvironmentVariable("COMPlus_EnableSSE3"), "0")) + { + if (System.Runtime.Intrinsics.X86.Sse3.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableSSE3 or COMPlus_EnableSSE3 is '0' but System.Runtime.Intrinsics.X86.Sse3.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.X86.Sse3.X64.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableSSE3 or COMPlus_EnableSSE3 is '0' but System.Runtime.Intrinsics.X86.Sse3.X64.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.X86.Ssse3.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableSSE3 or COMPlus_EnableSSE3 is '0' but System.Runtime.Intrinsics.X86.Ssse3.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.X86.Ssse3.X64.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableSSE3 or COMPlus_EnableSSE3 is '0' but System.Runtime.Intrinsics.X86.Ssse3.X64.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.X86.Sse41.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableSSE3 or COMPlus_EnableSSE3 is '0' but System.Runtime.Intrinsics.X86.Sse41.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.X86.Sse41.X64.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableSSE3 or COMPlus_EnableSSE3 is '0' but System.Runtime.Intrinsics.X86.Sse41.X64.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.X86.Sse42.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableSSE3 or COMPlus_EnableSSE3 is '0' but System.Runtime.Intrinsics.X86.Sse42.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.X86.Sse42.X64.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableSSE3 or COMPlus_EnableSSE3 is '0' but System.Runtime.Intrinsics.X86.Sse42.X64.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.X86.Avx.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableSSE3 or COMPlus_EnableSSE3 is '0' but System.Runtime.Intrinsics.X86.Avx.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.X86.Avx.X64.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableSSE3 or COMPlus_EnableSSE3 is '0' but System.Runtime.Intrinsics.X86.Avx.X64.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.X86.Avx2.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableSSE3 or COMPlus_EnableSSE3 is '0' but System.Runtime.Intrinsics.X86.Avx2.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.X86.Avx2.X64.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableSSE3 or COMPlus_EnableSSE3 is '0' but System.Runtime.Intrinsics.X86.Avx2.X64.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.X86.AvxVnni.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableSSE3 or COMPlus_EnableSSE3 is '0' but System.Runtime.Intrinsics.X86.AvxVnni.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.X86.AvxVnni.X64.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableSSE3 or COMPlus_EnableSSE3 is '0' but System.Runtime.Intrinsics.X86.AvxVnni.X64.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.X86.Fma.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableSSE3 or COMPlus_EnableSSE3 is '0' but System.Runtime.Intrinsics.X86.Fma.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.X86.Fma.X64.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableSSE3 or COMPlus_EnableSSE3 is '0' but System.Runtime.Intrinsics.X86.Fma.X64.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.X86.Popcnt.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableSSE3 or COMPlus_EnableSSE3 is '0' but System.Runtime.Intrinsics.X86.Popcnt.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.X86.Popcnt.X64.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableSSE3 or COMPlus_EnableSSE3 is '0' but System.Runtime.Intrinsics.X86.Popcnt.X64.IsSupported returns 'True'"); + } + } + + if (String.Equals(Environment.GetEnvironmentVariable("DOTNET_EnableSSSE3"), "0") || String.Equals(Environment.GetEnvironmentVariable("COMPlus_EnableSSSE3"), "0")) + { + if (System.Runtime.Intrinsics.X86.Ssse3.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableSSSE3 or COMPlus_EnableSSSE3 is '0' but System.Runtime.Intrinsics.X86.Ssse3.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.X86.Ssse3.X64.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableSSSE3 or COMPlus_EnableSSSE3 is '0' but System.Runtime.Intrinsics.X86.Ssse3.X64.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.X86.Sse41.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableSSSE3 or COMPlus_EnableSSSE3 is '0' but System.Runtime.Intrinsics.X86.Sse41.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.X86.Sse41.X64.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableSSSE3 or COMPlus_EnableSSSE3 is '0' but System.Runtime.Intrinsics.X86.Sse41.X64.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.X86.Sse42.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableSSSE3 or COMPlus_EnableSSSE3 is '0' but System.Runtime.Intrinsics.X86.Sse42.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.X86.Sse42.X64.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableSSSE3 or COMPlus_EnableSSSE3 is '0' but System.Runtime.Intrinsics.X86.Sse42.X64.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.X86.Avx.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableSSSE3 or COMPlus_EnableSSSE3 is '0' but System.Runtime.Intrinsics.X86.Avx.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.X86.Avx.X64.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableSSSE3 or COMPlus_EnableSSSE3 is '0' but System.Runtime.Intrinsics.X86.Avx.X64.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.X86.Avx2.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableSSSE3 or COMPlus_EnableSSSE3 is '0' but System.Runtime.Intrinsics.X86.Avx2.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.X86.Avx2.X64.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableSSSE3 or COMPlus_EnableSSSE3 is '0' but System.Runtime.Intrinsics.X86.Avx2.X64.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.X86.AvxVnni.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableSSSE3 or COMPlus_EnableSSSE3 is '0' but System.Runtime.Intrinsics.X86.AvxVnni.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.X86.AvxVnni.X64.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableSSSE3 or COMPlus_EnableSSSE3 is '0' but System.Runtime.Intrinsics.X86.AvxVnni.X64.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.X86.Fma.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableSSSE3 or COMPlus_EnableSSSE3 is '0' but System.Runtime.Intrinsics.X86.Fma.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.X86.Fma.X64.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableSSSE3 or COMPlus_EnableSSSE3 is '0' but System.Runtime.Intrinsics.X86.Fma.X64.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.X86.Popcnt.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableSSSE3 or COMPlus_EnableSSSE3 is '0' but System.Runtime.Intrinsics.X86.Popcnt.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.X86.Popcnt.X64.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableSSSE3 or COMPlus_EnableSSSE3 is '0' but System.Runtime.Intrinsics.X86.Popcnt.X64.IsSupported returns 'True'"); + } + } + + if (String.Equals(Environment.GetEnvironmentVariable("DOTNET_EnableSSE41"), "0") || String.Equals(Environment.GetEnvironmentVariable("COMPlus_EnableSSE41"), "0")) + { + if (System.Runtime.Intrinsics.X86.Sse41.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableSSE41 or COMPlus_EnableSSE41 is '0' but System.Runtime.Intrinsics.X86.Sse41.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.X86.Sse41.X64.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableSSE41 or COMPlus_EnableSSE41 is '0' but System.Runtime.Intrinsics.X86.Sse41.X64.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.X86.Sse42.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableSSE41 or COMPlus_EnableSSE41 is '0' but System.Runtime.Intrinsics.X86.Sse42.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.X86.Sse42.X64.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableSSE41 or COMPlus_EnableSSE41 is '0' but System.Runtime.Intrinsics.X86.Sse42.X64.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.X86.Avx.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableSSE41 or COMPlus_EnableSSE41 is '0' but System.Runtime.Intrinsics.X86.Avx.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.X86.Avx.X64.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableSSE41 or COMPlus_EnableSSE41 is '0' but System.Runtime.Intrinsics.X86.Avx.X64.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.X86.Avx2.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableSSE41 or COMPlus_EnableSSE41 is '0' but System.Runtime.Intrinsics.X86.Avx2.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.X86.Avx2.X64.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableSSE41 or COMPlus_EnableSSE41 is '0' but System.Runtime.Intrinsics.X86.Avx2.X64.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.X86.AvxVnni.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableSSE41 or COMPlus_EnableSSE41 is '0' but System.Runtime.Intrinsics.X86.AvxVnni.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.X86.AvxVnni.X64.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableSSE41 or COMPlus_EnableSSE41 is '0' but System.Runtime.Intrinsics.X86.AvxVnni.X64.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.X86.Fma.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableSSE41 or COMPlus_EnableSSE41 is '0' but System.Runtime.Intrinsics.X86.Fma.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.X86.Fma.X64.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableSSE41 or COMPlus_EnableSSE41 is '0' but System.Runtime.Intrinsics.X86.Fma.X64.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.X86.Popcnt.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableSSE41 or COMPlus_EnableSSE41 is '0' but System.Runtime.Intrinsics.X86.Popcnt.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.X86.Popcnt.X64.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableSSE41 or COMPlus_EnableSSE41 is '0' but System.Runtime.Intrinsics.X86.Popcnt.X64.IsSupported returns 'True'"); + } + } + + if (String.Equals(Environment.GetEnvironmentVariable("DOTNET_EnableSSE42"), "0") || String.Equals(Environment.GetEnvironmentVariable("COMPlus_EnableSSE42"), "0")) + { + if (System.Runtime.Intrinsics.X86.Sse42.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableSSE42 or COMPlus_EnableSSE42 is '0' but System.Runtime.Intrinsics.X86.Sse42.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.X86.Sse42.X64.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableSSE42 or COMPlus_EnableSSE42 is '0' but System.Runtime.Intrinsics.X86.Sse42.X64.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.X86.Avx.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableSSE42 or COMPlus_EnableSSE42 is '0' but System.Runtime.Intrinsics.X86.Avx.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.X86.Avx.X64.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableSSE42 or COMPlus_EnableSSE42 is '0' but System.Runtime.Intrinsics.X86.Avx.X64.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.X86.Avx2.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableSSE42 or COMPlus_EnableSSE42 is '0' but System.Runtime.Intrinsics.X86.Avx2.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.X86.Avx2.X64.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableSSE42 or COMPlus_EnableSSE42 is '0' but System.Runtime.Intrinsics.X86.Avx2.X64.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.X86.AvxVnni.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableSSE42 or COMPlus_EnableSSE42 is '0' but System.Runtime.Intrinsics.X86.AvxVnni.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.X86.AvxVnni.X64.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableSSE42 or COMPlus_EnableSSE42 is '0' but System.Runtime.Intrinsics.X86.AvxVnni.X64.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.X86.Fma.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableSSE42 or COMPlus_EnableSSE42 is '0' but System.Runtime.Intrinsics.X86.Fma.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.X86.Fma.X64.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableSSE42 or COMPlus_EnableSSE42 is '0' but System.Runtime.Intrinsics.X86.Fma.X64.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.X86.Popcnt.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableSSE42 or COMPlus_EnableSSE42 is '0' but System.Runtime.Intrinsics.X86.Popcnt.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.X86.Popcnt.X64.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableSSE42 or COMPlus_EnableSSE42 is '0' but System.Runtime.Intrinsics.X86.Popcnt.X64.IsSupported returns 'True'"); + } + } + + if (String.Equals(Environment.GetEnvironmentVariable("DOTNET_EnableAVX"), "0") || String.Equals(Environment.GetEnvironmentVariable("COMPlus_EnableAVX"), "0")) + { + if (System.Runtime.Intrinsics.X86.Avx.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableAVX or COMPlus_EnableAVX is '0' but System.Runtime.Intrinsics.X86.Avx.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.X86.Avx.X64.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableAVX or COMPlus_EnableAVX is '0' but System.Runtime.Intrinsics.X86.Avx.X64.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.X86.Avx2.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableAVX or COMPlus_EnableAVX is '0' but System.Runtime.Intrinsics.X86.Avx2.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.X86.Avx2.X64.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableAVX or COMPlus_EnableAVX is '0' but System.Runtime.Intrinsics.X86.Avx2.X64.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.X86.AvxVnni.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableAVX or COMPlus_EnableAVX is '0' but System.Runtime.Intrinsics.X86.AvxVnni.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.X86.AvxVnni.X64.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableAVX or COMPlus_EnableAVX is '0' but System.Runtime.Intrinsics.X86.AvxVnni.X64.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.X86.Fma.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableAVX or COMPlus_EnableAVX is '0' but System.Runtime.Intrinsics.X86.Fma.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.X86.Fma.X64.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableAVX or COMPlus_EnableAVX is '0' but System.Runtime.Intrinsics.X86.Fma.X64.IsSupported returns 'True'"); + } + } + + if (String.Equals(Environment.GetEnvironmentVariable("DOTNET_EnableAVX2"), "0") || String.Equals(Environment.GetEnvironmentVariable("COMPlus_EnableAVX2"), "0")) + { + if (System.Runtime.Intrinsics.X86.Avx2.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableAVX2 or COMPlus_EnableAVX2 is '0' but System.Runtime.Intrinsics.X86.Avx2.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.X86.Avx2.X64.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableAVX2 or COMPlus_EnableAVX2 is '0' but System.Runtime.Intrinsics.X86.Avx2.X64.IsSupported returns 'True'"); + } + } + + if (String.Equals(Environment.GetEnvironmentVariable("DOTNET_EnableAVXVNNI"), "0") || String.Equals(Environment.GetEnvironmentVariable("COMPlus_EnableAVXVNNI"), "0")) + { + if (System.Runtime.Intrinsics.X86.AvxVnni.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableAVXVNNI or COMPlus_EnableAVXVNNI is '0' but System.Runtime.Intrinsics.X86.AvxVnni.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.X86.AvxVnni.X64.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableAVXVNNI or COMPlus_EnableAVXVNNI is '0' but System.Runtime.Intrinsics.X86.AvxVnni.X64.IsSupported returns 'True'"); + } + } + + if (String.Equals(Environment.GetEnvironmentVariable("DOTNET_EnableBMI1"), "0") || String.Equals(Environment.GetEnvironmentVariable("COMPlus_EnableBMI1"), "0")) + { + if (System.Runtime.Intrinsics.X86.Bmi1.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableBMI1 or COMPlus_EnableBMI1 is '0' but System.Runtime.Intrinsics.X86.Bmi1.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.X86.Bmi1.X64.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableBMI1 or COMPlus_EnableBMI1 is '0' but System.Runtime.Intrinsics.X86.Bmi1.X64.IsSupported returns 'True'"); + } + } + + if (String.Equals(Environment.GetEnvironmentVariable("DOTNET_EnableBMI2"), "0") || String.Equals(Environment.GetEnvironmentVariable("COMPlus_EnableBMI2"), "0")) + { + if (System.Runtime.Intrinsics.X86.Bmi2.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableBMI2 or COMPlus_EnableBMI2 is '0' but System.Runtime.Intrinsics.X86.Bmi2.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.X86.Bmi2.X64.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableBMI2 or COMPlus_EnableBMI2 is '0' but System.Runtime.Intrinsics.X86.Bmi2.X64.IsSupported returns 'True'"); + } + } + + if (String.Equals(Environment.GetEnvironmentVariable("DOTNET_EnableFMA"), "0") || String.Equals(Environment.GetEnvironmentVariable("COMPlus_EnableFMA"), "0")) + { + if (System.Runtime.Intrinsics.X86.Fma.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableFMA or COMPlus_EnableFMA is '0' but System.Runtime.Intrinsics.X86.Fma.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.X86.Fma.X64.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableFMA or COMPlus_EnableFMA is '0' but System.Runtime.Intrinsics.X86.Fma.X64.IsSupported returns 'True'"); + } + } + + if (String.Equals(Environment.GetEnvironmentVariable("DOTNET_EnableLZCNT"), "0") || String.Equals(Environment.GetEnvironmentVariable("COMPlus_EnableLZCNT"), "0")) + { + if (System.Runtime.Intrinsics.X86.Lzcnt.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableLZCNT or COMPlus_EnableLZCNT is '0' but System.Runtime.Intrinsics.X86.Lzcnt.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.X86.Lzcnt.X64.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableLZCNT or COMPlus_EnableLZCNT is '0' but System.Runtime.Intrinsics.X86.Lzcnt.X64.IsSupported returns 'True'"); + } + } + + if (String.Equals(Environment.GetEnvironmentVariable("DOTNET_EnablePCLMULQDQ"), "0") || String.Equals(Environment.GetEnvironmentVariable("COMPlus_EnablePCLMULQDQ"), "0")) + { + if (System.Runtime.Intrinsics.X86.Pclmulqdq.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnablePCLMULQDQ or COMPlus_EnablePCLMULQDQ is '0' but System.Runtime.Intrinsics.X86.Pclmulqdq.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.X86.Pclmulqdq.X64.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnablePCLMULQDQ or COMPlus_EnablePCLMULQDQ is '0' but System.Runtime.Intrinsics.X86.Pclmulqdq.X64.IsSupported returns 'True'"); + } + } + + if (String.Equals(Environment.GetEnvironmentVariable("DOTNET_EnablePOPCNT"), "0") || String.Equals(Environment.GetEnvironmentVariable("COMPlus_EnablePOPCNT"), "0")) + { + if (System.Runtime.Intrinsics.X86.Popcnt.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnablePOPCNT or COMPlus_EnablePOPCNT is '0' but System.Runtime.Intrinsics.X86.Popcnt.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.X86.Popcnt.X64.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnablePOPCNT or COMPlus_EnablePOPCNT is '0' but System.Runtime.Intrinsics.X86.Popcnt.X64.IsSupported returns 'True'"); + } + } + + if (String.Equals(Environment.GetEnvironmentVariable("DOTNET_EnableArm64AdvSimd"), "0") || String.Equals(Environment.GetEnvironmentVariable("COMPlus_EnableArm64AdvSimd"), "0")) + { + if (System.Runtime.Intrinsics.Arm.AdvSimd.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableArm64AdvSimd or COMPlus_EnableArm64AdvSimd is '0' but System.Runtime.Intrinsics.Arm.AdvSimd.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.Arm.AdvSimd.Arm64.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableArm64AdvSimd or COMPlus_EnableArm64AdvSimd is '0' but System.Runtime.Intrinsics.Arm.AdvSimd.Arm64.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.Arm.Dp.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableArm64AdvSimd or COMPlus_EnableArm64AdvSimd is '0' but System.Runtime.Intrinsics.Arm.Dp.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.Arm.Dp.Arm64.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableArm64AdvSimd or COMPlus_EnableArm64AdvSimd is '0' but System.Runtime.Intrinsics.Arm.Dp.Arm64.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.Arm.Rdm.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableArm64AdvSimd or COMPlus_EnableArm64AdvSimd is '0' but System.Runtime.Intrinsics.Arm.Rdm.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.Arm.Rdm.Arm64.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableArm64AdvSimd or COMPlus_EnableArm64AdvSimd is '0' but System.Runtime.Intrinsics.Arm.Rdm.Arm64.IsSupported returns 'True'"); + } + } + + if (String.Equals(Environment.GetEnvironmentVariable("DOTNET_EnableArm64Aes"), "0") || String.Equals(Environment.GetEnvironmentVariable("COMPlus_EnableArm64Aes"), "0")) + { + if (System.Runtime.Intrinsics.Arm.Aes.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableArm64Aes or COMPlus_EnableArm64Aes is '0' but System.Runtime.Intrinsics.Arm.Aes.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.Arm.Aes.Arm64.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableArm64Aes or COMPlus_EnableArm64Aes is '0' but System.Runtime.Intrinsics.Arm.Aes.Arm64.IsSupported returns 'True'"); + } + } + + if (String.Equals(Environment.GetEnvironmentVariable("DOTNET_(EnableArm64Crc32"), "0") || String.Equals(Environment.GetEnvironmentVariable("COMPlus_(EnableArm64Crc32"), "0")) + { + if (System.Runtime.Intrinsics.Arm.Crc32.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_(EnableArm64Crc32 or COMPlus_(EnableArm64Crc32 is '0' but System.Runtime.Intrinsics.Arm.Crc32.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.Arm.Crc32.Arm64.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_(EnableArm64Crc32 or COMPlus_(EnableArm64Crc32 is '0' but System.Runtime.Intrinsics.Arm.Crc32.Arm64.IsSupported returns 'True'"); + } + } + + if (String.Equals(Environment.GetEnvironmentVariable("DOTNET_EnableArm64Dp"), "0") || String.Equals(Environment.GetEnvironmentVariable("COMPlus_EnableArm64Dp"), "0")) + { + if (System.Runtime.Intrinsics.Arm.Dp.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableArm64Dp or COMPlus_EnableArm64Dp is '0' but System.Runtime.Intrinsics.Arm.Dp.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.Arm.Dp.Arm64.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableArm64Dp or COMPlus_EnableArm64Dp is '0' but System.Runtime.Intrinsics.Arm.Dp.Arm64.IsSupported returns 'True'"); + } + } + + if (String.Equals(Environment.GetEnvironmentVariable("DOTNET_EnableArm64AdvSimd_v81"), "0") || String.Equals(Environment.GetEnvironmentVariable("COMPlus_EnableArm64AdvSimd_v81"), "0")) + { + if (System.Runtime.Intrinsics.Arm.Rdm.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableArm64AdvSimd_v81 or COMPlus_EnableArm64AdvSimd_v81 is '0' but System.Runtime.Intrinsics.Arm.Rdm.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.Arm.Rdm.Arm64.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableArm64AdvSimd_v81 or COMPlus_EnableArm64AdvSimd_v81 is '0' but System.Runtime.Intrinsics.Arm.Rdm.Arm64.IsSupported returns 'True'"); + } + } + + if (String.Equals(Environment.GetEnvironmentVariable("DOTNET_EnableArm64Sha1"), "0") || String.Equals(Environment.GetEnvironmentVariable("COMPlus_EnableArm64Sha1"), "0")) + { + if (System.Runtime.Intrinsics.Arm.Sha1.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableArm64Sha1 or COMPlus_EnableArm64Sha1 is '0' but System.Runtime.Intrinsics.Arm.Sha1.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.Arm.Sha1.Arm64.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableArm64Sha1 or COMPlus_EnableArm64Sha1 is '0' but System.Runtime.Intrinsics.Arm.Sha1.Arm64.IsSupported returns 'True'"); + } + } + + if (String.Equals(Environment.GetEnvironmentVariable("DOTNET_EnableArm64Sha256"), "0") || String.Equals(Environment.GetEnvironmentVariable("COMPlus_EnableArm64Sha256"), "0")) + { + if (System.Runtime.Intrinsics.Arm.Sha256.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableArm64Sha256 or COMPlus_EnableArm64Sha256 is '0' but System.Runtime.Intrinsics.Arm.Sha256.IsSupported returns 'True'"); + } + + if (System.Runtime.Intrinsics.Arm.Sha256.Arm64.IsSupported) + { + success = false; + Console.WriteLine("ERROR: Either DOTNET_EnableArm64Sha256 or COMPlus_EnableArm64Sha256 is '0' but System.Runtime.Intrinsics.Arm.Sha256.Arm64.IsSupported returns 'True'"); + } + } + + return success; + } + + static bool TestReadyToRunAssumptionsAreCorrect() + { + bool success = true; + + if (System.Runtime.Intrinsics.X86.X86Base.IsSupported != Helper_System_Runtime_Intrinsics_X86_X86Base.IsSupported) + { + success = false; + Console.WriteLine("ERROR: System.Runtime.Intrinsics.X86.X86Base.IsSupported returns '{0}' while a loaded into the process ReadyToRun image assumes the value being '{1}'", System.Runtime.Intrinsics.X86.X86Base.IsSupported, Helper_System_Runtime_Intrinsics_X86_X86Base.IsSupported); + } + + if (System.Runtime.Intrinsics.X86.X86Base.X64.IsSupported != Helper_System_Runtime_Intrinsics_X86_X86Base_X64.IsSupported) + { + success = false; + Console.WriteLine("ERROR: System.Runtime.Intrinsics.X86.X86Base.X64.IsSupported returns '{0}' while a loaded into the process ReadyToRun image assumes the value being '{1}'", System.Runtime.Intrinsics.X86.X86Base.X64.IsSupported, Helper_System_Runtime_Intrinsics_X86_X86Base_X64.IsSupported); + } + + if (System.Runtime.Intrinsics.X86.Sse.IsSupported != Helper_System_Runtime_Intrinsics_X86_Sse.IsSupported) + { + success = false; + Console.WriteLine("ERROR: System.Runtime.Intrinsics.X86.Sse.IsSupported returns '{0}' while a loaded into the process ReadyToRun image assumes the value being '{1}'", System.Runtime.Intrinsics.X86.Sse.IsSupported, Helper_System_Runtime_Intrinsics_X86_Sse.IsSupported); + } + + if (System.Runtime.Intrinsics.X86.Sse.X64.IsSupported != Helper_System_Runtime_Intrinsics_X86_Sse_X64.IsSupported) + { + success = false; + Console.WriteLine("ERROR: System.Runtime.Intrinsics.X86.Sse.X64.IsSupported returns '{0}' while a loaded into the process ReadyToRun image assumes the value being '{1}'", System.Runtime.Intrinsics.X86.Sse.X64.IsSupported, Helper_System_Runtime_Intrinsics_X86_Sse_X64.IsSupported); + } + + if (System.Runtime.Intrinsics.X86.Sse2.IsSupported != Helper_System_Runtime_Intrinsics_X86_Sse2.IsSupported) + { + success = false; + Console.WriteLine("ERROR: System.Runtime.Intrinsics.X86.Sse2.IsSupported returns '{0}' while a loaded into the process ReadyToRun image assumes the value being '{1}'", System.Runtime.Intrinsics.X86.Sse2.IsSupported, Helper_System_Runtime_Intrinsics_X86_Sse2.IsSupported); + } + + if (System.Runtime.Intrinsics.X86.Sse2.X64.IsSupported != Helper_System_Runtime_Intrinsics_X86_Sse2_X64.IsSupported) + { + success = false; + Console.WriteLine("ERROR: System.Runtime.Intrinsics.X86.Sse2.X64.IsSupported returns '{0}' while a loaded into the process ReadyToRun image assumes the value being '{1}'", System.Runtime.Intrinsics.X86.Sse2.X64.IsSupported, Helper_System_Runtime_Intrinsics_X86_Sse2_X64.IsSupported); + } + + if (System.Runtime.Intrinsics.X86.Sse3.IsSupported != Helper_System_Runtime_Intrinsics_X86_Sse3.IsSupported) + { + success = false; + Console.WriteLine("ERROR: System.Runtime.Intrinsics.X86.Sse3.IsSupported returns '{0}' while a loaded into the process ReadyToRun image assumes the value being '{1}'", System.Runtime.Intrinsics.X86.Sse3.IsSupported, Helper_System_Runtime_Intrinsics_X86_Sse3.IsSupported); + } + + if (System.Runtime.Intrinsics.X86.Sse3.X64.IsSupported != Helper_System_Runtime_Intrinsics_X86_Sse3_X64.IsSupported) + { + success = false; + Console.WriteLine("ERROR: System.Runtime.Intrinsics.X86.Sse3.X64.IsSupported returns '{0}' while a loaded into the process ReadyToRun image assumes the value being '{1}'", System.Runtime.Intrinsics.X86.Sse3.X64.IsSupported, Helper_System_Runtime_Intrinsics_X86_Sse3_X64.IsSupported); + } + + if (System.Runtime.Intrinsics.X86.Ssse3.IsSupported != Helper_System_Runtime_Intrinsics_X86_Ssse3.IsSupported) + { + success = false; + Console.WriteLine("ERROR: System.Runtime.Intrinsics.X86.Ssse3.IsSupported returns '{0}' while a loaded into the process ReadyToRun image assumes the value being '{1}'", System.Runtime.Intrinsics.X86.Ssse3.IsSupported, Helper_System_Runtime_Intrinsics_X86_Ssse3.IsSupported); + } + + if (System.Runtime.Intrinsics.X86.Ssse3.X64.IsSupported != Helper_System_Runtime_Intrinsics_X86_Ssse3_X64.IsSupported) + { + success = false; + Console.WriteLine("ERROR: System.Runtime.Intrinsics.X86.Ssse3.X64.IsSupported returns '{0}' while a loaded into the process ReadyToRun image assumes the value being '{1}'", System.Runtime.Intrinsics.X86.Ssse3.X64.IsSupported, Helper_System_Runtime_Intrinsics_X86_Ssse3_X64.IsSupported); + } + + if (System.Runtime.Intrinsics.X86.Sse41.IsSupported != Helper_System_Runtime_Intrinsics_X86_Sse41.IsSupported) + { + success = false; + Console.WriteLine("ERROR: System.Runtime.Intrinsics.X86.Sse41.IsSupported returns '{0}' while a loaded into the process ReadyToRun image assumes the value being '{1}'", System.Runtime.Intrinsics.X86.Sse41.IsSupported, Helper_System_Runtime_Intrinsics_X86_Sse41.IsSupported); + } + + if (System.Runtime.Intrinsics.X86.Sse41.X64.IsSupported != Helper_System_Runtime_Intrinsics_X86_Sse41_X64.IsSupported) + { + success = false; + Console.WriteLine("ERROR: System.Runtime.Intrinsics.X86.Sse41.X64.IsSupported returns '{0}' while a loaded into the process ReadyToRun image assumes the value being '{1}'", System.Runtime.Intrinsics.X86.Sse41.X64.IsSupported, Helper_System_Runtime_Intrinsics_X86_Sse41_X64.IsSupported); + } + + if (System.Runtime.Intrinsics.X86.Sse42.IsSupported != Helper_System_Runtime_Intrinsics_X86_Sse42.IsSupported) + { + success = false; + Console.WriteLine("ERROR: System.Runtime.Intrinsics.X86.Sse42.IsSupported returns '{0}' while a loaded into the process ReadyToRun image assumes the value being '{1}'", System.Runtime.Intrinsics.X86.Sse42.IsSupported, Helper_System_Runtime_Intrinsics_X86_Sse42.IsSupported); + } + + if (System.Runtime.Intrinsics.X86.Sse42.X64.IsSupported != Helper_System_Runtime_Intrinsics_X86_Sse42_X64.IsSupported) + { + success = false; + Console.WriteLine("ERROR: System.Runtime.Intrinsics.X86.Sse42.X64.IsSupported returns '{0}' while a loaded into the process ReadyToRun image assumes the value being '{1}'", System.Runtime.Intrinsics.X86.Sse42.X64.IsSupported, Helper_System_Runtime_Intrinsics_X86_Sse42_X64.IsSupported); + } + + if (System.Runtime.Intrinsics.X86.Avx.IsSupported != Helper_System_Runtime_Intrinsics_X86_Avx.IsSupported) + { + success = false; + Console.WriteLine("ERROR: System.Runtime.Intrinsics.X86.Avx.IsSupported returns '{0}' while a loaded into the process ReadyToRun image assumes the value being '{1}'", System.Runtime.Intrinsics.X86.Avx.IsSupported, Helper_System_Runtime_Intrinsics_X86_Avx.IsSupported); + } + + if (System.Runtime.Intrinsics.X86.Avx.X64.IsSupported != Helper_System_Runtime_Intrinsics_X86_Avx_X64.IsSupported) + { + success = false; + Console.WriteLine("ERROR: System.Runtime.Intrinsics.X86.Avx.X64.IsSupported returns '{0}' while a loaded into the process ReadyToRun image assumes the value being '{1}'", System.Runtime.Intrinsics.X86.Avx.X64.IsSupported, Helper_System_Runtime_Intrinsics_X86_Avx_X64.IsSupported); + } + + if (System.Runtime.Intrinsics.X86.Avx2.IsSupported != Helper_System_Runtime_Intrinsics_X86_Avx2.IsSupported) + { + success = false; + Console.WriteLine("ERROR: System.Runtime.Intrinsics.X86.Avx2.IsSupported returns '{0}' while a loaded into the process ReadyToRun image assumes the value being '{1}'", System.Runtime.Intrinsics.X86.Avx2.IsSupported, Helper_System_Runtime_Intrinsics_X86_Avx2.IsSupported); + } + + if (System.Runtime.Intrinsics.X86.Avx2.X64.IsSupported != Helper_System_Runtime_Intrinsics_X86_Avx2_X64.IsSupported) + { + success = false; + Console.WriteLine("ERROR: System.Runtime.Intrinsics.X86.Avx2.X64.IsSupported returns '{0}' while a loaded into the process ReadyToRun image assumes the value being '{1}'", System.Runtime.Intrinsics.X86.Avx2.X64.IsSupported, Helper_System_Runtime_Intrinsics_X86_Avx2_X64.IsSupported); + } + + if (System.Runtime.Intrinsics.X86.AvxVnni.IsSupported != Helper_System_Runtime_Intrinsics_X86_AvxVnni.IsSupported) + { + success = false; + Console.WriteLine("ERROR: System.Runtime.Intrinsics.X86.AvxVnni.IsSupported returns '{0}' while a loaded into the process ReadyToRun image assumes the value being '{1}'", System.Runtime.Intrinsics.X86.AvxVnni.IsSupported, Helper_System_Runtime_Intrinsics_X86_AvxVnni.IsSupported); + } + + if (System.Runtime.Intrinsics.X86.AvxVnni.X64.IsSupported != Helper_System_Runtime_Intrinsics_X86_AvxVnni_X64.IsSupported) + { + success = false; + Console.WriteLine("ERROR: System.Runtime.Intrinsics.X86.AvxVnni.X64.IsSupported returns '{0}' while a loaded into the process ReadyToRun image assumes the value being '{1}'", System.Runtime.Intrinsics.X86.AvxVnni.X64.IsSupported, Helper_System_Runtime_Intrinsics_X86_AvxVnni_X64.IsSupported); + } + + if (System.Runtime.Intrinsics.X86.Bmi1.IsSupported != Helper_System_Runtime_Intrinsics_X86_Bmi1.IsSupported) + { + success = false; + Console.WriteLine("ERROR: System.Runtime.Intrinsics.X86.Bmi1.IsSupported returns '{0}' while a loaded into the process ReadyToRun image assumes the value being '{1}'", System.Runtime.Intrinsics.X86.Bmi1.IsSupported, Helper_System_Runtime_Intrinsics_X86_Bmi1.IsSupported); + } + + if (System.Runtime.Intrinsics.X86.Bmi1.X64.IsSupported != Helper_System_Runtime_Intrinsics_X86_Bmi1_X64.IsSupported) + { + success = false; + Console.WriteLine("ERROR: System.Runtime.Intrinsics.X86.Bmi1.X64.IsSupported returns '{0}' while a loaded into the process ReadyToRun image assumes the value being '{1}'", System.Runtime.Intrinsics.X86.Bmi1.X64.IsSupported, Helper_System_Runtime_Intrinsics_X86_Bmi1_X64.IsSupported); + } + + if (System.Runtime.Intrinsics.X86.Bmi2.IsSupported != Helper_System_Runtime_Intrinsics_X86_Bmi2.IsSupported) + { + success = false; + Console.WriteLine("ERROR: System.Runtime.Intrinsics.X86.Bmi2.IsSupported returns '{0}' while a loaded into the process ReadyToRun image assumes the value being '{1}'", System.Runtime.Intrinsics.X86.Bmi2.IsSupported, Helper_System_Runtime_Intrinsics_X86_Bmi2.IsSupported); + } + + if (System.Runtime.Intrinsics.X86.Bmi2.X64.IsSupported != Helper_System_Runtime_Intrinsics_X86_Bmi2_X64.IsSupported) + { + success = false; + Console.WriteLine("ERROR: System.Runtime.Intrinsics.X86.Bmi2.X64.IsSupported returns '{0}' while a loaded into the process ReadyToRun image assumes the value being '{1}'", System.Runtime.Intrinsics.X86.Bmi2.X64.IsSupported, Helper_System_Runtime_Intrinsics_X86_Bmi2_X64.IsSupported); + } + + if (System.Runtime.Intrinsics.X86.Fma.IsSupported != Helper_System_Runtime_Intrinsics_X86_Fma.IsSupported) + { + success = false; + Console.WriteLine("ERROR: System.Runtime.Intrinsics.X86.Fma.IsSupported returns '{0}' while a loaded into the process ReadyToRun image assumes the value being '{1}'", System.Runtime.Intrinsics.X86.Fma.IsSupported, Helper_System_Runtime_Intrinsics_X86_Fma.IsSupported); + } + + if (System.Runtime.Intrinsics.X86.Fma.X64.IsSupported != Helper_System_Runtime_Intrinsics_X86_Fma_X64.IsSupported) + { + success = false; + Console.WriteLine("ERROR: System.Runtime.Intrinsics.X86.Fma.X64.IsSupported returns '{0}' while a loaded into the process ReadyToRun image assumes the value being '{1}'", System.Runtime.Intrinsics.X86.Fma.X64.IsSupported, Helper_System_Runtime_Intrinsics_X86_Fma_X64.IsSupported); + } + + if (System.Runtime.Intrinsics.X86.Lzcnt.IsSupported != Helper_System_Runtime_Intrinsics_X86_Lzcnt.IsSupported) + { + success = false; + Console.WriteLine("ERROR: System.Runtime.Intrinsics.X86.Lzcnt.IsSupported returns '{0}' while a loaded into the process ReadyToRun image assumes the value being '{1}'", System.Runtime.Intrinsics.X86.Lzcnt.IsSupported, Helper_System_Runtime_Intrinsics_X86_Lzcnt.IsSupported); + } + + if (System.Runtime.Intrinsics.X86.Lzcnt.X64.IsSupported != Helper_System_Runtime_Intrinsics_X86_Lzcnt_X64.IsSupported) + { + success = false; + Console.WriteLine("ERROR: System.Runtime.Intrinsics.X86.Lzcnt.X64.IsSupported returns '{0}' while a loaded into the process ReadyToRun image assumes the value being '{1}'", System.Runtime.Intrinsics.X86.Lzcnt.X64.IsSupported, Helper_System_Runtime_Intrinsics_X86_Lzcnt_X64.IsSupported); + } + + if (System.Runtime.Intrinsics.X86.Pclmulqdq.IsSupported != Helper_System_Runtime_Intrinsics_X86_Pclmulqdq.IsSupported) + { + success = false; + Console.WriteLine("ERROR: System.Runtime.Intrinsics.X86.Pclmulqdq.IsSupported returns '{0}' while a loaded into the process ReadyToRun image assumes the value being '{1}'", System.Runtime.Intrinsics.X86.Pclmulqdq.IsSupported, Helper_System_Runtime_Intrinsics_X86_Pclmulqdq.IsSupported); + } + + if (System.Runtime.Intrinsics.X86.Pclmulqdq.X64.IsSupported != Helper_System_Runtime_Intrinsics_X86_Pclmulqdq_X64.IsSupported) + { + success = false; + Console.WriteLine("ERROR: System.Runtime.Intrinsics.X86.Pclmulqdq.X64.IsSupported returns '{0}' while a loaded into the process ReadyToRun image assumes the value being '{1}'", System.Runtime.Intrinsics.X86.Pclmulqdq.X64.IsSupported, Helper_System_Runtime_Intrinsics_X86_Pclmulqdq_X64.IsSupported); + } + + if (System.Runtime.Intrinsics.X86.Popcnt.IsSupported != Helper_System_Runtime_Intrinsics_X86_Popcnt.IsSupported) + { + success = false; + Console.WriteLine("ERROR: System.Runtime.Intrinsics.X86.Popcnt.IsSupported returns '{0}' while a loaded into the process ReadyToRun image assumes the value being '{1}'", System.Runtime.Intrinsics.X86.Popcnt.IsSupported, Helper_System_Runtime_Intrinsics_X86_Popcnt.IsSupported); + } + + if (System.Runtime.Intrinsics.X86.Popcnt.X64.IsSupported != Helper_System_Runtime_Intrinsics_X86_Popcnt_X64.IsSupported) + { + success = false; + Console.WriteLine("ERROR: System.Runtime.Intrinsics.X86.Popcnt.X64.IsSupported returns '{0}' while a loaded into the process ReadyToRun image assumes the value being '{1}'", System.Runtime.Intrinsics.X86.Popcnt.X64.IsSupported, Helper_System_Runtime_Intrinsics_X86_Popcnt_X64.IsSupported); + } + + if (System.Runtime.Intrinsics.Arm.ArmBase.IsSupported != Helper_System_Runtime_Intrinsics_Arm_ArmBase.IsSupported) + { + success = false; + Console.WriteLine("ERROR: System.Runtime.Intrinsics.Arm.ArmBase.IsSupported returns '{0}' while a loaded into the process ReadyToRun image assumes the value being '{1}'", System.Runtime.Intrinsics.Arm.ArmBase.IsSupported, Helper_System_Runtime_Intrinsics_Arm_ArmBase.IsSupported); + } + + if (System.Runtime.Intrinsics.Arm.ArmBase.Arm64.IsSupported != Helper_System_Runtime_Intrinsics_Arm_ArmBase_Arm64.IsSupported) + { + success = false; + Console.WriteLine("ERROR: System.Runtime.Intrinsics.Arm.ArmBase.Arm64.IsSupported returns '{0}' while a loaded into the process ReadyToRun image assumes the value being '{1}'", System.Runtime.Intrinsics.Arm.ArmBase.Arm64.IsSupported, Helper_System_Runtime_Intrinsics_Arm_ArmBase_Arm64.IsSupported); + } + + if (System.Runtime.Intrinsics.Arm.AdvSimd.IsSupported != Helper_System_Runtime_Intrinsics_Arm_AdvSimd.IsSupported) + { + success = false; + Console.WriteLine("ERROR: System.Runtime.Intrinsics.Arm.AdvSimd.IsSupported returns '{0}' while a loaded into the process ReadyToRun image assumes the value being '{1}'", System.Runtime.Intrinsics.Arm.AdvSimd.IsSupported, Helper_System_Runtime_Intrinsics_Arm_AdvSimd.IsSupported); + } + + if (System.Runtime.Intrinsics.Arm.AdvSimd.Arm64.IsSupported != Helper_System_Runtime_Intrinsics_Arm_AdvSimd_Arm64.IsSupported) + { + success = false; + Console.WriteLine("ERROR: System.Runtime.Intrinsics.Arm.AdvSimd.Arm64.IsSupported returns '{0}' while a loaded into the process ReadyToRun image assumes the value being '{1}'", System.Runtime.Intrinsics.Arm.AdvSimd.Arm64.IsSupported, Helper_System_Runtime_Intrinsics_Arm_AdvSimd_Arm64.IsSupported); + } + + if (System.Runtime.Intrinsics.Arm.Aes.IsSupported != Helper_System_Runtime_Intrinsics_Arm_Aes.IsSupported) + { + success = false; + Console.WriteLine("ERROR: System.Runtime.Intrinsics.Arm.Aes.IsSupported returns '{0}' while a loaded into the process ReadyToRun image assumes the value being '{1}'", System.Runtime.Intrinsics.Arm.Aes.IsSupported, Helper_System_Runtime_Intrinsics_Arm_Aes.IsSupported); + } + + if (System.Runtime.Intrinsics.Arm.Aes.Arm64.IsSupported != Helper_System_Runtime_Intrinsics_Arm_Aes_Arm64.IsSupported) + { + success = false; + Console.WriteLine("ERROR: System.Runtime.Intrinsics.Arm.Aes.Arm64.IsSupported returns '{0}' while a loaded into the process ReadyToRun image assumes the value being '{1}'", System.Runtime.Intrinsics.Arm.Aes.Arm64.IsSupported, Helper_System_Runtime_Intrinsics_Arm_Aes_Arm64.IsSupported); + } + + if (System.Runtime.Intrinsics.Arm.Crc32.IsSupported != Helper_System_Runtime_Intrinsics_Arm_Crc32.IsSupported) + { + success = false; + Console.WriteLine("ERROR: System.Runtime.Intrinsics.Arm.Crc32.IsSupported returns '{0}' while a loaded into the process ReadyToRun image assumes the value being '{1}'", System.Runtime.Intrinsics.Arm.Crc32.IsSupported, Helper_System_Runtime_Intrinsics_Arm_Crc32.IsSupported); + } + + if (System.Runtime.Intrinsics.Arm.Crc32.Arm64.IsSupported != Helper_System_Runtime_Intrinsics_Arm_Crc32_Arm64.IsSupported) + { + success = false; + Console.WriteLine("ERROR: System.Runtime.Intrinsics.Arm.Crc32.Arm64.IsSupported returns '{0}' while a loaded into the process ReadyToRun image assumes the value being '{1}'", System.Runtime.Intrinsics.Arm.Crc32.Arm64.IsSupported, Helper_System_Runtime_Intrinsics_Arm_Crc32_Arm64.IsSupported); + } + + if (System.Runtime.Intrinsics.Arm.Dp.IsSupported != Helper_System_Runtime_Intrinsics_Arm_Dp.IsSupported) + { + success = false; + Console.WriteLine("ERROR: System.Runtime.Intrinsics.Arm.Dp.IsSupported returns '{0}' while a loaded into the process ReadyToRun image assumes the value being '{1}'", System.Runtime.Intrinsics.Arm.Dp.IsSupported, Helper_System_Runtime_Intrinsics_Arm_Dp.IsSupported); + } + + if (System.Runtime.Intrinsics.Arm.Dp.Arm64.IsSupported != Helper_System_Runtime_Intrinsics_Arm_Dp_Arm64.IsSupported) + { + success = false; + Console.WriteLine("ERROR: System.Runtime.Intrinsics.Arm.Dp.Arm64.IsSupported returns '{0}' while a loaded into the process ReadyToRun image assumes the value being '{1}'", System.Runtime.Intrinsics.Arm.Dp.Arm64.IsSupported, Helper_System_Runtime_Intrinsics_Arm_Dp_Arm64.IsSupported); + } + + if (System.Runtime.Intrinsics.Arm.Rdm.IsSupported != Helper_System_Runtime_Intrinsics_Arm_Rdm.IsSupported) + { + success = false; + Console.WriteLine("ERROR: System.Runtime.Intrinsics.Arm.Rdm.IsSupported returns '{0}' while a loaded into the process ReadyToRun image assumes the value being '{1}'", System.Runtime.Intrinsics.Arm.Rdm.IsSupported, Helper_System_Runtime_Intrinsics_Arm_Rdm.IsSupported); + } + + if (System.Runtime.Intrinsics.Arm.Rdm.Arm64.IsSupported != Helper_System_Runtime_Intrinsics_Arm_Rdm_Arm64.IsSupported) + { + success = false; + Console.WriteLine("ERROR: System.Runtime.Intrinsics.Arm.Rdm.Arm64.IsSupported returns '{0}' while a loaded into the process ReadyToRun image assumes the value being '{1}'", System.Runtime.Intrinsics.Arm.Rdm.Arm64.IsSupported, Helper_System_Runtime_Intrinsics_Arm_Rdm_Arm64.IsSupported); + } + + if (System.Runtime.Intrinsics.Arm.Sha1.IsSupported != Helper_System_Runtime_Intrinsics_Arm_Sha1.IsSupported) + { + success = false; + Console.WriteLine("ERROR: System.Runtime.Intrinsics.Arm.Sha1.IsSupported returns '{0}' while a loaded into the process ReadyToRun image assumes the value being '{1}'", System.Runtime.Intrinsics.Arm.Sha1.IsSupported, Helper_System_Runtime_Intrinsics_Arm_Sha1.IsSupported); + } + + if (System.Runtime.Intrinsics.Arm.Sha1.Arm64.IsSupported != Helper_System_Runtime_Intrinsics_Arm_Sha1_Arm64.IsSupported) + { + success = false; + Console.WriteLine("ERROR: System.Runtime.Intrinsics.Arm.Sha1.Arm64.IsSupported returns '{0}' while a loaded into the process ReadyToRun image assumes the value being '{1}'", System.Runtime.Intrinsics.Arm.Sha1.Arm64.IsSupported, Helper_System_Runtime_Intrinsics_Arm_Sha1_Arm64.IsSupported); + } + + if (System.Runtime.Intrinsics.Arm.Sha256.IsSupported != Helper_System_Runtime_Intrinsics_Arm_Sha256.IsSupported) + { + success = false; + Console.WriteLine("ERROR: System.Runtime.Intrinsics.Arm.Sha256.IsSupported returns '{0}' while a loaded into the process ReadyToRun image assumes the value being '{1}'", System.Runtime.Intrinsics.Arm.Sha256.IsSupported, Helper_System_Runtime_Intrinsics_Arm_Sha256.IsSupported); + } + + if (System.Runtime.Intrinsics.Arm.Sha256.Arm64.IsSupported != Helper_System_Runtime_Intrinsics_Arm_Sha256_Arm64.IsSupported) + { + success = false; + Console.WriteLine("ERROR: System.Runtime.Intrinsics.Arm.Sha256.Arm64.IsSupported returns '{0}' while a loaded into the process ReadyToRun image assumes the value being '{1}'", System.Runtime.Intrinsics.Arm.Sha256.Arm64.IsSupported, Helper_System_Runtime_Intrinsics_Arm_Sha256_Arm64.IsSupported); + } + + return success; + } + } +} diff --git a/src/tests/readytorun/Runtime_60035/Runtime_60035.csproj b/src/tests/readytorun/Runtime_60035/Runtime_60035.csproj new file mode 100644 index 0000000000000..b3a1301af8108 --- /dev/null +++ b/src/tests/readytorun/Runtime_60035/Runtime_60035.csproj @@ -0,0 +1,238 @@ + + + + Exe + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +