Commit a738ad33 authored by jyan's avatar jyan Committed by Commit bot

s390: add new mul support on branches and deopts

R=joransiu@ca.ibm.com, bjaideep@ca.ibm.com
BUG=

Review-Url: https://codereview.chromium.org/2815903002
Cr-Commit-Position: refs/heads/master@{#44628}
parent d9f6dd89
...@@ -2050,11 +2050,18 @@ void VisitWordCompareZero(InstructionSelector* selector, Node* user, ...@@ -2050,11 +2050,18 @@ void VisitWordCompareZero(InstructionSelector* selector, Node* user,
return VisitWord32BinOp(selector, node, kS390_Sub32, return VisitWord32BinOp(selector, node, kS390_Sub32,
SubOperandMode, cont); SubOperandMode, cont);
case IrOpcode::kInt32MulWithOverflow: case IrOpcode::kInt32MulWithOverflow:
cont->OverwriteAndNegateIfEqual(kNotEqual); if (CpuFeatures::IsSupported(MISC_INSTR_EXT2)) {
return VisitWord32BinOp( cont->OverwriteAndNegateIfEqual(kOverflow);
selector, node, kS390_Mul32WithOverflow, return VisitWord32BinOp(
OperandMode::kInt32Imm | OperandMode::kAllowDistinctOps, selector, node, kS390_Mul32,
cont); OperandMode::kAllowRRR | OperandMode::kAllowRM, cont);
} else {
cont->OverwriteAndNegateIfEqual(kNotEqual);
return VisitWord32BinOp(
selector, node, kS390_Mul32WithOverflow,
OperandMode::kInt32Imm | OperandMode::kAllowDistinctOps,
cont);
}
case IrOpcode::kInt32AbsWithOverflow: case IrOpcode::kInt32AbsWithOverflow:
cont->OverwriteAndNegateIfEqual(kOverflow); cont->OverwriteAndNegateIfEqual(kOverflow);
return VisitWord32UnaryOp(selector, node, kS390_Abs32, return VisitWord32UnaryOp(selector, node, kS390_Abs32,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment