Revert "Check E-Core with Leaf 1Ah"

This reverts commit d77b43937911b33bf39175e45e3d9d97aa949617.
This commit is contained in:
Yasumasa Suenaga 2026-01-24 11:11:01 +09:00
parent d77b439379
commit fa7d239df7
2 changed files with 5 additions and 34 deletions

View File

@ -141,7 +141,7 @@ class VM_Version_StubGenerator: public StubCodeGenerator {
const uint32_t CPU_FAMILY_486 = (4 << CPU_FAMILY_SHIFT);
bool use_evex = FLAG_IS_DEFAULT(UseAVX) || (UseAVX > 2);
Label detect_486, cpu486, detect_586, std_cpuid1, std_cpuid4, std_cpuidb, std_cpuid24, std_cpuid29;
Label detect_486, cpu486, detect_586, std_cpuid1, std_cpuid4, std_cpuid24, std_cpuid29;
Label sef_cpuid, sefsl1_cpuid, ext_cpuid, ext_cpuid1, ext_cpuid5, ext_cpuid7;
Label ext_cpuid8, done, wrapup, vector_save_restore, apx_save_restore_warning;
Label legacy_setup, save_restore_except, legacy_save_restore, start_simd_check;
@ -215,25 +215,11 @@ class VM_Version_StubGenerator: public StubCodeGenerator {
__ movl(Address(rsi,12), rdx);
__ cmpl(rax, 0xa); // Is cpuid(0xB) supported?
__ jcc(Assembler::belowEqual, std_cpuid4);
__ cmpl(rax, 0x19); // Is cpuid(0x1A) supported?
__ jccb(Assembler::belowEqual, std_cpuidb);
//
// cpuid(0x1A) Native Model ID
//
__ movl(rax, 0x1A);
__ xorl(rcx, rcx); // must be 0
__ cpuid();
__ lea(rsi, Address(rbp, in_bytes(VM_Version::std_cpuid1a_offset())));
__ movl(Address(rsi, 0), rax);
__ jccb(Assembler::belowEqual, std_cpuid4);
//
// cpuid(0xB) Processor Topology
//
__ bind(std_cpuidb);
__ movl(rax, 0xb);
__ xorl(rcx, rcx); // Threads level
__ cpuid();
@ -935,7 +921,8 @@ void VM_Version::get_processor_features() {
// Check if processor has Intel Ecore
if (FLAG_IS_DEFAULT(EnableX86ECoreOpts) && is_intel() && is_intel_server_family() &&
(_cpuid_info.std_cpuid1a_eax.bits.core_type == 0x20 /* Atom (E-Core) */ || supports_hybrid())) {
(supports_hybrid() ||
_model == 0xAF /* Xeon 6 E-cores (Sierra Forest) */ )) {
FLAG_SET_DEFAULT(EnableX86ECoreOpts, true);
}

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 1997, 2026, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1997, 2025, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@ -306,14 +306,6 @@ class VM_Version : public Abstract_VM_Version {
} bits;
};
union StdCpuid1AEax {
uint32_t value;
struct {
uint32_t core_native_model_id : 24,
core_type : 8;
} bits;
};
union StdCpuidEax29Ecx0 {
uint32_t value;
struct {
@ -602,13 +594,6 @@ protected:
SefCpuid7SubLeaf1Eax sefsl1_cpuid7_eax;
SefCpuid7SubLeaf1Edx sefsl1_cpuid7_edx;
// cpuid function 1A (Native Model ID Enumeration)
// eax = 0x1A, ecx = 0
StdCpuid1AEax std_cpuid1a_eax;
uint32_t std_cpuid1a_ebx; // unused currently
uint32_t std_cpuid1a_ecx; // unused currently
uint32_t std_cpuid1a_edx; // unused currently
// cpuid function 24 converged vector ISA main leaf
// eax = 24, ecx = 0
StdCpuid24MainLeafEax std_cpuid24_eax;
@ -737,7 +722,6 @@ public:
// Offsets for cpuid asm stub
static ByteSize std_cpuid0_offset() { return byte_offset_of(CpuidInfo, std_max_function); }
static ByteSize std_cpuid1_offset() { return byte_offset_of(CpuidInfo, std_cpuid1_eax); }
static ByteSize std_cpuid1a_offset() { return byte_offset_of(CpuidInfo, std_cpuid1a_eax); }
static ByteSize std_cpuid24_offset() { return byte_offset_of(CpuidInfo, std_cpuid24_eax); }
static ByteSize std_cpuid29_offset() { return byte_offset_of(CpuidInfo, std_cpuid29_ebx); }
static ByteSize dcp_cpuid4_offset() { return byte_offset_of(CpuidInfo, dcp_cpuid4_eax); }