| 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 938 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 949 current += PrintRightOperand(current); | 949 current += PrintRightOperand(current); |
| 950 AppendToBuffer(",%s", NameOfCPURegister(vvvv)); | 950 AppendToBuffer(",%s", NameOfCPURegister(vvvv)); |
| 951 break; | 951 break; |
| 952 default: | 952 default: |
| 953 UnimplementedInstruction(); | 953 UnimplementedInstruction(); |
| 954 } | 954 } |
| 955 } else if (vex_f3() && vex_0f()) { | 955 } else if (vex_f3() && vex_0f()) { |
| 956 int mod, regop, rm, vvvv = vex_vreg(); | 956 int mod, regop, rm, vvvv = vex_vreg(); |
| 957 get_modrm(*current, &mod, ®op, &rm); | 957 get_modrm(*current, &mod, ®op, &rm); |
| 958 switch (opcode) { | 958 switch (opcode) { |
| 959 case 0x10: |
| 960 AppendToBuffer("vmovss %s,", NameOfXMMRegister(regop)); |
| 961 current += PrintRightXMMOperand(current); |
| 962 break; |
| 963 case 0x11: |
| 964 AppendToBuffer("vmovss "); |
| 965 current += PrintRightXMMOperand(current); |
| 966 AppendToBuffer(",%s", NameOfXMMRegister(regop)); |
| 967 break; |
| 959 case 0x58: | 968 case 0x58: |
| 960 AppendToBuffer("vaddss %s,%s,", NameOfXMMRegister(regop), | 969 AppendToBuffer("vaddss %s,%s,", NameOfXMMRegister(regop), |
| 961 NameOfXMMRegister(vvvv)); | 970 NameOfXMMRegister(vvvv)); |
| 962 current += PrintRightXMMOperand(current); | 971 current += PrintRightXMMOperand(current); |
| 963 break; | 972 break; |
| 964 case 0x59: | 973 case 0x59: |
| 965 AppendToBuffer("vmulss %s,%s,", NameOfXMMRegister(regop), | 974 AppendToBuffer("vmulss %s,%s,", NameOfXMMRegister(regop), |
| 966 NameOfXMMRegister(vvvv)); | 975 NameOfXMMRegister(vvvv)); |
| 967 current += PrintRightXMMOperand(current); | 976 current += PrintRightXMMOperand(current); |
| 968 break; | 977 break; |
| (...skipping 1439 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2408 for (int i = 6 - static_cast<int>(pc - prev_pc); i >= 0; i--) { | 2417 for (int i = 6 - static_cast<int>(pc - prev_pc); i >= 0; i--) { |
| 2409 fprintf(f, " "); | 2418 fprintf(f, " "); |
| 2410 } | 2419 } |
| 2411 fprintf(f, " %s\n", buffer.start()); | 2420 fprintf(f, " %s\n", buffer.start()); |
| 2412 } | 2421 } |
| 2413 } | 2422 } |
| 2414 | 2423 |
| 2415 } // namespace disasm | 2424 } // namespace disasm |
| 2416 | 2425 |
| 2417 #endif // V8_TARGET_ARCH_X64 | 2426 #endif // V8_TARGET_ARCH_X64 |
| OLD | NEW |