Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(789)

Unified Diff: src/assembler-ia32.h

Issue 27046: Patch (SSE3) for faster To(U)Int32 conversion in bit (Closed) Base URL: http://v8.googlecode.com/svn/branches/bleeding_edge/
Patch Set: '' Created 11 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « src/api.cc ('k') | src/assembler-ia32.cc » ('j') | src/v8.cc » ('J')
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/assembler-ia32.h
===================================================================
--- src/assembler-ia32.h (revision 1360)
+++ src/assembler-ia32.h (working copy)
@@ -347,14 +347,14 @@
// Feature flags bit positions. They are mostly based on the CPUID spec.
// (We assign CPUID itself to one of the currently reserved bits --
// feel free to change this if needed.)
- enum Feature { SSE2 = 26, CMOV = 15, RDTSC = 4, CPUID = 10 };
+ enum Feature { SSE3 = 32, SSE2 = 26, CMOV = 15, RDTSC = 4, CPUID = 10 };
// Detect features of the target CPU. Set safe defaults if the serializer
// is enabled (snapshots must be portable).
static void Probe();
// Check whether a feature is supported by the target CPU.
- static bool IsSupported(Feature f) { return supported_ & (1 << f); }
+ static bool IsSupported(Feature f) { return supported_ & (1UL << f); }
// Check whether a feature is currently enabled.
- static bool IsEnabled(Feature f) { return enabled_ & (1 << f); }
+ static bool IsEnabled(Feature f) { return enabled_ & (1UL << f); }
// Enable a specified feature within a scope.
class Scope BASE_EMBEDDED {
#ifdef DEBUG
@@ -362,19 +362,19 @@
explicit Scope(Feature f) {
ASSERT(CpuFeatures::IsSupported(f));
old_enabled_ = CpuFeatures::enabled_;
- CpuFeatures::enabled_ |= (1 << f);
+ CpuFeatures::enabled_ |= (1UL << f);
}
~Scope() { CpuFeatures::enabled_ = old_enabled_; }
private:
- uint32_t old_enabled_;
+ uint64_t old_enabled_;
#else
public:
explicit Scope(Feature f) {}
#endif
};
private:
- static uint32_t supported_;
- static uint32_t enabled_;
+ static uint64_t supported_;
+ static uint64_t enabled_;
};
@@ -635,6 +635,8 @@
void fistp_s(const Operand& adr);
void fistp_d(const Operand& adr);
+ void fisttp_s(const Operand& adr);
+
void fabs();
void fchs();
@@ -663,6 +665,7 @@
void fcompp();
void fnstsw_ax();
void fwait();
+ void fnclex();
void frndint();
« no previous file with comments | « src/api.cc ('k') | src/assembler-ia32.cc » ('j') | src/v8.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698