| Index: src/x64/assembler-x64.h
|
| diff --git a/src/x64/assembler-x64.h b/src/x64/assembler-x64.h
|
| index 5deb7ad7c8b301db2f86024ca666ad5a7529f2cb..62a60cc2e1dfcf5fe34b3fb40594c6c5fae36d05 100644
|
| --- a/src/x64/assembler-x64.h
|
| +++ b/src/x64/assembler-x64.h
|
| @@ -1080,6 +1080,8 @@ class Assembler : public AssemblerBase {
|
| void cvttsd2si(Register dst, XMMRegister src);
|
| void cvttss2siq(Register dst, XMMRegister src);
|
| void cvttss2siq(Register dst, const Operand& src);
|
| + void cvtss2siq(Register dst, XMMRegister src);
|
| + void cvtss2siq(Register dst, const Operand& src);
|
| void cvttsd2siq(Register dst, XMMRegister src);
|
| void cvttsd2siq(Register dst, const Operand& src);
|
|
|
| @@ -1100,6 +1102,7 @@ class Assembler : public AssemblerBase {
|
|
|
| void cvtsd2si(Register dst, XMMRegister src);
|
| void cvtsd2siq(Register dst, XMMRegister src);
|
| + void cvtsd2siq(Register dst, const Operand& src);
|
|
|
| void addsd(XMMRegister dst, XMMRegister src);
|
| void addsd(XMMRegister dst, const Operand& src);
|
| @@ -1142,6 +1145,9 @@ class Assembler : public AssemblerBase {
|
| void roundss(XMMRegister dst, XMMRegister src, RoundingMode mode);
|
| void roundsd(XMMRegister dst, XMMRegister src, RoundingMode mode);
|
|
|
| + void ldmxcsr(const Operand& dst);
|
| + void stmxcsr(const Operand& dst);
|
| +
|
| // AVX instruction
|
| void vfmadd132sd(XMMRegister dst, XMMRegister src1, XMMRegister src2) {
|
| vfmasd(0x99, dst, src1, src2);
|
| @@ -1358,6 +1364,11 @@ class Assembler : public AssemblerBase {
|
| vpd(0x73, iop, dst, src);
|
| emit(imm8);
|
| }
|
| + void vpslld(XMMRegister dst, XMMRegister src, byte imm8) {
|
| + XMMRegister iop = {6};
|
| + vpd(0x72, iop, dst, src);
|
| + emit(imm8);
|
| + }
|
| void vcvtss2sd(XMMRegister dst, XMMRegister src1, XMMRegister src2) {
|
| vsd(0x5a, dst, src1, src2, kF3, k0F, kWIG);
|
| }
|
| @@ -1416,6 +1427,14 @@ class Assembler : public AssemblerBase {
|
| XMMRegister idst = {dst.code()};
|
| vsd(0x2c, idst, xmm0, src, kF3, k0F, kW1);
|
| }
|
| + void vcvtss2siq(Register dst, XMMRegister src) {
|
| + XMMRegister idst = {dst.code()};
|
| + vsd(0x2d, idst, xmm0, src, kF3, k0F, kW1);
|
| + }
|
| + void vcvtss2siq(Register dst, const Operand& src) {
|
| + XMMRegister idst = {dst.code()};
|
| + vsd(0x2d, idst, xmm0, src, kF3, k0F, kW1);
|
| + }
|
| void vcvttsd2siq(Register dst, XMMRegister src) {
|
| XMMRegister idst = {dst.code()};
|
| vsd(0x2c, idst, xmm0, src, kF2, k0F, kW1);
|
| @@ -1424,6 +1443,14 @@ class Assembler : public AssemblerBase {
|
| XMMRegister idst = {dst.code()};
|
| vsd(0x2c, idst, xmm0, src, kF2, k0F, kW1);
|
| }
|
| + void vcvtsd2siq(Register dst, XMMRegister src) {
|
| + XMMRegister idst = {dst.code()};
|
| + vsd(0x2d, idst, xmm0, src, kF2, k0F, kW1);
|
| + }
|
| + void vcvtsd2siq(Register dst, const Operand& src) {
|
| + XMMRegister idst = {dst.code()};
|
| + vsd(0x2d, idst, xmm0, src, kF2, k0F, kW1);
|
| + }
|
| void vcvtsd2si(Register dst, XMMRegister src) {
|
| XMMRegister idst = {dst.code()};
|
| vsd(0x2d, idst, xmm0, src, kF2, k0F, kW0);
|
|
|