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 1536 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1547 } else if (*data == 0x70) { | 1547 } else if (*data == 0x70) { |
1548 data++; | 1548 data++; |
1549 int mod, regop, rm; | 1549 int mod, regop, rm; |
1550 get_modrm(*data, &mod, ®op, &rm); | 1550 get_modrm(*data, &mod, ®op, &rm); |
1551 int8_t imm8 = static_cast<int8_t>(data[1]); | 1551 int8_t imm8 = static_cast<int8_t>(data[1]); |
1552 AppendToBuffer("pshufd %s,%s,%d", | 1552 AppendToBuffer("pshufd %s,%s,%d", |
1553 NameOfXMMRegister(regop), | 1553 NameOfXMMRegister(regop), |
1554 NameOfXMMRegister(rm), | 1554 NameOfXMMRegister(rm), |
1555 static_cast<int>(imm8)); | 1555 static_cast<int>(imm8)); |
1556 data += 2; | 1556 data += 2; |
| 1557 } else if (*data == 0x62) { |
| 1558 data++; |
| 1559 int mod, regop, rm; |
| 1560 get_modrm(*data, &mod, ®op, &rm); |
| 1561 AppendToBuffer("punpckldq %s,%s", NameOfXMMRegister(regop), |
| 1562 NameOfXMMRegister(rm)); |
| 1563 data++; |
| 1564 } else if (*data == 0x6A) { |
| 1565 data++; |
| 1566 int mod, regop, rm; |
| 1567 get_modrm(*data, &mod, ®op, &rm); |
| 1568 AppendToBuffer("punpckhdq %s,%s", NameOfXMMRegister(regop), |
| 1569 NameOfXMMRegister(rm)); |
| 1570 data++; |
1557 } else if (*data == 0x76) { | 1571 } else if (*data == 0x76) { |
1558 data++; | 1572 data++; |
1559 int mod, regop, rm; | 1573 int mod, regop, rm; |
1560 get_modrm(*data, &mod, ®op, &rm); | 1574 get_modrm(*data, &mod, ®op, &rm); |
1561 AppendToBuffer("pcmpeqd %s,%s", | 1575 AppendToBuffer("pcmpeqd %s,%s", |
1562 NameOfXMMRegister(regop), | 1576 NameOfXMMRegister(regop), |
1563 NameOfXMMRegister(rm)); | 1577 NameOfXMMRegister(rm)); |
1564 data++; | 1578 data++; |
1565 } else if (*data == 0x90) { | 1579 } else if (*data == 0x90) { |
1566 data++; | 1580 data++; |
(...skipping 423 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1990 fprintf(f, " "); | 2004 fprintf(f, " "); |
1991 } | 2005 } |
1992 fprintf(f, " %s\n", buffer.start()); | 2006 fprintf(f, " %s\n", buffer.start()); |
1993 } | 2007 } |
1994 } | 2008 } |
1995 | 2009 |
1996 | 2010 |
1997 } // namespace disasm | 2011 } // namespace disasm |
1998 | 2012 |
1999 #endif // V8_TARGET_ARCH_IA32 | 2013 #endif // V8_TARGET_ARCH_IA32 |
OLD | NEW |