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_X64 | 9 #if V8_TARGET_ARCH_X64 |
10 | 10 |
(...skipping 989 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1000 case 0x11: | 1000 case 0x11: |
1001 AppendToBuffer("vmovsd "); | 1001 AppendToBuffer("vmovsd "); |
1002 current += PrintRightXMMOperand(current); | 1002 current += PrintRightXMMOperand(current); |
1003 AppendToBuffer(",%s", NameOfXMMRegister(regop)); | 1003 AppendToBuffer(",%s", NameOfXMMRegister(regop)); |
1004 break; | 1004 break; |
1005 case 0x2a: | 1005 case 0x2a: |
1006 AppendToBuffer("vcvtlsi2sd %s,%s,", NameOfXMMRegister(regop), | 1006 AppendToBuffer("vcvtlsi2sd %s,%s,", NameOfXMMRegister(regop), |
1007 NameOfXMMRegister(vvvv)); | 1007 NameOfXMMRegister(vvvv)); |
1008 current += PrintRightOperand(current); | 1008 current += PrintRightOperand(current); |
1009 break; | 1009 break; |
| 1010 case 0x2c: |
| 1011 AppendToBuffer("vcvttsd2si%s %s,", vex_w() ? "q" : "", |
| 1012 NameOfCPURegister(regop)); |
| 1013 current += PrintRightXMMOperand(current); |
| 1014 break; |
1010 case 0x58: | 1015 case 0x58: |
1011 AppendToBuffer("vaddsd %s,%s,", NameOfXMMRegister(regop), | 1016 AppendToBuffer("vaddsd %s,%s,", NameOfXMMRegister(regop), |
1012 NameOfXMMRegister(vvvv)); | 1017 NameOfXMMRegister(vvvv)); |
1013 current += PrintRightXMMOperand(current); | 1018 current += PrintRightXMMOperand(current); |
1014 break; | 1019 break; |
1015 case 0x59: | 1020 case 0x59: |
1016 AppendToBuffer("vmulsd %s,%s,", NameOfXMMRegister(regop), | 1021 AppendToBuffer("vmulsd %s,%s,", NameOfXMMRegister(regop), |
1017 NameOfXMMRegister(vvvv)); | 1022 NameOfXMMRegister(vvvv)); |
1018 current += PrintRightXMMOperand(current); | 1023 current += PrintRightXMMOperand(current); |
1019 break; | 1024 break; |
(...skipping 1369 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2389 for (int i = 6 - static_cast<int>(pc - prev_pc); i >= 0; i--) { | 2394 for (int i = 6 - static_cast<int>(pc - prev_pc); i >= 0; i--) { |
2390 fprintf(f, " "); | 2395 fprintf(f, " "); |
2391 } | 2396 } |
2392 fprintf(f, " %s\n", buffer.start()); | 2397 fprintf(f, " %s\n", buffer.start()); |
2393 } | 2398 } |
2394 } | 2399 } |
2395 | 2400 |
2396 } // namespace disasm | 2401 } // namespace disasm |
2397 | 2402 |
2398 #endif // V8_TARGET_ARCH_X64 | 2403 #endif // V8_TARGET_ARCH_X64 |
OLD | NEW |