Chromium Code Reviews| Index: src/mips/assembler-mips.cc |
| diff --git a/src/mips/assembler-mips.cc b/src/mips/assembler-mips.cc |
| index 96373579d8e098df42c9950aff67f02a1a343e0e..9102d011ffc477d2e778561680daf643881116a8 100644 |
| --- a/src/mips/assembler-mips.cc |
| +++ b/src/mips/assembler-mips.cc |
| @@ -1920,28 +1920,39 @@ void Assembler::movf(Register rd, Register rs, uint16_t cc) { |
| } |
| -void Assembler::seleqz(Register rs, Register rt, Register rd) { |
| +void Assembler::sel(SecondaryField fmt, FPURegister fd, FPURegister fs, |
| + FPURegister ft) { |
| + DCHECK(kArchVariant == kMips64r6); |
|
paul.l...
2015/04/03 17:56:17
Should be kMips32r6 here.
|
| + DCHECK((fmt == D) || (fmt == S)); |
| + |
| + Instr instr = COP1 | fmt << kRsShift | ft.code() << kFtShift | |
| + fs.code() << kFsShift | fd.code() << kFdShift | SEL; |
| + emit(instr); |
| +} |
| + |
| + |
| +void Assembler::seleqz(Register rd, Register rs, Register rt) { |
| DCHECK(IsMipsArchVariant(kMips32r6)); |
| GenInstrRegister(SPECIAL, rs, rt, rd, 0, SELEQZ_S); |
| } |
| -void Assembler::seleqz(SecondaryField fmt, FPURegister fd, FPURegister ft, |
| - FPURegister fs) { |
| +void Assembler::seleqz(SecondaryField fmt, FPURegister fd, FPURegister fs, |
| + FPURegister ft) { |
| DCHECK(IsMipsArchVariant(kMips32r6)); |
| DCHECK((fmt == D) || (fmt == S)); |
| GenInstrRegister(COP1, fmt, ft, fs, fd, SELEQZ_C); |
| } |
| -void Assembler::selnez(Register rs, Register rt, Register rd) { |
| +void Assembler::selnez(Register rd, Register rs, Register rt) { |
| DCHECK(IsMipsArchVariant(kMips32r6)); |
| GenInstrRegister(SPECIAL, rs, rt, rd, 0, SELNEZ_S); |
| } |
| -void Assembler::selnez(SecondaryField fmt, FPURegister fd, FPURegister ft, |
| - FPURegister fs) { |
| +void Assembler::selnez(SecondaryField fmt, FPURegister fd, FPURegister fs, |
| + FPURegister ft) { |
| DCHECK(IsMipsArchVariant(kMips32r6)); |
| DCHECK((fmt == D) || (fmt == S)); |
| GenInstrRegister(COP1, fmt, ft, fs, fd, SELNEZ_C); |
| @@ -2261,32 +2272,32 @@ void Assembler::ceil_l_d(FPURegister fd, FPURegister fs) { |
| } |
| -void Assembler::min(SecondaryField fmt, FPURegister fd, FPURegister ft, |
| - FPURegister fs) { |
| +void Assembler::min(SecondaryField fmt, FPURegister fd, FPURegister fs, |
| + FPURegister ft) { |
| DCHECK(IsMipsArchVariant(kMips32r6)); |
| DCHECK((fmt == D) || (fmt == S)); |
| GenInstrRegister(COP1, fmt, ft, fs, fd, MIN); |
| } |
| -void Assembler::mina(SecondaryField fmt, FPURegister fd, FPURegister ft, |
| - FPURegister fs) { |
| +void Assembler::mina(SecondaryField fmt, FPURegister fd, FPURegister fs, |
| + FPURegister ft) { |
| DCHECK(IsMipsArchVariant(kMips32r6)); |
| DCHECK((fmt == D) || (fmt == S)); |
| GenInstrRegister(COP1, fmt, ft, fs, fd, MINA); |
| } |
| -void Assembler::max(SecondaryField fmt, FPURegister fd, FPURegister ft, |
| - FPURegister fs) { |
| +void Assembler::max(SecondaryField fmt, FPURegister fd, FPURegister fs, |
| + FPURegister ft) { |
| DCHECK(IsMipsArchVariant(kMips32r6)); |
| DCHECK((fmt == D) || (fmt == S)); |
| GenInstrRegister(COP1, fmt, ft, fs, fd, MAX); |
| } |
| -void Assembler::maxa(SecondaryField fmt, FPURegister fd, FPURegister ft, |
| - FPURegister fs) { |
| +void Assembler::maxa(SecondaryField fmt, FPURegister fd, FPURegister fs, |
| + FPURegister ft) { |
| DCHECK(IsMipsArchVariant(kMips32r6)); |
| DCHECK((fmt == D) || (fmt == S)); |
| GenInstrRegister(COP1, fmt, ft, fs, fd, MAXA); |