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/mips/assembler-mips.cc

Issue 1046873004: MIPS: Refactor simulator and add selection instructions for r6. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: 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 | « no previous file | src/mips/constants-mips.cc » ('j') | src/mips/disasm-mips.cc » ('J')
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 1994-2006 Sun Microsystems Inc. 1 // Copyright (c) 1994-2006 Sun Microsystems Inc.
2 // All Rights Reserved. 2 // All Rights Reserved.
3 // 3 //
4 // Redistribution and use in source and binary forms, with or without 4 // Redistribution and use in source and binary forms, with or without
5 // modification, are permitted provided that the following conditions are 5 // modification, are permitted provided that the following conditions are
6 // met: 6 // met:
7 // 7 //
8 // - Redistributions of source code must retain the above copyright notice, 8 // - Redistributions of source code must retain the above copyright notice,
9 // this list of conditions and the following disclaimer. 9 // this list of conditions and the following disclaimer.
10 // 10 //
(...skipping 1902 matching lines...) Expand 10 before | Expand all | Expand 10 after
1913 } 1913 }
1914 1914
1915 1915
1916 void Assembler::movf(Register rd, Register rs, uint16_t cc) { 1916 void Assembler::movf(Register rd, Register rs, uint16_t cc) {
1917 Register rt; 1917 Register rt;
1918 rt.code_ = (cc & 0x0007) << 2 | 0; 1918 rt.code_ = (cc & 0x0007) << 2 | 0;
1919 GenInstrRegister(SPECIAL, rs, rt, rd, 0, MOVCI); 1919 GenInstrRegister(SPECIAL, rs, rt, rd, 0, MOVCI);
1920 } 1920 }
1921 1921
1922 1922
1923 void Assembler::seleqz(Register rs, Register rt, Register rd) {
1924 DCHECK(IsMipsArchVariant(kMips32r6));
1925 GenInstrRegister(SPECIAL, rs, rt, rd, 0, SELEQZ_S);
1926 }
1927
1928
1929 void Assembler::seleqz(SecondaryField fmt, FPURegister fd, FPURegister ft,
1930 FPURegister fs) {
1931 DCHECK(IsMipsArchVariant(kMips32r6));
1932 DCHECK((fmt == D) || (fmt == S));
1933 GenInstrRegister(COP1, fmt, ft, fs, fd, SELEQZ_C);
1934 }
1935
1936
1937 void Assembler::selnez(Register rs, Register rt, Register rd) {
1938 DCHECK(IsMipsArchVariant(kMips32r6));
1939 GenInstrRegister(SPECIAL, rs, rt, rd, 0, SELNEZ_S);
1940 }
1941
1942
1943 void Assembler::selnez(SecondaryField fmt, FPURegister fd, FPURegister ft,
1944 FPURegister fs) {
1945 DCHECK(IsMipsArchVariant(kMips32r6));
1946 DCHECK((fmt == D) || (fmt == S));
1947 GenInstrRegister(COP1, fmt, ft, fs, fd, SELNEZ_C);
1948 }
1949
1950
1923 // Bit twiddling. 1951 // Bit twiddling.
1924 void Assembler::clz(Register rd, Register rs) { 1952 void Assembler::clz(Register rd, Register rs) {
1925 if (!IsMipsArchVariant(kMips32r6)) { 1953 if (!IsMipsArchVariant(kMips32r6)) {
1926 // Clz instr requires same GPR number in 'rd' and 'rt' fields. 1954 // Clz instr requires same GPR number in 'rd' and 'rt' fields.
1927 GenInstrRegister(SPECIAL2, rs, rd, rd, 0, CLZ); 1955 GenInstrRegister(SPECIAL2, rs, rd, rd, 0, CLZ);
1928 } else { 1956 } else {
1929 GenInstrRegister(SPECIAL, rs, zero_reg, rd, 1, CLZ_R6); 1957 GenInstrRegister(SPECIAL, rs, zero_reg, rd, 1, CLZ_R6);
1930 } 1958 }
1931 } 1959 }
1932 1960
(...skipping 816 matching lines...) Expand 10 before | Expand all | Expand 10 after
2749 void Assembler::PopulateConstantPool(ConstantPoolArray* constant_pool) { 2777 void Assembler::PopulateConstantPool(ConstantPoolArray* constant_pool) {
2750 // No out-of-line constant pool support. 2778 // No out-of-line constant pool support.
2751 DCHECK(!FLAG_enable_ool_constant_pool); 2779 DCHECK(!FLAG_enable_ool_constant_pool);
2752 return; 2780 return;
2753 } 2781 }
2754 2782
2755 2783
2756 } } // namespace v8::internal 2784 } } // namespace v8::internal
2757 2785
2758 #endif // V8_TARGET_ARCH_MIPS 2786 #endif // V8_TARGET_ARCH_MIPS
OLDNEW
« no previous file with comments | « no previous file | src/mips/constants-mips.cc » ('j') | src/mips/disasm-mips.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698