| 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 #if V8_TARGET_ARCH_IA32 | 9 #if V8_TARGET_ARCH_IA32 |
| 10 | 10 |
| (...skipping 1612 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1623 NameOfXMMRegister(rm)); | 1623 NameOfXMMRegister(rm)); |
| 1624 data++; | 1624 data++; |
| 1625 } else if (*data == 0x2A) { | 1625 } else if (*data == 0x2A) { |
| 1626 // movntdqa | 1626 // movntdqa |
| 1627 UnimplementedInstruction(); | 1627 UnimplementedInstruction(); |
| 1628 } else { | 1628 } else { |
| 1629 UnimplementedInstruction(); | 1629 UnimplementedInstruction(); |
| 1630 } | 1630 } |
| 1631 } else if (*data == 0x3A) { | 1631 } else if (*data == 0x3A) { |
| 1632 data++; | 1632 data++; |
| 1633 if (*data == 0x0B) { | 1633 if (*data == 0x0A) { |
| 1634 data++; | 1634 data++; |
| 1635 int mod, regop, rm; | 1635 int mod, regop, rm; |
| 1636 get_modrm(*data, &mod, ®op, &rm); | 1636 get_modrm(*data, &mod, ®op, &rm); |
| 1637 int8_t imm8 = static_cast<int8_t>(data[1]); |
| 1638 AppendToBuffer("roundss %s,%s,%d", NameOfXMMRegister(regop), |
| 1639 NameOfXMMRegister(rm), static_cast<int>(imm8)); |
| 1640 data += 2; |
| 1641 } else if (*data == 0x0B) { |
| 1642 data++; |
| 1643 int mod, regop, rm; |
| 1644 get_modrm(*data, &mod, ®op, &rm); |
| 1637 int8_t imm8 = static_cast<int8_t>(data[1]); | 1645 int8_t imm8 = static_cast<int8_t>(data[1]); |
| 1638 AppendToBuffer("roundsd %s,%s,%d", | 1646 AppendToBuffer("roundsd %s,%s,%d", |
| 1639 NameOfXMMRegister(regop), | 1647 NameOfXMMRegister(regop), |
| 1640 NameOfXMMRegister(rm), | 1648 NameOfXMMRegister(rm), |
| 1641 static_cast<int>(imm8)); | 1649 static_cast<int>(imm8)); |
| 1642 data += 2; | 1650 data += 2; |
| 1643 } else if (*data == 0x16) { | 1651 } else if (*data == 0x16) { |
| 1644 data++; | 1652 data++; |
| 1645 int mod, regop, rm; | 1653 int mod, regop, rm; |
| 1646 get_modrm(*data, &mod, &rm, ®op); | 1654 get_modrm(*data, &mod, &rm, ®op); |
| (...skipping 606 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2253 fprintf(f, " "); | 2261 fprintf(f, " "); |
| 2254 } | 2262 } |
| 2255 fprintf(f, " %s\n", buffer.start()); | 2263 fprintf(f, " %s\n", buffer.start()); |
| 2256 } | 2264 } |
| 2257 } | 2265 } |
| 2258 | 2266 |
| 2259 | 2267 |
| 2260 } // namespace disasm | 2268 } // namespace disasm |
| 2261 | 2269 |
| 2262 #endif // V8_TARGET_ARCH_IA32 | 2270 #endif // V8_TARGET_ARCH_IA32 |
| OLD | NEW |