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 1372 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1383 AppendToBuffer(",%s,%d", NameOfXMMRegister(regop), (*current) & 3); | 1383 AppendToBuffer(",%s,%d", NameOfXMMRegister(regop), (*current) & 3); |
1384 current += 1; | 1384 current += 1; |
1385 } else if (third_byte == 0x0b) { | 1385 } else if (third_byte == 0x0b) { |
1386 get_modrm(*current, &mod, ®op, &rm); | 1386 get_modrm(*current, &mod, ®op, &rm); |
1387 // roundsd xmm, xmm/m64, imm8 | 1387 // roundsd xmm, xmm/m64, imm8 |
1388 AppendToBuffer("roundsd %s,", NameOfXMMRegister(regop)); | 1388 AppendToBuffer("roundsd %s,", NameOfXMMRegister(regop)); |
1389 current += PrintRightXMMOperand(current); | 1389 current += PrintRightXMMOperand(current); |
1390 AppendToBuffer(",%d", (*current) & 3); | 1390 AppendToBuffer(",%d", (*current) & 3); |
1391 current += 1; | 1391 current += 1; |
1392 } else if (third_byte == 0x16) { | 1392 } else if (third_byte == 0x16) { |
1393 get_modrm(*current, &mod, ®op, &rm); | 1393 get_modrm(*current, &mod, &rm, ®op); |
1394 AppendToBuffer("pextrd "); // reg/m32, xmm, imm8 | 1394 AppendToBuffer("pextrd "); // reg/m32, xmm, imm8 |
1395 current += PrintRightOperand(current); | 1395 current += PrintRightOperand(current); |
1396 AppendToBuffer(",%s,%d", NameOfXMMRegister(regop), (*current) & 3); | 1396 AppendToBuffer(",%s,%d", NameOfXMMRegister(regop), (*current) & 3); |
1397 current += 1; | 1397 current += 1; |
1398 } else if (third_byte == 0x22) { | 1398 } else if (third_byte == 0x22) { |
1399 get_modrm(*current, &mod, ®op, &rm); | 1399 get_modrm(*current, &mod, ®op, &rm); |
1400 AppendToBuffer("pinsrd "); // xmm, reg/m32, imm8 | 1400 AppendToBuffer("pinsrd "); // xmm, reg/m32, imm8 |
1401 AppendToBuffer(" %s,", NameOfXMMRegister(regop)); | 1401 AppendToBuffer(" %s,", NameOfXMMRegister(regop)); |
1402 current += PrintRightOperand(current); | 1402 current += PrintRightOperand(current); |
1403 AppendToBuffer(",%d", (*current) & 3); | 1403 AppendToBuffer(",%d", (*current) & 3); |
(...skipping 949 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2353 for (int i = 6 - static_cast<int>(pc - prev_pc); i >= 0; i--) { | 2353 for (int i = 6 - static_cast<int>(pc - prev_pc); i >= 0; i--) { |
2354 fprintf(f, " "); | 2354 fprintf(f, " "); |
2355 } | 2355 } |
2356 fprintf(f, " %s\n", buffer.start()); | 2356 fprintf(f, " %s\n", buffer.start()); |
2357 } | 2357 } |
2358 } | 2358 } |
2359 | 2359 |
2360 } // namespace disasm | 2360 } // namespace disasm |
2361 | 2361 |
2362 #endif // V8_TARGET_ARCH_X64 | 2362 #endif // V8_TARGET_ARCH_X64 |
OLD | NEW |