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

Unified Diff: src/ppc/simulator-ppc.cc

Issue 1438013003: [turbofan] Implemented the RoundUint64ToFloat32 TurboFan operator for x64, arm64, (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Fixed the test to make it platform independent. Created 5 years, 1 month 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/ppc/simulator-ppc.cc
diff --git a/src/ppc/simulator-ppc.cc b/src/ppc/simulator-ppc.cc
index ce0c77af3ed17813c5a62879938e60b616f23258..368e374ff2b37ad423675843cdb09e451491cd26 100644
--- a/src/ppc/simulator-ppc.cc
+++ b/src/ppc/simulator-ppc.cc
@@ -2708,6 +2708,16 @@ void Simulator::ExecuteExt3(Instruction* instr) {
set_d_register_from_double(frt, frt_val);
return;
}
+ case FCFIDU: {
+ // fcfidus
+ int frt = instr->RTValue();
+ int frb = instr->RBValue();
+ double t_val = get_double_from_d_register(frb);
titzer 2015/11/12 19:06:00 I'm not entirely certain that get_double_from_d_re
ahaas 2015/11/12 20:49:18 In my understanding the value in this register is
MTBrandyberry 2015/11/12 23:00:10 get_d_register, which returns the raw int64 bits,
MTBrandyberry 2015/11/13 18:40:38 See https://codereview.chromium.org/1445603002/ if
+ uint64_t* frb_val_p = reinterpret_cast<uint64_t*>(&t_val);
+ double frt_val = static_cast<float>(*frb_val_p);
ahaas 2015/11/12 20:49:18 I think it should be float frt_val, and not double
MTBrandyberry 2015/11/12 23:00:10 PPC's only floating point register representation
+ set_d_register_from_double(frt, frt_val);
+ return;
+ }
}
UNIMPLEMENTED(); // Not used by V8.
}

Powered by Google App Engine
This is Rietveld 408576698