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

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

Issue 1072343002: [x86] Introduce vandps/vandpd/vxorps/vxorpd. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: rebase Created 5 years, 8 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/ia32/assembler-ia32.cc ('k') | src/x64/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 #include "src/v8.h" 9 #include "src/v8.h"
10 10
(...skipping 967 matching lines...) Expand 10 before | Expand all | Expand 10 after
978 switch (opcode) { 978 switch (opcode) {
979 case 0xf0: 979 case 0xf0:
980 AppendToBuffer("rorx %s,", NameOfCPURegister(regop)); 980 AppendToBuffer("rorx %s,", NameOfCPURegister(regop));
981 current += PrintRightOperand(current); 981 current += PrintRightOperand(current);
982 AppendToBuffer(",%d", *current & 0x1f); 982 AppendToBuffer(",%d", *current & 0x1f);
983 current += 1; 983 current += 1;
984 break; 984 break;
985 default: 985 default:
986 UnimplementedInstruction(); 986 UnimplementedInstruction();
987 } 987 }
988 } else if (vex_none() && vex_0f()) {
989 int mod, regop, rm, vvvv = vex_vreg();
990 get_modrm(*current, &mod, &regop, &rm);
991 switch (opcode) {
992 case 0x54:
993 AppendToBuffer("vandps %s,%s,", NameOfXMMRegister(regop),
994 NameOfXMMRegister(vvvv));
995 current += PrintRightXMMOperand(current);
996 break;
997 case 0x57:
998 AppendToBuffer("vxorps %s,%s,", NameOfXMMRegister(regop),
999 NameOfXMMRegister(vvvv));
1000 current += PrintRightXMMOperand(current);
1001 break;
1002 default:
1003 UnimplementedInstruction();
1004 }
1005 } else if (vex_66() && vex_0f()) {
1006 int mod, regop, rm, vvvv = vex_vreg();
1007 get_modrm(*current, &mod, &regop, &rm);
1008 switch (opcode) {
1009 case 0x54:
1010 AppendToBuffer("vandpd %s,%s,", NameOfXMMRegister(regop),
1011 NameOfXMMRegister(vvvv));
1012 current += PrintRightXMMOperand(current);
1013 break;
1014 case 0x57:
1015 AppendToBuffer("vxorpd %s,%s,", NameOfXMMRegister(regop),
1016 NameOfXMMRegister(vvvv));
1017 current += PrintRightXMMOperand(current);
1018 break;
1019 default:
1020 UnimplementedInstruction();
1021 }
988 } else { 1022 } else {
989 UnimplementedInstruction(); 1023 UnimplementedInstruction();
990 } 1024 }
991 1025
992 return static_cast<int>(current - data); 1026 return static_cast<int>(current - data);
993 } 1027 }
994 1028
995 1029
996 // Returns number of bytes used, including *data. 1030 // Returns number of bytes used, including *data.
997 int DisassemblerIA32::FPUInstruction(byte* data) { 1031 int DisassemblerIA32::FPUInstruction(byte* data) {
(...skipping 1220 matching lines...) Expand 10 before | Expand all | Expand 10 after
2218 fprintf(f, " "); 2252 fprintf(f, " ");
2219 } 2253 }
2220 fprintf(f, " %s\n", buffer.start()); 2254 fprintf(f, " %s\n", buffer.start());
2221 } 2255 }
2222 } 2256 }
2223 2257
2224 2258
2225 } // namespace disasm 2259 } // namespace disasm
2226 2260
2227 #endif // V8_TARGET_ARCH_IA32 2261 #endif // V8_TARGET_ARCH_IA32
OLDNEW
« no previous file with comments | « src/ia32/assembler-ia32.cc ('k') | src/x64/assembler-x64.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698