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

Unified Diff: src/mips64/assembler-mips64.cc

Issue 2313623002: MIPS: Implement MADD.S, MSUB, MADDF and MSUBF. (Closed)
Patch Set: The test as a template. Created 4 years, 3 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 side-by-side diff with in-line comments
Download patch
Index: src/mips64/assembler-mips64.cc
diff --git a/src/mips64/assembler-mips64.cc b/src/mips64/assembler-mips64.cc
index 319e6b8b061f29e41c0b4068c4f64b976b317525..586b683b80726b7c32fdef6959841bc82dccc3fa 100644
--- a/src/mips64/assembler-mips64.cc
+++ b/src/mips64/assembler-mips64.cc
@@ -2780,12 +2780,49 @@ void Assembler::mul_d(FPURegister fd, FPURegister fs, FPURegister ft) {
GenInstrRegister(COP1, D, ft, fs, fd, MUL_D);
}
+void Assembler::madd_s(FPURegister fd, FPURegister fr, FPURegister fs,
+ FPURegister ft) {
+ DCHECK(kArchVariant != kMips64r6);
ivica.bogosavljevic 2016/09/12 12:39:52 I would prefer you set here: kArchVairan == kMips
Ilija.Pavlovic1 2016/09/12 13:41:35 Done.
+ GenInstrRegister(COP1X, fr, ft, fs, fd, MADD_S);
+}
void Assembler::madd_d(FPURegister fd, FPURegister fr, FPURegister fs,
FPURegister ft) {
+ DCHECK(kArchVariant != kMips64r6);
GenInstrRegister(COP1X, fr, ft, fs, fd, MADD_D);
}
+void Assembler::msub_s(FPURegister fd, FPURegister fr, FPURegister fs,
+ FPURegister ft) {
+ DCHECK(kArchVariant != kMips64r6);
+ GenInstrRegister(COP1X, fr, ft, fs, fd, MSUB_S);
+}
+
+void Assembler::msub_d(FPURegister fd, FPURegister fr, FPURegister fs,
+ FPURegister ft) {
+ DCHECK(kArchVariant != kMips64r6);
+ GenInstrRegister(COP1X, fr, ft, fs, fd, MSUB_D);
+}
+
+void Assembler::maddf_s(FPURegister fd, FPURegister fs, FPURegister ft) {
+ DCHECK(kArchVariant == kMips64r6);
+ GenInstrRegister(COP1, S, ft, fs, fd, MADDF_S);
+}
+
+void Assembler::maddf_d(FPURegister fd, FPURegister fs, FPURegister ft) {
+ DCHECK(kArchVariant == kMips64r6);
+ GenInstrRegister(COP1, D, ft, fs, fd, MADDF_D);
+}
+
+void Assembler::msubf_s(FPURegister fd, FPURegister fs, FPURegister ft) {
+ DCHECK(kArchVariant == kMips64r6);
+ GenInstrRegister(COP1, S, ft, fs, fd, MSUBF_S);
+}
+
+void Assembler::msubf_d(FPURegister fd, FPURegister fs, FPURegister ft) {
+ DCHECK(kArchVariant == kMips64r6);
+ GenInstrRegister(COP1, D, ft, fs, fd, MSUBF_D);
+}
void Assembler::div_s(FPURegister fd, FPURegister fs, FPURegister ft) {
GenInstrRegister(COP1, S, ft, fs, fd, DIV_D);

Powered by Google App Engine
This is Rietveld 408576698