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 3233 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3244 EnsureSpace ensure_space(this); | 3244 EnsureSpace ensure_space(this); |
3245 emit(0xF2); | 3245 emit(0xF2); |
3246 emit_optional_rex_32(dst, src); | 3246 emit_optional_rex_32(dst, src); |
3247 emit(0x0F); | 3247 emit(0x0F); |
3248 emit(0xC2); | 3248 emit(0xC2); |
3249 emit_sse_operand(dst, src); | 3249 emit_sse_operand(dst, src); |
3250 emit(0x01); // LT == 1 | 3250 emit(0x01); // LT == 1 |
3251 } | 3251 } |
3252 | 3252 |
3253 | 3253 |
3254 void Assembler::roundsd(XMMRegister dst, XMMRegister src, | 3254 void Assembler::roundsd(XMMRegister dst, XMMRegister src, RoundingMode mode) { |
3255 Assembler::RoundingMode mode) { | |
3256 DCHECK(IsEnabled(SSE4_1)); | 3255 DCHECK(IsEnabled(SSE4_1)); |
3257 EnsureSpace ensure_space(this); | 3256 EnsureSpace ensure_space(this); |
3258 emit(0x66); | 3257 emit(0x66); |
3259 emit_optional_rex_32(dst, src); | 3258 emit_optional_rex_32(dst, src); |
3260 emit(0x0f); | 3259 emit(0x0f); |
3261 emit(0x3a); | 3260 emit(0x3a); |
3262 emit(0x0b); | 3261 emit(0x0b); |
3263 emit_sse_operand(dst, src); | 3262 emit_sse_operand(dst, src); |
3264 // Mask precision exeption. | 3263 // Mask precision exeption. |
3265 emit(static_cast<byte>(mode) | 0x8); | 3264 emit(static_cast<byte>(mode) | 0x8); |
(...skipping 216 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3482 | 3481 |
3483 | 3482 |
3484 bool RelocInfo::IsInConstantPool() { | 3483 bool RelocInfo::IsInConstantPool() { |
3485 return false; | 3484 return false; |
3486 } | 3485 } |
3487 | 3486 |
3488 | 3487 |
3489 } } // namespace v8::internal | 3488 } } // namespace v8::internal |
3490 | 3489 |
3491 #endif // V8_TARGET_ARCH_X64 | 3490 #endif // V8_TARGET_ARCH_X64 |
OLD | NEW |