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

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

Issue 71163006: Merge bleeding_edge r17376:17693. (Closed) Base URL: https://v8.googlecode.com/svn/branches/experimental/parser
Patch Set: Fix all.gyp Created 7 years, 1 month 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/ia32/deoptimizer-ia32.cc ('k') | src/ia32/full-codegen-ia32.cc » ('j') | 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 1024 matching lines...) Expand 10 before | Expand all | Expand 10 after
1035 AppendToBuffer("%s", f0mnem); 1035 AppendToBuffer("%s", f0mnem);
1036 data += 2; 1036 data += 2;
1037 } else if (f0byte == 0x28) { 1037 } else if (f0byte == 0x28) {
1038 data += 2; 1038 data += 2;
1039 int mod, regop, rm; 1039 int mod, regop, rm;
1040 get_modrm(*data, &mod, &regop, &rm); 1040 get_modrm(*data, &mod, &regop, &rm);
1041 AppendToBuffer("movaps %s,%s", 1041 AppendToBuffer("movaps %s,%s",
1042 NameOfXMMRegister(regop), 1042 NameOfXMMRegister(regop),
1043 NameOfXMMRegister(rm)); 1043 NameOfXMMRegister(rm));
1044 data++; 1044 data++;
1045 } else if (f0byte == 0x54) {
1046 data += 2;
1047 int mod, regop, rm;
1048 get_modrm(*data, &mod, &regop, &rm);
1049 AppendToBuffer("andps %s,%s",
1050 NameOfXMMRegister(regop),
1051 NameOfXMMRegister(rm));
1052 data++;
1053 } else if (f0byte == 0x56) {
1054 data += 2;
1055 int mod, regop, rm;
1056 get_modrm(*data, &mod, &regop, &rm);
1057 AppendToBuffer("orps %s,%s",
1058 NameOfXMMRegister(regop),
1059 NameOfXMMRegister(rm));
1060 data++;
1045 } else if (f0byte == 0x57) { 1061 } else if (f0byte == 0x57) {
1046 data += 2; 1062 data += 2;
1047 int mod, regop, rm; 1063 int mod, regop, rm;
1048 get_modrm(*data, &mod, &regop, &rm); 1064 get_modrm(*data, &mod, &regop, &rm);
1049 AppendToBuffer("xorps %s,%s", 1065 AppendToBuffer("xorps %s,%s",
1050 NameOfXMMRegister(regop), 1066 NameOfXMMRegister(regop),
1051 NameOfXMMRegister(rm)); 1067 NameOfXMMRegister(rm));
1052 data++; 1068 data++;
1053 } else if (f0byte == 0x50) { 1069 } else if (f0byte == 0x50) {
1054 data += 2; 1070 data += 2;
(...skipping 127 matching lines...) Expand 10 before | Expand all | Expand 10 after
1182 } else if (*data == 0x8B) { 1198 } else if (*data == 0x8B) {
1183 data++; 1199 data++;
1184 data += PrintOperands("mov_w", REG_OPER_OP_ORDER, data); 1200 data += PrintOperands("mov_w", REG_OPER_OP_ORDER, data);
1185 } else if (*data == 0x89) { 1201 } else if (*data == 0x89) {
1186 data++; 1202 data++;
1187 int mod, regop, rm; 1203 int mod, regop, rm;
1188 get_modrm(*data, &mod, &regop, &rm); 1204 get_modrm(*data, &mod, &regop, &rm);
1189 AppendToBuffer("mov_w "); 1205 AppendToBuffer("mov_w ");
1190 data += PrintRightOperand(data); 1206 data += PrintRightOperand(data);
1191 AppendToBuffer(",%s", NameOfCPURegister(regop)); 1207 AppendToBuffer(",%s", NameOfCPURegister(regop));
1208 } else if (*data == 0xC7) {
1209 data++;
1210 AppendToBuffer("%s ", "mov_w");
1211 data += PrintRightOperand(data);
1212 int imm = *reinterpret_cast<int16_t*>(data);
1213 AppendToBuffer(",0x%x", imm);
1214 data += 2;
1192 } else if (*data == 0x0F) { 1215 } else if (*data == 0x0F) {
1193 data++; 1216 data++;
1194 if (*data == 0x38) { 1217 if (*data == 0x38) {
1195 data++; 1218 data++;
1196 if (*data == 0x17) { 1219 if (*data == 0x17) {
1197 data++; 1220 data++;
1198 int mod, regop, rm; 1221 int mod, regop, rm;
1199 get_modrm(*data, &mod, &regop, &rm); 1222 get_modrm(*data, &mod, &regop, &rm);
1200 AppendToBuffer("ptest %s,%s", 1223 AppendToBuffer("ptest %s,%s",
1201 NameOfXMMRegister(regop), 1224 NameOfXMMRegister(regop),
(...skipping 526 matching lines...) Expand 10 before | Expand all | Expand 10 after
1728 fprintf(f, " "); 1751 fprintf(f, " ");
1729 } 1752 }
1730 fprintf(f, " %s\n", buffer.start()); 1753 fprintf(f, " %s\n", buffer.start());
1731 } 1754 }
1732 } 1755 }
1733 1756
1734 1757
1735 } // namespace disasm 1758 } // namespace disasm
1736 1759
1737 #endif // V8_TARGET_ARCH_IA32 1760 #endif // V8_TARGET_ARCH_IA32
OLDNEW
« no previous file with comments | « src/ia32/deoptimizer-ia32.cc ('k') | src/ia32/full-codegen-ia32.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698