Index: src/x64/lithium-codegen-x64.cc |
diff --git a/src/x64/lithium-codegen-x64.cc b/src/x64/lithium-codegen-x64.cc |
index b050f2a340fbdfba85eea1c66875a0b7158adcf7..a6fb86075782a8c85100ac0f38a349abba5772d7 100644 |
--- a/src/x64/lithium-codegen-x64.cc |
+++ b/src/x64/lithium-codegen-x64.cc |
@@ -1967,7 +1967,7 @@ void LCodeGen::DoMathMinMax(LMathMinMax* instr) { |
Condition condition = (operation == HMathMinMax::kMathMin) ? below : above; |
XMMRegister left_reg = ToDoubleRegister(left); |
XMMRegister right_reg = ToDoubleRegister(right); |
- __ ucomisd(left_reg, right_reg); |
+ __ Ucomisd(left_reg, right_reg); |
__ j(parity_even, &check_nan_left, Label::kNear); // At least one NaN. |
__ j(equal, &check_zero, Label::kNear); // left == right. |
__ j(condition, &return_left, Label::kNear); |
@@ -1976,7 +1976,7 @@ void LCodeGen::DoMathMinMax(LMathMinMax* instr) { |
__ bind(&check_zero); |
XMMRegister xmm_scratch = double_scratch0(); |
__ Xorpd(xmm_scratch, xmm_scratch); |
- __ ucomisd(left_reg, xmm_scratch); |
+ __ Ucomisd(left_reg, xmm_scratch); |
__ j(not_equal, &return_left, Label::kNear); // left == right != 0. |
// At this point, both left and right are either 0 or -0. |
if (operation == HMathMinMax::kMathMin) { |
@@ -1988,7 +1988,7 @@ void LCodeGen::DoMathMinMax(LMathMinMax* instr) { |
__ jmp(&return_left, Label::kNear); |
__ bind(&check_nan_left); |
- __ ucomisd(left_reg, left_reg); // NaN check. |
+ __ Ucomisd(left_reg, left_reg); // NaN check. |
__ j(parity_even, &return_left, Label::kNear); |
__ bind(&return_right); |
__ Movapd(left_reg, right_reg); |
@@ -2129,7 +2129,7 @@ void LCodeGen::DoBranch(LBranch* instr) { |
XMMRegister reg = ToDoubleRegister(instr->value()); |
XMMRegister xmm_scratch = double_scratch0(); |
__ Xorpd(xmm_scratch, xmm_scratch); |
- __ ucomisd(reg, xmm_scratch); |
+ __ Ucomisd(reg, xmm_scratch); |
EmitBranch(instr, not_equal); |
} else { |
DCHECK(r.IsTagged()); |
@@ -2150,7 +2150,7 @@ void LCodeGen::DoBranch(LBranch* instr) { |
DCHECK(!info()->IsStub()); |
XMMRegister xmm_scratch = double_scratch0(); |
__ Xorpd(xmm_scratch, xmm_scratch); |
- __ ucomisd(xmm_scratch, FieldOperand(reg, HeapNumber::kValueOffset)); |
+ __ Ucomisd(xmm_scratch, FieldOperand(reg, HeapNumber::kValueOffset)); |
EmitBranch(instr, not_equal); |
} else if (type.IsString()) { |
DCHECK(!info()->IsStub()); |
@@ -2239,7 +2239,7 @@ void LCodeGen::DoBranch(LBranch* instr) { |
__ j(not_equal, ¬_heap_number, Label::kNear); |
XMMRegister xmm_scratch = double_scratch0(); |
__ Xorpd(xmm_scratch, xmm_scratch); |
- __ ucomisd(xmm_scratch, FieldOperand(reg, HeapNumber::kValueOffset)); |
+ __ Ucomisd(xmm_scratch, FieldOperand(reg, HeapNumber::kValueOffset)); |
__ j(zero, instr->FalseLabel(chunk_)); |
__ jmp(instr->TrueLabel(chunk_)); |
__ bind(¬_heap_number); |
@@ -2319,7 +2319,7 @@ void LCodeGen::DoCompareNumericAndBranch(LCompareNumericAndBranch* instr) { |
if (instr->is_double()) { |
// Don't base result on EFLAGS when a NaN is involved. Instead |
// jump to the false block. |
- __ ucomisd(ToDoubleRegister(left), ToDoubleRegister(right)); |
+ __ Ucomisd(ToDoubleRegister(left), ToDoubleRegister(right)); |
__ j(parity_even, instr->FalseLabel(chunk_)); |
} else { |
int32_t value; |
@@ -2387,7 +2387,7 @@ void LCodeGen::DoCmpHoleAndBranch(LCmpHoleAndBranch* instr) { |
} |
XMMRegister input_reg = ToDoubleRegister(instr->object()); |
- __ ucomisd(input_reg, input_reg); |
+ __ Ucomisd(input_reg, input_reg); |
EmitFalseBranch(instr, parity_odd); |
__ subp(rsp, Immediate(kDoubleSize)); |
@@ -2408,7 +2408,7 @@ void LCodeGen::DoCompareMinusZeroAndBranch(LCompareMinusZeroAndBranch* instr) { |
XMMRegister value = ToDoubleRegister(instr->value()); |
XMMRegister xmm_scratch = double_scratch0(); |
__ Xorpd(xmm_scratch, xmm_scratch); |
- __ ucomisd(xmm_scratch, value); |
+ __ Ucomisd(xmm_scratch, value); |
EmitFalseBranch(instr, not_equal); |
__ Movmskpd(kScratchRegister, value); |
__ testl(kScratchRegister, Immediate(1)); |
@@ -3615,7 +3615,7 @@ void LCodeGen::DoMathFloor(LMathFloor* instr) { |
Label negative_sign, done; |
// Deoptimize on unordered. |
__ Xorpd(xmm_scratch, xmm_scratch); // Zero the register. |
- __ ucomisd(input_reg, xmm_scratch); |
+ __ Ucomisd(input_reg, xmm_scratch); |
DeoptimizeIf(parity_even, instr, Deoptimizer::kNaN); |
__ j(below, &negative_sign, Label::kNear); |
@@ -3643,7 +3643,7 @@ void LCodeGen::DoMathFloor(LMathFloor* instr) { |
// Truncate, then compare and compensate. |
__ Cvttsd2si(output_reg, input_reg); |
__ Cvtlsi2sd(xmm_scratch, output_reg); |
- __ ucomisd(input_reg, xmm_scratch); |
+ __ Ucomisd(input_reg, xmm_scratch); |
__ j(equal, &done, Label::kNear); |
__ subl(output_reg, Immediate(1)); |
DeoptimizeIf(overflow, instr, Deoptimizer::kOverflow); |
@@ -3665,7 +3665,7 @@ void LCodeGen::DoMathRound(LMathRound* instr) { |
Label::Distance dist = DeoptEveryNTimes() ? Label::kFar : Label::kNear; |
__ movq(kScratchRegister, one_half); |
__ Movq(xmm_scratch, kScratchRegister); |
- __ ucomisd(xmm_scratch, input_reg); |
+ __ Ucomisd(xmm_scratch, input_reg); |
__ j(above, &below_one_half, Label::kNear); |
// CVTTSD2SI rounds towards zero, since 0.5 <= x, we use floor(0.5 + x). |
@@ -3679,7 +3679,7 @@ void LCodeGen::DoMathRound(LMathRound* instr) { |
__ bind(&below_one_half); |
__ movq(kScratchRegister, minus_one_half); |
__ Movq(xmm_scratch, kScratchRegister); |
- __ ucomisd(xmm_scratch, input_reg); |
+ __ Ucomisd(xmm_scratch, input_reg); |
__ j(below_equal, &round_to_zero, Label::kNear); |
// CVTTSD2SI rounds towards zero, we use ceil(x - (-0.5)) and then |
@@ -3692,7 +3692,7 @@ void LCodeGen::DoMathRound(LMathRound* instr) { |
DeoptimizeIf(overflow, instr, Deoptimizer::kOverflow); |
__ Cvtlsi2sd(xmm_scratch, output_reg); |
- __ ucomisd(xmm_scratch, input_temp); |
+ __ Ucomisd(xmm_scratch, input_temp); |
__ j(equal, &done, dist); |
__ subl(output_reg, Immediate(1)); |
// No overflow because we already ruled out minint. |
@@ -3744,7 +3744,7 @@ void LCodeGen::DoMathPowHalf(LMathPowHalf* instr) { |
// -Infinity has the highest 12 bits set and the lowest 52 bits cleared. |
__ movq(kScratchRegister, V8_INT64_C(0xFFF0000000000000)); |
__ Movq(xmm_scratch, kScratchRegister); |
- __ ucomisd(xmm_scratch, input_reg); |
+ __ Ucomisd(xmm_scratch, input_reg); |
// Comparing -Infinity with NaN results in "unordered", which sets the |
// zero flag as if both were equal. However, it also sets the carry flag. |
__ j(not_equal, &sqrt, Label::kNear); |
@@ -3815,7 +3815,7 @@ void LCodeGen::DoMathLog(LMathLog* instr) { |
XMMRegister xmm_scratch = double_scratch0(); |
Label positive, done, zero; |
__ Xorpd(xmm_scratch, xmm_scratch); |
- __ ucomisd(input_reg, xmm_scratch); |
+ __ Ucomisd(input_reg, xmm_scratch); |
__ j(above, &positive, Label::kNear); |
__ j(not_carry, &zero, Label::kNear); |
__ pcmpeqd(input_reg, input_reg); |
@@ -4924,7 +4924,7 @@ void LCodeGen::EmitNumberUntagD(LNumberUntagD* instr, Register input_reg, |
if (deoptimize_on_minus_zero) { |
XMMRegister xmm_scratch = double_scratch0(); |
__ Xorpd(xmm_scratch, xmm_scratch); |
- __ ucomisd(xmm_scratch, result_reg); |
+ __ Ucomisd(xmm_scratch, result_reg); |
__ j(not_equal, &done, Label::kNear); |
__ Movmskpd(kScratchRegister, result_reg); |
__ testl(kScratchRegister, Immediate(1)); |
@@ -4995,7 +4995,7 @@ void LCodeGen::DoDeferredTaggedToI(LTaggedToI* instr, Label* done) { |
__ Movsd(xmm0, FieldOperand(input_reg, HeapNumber::kValueOffset)); |
__ Cvttsd2si(input_reg, xmm0); |
__ Cvtlsi2sd(scratch, input_reg); |
- __ ucomisd(xmm0, scratch); |
+ __ Ucomisd(xmm0, scratch); |
DeoptimizeIf(not_equal, instr, Deoptimizer::kLostPrecision); |
DeoptimizeIf(parity_even, instr, Deoptimizer::kNaN); |
if (instr->hydrogen()->GetMinusZeroMode() == FAIL_ON_MINUS_ZERO) { |