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 1209 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1220 } | 1220 } |
1221 current += 1; | 1221 current += 1; |
1222 break; | 1222 break; |
1223 default: | 1223 default: |
1224 UnimplementedInstruction(); | 1224 UnimplementedInstruction(); |
1225 } | 1225 } |
1226 } else if (vex_none() && vex_0f()) { | 1226 } else if (vex_none() && vex_0f()) { |
1227 int mod, regop, rm, vvvv = vex_vreg(); | 1227 int mod, regop, rm, vvvv = vex_vreg(); |
1228 get_modrm(*current, &mod, ®op, &rm); | 1228 get_modrm(*current, &mod, ®op, &rm); |
1229 switch (opcode) { | 1229 switch (opcode) { |
| 1230 case 0x10: |
| 1231 AppendToBuffer("vmovups %s,", NameOfXMMRegister(regop)); |
| 1232 current += PrintRightXMMOperand(current); |
| 1233 break; |
| 1234 case 0x11: |
| 1235 AppendToBuffer("vmovups "); |
| 1236 current += PrintRightXMMOperand(current); |
| 1237 AppendToBuffer(",%s", NameOfXMMRegister(regop)); |
| 1238 break; |
1230 case 0x28: | 1239 case 0x28: |
1231 AppendToBuffer("vmovaps %s,", NameOfXMMRegister(regop)); | 1240 AppendToBuffer("vmovaps %s,", NameOfXMMRegister(regop)); |
1232 current += PrintRightXMMOperand(current); | 1241 current += PrintRightXMMOperand(current); |
1233 break; | 1242 break; |
1234 case 0x29: | 1243 case 0x29: |
1235 AppendToBuffer("vmovaps "); | 1244 AppendToBuffer("vmovaps "); |
1236 current += PrintRightXMMOperand(current); | 1245 current += PrintRightXMMOperand(current); |
1237 AppendToBuffer(",%s", NameOfXMMRegister(regop)); | 1246 AppendToBuffer(",%s", NameOfXMMRegister(regop)); |
1238 break; | 1247 break; |
1239 case 0x2e: | 1248 case 0x2e: |
(...skipping 1315 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2555 for (int i = 6 - static_cast<int>(pc - prev_pc); i >= 0; i--) { | 2564 for (int i = 6 - static_cast<int>(pc - prev_pc); i >= 0; i--) { |
2556 fprintf(f, " "); | 2565 fprintf(f, " "); |
2557 } | 2566 } |
2558 fprintf(f, " %s\n", buffer.start()); | 2567 fprintf(f, " %s\n", buffer.start()); |
2559 } | 2568 } |
2560 } | 2569 } |
2561 | 2570 |
2562 } // namespace disasm | 2571 } // namespace disasm |
2563 | 2572 |
2564 #endif // V8_TARGET_ARCH_X64 | 2573 #endif // V8_TARGET_ARCH_X64 |
OLD | NEW |