| 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 3402 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3413 emit(0xF2); | 3413 emit(0xF2); |
| 3414 emit_optional_rex_32(dst, src); | 3414 emit_optional_rex_32(dst, src); |
| 3415 emit(0x0F); | 3415 emit(0x0F); |
| 3416 emit(0xC2); | 3416 emit(0xC2); |
| 3417 emit_sse_operand(dst, src); | 3417 emit_sse_operand(dst, src); |
| 3418 emit(0x01); // LT == 1 | 3418 emit(0x01); // LT == 1 |
| 3419 } | 3419 } |
| 3420 | 3420 |
| 3421 | 3421 |
| 3422 void Assembler::roundsd(XMMRegister dst, XMMRegister src, RoundingMode mode) { | 3422 void Assembler::roundsd(XMMRegister dst, XMMRegister src, RoundingMode mode) { |
| 3423 DCHECK(!IsEnabled(AVX)); |
| 3423 DCHECK(IsEnabled(SSE4_1)); | 3424 DCHECK(IsEnabled(SSE4_1)); |
| 3424 EnsureSpace ensure_space(this); | 3425 EnsureSpace ensure_space(this); |
| 3425 emit(0x66); | 3426 emit(0x66); |
| 3426 emit_optional_rex_32(dst, src); | 3427 emit_optional_rex_32(dst, src); |
| 3427 emit(0x0f); | 3428 emit(0x0f); |
| 3428 emit(0x3a); | 3429 emit(0x3a); |
| 3429 emit(0x0b); | 3430 emit(0x0b); |
| 3430 emit_sse_operand(dst, src); | 3431 emit_sse_operand(dst, src); |
| 3431 // Mask precision exeption. | 3432 // Mask precision exception. |
| 3432 emit(static_cast<byte>(mode) | 0x8); | 3433 emit(static_cast<byte>(mode) | 0x8); |
| 3433 } | 3434 } |
| 3434 | 3435 |
| 3435 | 3436 |
| 3436 void Assembler::movmskpd(Register dst, XMMRegister src) { | 3437 void Assembler::movmskpd(Register dst, XMMRegister src) { |
| 3437 EnsureSpace ensure_space(this); | 3438 EnsureSpace ensure_space(this); |
| 3438 emit(0x66); | 3439 emit(0x66); |
| 3439 emit_optional_rex_32(dst, src); | 3440 emit_optional_rex_32(dst, src); |
| 3440 emit(0x0f); | 3441 emit(0x0f); |
| 3441 emit(0x50); | 3442 emit(0x50); |
| (...skipping 594 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4036 | 4037 |
| 4037 bool RelocInfo::IsInConstantPool() { | 4038 bool RelocInfo::IsInConstantPool() { |
| 4038 return false; | 4039 return false; |
| 4039 } | 4040 } |
| 4040 | 4041 |
| 4041 | 4042 |
| 4042 } // namespace internal | 4043 } // namespace internal |
| 4043 } // namespace v8 | 4044 } // namespace v8 |
| 4044 | 4045 |
| 4045 #endif // V8_TARGET_ARCH_X64 | 4046 #endif // V8_TARGET_ARCH_X64 |
| OLD | NEW |