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

Side by Side Diff: src/x64/disasm-x64.cc

Issue 11664007: Added (dis-)assembler support for movmskps on ia32 and x64. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 8 years 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
« no previous file with comments | « src/x64/assembler-x64.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2011 the V8 project authors. All rights reserved. 1 // Copyright 2011 the V8 project authors. All rights reserved.
2 // Redistribution and use in source and binary forms, with or without 2 // Redistribution and use in source and binary forms, with or without
3 // modification, are permitted provided that the following conditions are 3 // modification, are permitted provided that the following conditions are
4 // met: 4 // met:
5 // 5 //
6 // * Redistributions of source code must retain the above copyright 6 // * Redistributions of source code must retain the above copyright
7 // notice, this list of conditions and the following disclaimer. 7 // notice, this list of conditions and the following disclaimer.
8 // * Redistributions in binary form must reproduce the above 8 // * Redistributions in binary form must reproduce the above
9 // copyright notice, this list of conditions and the following 9 // copyright notice, this list of conditions and the following
10 // disclaimer in the documentation and/or other materials provided 10 // disclaimer in the documentation and/or other materials provided
(...skipping 1226 matching lines...) Expand 10 before | Expand all | Expand 10 after
1237 byte_size_operand_ = idesc.byte_size_operation; 1237 byte_size_operand_ = idesc.byte_size_operation;
1238 current += PrintOperands(idesc.mnem, idesc.op_order_, current); 1238 current += PrintOperands(idesc.mnem, idesc.op_order_, current);
1239 1239
1240 } else if (opcode == 0x57) { 1240 } else if (opcode == 0x57) {
1241 // xorps xmm, xmm/m128 1241 // xorps xmm, xmm/m128
1242 int mod, regop, rm; 1242 int mod, regop, rm;
1243 get_modrm(*current, &mod, &regop, &rm); 1243 get_modrm(*current, &mod, &regop, &rm);
1244 AppendToBuffer("xorps %s, ", NameOfXMMRegister(regop)); 1244 AppendToBuffer("xorps %s, ", NameOfXMMRegister(regop));
1245 current += PrintRightXMMOperand(current); 1245 current += PrintRightXMMOperand(current);
1246 1246
1247 } else if (opcode == 0x50) {
1248 // movmskps reg, xmm
1249 int mod, regop, rm;
1250 get_modrm(*current, &mod, &regop, &rm);
1251 AppendToBuffer("movmskps %s, ", NameOfCPURegister(regop));
1252 current += PrintRightXMMOperand(current);
1253
1247 } else if ((opcode & 0xF0) == 0x80) { 1254 } else if ((opcode & 0xF0) == 0x80) {
1248 // Jcc: Conditional jump (branch). 1255 // Jcc: Conditional jump (branch).
1249 current = data + JumpConditional(data); 1256 current = data + JumpConditional(data);
1250 1257
1251 } else if (opcode == 0xBE || opcode == 0xBF || opcode == 0xB6 || 1258 } else if (opcode == 0xBE || opcode == 0xBF || opcode == 0xB6 ||
1252 opcode == 0xB7 || opcode == 0xAF) { 1259 opcode == 0xB7 || opcode == 0xAF) {
1253 // Size-extending moves, IMUL. 1260 // Size-extending moves, IMUL.
1254 current += PrintOperands(mnemonic, REG_OPER_OP_ORDER, current); 1261 current += PrintOperands(mnemonic, REG_OPER_OP_ORDER, current);
1255 1262
1256 } else if ((opcode & 0xF0) == 0x90) { 1263 } else if ((opcode & 0xF0) == 0x90) {
(...skipping 591 matching lines...) Expand 10 before | Expand all | Expand 10 after
1848 for (int i = 6 - static_cast<int>(pc - prev_pc); i >= 0; i--) { 1855 for (int i = 6 - static_cast<int>(pc - prev_pc); i >= 0; i--) {
1849 fprintf(f, " "); 1856 fprintf(f, " ");
1850 } 1857 }
1851 fprintf(f, " %s\n", buffer.start()); 1858 fprintf(f, " %s\n", buffer.start());
1852 } 1859 }
1853 } 1860 }
1854 1861
1855 } // namespace disasm 1862 } // namespace disasm
1856 1863
1857 #endif // V8_TARGET_ARCH_X64 1864 #endif // V8_TARGET_ARCH_X64
OLDNEW
« no previous file with comments | « src/x64/assembler-x64.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698