Index: src/ppc/simulator-ppc.cc |
diff --git a/src/ppc/simulator-ppc.cc b/src/ppc/simulator-ppc.cc |
index fa088a2c30271552ea07c35ac4286b1d8dbae401..ce0c77af3ed17813c5a62879938e60b616f23258 100644 |
--- a/src/ppc/simulator-ppc.cc |
+++ b/src/ppc/simulator-ppc.cc |
@@ -2892,6 +2892,15 @@ void Simulator::ExecuteExt4(Instruction* instr) { |
set_d_register_from_double(frt, frt_val); |
return; |
} |
+ case FCFIDU: { |
+ int frt = instr->RTValue(); |
+ int frb = instr->RBValue(); |
+ double t_val = get_double_from_d_register(frb); |
+ uint64_t* frb_val_p = reinterpret_cast<uint64_t*>(&t_val); |
+ double frt_val = static_cast<double>(*frb_val_p); |
+ set_d_register_from_double(frt, frt_val); |
+ return; |
+ } |
case FCTID: { |
int frt = instr->RTValue(); |
int frb = instr->RBValue(); |