Index: runtime/vm/intermediate_language_arm.cc |
diff --git a/runtime/vm/intermediate_language_arm.cc b/runtime/vm/intermediate_language_arm.cc |
index 026d0ed938dd24e31d6e6318895c900dd38f3d84..89c166ce7476db802dc31129c9c6910b06b435d7 100644 |
--- a/runtime/vm/intermediate_language_arm.cc |
+++ b/runtime/vm/intermediate_language_arm.cc |
@@ -6221,8 +6221,10 @@ void ShiftMintOpInstr::EmitNativeCode(FlowGraphCompiler* compiler) { |
} else { |
if (shift == 32) { |
__ mov(out_lo, Operand(left_hi)); |
- } else { |
+ } else if (shift < 64) { |
__ Asr(out_lo, left_hi, Operand(shift - 32)); |
+ } else { |
+ __ Asr(out_lo, left_hi, Operand(31)); |
regis
2015/10/06 17:37:24
The fix looks good if the constant right shift amo
Florian Schneider
2015/10/07 09:44:11
Yes, the regression test shows that this can be th
|
} |
__ Asr(out_hi, left_hi, Operand(31)); |
} |