| Index: src/full-codegen/s390/full-codegen-s390.cc
|
| diff --git a/src/full-codegen/s390/full-codegen-s390.cc b/src/full-codegen/s390/full-codegen-s390.cc
|
| index 9da10a512d883ca7a75c89fa189e76506177f7c7..13014df1143773bf92b38344c1ea01529a81bf6d 100644
|
| --- a/src/full-codegen/s390/full-codegen-s390.cc
|
| +++ b/src/full-codegen/s390/full-codegen-s390.cc
|
| @@ -1597,7 +1597,9 @@ void FullCodeGenerator::EmitInlineSmiBinaryOp(BinaryOperation* expr,
|
| __ mr_z(scratch1, ip); // R4:R5 = R5 * ip
|
| // Check for overflowing the smi range - no overflow if higher 33 bits
|
| // of the result are identical.
|
| - __ TestIfInt32(scratch1, scratch2, ip);
|
| + __ lr(ip, scratch2); // 32 bit load
|
| + __ sra(ip, Operand(31));
|
| + __ cr_z(ip, scratch1); // 32 bit compare
|
| __ bne(&stub_call);
|
| #endif
|
| // Go slow on zero result to handle -0.
|
|
|