Please sign in to comment.
Interpreter_FloatingPoint: Factor out common code from fctiw and fctiwz
fctiwz functions in the same manner as fctiw, with the difference being that fctiwz always assumes the rounding mode being towards zero. Because of this, we can implement fctiwz in terms of fctiw's code, but modify it to accept a rounding mode, allowing us to preserve proper behavior for both instructions. We also move Helper_UpdateCR1 to a temporary home in Interpreter_FPUtils.h for the time being. It would be more desirable to move it to a new common header for all the helpers, so that even JITs can use them if they so wish, however, this and the following changes are intended to only touch the interpreter to keep changes minimal for fixing instruction behavior. JitCommon already duplicates the Helper_Mask function within JitBase.cpp/.h, and the ARM JIT includes the Interpreter header in order to call Helper_Carry. So a follow up is best suited here, as this touches two other CPU backends.
- Loading branch information...
Showing with 92 additions and 120 deletions.