| 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 1404 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1415 AppendToBuffer("%s", f0mnem); | 1415 AppendToBuffer("%s", f0mnem); |
| 1416 data += 2; | 1416 data += 2; |
| 1417 } else if (f0byte == 0x28) { | 1417 } else if (f0byte == 0x28) { |
| 1418 data += 2; | 1418 data += 2; |
| 1419 int mod, regop, rm; | 1419 int mod, regop, rm; |
| 1420 get_modrm(*data, &mod, ®op, &rm); | 1420 get_modrm(*data, &mod, ®op, &rm); |
| 1421 AppendToBuffer("movaps %s,%s", | 1421 AppendToBuffer("movaps %s,%s", |
| 1422 NameOfXMMRegister(regop), | 1422 NameOfXMMRegister(regop), |
| 1423 NameOfXMMRegister(rm)); | 1423 NameOfXMMRegister(rm)); |
| 1424 data++; | 1424 data++; |
| 1425 } else if (f0byte == 0x10 || f0byte == 0x11) { |
| 1426 data += 2; |
| 1427 // movups xmm, xmm/m128 |
| 1428 // movups xmm/m128, xmm |
| 1429 int mod, regop, rm; |
| 1430 get_modrm(*data, &mod, ®op, &rm); |
| 1431 AppendToBuffer("movups "); |
| 1432 if (f0byte == 0x11) { |
| 1433 data += PrintRightXMMOperand(data); |
| 1434 AppendToBuffer(",%s", NameOfXMMRegister(regop)); |
| 1435 } else { |
| 1436 AppendToBuffer("%s,", NameOfXMMRegister(regop)); |
| 1437 data += PrintRightXMMOperand(data); |
| 1438 } |
| 1425 } else if (f0byte == 0x2e) { | 1439 } else if (f0byte == 0x2e) { |
| 1426 data += 2; | 1440 data += 2; |
| 1427 int mod, regop, rm; | 1441 int mod, regop, rm; |
| 1428 get_modrm(*data, &mod, ®op, &rm); | 1442 get_modrm(*data, &mod, ®op, &rm); |
| 1429 AppendToBuffer("ucomiss %s,", NameOfXMMRegister(regop)); | 1443 AppendToBuffer("ucomiss %s,", NameOfXMMRegister(regop)); |
| 1430 data += PrintRightXMMOperand(data); | 1444 data += PrintRightXMMOperand(data); |
| 1431 } else if (f0byte >= 0x53 && f0byte <= 0x5F) { | 1445 } else if (f0byte >= 0x53 && f0byte <= 0x5F) { |
| 1432 const char* const pseudo_op[] = { | 1446 const char* const pseudo_op[] = { |
| 1433 "rcpps", | 1447 "rcpps", |
| 1434 "andps", | 1448 "andps", |
| (...skipping 886 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2321 fprintf(f, " "); | 2335 fprintf(f, " "); |
| 2322 } | 2336 } |
| 2323 fprintf(f, " %s\n", buffer.start()); | 2337 fprintf(f, " %s\n", buffer.start()); |
| 2324 } | 2338 } |
| 2325 } | 2339 } |
| 2326 | 2340 |
| 2327 | 2341 |
| 2328 } // namespace disasm | 2342 } // namespace disasm |
| 2329 | 2343 |
| 2330 #endif // V8_TARGET_ARCH_IA32 | 2344 #endif // V8_TARGET_ARCH_IA32 |
| OLD | NEW |