X87: Removed superfluous deopt for ROR on ia32.

port r24133.   On X87 this check should be unnecessary too.

original commit message:
    Removed superfluous deopt for ROR on ia32.

    We only synthesize a ROR when we have an expression with a toplevel
    '|', which returns a signed value by definition, so deopting on
    negative values is not needed. ia32 was the only platform where this
    was done, all other didn't have the check.

BUG=
R=weiliang.lin@intel.com

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

Patch from Chunyang Dai <chunyang.dai@intel.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24160 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
parent 3e4a0bcb
...@@ -1908,10 +1908,6 @@ void LCodeGen::DoShiftI(LShiftI* instr) { ...@@ -1908,10 +1908,6 @@ void LCodeGen::DoShiftI(LShiftI* instr) {
switch (instr->op()) { switch (instr->op()) {
case Token::ROR: case Token::ROR:
__ ror_cl(ToRegister(left)); __ ror_cl(ToRegister(left));
if (instr->can_deopt()) {
__ test(ToRegister(left), ToRegister(left));
DeoptimizeIf(sign, instr);
}
break; break;
case Token::SAR: case Token::SAR:
__ sar_cl(ToRegister(left)); __ sar_cl(ToRegister(left));
......
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