Commit 732c8a09 authored by baptiste.afsa's avatar baptiste.afsa Committed by Commit bot

[turbofan] Avoid some redundant checks of unordered comparison on arm/arm64.

R=bmeurer@chromium.org

Review URL: https://codereview.chromium.org/793303002

Cr-Commit-Position: refs/heads/master@{#25775}
parent aa0664e5
...@@ -693,8 +693,8 @@ void CodeGenerator::AssembleArchBranch(Instruction* instr, BranchInfo* branch) { ...@@ -693,8 +693,8 @@ void CodeGenerator::AssembleArchBranch(Instruction* instr, BranchInfo* branch) {
__ b(eq, tlabel); __ b(eq, tlabel);
break; break;
case kUnorderedNotEqual: case kUnorderedNotEqual:
__ b(vs, tlabel); // Unordered or not equal can be tested with "ne" condtion.
// Fall through. // See ARMv7 manual A8.3 - Conditional execution.
case kNotEqual: case kNotEqual:
__ b(ne, tlabel); __ b(ne, tlabel);
break; break;
...@@ -717,8 +717,8 @@ void CodeGenerator::AssembleArchBranch(Instruction* instr, BranchInfo* branch) { ...@@ -717,8 +717,8 @@ void CodeGenerator::AssembleArchBranch(Instruction* instr, BranchInfo* branch) {
__ b(lo, tlabel); __ b(lo, tlabel);
break; break;
case kUnorderedGreaterThanOrEqual: case kUnorderedGreaterThanOrEqual:
__ b(vs, tlabel); // Unordered, greater than or equal can be tested with "hs" condtion.
// Fall through. // See ARMv7 manual A8.3 - Conditional execution.
case kUnsignedGreaterThanOrEqual: case kUnsignedGreaterThanOrEqual:
__ b(hs, tlabel); __ b(hs, tlabel);
break; break;
...@@ -729,8 +729,8 @@ void CodeGenerator::AssembleArchBranch(Instruction* instr, BranchInfo* branch) { ...@@ -729,8 +729,8 @@ void CodeGenerator::AssembleArchBranch(Instruction* instr, BranchInfo* branch) {
__ b(ls, tlabel); __ b(ls, tlabel);
break; break;
case kUnorderedGreaterThan: case kUnorderedGreaterThan:
__ b(vs, tlabel); // Unordered or greater than can be tested with "hi" condtion.
// Fall through. // See ARMv7 manual A8.3 - Conditional execution.
case kUnsignedGreaterThan: case kUnsignedGreaterThan:
__ b(hi, tlabel); __ b(hi, tlabel);
break; break;
......
...@@ -787,8 +787,8 @@ void CodeGenerator::AssembleArchBranch(Instruction* instr, BranchInfo* branch) { ...@@ -787,8 +787,8 @@ void CodeGenerator::AssembleArchBranch(Instruction* instr, BranchInfo* branch) {
__ B(eq, tlabel); __ B(eq, tlabel);
break; break;
case kUnorderedNotEqual: case kUnorderedNotEqual:
__ B(vs, tlabel); // Unordered or not equal can be tested with "ne" condtion.
// Fall through. // See ARMv8 manual C1.2.3 - Condition Code.
case kNotEqual: case kNotEqual:
__ B(ne, tlabel); __ B(ne, tlabel);
break; break;
...@@ -811,8 +811,8 @@ void CodeGenerator::AssembleArchBranch(Instruction* instr, BranchInfo* branch) { ...@@ -811,8 +811,8 @@ void CodeGenerator::AssembleArchBranch(Instruction* instr, BranchInfo* branch) {
__ B(lo, tlabel); __ B(lo, tlabel);
break; break;
case kUnorderedGreaterThanOrEqual: case kUnorderedGreaterThanOrEqual:
__ B(vs, tlabel); // Unordered, greater than or equal can be tested with "hs" condtion.
// Fall through. // See ARMv8 manual C1.2.3 - Condition Code.
case kUnsignedGreaterThanOrEqual: case kUnsignedGreaterThanOrEqual:
__ B(hs, tlabel); __ B(hs, tlabel);
break; break;
...@@ -823,8 +823,8 @@ void CodeGenerator::AssembleArchBranch(Instruction* instr, BranchInfo* branch) { ...@@ -823,8 +823,8 @@ void CodeGenerator::AssembleArchBranch(Instruction* instr, BranchInfo* branch) {
__ B(ls, tlabel); __ B(ls, tlabel);
break; break;
case kUnorderedGreaterThan: case kUnorderedGreaterThan:
__ B(vs, tlabel); // Unordered or greater than can be tested with "hi" condtion.
// Fall through. // See ARMv8 manual C1.2.3 - Condition Code.
case kUnsignedGreaterThan: case kUnsignedGreaterThan:
__ B(hi, tlabel); __ B(hi, tlabel);
break; break;
......
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