| Index: src/x64/assembler-x64.h
|
| diff --git a/src/x64/assembler-x64.h b/src/x64/assembler-x64.h
|
| index 4df1801801458acd7359650f7368a9cb9f128875..d9ea95d09de18f28853e6ae0aebaff58855fb1d8 100644
|
| --- a/src/x64/assembler-x64.h
|
| +++ b/src/x64/assembler-x64.h
|
| @@ -1157,16 +1157,53 @@ class Assembler : public AssemblerBase {
|
| void punpckhdq(XMMRegister dst, XMMRegister src);
|
|
|
| // SSE 4.1 instruction
|
| + void insertps(XMMRegister dst, XMMRegister src, byte imm8);
|
| void extractps(Register dst, XMMRegister src, byte imm8);
|
| -
|
| void pextrd(Register dst, XMMRegister src, int8_t imm8);
|
| -
|
| void pinsrd(XMMRegister dst, Register src, int8_t imm8);
|
| void pinsrd(XMMRegister dst, const Operand& src, int8_t imm8);
|
|
|
| void roundss(XMMRegister dst, XMMRegister src, RoundingMode mode);
|
| void roundsd(XMMRegister dst, XMMRegister src, RoundingMode mode);
|
|
|
| + void cmpps(XMMRegister dst, XMMRegister src, int8_t cmp);
|
| + void cmpeqps(XMMRegister dst, XMMRegister src);
|
| + void cmpltps(XMMRegister dst, XMMRegister src);
|
| + void cmpleps(XMMRegister dst, XMMRegister src);
|
| + void cmpneqps(XMMRegister dst, XMMRegister src);
|
| + void cmpnltps(XMMRegister dst, XMMRegister src);
|
| + void cmpnleps(XMMRegister dst, XMMRegister src);
|
| +
|
| + void minps(XMMRegister dst, XMMRegister src);
|
| + void minps(XMMRegister dst, const Operand& src);
|
| + void maxps(XMMRegister dst, XMMRegister src);
|
| + void maxps(XMMRegister dst, const Operand& src);
|
| + void rcpps(XMMRegister dst, XMMRegister src);
|
| + void rcpps(XMMRegister dst, const Operand& src);
|
| + void rsqrtps(XMMRegister dst, XMMRegister src);
|
| + void rsqrtps(XMMRegister dst, const Operand& src);
|
| + void sqrtps(XMMRegister dst, XMMRegister src);
|
| + void sqrtps(XMMRegister dst, const Operand& src);
|
| + void movups(XMMRegister dst, XMMRegister src);
|
| + void movups(XMMRegister dst, const Operand& src);
|
| + void movups(const Operand& dst, XMMRegister src);
|
| + void paddd(XMMRegister dst, XMMRegister src);
|
| + void paddd(XMMRegister dst, const Operand& src);
|
| + void psubd(XMMRegister dst, XMMRegister src);
|
| + void psubd(XMMRegister dst, const Operand& src);
|
| + void pmulld(XMMRegister dst, XMMRegister src);
|
| + void pmulld(XMMRegister dst, const Operand& src);
|
| + void pmuludq(XMMRegister dst, XMMRegister src);
|
| + void pmuludq(XMMRegister dst, const Operand& src);
|
| + void punpackldq(XMMRegister dst, XMMRegister src);
|
| + void punpackldq(XMMRegister dst, const Operand& src);
|
| + void psrldq(XMMRegister dst, uint8_t shift);
|
| + void pshufd(XMMRegister dst, XMMRegister src, uint8_t shuffle);
|
| + void cvtps2dq(XMMRegister dst, XMMRegister src);
|
| + void cvtps2dq(XMMRegister dst, const Operand& src);
|
| + void cvtdq2ps(XMMRegister dst, XMMRegister src);
|
| + void cvtdq2ps(XMMRegister dst, const Operand& src);
|
| +
|
| // AVX instruction
|
| void vfmadd132sd(XMMRegister dst, XMMRegister src1, XMMRegister src2) {
|
| vfmasd(0x99, dst, src1, src2);
|
| @@ -1943,6 +1980,7 @@ class Assembler : public AssemblerBase {
|
| void emit_sse_operand(Register reg, const Operand& adr);
|
| void emit_sse_operand(XMMRegister dst, Register src);
|
| void emit_sse_operand(Register dst, XMMRegister src);
|
| + void emit_sse_operand(XMMRegister dst);
|
|
|
| // Emit machine code for one of the operations ADD, ADC, SUB, SBC,
|
| // AND, OR, XOR, or CMP. The encodings of these operations are all
|
|
|