Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(83)

Side by Side Diff: runtime/vm/disassembler_x64.cc

Issue 22947006: Add signMask getter to Float32x4 (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 7 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 #include "vm/disassembler.h" 5 #include "vm/disassembler.h"
6 6
7 #include "vm/globals.h" // Needed here to get TARGET_ARCH_IA32. 7 #include "vm/globals.h" // Needed here to get TARGET_ARCH_IA32.
8 #if defined(TARGET_ARCH_X64) 8 #if defined(TARGET_ARCH_X64)
9 #include "platform/utils.h" 9 #include "platform/utils.h"
10 #include "vm/allocation.h" 10 #include "vm/allocation.h"
(...skipping 1400 matching lines...) Expand 10 before | Expand all | Expand 10 after
1411 get_modrm(*current, &mod, &regop, &rm); 1411 get_modrm(*current, &mod, &regop, &rm);
1412 AppendToBuffer("movups "); 1412 AppendToBuffer("movups ");
1413 current += PrintRightXMMOperand(current); 1413 current += PrintRightXMMOperand(current);
1414 AppendToBuffer(", %s", NameOfXMMRegister(regop)); 1414 AppendToBuffer(", %s", NameOfXMMRegister(regop));
1415 } else if (opcode == 0x10) { 1415 } else if (opcode == 0x10) {
1416 // movups xmm, xmm/m128 1416 // movups xmm, xmm/m128
1417 int mod, regop, rm; 1417 int mod, regop, rm;
1418 get_modrm(*current, &mod, &regop, &rm); 1418 get_modrm(*current, &mod, &regop, &rm);
1419 AppendToBuffer("movups %s, ", NameOfXMMRegister(regop)); 1419 AppendToBuffer("movups %s, ", NameOfXMMRegister(regop));
1420 current += PrintRightXMMOperand(current); 1420 current += PrintRightXMMOperand(current);
1421 } else if (opcode == 0x50) {
1422 int mod, regop, rm;
1423 get_modrm(*current, &mod, &regop, &rm);
1424 AppendToBuffer("movmskps %s,", NameOfCPURegister(regop));
1425 current += PrintRightXMMOperand(current);
1421 } else if (opcode == 0xA2 || opcode == 0x31) { 1426 } else if (opcode == 0xA2 || opcode == 0x31) {
1422 // RDTSC or CPUID 1427 // RDTSC or CPUID
1423 AppendToBuffer("%s", mnemonic); 1428 AppendToBuffer("%s", mnemonic);
1424 1429
1425 } else if ((opcode & 0xF0) == 0x40) { 1430 } else if ((opcode & 0xF0) == 0x40) {
1426 // CMOVcc: conditional move. 1431 // CMOVcc: conditional move.
1427 int condition = opcode & 0x0F; 1432 int condition = opcode & 0x0F;
1428 const InstructionDesc& idesc = cmov_instructions[condition]; 1433 const InstructionDesc& idesc = cmov_instructions[condition];
1429 byte_size_operand_ = idesc.byte_size_operation; 1434 byte_size_operand_ = idesc.byte_size_operation;
1430 current += PrintOperands(idesc.mnem, idesc.op_order_, current); 1435 current += PrintOperands(idesc.mnem, idesc.op_order_, current);
(...skipping 497 matching lines...) Expand 10 before | Expand all | Expand 10 after
1928 pc); 1933 pc);
1929 pc += instruction_length; 1934 pc += instruction_length;
1930 } 1935 }
1931 1936
1932 return; 1937 return;
1933 } 1938 }
1934 1939
1935 } // namespace dart 1940 } // namespace dart
1936 1941
1937 #endif // defined TARGET_ARCH_X64 1942 #endif // defined TARGET_ARCH_X64
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698