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 1232 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1243 case 0x57: | 1243 case 0x57: |
1244 AppendToBuffer("vxorpd %s,%s,", NameOfXMMRegister(regop), | 1244 AppendToBuffer("vxorpd %s,%s,", NameOfXMMRegister(regop), |
1245 NameOfXMMRegister(vvvv)); | 1245 NameOfXMMRegister(vvvv)); |
1246 current += PrintRightXMMOperand(current); | 1246 current += PrintRightXMMOperand(current); |
1247 break; | 1247 break; |
1248 case 0x6e: | 1248 case 0x6e: |
1249 AppendToBuffer("vmov%c %s,", vex_w() ? 'q' : 'd', | 1249 AppendToBuffer("vmov%c %s,", vex_w() ? 'q' : 'd', |
1250 NameOfXMMRegister(regop)); | 1250 NameOfXMMRegister(regop)); |
1251 current += PrintRightOperand(current); | 1251 current += PrintRightOperand(current); |
1252 break; | 1252 break; |
| 1253 case 0x73: |
| 1254 AppendToBuffer("%s %s,", regop == 6 ? "vpsllq" : "vpsrlq", |
| 1255 NameOfXMMRegister(vvvv)); |
| 1256 current += PrintRightXMMOperand(current); |
| 1257 AppendToBuffer(",%u", *current++); |
| 1258 break; |
| 1259 case 0x76: |
| 1260 AppendToBuffer("vpcmpeqd %s,%s,", NameOfXMMRegister(regop), |
| 1261 NameOfXMMRegister(vvvv)); |
| 1262 current += PrintRightXMMOperand(current); |
| 1263 break; |
1253 case 0x7e: | 1264 case 0x7e: |
1254 AppendToBuffer("vmov%c ", vex_w() ? 'q' : 'd'); | 1265 AppendToBuffer("vmov%c ", vex_w() ? 'q' : 'd'); |
1255 current += PrintRightOperand(current); | 1266 current += PrintRightOperand(current); |
1256 AppendToBuffer(",%s", NameOfXMMRegister(regop)); | 1267 AppendToBuffer(",%s", NameOfXMMRegister(regop)); |
1257 break; | 1268 break; |
1258 default: | 1269 default: |
1259 UnimplementedInstruction(); | 1270 UnimplementedInstruction(); |
1260 } | 1271 } |
1261 | 1272 |
1262 } else { | 1273 } else { |
(...skipping 1175 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2438 for (int i = 6 - static_cast<int>(pc - prev_pc); i >= 0; i--) { | 2449 for (int i = 6 - static_cast<int>(pc - prev_pc); i >= 0; i--) { |
2439 fprintf(f, " "); | 2450 fprintf(f, " "); |
2440 } | 2451 } |
2441 fprintf(f, " %s\n", buffer.start()); | 2452 fprintf(f, " %s\n", buffer.start()); |
2442 } | 2453 } |
2443 } | 2454 } |
2444 | 2455 |
2445 } // namespace disasm | 2456 } // namespace disasm |
2446 | 2457 |
2447 #endif // V8_TARGET_ARCH_X64 | 2458 #endif // V8_TARGET_ARCH_X64 |
OLD | NEW |