| Index: src/cpu.cc
|
| diff --git a/src/cpu.cc b/src/cpu.cc
|
| index 8d9afd84ae444c1288d7ad3205ea51293932638a..eb64271ca23b2a475b466a3b6b2066142535f32c 100644
|
| --- a/src/cpu.cc
|
| +++ b/src/cpu.cc
|
| @@ -300,6 +300,10 @@ CPU::CPU() : stepping_(0),
|
| has_sse42_ = (cpu_info[2] & 0x00100000) != 0;
|
| }
|
|
|
| +#if V8_HOST_ARCH_IA32
|
| + // SAHF is always available in compat/legacy mode,
|
| + has_sahf_ = true;
|
| +#else
|
| // Query extended IDs.
|
| __cpuid(cpu_info, 0x80000000);
|
| unsigned num_ext_ids = cpu_info[0];
|
| @@ -307,14 +311,10 @@ CPU::CPU() : stepping_(0),
|
| // Interpret extended CPU feature information.
|
| if (num_ext_ids > 0x80000000) {
|
| __cpuid(cpu_info, 0x80000001);
|
| - // SAHF is always available in compat/legacy mode,
|
| - // but must be probed in long mode.
|
| -#if V8_HOST_ARCH_IA32
|
| - has_sahf_ = true;
|
| -#else
|
| + // SAHF must be probed in long mode.
|
| has_sahf_ = (cpu_info[2] & 0x00000001) != 0;
|
| -#endif
|
| }
|
| +#endif
|
|
|
| #elif V8_HOST_ARCH_ARM
|
|
|
|
|