OLD | NEW |
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 Loading... |
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 Loading... |
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 |
OLD | NEW |