Index: runtime/vm/assembler_x64.cc |
diff --git a/runtime/vm/assembler_x64.cc b/runtime/vm/assembler_x64.cc |
index a3bc9eb8c15fe663a036e860bdefade0f0f7f230..4bedd21c7ab3951ac3dc08e59a5a6fb3406d7ca3 100644 |
--- a/runtime/vm/assembler_x64.cc |
+++ b/runtime/vm/assembler_x64.cc |
@@ -1129,6 +1129,18 @@ void Assembler::cvtpd2ps(XmmRegister dst, XmmRegister src) { |
} |
+void Assembler::shufpd(XmmRegister dst, XmmRegister src, const Immediate& imm) { |
+ AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
+ EmitUint8(0x66); |
+ EmitREX_RB(dst, src); |
+ EmitUint8(0x0F); |
+ EmitUint8(0xC6); |
+ EmitXmmRegisterOperand(dst & 7, src); |
+ ASSERT(imm.is_uint8()); |
+ EmitUint8(imm.value()); |
+} |
+ |
+ |
void Assembler::comisd(XmmRegister a, XmmRegister b) { |
ASSERT(a <= XMM15); |
ASSERT(b <= XMM15); |