Chromium Code Reviews| Index: src/arm64/simulator-arm64.cc |
| diff --git a/src/arm64/simulator-arm64.cc b/src/arm64/simulator-arm64.cc |
| index 129252b49b45cf8c3d726287d82b0fdaf95393e0..569be9cc83420dbd7ae72fdf6c31fb8982b4c2ca 100644 |
| --- a/src/arm64/simulator-arm64.cc |
| +++ b/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); |
|
Rodolph Perfetta (ARM)
2014/10/21 19:22:00
Is ceil of a value in the range ]-1, -0] guarantee
Sven Panne
2014/10/22 06:34:40
According to http://stackoverflow.com/questions/59
sigurds
2014/10/22 09:53:30
F.9.6.1 of the standard defines ceil(). Annex F be
|
| + break; |
| + } |
| default: UNIMPLEMENTED(); |
| } |
| return int_result; |