MIPS: Fix DCHECK failure in simulator for fp32 mode.
authordusan.milosavljevic@imgtec.com <dusan.milosavljevic@imgtec.com@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Wed, 13 Aug 2014 14:43:22 +0000 (14:43 +0000)
committerdusan.milosavljevic@imgtec.com <dusan.milosavljevic@imgtec.com@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Wed, 13 Aug 2014 14:43:22 +0000 (14:43 +0000)
TEST=mjsunit tests in debug
BUG=
R=paul.lind@imgtec.com

Review URL: https://codereview.chromium.org/467203002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23109 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

src/mips/simulator-mips.cc

index d40fac7cb0541b8bf8c0d0ea6b1ed9fcfd331210..2478539d1e96e185fb852fe5655609da71861622 100644 (file)
@@ -2290,7 +2290,7 @@ void Simulator::DecodeTypeRegister(Instruction* instr) {
                 }
                 set_fpu_register_word(fd_reg, result);
                 if (set_fcsr_round_error(fs, rounded)) {
-                  set_fpu_register(fd_reg, kFPUInvalidResult);
+                  set_fpu_register_word(fd_reg, kFPUInvalidResult);
                 }
               }
               break;
@@ -2300,7 +2300,7 @@ void Simulator::DecodeTypeRegister(Instruction* instr) {
                 int32_t result = static_cast<int32_t>(rounded);
                 set_fpu_register_word(fd_reg, result);
                 if (set_fcsr_round_error(fs, rounded)) {
-                  set_fpu_register(fd_reg, kFPUInvalidResult);
+                  set_fpu_register_word(fd_reg, kFPUInvalidResult);
                 }
               }
               break;
@@ -2310,7 +2310,7 @@ void Simulator::DecodeTypeRegister(Instruction* instr) {
                 int32_t result = static_cast<int32_t>(rounded);
                 set_fpu_register_word(fd_reg, result);
                 if (set_fcsr_round_error(fs, rounded)) {
-                  set_fpu_register(fd_reg, kFPUInvalidResult);
+                  set_fpu_register_word(fd_reg, kFPUInvalidResult);
                 }
               }
               break;
@@ -2320,7 +2320,7 @@ void Simulator::DecodeTypeRegister(Instruction* instr) {
                 int32_t result = static_cast<int32_t>(rounded);
                 set_fpu_register_word(fd_reg, result);
                 if (set_fcsr_round_error(fs, rounded)) {
-                  set_fpu_register(fd_reg, kFPUInvalidResult);
+                  set_fpu_register_word(fd_reg, kFPUInvalidResult);
                 }
               }
               break;