diff --git a/runtime/compiler/x/env/J9CPU.cpp b/runtime/compiler/x/env/J9CPU.cpp index 9c654c8c90b..dea21222422 100644 --- a/runtime/compiler/x/env/J9CPU.cpp +++ b/runtime/compiler/x/env/J9CPU.cpp @@ -156,7 +156,6 @@ J9::X86::CPU::supportsFeature(uint32_t feature) static bool disableCPUDetectionTest = feGetEnv("TR_DisableCPUDetectionTest"); if (!disableCPUDetectionTest) { - TR_ASSERT_FATAL(self()->supports_feature_test(feature), "Old API and new API did not match: processor feature %d\n", feature); TR_ASSERT_FATAL(TRUE == omrsysinfo_processor_has_feature(&_supportedFeatureMasks, feature), "New processor feature usage detected, please add feature %d to _supportedFeatureMasks via TR::CPU::enableFeatureMasks()\n", feature); } @@ -259,113 +258,3 @@ J9::X86::CPU::is_test(OMRProcessorArchitecture p) } return false; } - -bool -J9::X86::CPU::supports_feature_test(uint32_t feature) - { -#if defined(J9VM_OPT_JITSERVER) - if (TR::CompilationInfo::getStream()) - return true; -#endif /* defined(J9VM_OPT_JITSERVER) */ - if (TR::comp()->compileRelocatableCode() || TR::comp()->compilePortableCode()) - return true; - - OMRPORT_ACCESS_FROM_OMRPORT(TR::Compiler->omrPortLib); - bool ans = (TRUE == omrsysinfo_processor_has_feature(&_processorDescription, feature)); - - switch(feature) - { - case OMR_FEATURE_X86_OSXSAVE: - return TR::CodeGenerator::getX86ProcessorInfo().enabledXSAVE() == ans; - case OMR_FEATURE_X86_FPU: - return TR::CodeGenerator::getX86ProcessorInfo().hasBuiltInFPU() == ans; - case OMR_FEATURE_X86_VME: - return TR::CodeGenerator::getX86ProcessorInfo().supportsVirtualModeExtension() == ans; - case OMR_FEATURE_X86_DE: - return TR::CodeGenerator::getX86ProcessorInfo().supportsDebuggingExtension() == ans; - case OMR_FEATURE_X86_PSE: - return TR::CodeGenerator::getX86ProcessorInfo().supportsPageSizeExtension() == ans; - case OMR_FEATURE_X86_TSC: - return TR::CodeGenerator::getX86ProcessorInfo().supportsRDTSCInstruction() == ans; - case OMR_FEATURE_X86_MSR: - return TR::CodeGenerator::getX86ProcessorInfo().hasModelSpecificRegisters() == ans; - case OMR_FEATURE_X86_PAE: - return TR::CodeGenerator::getX86ProcessorInfo().supportsPhysicalAddressExtension() == ans; - case OMR_FEATURE_X86_MCE: - return TR::CodeGenerator::getX86ProcessorInfo().supportsMachineCheckException() == ans; - case OMR_FEATURE_X86_CX8: - return TR::CodeGenerator::getX86ProcessorInfo().supportsCMPXCHG8BInstruction() == ans; - case OMR_FEATURE_X86_CMPXCHG16B: - return TR::CodeGenerator::getX86ProcessorInfo().supportsCMPXCHG16BInstruction() == ans; - case OMR_FEATURE_X86_APIC: - return TR::CodeGenerator::getX86ProcessorInfo().hasAPICHardware() == ans; - case OMR_FEATURE_X86_MTRR: - return TR::CodeGenerator::getX86ProcessorInfo().hasMemoryTypeRangeRegisters() == ans; - case OMR_FEATURE_X86_PGE: - return TR::CodeGenerator::getX86ProcessorInfo().supportsPageGlobalFlag() == ans; - case OMR_FEATURE_X86_MCA: - return TR::CodeGenerator::getX86ProcessorInfo().hasMachineCheckArchitecture() == ans; - case OMR_FEATURE_X86_CMOV: - return TR::CodeGenerator::getX86ProcessorInfo().supportsCMOVInstructions() == ans; - case OMR_FEATURE_X86_PAT: - return TR::CodeGenerator::getX86ProcessorInfo().hasPageAttributeTable() == ans; - case OMR_FEATURE_X86_PSE_36: - return TR::CodeGenerator::getX86ProcessorInfo().has36BitPageSizeExtension() == ans; - case OMR_FEATURE_X86_PSN: - return TR::CodeGenerator::getX86ProcessorInfo().hasProcessorSerialNumber() == ans; - case OMR_FEATURE_X86_CLFSH: - return TR::CodeGenerator::getX86ProcessorInfo().supportsCLFLUSHInstruction() == ans; - case OMR_FEATURE_X86_DS: - return TR::CodeGenerator::getX86ProcessorInfo().supportsDebugTraceStore() == ans; - case OMR_FEATURE_X86_ACPI: - return TR::CodeGenerator::getX86ProcessorInfo().hasACPIRegisters() == ans; - case OMR_FEATURE_X86_MMX: - return TR::CodeGenerator::getX86ProcessorInfo().supportsMMXInstructions() == ans; - case OMR_FEATURE_X86_FXSR: - return TR::CodeGenerator::getX86ProcessorInfo().supportsFastFPSavesRestores() == ans; - case OMR_FEATURE_X86_SSE: - return TR::CodeGenerator::getX86ProcessorInfo().supportsSSE() == ans; - case OMR_FEATURE_X86_SSE2: - return TR::CodeGenerator::getX86ProcessorInfo().supportsSSE2() == ans; - case OMR_FEATURE_X86_SSE3: - return TR::CodeGenerator::getX86ProcessorInfo().supportsSSE3() == ans; - case OMR_FEATURE_X86_SSSE3: - return TR::CodeGenerator::getX86ProcessorInfo().supportsSSSE3() == ans; - case OMR_FEATURE_X86_SSE4_1: - return TR::CodeGenerator::getX86ProcessorInfo().supportsSSE4_1() == ans; - case OMR_FEATURE_X86_SSE4_2: - return TR::CodeGenerator::getX86ProcessorInfo().supportsSSE4_2() == ans; - case OMR_FEATURE_X86_PCLMULQDQ: - return TR::CodeGenerator::getX86ProcessorInfo().supportsCLMUL() == ans; - case OMR_FEATURE_X86_AESNI: - return TR::CodeGenerator::getX86ProcessorInfo().supportsAESNI() == ans; - case OMR_FEATURE_X86_POPCNT: - return TR::CodeGenerator::getX86ProcessorInfo().supportsPOPCNT() == ans; - case OMR_FEATURE_X86_SS: - return TR::CodeGenerator::getX86ProcessorInfo().supportsSelfSnoop() == ans; - case OMR_FEATURE_X86_RTM: - return TR::CodeGenerator::getX86ProcessorInfo().supportsTM() == ans; - case OMR_FEATURE_X86_HTT: - return TR::CodeGenerator::getX86ProcessorInfo().supportsHyperThreading() == ans; - case OMR_FEATURE_X86_HLE: - return TR::CodeGenerator::getX86ProcessorInfo().supportsHLE() == ans; - case OMR_FEATURE_X86_TM: - return TR::CodeGenerator::getX86ProcessorInfo().hasThermalMonitor() == ans; - case OMR_FEATURE_X86_BMI2: - return TR::CodeGenerator::getX86ProcessorInfo().supportsBMI2() == ans; - case OMR_FEATURE_X86_AVX: - case OMR_FEATURE_X86_AVX_VNNI: - case OMR_FEATURE_X86_AVX2: - case OMR_FEATURE_X86_AVX512F: - case OMR_FEATURE_X86_AVX512VL: - case OMR_FEATURE_X86_AVX512BW: - case OMR_FEATURE_X86_AVX512DQ: - case OMR_FEATURE_X86_AVX512CD: - case OMR_FEATURE_X86_FMA: - return true; - default: - return false; - } - return false; - } - diff --git a/runtime/compiler/x/env/J9CPU.hpp b/runtime/compiler/x/env/J9CPU.hpp index 9baba2d4a47..3de12eecbf0 100644 --- a/runtime/compiler/x/env/J9CPU.hpp +++ b/runtime/compiler/x/env/J9CPU.hpp @@ -88,7 +88,6 @@ class OMR_EXTENSIBLE CPU : public J9::CPU uint32_t getX86ProcessorFeatureFlags8(); bool is_test(OMRProcessorArchitecture p); - bool supports_feature_test(uint32_t feature); }; }