| Index: src/arm/simulator-arm.cc
 | 
| diff --git a/src/arm/simulator-arm.cc b/src/arm/simulator-arm.cc
 | 
| index a057de58ccf843da9f38ae581673063b71ed3af4..2089f8af220410597414f55ddfdbcfe4f1e522b8 100644
 | 
| --- a/src/arm/simulator-arm.cc
 | 
| +++ b/src/arm/simulator-arm.cc
 | 
| @@ -1498,7 +1498,14 @@ int32_t Simulator::GetShiftRm(Instruction* instr, bool* carry_out) {
 | 
|        }
 | 
|  
 | 
|        case ROR: {
 | 
| -        UNIMPLEMENTED();
 | 
| +        if (shift_amount == 0) {
 | 
| +          *carry_out = c_flag_;
 | 
| +        } else {
 | 
| +          int32_t left = result >> shift_amount;
 | 
| +          int32_t right = result << (32 - shift_amount);
 | 
| +          result = right | left;
 | 
| +          *carry_out = (result >> (shift_amount - 1)) & 1;
 | 
| +        }
 | 
|          break;
 | 
|        }
 | 
|  
 | 
| 
 |