| 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 2945 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2956 } else { | 2956 } else { |
| 2957 emit(0x66); | 2957 emit(0x66); |
| 2958 emit_optional_rex_32(dst, src); | 2958 emit_optional_rex_32(dst, src); |
| 2959 emit(0x0F); | 2959 emit(0x0F); |
| 2960 emit(0x28); | 2960 emit(0x28); |
| 2961 emit_sse_operand(dst, src); | 2961 emit_sse_operand(dst, src); |
| 2962 } | 2962 } |
| 2963 } | 2963 } |
| 2964 | 2964 |
| 2965 | 2965 |
| 2966 void Assembler::movupd(XMMRegister dst, const Operand& src) { |
| 2967 EnsureSpace ensure_space(this); |
| 2968 emit(0x66); |
| 2969 emit_optional_rex_32(dst, src); |
| 2970 emit(0x0F); |
| 2971 emit(0x10); |
| 2972 emit_sse_operand(dst, src); |
| 2973 } |
| 2974 |
| 2975 void Assembler::movupd(const Operand& dst, XMMRegister src) { |
| 2976 EnsureSpace ensure_space(this); |
| 2977 emit(0x66); |
| 2978 emit_optional_rex_32(src, dst); |
| 2979 emit(0x0F); |
| 2980 emit(0x11); |
| 2981 emit_sse_operand(src, dst); |
| 2982 } |
| 2983 |
| 2966 void Assembler::addss(XMMRegister dst, XMMRegister src) { | 2984 void Assembler::addss(XMMRegister dst, XMMRegister src) { |
| 2967 EnsureSpace ensure_space(this); | 2985 EnsureSpace ensure_space(this); |
| 2968 emit(0xF3); | 2986 emit(0xF3); |
| 2969 emit_optional_rex_32(dst, src); | 2987 emit_optional_rex_32(dst, src); |
| 2970 emit(0x0F); | 2988 emit(0x0F); |
| 2971 emit(0x58); | 2989 emit(0x58); |
| 2972 emit_sse_operand(dst, src); | 2990 emit_sse_operand(dst, src); |
| 2973 } | 2991 } |
| 2974 | 2992 |
| 2975 | 2993 |
| (...skipping 622 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3598 void Assembler::andpd(XMMRegister dst, XMMRegister src) { | 3616 void Assembler::andpd(XMMRegister dst, XMMRegister src) { |
| 3599 EnsureSpace ensure_space(this); | 3617 EnsureSpace ensure_space(this); |
| 3600 emit(0x66); | 3618 emit(0x66); |
| 3601 emit_optional_rex_32(dst, src); | 3619 emit_optional_rex_32(dst, src); |
| 3602 emit(0x0F); | 3620 emit(0x0F); |
| 3603 emit(0x54); | 3621 emit(0x54); |
| 3604 emit_sse_operand(dst, src); | 3622 emit_sse_operand(dst, src); |
| 3605 } | 3623 } |
| 3606 | 3624 |
| 3607 | 3625 |
| 3626 void Assembler::andpd(XMMRegister dst, const Operand& src) { |
| 3627 EnsureSpace ensure_space(this); |
| 3628 emit(0x66); |
| 3629 emit_optional_rex_32(dst, src); |
| 3630 emit(0x0F); |
| 3631 emit(0x54); |
| 3632 emit_sse_operand(dst, src); |
| 3633 } |
| 3634 |
| 3635 |
| 3608 void Assembler::orpd(XMMRegister dst, XMMRegister src) { | 3636 void Assembler::orpd(XMMRegister dst, XMMRegister src) { |
| 3609 EnsureSpace ensure_space(this); | 3637 EnsureSpace ensure_space(this); |
| 3610 emit(0x66); | 3638 emit(0x66); |
| 3611 emit_optional_rex_32(dst, src); | 3639 emit_optional_rex_32(dst, src); |
| 3612 emit(0x0F); | 3640 emit(0x0F); |
| 3613 emit(0x56); | 3641 emit(0x56); |
| 3614 emit_sse_operand(dst, src); | 3642 emit_sse_operand(dst, src); |
| 3615 } | 3643 } |
| 3616 | 3644 |
| 3617 | 3645 |
| 3646 void Assembler::orpd(XMMRegister dst, const Operand& src) { |
| 3647 EnsureSpace ensure_space(this); |
| 3648 emit(0x66); |
| 3649 emit_optional_rex_32(dst, src); |
| 3650 emit(0x0F); |
| 3651 emit(0x56); |
| 3652 emit_sse_operand(dst, src); |
| 3653 } |
| 3654 |
| 3655 |
| 3618 void Assembler::xorpd(XMMRegister dst, XMMRegister src) { | 3656 void Assembler::xorpd(XMMRegister dst, XMMRegister src) { |
| 3619 DCHECK(!IsEnabled(AVX)); | 3657 DCHECK(!IsEnabled(AVX)); |
| 3620 EnsureSpace ensure_space(this); | 3658 EnsureSpace ensure_space(this); |
| 3621 emit(0x66); | 3659 emit(0x66); |
| 3622 emit_optional_rex_32(dst, src); | 3660 emit_optional_rex_32(dst, src); |
| 3623 emit(0x0F); | 3661 emit(0x0F); |
| 3624 emit(0x57); | 3662 emit(0x57); |
| 3625 emit_sse_operand(dst, src); | 3663 emit_sse_operand(dst, src); |
| 3626 } | 3664 } |
| 3627 | 3665 |
| 3628 | 3666 |
| 3667 void Assembler::xorpd(XMMRegister dst, const Operand& src) { |
| 3668 DCHECK(!IsEnabled(AVX)); |
| 3669 EnsureSpace ensure_space(this); |
| 3670 emit(0x66); |
| 3671 emit_optional_rex_32(dst, src); |
| 3672 emit(0x0F); |
| 3673 emit(0x57); |
| 3674 emit_sse_operand(dst, src); |
| 3675 } |
| 3676 |
| 3677 |
| 3629 void Assembler::sqrtsd(XMMRegister dst, XMMRegister src) { | 3678 void Assembler::sqrtsd(XMMRegister dst, XMMRegister src) { |
| 3630 DCHECK(!IsEnabled(AVX)); | 3679 DCHECK(!IsEnabled(AVX)); |
| 3631 EnsureSpace ensure_space(this); | 3680 EnsureSpace ensure_space(this); |
| 3632 emit(0xF2); | 3681 emit(0xF2); |
| 3633 emit_optional_rex_32(dst, src); | 3682 emit_optional_rex_32(dst, src); |
| 3634 emit(0x0F); | 3683 emit(0x0F); |
| 3635 emit(0x51); | 3684 emit(0x51); |
| 3636 emit_sse_operand(dst, src); | 3685 emit_sse_operand(dst, src); |
| 3637 } | 3686 } |
| 3638 | 3687 |
| (...skipping 927 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4566 | 4615 |
| 4567 bool RelocInfo::IsInConstantPool() { | 4616 bool RelocInfo::IsInConstantPool() { |
| 4568 return false; | 4617 return false; |
| 4569 } | 4618 } |
| 4570 | 4619 |
| 4571 | 4620 |
| 4572 } // namespace internal | 4621 } // namespace internal |
| 4573 } // namespace v8 | 4622 } // namespace v8 |
| 4574 | 4623 |
| 4575 #endif // V8_TARGET_ARCH_X64 | 4624 #endif // V8_TARGET_ARCH_X64 |
| OLD | NEW |