| OLD | NEW |
| 1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "src/x64/assembler-x64.h" | 5 #include "src/x64/assembler-x64.h" |
| 6 | 6 |
| 7 #include <cstring> | 7 #include <cstring> |
| 8 | 8 |
| 9 #if V8_TARGET_ARCH_X64 | 9 #if V8_TARGET_ARCH_X64 |
| 10 | 10 |
| (...skipping 3772 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3783 | 3783 |
| 3784 void Assembler::punpckldq(XMMRegister dst, XMMRegister src) { | 3784 void Assembler::punpckldq(XMMRegister dst, XMMRegister src) { |
| 3785 EnsureSpace ensure_space(this); | 3785 EnsureSpace ensure_space(this); |
| 3786 emit(0x66); | 3786 emit(0x66); |
| 3787 emit_optional_rex_32(dst, src); | 3787 emit_optional_rex_32(dst, src); |
| 3788 emit(0x0F); | 3788 emit(0x0F); |
| 3789 emit(0x62); | 3789 emit(0x62); |
| 3790 emit_sse_operand(dst, src); | 3790 emit_sse_operand(dst, src); |
| 3791 } | 3791 } |
| 3792 | 3792 |
| 3793 void Assembler::punpckldq(XMMRegister dst, const Operand& src) { |
| 3794 EnsureSpace ensure_space(this); |
| 3795 emit(0x66); |
| 3796 emit_optional_rex_32(dst, src); |
| 3797 emit(0x0F); |
| 3798 emit(0x62); |
| 3799 emit_sse_operand(dst, src); |
| 3800 } |
| 3793 | 3801 |
| 3794 void Assembler::punpckhdq(XMMRegister dst, XMMRegister src) { | 3802 void Assembler::punpckhdq(XMMRegister dst, XMMRegister src) { |
| 3795 EnsureSpace ensure_space(this); | 3803 EnsureSpace ensure_space(this); |
| 3796 emit(0x66); | 3804 emit(0x66); |
| 3797 emit_optional_rex_32(dst, src); | 3805 emit_optional_rex_32(dst, src); |
| 3798 emit(0x0F); | 3806 emit(0x0F); |
| 3799 emit(0x6A); | 3807 emit(0x6A); |
| 3800 emit_sse_operand(dst, src); | 3808 emit_sse_operand(dst, src); |
| 3801 } | 3809 } |
| 3802 | 3810 |
| (...skipping 624 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4427 emit(0x38); | 4435 emit(0x38); |
| 4428 emit(0x40); | 4436 emit(0x40); |
| 4429 emit_sse_operand(dst, src); | 4437 emit_sse_operand(dst, src); |
| 4430 } | 4438 } |
| 4431 | 4439 |
| 4432 void Assembler::pmulld(XMMRegister dst, const Operand& src) { | 4440 void Assembler::pmulld(XMMRegister dst, const Operand& src) { |
| 4433 EnsureSpace ensure_space(this); | 4441 EnsureSpace ensure_space(this); |
| 4434 emit(0x66); | 4442 emit(0x66); |
| 4435 emit_optional_rex_32(dst, src); | 4443 emit_optional_rex_32(dst, src); |
| 4436 emit(0x0F); | 4444 emit(0x0F); |
| 4437 emit(0xF4); | 4445 emit(0x38); |
| 4446 emit(0x40); |
| 4438 emit_sse_operand(dst, src); | 4447 emit_sse_operand(dst, src); |
| 4439 } | 4448 } |
| 4440 | 4449 |
| 4441 void Assembler::pmuludq(XMMRegister dst, XMMRegister src) { | 4450 void Assembler::pmuludq(XMMRegister dst, XMMRegister src) { |
| 4442 EnsureSpace ensure_space(this); | 4451 EnsureSpace ensure_space(this); |
| 4443 emit(0x66); | 4452 emit(0x66); |
| 4444 emit_optional_rex_32(dst, src); | 4453 emit_optional_rex_32(dst, src); |
| 4445 emit(0x0F); | 4454 emit(0x0F); |
| 4446 emit(0xF4); | 4455 emit(0xF4); |
| 4447 emit_sse_operand(dst, src); | 4456 emit_sse_operand(dst, src); |
| 4448 } | 4457 } |
| 4449 | 4458 |
| 4450 void Assembler::pmuludq(XMMRegister dst, const Operand& src) { | 4459 void Assembler::pmuludq(XMMRegister dst, const Operand& src) { |
| 4451 EnsureSpace ensure_space(this); | 4460 EnsureSpace ensure_space(this); |
| 4452 emit(0x66); | 4461 emit(0x66); |
| 4453 emit_optional_rex_32(dst, src); | 4462 emit_optional_rex_32(dst, src); |
| 4454 emit(0x0F); | 4463 emit(0x0F); |
| 4455 emit(0xF4); | 4464 emit(0xF4); |
| 4456 emit_sse_operand(dst, src); | 4465 emit_sse_operand(dst, src); |
| 4457 } | 4466 } |
| 4458 | 4467 |
| 4459 void Assembler::punpackldq(XMMRegister dst, XMMRegister src) { | |
| 4460 EnsureSpace ensure_space(this); | |
| 4461 emit(0x66); | |
| 4462 emit_optional_rex_32(dst, src); | |
| 4463 emit(0x0F); | |
| 4464 emit(0x62); | |
| 4465 emit_sse_operand(dst, src); | |
| 4466 } | |
| 4467 | |
| 4468 void Assembler::punpackldq(XMMRegister dst, const Operand& src) { | |
| 4469 EnsureSpace ensure_space(this); | |
| 4470 emit(0x66); | |
| 4471 emit_optional_rex_32(dst, src); | |
| 4472 emit(0x0F); | |
| 4473 emit(0x62); | |
| 4474 emit_sse_operand(dst, src); | |
| 4475 } | |
| 4476 | |
| 4477 void Assembler::psrldq(XMMRegister dst, uint8_t shift) { | 4468 void Assembler::psrldq(XMMRegister dst, uint8_t shift) { |
| 4478 EnsureSpace ensure_space(this); | 4469 EnsureSpace ensure_space(this); |
| 4479 emit(0x66); | 4470 emit(0x66); |
| 4480 emit_optional_rex_32(dst); | 4471 emit_optional_rex_32(dst); |
| 4481 emit(0x0F); | 4472 emit(0x0F); |
| 4482 emit(0x73); | 4473 emit(0x73); |
| 4483 emit_sse_operand(dst); | 4474 emit_sse_operand(dst); |
| 4484 emit(shift); | 4475 emit(shift); |
| 4485 } | 4476 } |
| 4486 | 4477 |
| (...skipping 128 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4615 | 4606 |
| 4616 bool RelocInfo::IsInConstantPool() { | 4607 bool RelocInfo::IsInConstantPool() { |
| 4617 return false; | 4608 return false; |
| 4618 } | 4609 } |
| 4619 | 4610 |
| 4620 | 4611 |
| 4621 } // namespace internal | 4612 } // namespace internal |
| 4622 } // namespace v8 | 4613 } // namespace v8 |
| 4623 | 4614 |
| 4624 #endif // V8_TARGET_ARCH_X64 | 4615 #endif // V8_TARGET_ARCH_X64 |
| OLD | NEW |