| Index: src/arm/simulator-arm.cc
|
| ===================================================================
|
| --- src/arm/simulator-arm.cc (revision 12582)
|
| +++ src/arm/simulator-arm.cc (working copy)
|
| @@ -1498,7 +1498,14 @@
|
| }
|
|
|
| case ROR: {
|
| - UNIMPLEMENTED();
|
| + if (shift_amount == 0) {
|
| + *carry_out = c_flag_;
|
| + } else {
|
| + uint32_t left = static_cast<uint32_t>(result) >> shift_amount;
|
| + uint32_t right = static_cast<uint32_t>(result) << (32 - shift_amount);
|
| + result = right | left;
|
| + *carry_out = (static_cast<uint32_t>(result) >> 31) != 0;
|
| + }
|
| break;
|
| }
|
|
|
|
|