Index: src/x64/assembler-x64.cc |
diff --git a/src/x64/assembler-x64.cc b/src/x64/assembler-x64.cc |
index 7637b3342e489136587d50f246a68826f84efb84..cafa402fd6ca124a5d8e832655d42934d19819c0 100644 |
--- a/src/x64/assembler-x64.cc |
+++ b/src/x64/assembler-x64.cc |
@@ -3510,6 +3510,46 @@ void Assembler::vsd(byte op, XMMRegister dst, XMMRegister src1, |
} |
+void Assembler::vps(byte op, XMMRegister dst, XMMRegister src1, |
+ XMMRegister src2) { |
+ DCHECK(IsEnabled(AVX)); |
+ EnsureSpace ensure_space(this); |
+ emit_vex_prefix(dst, src1, src2, kL128, kNone, k0F, kWIG); |
+ emit(op); |
+ emit_sse_operand(dst, src2); |
+} |
+ |
+ |
+void Assembler::vps(byte op, XMMRegister dst, XMMRegister src1, |
+ const Operand& src2) { |
+ DCHECK(IsEnabled(AVX)); |
+ EnsureSpace ensure_space(this); |
+ emit_vex_prefix(dst, src1, src2, kL128, kNone, k0F, kWIG); |
+ emit(op); |
+ emit_sse_operand(dst, src2); |
+} |
+ |
+ |
+void Assembler::vpd(byte op, XMMRegister dst, XMMRegister src1, |
+ XMMRegister src2) { |
+ DCHECK(IsEnabled(AVX)); |
+ EnsureSpace ensure_space(this); |
+ emit_vex_prefix(dst, src1, src2, kL128, k66, k0F, kWIG); |
+ emit(op); |
+ emit_sse_operand(dst, src2); |
+} |
+ |
+ |
+void Assembler::vpd(byte op, XMMRegister dst, XMMRegister src1, |
+ const Operand& src2) { |
+ DCHECK(IsEnabled(AVX)); |
+ EnsureSpace ensure_space(this); |
+ emit_vex_prefix(dst, src1, src2, kL128, k66, k0F, kWIG); |
+ emit(op); |
+ emit_sse_operand(dst, src2); |
+} |
+ |
+ |
void Assembler::vucomiss(XMMRegister dst, XMMRegister src) { |
DCHECK(IsEnabled(AVX)); |
EnsureSpace ensure_space(this); |