| Index: src/arm64/lithium-arm64.cc
|
| diff --git a/src/arm64/lithium-arm64.cc b/src/arm64/lithium-arm64.cc
|
| index 91b4430566060e90a1241a0ba25c366dbe510cb9..a9d661d35d2f5a3eb7162c38fd12231136a90ef1 100644
|
| --- a/src/arm64/lithium-arm64.cc
|
| +++ b/src/arm64/lithium-arm64.cc
|
| @@ -2126,6 +2126,11 @@ HBitwiseBinaryOperation* LChunkBuilder::CanTransformToShiftedOp(HValue* val,
|
| DCHECK(hleft->representation().Equals(hinstr->representation()));
|
| DCHECK(hright->representation().Equals(hinstr->representation()));
|
|
|
| + if (hleft == hright) {
|
| + // Cannot replace two operands at once.
|
| + return NULL;
|
| + }
|
| +
|
| if ((hright->IsConstant() &&
|
| LikelyFitsImmField(hinstr, HConstant::cast(hright)->Integer32Value())) ||
|
| (hinstr->IsCommutative() && hleft->IsConstant() &&
|
|
|