Remove SSE2 feature checks from x64 code (it is always on)
BUG= Review URL: https://codereview.chromium.org/13928006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14184 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
This commit is contained in:
parent
bf10fdcdd1
commit
ea2d9e387d
@ -150,9 +150,8 @@ void CpuFeatures::Probe() {
|
||||
found_by_runtime_probing_only_
|
||||
= probed_features & ~kDefaultCpuFeatures & ~platform_features;
|
||||
|
||||
// SSE2 and CMOV must be available on an X64 CPU.
|
||||
// CMOV must be available on an X64 CPU.
|
||||
ASSERT(IsSupported(CPUID));
|
||||
ASSERT(IsSupported(SSE2));
|
||||
ASSERT(IsSupported(CMOV));
|
||||
|
||||
delete memory;
|
||||
|
@ -448,7 +448,7 @@ class Operand BASE_EMBEDDED {
|
||||
// CpuFeatureScope fscope(assembler, SSE3);
|
||||
// // Generate SSE3 floating point code.
|
||||
// } else {
|
||||
// // Generate standard x87 or SSE2 floating point code.
|
||||
// // Generate standard SSE2 floating point code.
|
||||
// }
|
||||
class CpuFeatures : public AllStatic {
|
||||
public:
|
||||
@ -459,7 +459,6 @@ class CpuFeatures : public AllStatic {
|
||||
// Check whether a feature is supported by the target CPU.
|
||||
static bool IsSupported(CpuFeature f) {
|
||||
ASSERT(initialized_);
|
||||
if (f == SSE2 && !FLAG_enable_sse2) return false;
|
||||
if (f == SSE3 && !FLAG_enable_sse3) return false;
|
||||
if (f == SSE4_1 && !FLAG_enable_sse4_1) return false;
|
||||
if (f == CMOV && !FLAG_enable_cmov) return false;
|
||||
@ -480,11 +479,11 @@ class CpuFeatures : public AllStatic {
|
||||
}
|
||||
|
||||
private:
|
||||
// Safe defaults include SSE2 and CMOV for X64. It is always available, if
|
||||
// Safe defaults include CMOV for X64. It is always available, if
|
||||
// anyone checks, but they shouldn't need to check.
|
||||
// The required user mode extensions in X64 are (from AMD64 ABI Table A.1):
|
||||
// fpu, tsc, cx8, cmov, mmx, sse, sse2, fxsr, syscall
|
||||
static const uint64_t kDefaultCpuFeatures = (1 << SSE2 | 1 << CMOV);
|
||||
static const uint64_t kDefaultCpuFeatures = (1 << CMOV);
|
||||
|
||||
#ifdef DEBUG
|
||||
static bool initialized_;
|
||||
|
@ -899,7 +899,6 @@ void MacroAssembler::PushCallerSaved(SaveFPRegsMode fp_mode,
|
||||
}
|
||||
// R12 to r15 are callee save on all platforms.
|
||||
if (fp_mode == kSaveFPRegs) {
|
||||
CpuFeatureScope scope(this, SSE2);
|
||||
subq(rsp, Immediate(kDoubleSize * XMMRegister::kMaxNumRegisters));
|
||||
for (int i = 0; i < XMMRegister::kMaxNumRegisters; i++) {
|
||||
XMMRegister reg = XMMRegister::from_code(i);
|
||||
@ -914,7 +913,6 @@ void MacroAssembler::PopCallerSaved(SaveFPRegsMode fp_mode,
|
||||
Register exclusion2,
|
||||
Register exclusion3) {
|
||||
if (fp_mode == kSaveFPRegs) {
|
||||
CpuFeatureScope scope(this, SSE2);
|
||||
for (int i = 0; i < XMMRegister::kMaxNumRegisters; i++) {
|
||||
XMMRegister reg = XMMRegister::from_code(i);
|
||||
movsd(reg, Operand(rsp, i * kDoubleSize));
|
||||
|
Loading…
Reference in New Issue
Block a user