Index: src/ia32/assembler-ia32.cc |
diff --git a/src/ia32/assembler-ia32.cc b/src/ia32/assembler-ia32.cc |
index fb625fb24d7248762dff832f177110f9d2c4d57b..72e2bf8f261ed4d69b79f9159c6d6fe3de79be21 100644 |
--- a/src/ia32/assembler-ia32.cc |
+++ b/src/ia32/assembler-ia32.cc |
@@ -1640,6 +1640,27 @@ void Assembler::fyl2x() { |
} |
+void Assembler::f2xm1() { |
+ EnsureSpace ensure_space(this); |
+ EMIT(0xD9); |
+ EMIT(0xF0); |
+} |
+ |
+ |
+void Assembler::fscale() { |
+ EnsureSpace ensure_space(this); |
+ EMIT(0xD9); |
+ EMIT(0xFD); |
+} |
+ |
+ |
+void Assembler::fninit() { |
+ EnsureSpace ensure_space(this); |
+ EMIT(0xDB); |
+ EMIT(0xE3); |
+} |
+ |
+ |
void Assembler::fadd(int i) { |
EnsureSpace ensure_space(this); |
emit_farith(0xDC, 0xC0, i); |
@@ -2158,6 +2179,19 @@ void Assembler::movd(const Operand& dst, XMMRegister src) { |
} |
+void Assembler::extractps(Register dst, XMMRegister src, byte imm8) { |
+ ASSERT(CpuFeatures::IsSupported(SSE4_1)); |
+ ASSERT(is_uint8(imm8)); |
+ EnsureSpace ensure_space(this); |
+ EMIT(0x66); |
+ EMIT(0x0F); |
+ EMIT(0x3A); |
+ EMIT(0x17); |
+ emit_sse_operand(dst, src); |
+ EMIT(imm8); |
+} |
+ |
+ |
void Assembler::pand(XMMRegister dst, XMMRegister src) { |
ASSERT(CpuFeatures::IsEnabled(SSE2)); |
EnsureSpace ensure_space(this); |