| Index: src/ia32/assembler-ia32.cc
|
| diff --git a/src/ia32/assembler-ia32.cc b/src/ia32/assembler-ia32.cc
|
| index c173a3dc5efdee01faeef1da4f69bcc276fbfc0e..8035db8a3f75bc920143c3f5a914a862bc488f02 100644
|
| --- a/src/ia32/assembler-ia32.cc
|
| +++ b/src/ia32/assembler-ia32.cc
|
| @@ -2465,6 +2465,17 @@ void Assembler::pxor(XMMRegister dst, XMMRegister src) {
|
| }
|
|
|
|
|
| +void Assembler::por(XMMRegister dst, XMMRegister src) {
|
| + ASSERT(CpuFeatures::IsEnabled(SSE2));
|
| + EnsureSpace ensure_space(this);
|
| + last_pc_ = pc_;
|
| + EMIT(0x66);
|
| + EMIT(0x0F);
|
| + EMIT(0xEB);
|
| + emit_sse_operand(dst, src);
|
| +}
|
| +
|
| +
|
| void Assembler::ptest(XMMRegister dst, XMMRegister src) {
|
| ASSERT(CpuFeatures::IsEnabled(SSE4_1));
|
| EnsureSpace ensure_space(this);
|
| @@ -2489,6 +2500,51 @@ void Assembler::psllq(XMMRegister reg, int8_t shift) {
|
| }
|
|
|
|
|
| +void Assembler::psllq(XMMRegister dst, XMMRegister src) {
|
| + ASSERT(CpuFeatures::IsEnabled(SSE2));
|
| + EnsureSpace ensure_space(this);
|
| + last_pc_ = pc_;
|
| + EMIT(0x66);
|
| + EMIT(0x0F);
|
| + EMIT(0xF3);
|
| + emit_sse_operand(dst, src);
|
| +}
|
| +
|
| +
|
| +void Assembler::psrlq(XMMRegister reg, int8_t shift) {
|
| + ASSERT(CpuFeatures::IsEnabled(SSE2));
|
| + EnsureSpace ensure_space(this);
|
| + last_pc_ = pc_;
|
| + EMIT(0x66);
|
| + EMIT(0x0F);
|
| + EMIT(0x73);
|
| + emit_sse_operand(edx, reg); // edx == 2
|
| + EMIT(shift);
|
| +}
|
| +
|
| +
|
| +void Assembler::psrlq(XMMRegister dst, XMMRegister src) {
|
| + ASSERT(CpuFeatures::IsEnabled(SSE2));
|
| + EnsureSpace ensure_space(this);
|
| + last_pc_ = pc_;
|
| + EMIT(0x66);
|
| + EMIT(0x0F);
|
| + EMIT(0xD3);
|
| + emit_sse_operand(dst, src);
|
| +}
|
| +
|
| +
|
| +void Assembler::punpckldq(XMMRegister dst, XMMRegister src) {
|
| + ASSERT(CpuFeatures::IsEnabled(SSE2));
|
| + EnsureSpace ensure_space(this);
|
| + last_pc_ = pc_;
|
| + EMIT(0x66);
|
| + EMIT(0x0F);
|
| + EMIT(0x62);
|
| + emit_sse_operand(dst, src);
|
| +}
|
| +
|
| +
|
| void Assembler::pshufd(XMMRegister dst, XMMRegister src, int8_t shuffle) {
|
| ASSERT(CpuFeatures::IsEnabled(SSE2));
|
| EnsureSpace ensure_space(this);
|
|
|