Revision: 10606
Author: [email protected]
Date: Mon Feb 6 02:08:57 2012
Log: X64: Fix bug in minus-zero check after int32 multiplication.
In optimized x64 code, the check for minus zero after multiplication
used the wrong size bit-or instruction (64-bit instead of 32-bit).
TEST=mjsunit/numops-fuzz.js
Review URL: https://chromiumcodereview.appspot.com/9316127
http://code.google.com/p/v8/source/detail?r=10606
Modified:
/branches/bleeding_edge/src/x64/lithium-codegen-x64.cc
=======================================
--- /branches/bleeding_edge/src/x64/lithium-codegen-x64.cc Fri Jan 27
05:03:19 2012
+++ /branches/bleeding_edge/src/x64/lithium-codegen-x64.cc Mon Feb 6
02:08:57 2012
@@ -993,11 +993,11 @@
DeoptimizeIf(no_condition, instr->environment());
}
} else if (right->IsStackSlot()) {
- __ or_(kScratchRegister, ToOperand(right));
+ __ orl(kScratchRegister, ToOperand(right));
DeoptimizeIf(sign, instr->environment());
} else {
// Test the non-zero operand for negative sign.
- __ or_(kScratchRegister, ToRegister(right));
+ __ orl(kScratchRegister, ToRegister(right));
DeoptimizeIf(sign, instr->environment());
}
__ bind(&done);
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev