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

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

Issue 151163005: A64: Synchronize with r16356. (Closed) Base URL: https://v8.googlecode.com/svn/branches/experimental/a64
Patch Set: Created 6 years, 10 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
« no previous file with comments | « src/ia32/cpu-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 588 matching lines...) Expand 10 before | Expand all | Expand 10 after
599 if (op == 0xD1) { 599 if (op == 0xD1) {
600 imm8 = 1; 600 imm8 = 1;
601 } else if (op == 0xC1) { 601 } else if (op == 0xC1) {
602 imm8 = *(data+2); 602 imm8 = *(data+2);
603 num_bytes = 3; 603 num_bytes = 3;
604 } else if (op == 0xD3) { 604 } else if (op == 0xD3) {
605 // Shift/rotate by cl. 605 // Shift/rotate by cl.
606 } 606 }
607 ASSERT_NE(NULL, mnem); 607 ASSERT_NE(NULL, mnem);
608 AppendToBuffer("%s %s,", mnem, NameOfCPURegister(rm)); 608 AppendToBuffer("%s %s,", mnem, NameOfCPURegister(rm));
609 if (imm8 > 0) { 609 if (imm8 >= 0) {
610 AppendToBuffer("%d", imm8); 610 AppendToBuffer("%d", imm8);
611 } else { 611 } else {
612 AppendToBuffer("cl"); 612 AppendToBuffer("cl");
613 } 613 }
614 } else { 614 } else {
615 UnimplementedInstruction(); 615 UnimplementedInstruction();
616 } 616 }
617 return num_bytes; 617 return num_bytes;
618 } 618 }
619 619
(...skipping 235 matching lines...) Expand 10 before | Expand all | Expand 10 after
855 return 2; 855 return 2;
856 } 856 }
857 857
858 858
859 // Mnemonics for instructions 0xF0 byte. 859 // Mnemonics for instructions 0xF0 byte.
860 // Returns NULL if the instruction is not handled here. 860 // Returns NULL if the instruction is not handled here.
861 static const char* F0Mnem(byte f0byte) { 861 static const char* F0Mnem(byte f0byte) {
862 switch (f0byte) { 862 switch (f0byte) {
863 case 0x18: return "prefetch"; 863 case 0x18: return "prefetch";
864 case 0xA2: return "cpuid"; 864 case 0xA2: return "cpuid";
865 case 0x31: return "rdtsc";
866 case 0xBE: return "movsx_b"; 865 case 0xBE: return "movsx_b";
867 case 0xBF: return "movsx_w"; 866 case 0xBF: return "movsx_w";
868 case 0xB6: return "movzx_b"; 867 case 0xB6: return "movzx_b";
869 case 0xB7: return "movzx_w"; 868 case 0xB7: return "movzx_w";
870 case 0xAF: return "imul"; 869 case 0xAF: return "imul";
871 case 0xA5: return "shld"; 870 case 0xA5: return "shld";
872 case 0xAD: return "shrd"; 871 case 0xAD: return "shrd";
873 case 0xAC: return "shrd"; // 3-operand version. 872 case 0xAC: return "shrd"; // 3-operand version.
874 case 0xAB: return "bts"; 873 case 0xAB: return "bts";
875 default: return NULL; 874 default: return NULL;
(...skipping 842 matching lines...) Expand 10 before | Expand all | Expand 10 after
1718 fprintf(f, " "); 1717 fprintf(f, " ");
1719 } 1718 }
1720 fprintf(f, " %s\n", buffer.start()); 1719 fprintf(f, " %s\n", buffer.start());
1721 } 1720 }
1722 } 1721 }
1723 1722
1724 1723
1725 } // namespace disasm 1724 } // namespace disasm
1726 1725
1727 #endif // V8_TARGET_ARCH_IA32 1726 #endif // V8_TARGET_ARCH_IA32
OLDNEW
« no previous file with comments | « src/ia32/cpu-ia32.cc ('k') | src/ia32/full-codegen-ia32.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698