[JAEGER] Fix broken logic from my previous patch (c5754250e813). [Bug 585918] [r=me]

This commit is contained in:
Jacob Bramley 2010-08-12 13:54:26 +01:00
parent 86b6472243
commit a268e44d2c
2 changed files with 10 additions and 3 deletions

View File

@ -1191,9 +1191,16 @@ namespace JSC {
ASSERT((op2 & ~0xfff) == 0);
uint32_t imm8 = op2 & 0xff;
uint32_t rot = 32 - ((op2 >> 7) & 0x1e);
uint32_t rot = ((op2 >> 7) & 0x1e);
return imm8 << (rot & 0x1f);
// 'rot' is a right-rotate count.
uint32_t imm = (imm8 >> rot);
if (rot > 0) {
imm |= (imm8 << (32-rot));
}
return imm;
}
// Format the operand 2 argument for debug spew. The operand can be

View File

@ -980,7 +980,7 @@ public:
// integer, it saturates at INT_MAX or INT_MIN. Testing this is
// probably quicker than testing FPSCR for exception.
m_assembler.fmrs_r(dest, ARMRegisters::SD0);
m_assembler.cmn_r(dest, ARMAssembler::getOp2(1));
m_assembler.cmn_r(dest, ARMAssembler::getOp2(-0x7fffffff));
m_assembler.cmp_r(dest, ARMAssembler::getOp2(0x80000000), ARMCondition(NonZero));
return Jump(m_assembler.jmp(ARMCondition(Zero)));
}