diff options
Diffstat (limited to 'deps/v8/src/arm64/simulator-arm64.cc')
-rw-r--r-- | deps/v8/src/arm64/simulator-arm64.cc | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/deps/v8/src/arm64/simulator-arm64.cc b/deps/v8/src/arm64/simulator-arm64.cc index 129252b49b..569be9cc83 100644 --- a/deps/v8/src/arm64/simulator-arm64.cc +++ b/deps/v8/src/arm64/simulator-arm64.cc @@ -2463,6 +2463,12 @@ void Simulator::VisitFPDataProcessing1Source(Instruction* instr) { set_sreg(fd, FPRoundInt(sreg(fn), FPNegativeInfinity)); break; case FRINTM_d: set_dreg(fd, FPRoundInt(dreg(fn), FPNegativeInfinity)); break; + case FRINTP_s: + set_sreg(fd, FPRoundInt(sreg(fn), FPPositiveInfinity)); + break; + case FRINTP_d: + set_dreg(fd, FPRoundInt(dreg(fn), FPPositiveInfinity)); + break; case FRINTN_s: set_sreg(fd, FPRoundInt(sreg(fn), FPTieEven)); break; case FRINTN_d: set_dreg(fd, FPRoundInt(dreg(fn), FPTieEven)); break; case FRINTZ_s: set_sreg(fd, FPRoundInt(sreg(fn), FPZero)); break; @@ -2767,6 +2773,10 @@ double Simulator::FPRoundInt(double value, FPRounding round_mode) { // We always use floor(value). break; } + case FPPositiveInfinity: { + int_result = ceil(value); + break; + } default: UNIMPLEMENTED(); } return int_result; |