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 3113 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3124 EnsureSpace ensure_space(this); | 3124 EnsureSpace ensure_space(this); |
3125 emit(0xF2); | 3125 emit(0xF2); |
3126 emit_rex_64(dst, src); | 3126 emit_rex_64(dst, src); |
3127 emit(0x0F); | 3127 emit(0x0F); |
3128 emit(0x2A); | 3128 emit(0x2A); |
3129 emit_sse_operand(dst, src); | 3129 emit_sse_operand(dst, src); |
3130 } | 3130 } |
3131 | 3131 |
3132 | 3132 |
3133 void Assembler::cvtss2sd(XMMRegister dst, XMMRegister src) { | 3133 void Assembler::cvtss2sd(XMMRegister dst, XMMRegister src) { |
| 3134 DCHECK(!IsEnabled(AVX)); |
3134 EnsureSpace ensure_space(this); | 3135 EnsureSpace ensure_space(this); |
3135 emit(0xF3); | 3136 emit(0xF3); |
3136 emit_optional_rex_32(dst, src); | 3137 emit_optional_rex_32(dst, src); |
3137 emit(0x0F); | 3138 emit(0x0F); |
3138 emit(0x5A); | 3139 emit(0x5A); |
3139 emit_sse_operand(dst, src); | 3140 emit_sse_operand(dst, src); |
3140 } | 3141 } |
3141 | 3142 |
3142 | 3143 |
3143 void Assembler::cvtss2sd(XMMRegister dst, const Operand& src) { | 3144 void Assembler::cvtss2sd(XMMRegister dst, const Operand& src) { |
| 3145 DCHECK(!IsEnabled(AVX)); |
3144 EnsureSpace ensure_space(this); | 3146 EnsureSpace ensure_space(this); |
3145 emit(0xF3); | 3147 emit(0xF3); |
3146 emit_optional_rex_32(dst, src); | 3148 emit_optional_rex_32(dst, src); |
3147 emit(0x0F); | 3149 emit(0x0F); |
3148 emit(0x5A); | 3150 emit(0x5A); |
3149 emit_sse_operand(dst, src); | 3151 emit_sse_operand(dst, src); |
3150 } | 3152 } |
3151 | 3153 |
3152 | 3154 |
3153 void Assembler::cvtsd2ss(XMMRegister dst, XMMRegister src) { | 3155 void Assembler::cvtsd2ss(XMMRegister dst, XMMRegister src) { |
| 3156 DCHECK(!IsEnabled(AVX)); |
3154 EnsureSpace ensure_space(this); | 3157 EnsureSpace ensure_space(this); |
3155 emit(0xF2); | 3158 emit(0xF2); |
3156 emit_optional_rex_32(dst, src); | 3159 emit_optional_rex_32(dst, src); |
3157 emit(0x0F); | 3160 emit(0x0F); |
3158 emit(0x5A); | 3161 emit(0x5A); |
3159 emit_sse_operand(dst, src); | 3162 emit_sse_operand(dst, src); |
3160 } | 3163 } |
3161 | 3164 |
3162 | 3165 |
3163 void Assembler::cvtsd2ss(XMMRegister dst, const Operand& src) { | 3166 void Assembler::cvtsd2ss(XMMRegister dst, const Operand& src) { |
| 3167 DCHECK(!IsEnabled(AVX)); |
3164 EnsureSpace ensure_space(this); | 3168 EnsureSpace ensure_space(this); |
3165 emit(0xF2); | 3169 emit(0xF2); |
3166 emit_optional_rex_32(dst, src); | 3170 emit_optional_rex_32(dst, src); |
3167 emit(0x0F); | 3171 emit(0x0F); |
3168 emit(0x5A); | 3172 emit(0x5A); |
3169 emit_sse_operand(dst, src); | 3173 emit_sse_operand(dst, src); |
3170 } | 3174 } |
3171 | 3175 |
3172 | 3176 |
3173 void Assembler::cvtsd2si(Register dst, XMMRegister src) { | 3177 void Assembler::cvtsd2si(Register dst, XMMRegister src) { |
(...skipping 843 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4017 | 4021 |
4018 bool RelocInfo::IsInConstantPool() { | 4022 bool RelocInfo::IsInConstantPool() { |
4019 return false; | 4023 return false; |
4020 } | 4024 } |
4021 | 4025 |
4022 | 4026 |
4023 } // namespace internal | 4027 } // namespace internal |
4024 } // namespace v8 | 4028 } // namespace v8 |
4025 | 4029 |
4026 #endif // V8_TARGET_ARCH_X64 | 4030 #endif // V8_TARGET_ARCH_X64 |
OLD | NEW |