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 1568 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1579 | 1579 |
1580 | 1580 |
1581 void Assembler::movsxbq(Register dst, const Operand& src) { | 1581 void Assembler::movsxbq(Register dst, const Operand& src) { |
1582 EnsureSpace ensure_space(this); | 1582 EnsureSpace ensure_space(this); |
1583 emit_rex_64(dst, src); | 1583 emit_rex_64(dst, src); |
1584 emit(0x0F); | 1584 emit(0x0F); |
1585 emit(0xBE); | 1585 emit(0xBE); |
1586 emit_operand(dst, src); | 1586 emit_operand(dst, src); |
1587 } | 1587 } |
1588 | 1588 |
1589 void Assembler::movsxbq(Register dst, Register src) { | |
1590 EnsureSpace ensure_space(this); | |
1591 emit_rex_64(dst, src); | |
1592 emit(0x0F); | |
1593 emit(0xBE); | |
1594 emit_modrm(dst, src); | |
1595 } | |
1596 | 1589 |
1597 void Assembler::movsxwl(Register dst, Register src) { | 1590 void Assembler::movsxwl(Register dst, Register src) { |
1598 EnsureSpace ensure_space(this); | 1591 EnsureSpace ensure_space(this); |
1599 emit_optional_rex_32(dst, src); | 1592 emit_optional_rex_32(dst, src); |
1600 emit(0x0F); | 1593 emit(0x0F); |
1601 emit(0xBF); | 1594 emit(0xBF); |
1602 emit_modrm(dst, src); | 1595 emit_modrm(dst, src); |
1603 } | 1596 } |
1604 | 1597 |
1605 | 1598 |
1606 void Assembler::movsxwl(Register dst, const Operand& src) { | 1599 void Assembler::movsxwl(Register dst, const Operand& src) { |
1607 EnsureSpace ensure_space(this); | 1600 EnsureSpace ensure_space(this); |
1608 emit_optional_rex_32(dst, src); | 1601 emit_optional_rex_32(dst, src); |
1609 emit(0x0F); | 1602 emit(0x0F); |
1610 emit(0xBF); | 1603 emit(0xBF); |
1611 emit_operand(dst, src); | 1604 emit_operand(dst, src); |
1612 } | 1605 } |
1613 | 1606 |
1614 | 1607 |
1615 void Assembler::movsxwq(Register dst, const Operand& src) { | 1608 void Assembler::movsxwq(Register dst, const Operand& src) { |
1616 EnsureSpace ensure_space(this); | 1609 EnsureSpace ensure_space(this); |
1617 emit_rex_64(dst, src); | 1610 emit_rex_64(dst, src); |
1618 emit(0x0F); | 1611 emit(0x0F); |
1619 emit(0xBF); | 1612 emit(0xBF); |
1620 emit_operand(dst, src); | 1613 emit_operand(dst, src); |
1621 } | 1614 } |
1622 | 1615 |
1623 void Assembler::movsxwq(Register dst, Register src) { | |
1624 EnsureSpace ensure_space(this); | |
1625 emit_rex_64(dst, src); | |
1626 emit(0x0F); | |
1627 emit(0xBF); | |
1628 emit_modrm(dst, src); | |
1629 } | |
1630 | 1616 |
1631 void Assembler::movsxlq(Register dst, Register src) { | 1617 void Assembler::movsxlq(Register dst, Register src) { |
1632 EnsureSpace ensure_space(this); | 1618 EnsureSpace ensure_space(this); |
1633 emit_rex_64(dst, src); | 1619 emit_rex_64(dst, src); |
1634 emit(0x63); | 1620 emit(0x63); |
1635 emit_modrm(dst, src); | 1621 emit_modrm(dst, src); |
1636 } | 1622 } |
1637 | 1623 |
1638 | 1624 |
1639 void Assembler::movsxlq(Register dst, const Operand& src) { | 1625 void Assembler::movsxlq(Register dst, const Operand& src) { |
(...skipping 2985 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4625 | 4611 |
4626 bool RelocInfo::IsInConstantPool() { | 4612 bool RelocInfo::IsInConstantPool() { |
4627 return false; | 4613 return false; |
4628 } | 4614 } |
4629 | 4615 |
4630 | 4616 |
4631 } // namespace internal | 4617 } // namespace internal |
4632 } // namespace v8 | 4618 } // namespace v8 |
4633 | 4619 |
4634 #endif // V8_TARGET_ARCH_X64 | 4620 #endif // V8_TARGET_ARCH_X64 |
OLD | NEW |