| OLD | NEW |
| 1 // Copyright 2011 the V8 project authors. All rights reserved. | 1 // Copyright 2011 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 <assert.h> | 5 #include <assert.h> |
| 6 #include <stdarg.h> | 6 #include <stdarg.h> |
| 7 #include <stdio.h> | 7 #include <stdio.h> |
| 8 | 8 |
| 9 #include "src/v8.h" | 9 #include "src/v8.h" |
| 10 | 10 |
| (...skipping 1600 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1611 if (*data == 0x17) { | 1611 if (*data == 0x17) { |
| 1612 data++; | 1612 data++; |
| 1613 int mod, regop, rm; | 1613 int mod, regop, rm; |
| 1614 get_modrm(*data, &mod, ®op, &rm); | 1614 get_modrm(*data, &mod, ®op, &rm); |
| 1615 AppendToBuffer("ptest %s,%s", | 1615 AppendToBuffer("ptest %s,%s", |
| 1616 NameOfXMMRegister(regop), | 1616 NameOfXMMRegister(regop), |
| 1617 NameOfXMMRegister(rm)); | 1617 NameOfXMMRegister(rm)); |
| 1618 data++; | 1618 data++; |
| 1619 } else if (*data == 0x2A) { | 1619 } else if (*data == 0x2A) { |
| 1620 // movntdqa | 1620 // movntdqa |
| 1621 data++; | 1621 UnimplementedInstruction(); |
| 1622 int mod, regop, rm; | |
| 1623 get_modrm(*data, &mod, ®op, &rm); | |
| 1624 AppendToBuffer("movntdqa %s,", NameOfXMMRegister(regop)); | |
| 1625 data += PrintRightOperand(data); | |
| 1626 } else { | 1622 } else { |
| 1627 UnimplementedInstruction(); | 1623 UnimplementedInstruction(); |
| 1628 } | 1624 } |
| 1629 } else if (*data == 0x3A) { | 1625 } else if (*data == 0x3A) { |
| 1630 data++; | 1626 data++; |
| 1631 if (*data == 0x0B) { | 1627 if (*data == 0x0B) { |
| 1632 data++; | 1628 data++; |
| 1633 int mod, regop, rm; | 1629 int mod, regop, rm; |
| 1634 get_modrm(*data, &mod, ®op, &rm); | 1630 get_modrm(*data, &mod, ®op, &rm); |
| 1635 int8_t imm8 = static_cast<int8_t>(data[1]); | 1631 int8_t imm8 = static_cast<int8_t>(data[1]); |
| (...skipping 184 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1820 get_modrm(*data, &mod, ®op, &rm); | 1816 get_modrm(*data, &mod, ®op, &rm); |
| 1821 AppendToBuffer("pand %s,%s", | 1817 AppendToBuffer("pand %s,%s", |
| 1822 NameOfXMMRegister(regop), | 1818 NameOfXMMRegister(regop), |
| 1823 NameOfXMMRegister(rm)); | 1819 NameOfXMMRegister(rm)); |
| 1824 data++; | 1820 data++; |
| 1825 } else if (*data == 0xE7) { | 1821 } else if (*data == 0xE7) { |
| 1826 data++; | 1822 data++; |
| 1827 int mod, regop, rm; | 1823 int mod, regop, rm; |
| 1828 get_modrm(*data, &mod, ®op, &rm); | 1824 get_modrm(*data, &mod, ®op, &rm); |
| 1829 if (mod == 3) { | 1825 if (mod == 3) { |
| 1830 AppendToBuffer("movntdq "); | 1826 // movntdq |
| 1831 data += PrintRightOperand(data); | 1827 UnimplementedInstruction(); |
| 1832 AppendToBuffer(",%s", NameOfXMMRegister(regop)); | |
| 1833 } else { | 1828 } else { |
| 1834 UnimplementedInstruction(); | 1829 UnimplementedInstruction(); |
| 1835 } | 1830 } |
| 1836 } else if (*data == 0xEF) { | 1831 } else if (*data == 0xEF) { |
| 1837 data++; | 1832 data++; |
| 1838 int mod, regop, rm; | 1833 int mod, regop, rm; |
| 1839 get_modrm(*data, &mod, ®op, &rm); | 1834 get_modrm(*data, &mod, ®op, &rm); |
| 1840 AppendToBuffer("pxor %s,%s", | 1835 AppendToBuffer("pxor %s,%s", |
| 1841 NameOfXMMRegister(regop), | 1836 NameOfXMMRegister(regop), |
| 1842 NameOfXMMRegister(rm)); | 1837 NameOfXMMRegister(rm)); |
| (...skipping 409 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2252 fprintf(f, " "); | 2247 fprintf(f, " "); |
| 2253 } | 2248 } |
| 2254 fprintf(f, " %s\n", buffer.start()); | 2249 fprintf(f, " %s\n", buffer.start()); |
| 2255 } | 2250 } |
| 2256 } | 2251 } |
| 2257 | 2252 |
| 2258 | 2253 |
| 2259 } // namespace disasm | 2254 } // namespace disasm |
| 2260 | 2255 |
| 2261 #endif // V8_TARGET_ARCH_IA32 | 2256 #endif // V8_TARGET_ARCH_IA32 |
| OLD | NEW |