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

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

Issue 2139513002: [Turbofan] Support 128 bit moves/swaps for x64. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Macroassembler supports xorps/vxorps. Created 4 years, 5 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
« no previous file with comments | « src/x64/assembler-x64.cc ('k') | src/x64/macro-assembler-x64.h » ('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 // 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 1209 matching lines...) Expand 10 before | Expand all | Expand 10 after
1220 } 1220 }
1221 current += 1; 1221 current += 1;
1222 break; 1222 break;
1223 default: 1223 default:
1224 UnimplementedInstruction(); 1224 UnimplementedInstruction();
1225 } 1225 }
1226 } else if (vex_none() && vex_0f()) { 1226 } else if (vex_none() && vex_0f()) {
1227 int mod, regop, rm, vvvv = vex_vreg(); 1227 int mod, regop, rm, vvvv = vex_vreg();
1228 get_modrm(*current, &mod, &regop, &rm); 1228 get_modrm(*current, &mod, &regop, &rm);
1229 switch (opcode) { 1229 switch (opcode) {
1230 case 0x10:
1231 AppendToBuffer("vmovups %s,", NameOfXMMRegister(regop));
1232 current += PrintRightXMMOperand(current);
1233 break;
1234 case 0x11:
1235 AppendToBuffer("vmovups ");
1236 current += PrintRightXMMOperand(current);
1237 AppendToBuffer(",%s", NameOfXMMRegister(regop));
1238 break;
1230 case 0x28: 1239 case 0x28:
1231 AppendToBuffer("vmovaps %s,", NameOfXMMRegister(regop)); 1240 AppendToBuffer("vmovaps %s,", NameOfXMMRegister(regop));
1232 current += PrintRightXMMOperand(current); 1241 current += PrintRightXMMOperand(current);
1233 break; 1242 break;
1234 case 0x29: 1243 case 0x29:
1235 AppendToBuffer("vmovaps "); 1244 AppendToBuffer("vmovaps ");
1236 current += PrintRightXMMOperand(current); 1245 current += PrintRightXMMOperand(current);
1237 AppendToBuffer(",%s", NameOfXMMRegister(regop)); 1246 AppendToBuffer(",%s", NameOfXMMRegister(regop));
1238 break; 1247 break;
1239 case 0x2e: 1248 case 0x2e:
(...skipping 1315 matching lines...) Expand 10 before | Expand all | Expand 10 after
2555 for (int i = 6 - static_cast<int>(pc - prev_pc); i >= 0; i--) { 2564 for (int i = 6 - static_cast<int>(pc - prev_pc); i >= 0; i--) {
2556 fprintf(f, " "); 2565 fprintf(f, " ");
2557 } 2566 }
2558 fprintf(f, " %s\n", buffer.start()); 2567 fprintf(f, " %s\n", buffer.start());
2559 } 2568 }
2560 } 2569 }
2561 2570
2562 } // namespace disasm 2571 } // namespace disasm
2563 2572
2564 #endif // V8_TARGET_ARCH_X64 2573 #endif // V8_TARGET_ARCH_X64
OLDNEW
« no previous file with comments | « src/x64/assembler-x64.cc ('k') | src/x64/macro-assembler-x64.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698