Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(214)

Unified Diff: src/full-codegen/s390/full-codegen-s390.cc

Issue 2220313002: S390: Decouple Add/Sub/Neg to 32/64 Bit Op (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Fix Neg32 to use lcr Created 4 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « src/compiler/s390/instruction-selector-s390.cc ('k') | src/s390/assembler-s390.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 4bced1439da84a5a8de2fc3c93a80055f8264c67..9739de07aa03880cb76e4c74875bd7fa89b100c4 100644
--- a/src/full-codegen/s390/full-codegen-s390.cc
+++ b/src/full-codegen/s390/full-codegen-s390.cc
@@ -1898,14 +1898,14 @@ void FullCodeGenerator::EmitInlineSmiBinaryOp(BinaryOperation* expr,
break;
}
case Token::ADD: {
- __ AddAndCheckForOverflow(scratch1, left, right, scratch2, r0);
- __ BranchOnOverflow(&stub_call);
+ __ AddP(scratch1, left, right);
+ __ b(overflow, &stub_call);
__ LoadRR(right, scratch1);
break;
}
case Token::SUB: {
- __ SubAndCheckForOverflow(scratch1, left, right, scratch2, r0);
- __ BranchOnOverflow(&stub_call);
+ __ SubP(scratch1, left, right);
+ __ b(overflow, &stub_call);
__ LoadRR(right, scratch1);
break;
}
@@ -3194,10 +3194,10 @@ void FullCodeGenerator::VisitCountOperation(CountOperation* expr) {
Register scratch1 = r3;
Register scratch2 = r4;
__ LoadSmiLiteral(scratch1, Smi::FromInt(count_value));
- __ AddAndCheckForOverflow(r2, r2, scratch1, scratch2, r0);
- __ BranchOnNoOverflow(&done);
+ __ AddP(scratch2, r2, scratch1);
+ __ LoadOnConditionP(nooverflow, r2, scratch2);
+ __ b(nooverflow, &done);
// Call stub. Undo operation first.
- __ SubP(r2, r2, scratch1);
__ b(&stub_call);
__ bind(&slow);
}
« no previous file with comments | « src/compiler/s390/instruction-selector-s390.cc ('k') | src/s390/assembler-s390.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698