OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "v8.h" | 5 #include "v8.h" |
6 | 6 |
7 #if V8_TARGET_ARCH_X64 | 7 #if V8_TARGET_ARCH_X64 |
8 | 8 |
9 #include "macro-assembler.h" | 9 #include "macro-assembler.h" |
10 #include "serialize.h" | 10 #include "serialize.h" |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
44 CPU cpu; | 44 CPU cpu; |
45 if (cpu.has_sse41()) { | 45 if (cpu.has_sse41()) { |
46 probed_features |= static_cast<uint64_t>(1) << SSE4_1; | 46 probed_features |= static_cast<uint64_t>(1) << SSE4_1; |
47 } | 47 } |
48 if (cpu.has_sse3()) { | 48 if (cpu.has_sse3()) { |
49 probed_features |= static_cast<uint64_t>(1) << SSE3; | 49 probed_features |= static_cast<uint64_t>(1) << SSE3; |
50 } | 50 } |
51 | 51 |
52 // SSE2 must be available on every x64 CPU. | 52 // SSE2 must be available on every x64 CPU. |
53 ASSERT(cpu.has_sse2()); | 53 ASSERT(cpu.has_sse2()); |
54 probed_features |= static_cast<uint64_t>(1) << SSE2; | |
55 | 54 |
56 // CMOV must be available on every x64 CPU. | 55 // CMOV must be available on every x64 CPU. |
57 ASSERT(cpu.has_cmov()); | 56 ASSERT(cpu.has_cmov()); |
58 probed_features |= static_cast<uint64_t>(1) << CMOV; | 57 probed_features |= static_cast<uint64_t>(1) << CMOV; |
59 | 58 |
60 // SAHF is not generally available in long mode. | 59 // SAHF is not generally available in long mode. |
61 if (cpu.has_sahf()) { | 60 if (cpu.has_sahf()) { |
62 probed_features |= static_cast<uint64_t>(1) << SAHF; | 61 probed_features |= static_cast<uint64_t>(1) << SAHF; |
63 } | 62 } |
64 | 63 |
(...skipping 2928 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2993 | 2992 |
2994 | 2993 |
2995 bool RelocInfo::IsInConstantPool() { | 2994 bool RelocInfo::IsInConstantPool() { |
2996 return false; | 2995 return false; |
2997 } | 2996 } |
2998 | 2997 |
2999 | 2998 |
3000 } } // namespace v8::internal | 2999 } } // namespace v8::internal |
3001 | 3000 |
3002 #endif // V8_TARGET_ARCH_X64 | 3001 #endif // V8_TARGET_ARCH_X64 |
OLD | NEW |